diff --git a/googleapis/api/expr/v1alpha1/cel_service.pb.go b/googleapis/api/expr/v1alpha1/cel_service.pb.go
index 64490abf2ae9c5c4fd078b9d75a4497c21b3b7f1..7199a213401e73d5183957cb5facaa6a53af8ad3 100644
--- a/googleapis/api/expr/v1alpha1/cel_service.pb.go
+++ b/googleapis/api/expr/v1alpha1/cel_service.pb.go
@@ -7,7 +7,6 @@ import (
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
 	context "golang.org/x/net/context"
-	status "google.golang.org/genproto/googleapis/rpc/status"
 	grpc "google.golang.org/grpc"
 	math "math"
 )
@@ -23,634 +22,27 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
-// Severities of issues.
-type IssueDetails_Severity int32
-
-const (
-	// An unspecified severity.
-	IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0
-	// Deprecation issue for statements and method that may no longer be
-	// supported or maintained.
-	IssueDetails_DEPRECATION IssueDetails_Severity = 1
-	// Warnings such as: unused variables.
-	IssueDetails_WARNING IssueDetails_Severity = 2
-	// Errors such as: unmatched curly braces or variable redefinition.
-	IssueDetails_ERROR IssueDetails_Severity = 3
-)
-
-var IssueDetails_Severity_name = map[int32]string{
-	0: "SEVERITY_UNSPECIFIED",
-	1: "DEPRECATION",
-	2: "WARNING",
-	3: "ERROR",
-}
-
-var IssueDetails_Severity_value = map[string]int32{
-	"SEVERITY_UNSPECIFIED": 0,
-	"DEPRECATION":          1,
-	"WARNING":              2,
-	"ERROR":                3,
-}
-
-func (x IssueDetails_Severity) String() string {
-	return proto.EnumName(IssueDetails_Severity_name, int32(x))
-}
-
-func (IssueDetails_Severity) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{6, 0}
-}
-
-// Request message for the Parse method.
-type ParseRequest struct {
-	// Required. Source text in CEL syntax.
-	CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"`
-	// Tag for version of CEL syntax, for future use.
-	SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
-	// File or resource for source text, used in [SourceInfo][google.api.expr.v1alpha1.SourceInfo].
-	SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
-	// Prevent macro expansion.  See "Macros" in Language Defiinition.
-	DisableMacros        bool     `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ParseRequest) Reset()         { *m = ParseRequest{} }
-func (m *ParseRequest) String() string { return proto.CompactTextString(m) }
-func (*ParseRequest) ProtoMessage()    {}
-func (*ParseRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{0}
-}
-
-func (m *ParseRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ParseRequest.Unmarshal(m, b)
-}
-func (m *ParseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ParseRequest.Marshal(b, m, deterministic)
-}
-func (m *ParseRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ParseRequest.Merge(m, src)
-}
-func (m *ParseRequest) XXX_Size() int {
-	return xxx_messageInfo_ParseRequest.Size(m)
-}
-func (m *ParseRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ParseRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ParseRequest proto.InternalMessageInfo
-
-func (m *ParseRequest) GetCelSource() string {
-	if m != nil {
-		return m.CelSource
-	}
-	return ""
-}
-
-func (m *ParseRequest) GetSyntaxVersion() string {
-	if m != nil {
-		return m.SyntaxVersion
-	}
-	return ""
-}
-
-func (m *ParseRequest) GetSourceLocation() string {
-	if m != nil {
-		return m.SourceLocation
-	}
-	return ""
-}
-
-func (m *ParseRequest) GetDisableMacros() bool {
-	if m != nil {
-		return m.DisableMacros
-	}
-	return false
-}
-
-// Response message for the Parse method.
-type ParseResponse struct {
-	// The parsed representation, or unset if parsing failed.
-	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
-	// Any number of issues with [StatusDetails][] as the details.
-	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *ParseResponse) Reset()         { *m = ParseResponse{} }
-func (m *ParseResponse) String() string { return proto.CompactTextString(m) }
-func (*ParseResponse) ProtoMessage()    {}
-func (*ParseResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{1}
-}
-
-func (m *ParseResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ParseResponse.Unmarshal(m, b)
-}
-func (m *ParseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ParseResponse.Marshal(b, m, deterministic)
-}
-func (m *ParseResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ParseResponse.Merge(m, src)
-}
-func (m *ParseResponse) XXX_Size() int {
-	return xxx_messageInfo_ParseResponse.Size(m)
-}
-func (m *ParseResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ParseResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ParseResponse proto.InternalMessageInfo
-
-func (m *ParseResponse) GetParsedExpr() *ParsedExpr {
-	if m != nil {
-		return m.ParsedExpr
-	}
-	return nil
-}
-
-func (m *ParseResponse) GetIssues() []*status.Status {
-	if m != nil {
-		return m.Issues
-	}
-	return nil
-}
-
-// Request message for the Check method.
-type CheckRequest struct {
-	// Required. The parsed representation of the CEL program.
-	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
-	// Declarations of types for external variables and functions.
-	// Required if program uses external variables or functions
-	// not in the default environment.
-	TypeEnv []*Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
-	// The protocol buffer context.  See "Name Resolution" in the
-	// Language Definition.
-	Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
-	// If true, use only the declarations in [type_env][google.api.expr.v1alpha1.CheckRequest.type_env].  If false (default),
-	// add declarations for the standard definitions to the type environment.  See
-	// "Standard Definitions" in the Language Definition.
-	NoStdEnv             bool     `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CheckRequest) Reset()         { *m = CheckRequest{} }
-func (m *CheckRequest) String() string { return proto.CompactTextString(m) }
-func (*CheckRequest) ProtoMessage()    {}
-func (*CheckRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{2}
-}
-
-func (m *CheckRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CheckRequest.Unmarshal(m, b)
-}
-func (m *CheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CheckRequest.Marshal(b, m, deterministic)
-}
-func (m *CheckRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CheckRequest.Merge(m, src)
-}
-func (m *CheckRequest) XXX_Size() int {
-	return xxx_messageInfo_CheckRequest.Size(m)
-}
-func (m *CheckRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_CheckRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CheckRequest proto.InternalMessageInfo
-
-func (m *CheckRequest) GetParsedExpr() *ParsedExpr {
-	if m != nil {
-		return m.ParsedExpr
-	}
-	return nil
-}
-
-func (m *CheckRequest) GetTypeEnv() []*Decl {
-	if m != nil {
-		return m.TypeEnv
-	}
-	return nil
-}
-
-func (m *CheckRequest) GetContainer() string {
-	if m != nil {
-		return m.Container
-	}
-	return ""
-}
-
-func (m *CheckRequest) GetNoStdEnv() bool {
-	if m != nil {
-		return m.NoStdEnv
-	}
-	return false
-}
-
-// Response message for the Check method.
-type CheckResponse struct {
-	// The annotated representation, or unset if checking failed.
-	CheckedExpr *CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"`
-	// Any number of issues with [StatusDetails][] as the details.
-	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *CheckResponse) Reset()         { *m = CheckResponse{} }
-func (m *CheckResponse) String() string { return proto.CompactTextString(m) }
-func (*CheckResponse) ProtoMessage()    {}
-func (*CheckResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{3}
-}
-
-func (m *CheckResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CheckResponse.Unmarshal(m, b)
-}
-func (m *CheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CheckResponse.Marshal(b, m, deterministic)
-}
-func (m *CheckResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CheckResponse.Merge(m, src)
-}
-func (m *CheckResponse) XXX_Size() int {
-	return xxx_messageInfo_CheckResponse.Size(m)
-}
-func (m *CheckResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_CheckResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CheckResponse proto.InternalMessageInfo
-
-func (m *CheckResponse) GetCheckedExpr() *CheckedExpr {
-	if m != nil {
-		return m.CheckedExpr
-	}
-	return nil
-}
-
-func (m *CheckResponse) GetIssues() []*status.Status {
-	if m != nil {
-		return m.Issues
-	}
-	return nil
-}
-
-// Request message for the Eval method.
-type EvalRequest struct {
-	// Required. Either the parsed or annotated representation of the CEL program.
-	//
-	// Types that are valid to be assigned to ExprKind:
-	//	*EvalRequest_ParsedExpr
-	//	*EvalRequest_CheckedExpr
-	ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"`
-	// Bindings for the external variables.  The types SHOULD be compatible
-	// with the type environment in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
-	Bindings map[string]*ExprValue `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	// SHOULD be the same container as used in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
-	Container            string   `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *EvalRequest) Reset()         { *m = EvalRequest{} }
-func (m *EvalRequest) String() string { return proto.CompactTextString(m) }
-func (*EvalRequest) ProtoMessage()    {}
-func (*EvalRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{4}
-}
-
-func (m *EvalRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EvalRequest.Unmarshal(m, b)
-}
-func (m *EvalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EvalRequest.Marshal(b, m, deterministic)
-}
-func (m *EvalRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EvalRequest.Merge(m, src)
-}
-func (m *EvalRequest) XXX_Size() int {
-	return xxx_messageInfo_EvalRequest.Size(m)
-}
-func (m *EvalRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_EvalRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EvalRequest proto.InternalMessageInfo
-
-type isEvalRequest_ExprKind interface {
-	isEvalRequest_ExprKind()
-}
-
-type EvalRequest_ParsedExpr struct {
-	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"`
-}
-
-type EvalRequest_CheckedExpr struct {
-	CheckedExpr *CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"`
-}
-
-func (*EvalRequest_ParsedExpr) isEvalRequest_ExprKind() {}
-
-func (*EvalRequest_CheckedExpr) isEvalRequest_ExprKind() {}
-
-func (m *EvalRequest) GetExprKind() isEvalRequest_ExprKind {
-	if m != nil {
-		return m.ExprKind
-	}
-	return nil
-}
-
-func (m *EvalRequest) GetParsedExpr() *ParsedExpr {
-	if x, ok := m.GetExprKind().(*EvalRequest_ParsedExpr); ok {
-		return x.ParsedExpr
-	}
-	return nil
-}
-
-func (m *EvalRequest) GetCheckedExpr() *CheckedExpr {
-	if x, ok := m.GetExprKind().(*EvalRequest_CheckedExpr); ok {
-		return x.CheckedExpr
-	}
-	return nil
-}
-
-func (m *EvalRequest) GetBindings() map[string]*ExprValue {
-	if m != nil {
-		return m.Bindings
-	}
-	return nil
-}
-
-func (m *EvalRequest) GetContainer() string {
-	if m != nil {
-		return m.Container
-	}
-	return ""
-}
-
-// XXX_OneofFuncs is for the internal use of the proto package.
-func (*EvalRequest) 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 _EvalRequest_OneofMarshaler, _EvalRequest_OneofUnmarshaler, _EvalRequest_OneofSizer, []interface{}{
-		(*EvalRequest_ParsedExpr)(nil),
-		(*EvalRequest_CheckedExpr)(nil),
-	}
-}
-
-func _EvalRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
-	m := msg.(*EvalRequest)
-	// expr_kind
-	switch x := m.ExprKind.(type) {
-	case *EvalRequest_ParsedExpr:
-		b.EncodeVarint(1<<3 | proto.WireBytes)
-		if err := b.EncodeMessage(x.ParsedExpr); err != nil {
-			return err
-		}
-	case *EvalRequest_CheckedExpr:
-		b.EncodeVarint(2<<3 | proto.WireBytes)
-		if err := b.EncodeMessage(x.CheckedExpr); err != nil {
-			return err
-		}
-	case nil:
-	default:
-		return fmt.Errorf("EvalRequest.ExprKind has unexpected type %T", x)
-	}
-	return nil
-}
-
-func _EvalRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
-	m := msg.(*EvalRequest)
-	switch tag {
-	case 1: // expr_kind.parsed_expr
-		if wire != proto.WireBytes {
-			return true, proto.ErrInternalBadWireType
-		}
-		msg := new(ParsedExpr)
-		err := b.DecodeMessage(msg)
-		m.ExprKind = &EvalRequest_ParsedExpr{msg}
-		return true, err
-	case 2: // expr_kind.checked_expr
-		if wire != proto.WireBytes {
-			return true, proto.ErrInternalBadWireType
-		}
-		msg := new(CheckedExpr)
-		err := b.DecodeMessage(msg)
-		m.ExprKind = &EvalRequest_CheckedExpr{msg}
-		return true, err
-	default:
-		return false, nil
-	}
-}
-
-func _EvalRequest_OneofSizer(msg proto.Message) (n int) {
-	m := msg.(*EvalRequest)
-	// expr_kind
-	switch x := m.ExprKind.(type) {
-	case *EvalRequest_ParsedExpr:
-		s := proto.Size(x.ParsedExpr)
-		n += 1 // tag and wire
-		n += proto.SizeVarint(uint64(s))
-		n += s
-	case *EvalRequest_CheckedExpr:
-		s := proto.Size(x.CheckedExpr)
-		n += 1 // tag and wire
-		n += proto.SizeVarint(uint64(s))
-		n += s
-	case nil:
-	default:
-		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
-	}
-	return n
-}
-
-// Response message for the Eval method.
-type EvalResponse struct {
-	// The execution result, or unset if execution couldn't start.
-	Result *ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
-	// Any number of issues with [StatusDetails][] as the details.
-	// Note that CEL execution errors are reified into [ExprValue][google.api.expr.v1alpha1.ExprValue].
-	// Nevertheless, we'll allow out-of-band issues to be raised,
-	// which also makes the replies more regular.
-	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *EvalResponse) Reset()         { *m = EvalResponse{} }
-func (m *EvalResponse) String() string { return proto.CompactTextString(m) }
-func (*EvalResponse) ProtoMessage()    {}
-func (*EvalResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{5}
-}
-
-func (m *EvalResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EvalResponse.Unmarshal(m, b)
-}
-func (m *EvalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EvalResponse.Marshal(b, m, deterministic)
-}
-func (m *EvalResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EvalResponse.Merge(m, src)
-}
-func (m *EvalResponse) XXX_Size() int {
-	return xxx_messageInfo_EvalResponse.Size(m)
-}
-func (m *EvalResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_EvalResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EvalResponse proto.InternalMessageInfo
-
-func (m *EvalResponse) GetResult() *ExprValue {
-	if m != nil {
-		return m.Result
-	}
-	return nil
-}
-
-func (m *EvalResponse) GetIssues() []*status.Status {
-	if m != nil {
-		return m.Issues
-	}
-	return nil
-}
-
-// Warnings or errors in service execution are represented by
-// [google.rpc.Status][google.rpc.Status] messages, with the following message
-// in the details field.
-type IssueDetails struct {
-	// The severity of the issue.
-	Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.api.expr.v1alpha1.IssueDetails_Severity" json:"severity,omitempty"`
-	// Position in the source, if known.
-	Position *SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"`
-	// Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown.
-	Id                   int64    `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *IssueDetails) Reset()         { *m = IssueDetails{} }
-func (m *IssueDetails) String() string { return proto.CompactTextString(m) }
-func (*IssueDetails) ProtoMessage()    {}
-func (*IssueDetails) Descriptor() ([]byte, []int) {
-	return fileDescriptor_f35b2125e64b6d66, []int{6}
-}
-
-func (m *IssueDetails) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_IssueDetails.Unmarshal(m, b)
-}
-func (m *IssueDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_IssueDetails.Marshal(b, m, deterministic)
-}
-func (m *IssueDetails) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_IssueDetails.Merge(m, src)
-}
-func (m *IssueDetails) XXX_Size() int {
-	return xxx_messageInfo_IssueDetails.Size(m)
-}
-func (m *IssueDetails) XXX_DiscardUnknown() {
-	xxx_messageInfo_IssueDetails.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_IssueDetails proto.InternalMessageInfo
-
-func (m *IssueDetails) GetSeverity() IssueDetails_Severity {
-	if m != nil {
-		return m.Severity
-	}
-	return IssueDetails_SEVERITY_UNSPECIFIED
-}
-
-func (m *IssueDetails) GetPosition() *SourcePosition {
-	if m != nil {
-		return m.Position
-	}
-	return nil
-}
-
-func (m *IssueDetails) GetId() int64 {
-	if m != nil {
-		return m.Id
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterEnum("google.api.expr.v1alpha1.IssueDetails_Severity", IssueDetails_Severity_name, IssueDetails_Severity_value)
-	proto.RegisterType((*ParseRequest)(nil), "google.api.expr.v1alpha1.ParseRequest")
-	proto.RegisterType((*ParseResponse)(nil), "google.api.expr.v1alpha1.ParseResponse")
-	proto.RegisterType((*CheckRequest)(nil), "google.api.expr.v1alpha1.CheckRequest")
-	proto.RegisterType((*CheckResponse)(nil), "google.api.expr.v1alpha1.CheckResponse")
-	proto.RegisterType((*EvalRequest)(nil), "google.api.expr.v1alpha1.EvalRequest")
-	proto.RegisterMapType((map[string]*ExprValue)(nil), "google.api.expr.v1alpha1.EvalRequest.BindingsEntry")
-	proto.RegisterType((*EvalResponse)(nil), "google.api.expr.v1alpha1.EvalResponse")
-	proto.RegisterType((*IssueDetails)(nil), "google.api.expr.v1alpha1.IssueDetails")
-}
-
 func init() {
 	proto.RegisterFile("google/api/expr/v1alpha1/cel_service.proto", fileDescriptor_f35b2125e64b6d66)
 }
 
 var fileDescriptor_f35b2125e64b6d66 = []byte{
-	// 798 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x41, 0x6f, 0xdb, 0x36,
-	0x14, 0xc7, 0x2d, 0x39, 0x49, 0xed, 0x27, 0x3b, 0x31, 0x88, 0x01, 0x33, 0x8c, 0x6c, 0x08, 0xd4,
-	0x25, 0x0d, 0x7a, 0x90, 0x50, 0xf7, 0xb2, 0xae, 0xbb, 0x34, 0xb6, 0xd6, 0x78, 0x5b, 0x13, 0x83,
-	0xee, 0x52, 0xac, 0x17, 0x8d, 0x91, 0x08, 0x97, 0x88, 0x4a, 0x6a, 0xa4, 0xac, 0x25, 0xb7, 0x61,
-	0xc0, 0x3e, 0xc6, 0x6e, 0xfb, 0x38, 0xfb, 0x40, 0x3b, 0x0e, 0x22, 0xe9, 0xc4, 0xee, 0xa0, 0xa4,
-	0x19, 0x76, 0x93, 0x9e, 0x7e, 0xef, 0xaf, 0xf7, 0xfe, 0x7c, 0x24, 0xe1, 0xf1, 0x5c, 0x88, 0x79,
-	0x46, 0x43, 0x92, 0xb3, 0x90, 0x5e, 0xe6, 0x32, 0x2c, 0x9f, 0x90, 0x2c, 0x7f, 0x47, 0x9e, 0x84,
-	0x09, 0xcd, 0x62, 0x45, 0x65, 0xc9, 0x12, 0x1a, 0xe4, 0x52, 0x14, 0x02, 0xf5, 0x0d, 0x1b, 0x90,
-	0x9c, 0x05, 0x15, 0x1b, 0x2c, 0xd9, 0xc1, 0x41, 0xbd, 0xca, 0x3b, 0x9a, 0x5c, 0xd0, 0xd4, 0x28,
-	0x0c, 0x1e, 0xd6, 0x72, 0xb4, 0x24, 0x99, 0x85, 0xf6, 0x6b, 0x21, 0x75, 0xc5, 0x0b, 0x72, 0x69,
-	0xb1, 0x4f, 0x2d, 0x26, 0xf3, 0x24, 0x54, 0x05, 0x29, 0x16, 0xca, 0x7c, 0xf0, 0xff, 0x74, 0xa0,
-	0x33, 0x25, 0x52, 0x51, 0x4c, 0x7f, 0x5e, 0x50, 0x55, 0xa0, 0xcf, 0x00, 0x74, 0x33, 0x62, 0x21,
-	0x13, 0xda, 0x77, 0xf6, 0x9c, 0xc3, 0x36, 0x6e, 0x27, 0x34, 0x9b, 0xe9, 0x00, 0xda, 0x87, 0x6d,
-	0x23, 0x1c, 0x97, 0x54, 0x2a, 0x26, 0x78, 0xdf, 0xd5, 0x48, 0xd7, 0x44, 0xcf, 0x4c, 0x10, 0x3d,
-	0x82, 0x1d, 0xa3, 0x10, 0x67, 0x22, 0x21, 0x45, 0xc5, 0x35, 0x35, 0xb7, 0x6d, 0xc2, 0xdf, 0xdb,
-	0x68, 0xa5, 0x97, 0x32, 0x45, 0xce, 0x33, 0x1a, 0xbf, 0x27, 0x89, 0x14, 0xaa, 0xbf, 0xb1, 0xe7,
-	0x1c, 0xb6, 0x70, 0xd7, 0x46, 0x5f, 0xe9, 0xa0, 0xff, 0x9b, 0x03, 0x5d, 0x5b, 0xa6, 0xca, 0x05,
-	0x57, 0x14, 0x45, 0xe0, 0xe5, 0x55, 0x20, 0x8d, 0xab, 0xb6, 0x75, 0xa1, 0xde, 0xf0, 0x8b, 0xa0,
-	0xce, 0xf5, 0x40, 0x67, 0xa7, 0xd1, 0x65, 0x2e, 0x31, 0xe4, 0xd7, 0xcf, 0xe8, 0x31, 0x6c, 0x31,
-	0xa5, 0x16, 0x54, 0xf5, 0xdd, 0xbd, 0xe6, 0xa1, 0x37, 0x44, 0x4b, 0x05, 0x99, 0x27, 0xc1, 0x4c,
-	0x3b, 0x85, 0x2d, 0xe1, 0xff, 0xe5, 0x40, 0x67, 0x54, 0x2d, 0xd1, 0xd2, 0xab, 0xff, 0xa9, 0x86,
-	0x67, 0xd0, 0x2a, 0xae, 0x72, 0x1a, 0x53, 0x5e, 0xda, 0x2a, 0x3e, 0xaf, 0xd7, 0x18, 0xd3, 0x24,
-	0xc3, 0x0f, 0x2a, 0x3e, 0xe2, 0x25, 0xda, 0x85, 0x76, 0x22, 0x78, 0x41, 0x18, 0xa7, 0xd2, 0x3a,
-	0x7c, 0x13, 0x40, 0xbb, 0x00, 0x5c, 0xc4, 0xaa, 0x48, 0xb5, 0xb4, 0x31, 0xb6, 0xc5, 0xc5, 0xac,
-	0x48, 0x23, 0x5e, 0xfa, 0xbf, 0x3b, 0xd0, 0xb5, 0xed, 0x58, 0x4f, 0x8f, 0xa1, 0x63, 0x47, 0x70,
-	0xb5, 0xa1, 0xfd, 0xfa, 0x62, 0x46, 0x86, 0xd6, 0x1d, 0x79, 0xc9, 0xcd, 0xcb, 0xbd, 0x6c, 0xfd,
-	0xb5, 0x09, 0x5e, 0x54, 0x92, 0x6c, 0xe9, 0xea, 0xcb, 0xff, 0xec, 0xea, 0x71, 0x63, 0xcd, 0xd7,
-	0x6f, 0x3f, 0x68, 0xc7, 0xbd, 0x47, 0x3b, 0xc7, 0x8d, 0xf5, 0x86, 0x4e, 0xa1, 0x75, 0xce, 0x78,
-	0xca, 0xf8, 0x5c, 0xf5, 0x9b, 0xba, 0xa5, 0xa7, 0xf5, 0x3a, 0x2b, 0xdd, 0x04, 0x47, 0x36, 0x2b,
-	0xe2, 0x85, 0xbc, 0xc2, 0xd7, 0x22, 0xeb, 0x2b, 0xb7, 0xf1, 0xc1, 0xca, 0x0d, 0x7e, 0x82, 0xee,
-	0x5a, 0x22, 0xea, 0x41, 0xf3, 0x82, 0x5e, 0xd9, 0xfd, 0x58, 0x3d, 0xa2, 0x67, 0xb0, 0x59, 0x92,
-	0x6c, 0x41, 0x6d, 0x5b, 0x0f, 0x6f, 0x29, 0xe7, 0x32, 0x97, 0x67, 0x15, 0x8a, 0x4d, 0xc6, 0x57,
-	0xee, 0x97, 0xce, 0x91, 0x07, 0xed, 0x8a, 0x8a, 0x2f, 0x18, 0x4f, 0xfd, 0x5f, 0xa0, 0x63, 0x6a,
-	0xb6, 0x83, 0xf0, 0x1c, 0xb6, 0x24, 0x55, 0x8b, 0xac, 0xb0, 0xee, 0x7f, 0x94, 0xb8, 0x4d, 0xb9,
-	0xdf, 0xda, 0xbb, 0xd0, 0x99, 0x54, 0x8f, 0x63, 0x5a, 0x10, 0x96, 0x29, 0xf4, 0x1d, 0xb4, 0x14,
-	0x2d, 0xa9, 0x64, 0x85, 0x69, 0x76, 0x7b, 0x18, 0xd6, 0xff, 0x7b, 0x35, 0x33, 0x98, 0xd9, 0x34,
-	0x7c, 0x2d, 0x80, 0xc6, 0xd0, 0xca, 0x85, 0x62, 0xc5, 0xf2, 0x98, 0xf2, 0x86, 0x87, 0xf5, 0x62,
-	0xe6, 0x80, 0x9b, 0x5a, 0x1e, 0x5f, 0x67, 0xa2, 0x6d, 0x70, 0x59, 0xaa, 0x37, 0x57, 0x13, 0xbb,
-	0x2c, 0xf5, 0x5f, 0x41, 0x6b, 0xf9, 0x2f, 0xd4, 0x87, 0x4f, 0x66, 0xd1, 0x59, 0x84, 0x27, 0xaf,
-	0x7f, 0x8c, 0x7f, 0x38, 0x99, 0x4d, 0xa3, 0xd1, 0xe4, 0x9b, 0x49, 0x34, 0xee, 0x35, 0xd0, 0x0e,
-	0x78, 0xe3, 0x68, 0x8a, 0xa3, 0xd1, 0x8b, 0xd7, 0x93, 0xd3, 0x93, 0x9e, 0x83, 0x3c, 0x78, 0xf0,
-	0xe6, 0x05, 0x3e, 0x99, 0x9c, 0xbc, 0xec, 0xb9, 0xa8, 0x0d, 0x9b, 0x11, 0xc6, 0xa7, 0xb8, 0xd7,
-	0x1c, 0xfe, 0xe1, 0x02, 0x8c, 0x68, 0x36, 0x33, 0xb7, 0x07, 0x7a, 0x0b, 0x9b, 0x7a, 0xa0, 0xd1,
-	0xc1, 0x1d, 0x13, 0x6f, 0x07, 0x6c, 0xf0, 0xe8, 0x4e, 0xce, 0x2c, 0xaa, 0xdf, 0xa8, 0xb4, 0xf5,
-	0x88, 0xdf, 0xa6, 0xbd, 0x7a, 0xc0, 0xdd, 0xa6, 0xbd, 0x76, 0x72, 0xf8, 0x0d, 0xf4, 0x06, 0x36,
-	0xaa, 0x11, 0x42, 0xfb, 0x1f, 0xb5, 0x2d, 0x06, 0x07, 0x77, 0x61, 0x4b, 0xe1, 0x23, 0x09, 0xbb,
-	0x89, 0x78, 0x5f, 0x8b, 0x1f, 0xed, 0xdc, 0x98, 0x37, 0xad, 0xae, 0xb4, 0xa9, 0xf3, 0xf6, 0x6b,
-	0x0b, 0xcf, 0x45, 0x46, 0xf8, 0x3c, 0x10, 0x72, 0x1e, 0xce, 0x29, 0xd7, 0x17, 0x5e, 0x68, 0x3e,
-	0x91, 0x9c, 0xa9, 0x7f, 0xdf, 0x99, 0xcf, 0xab, 0xb7, 0xbf, 0x1d, 0xe7, 0x7c, 0x4b, 0xb3, 0x4f,
-	0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x76, 0x96, 0x35, 0xf1, 0x07, 0x00, 0x00,
+	// 240 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0xd1, 0x31, 0x4b, 0xc4, 0x30,
+	0x14, 0xc0, 0x71, 0x2b, 0xea, 0x90, 0x45, 0xc8, 0x24, 0x87, 0x93, 0xe0, 0x09, 0x0e, 0x09, 0x77,
+	0x8e, 0x3a, 0xdd, 0xe1, 0x5e, 0x74, 0x10, 0x6e, 0x91, 0x67, 0x78, 0xe6, 0x82, 0x69, 0x5e, 0x4c,
+	0x6a, 0xf1, 0xcb, 0xf8, 0x3d, 0x1d, 0x25, 0x69, 0xab, 0x88, 0xc4, 0xde, 0xd8, 0xbe, 0x5f, 0xfe,
+	0x81, 0x17, 0x76, 0xa9, 0x89, 0xb4, 0x45, 0x09, 0xde, 0x48, 0x7c, 0xf7, 0x41, 0x76, 0x0b, 0xb0,
+	0x7e, 0x0b, 0x0b, 0xa9, 0xd0, 0x3e, 0x46, 0x0c, 0x9d, 0x51, 0x28, 0x7c, 0xa0, 0x96, 0xf8, 0x49,
+	0x6f, 0x05, 0x78, 0x23, 0x92, 0x15, 0xa3, 0x9d, 0x2d, 0xcb, 0x15, 0x72, 0xcf, 0x14, 0x1a, 0x70,
+	0x0a, 0x7f, 0xd7, 0x96, 0x1f, 0xfb, 0x8c, 0xad, 0xd1, 0xde, 0xf7, 0x3f, 0xf9, 0x86, 0x1d, 0xd6,
+	0x10, 0x22, 0xf2, 0xb9, 0x28, 0x5d, 0x23, 0x32, 0xb8, 0xc3, 0xd7, 0x37, 0x8c, 0xed, 0xec, 0x62,
+	0xd2, 0x45, 0x4f, 0x2e, 0xe2, 0xd9, 0x5e, 0x6a, 0xaf, 0xb7, 0xa8, 0x5e, 0xfe, 0x6b, 0x67, 0xb0,
+	0x43, 0x7b, 0x70, 0xdf, 0xed, 0x07, 0x76, 0x70, 0xdb, 0x81, 0xe5, 0xe7, 0xe5, 0x23, 0x69, 0x3e,
+	0x96, 0xe7, 0x53, 0x6c, 0x0c, 0xaf, 0x02, 0x3b, 0x55, 0xd4, 0x14, 0xf9, 0xea, 0xf8, 0x67, 0x79,
+	0x75, 0x5a, 0x68, 0x5d, 0x6d, 0x6e, 0x06, 0xac, 0xc9, 0x82, 0xd3, 0x82, 0x82, 0x96, 0x1a, 0x5d,
+	0x5e, 0xb7, 0xec, 0x47, 0xe0, 0x4d, 0xfc, 0xfb, 0x4a, 0xd7, 0xe9, 0xeb, 0xb3, 0xaa, 0x9e, 0x8e,
+	0xb2, 0xbd, 0xfa, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x97, 0x50, 0xb8, 0x16, 0x02, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/api/expr/v1alpha1/conformance_service.pb.go b/googleapis/api/expr/v1alpha1/conformance_service.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..b8744e05d61759d21ee8f952b75e577a7d1fbfe0
--- /dev/null
+++ b/googleapis/api/expr/v1alpha1/conformance_service.pb.go
@@ -0,0 +1,807 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/api/expr/v1alpha1/conformance_service.proto
+
+package expr
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	context "golang.org/x/net/context"
+	status "google.golang.org/genproto/googleapis/rpc/status"
+	grpc "google.golang.org/grpc"
+	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
+
+// Severities of issues.
+type IssueDetails_Severity int32
+
+const (
+	// An unspecified severity.
+	IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0
+	// Deprecation issue for statements and method that may no longer be
+	// supported or maintained.
+	IssueDetails_DEPRECATION IssueDetails_Severity = 1
+	// Warnings such as: unused variables.
+	IssueDetails_WARNING IssueDetails_Severity = 2
+	// Errors such as: unmatched curly braces or variable redefinition.
+	IssueDetails_ERROR IssueDetails_Severity = 3
+)
+
+var IssueDetails_Severity_name = map[int32]string{
+	0: "SEVERITY_UNSPECIFIED",
+	1: "DEPRECATION",
+	2: "WARNING",
+	3: "ERROR",
+}
+
+var IssueDetails_Severity_value = map[string]int32{
+	"SEVERITY_UNSPECIFIED": 0,
+	"DEPRECATION":          1,
+	"WARNING":              2,
+	"ERROR":                3,
+}
+
+func (x IssueDetails_Severity) String() string {
+	return proto.EnumName(IssueDetails_Severity_name, int32(x))
+}
+
+func (IssueDetails_Severity) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{6, 0}
+}
+
+// Request message for the Parse method.
+type ParseRequest struct {
+	// Required. Source text in CEL syntax.
+	CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"`
+	// Tag for version of CEL syntax, for future use.
+	SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
+	// File or resource for source text, used in
+	// [SourceInfo][google.api.expr.v1alpha1.SourceInfo].
+	SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
+	// Prevent macro expansion.  See "Macros" in Language Defiinition.
+	DisableMacros        bool     `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ParseRequest) Reset()         { *m = ParseRequest{} }
+func (m *ParseRequest) String() string { return proto.CompactTextString(m) }
+func (*ParseRequest) ProtoMessage()    {}
+func (*ParseRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{0}
+}
+
+func (m *ParseRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ParseRequest.Unmarshal(m, b)
+}
+func (m *ParseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ParseRequest.Marshal(b, m, deterministic)
+}
+func (m *ParseRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ParseRequest.Merge(m, src)
+}
+func (m *ParseRequest) XXX_Size() int {
+	return xxx_messageInfo_ParseRequest.Size(m)
+}
+func (m *ParseRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ParseRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ParseRequest proto.InternalMessageInfo
+
+func (m *ParseRequest) GetCelSource() string {
+	if m != nil {
+		return m.CelSource
+	}
+	return ""
+}
+
+func (m *ParseRequest) GetSyntaxVersion() string {
+	if m != nil {
+		return m.SyntaxVersion
+	}
+	return ""
+}
+
+func (m *ParseRequest) GetSourceLocation() string {
+	if m != nil {
+		return m.SourceLocation
+	}
+	return ""
+}
+
+func (m *ParseRequest) GetDisableMacros() bool {
+	if m != nil {
+		return m.DisableMacros
+	}
+	return false
+}
+
+// Response message for the Parse method.
+type ParseResponse struct {
+	// The parsed representation, or unset if parsing failed.
+	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
+	// Any number of issues with [StatusDetails][] as the details.
+	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
+}
+
+func (m *ParseResponse) Reset()         { *m = ParseResponse{} }
+func (m *ParseResponse) String() string { return proto.CompactTextString(m) }
+func (*ParseResponse) ProtoMessage()    {}
+func (*ParseResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{1}
+}
+
+func (m *ParseResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ParseResponse.Unmarshal(m, b)
+}
+func (m *ParseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ParseResponse.Marshal(b, m, deterministic)
+}
+func (m *ParseResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ParseResponse.Merge(m, src)
+}
+func (m *ParseResponse) XXX_Size() int {
+	return xxx_messageInfo_ParseResponse.Size(m)
+}
+func (m *ParseResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ParseResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ParseResponse proto.InternalMessageInfo
+
+func (m *ParseResponse) GetParsedExpr() *ParsedExpr {
+	if m != nil {
+		return m.ParsedExpr
+	}
+	return nil
+}
+
+func (m *ParseResponse) GetIssues() []*status.Status {
+	if m != nil {
+		return m.Issues
+	}
+	return nil
+}
+
+// Request message for the Check method.
+type CheckRequest struct {
+	// Required. The parsed representation of the CEL program.
+	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
+	// Declarations of types for external variables and functions.
+	// Required if program uses external variables or functions
+	// not in the default environment.
+	TypeEnv []*Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
+	// The protocol buffer context.  See "Name Resolution" in the
+	// Language Definition.
+	Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
+	// If true, use only the declarations in
+	// [type_env][google.api.expr.v1alpha1.CheckRequest.type_env].  If false
+	// (default), add declarations for the standard definitions to the type
+	// environment.  See "Standard Definitions" in the Language Definition.
+	NoStdEnv             bool     `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CheckRequest) Reset()         { *m = CheckRequest{} }
+func (m *CheckRequest) String() string { return proto.CompactTextString(m) }
+func (*CheckRequest) ProtoMessage()    {}
+func (*CheckRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{2}
+}
+
+func (m *CheckRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CheckRequest.Unmarshal(m, b)
+}
+func (m *CheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CheckRequest.Marshal(b, m, deterministic)
+}
+func (m *CheckRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CheckRequest.Merge(m, src)
+}
+func (m *CheckRequest) XXX_Size() int {
+	return xxx_messageInfo_CheckRequest.Size(m)
+}
+func (m *CheckRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CheckRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CheckRequest proto.InternalMessageInfo
+
+func (m *CheckRequest) GetParsedExpr() *ParsedExpr {
+	if m != nil {
+		return m.ParsedExpr
+	}
+	return nil
+}
+
+func (m *CheckRequest) GetTypeEnv() []*Decl {
+	if m != nil {
+		return m.TypeEnv
+	}
+	return nil
+}
+
+func (m *CheckRequest) GetContainer() string {
+	if m != nil {
+		return m.Container
+	}
+	return ""
+}
+
+func (m *CheckRequest) GetNoStdEnv() bool {
+	if m != nil {
+		return m.NoStdEnv
+	}
+	return false
+}
+
+// Response message for the Check method.
+type CheckResponse struct {
+	// The annotated representation, or unset if checking failed.
+	CheckedExpr *CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"`
+	// Any number of issues with [StatusDetails][] as the details.
+	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
+}
+
+func (m *CheckResponse) Reset()         { *m = CheckResponse{} }
+func (m *CheckResponse) String() string { return proto.CompactTextString(m) }
+func (*CheckResponse) ProtoMessage()    {}
+func (*CheckResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{3}
+}
+
+func (m *CheckResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CheckResponse.Unmarshal(m, b)
+}
+func (m *CheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CheckResponse.Marshal(b, m, deterministic)
+}
+func (m *CheckResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CheckResponse.Merge(m, src)
+}
+func (m *CheckResponse) XXX_Size() int {
+	return xxx_messageInfo_CheckResponse.Size(m)
+}
+func (m *CheckResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_CheckResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CheckResponse proto.InternalMessageInfo
+
+func (m *CheckResponse) GetCheckedExpr() *CheckedExpr {
+	if m != nil {
+		return m.CheckedExpr
+	}
+	return nil
+}
+
+func (m *CheckResponse) GetIssues() []*status.Status {
+	if m != nil {
+		return m.Issues
+	}
+	return nil
+}
+
+// Request message for the Eval method.
+type EvalRequest struct {
+	// Required. Either the parsed or annotated representation of the CEL program.
+	//
+	// Types that are valid to be assigned to ExprKind:
+	//	*EvalRequest_ParsedExpr
+	//	*EvalRequest_CheckedExpr
+	ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"`
+	// Bindings for the external variables.  The types SHOULD be compatible
+	// with the type environment in
+	// [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
+	Bindings map[string]*ExprValue `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// SHOULD be the same container as used in
+	// [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
+	Container            string   `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *EvalRequest) Reset()         { *m = EvalRequest{} }
+func (m *EvalRequest) String() string { return proto.CompactTextString(m) }
+func (*EvalRequest) ProtoMessage()    {}
+func (*EvalRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{4}
+}
+
+func (m *EvalRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_EvalRequest.Unmarshal(m, b)
+}
+func (m *EvalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_EvalRequest.Marshal(b, m, deterministic)
+}
+func (m *EvalRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_EvalRequest.Merge(m, src)
+}
+func (m *EvalRequest) XXX_Size() int {
+	return xxx_messageInfo_EvalRequest.Size(m)
+}
+func (m *EvalRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_EvalRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EvalRequest proto.InternalMessageInfo
+
+type isEvalRequest_ExprKind interface {
+	isEvalRequest_ExprKind()
+}
+
+type EvalRequest_ParsedExpr struct {
+	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"`
+}
+
+type EvalRequest_CheckedExpr struct {
+	CheckedExpr *CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"`
+}
+
+func (*EvalRequest_ParsedExpr) isEvalRequest_ExprKind() {}
+
+func (*EvalRequest_CheckedExpr) isEvalRequest_ExprKind() {}
+
+func (m *EvalRequest) GetExprKind() isEvalRequest_ExprKind {
+	if m != nil {
+		return m.ExprKind
+	}
+	return nil
+}
+
+func (m *EvalRequest) GetParsedExpr() *ParsedExpr {
+	if x, ok := m.GetExprKind().(*EvalRequest_ParsedExpr); ok {
+		return x.ParsedExpr
+	}
+	return nil
+}
+
+func (m *EvalRequest) GetCheckedExpr() *CheckedExpr {
+	if x, ok := m.GetExprKind().(*EvalRequest_CheckedExpr); ok {
+		return x.CheckedExpr
+	}
+	return nil
+}
+
+func (m *EvalRequest) GetBindings() map[string]*ExprValue {
+	if m != nil {
+		return m.Bindings
+	}
+	return nil
+}
+
+func (m *EvalRequest) GetContainer() string {
+	if m != nil {
+		return m.Container
+	}
+	return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*EvalRequest) 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 _EvalRequest_OneofMarshaler, _EvalRequest_OneofUnmarshaler, _EvalRequest_OneofSizer, []interface{}{
+		(*EvalRequest_ParsedExpr)(nil),
+		(*EvalRequest_CheckedExpr)(nil),
+	}
+}
+
+func _EvalRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*EvalRequest)
+	// expr_kind
+	switch x := m.ExprKind.(type) {
+	case *EvalRequest_ParsedExpr:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.ParsedExpr); err != nil {
+			return err
+		}
+	case *EvalRequest_CheckedExpr:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.CheckedExpr); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("EvalRequest.ExprKind has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _EvalRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*EvalRequest)
+	switch tag {
+	case 1: // expr_kind.parsed_expr
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(ParsedExpr)
+		err := b.DecodeMessage(msg)
+		m.ExprKind = &EvalRequest_ParsedExpr{msg}
+		return true, err
+	case 2: // expr_kind.checked_expr
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(CheckedExpr)
+		err := b.DecodeMessage(msg)
+		m.ExprKind = &EvalRequest_CheckedExpr{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _EvalRequest_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*EvalRequest)
+	// expr_kind
+	switch x := m.ExprKind.(type) {
+	case *EvalRequest_ParsedExpr:
+		s := proto.Size(x.ParsedExpr)
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *EvalRequest_CheckedExpr:
+		s := proto.Size(x.CheckedExpr)
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Response message for the Eval method.
+type EvalResponse struct {
+	// The execution result, or unset if execution couldn't start.
+	Result *ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
+	// Any number of issues with [StatusDetails][] as the details.
+	// Note that CEL execution errors are reified into
+	// [ExprValue][google.api.expr.v1alpha1.ExprValue]. Nevertheless, we'll allow
+	// out-of-band issues to be raised, which also makes the replies more regular.
+	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
+}
+
+func (m *EvalResponse) Reset()         { *m = EvalResponse{} }
+func (m *EvalResponse) String() string { return proto.CompactTextString(m) }
+func (*EvalResponse) ProtoMessage()    {}
+func (*EvalResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{5}
+}
+
+func (m *EvalResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_EvalResponse.Unmarshal(m, b)
+}
+func (m *EvalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_EvalResponse.Marshal(b, m, deterministic)
+}
+func (m *EvalResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_EvalResponse.Merge(m, src)
+}
+func (m *EvalResponse) XXX_Size() int {
+	return xxx_messageInfo_EvalResponse.Size(m)
+}
+func (m *EvalResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_EvalResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EvalResponse proto.InternalMessageInfo
+
+func (m *EvalResponse) GetResult() *ExprValue {
+	if m != nil {
+		return m.Result
+	}
+	return nil
+}
+
+func (m *EvalResponse) GetIssues() []*status.Status {
+	if m != nil {
+		return m.Issues
+	}
+	return nil
+}
+
+// Warnings or errors in service execution are represented by
+// [google.rpc.Status][google.rpc.Status] messages, with the following message
+// in the details field.
+type IssueDetails struct {
+	// The severity of the issue.
+	Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.api.expr.v1alpha1.IssueDetails_Severity" json:"severity,omitempty"`
+	// Position in the source, if known.
+	Position *SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"`
+	// Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown.
+	Id                   int64    `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *IssueDetails) Reset()         { *m = IssueDetails{} }
+func (m *IssueDetails) String() string { return proto.CompactTextString(m) }
+func (*IssueDetails) ProtoMessage()    {}
+func (*IssueDetails) Descriptor() ([]byte, []int) {
+	return fileDescriptor_b3ca1183e6ceae83, []int{6}
+}
+
+func (m *IssueDetails) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_IssueDetails.Unmarshal(m, b)
+}
+func (m *IssueDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_IssueDetails.Marshal(b, m, deterministic)
+}
+func (m *IssueDetails) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_IssueDetails.Merge(m, src)
+}
+func (m *IssueDetails) XXX_Size() int {
+	return xxx_messageInfo_IssueDetails.Size(m)
+}
+func (m *IssueDetails) XXX_DiscardUnknown() {
+	xxx_messageInfo_IssueDetails.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_IssueDetails proto.InternalMessageInfo
+
+func (m *IssueDetails) GetSeverity() IssueDetails_Severity {
+	if m != nil {
+		return m.Severity
+	}
+	return IssueDetails_SEVERITY_UNSPECIFIED
+}
+
+func (m *IssueDetails) GetPosition() *SourcePosition {
+	if m != nil {
+		return m.Position
+	}
+	return nil
+}
+
+func (m *IssueDetails) GetId() int64 {
+	if m != nil {
+		return m.Id
+	}
+	return 0
+}
+
+func init() {
+	proto.RegisterEnum("google.api.expr.v1alpha1.IssueDetails_Severity", IssueDetails_Severity_name, IssueDetails_Severity_value)
+	proto.RegisterType((*ParseRequest)(nil), "google.api.expr.v1alpha1.ParseRequest")
+	proto.RegisterType((*ParseResponse)(nil), "google.api.expr.v1alpha1.ParseResponse")
+	proto.RegisterType((*CheckRequest)(nil), "google.api.expr.v1alpha1.CheckRequest")
+	proto.RegisterType((*CheckResponse)(nil), "google.api.expr.v1alpha1.CheckResponse")
+	proto.RegisterType((*EvalRequest)(nil), "google.api.expr.v1alpha1.EvalRequest")
+	proto.RegisterMapType((map[string]*ExprValue)(nil), "google.api.expr.v1alpha1.EvalRequest.BindingsEntry")
+	proto.RegisterType((*EvalResponse)(nil), "google.api.expr.v1alpha1.EvalResponse")
+	proto.RegisterType((*IssueDetails)(nil), "google.api.expr.v1alpha1.IssueDetails")
+}
+
+func init() {
+	proto.RegisterFile("google/api/expr/v1alpha1/conformance_service.proto", fileDescriptor_b3ca1183e6ceae83)
+}
+
+var fileDescriptor_b3ca1183e6ceae83 = []byte{
+	// 807 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x41, 0x6f, 0xdb, 0x36,
+	0x18, 0xb5, 0xe4, 0x24, 0xb5, 0x3f, 0xd9, 0xa9, 0x41, 0x0c, 0xa8, 0x61, 0x64, 0x43, 0xa0, 0x2e,
+	0x69, 0xb0, 0x83, 0x84, 0xba, 0x97, 0x75, 0xdd, 0xa5, 0xb1, 0xb5, 0xc6, 0xdb, 0x9a, 0x18, 0x74,
+	0x97, 0x62, 0xbd, 0x68, 0x8c, 0xc4, 0xb9, 0x44, 0x14, 0x52, 0x23, 0x65, 0xcd, 0xde, 0x69, 0x18,
+	0xb0, 0x7f, 0xb2, 0xfd, 0x9b, 0xfd, 0xa0, 0x1d, 0x07, 0x89, 0xb4, 0x63, 0xb7, 0x50, 0xd2, 0x0c,
+	0xbd, 0x49, 0x9f, 0xde, 0x7b, 0xfa, 0xde, 0xe3, 0x47, 0x12, 0xfa, 0x53, 0x21, 0xa6, 0x09, 0xf5,
+	0x49, 0xca, 0x7c, 0x3a, 0x4f, 0xa5, 0x9f, 0x3f, 0x26, 0x49, 0xfa, 0x96, 0x3c, 0xf6, 0x23, 0xc1,
+	0x7f, 0x16, 0xf2, 0x8a, 0xf0, 0x88, 0x86, 0x8a, 0xca, 0x9c, 0x45, 0xd4, 0x4b, 0xa5, 0xc8, 0x04,
+	0xea, 0x6a, 0x8e, 0x47, 0x52, 0xe6, 0x15, 0x1c, 0x6f, 0xc9, 0xe9, 0x1d, 0x56, 0xab, 0xbd, 0xa5,
+	0xd1, 0x25, 0x8d, 0xb5, 0x42, 0xef, 0x61, 0x25, 0x8e, 0xe6, 0x24, 0x31, 0xa0, 0x83, 0x4a, 0x90,
+	0x5a, 0xf0, 0x8c, 0xcc, 0x0d, 0xec, 0x81, 0x81, 0xc9, 0x34, 0xf2, 0x55, 0x46, 0xb2, 0x99, 0xd2,
+	0x1f, 0xdc, 0xbf, 0x2c, 0x68, 0x8d, 0x89, 0x54, 0x14, 0xd3, 0x5f, 0x66, 0x54, 0x65, 0xe8, 0x53,
+	0x80, 0x88, 0x26, 0xa1, 0x12, 0x33, 0x19, 0xd1, 0xae, 0xb5, 0x6f, 0x1d, 0x35, 0x71, 0x33, 0xa2,
+	0xc9, 0xa4, 0x2c, 0xa0, 0x03, 0xd8, 0xd5, 0xc2, 0x61, 0x4e, 0xa5, 0x62, 0x82, 0x77, 0xed, 0x12,
+	0xd2, 0xd6, 0xd5, 0x73, 0x5d, 0x44, 0x8f, 0xe0, 0xbe, 0x56, 0x08, 0x13, 0x11, 0x91, 0xac, 0xc0,
+	0xd5, 0x4b, 0xdc, 0xae, 0x2e, 0x7f, 0x6f, 0xaa, 0x85, 0x5e, 0xcc, 0x14, 0xb9, 0x48, 0x68, 0x78,
+	0x45, 0x22, 0x29, 0x54, 0x77, 0x6b, 0xdf, 0x3a, 0x6a, 0xe0, 0xb6, 0xa9, 0xbe, 0x2c, 0x8b, 0xee,
+	0x1f, 0x16, 0xb4, 0x4d, 0x9b, 0x2a, 0x15, 0x5c, 0x51, 0x14, 0x80, 0x93, 0x16, 0x85, 0x38, 0x2c,
+	0x6c, 0x97, 0x8d, 0x3a, 0xfd, 0xcf, 0xbd, 0xaa, 0xd4, 0xbd, 0x92, 0x1d, 0x07, 0xf3, 0x54, 0x62,
+	0x48, 0x57, 0xcf, 0xe8, 0x0b, 0xd8, 0x61, 0x4a, 0xcd, 0xa8, 0xea, 0xda, 0xfb, 0xf5, 0x23, 0xa7,
+	0x8f, 0x96, 0x0a, 0x32, 0x8d, 0xbc, 0x49, 0x99, 0x14, 0x36, 0x08, 0xf7, 0x1f, 0x0b, 0x5a, 0x83,
+	0x62, 0x89, 0x96, 0x59, 0x7d, 0xa4, 0x1e, 0x9e, 0x42, 0x23, 0x5b, 0xa4, 0x34, 0xa4, 0x3c, 0x37,
+	0x5d, 0x7c, 0x56, 0xad, 0x31, 0xa4, 0x51, 0x82, 0xef, 0x15, 0xf8, 0x80, 0xe7, 0x68, 0x0f, 0x9a,
+	0x91, 0xe0, 0x19, 0x61, 0x9c, 0x4a, 0x93, 0xf0, 0x75, 0x01, 0xed, 0x01, 0x70, 0x11, 0xaa, 0x2c,
+	0x2e, 0xa5, 0x75, 0xb0, 0x0d, 0x2e, 0x26, 0x59, 0x1c, 0xf0, 0xdc, 0xfd, 0xd3, 0x82, 0xb6, 0xb1,
+	0x63, 0x32, 0x3d, 0x81, 0x96, 0x19, 0xc1, 0x75, 0x43, 0x07, 0xd5, 0xcd, 0x0c, 0x34, 0xba, 0x74,
+	0xe4, 0x44, 0xd7, 0x2f, 0x77, 0x8a, 0xf5, 0xf7, 0x3a, 0x38, 0x41, 0x4e, 0x92, 0x65, 0xaa, 0x2f,
+	0xfe, 0x77, 0xaa, 0x27, 0xb5, 0x8d, 0x5c, 0xbf, 0x7d, 0xc7, 0x8e, 0x7d, 0x07, 0x3b, 0x27, 0xb5,
+	0x4d, 0x43, 0x67, 0xd0, 0xb8, 0x60, 0x3c, 0x66, 0x7c, 0xaa, 0xba, 0xf5, 0xd2, 0xd2, 0x93, 0x6a,
+	0x9d, 0x35, 0x37, 0xde, 0xb1, 0x61, 0x05, 0x3c, 0x93, 0x0b, 0xbc, 0x12, 0xd9, 0x5c, 0xb9, 0xad,
+	0x77, 0x56, 0xae, 0xf7, 0x13, 0xb4, 0x37, 0x88, 0xa8, 0x03, 0xf5, 0x4b, 0xba, 0x30, 0xfb, 0xb1,
+	0x78, 0x44, 0x4f, 0x61, 0x3b, 0x27, 0xc9, 0x8c, 0x1a, 0x5b, 0x0f, 0x6f, 0x68, 0x67, 0x9e, 0xca,
+	0xf3, 0x02, 0x8a, 0x35, 0xe3, 0x2b, 0xfb, 0x4b, 0xeb, 0xd8, 0x81, 0x66, 0x81, 0x0a, 0x2f, 0x19,
+	0x8f, 0xdd, 0x5f, 0xa1, 0xa5, 0x7b, 0x36, 0x83, 0xf0, 0x0c, 0x76, 0x24, 0x55, 0xb3, 0x24, 0x33,
+	0xe9, 0x7f, 0x90, 0xb8, 0xa1, 0xdc, 0x6d, 0xed, 0x6d, 0x68, 0x8d, 0x8a, 0xc7, 0x21, 0xcd, 0x08,
+	0x4b, 0x14, 0xfa, 0x0e, 0x1a, 0x8a, 0xe6, 0x54, 0xb2, 0x4c, 0x9b, 0xdd, 0xed, 0xfb, 0xd5, 0xff,
+	0x5e, 0x67, 0x7a, 0x13, 0x43, 0xc3, 0x2b, 0x01, 0x34, 0x84, 0x46, 0x2a, 0x14, 0xcb, 0x96, 0xc7,
+	0x94, 0xd3, 0x3f, 0xaa, 0x16, 0xd3, 0x07, 0xdc, 0xd8, 0xe0, 0xf1, 0x8a, 0x89, 0x76, 0xc1, 0x66,
+	0x71, 0xb9, 0xb9, 0xea, 0xd8, 0x66, 0xb1, 0xfb, 0x12, 0x1a, 0xcb, 0x7f, 0xa1, 0x2e, 0x7c, 0x32,
+	0x09, 0xce, 0x03, 0x3c, 0x7a, 0xf5, 0x63, 0xf8, 0xc3, 0xe9, 0x64, 0x1c, 0x0c, 0x46, 0xdf, 0x8c,
+	0x82, 0x61, 0xa7, 0x86, 0xee, 0x83, 0x33, 0x0c, 0xc6, 0x38, 0x18, 0x3c, 0x7f, 0x35, 0x3a, 0x3b,
+	0xed, 0x58, 0xc8, 0x81, 0x7b, 0xaf, 0x9f, 0xe3, 0xd3, 0xd1, 0xe9, 0x8b, 0x8e, 0x8d, 0x9a, 0xb0,
+	0x1d, 0x60, 0x7c, 0x86, 0x3b, 0xf5, 0xfe, 0xdf, 0x36, 0xa0, 0xc1, 0xf5, 0x35, 0x32, 0xd1, 0xb7,
+	0x08, 0x7a, 0x03, 0xdb, 0xe5, 0x60, 0xa3, 0xc3, 0x5b, 0x26, 0xdf, 0x0c, 0x5a, 0xef, 0xd1, 0xad,
+	0x38, 0xbd, 0xb8, 0x6e, 0xad, 0xd0, 0x2e, 0x47, 0xfd, 0x26, 0xed, 0xf5, 0x83, 0xee, 0x26, 0xed,
+	0x8d, 0x13, 0xc4, 0xad, 0xa1, 0xd7, 0xb0, 0x55, 0x8c, 0x12, 0x3a, 0xf8, 0xa0, 0xed, 0xd1, 0x3b,
+	0xbc, 0x0d, 0xb6, 0x14, 0x3e, 0xfe, 0x0d, 0xf6, 0x22, 0x71, 0x55, 0x09, 0x3f, 0x7e, 0xf0, 0x7e,
+	0x88, 0xe3, 0xe2, 0x8a, 0x1b, 0x5b, 0x6f, 0xbe, 0x36, 0xa4, 0xa9, 0x48, 0x08, 0x9f, 0x7a, 0x42,
+	0x4e, 0xfd, 0x29, 0xe5, 0xe5, 0x05, 0xe8, 0xeb, 0x4f, 0x24, 0x65, 0xea, 0xfd, 0x3b, 0xf4, 0x59,
+	0xf1, 0xf6, 0xaf, 0x65, 0x5d, 0xec, 0x94, 0xd8, 0x27, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xf9,
+	0x66, 0xbb, 0xae, 0x09, 0x08, 0x00, 0x00,
+}
+
+// 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
+
+// ConformanceServiceClient is the client API for ConformanceService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type ConformanceServiceClient interface {
+	// Transforms CEL source text into a parsed representation.
+	Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error)
+	// Runs static checks on a parsed CEL representation and return
+	// an annotated representation, or a set of issues.
+	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
+	// Evaluates a parsed or annotation CEL representation given
+	// values of external bindings.
+	Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error)
+}
+
+type conformanceServiceClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewConformanceServiceClient(cc *grpc.ClientConn) ConformanceServiceClient {
+	return &conformanceServiceClient{cc}
+}
+
+func (c *conformanceServiceClient) Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error) {
+	out := new(ParseResponse)
+	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Parse", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *conformanceServiceClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
+	out := new(CheckResponse)
+	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Check", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *conformanceServiceClient) Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error) {
+	out := new(EvalResponse)
+	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Eval", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// ConformanceServiceServer is the server API for ConformanceService service.
+type ConformanceServiceServer interface {
+	// Transforms CEL source text into a parsed representation.
+	Parse(context.Context, *ParseRequest) (*ParseResponse, error)
+	// Runs static checks on a parsed CEL representation and return
+	// an annotated representation, or a set of issues.
+	Check(context.Context, *CheckRequest) (*CheckResponse, error)
+	// Evaluates a parsed or annotation CEL representation given
+	// values of external bindings.
+	Eval(context.Context, *EvalRequest) (*EvalResponse, error)
+}
+
+func RegisterConformanceServiceServer(s *grpc.Server, srv ConformanceServiceServer) {
+	s.RegisterService(&_ConformanceService_serviceDesc, srv)
+}
+
+func _ConformanceService_Parse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ParseRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ConformanceServiceServer).Parse(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Parse",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ConformanceServiceServer).Parse(ctx, req.(*ParseRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ConformanceService_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CheckRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ConformanceServiceServer).Check(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Check",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ConformanceServiceServer).Check(ctx, req.(*CheckRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ConformanceService_Eval_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(EvalRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ConformanceServiceServer).Eval(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Eval",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ConformanceServiceServer).Eval(ctx, req.(*EvalRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ConformanceService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.api.expr.v1alpha1.ConformanceService",
+	HandlerType: (*ConformanceServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "Parse",
+			Handler:    _ConformanceService_Parse_Handler,
+		},
+		{
+			MethodName: "Check",
+			Handler:    _ConformanceService_Check_Handler,
+		},
+		{
+			MethodName: "Eval",
+			Handler:    _ConformanceService_Eval_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/api/expr/v1alpha1/conformance_service.proto",
+}
diff --git a/googleapis/api/expr/v1alpha1/syntax.pb.go b/googleapis/api/expr/v1alpha1/syntax.pb.go
index 3a4dc4ca387df2cbeb30df565bfaee86b828366a..87b082b791836fa406f22532808e810ac83e75fe 100644
--- a/googleapis/api/expr/v1alpha1/syntax.pb.go
+++ b/googleapis/api/expr/v1alpha1/syntax.pb.go
@@ -1151,6 +1151,7 @@ func (m *Constant) GetBytesValue() []byte {
 	return nil
 }
 
+// Deprecated: Do not use.
 func (m *Constant) GetDurationValue() *duration.Duration {
 	if x, ok := m.GetConstantKind().(*Constant_DurationValue); ok {
 		return x.DurationValue
@@ -1158,6 +1159,7 @@ func (m *Constant) GetDurationValue() *duration.Duration {
 	return nil
 }
 
+// Deprecated: Do not use.
 func (m *Constant) GetTimestampValue() *timestamp.Timestamp {
 	if x, ok := m.GetConstantKind().(*Constant_TimestampValue); ok {
 		return x.TimestampValue
diff --git a/googleapis/api/expr/v1beta1/eval.pb.go b/googleapis/api/expr/v1beta1/eval.pb.go
index 1f2f22ec8d5aa964a5c3f9edaa70eed369bc6d7e..3387c8e231dfffd1e1c33e5fdff05fa33395a661 100644
--- a/googleapis/api/expr/v1beta1/eval.pb.go
+++ b/googleapis/api/expr/v1beta1/eval.pb.go
@@ -6,7 +6,6 @@ package expr
 import (
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
-	v1beta "google.golang.org/genproto/googleapis/api/expr/v1beta"
 	status "google.golang.org/genproto/googleapis/rpc/status"
 	math "math"
 )
@@ -171,7 +170,7 @@ type isExprValue_Kind interface {
 }
 
 type ExprValue_Value struct {
-	Value *v1beta.Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
+	Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
 }
 
 type ExprValue_Error struct {
@@ -195,7 +194,7 @@ func (m *ExprValue) GetKind() isExprValue_Kind {
 	return nil
 }
 
-func (m *ExprValue) GetValue() *v1beta.Value {
+func (m *ExprValue) GetValue() *Value {
 	if x, ok := m.GetKind().(*ExprValue_Value); ok {
 		return x.Value
 	}
@@ -258,7 +257,7 @@ func _ExprValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buff
 		if wire != proto.WireBytes {
 			return true, proto.ErrInternalBadWireType
 		}
-		msg := new(v1beta.Value)
+		msg := new(Value)
 		err := b.DecodeMessage(msg)
 		m.Kind = &ExprValue_Value{msg}
 		return true, err
diff --git a/googleapis/api/expr/v1beta/value.pb.go b/googleapis/api/expr/v1beta1/value.pb.go
similarity index 85%
rename from googleapis/api/expr/v1beta/value.pb.go
rename to googleapis/api/expr/v1beta1/value.pb.go
index 278815217f801b7130d72fc50778c90b5eb38fc8..5366b204a7a2e1ea891caf7d0a31e5cf239a2868 100644
--- a/googleapis/api/expr/v1beta/value.pb.go
+++ b/googleapis/api/expr/v1beta1/value.pb.go
@@ -678,38 +678,38 @@ func init() {
 }
 
 var fileDescriptor_6677b81498dbb8ef = []byte{
-	// 518 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0xcb, 0x6e, 0xd4, 0x3c,
-	0x14, 0xc7, 0xc7, 0xdf, 0x5c, 0x3a, 0x39, 0x33, 0xfa, 0x90, 0xac, 0x4a, 0x94, 0x01, 0x41, 0x9a,
-	0x2e, 0xc8, 0xca, 0xa1, 0x43, 0xa9, 0x04, 0xdd, 0xd0, 0xa9, 0x2a, 0xcd, 0x02, 0x50, 0x95, 0x05,
-	0x0b, 0x36, 0x28, 0x99, 0x9a, 0x28, 0xad, 0x63, 0x47, 0x89, 0x5d, 0x91, 0x97, 0xe3, 0x01, 0x78,
-	0x22, 0x96, 0xc8, 0xb7, 0x50, 0x8a, 0x46, 0xb3, 0xf3, 0xf9, 0xfb, 0xf7, 0xf7, 0xb9, 0xe4, 0x28,
-	0x70, 0x54, 0x08, 0x51, 0x30, 0x9a, 0x64, 0x75, 0x99, 0xd0, 0xef, 0x75, 0x93, 0xdc, 0x1d, 0xe7,
-	0x54, 0x66, 0xc7, 0xc9, 0x5d, 0xc6, 0x14, 0x25, 0x75, 0x23, 0xa4, 0xc0, 0x8f, 0x2d, 0x44, 0xb2,
-	0xba, 0x24, 0x1a, 0x22, 0x0e, 0x5a, 0x3c, 0x71, 0x6e, 0x83, 0xe5, 0xea, 0x5b, 0x92, 0xf1, 0xce,
-	0x7a, 0x16, 0xcf, 0x1e, 0x5e, 0xb5, 0xb2, 0x51, 0x1b, 0x69, 0x6f, 0xa3, 0x9f, 0x23, 0x18, 0x7f,
-	0xd6, 0x19, 0xf0, 0x19, 0x00, 0x57, 0x8c, 0x7d, 0x35, 0xf9, 0x0e, 0x50, 0x88, 0xe2, 0xff, 0x97,
-	0x0b, 0xe2, 0x12, 0x7a, 0x33, 0xf9, 0xa4, 0x18, 0x33, 0xfc, 0x7a, 0x90, 0x06, 0xdc, 0x07, 0xf8,
-	0x05, 0x40, 0x2e, 0x84, 0x37, 0xff, 0x17, 0xa2, 0x78, 0xaa, 0x01, 0xad, 0x59, 0xe0, 0x10, 0x66,
-	0x25, 0x97, 0xa7, 0x27, 0x8e, 0x18, 0x86, 0x28, 0x1e, 0xae, 0x07, 0x29, 0x18, 0xd1, 0x22, 0x47,
-	0x30, 0x57, 0xf7, 0x99, 0x51, 0x88, 0xe2, 0xd1, 0x7a, 0x90, 0xce, 0xd4, 0xdf, 0xd0, 0xb5, 0x50,
-	0x39, 0xa3, 0x0e, 0x1a, 0x87, 0x28, 0x46, 0x1a, 0xb2, 0x6a, 0x0f, 0xb5, 0xb2, 0x29, 0x79, 0xe1,
-	0xa0, 0x49, 0x88, 0xe2, 0x40, 0x43, 0x56, 0xed, 0x2b, 0xca, 0x3b, 0x49, 0x5b, 0xc7, 0xec, 0x85,
-	0x28, 0x9e, 0xeb, 0x8a, 0x8c, 0x68, 0x91, 0x0b, 0x00, 0xca, 0x55, 0xe5, 0x88, 0x20, 0x44, 0xf1,
-	0x6c, 0x19, 0x91, 0x2d, 0xdf, 0x80, 0x5c, 0x72, 0x55, 0xf5, 0xa3, 0xa1, 0x3e, 0xc0, 0x6f, 0x61,
-	0x2e, 0xf2, 0x1b, 0xba, 0x91, 0xee, 0x19, 0x30, 0xcf, 0xec, 0xff, 0x33, 0xd9, 0x73, 0xde, 0xe9,
-	0x12, 0x2d, 0x6b, 0xad, 0xef, 0x21, 0xa8, 0xb2, 0xda, 0xf9, 0x66, 0xc6, 0x77, 0xb8, 0x35, 0xfd,
-	0xc7, 0xac, 0xf6, 0xd9, 0xa7, 0x95, 0x3b, 0xeb, 0x0e, 0x58, 0xd9, 0xfa, 0xd4, 0xf3, 0x1d, 0x1d,
-	0x7c, 0x28, 0x5b, 0xd9, 0x77, 0xc0, 0x7c, 0xa0, 0x3f, 0xae, 0xec, 0x6a, 0x3f, 0xf1, 0x47, 0x6e,
-	0x98, 0x81, 0xd6, 0x0c, 0xb0, 0x9a, 0xc0, 0xe8, 0xb6, 0xe4, 0xd7, 0xd1, 0x1b, 0x08, 0xfa, 0x21,
-	0x60, 0x0c, 0x23, 0x4d, 0x98, 0x4d, 0x0a, 0x52, 0x73, 0xc6, 0xfb, 0x30, 0xfe, 0xb3, 0x21, 0xe3,
-	0xd4, 0x06, 0xd1, 0x05, 0x04, 0x7d, 0x66, 0x7c, 0x0a, 0x13, 0xa3, 0xb6, 0x07, 0x28, 0x1c, 0xc6,
-	0xb3, 0xe5, 0xf3, 0xad, 0xd5, 0x1a, 0x3e, 0x75, 0x74, 0xf4, 0x03, 0xc1, 0xd4, 0x8f, 0x00, 0x9f,
-	0xc3, 0x1e, 0xe5, 0xb2, 0x29, 0xfb, 0x57, 0x5e, 0xee, 0x1c, 0x1b, 0xb9, 0xe4, 0xb2, 0xe9, 0x52,
-	0xef, 0x5b, 0x08, 0x18, 0x1b, 0x05, 0xbf, 0x82, 0xe1, 0x2d, 0xed, 0x4c, 0x1b, 0xbb, 0xab, 0xd1,
-	0x28, 0x3e, 0xb9, 0xdf, 0xe5, 0x6e, 0x8f, 0x85, 0x57, 0x37, 0xf0, 0x74, 0x23, 0xaa, 0x6d, 0xec,
-	0x0a, 0x0c, 0x7c, 0xa5, 0xb7, 0xe5, 0x0a, 0x7d, 0x79, 0xe7, 0xb0, 0x42, 0xb0, 0x8c, 0x17, 0x44,
-	0x34, 0x45, 0x52, 0x50, 0x6e, 0x76, 0x29, 0xb1, 0x57, 0x59, 0x5d, 0xb6, 0x0f, 0x7f, 0x26, 0x67,
-	0xfa, 0xfc, 0x0b, 0xa1, 0x7c, 0x62, 0xc8, 0xd7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x21,
-	0xa3, 0x4c, 0x75, 0x04, 0x00, 0x00,
+	// 516 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x4d, 0x6f, 0xd3, 0x30,
+	0x18, 0xc7, 0x6b, 0xfa, 0xb2, 0xe6, 0x69, 0x05, 0x92, 0x35, 0x89, 0x51, 0x10, 0x64, 0xdd, 0x81,
+	0x9c, 0x1c, 0x56, 0xc6, 0x24, 0xd4, 0x0b, 0xeb, 0x34, 0xa9, 0x07, 0x40, 0x53, 0x0e, 0x1c, 0xb8,
+	0xa0, 0xa4, 0x33, 0x51, 0xa8, 0x63, 0x47, 0x89, 0x3d, 0x91, 0x2f, 0xc7, 0x07, 0xe0, 0x13, 0x71,
+	0x44, 0x7e, 0x0b, 0x63, 0x53, 0xd5, 0x5b, 0x9e, 0xbf, 0x7f, 0x7f, 0x3f, 0x2f, 0x7e, 0x14, 0x38,
+	0xc9, 0x85, 0xc8, 0x19, 0x8d, 0xd3, 0xaa, 0x88, 0xe9, 0xcf, 0xaa, 0x8e, 0x6f, 0x4f, 0x33, 0x2a,
+	0xd3, 0xd3, 0xf8, 0x36, 0x65, 0x8a, 0x92, 0xaa, 0x16, 0x52, 0xe0, 0xa7, 0x16, 0x22, 0x69, 0x55,
+	0x10, 0x0d, 0x11, 0x07, 0xcd, 0x9e, 0x39, 0xb7, 0xc1, 0x32, 0xf5, 0x3d, 0x4e, 0x79, 0x6b, 0x3d,
+	0xb3, 0x17, 0xf7, 0x8f, 0x1a, 0x59, 0xab, 0x8d, 0xb4, 0xa7, 0xf3, 0xdf, 0x03, 0x18, 0x7e, 0xd1,
+	0x19, 0xf0, 0x12, 0x80, 0x2b, 0xc6, 0xbe, 0x99, 0x7c, 0x47, 0x28, 0x44, 0xd1, 0xe3, 0xc5, 0x8c,
+	0xb8, 0x84, 0xde, 0x4c, 0x3e, 0x2b, 0xc6, 0x0c, 0xbf, 0xee, 0x25, 0x01, 0xf7, 0x01, 0x7e, 0x05,
+	0x90, 0x09, 0xe1, 0xcd, 0x8f, 0x42, 0x14, 0x8d, 0x35, 0xa0, 0x35, 0x0b, 0x1c, 0xc3, 0xa4, 0xe0,
+	0xf2, 0xfc, 0xcc, 0x11, 0xfd, 0x10, 0x45, 0xfd, 0x75, 0x2f, 0x01, 0x23, 0x5a, 0xe4, 0x04, 0xa6,
+	0xea, 0x2e, 0x33, 0x08, 0x51, 0x34, 0x58, 0xf7, 0x92, 0x89, 0xfa, 0x1f, 0xba, 0x11, 0x2a, 0x63,
+	0xd4, 0x41, 0xc3, 0x10, 0x45, 0x48, 0x43, 0x56, 0xed, 0xa0, 0x46, 0xd6, 0x05, 0xcf, 0x1d, 0x34,
+	0x0a, 0x51, 0x14, 0x68, 0xc8, 0xaa, 0x5d, 0x45, 0x59, 0x2b, 0x69, 0xe3, 0x98, 0x83, 0x10, 0x45,
+	0x53, 0x5d, 0x91, 0x11, 0x2d, 0x72, 0x09, 0x40, 0xb9, 0x2a, 0x1d, 0x11, 0x84, 0x28, 0x9a, 0x2c,
+	0xe6, 0x64, 0xc7, 0x1b, 0x90, 0x2b, 0xae, 0xca, 0x6e, 0x34, 0xd4, 0x07, 0xf8, 0x3d, 0x4c, 0x45,
+	0xf6, 0x83, 0x6e, 0xa4, 0xbb, 0x06, 0xcc, 0x35, 0x87, 0x0f, 0x26, 0x7b, 0xc1, 0x5b, 0x5d, 0xa2,
+	0x65, 0xad, 0xf5, 0x03, 0x04, 0x65, 0x5a, 0x39, 0xdf, 0xc4, 0xf8, 0x8e, 0x77, 0xa6, 0xff, 0x94,
+	0x56, 0x3e, 0xfb, 0xb8, 0x74, 0xdf, 0xba, 0x03, 0x56, 0x34, 0x3e, 0xf5, 0x74, 0x4f, 0x07, 0x1f,
+	0x8b, 0x46, 0x76, 0x1d, 0x30, 0x1f, 0xe8, 0xc7, 0x95, 0x6d, 0xe5, 0x27, 0xfe, 0xc4, 0x0d, 0x33,
+	0xd0, 0x9a, 0x01, 0x56, 0x23, 0x18, 0x6c, 0x0b, 0x7e, 0x33, 0x7f, 0x07, 0x41, 0x37, 0x04, 0x8c,
+	0x61, 0xa0, 0x09, 0xb3, 0x49, 0x41, 0x62, 0xbe, 0xf1, 0x21, 0x0c, 0xff, 0x6d, 0xc8, 0x30, 0xb1,
+	0xc1, 0xfc, 0x12, 0x82, 0x2e, 0x33, 0x3e, 0x87, 0x91, 0x51, 0x9b, 0x23, 0x14, 0xf6, 0xa3, 0xc9,
+	0xe2, 0xe5, 0xce, 0x6a, 0x0d, 0x9f, 0x38, 0x7a, 0xfe, 0x0b, 0xc1, 0xd8, 0x8f, 0x00, 0x5f, 0xc0,
+	0x01, 0xe5, 0xb2, 0x2e, 0xba, 0x5b, 0x5e, 0xef, 0x1d, 0x1b, 0xb9, 0xe2, 0xb2, 0x6e, 0x13, 0xef,
+	0x9b, 0x09, 0x18, 0x1a, 0x05, 0xbf, 0x81, 0xfe, 0x96, 0xb6, 0xa6, 0x8d, 0xfd, 0xd5, 0x68, 0x14,
+	0x9f, 0xdd, 0xed, 0x72, 0xbf, 0xc7, 0xc2, 0xab, 0x2d, 0x3c, 0xdf, 0x88, 0x72, 0x17, 0xbb, 0x02,
+	0x03, 0x5f, 0xeb, 0x6d, 0xb9, 0x46, 0x5f, 0x97, 0x0e, 0xcb, 0x05, 0x4b, 0x79, 0x4e, 0x44, 0x9d,
+	0xc7, 0x39, 0xe5, 0x66, 0x97, 0x62, 0x7b, 0x94, 0x56, 0x45, 0xf3, 0xe0, 0x67, 0xb2, 0xd4, 0xc1,
+	0x1f, 0x84, 0xb2, 0x91, 0x41, 0xdf, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x11, 0xf9, 0xd9,
+	0x76, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/securitycenter/v1beta1/asset.pb.go b/googleapis/cloud/securitycenter/v1beta1/asset.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..20457462283fac158b961a7308122cfc8d0fd83e
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/asset.pb.go
@@ -0,0 +1,252 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/asset.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_struct "github.com/golang/protobuf/ptypes/struct"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	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
+
+// Security Center's representation of a Google Cloud Platform resource.
+//
+// The Asset is a resource of Security Center that is meant to capture
+// information regarding a single Google Cloud Platform resource. All
+// modifications to an Asset are only within the context of Security Center and
+// do not effect the referenced Google Cloud Platform resource.
+type Asset struct {
+	// The relative resource name of this asset. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Example:
+	// "organizations/123/assets/456".
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Security Center managed properties. These properties are managed by
+	// Security Center and cannot be modified by the user.
+	SecurityCenterProperties *Asset_SecurityCenterProperties `protobuf:"bytes,2,opt,name=security_center_properties,json=securityCenterProperties,proto3" json:"security_center_properties,omitempty"`
+	// Resource managed properties. These properties are managed and defined by
+	// the Google Cloud Platform resource and cannot be modified by the user.
+	ResourceProperties map[string]*_struct.Value `protobuf:"bytes,7,rep,name=resource_properties,json=resourceProperties,proto3" json:"resource_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// User specified security marks. These marks are entirely managed by the user
+	// and come from the SecurityMarks resource belonging to the asset.
+	SecurityMarks *SecurityMarks `protobuf:"bytes,8,opt,name=security_marks,json=securityMarks,proto3" json:"security_marks,omitempty"`
+	// The time at which the asset was created in Security Center.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// The time at which the asset was last updated, added, or deleted in Security
+	// Center.
+	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *Asset) Reset()         { *m = Asset{} }
+func (m *Asset) String() string { return proto.CompactTextString(m) }
+func (*Asset) ProtoMessage()    {}
+func (*Asset) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51f3b31ca795196d, []int{0}
+}
+
+func (m *Asset) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Asset.Unmarshal(m, b)
+}
+func (m *Asset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Asset.Marshal(b, m, deterministic)
+}
+func (m *Asset) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Asset.Merge(m, src)
+}
+func (m *Asset) XXX_Size() int {
+	return xxx_messageInfo_Asset.Size(m)
+}
+func (m *Asset) XXX_DiscardUnknown() {
+	xxx_messageInfo_Asset.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Asset proto.InternalMessageInfo
+
+func (m *Asset) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Asset) GetSecurityCenterProperties() *Asset_SecurityCenterProperties {
+	if m != nil {
+		return m.SecurityCenterProperties
+	}
+	return nil
+}
+
+func (m *Asset) GetResourceProperties() map[string]*_struct.Value {
+	if m != nil {
+		return m.ResourceProperties
+	}
+	return nil
+}
+
+func (m *Asset) GetSecurityMarks() *SecurityMarks {
+	if m != nil {
+		return m.SecurityMarks
+	}
+	return nil
+}
+
+func (m *Asset) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Asset) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+// Security Center managed properties. These properties are managed by
+// Security Center and cannot be modified by the user.
+type Asset_SecurityCenterProperties struct {
+	// The full resource name of the Google Cloud Platform resource this asset
+	// represents. This field is immutable after create time. See:
+	// https://cloud.google.com/apis/design/resource_names#full_resource_name
+	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	// The type of the Google Cloud resource. Examples include: APPLICATION,
+	// PROJECT, and ORGANIZATION. This is a case insensitive field defined by
+	// Security Center and/or the producer of the resource and is immutable
+	// after create time.
+	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
+	// The full resource name of the immediate parent of the resource. See:
+	// https://cloud.google.com/apis/design/resource_names#full_resource_name
+	ResourceParent string `protobuf:"bytes,3,opt,name=resource_parent,json=resourceParent,proto3" json:"resource_parent,omitempty"`
+	// The full resource name of the project the resource belongs to. See:
+	// https://cloud.google.com/apis/design/resource_names#full_resource_name
+	ResourceProject string `protobuf:"bytes,4,opt,name=resource_project,json=resourceProject,proto3" json:"resource_project,omitempty"`
+	// Owners of the Google Cloud resource.
+	ResourceOwners       []string `protobuf:"bytes,5,rep,name=resource_owners,json=resourceOwners,proto3" json:"resource_owners,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Asset_SecurityCenterProperties) Reset()         { *m = Asset_SecurityCenterProperties{} }
+func (m *Asset_SecurityCenterProperties) String() string { return proto.CompactTextString(m) }
+func (*Asset_SecurityCenterProperties) ProtoMessage()    {}
+func (*Asset_SecurityCenterProperties) Descriptor() ([]byte, []int) {
+	return fileDescriptor_51f3b31ca795196d, []int{0, 0}
+}
+
+func (m *Asset_SecurityCenterProperties) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Asset_SecurityCenterProperties.Unmarshal(m, b)
+}
+func (m *Asset_SecurityCenterProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Asset_SecurityCenterProperties.Marshal(b, m, deterministic)
+}
+func (m *Asset_SecurityCenterProperties) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Asset_SecurityCenterProperties.Merge(m, src)
+}
+func (m *Asset_SecurityCenterProperties) XXX_Size() int {
+	return xxx_messageInfo_Asset_SecurityCenterProperties.Size(m)
+}
+func (m *Asset_SecurityCenterProperties) XXX_DiscardUnknown() {
+	xxx_messageInfo_Asset_SecurityCenterProperties.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Asset_SecurityCenterProperties proto.InternalMessageInfo
+
+func (m *Asset_SecurityCenterProperties) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *Asset_SecurityCenterProperties) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
+func (m *Asset_SecurityCenterProperties) GetResourceParent() string {
+	if m != nil {
+		return m.ResourceParent
+	}
+	return ""
+}
+
+func (m *Asset_SecurityCenterProperties) GetResourceProject() string {
+	if m != nil {
+		return m.ResourceProject
+	}
+	return ""
+}
+
+func (m *Asset_SecurityCenterProperties) GetResourceOwners() []string {
+	if m != nil {
+		return m.ResourceOwners
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*Asset)(nil), "google.cloud.securitycenter.v1beta1.Asset")
+	proto.RegisterMapType((map[string]*_struct.Value)(nil), "google.cloud.securitycenter.v1beta1.Asset.ResourcePropertiesEntry")
+	proto.RegisterType((*Asset_SecurityCenterProperties)(nil), "google.cloud.securitycenter.v1beta1.Asset.SecurityCenterProperties")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/asset.proto", fileDescriptor_51f3b31ca795196d)
+}
+
+var fileDescriptor_51f3b31ca795196d = []byte{
+	// 488 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x5d, 0x6b, 0xd4, 0x40,
+	0x14, 0x25, 0xdd, 0x6e, 0xb5, 0x77, 0xed, 0x07, 0x23, 0xe8, 0x10, 0x04, 0x17, 0xfb, 0xd0, 0x15,
+	0x64, 0x42, 0xd7, 0x97, 0x62, 0x9f, 0x6c, 0xf1, 0xd1, 0xaf, 0x58, 0x04, 0x05, 0x59, 0x66, 0xd3,
+	0x6b, 0x88, 0xdd, 0xcc, 0x0c, 0x33, 0x93, 0x4a, 0xc0, 0x17, 0xff, 0x8f, 0x7f, 0xca, 0x7f, 0x22,
+	0x33, 0x99, 0xa4, 0x59, 0xcb, 0xea, 0xf6, 0x2d, 0x39, 0xf7, 0x9c, 0x73, 0x73, 0xef, 0xb9, 0xbb,
+	0x90, 0xe4, 0x52, 0xe6, 0x0b, 0x4c, 0xb2, 0x85, 0xac, 0x2e, 0x12, 0x83, 0x59, 0xa5, 0x0b, 0x5b,
+	0x67, 0x28, 0x2c, 0xea, 0xe4, 0xea, 0x68, 0x8e, 0x96, 0x1f, 0x25, 0xdc, 0x18, 0xb4, 0x4c, 0x69,
+	0x69, 0x25, 0x39, 0x68, 0x04, 0xcc, 0x0b, 0xd8, 0xb2, 0x80, 0x05, 0x41, 0xfc, 0x28, 0xb8, 0x72,
+	0x55, 0x24, 0x5c, 0x08, 0x69, 0xb9, 0x2d, 0xa4, 0x30, 0x8d, 0x45, 0x7c, 0xbc, 0x4e, 0xcf, 0x16,
+	0x9e, 0x95, 0x5c, 0x5f, 0xb6, 0xca, 0xd6, 0xd7, 0xbf, 0xcd, 0xab, 0xaf, 0x89, 0xb1, 0xba, 0xca,
+	0xc2, 0xa7, 0xc5, 0x8f, 0xff, 0xae, 0xda, 0xa2, 0x44, 0x63, 0x79, 0xa9, 0x1a, 0xc2, 0x93, 0x5f,
+	0x5b, 0x30, 0x7c, 0xe9, 0x66, 0x21, 0x04, 0x36, 0x05, 0x2f, 0x91, 0x46, 0xe3, 0x68, 0xb2, 0x9d,
+	0xfa, 0x67, 0xf2, 0x33, 0x82, 0xb8, 0xeb, 0xda, 0x7c, 0xcd, 0x4c, 0x69, 0xa9, 0x50, 0xdb, 0x02,
+	0x0d, 0xdd, 0x18, 0x47, 0x93, 0xd1, 0xf4, 0x8c, 0xad, 0x31, 0x3f, 0xf3, 0x4d, 0xd8, 0x87, 0x50,
+	0x3c, 0xf3, 0xc5, 0x77, 0x9d, 0x55, 0x4a, 0xcd, 0x8a, 0x0a, 0x31, 0x70, 0x5f, 0xa3, 0x91, 0x95,
+	0xce, 0xb0, 0xdf, 0xfb, 0xce, 0x78, 0x30, 0x19, 0x4d, 0x4f, 0x6f, 0xd1, 0x3b, 0x0d, 0x2e, 0xd7,
+	0xde, 0xaf, 0x84, 0xd5, 0x75, 0x4a, 0xf4, 0x8d, 0x02, 0xf9, 0x04, 0xbb, 0xcb, 0xdb, 0xa6, 0x77,
+	0xfd, 0xac, 0xd3, 0xb5, 0xfa, 0xb5, 0x53, 0xbe, 0x76, 0xca, 0x74, 0xc7, 0xf4, 0x5f, 0xc9, 0x09,
+	0x8c, 0x32, 0x8d, 0xdc, 0xe2, 0xcc, 0x65, 0x41, 0xb7, 0xbd, 0x6f, 0xdc, 0xfa, 0xb6, 0x41, 0xb1,
+	0xf3, 0x36, 0xa8, 0x14, 0x1a, 0xba, 0x03, 0x9c, 0xb8, 0x52, 0x17, 0x9d, 0x18, 0xfe, 0x2f, 0x6e,
+	0xe8, 0x0e, 0x88, 0x7f, 0x47, 0x40, 0x57, 0x05, 0x40, 0x0e, 0x60, 0xa7, 0x5b, 0x73, 0xef, 0x0e,
+	0xee, 0xb5, 0xe0, 0x1b, 0x77, 0x0f, 0x7d, 0x92, 0xad, 0x15, 0xfa, 0x0b, 0xe8, 0x91, 0xce, 0x6b,
+	0x85, 0xe4, 0x10, 0xf6, 0xae, 0x03, 0xe3, 0x1a, 0x85, 0xa5, 0x03, 0x4f, 0xdb, 0xed, 0x16, 0xed,
+	0x51, 0xf2, 0x14, 0xf6, 0xfb, 0xc9, 0x7e, 0xc3, 0xcc, 0xd2, 0x4d, 0xcf, 0xdc, 0xeb, 0x45, 0xe2,
+	0xe0, 0x25, 0x4f, 0xf9, 0x5d, 0xa0, 0x36, 0x74, 0x38, 0x1e, 0xf4, 0x3d, 0xdf, 0x7a, 0x34, 0xfe,
+	0x02, 0x0f, 0x57, 0xe4, 0x4c, 0xf6, 0x61, 0x70, 0x89, 0x75, 0x98, 0xcb, 0x3d, 0x92, 0x67, 0x30,
+	0xbc, 0xe2, 0x8b, 0x0a, 0xc3, 0x21, 0x3f, 0xb8, 0xb1, 0xc7, 0x8f, 0xae, 0x9a, 0x36, 0xa4, 0x17,
+	0x1b, 0xc7, 0xd1, 0xe9, 0x0f, 0x38, 0xcc, 0x64, 0xb9, 0xce, 0x11, 0x7c, 0x7e, 0x1f, 0x48, 0xb9,
+	0x5c, 0x70, 0x91, 0x33, 0xa9, 0xf3, 0x24, 0x47, 0xe1, 0xad, 0xc3, 0x3f, 0x0c, 0x57, 0x85, 0xf9,
+	0xe7, 0x2f, 0xfe, 0x64, 0x19, 0x9e, 0x6f, 0x79, 0xf5, 0xf3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0x70, 0x15, 0xcf, 0xa9, 0xa2, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/securitycenter/v1beta1/finding.pb.go b/googleapis/cloud/securitycenter/v1beta1/finding.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..7b5ef81d6436b90683ebfe13f191a69c5f5497ed
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/finding.pb.go
@@ -0,0 +1,249 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/finding.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_struct "github.com/golang/protobuf/ptypes/struct"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	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
+
+// The state of the finding.
+type Finding_State int32
+
+const (
+	// Unspecified state.
+	Finding_STATE_UNSPECIFIED Finding_State = 0
+	// The finding requires attention and has not been addressed yet.
+	Finding_ACTIVE Finding_State = 1
+	// The finding has been fixed, triaged as a non-issue or otherwise addressed
+	// and is no longer active.
+	Finding_INACTIVE Finding_State = 2
+)
+
+var Finding_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "ACTIVE",
+	2: "INACTIVE",
+}
+
+var Finding_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"ACTIVE":            1,
+	"INACTIVE":          2,
+}
+
+func (x Finding_State) String() string {
+	return proto.EnumName(Finding_State_name, int32(x))
+}
+
+func (Finding_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_da6ee7073afacba3, []int{0, 0}
+}
+
+// Security Center's finding.
+//
+// A finding is a record of assessment data (security, risk, health or privacy)
+// ingested into Security Center for presentation, notification, analysis,
+// policy testing and enforcement. For example, an XSS vulnerability in an
+// AppEngine application is a finding.
+type Finding struct {
+	// The relative resource name of this finding. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Example:
+	// "organizations/123/sources/456/findings/789"
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The relative resource name of the source the finding belongs to. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// This field is immutable after creation time.
+	// For example:
+	// "organizations/123/sources/456"
+	Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
+	// The full resource name of the Google Cloud Platform resource this finding
+	// is for. See:
+	// https://cloud.google.com/apis/design/resource_names#full_resource_name
+	// This field is immutable after creation time.
+	ResourceName string `protobuf:"bytes,3,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
+	// The state of the finding.
+	State Finding_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.securitycenter.v1beta1.Finding_State" json:"state,omitempty"`
+	// The additional taxonomy group within findings from a give source.
+	// This field is immutable after creation time.
+	// Example: "XSS_FLASH_INJECTION"
+	Category string `protobuf:"bytes,5,opt,name=category,proto3" json:"category,omitempty"`
+	// The URI that, if available, points to a web page outside of Security Center
+	// where additional information about the finding can be found. This field is
+	// guaranteed to be either empty or a well formed url.
+	ExternalUri string `protobuf:"bytes,6,opt,name=external_uri,json=externalUri,proto3" json:"external_uri,omitempty"`
+	// Source specific properties. These properties are managed by the source
+	// writing the finding.
+	SourceProperties map[string]*_struct.Value `protobuf:"bytes,7,rep,name=source_properties,json=sourceProperties,proto3" json:"source_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Output only. User specified security marks. These marks are entirely
+	// managed by the user and come from the SecurityMarks resource belonging to
+	// the finding.
+	SecurityMarks *SecurityMarks `protobuf:"bytes,8,opt,name=security_marks,json=securityMarks,proto3" json:"security_marks,omitempty"`
+	// The time at which the event took place. For example, if the finding
+	// represents an open firewall it would capture the time the open firewall was
+	// detected.
+	EventTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`
+	// The time at which the finding was created in Security Center.
+	CreateTime           *timestamp.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *Finding) Reset()         { *m = Finding{} }
+func (m *Finding) String() string { return proto.CompactTextString(m) }
+func (*Finding) ProtoMessage()    {}
+func (*Finding) Descriptor() ([]byte, []int) {
+	return fileDescriptor_da6ee7073afacba3, []int{0}
+}
+
+func (m *Finding) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Finding.Unmarshal(m, b)
+}
+func (m *Finding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Finding.Marshal(b, m, deterministic)
+}
+func (m *Finding) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Finding.Merge(m, src)
+}
+func (m *Finding) XXX_Size() int {
+	return xxx_messageInfo_Finding.Size(m)
+}
+func (m *Finding) XXX_DiscardUnknown() {
+	xxx_messageInfo_Finding.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Finding proto.InternalMessageInfo
+
+func (m *Finding) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Finding) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *Finding) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *Finding) GetState() Finding_State {
+	if m != nil {
+		return m.State
+	}
+	return Finding_STATE_UNSPECIFIED
+}
+
+func (m *Finding) GetCategory() string {
+	if m != nil {
+		return m.Category
+	}
+	return ""
+}
+
+func (m *Finding) GetExternalUri() string {
+	if m != nil {
+		return m.ExternalUri
+	}
+	return ""
+}
+
+func (m *Finding) GetSourceProperties() map[string]*_struct.Value {
+	if m != nil {
+		return m.SourceProperties
+	}
+	return nil
+}
+
+func (m *Finding) GetSecurityMarks() *SecurityMarks {
+	if m != nil {
+		return m.SecurityMarks
+	}
+	return nil
+}
+
+func (m *Finding) GetEventTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.EventTime
+	}
+	return nil
+}
+
+func (m *Finding) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.securitycenter.v1beta1.Finding_State", Finding_State_name, Finding_State_value)
+	proto.RegisterType((*Finding)(nil), "google.cloud.securitycenter.v1beta1.Finding")
+	proto.RegisterMapType((map[string]*_struct.Value)(nil), "google.cloud.securitycenter.v1beta1.Finding.SourcePropertiesEntry")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/finding.proto", fileDescriptor_da6ee7073afacba3)
+}
+
+var fileDescriptor_da6ee7073afacba3 = []byte{
+	// 509 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x51, 0x6f, 0xd3, 0x30,
+	0x10, 0xc7, 0xc9, 0xba, 0x76, 0xed, 0xb5, 0x9b, 0x3a, 0x4b, 0x9b, 0xa2, 0x0a, 0x89, 0xb2, 0x3d,
+	0xd0, 0x07, 0x94, 0xa8, 0xe5, 0xa5, 0xb0, 0xa7, 0x6d, 0x74, 0xa2, 0x0f, 0x54, 0x23, 0xed, 0x26,
+	0x01, 0x0f, 0x91, 0x9b, 0xdd, 0x22, 0x6b, 0x89, 0x1d, 0xd9, 0x4e, 0x45, 0x25, 0x3e, 0x1b, 0x9f,
+	0x0d, 0xc5, 0x71, 0x26, 0x3a, 0x10, 0x94, 0xb7, 0xdc, 0xff, 0xee, 0xf7, 0xf7, 0xf9, 0xce, 0x81,
+	0x61, 0x2c, 0x44, 0x9c, 0xa0, 0x1f, 0x25, 0x22, 0xbf, 0xf3, 0x15, 0x46, 0xb9, 0x64, 0x7a, 0x1d,
+	0x21, 0xd7, 0x28, 0xfd, 0xd5, 0x70, 0x89, 0x9a, 0x0e, 0xfd, 0x7b, 0xc6, 0xef, 0x18, 0x8f, 0xbd,
+	0x4c, 0x0a, 0x2d, 0xc8, 0x69, 0x89, 0x78, 0x06, 0xf1, 0x36, 0x11, 0xcf, 0x22, 0xbd, 0xe7, 0xd6,
+	0x97, 0x66, 0xcc, 0xa7, 0x9c, 0x0b, 0x4d, 0x35, 0x13, 0x5c, 0x95, 0x16, 0xbd, 0xf1, 0x36, 0xa7,
+	0x56, 0x72, 0x98, 0x52, 0xf9, 0x50, 0x91, 0x95, 0xaf, 0x89, 0x96, 0xf9, 0xbd, 0xaf, 0xb4, 0xcc,
+	0x23, 0x6d, 0xb3, 0x2f, 0x9e, 0x66, 0x35, 0x4b, 0x51, 0x69, 0x9a, 0x66, 0x65, 0xc1, 0xc9, 0x8f,
+	0x3a, 0xec, 0x5d, 0x95, 0xb7, 0x21, 0x04, 0x76, 0x39, 0x4d, 0xd1, 0x75, 0xfa, 0xce, 0xa0, 0x15,
+	0x98, 0x6f, 0x72, 0x0c, 0x8d, 0x8c, 0x4a, 0xe4, 0xda, 0xdd, 0x31, 0xaa, 0x8d, 0xc8, 0x29, 0xec,
+	0x4b, 0x54, 0x22, 0x97, 0x11, 0x86, 0x06, 0xaa, 0x99, 0x74, 0xa7, 0x12, 0x67, 0x05, 0xfc, 0x01,
+	0xea, 0x4a, 0x53, 0x8d, 0xee, 0x6e, 0xdf, 0x19, 0x1c, 0x8c, 0x46, 0xde, 0x16, 0x83, 0xf2, 0x6c,
+	0x37, 0xde, 0xbc, 0x20, 0x83, 0xd2, 0x80, 0xf4, 0xa0, 0x19, 0x51, 0x8d, 0xb1, 0x90, 0x6b, 0xb7,
+	0x6e, 0x4e, 0x7a, 0x8c, 0xc9, 0x4b, 0xe8, 0xe0, 0x37, 0x8d, 0x92, 0xd3, 0x24, 0xcc, 0x25, 0x73,
+	0x1b, 0x26, 0xdf, 0xae, 0xb4, 0x1b, 0xc9, 0x88, 0x80, 0x43, 0xdb, 0x6b, 0x26, 0x45, 0x86, 0x52,
+	0x33, 0x54, 0xee, 0x5e, 0xbf, 0x36, 0x68, 0x8f, 0x2e, 0xfe, 0xaf, 0x29, 0xe3, 0x72, 0xfd, 0x68,
+	0x32, 0xe1, 0x5a, 0xae, 0x83, 0xae, 0x7a, 0x22, 0x93, 0xcf, 0x70, 0xb0, 0xb9, 0x2d, 0xb7, 0xd9,
+	0x77, 0x06, 0xed, 0x2d, 0x47, 0x30, 0xb7, 0xf2, 0xc7, 0x82, 0x0c, 0xf6, 0xd5, 0xaf, 0x21, 0x79,
+	0x0b, 0x80, 0x2b, 0xe4, 0x3a, 0x2c, 0x56, 0xe9, 0xb6, 0x8c, 0x6d, 0xaf, 0xb2, 0xad, 0xf6, 0xec,
+	0x2d, 0xaa, 0x3d, 0x07, 0x2d, 0x53, 0x5d, 0xc4, 0xe4, 0x0c, 0xda, 0x91, 0x44, 0xaa, 0xb1, 0x64,
+	0xe1, 0x9f, 0x2c, 0x94, 0xe5, 0x85, 0xd0, 0xfb, 0x0a, 0x47, 0x7f, 0xbc, 0x3d, 0xe9, 0x42, 0xed,
+	0x01, 0xd7, 0xf6, 0xd5, 0x14, 0x9f, 0xe4, 0x35, 0xd4, 0x57, 0x34, 0xc9, 0xd1, 0xbc, 0x99, 0xf6,
+	0xe8, 0xf8, 0xb7, 0x13, 0x6e, 0x8b, 0x6c, 0x50, 0x16, 0xbd, 0xdb, 0x19, 0x3b, 0x27, 0x63, 0xa8,
+	0x9b, 0x7d, 0x93, 0x23, 0x38, 0x9c, 0x2f, 0xce, 0x17, 0x93, 0xf0, 0x66, 0x36, 0xbf, 0x9e, 0x5c,
+	0x4e, 0xaf, 0xa6, 0x93, 0xf7, 0xdd, 0x67, 0x04, 0xa0, 0x71, 0x7e, 0xb9, 0x98, 0xde, 0x4e, 0xba,
+	0x0e, 0xe9, 0x40, 0x73, 0x3a, 0xb3, 0xd1, 0xce, 0xc5, 0x77, 0x78, 0x15, 0x89, 0x74, 0x9b, 0xb1,
+	0x7e, 0xf9, 0x64, 0x8b, 0x62, 0x91, 0x50, 0x1e, 0x7b, 0x42, 0xc6, 0x7e, 0x8c, 0xdc, 0x34, 0xe5,
+	0x97, 0x29, 0x9a, 0x31, 0xf5, 0xd7, 0x7f, 0xf0, 0x6c, 0x53, 0x5e, 0x36, 0x0c, 0xfd, 0xe6, 0x67,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xfe, 0x5c, 0x9a, 0x36, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/securitycenter/v1beta1/organization_settings.pb.go b/googleapis/cloud/securitycenter/v1beta1/organization_settings.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..4efa1b92672cb6e96b8b67e655492df4fd02e475
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/organization_settings.pb.go
@@ -0,0 +1,220 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/organization_settings.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	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
+
+// The mode of inclusion when running Asset Discovery.
+// Asset discovery can be limited by explicitly identifying projects to be
+// included or excluded. If INCLUDE_ONLY is set then only those projects
+// (within the organization) and their children are discovered during asset
+// discovery. If EXCLUDE is set then projects not matching those projects
+// are discovered during asset discovery. If neither are set then all
+// projects within the organization are discovered during asset discovery.
+type OrganizationSettings_AssetDiscoveryConfig_InclusionMode int32
+
+const (
+	// Unspecified. Setting the mode with this value will disable
+	// inclusion/exclusion filtering for Asset Discovery.
+	OrganizationSettings_AssetDiscoveryConfig_INCLUSION_MODE_UNSPECIFIED OrganizationSettings_AssetDiscoveryConfig_InclusionMode = 0
+	// Asset Discovery will capture only the resources within the projects
+	// specified. All other resources will be ignored.
+	OrganizationSettings_AssetDiscoveryConfig_INCLUDE_ONLY OrganizationSettings_AssetDiscoveryConfig_InclusionMode = 1
+	// Asset Discovery will ignore all resources under the projects specified.
+	// All other resources will be retrieved.
+	OrganizationSettings_AssetDiscoveryConfig_EXCLUDE OrganizationSettings_AssetDiscoveryConfig_InclusionMode = 2
+)
+
+var OrganizationSettings_AssetDiscoveryConfig_InclusionMode_name = map[int32]string{
+	0: "INCLUSION_MODE_UNSPECIFIED",
+	1: "INCLUDE_ONLY",
+	2: "EXCLUDE",
+}
+
+var OrganizationSettings_AssetDiscoveryConfig_InclusionMode_value = map[string]int32{
+	"INCLUSION_MODE_UNSPECIFIED": 0,
+	"INCLUDE_ONLY":               1,
+	"EXCLUDE":                    2,
+}
+
+func (x OrganizationSettings_AssetDiscoveryConfig_InclusionMode) String() string {
+	return proto.EnumName(OrganizationSettings_AssetDiscoveryConfig_InclusionMode_name, int32(x))
+}
+
+func (OrganizationSettings_AssetDiscoveryConfig_InclusionMode) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_a0c752c1a47d41ec, []int{0, 0, 0}
+}
+
+// User specified settings that are attached to the Security Center
+// organization.
+type OrganizationSettings struct {
+	// The relative resource name of the settings. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Example:
+	// "organizations/123/organizationSettings".
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// A flag indicating whether Asset Discovery should be enabled. If the flag is
+	// set to true then discovery of assets will occur. If it is set to false all
+	// historical assets will remain but discovery of future assets will not
+	// occur.
+	EnableAssetDiscovery bool `protobuf:"varint,2,opt,name=enable_asset_discovery,json=enableAssetDiscovery,proto3" json:"enable_asset_discovery,omitempty"`
+	// The configuration used for Asset Discovery runs.
+	AssetDiscoveryConfig *OrganizationSettings_AssetDiscoveryConfig `protobuf:"bytes,3,opt,name=asset_discovery_config,json=assetDiscoveryConfig,proto3" json:"asset_discovery_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
+	XXX_unrecognized     []byte                                     `json:"-"`
+	XXX_sizecache        int32                                      `json:"-"`
+}
+
+func (m *OrganizationSettings) Reset()         { *m = OrganizationSettings{} }
+func (m *OrganizationSettings) String() string { return proto.CompactTextString(m) }
+func (*OrganizationSettings) ProtoMessage()    {}
+func (*OrganizationSettings) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a0c752c1a47d41ec, []int{0}
+}
+
+func (m *OrganizationSettings) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OrganizationSettings.Unmarshal(m, b)
+}
+func (m *OrganizationSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OrganizationSettings.Marshal(b, m, deterministic)
+}
+func (m *OrganizationSettings) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OrganizationSettings.Merge(m, src)
+}
+func (m *OrganizationSettings) XXX_Size() int {
+	return xxx_messageInfo_OrganizationSettings.Size(m)
+}
+func (m *OrganizationSettings) XXX_DiscardUnknown() {
+	xxx_messageInfo_OrganizationSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OrganizationSettings proto.InternalMessageInfo
+
+func (m *OrganizationSettings) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *OrganizationSettings) GetEnableAssetDiscovery() bool {
+	if m != nil {
+		return m.EnableAssetDiscovery
+	}
+	return false
+}
+
+func (m *OrganizationSettings) GetAssetDiscoveryConfig() *OrganizationSettings_AssetDiscoveryConfig {
+	if m != nil {
+		return m.AssetDiscoveryConfig
+	}
+	return nil
+}
+
+// The configuration used for Asset Discovery runs.
+type OrganizationSettings_AssetDiscoveryConfig struct {
+	// The project ids to use for filtering asset discovery.
+	ProjectIds []string `protobuf:"bytes,1,rep,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"`
+	// The mode to use for filtering asset discovery.
+	InclusionMode        OrganizationSettings_AssetDiscoveryConfig_InclusionMode `protobuf:"varint,2,opt,name=inclusion_mode,json=inclusionMode,proto3,enum=google.cloud.securitycenter.v1beta1.OrganizationSettings_AssetDiscoveryConfig_InclusionMode" json:"inclusion_mode,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                                `json:"-"`
+	XXX_unrecognized     []byte                                                  `json:"-"`
+	XXX_sizecache        int32                                                   `json:"-"`
+}
+
+func (m *OrganizationSettings_AssetDiscoveryConfig) Reset() {
+	*m = OrganizationSettings_AssetDiscoveryConfig{}
+}
+func (m *OrganizationSettings_AssetDiscoveryConfig) String() string { return proto.CompactTextString(m) }
+func (*OrganizationSettings_AssetDiscoveryConfig) ProtoMessage()    {}
+func (*OrganizationSettings_AssetDiscoveryConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_a0c752c1a47d41ec, []int{0, 0}
+}
+
+func (m *OrganizationSettings_AssetDiscoveryConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig.Unmarshal(m, b)
+}
+func (m *OrganizationSettings_AssetDiscoveryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig.Marshal(b, m, deterministic)
+}
+func (m *OrganizationSettings_AssetDiscoveryConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig.Merge(m, src)
+}
+func (m *OrganizationSettings_AssetDiscoveryConfig) XXX_Size() int {
+	return xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig.Size(m)
+}
+func (m *OrganizationSettings_AssetDiscoveryConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OrganizationSettings_AssetDiscoveryConfig proto.InternalMessageInfo
+
+func (m *OrganizationSettings_AssetDiscoveryConfig) GetProjectIds() []string {
+	if m != nil {
+		return m.ProjectIds
+	}
+	return nil
+}
+
+func (m *OrganizationSettings_AssetDiscoveryConfig) GetInclusionMode() OrganizationSettings_AssetDiscoveryConfig_InclusionMode {
+	if m != nil {
+		return m.InclusionMode
+	}
+	return OrganizationSettings_AssetDiscoveryConfig_INCLUSION_MODE_UNSPECIFIED
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.securitycenter.v1beta1.OrganizationSettings_AssetDiscoveryConfig_InclusionMode", OrganizationSettings_AssetDiscoveryConfig_InclusionMode_name, OrganizationSettings_AssetDiscoveryConfig_InclusionMode_value)
+	proto.RegisterType((*OrganizationSettings)(nil), "google.cloud.securitycenter.v1beta1.OrganizationSettings")
+	proto.RegisterType((*OrganizationSettings_AssetDiscoveryConfig)(nil), "google.cloud.securitycenter.v1beta1.OrganizationSettings.AssetDiscoveryConfig")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/organization_settings.proto", fileDescriptor_a0c752c1a47d41ec)
+}
+
+var fileDescriptor_a0c752c1a47d41ec = []byte{
+	// 396 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x92, 0xc1, 0x8b, 0xd4, 0x30,
+	0x14, 0xc6, 0xcd, 0x8c, 0xa8, 0x9b, 0x71, 0x97, 0x12, 0xca, 0x52, 0x06, 0xd1, 0xb2, 0x1e, 0xec,
+	0x29, 0x65, 0x57, 0x6f, 0x1e, 0x44, 0xa7, 0x15, 0x0a, 0xbb, 0xad, 0x76, 0x58, 0x50, 0x11, 0x42,
+	0x26, 0x8d, 0x21, 0xd2, 0xc9, 0x2b, 0x4d, 0x66, 0x61, 0xc5, 0x9b, 0x5e, 0xfd, 0x7b, 0xbd, 0xca,
+	0x66, 0xba, 0xb0, 0x95, 0x41, 0xf6, 0xe0, 0x2d, 0xf9, 0xbe, 0x97, 0xdf, 0xf7, 0x1e, 0x79, 0xf8,
+	0x95, 0x02, 0x50, 0xad, 0x4c, 0x45, 0x0b, 0x9b, 0x26, 0xb5, 0x52, 0x6c, 0x7a, 0xed, 0x2e, 0x85,
+	0x34, 0x4e, 0xf6, 0xe9, 0xc5, 0xf1, 0x4a, 0x3a, 0x7e, 0x9c, 0x42, 0xaf, 0xb8, 0xd1, 0xdf, 0xb8,
+	0xd3, 0x60, 0x98, 0x95, 0xce, 0x69, 0xa3, 0x2c, 0xed, 0x7a, 0x70, 0x40, 0x9e, 0x6e, 0x01, 0xd4,
+	0x03, 0xe8, 0x18, 0x40, 0x07, 0xc0, 0xfc, 0xd1, 0x90, 0xc2, 0x3b, 0x9d, 0x72, 0x63, 0xc0, 0x79,
+	0xd4, 0x80, 0x38, 0xfa, 0x3d, 0xc5, 0x61, 0x75, 0x23, 0x62, 0x39, 0x24, 0x10, 0x82, 0xef, 0x1a,
+	0xbe, 0x96, 0x11, 0x8a, 0x51, 0xb2, 0x57, 0xfb, 0x33, 0x79, 0x81, 0x0f, 0xa5, 0xe1, 0xab, 0x56,
+	0x32, 0x6e, 0xad, 0x74, 0xac, 0xd1, 0x56, 0xc0, 0x85, 0xec, 0x2f, 0xa3, 0x49, 0x8c, 0x92, 0x07,
+	0x75, 0xb8, 0x75, 0x5f, 0x5f, 0x99, 0xd9, 0xb5, 0x47, 0x7e, 0x22, 0x7c, 0xf8, 0x57, 0x3d, 0x13,
+	0x60, 0xbe, 0x68, 0x15, 0x4d, 0x63, 0x94, 0xcc, 0x4e, 0x4a, 0x7a, 0x8b, 0x39, 0xe8, 0xae, 0x2e,
+	0xe9, 0x38, 0x6a, 0xe1, 0xa9, 0x75, 0xc8, 0x77, 0xa8, 0xf3, 0x5f, 0x13, 0x1c, 0xee, 0x2a, 0x27,
+	0x4f, 0xf0, 0xac, 0xeb, 0xe1, 0xab, 0x14, 0x8e, 0xe9, 0xc6, 0x46, 0x28, 0x9e, 0x26, 0x7b, 0x35,
+	0x1e, 0xa4, 0xa2, 0xb1, 0xe4, 0x07, 0xc2, 0x07, 0xda, 0x88, 0x76, 0x63, 0xaf, 0xfe, 0x60, 0x0d,
+	0x8d, 0xf4, 0xf3, 0x1e, 0x9c, 0x7c, 0xfe, 0xbf, 0x8d, 0xd3, 0xe2, 0x3a, 0xe4, 0x0c, 0x1a, 0x59,
+	0xef, 0xeb, 0x9b, 0xd7, 0xa3, 0x12, 0xef, 0x8f, 0x7c, 0xf2, 0x18, 0xcf, 0x8b, 0x72, 0x71, 0x7a,
+	0xbe, 0x2c, 0xaa, 0x92, 0x9d, 0x55, 0x59, 0xce, 0xce, 0xcb, 0xe5, 0xbb, 0x7c, 0x51, 0xbc, 0x2d,
+	0xf2, 0x2c, 0xb8, 0x43, 0x02, 0xfc, 0xd0, 0xfb, 0x59, 0xce, 0xaa, 0xf2, 0xf4, 0x63, 0x80, 0xc8,
+	0x0c, 0xdf, 0xcf, 0x3f, 0x78, 0x25, 0x98, 0xbc, 0xf9, 0x8e, 0x9f, 0x09, 0x58, 0xdf, 0x66, 0x82,
+	0x4f, 0xef, 0x87, 0x22, 0x05, 0x2d, 0x37, 0x8a, 0x42, 0xaf, 0x52, 0x25, 0x8d, 0x5f, 0xa0, 0x74,
+	0x6b, 0xf1, 0x4e, 0xdb, 0x7f, 0xee, 0xf1, 0xcb, 0xb1, 0xbc, 0xba, 0xe7, 0x5f, 0x3f, 0xff, 0x13,
+	0x00, 0x00, 0xff, 0xff, 0x33, 0x6a, 0x70, 0x4a, 0x04, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/securitycenter/v1beta1/security_marks.pb.go b/googleapis/cloud/securitycenter/v1beta1/security_marks.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..97b26a26085c67dba77eed21e12286ba04ce68d4
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/security_marks.pb.go
@@ -0,0 +1,113 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/security_marks.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	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
+
+// User specified security marks that are attached to the parent Security Center
+// resource. Security marks are scoped within a Security Center organization --
+// they are modifiable and viewable by all with proper permissions on the
+// organization.
+type SecurityMarks struct {
+	// The relative resource name of the SecurityMarks. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Examples:
+	// "organizations/123/assets/456/securityMarks"
+	// "organizations/123/sources/456/findings/789/securityMarks".
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Mutable user specified security marks belonging to the parent resource.
+	// Constraints are as follows:
+	//   - Keys and values are treated as case insensitive
+	//   - Keys must be alphanumeric and between 1 - 256 characters (inclusive)
+	//   - Values have leading and trailing whitespace trimmed, remaining
+	//     characters must be between 1 - 4096 characters (inclusive)
+	Marks                map[string]string `protobuf:"bytes,2,rep,name=marks,proto3" json:"marks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *SecurityMarks) Reset()         { *m = SecurityMarks{} }
+func (m *SecurityMarks) String() string { return proto.CompactTextString(m) }
+func (*SecurityMarks) ProtoMessage()    {}
+func (*SecurityMarks) Descriptor() ([]byte, []int) {
+	return fileDescriptor_09d3e42c3896af25, []int{0}
+}
+
+func (m *SecurityMarks) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SecurityMarks.Unmarshal(m, b)
+}
+func (m *SecurityMarks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SecurityMarks.Marshal(b, m, deterministic)
+}
+func (m *SecurityMarks) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SecurityMarks.Merge(m, src)
+}
+func (m *SecurityMarks) XXX_Size() int {
+	return xxx_messageInfo_SecurityMarks.Size(m)
+}
+func (m *SecurityMarks) XXX_DiscardUnknown() {
+	xxx_messageInfo_SecurityMarks.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SecurityMarks proto.InternalMessageInfo
+
+func (m *SecurityMarks) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SecurityMarks) GetMarks() map[string]string {
+	if m != nil {
+		return m.Marks
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*SecurityMarks)(nil), "google.cloud.securitycenter.v1beta1.SecurityMarks")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.securitycenter.v1beta1.SecurityMarks.MarksEntry")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/security_marks.proto", fileDescriptor_09d3e42c3896af25)
+}
+
+var fileDescriptor_09d3e42c3896af25 = []byte{
+	// 250 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x41, 0x4b, 0xc3, 0x30,
+	0x14, 0xc7, 0x69, 0xe7, 0x04, 0x9f, 0x08, 0x12, 0x3c, 0x94, 0xe1, 0x61, 0xe8, 0xc1, 0x9d, 0x12,
+	0xa6, 0x97, 0xa2, 0x78, 0x11, 0x3c, 0x7a, 0x70, 0xbb, 0x79, 0x91, 0xb7, 0xfa, 0x08, 0x65, 0xed,
+	0x7b, 0x25, 0x4d, 0x07, 0x05, 0x3f, 0x95, 0x9f, 0x50, 0x96, 0x06, 0xa5, 0x97, 0xb1, 0x4b, 0x79,
+	0xfd, 0x27, 0xbf, 0xdf, 0x3f, 0x09, 0xe4, 0x56, 0xc4, 0x56, 0x64, 0x8a, 0x4a, 0xba, 0x2f, 0xd3,
+	0x52, 0xd1, 0xb9, 0xd2, 0xf7, 0x05, 0xb1, 0x27, 0x67, 0x76, 0xcb, 0x0d, 0x79, 0x5c, 0xfe, 0xc5,
+	0x9f, 0x35, 0xba, 0x6d, 0xab, 0x1b, 0x27, 0x5e, 0xd4, 0xed, 0x40, 0xea, 0x40, 0xea, 0x31, 0xa9,
+	0x23, 0x39, 0xbb, 0x8e, 0x7a, 0x6c, 0x4a, 0x83, 0xcc, 0xe2, 0xd1, 0x97, 0xc2, 0x51, 0x71, 0xf3,
+	0x93, 0xc0, 0xc5, 0x3a, 0x82, 0x6f, 0x7b, 0xb5, 0x52, 0x70, 0xc2, 0x58, 0x53, 0x96, 0xcc, 0x93,
+	0xc5, 0xd9, 0x2a, 0xcc, 0x6a, 0x0d, 0xd3, 0xd0, 0x9b, 0xa5, 0xf3, 0xc9, 0xe2, 0xfc, 0xfe, 0x59,
+	0x1f, 0x51, 0xac, 0x47, 0x5a, 0x1d, 0xbe, 0xaf, 0xec, 0x5d, 0xbf, 0x1a, 0x5c, 0xb3, 0x1c, 0xe0,
+	0x3f, 0x54, 0x97, 0x30, 0xd9, 0x52, 0x1f, 0x5b, 0xf7, 0xa3, 0xba, 0x82, 0xe9, 0x0e, 0xab, 0x8e,
+	0xb2, 0x34, 0x64, 0xc3, 0xcf, 0x63, 0x9a, 0x27, 0x2f, 0xdf, 0x70, 0x57, 0x48, 0x7d, 0xcc, 0x21,
+	0x3e, 0xde, 0xe3, 0x26, 0x2b, 0x15, 0xb2, 0xd5, 0xe2, 0xac, 0xb1, 0xc4, 0xe1, 0xee, 0x66, 0x58,
+	0xc2, 0xa6, 0x6c, 0x0f, 0xbe, 0xfd, 0xd3, 0x38, 0xde, 0x9c, 0x06, 0xfa, 0xe1, 0x37, 0x00, 0x00,
+	0xff, 0xff, 0x9e, 0xc8, 0x47, 0xe1, 0xb8, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/securitycenter/v1beta1/securitycenter_service.pb.go b/googleapis/cloud/securitycenter/v1beta1/securitycenter_service.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..e9c604e5e2f5bb1e4469aea57c37aae1eaf43ca6
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/securitycenter_service.pb.go
@@ -0,0 +1,2522 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/securitycenter_service.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	duration "github.com/golang/protobuf/ptypes/duration"
+	_ "github.com/golang/protobuf/ptypes/empty"
+	_struct "github.com/golang/protobuf/ptypes/struct"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	context "golang.org/x/net/context"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	v1 "google.golang.org/genproto/googleapis/iam/v1"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+	grpc "google.golang.org/grpc"
+	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
+
+// State of the asset.
+//
+// When querying across two points in time this describes
+// the change between the two points: ADDED, REMOVED, or ACTIVE.
+// If there was no compare_duration supplied in the request the state should
+// be: UNUSED
+type ListAssetsResponse_ListAssetsResult_State int32
+
+const (
+	// Unspecified state.
+	ListAssetsResponse_ListAssetsResult_STATE_UNSPECIFIED ListAssetsResponse_ListAssetsResult_State = 0
+	// Request did not specify use of this field in the result.
+	ListAssetsResponse_ListAssetsResult_UNUSED ListAssetsResponse_ListAssetsResult_State = 1
+	// Asset was added between the points in time.
+	ListAssetsResponse_ListAssetsResult_ADDED ListAssetsResponse_ListAssetsResult_State = 2
+	// Asset was removed between the points in time.
+	ListAssetsResponse_ListAssetsResult_REMOVED ListAssetsResponse_ListAssetsResult_State = 3
+	// Asset was active at both point(s) in time.
+	ListAssetsResponse_ListAssetsResult_ACTIVE ListAssetsResponse_ListAssetsResult_State = 4
+)
+
+var ListAssetsResponse_ListAssetsResult_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "UNUSED",
+	2: "ADDED",
+	3: "REMOVED",
+	4: "ACTIVE",
+}
+
+var ListAssetsResponse_ListAssetsResult_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"UNUSED":            1,
+	"ADDED":             2,
+	"REMOVED":           3,
+	"ACTIVE":            4,
+}
+
+func (x ListAssetsResponse_ListAssetsResult_State) String() string {
+	return proto.EnumName(ListAssetsResponse_ListAssetsResult_State_name, int32(x))
+}
+
+func (ListAssetsResponse_ListAssetsResult_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{12, 0, 0}
+}
+
+// Request message for creating a finding.
+type CreateFindingRequest struct {
+	// Resource name of the new finding's parent. Its format should be
+	// "organizations/[organization_id]/sources/[source_id]".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Unique identifier provided by the client within the parent scope.
+	// It must be alphanumeric and less than or equal to 32 characters and
+	// greater than 0 characters in length.
+	FindingId string `protobuf:"bytes,2,opt,name=finding_id,json=findingId,proto3" json:"finding_id,omitempty"`
+	// The Finding being created. The name and security_marks will be ignored as
+	// they are both output only fields on this resource.
+	Finding              *Finding `protobuf:"bytes,3,opt,name=finding,proto3" json:"finding,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateFindingRequest) Reset()         { *m = CreateFindingRequest{} }
+func (m *CreateFindingRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateFindingRequest) ProtoMessage()    {}
+func (*CreateFindingRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{0}
+}
+
+func (m *CreateFindingRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateFindingRequest.Unmarshal(m, b)
+}
+func (m *CreateFindingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateFindingRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateFindingRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateFindingRequest.Merge(m, src)
+}
+func (m *CreateFindingRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateFindingRequest.Size(m)
+}
+func (m *CreateFindingRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateFindingRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateFindingRequest proto.InternalMessageInfo
+
+func (m *CreateFindingRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateFindingRequest) GetFindingId() string {
+	if m != nil {
+		return m.FindingId
+	}
+	return ""
+}
+
+func (m *CreateFindingRequest) GetFinding() *Finding {
+	if m != nil {
+		return m.Finding
+	}
+	return nil
+}
+
+// Request message for creating a source.
+type CreateSourceRequest struct {
+	// Resource name of the new source's parent. Its format should be
+	// "organizations/[organization_id]".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// The Source being created, only the display_name and description will be
+	// used. All other fields will be ignored.
+	Source               *Source  `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateSourceRequest) Reset()         { *m = CreateSourceRequest{} }
+func (m *CreateSourceRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateSourceRequest) ProtoMessage()    {}
+func (*CreateSourceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{1}
+}
+
+func (m *CreateSourceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateSourceRequest.Unmarshal(m, b)
+}
+func (m *CreateSourceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateSourceRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateSourceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateSourceRequest.Merge(m, src)
+}
+func (m *CreateSourceRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateSourceRequest.Size(m)
+}
+func (m *CreateSourceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateSourceRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateSourceRequest proto.InternalMessageInfo
+
+func (m *CreateSourceRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateSourceRequest) GetSource() *Source {
+	if m != nil {
+		return m.Source
+	}
+	return nil
+}
+
+// Request message for getting organization settings.
+type GetOrganizationSettingsRequest struct {
+	// Name of the organization to get organization settings for. Its format is
+	// "organizations/[organization_id]/organizationSettings".
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetOrganizationSettingsRequest) Reset()         { *m = GetOrganizationSettingsRequest{} }
+func (m *GetOrganizationSettingsRequest) String() string { return proto.CompactTextString(m) }
+func (*GetOrganizationSettingsRequest) ProtoMessage()    {}
+func (*GetOrganizationSettingsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{2}
+}
+
+func (m *GetOrganizationSettingsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOrganizationSettingsRequest.Unmarshal(m, b)
+}
+func (m *GetOrganizationSettingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOrganizationSettingsRequest.Marshal(b, m, deterministic)
+}
+func (m *GetOrganizationSettingsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOrganizationSettingsRequest.Merge(m, src)
+}
+func (m *GetOrganizationSettingsRequest) XXX_Size() int {
+	return xxx_messageInfo_GetOrganizationSettingsRequest.Size(m)
+}
+func (m *GetOrganizationSettingsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOrganizationSettingsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOrganizationSettingsRequest proto.InternalMessageInfo
+
+func (m *GetOrganizationSettingsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for getting a source.
+type GetSourceRequest struct {
+	// Relative resource name of the source. Its format is
+	// "organizations/[organization_id]/source/[source_id]".
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetSourceRequest) Reset()         { *m = GetSourceRequest{} }
+func (m *GetSourceRequest) String() string { return proto.CompactTextString(m) }
+func (*GetSourceRequest) ProtoMessage()    {}
+func (*GetSourceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{3}
+}
+
+func (m *GetSourceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetSourceRequest.Unmarshal(m, b)
+}
+func (m *GetSourceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetSourceRequest.Marshal(b, m, deterministic)
+}
+func (m *GetSourceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetSourceRequest.Merge(m, src)
+}
+func (m *GetSourceRequest) XXX_Size() int {
+	return xxx_messageInfo_GetSourceRequest.Size(m)
+}
+func (m *GetSourceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetSourceRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetSourceRequest proto.InternalMessageInfo
+
+func (m *GetSourceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for grouping by assets.
+type GroupAssetsRequest struct {
+	// Name of the organization to groupBy. Its format is
+	// "organizations/[organization_id]".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Expression that defines the filter to apply across assets.
+	// The expression is a list of zero or more restrictions combined via logical
+	// operators `AND` and `OR`.
+	// Parentheses are not supported, and `OR` has higher precedence than `AND`.
+	//
+	// Restrictions have the form `<field> <operator> <value>` and may have a `-`
+	// character in front of them to indicate negation. The fields map to those
+	// defined in the Asset resource. Examples include:
+	//
+	// * name
+	// * security_center_properties.resource_name
+	// * resource_properties.a_property
+	// * security_marks.marks.marka
+	//
+	// The supported operators are:
+	//
+	// * `=` for all value types.
+	// * `>`, `<`, `>=`, `<=` for integer values.
+	// * `:`, meaning substring matching, for strings.
+	//
+	// The supported value types are:
+	//
+	// * string literals in quotes.
+	// * integer literals without quotes.
+	// * boolean literals `true` and `false` without quotes.
+	//
+	// For example, `resource_properties.size = 100` is a valid filter string.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Expression that defines what assets fields to use for grouping. The string
+	// value should follow SQL syntax: comma separated list of fields. For
+	// example:
+	// "security_center_properties.resource_project,security_center_properties.project".
+	//
+	// The following fields are supported when compare_duration is not set:
+	//
+	// * security_center_properties.resource_name
+	// * security_center_properties.resource_project
+	// * security_center_properties.resource_type
+	// * security_center_properties.resource_parent
+	//
+	// The following fields are supported when compare_duration is set:
+	//
+	// * security_center_properties.resource_type
+	GroupBy string `protobuf:"bytes,3,opt,name=group_by,json=groupBy,proto3" json:"group_by,omitempty"`
+	// When compare_duration is set, the Asset's "state" property is updated to
+	// indicate whether the asset was added, removed, or remained present during
+	// the compare_duration period of time that precedes the read_time. This is
+	// the time between (read_time - compare_duration) and read_time.
+	//
+	// The state value is derived based on the presence of the asset at the two
+	// points in time. Intermediate state changes between the two times don't
+	// affect the result. For example, the results aren't affected if the asset is
+	// removed and re-created again.
+	//
+	// Possible "state" values when compare_duration is specified:
+	//
+	// * "ADDED": indicates that the asset was not present before
+	//              compare_duration, but present at reference_time.
+	// * "REMOVED": indicates that the asset was present at the start of
+	//              compare_duration, but not present at reference_time.
+	// * "ACTIVE_AT_BOTH": indicates that the asset was present at both the
+	//              start and the end of the time period defined by
+	//              compare_duration and reference_time.
+	//
+	// This field is ignored if `state` is not a field in `group_by`.
+	CompareDuration *duration.Duration `protobuf:"bytes,4,opt,name=compare_duration,json=compareDuration,proto3" json:"compare_duration,omitempty"`
+	// Time used as a reference point when filtering assets. The filter is limited
+	// to assets existing at the supplied time and their values are those at that
+	// specific time. Absence of this field will default to the API's version of
+	// NOW.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// The value returned by the last `GroupAssetsResponse`; indicates
+	// that this is a continuation of a prior `GroupAssets` call, and that the
+	// system should return the next page of data.
+	PageToken string `protobuf:"bytes,7,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of results to return in a single response. Default is
+	// 10, minimum is 1, maximum is 1000.
+	PageSize             int32    `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GroupAssetsRequest) Reset()         { *m = GroupAssetsRequest{} }
+func (m *GroupAssetsRequest) String() string { return proto.CompactTextString(m) }
+func (*GroupAssetsRequest) ProtoMessage()    {}
+func (*GroupAssetsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{4}
+}
+
+func (m *GroupAssetsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GroupAssetsRequest.Unmarshal(m, b)
+}
+func (m *GroupAssetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GroupAssetsRequest.Marshal(b, m, deterministic)
+}
+func (m *GroupAssetsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GroupAssetsRequest.Merge(m, src)
+}
+func (m *GroupAssetsRequest) XXX_Size() int {
+	return xxx_messageInfo_GroupAssetsRequest.Size(m)
+}
+func (m *GroupAssetsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GroupAssetsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupAssetsRequest proto.InternalMessageInfo
+
+func (m *GroupAssetsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *GroupAssetsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *GroupAssetsRequest) GetGroupBy() string {
+	if m != nil {
+		return m.GroupBy
+	}
+	return ""
+}
+
+func (m *GroupAssetsRequest) GetCompareDuration() *duration.Duration {
+	if m != nil {
+		return m.CompareDuration
+	}
+	return nil
+}
+
+func (m *GroupAssetsRequest) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *GroupAssetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *GroupAssetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response message for grouping by assets.
+type GroupAssetsResponse struct {
+	// Group results. There exists an element for each existing unique
+	// combination of property/values. The element contains a count for the number
+	// of times those specific property/values appear.
+	GroupByResults []*GroupResult `protobuf:"bytes,1,rep,name=group_by_results,json=groupByResults,proto3" json:"group_by_results,omitempty"`
+	// Time used for executing the groupBy request.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results.
+	NextPageToken        string   `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GroupAssetsResponse) Reset()         { *m = GroupAssetsResponse{} }
+func (m *GroupAssetsResponse) String() string { return proto.CompactTextString(m) }
+func (*GroupAssetsResponse) ProtoMessage()    {}
+func (*GroupAssetsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{5}
+}
+
+func (m *GroupAssetsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GroupAssetsResponse.Unmarshal(m, b)
+}
+func (m *GroupAssetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GroupAssetsResponse.Marshal(b, m, deterministic)
+}
+func (m *GroupAssetsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GroupAssetsResponse.Merge(m, src)
+}
+func (m *GroupAssetsResponse) XXX_Size() int {
+	return xxx_messageInfo_GroupAssetsResponse.Size(m)
+}
+func (m *GroupAssetsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_GroupAssetsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupAssetsResponse proto.InternalMessageInfo
+
+func (m *GroupAssetsResponse) GetGroupByResults() []*GroupResult {
+	if m != nil {
+		return m.GroupByResults
+	}
+	return nil
+}
+
+func (m *GroupAssetsResponse) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *GroupAssetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request message for grouping by findings.
+type GroupFindingsRequest struct {
+	// Name of the source to groupBy. Its format is
+	// "organizations/[organization_id]/sources/[source_id]". To groupBy across
+	// all sources provide a source_id of `-`. For example:
+	// organizations/123/sources/-
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Expression that defines the filter to apply across findings.
+	// The expression is a list of one or more restrictions combined via logical
+	// operators `AND` and `OR`.
+	// Parentheses are not supported, and `OR` has higher precedence than `AND`.
+	//
+	// Restrictions have the form `<field> <operator> <value>` and may have a `-`
+	// character in front of them to indicate negation. Examples include:
+	//
+	//  * name
+	//  * source_properties.a_property
+	//  * security_marks.marks.marka
+	//
+	// The supported operators are:
+	//
+	// * `=` for all value types.
+	// * `>`, `<`, `>=`, `<=` for integer values.
+	// * `:`, meaning substring matching, for strings.
+	//
+	// The supported value types are:
+	//
+	// * string literals in quotes.
+	// * integer literals without quotes.
+	// * boolean literals `true` and `false` without quotes.
+	//
+	// For example, `source_properties.size = 100` is a valid filter string.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Expression that defines what assets fields to use for grouping (including
+	// `state`). The string value should follow SQL syntax: comma separated list
+	// of fields. For example:
+	// "parent,resource_name".
+	//
+	// The following fields are supported:
+	//
+	// * resource_name
+	// * category
+	// * state
+	// * parent
+	GroupBy string `protobuf:"bytes,3,opt,name=group_by,json=groupBy,proto3" json:"group_by,omitempty"`
+	// Time used as a reference point when filtering findings. The filter is
+	// limited to findings existing at the supplied time and their values are
+	// those at that specific time. Absence of this field will default to the
+	// API's version of NOW.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// The value returned by the last `GroupFindingsResponse`; indicates
+	// that this is a continuation of a prior `GroupFindings` call, and
+	// that the system should return the next page of data.
+	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of results to return in a single response. Default is
+	// 10, minimum is 1, maximum is 1000.
+	PageSize             int32    `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GroupFindingsRequest) Reset()         { *m = GroupFindingsRequest{} }
+func (m *GroupFindingsRequest) String() string { return proto.CompactTextString(m) }
+func (*GroupFindingsRequest) ProtoMessage()    {}
+func (*GroupFindingsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{6}
+}
+
+func (m *GroupFindingsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GroupFindingsRequest.Unmarshal(m, b)
+}
+func (m *GroupFindingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GroupFindingsRequest.Marshal(b, m, deterministic)
+}
+func (m *GroupFindingsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GroupFindingsRequest.Merge(m, src)
+}
+func (m *GroupFindingsRequest) XXX_Size() int {
+	return xxx_messageInfo_GroupFindingsRequest.Size(m)
+}
+func (m *GroupFindingsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GroupFindingsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupFindingsRequest proto.InternalMessageInfo
+
+func (m *GroupFindingsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *GroupFindingsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *GroupFindingsRequest) GetGroupBy() string {
+	if m != nil {
+		return m.GroupBy
+	}
+	return ""
+}
+
+func (m *GroupFindingsRequest) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *GroupFindingsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *GroupFindingsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response message for group by findings.
+type GroupFindingsResponse struct {
+	// Group results. There exists an element for each existing unique
+	// combination of property/values. The element contains a count for the number
+	// of times those specific property/values appear.
+	GroupByResults []*GroupResult `protobuf:"bytes,1,rep,name=group_by_results,json=groupByResults,proto3" json:"group_by_results,omitempty"`
+	// Time used for executing the groupBy request.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results.
+	NextPageToken        string   `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GroupFindingsResponse) Reset()         { *m = GroupFindingsResponse{} }
+func (m *GroupFindingsResponse) String() string { return proto.CompactTextString(m) }
+func (*GroupFindingsResponse) ProtoMessage()    {}
+func (*GroupFindingsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{7}
+}
+
+func (m *GroupFindingsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GroupFindingsResponse.Unmarshal(m, b)
+}
+func (m *GroupFindingsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GroupFindingsResponse.Marshal(b, m, deterministic)
+}
+func (m *GroupFindingsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GroupFindingsResponse.Merge(m, src)
+}
+func (m *GroupFindingsResponse) XXX_Size() int {
+	return xxx_messageInfo_GroupFindingsResponse.Size(m)
+}
+func (m *GroupFindingsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_GroupFindingsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupFindingsResponse proto.InternalMessageInfo
+
+func (m *GroupFindingsResponse) GetGroupByResults() []*GroupResult {
+	if m != nil {
+		return m.GroupByResults
+	}
+	return nil
+}
+
+func (m *GroupFindingsResponse) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *GroupFindingsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Result containing the properties and count of a groupBy request.
+type GroupResult struct {
+	// Properties matching the groupBy fields in the request.
+	Properties map[string]*_struct.Value `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Total count of resources for the given properties.
+	Count                int64    `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GroupResult) Reset()         { *m = GroupResult{} }
+func (m *GroupResult) String() string { return proto.CompactTextString(m) }
+func (*GroupResult) ProtoMessage()    {}
+func (*GroupResult) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{8}
+}
+
+func (m *GroupResult) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GroupResult.Unmarshal(m, b)
+}
+func (m *GroupResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GroupResult.Marshal(b, m, deterministic)
+}
+func (m *GroupResult) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GroupResult.Merge(m, src)
+}
+func (m *GroupResult) XXX_Size() int {
+	return xxx_messageInfo_GroupResult.Size(m)
+}
+func (m *GroupResult) XXX_DiscardUnknown() {
+	xxx_messageInfo_GroupResult.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GroupResult proto.InternalMessageInfo
+
+func (m *GroupResult) GetProperties() map[string]*_struct.Value {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *GroupResult) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+// Request message for listing sources.
+type ListSourcesRequest struct {
+	// Resource name of the parent of sources to list. Its format should be
+	// "organizations/[organization_id]".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// The value returned by the last `ListSourcesResponse`; indicates
+	// that this is a continuation of a prior `ListSources` call, and
+	// that the system should return the next page of data.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of results to return in a single response. Default is
+	// 10, minimum is 1, maximum is 1000.
+	PageSize             int32    `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListSourcesRequest) Reset()         { *m = ListSourcesRequest{} }
+func (m *ListSourcesRequest) String() string { return proto.CompactTextString(m) }
+func (*ListSourcesRequest) ProtoMessage()    {}
+func (*ListSourcesRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{9}
+}
+
+func (m *ListSourcesRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListSourcesRequest.Unmarshal(m, b)
+}
+func (m *ListSourcesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListSourcesRequest.Marshal(b, m, deterministic)
+}
+func (m *ListSourcesRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListSourcesRequest.Merge(m, src)
+}
+func (m *ListSourcesRequest) XXX_Size() int {
+	return xxx_messageInfo_ListSourcesRequest.Size(m)
+}
+func (m *ListSourcesRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListSourcesRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListSourcesRequest proto.InternalMessageInfo
+
+func (m *ListSourcesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListSourcesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListSourcesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response message for listing sources.
+type ListSourcesResponse struct {
+	// Sources belonging to the requested parent.
+	Sources []*Source `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListSourcesResponse) Reset()         { *m = ListSourcesResponse{} }
+func (m *ListSourcesResponse) String() string { return proto.CompactTextString(m) }
+func (*ListSourcesResponse) ProtoMessage()    {}
+func (*ListSourcesResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{10}
+}
+
+func (m *ListSourcesResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListSourcesResponse.Unmarshal(m, b)
+}
+func (m *ListSourcesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListSourcesResponse.Marshal(b, m, deterministic)
+}
+func (m *ListSourcesResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListSourcesResponse.Merge(m, src)
+}
+func (m *ListSourcesResponse) XXX_Size() int {
+	return xxx_messageInfo_ListSourcesResponse.Size(m)
+}
+func (m *ListSourcesResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListSourcesResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListSourcesResponse proto.InternalMessageInfo
+
+func (m *ListSourcesResponse) GetSources() []*Source {
+	if m != nil {
+		return m.Sources
+	}
+	return nil
+}
+
+func (m *ListSourcesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Request message for listing assets.
+type ListAssetsRequest struct {
+	// Name of the organization assets should belong to. Its format is
+	// "organizations/[organization_id]".
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Expression that defines the filter to apply across assets.
+	// The expression is a list of zero or more restrictions combined via logical
+	// operators `AND` and `OR`.
+	// Parentheses are not supported, and `OR` has higher precedence than `AND`.
+	//
+	// Restrictions have the form `<field> <operator> <value>` and may have a `-`
+	// character in front of them to indicate negation. The fields map to those
+	// defined in the Asset resource. Examples include:
+	//
+	// * name
+	// * security_center_properties.resource_name
+	// * resource_properties.a_property
+	// * security_marks.marks.marka
+	//
+	// The supported operators are:
+	//
+	// * `=` for all value types.
+	// * `>`, `<`, `>=`, `<=` for integer values.
+	// * `:`, meaning substring matching, for strings.
+	//
+	// The supported value types are:
+	//
+	// * string literals in quotes.
+	// * integer literals without quotes.
+	// * boolean literals `true` and `false` without quotes.
+	//
+	// For example, `resource_properties.size = 100` is a valid filter string.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Expression that defines what fields and order to use for sorting. The
+	// string value should follow SQL syntax: comma separated list of fields. For
+	// example: "name,resource_properties.a_property". The default sorting order
+	// is ascending. To specify descending order for a field, a suffix " desc"
+	// should be appended to the field name. For example: "name
+	// desc,resource_properties.a_property". Redundant space characters in the
+	// syntax are insignificant. "name desc,resource_properties.a_property" and "
+	// name     desc  ,   resource_properties.a_property  " are equivalent.
+	OrderBy string `protobuf:"bytes,3,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	// Time used as a reference point when filtering assets. The filter is limited
+	// to assets existing at the supplied time and their values are those at that
+	// specific time. Absence of this field will default to the API's version of
+	// NOW.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// When compare_duration is set, the ListAssetResult's "state" attribute is
+	// updated to indicate whether the asset was added, removed, or remained
+	// present during the compare_duration period of time that precedes the
+	// read_time. This is the time between (read_time -
+	// compare_duration) and read_time.
+	//
+	// The state value is derived based on the presence of the asset at the two
+	// points in time. Intermediate state changes between the two times don't
+	// affect the result. For example, the results aren't affected if the asset is
+	// removed and re-created again.
+	//
+	// Possible "state" values when compare_duration is specified:
+	//
+	// * "ADDED": indicates that the asset was not present before
+	//              compare_duration, but present at read_time.
+	// * "REMOVED": indicates that the asset was present at the start of
+	//              compare_duration, but not present at read_time.
+	// * "ACTIVE": indicates that the asset was present at both the
+	//              start and the end of the time period defined by
+	//              compare_duration and read_time.
+	//
+	// If compare_duration is not specified, then the only possible state is
+	// "UNUSED", which indicates that the asset is present at read_time.
+	CompareDuration *duration.Duration `protobuf:"bytes,5,opt,name=compare_duration,json=compareDuration,proto3" json:"compare_duration,omitempty"`
+	// Optional.
+	//
+	// A field mask to specify the ListAssetsResult fields to be listed in the
+	// response.
+	// An empty field mask will list all fields.
+	FieldMask *field_mask.FieldMask `protobuf:"bytes,7,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"`
+	// The value returned by the last `ListAssetsResponse`; indicates
+	// that this is a continuation of a prior `ListAssets` call, and
+	// that the system should return the next page of data.
+	PageToken string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of results to return in a single response. Default is
+	// 10, minimum is 1, maximum is 1000.
+	PageSize             int32    `protobuf:"varint,9,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListAssetsRequest) Reset()         { *m = ListAssetsRequest{} }
+func (m *ListAssetsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListAssetsRequest) ProtoMessage()    {}
+func (*ListAssetsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{11}
+}
+
+func (m *ListAssetsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListAssetsRequest.Unmarshal(m, b)
+}
+func (m *ListAssetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListAssetsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListAssetsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListAssetsRequest.Merge(m, src)
+}
+func (m *ListAssetsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListAssetsRequest.Size(m)
+}
+func (m *ListAssetsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListAssetsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListAssetsRequest proto.InternalMessageInfo
+
+func (m *ListAssetsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListAssetsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListAssetsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListAssetsRequest) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *ListAssetsRequest) GetCompareDuration() *duration.Duration {
+	if m != nil {
+		return m.CompareDuration
+	}
+	return nil
+}
+
+func (m *ListAssetsRequest) GetFieldMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.FieldMask
+	}
+	return nil
+}
+
+func (m *ListAssetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListAssetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response message for listing assets.
+type ListAssetsResponse struct {
+	// Assets matching the list request.
+	ListAssetsResults []*ListAssetsResponse_ListAssetsResult `protobuf:"bytes,1,rep,name=list_assets_results,json=listAssetsResults,proto3" json:"list_assets_results,omitempty"`
+	// Time used for executing the list request.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results.
+	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// The total number of assets matching the query.
+	TotalSize            int32    `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListAssetsResponse) Reset()         { *m = ListAssetsResponse{} }
+func (m *ListAssetsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListAssetsResponse) ProtoMessage()    {}
+func (*ListAssetsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{12}
+}
+
+func (m *ListAssetsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListAssetsResponse.Unmarshal(m, b)
+}
+func (m *ListAssetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListAssetsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListAssetsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListAssetsResponse.Merge(m, src)
+}
+func (m *ListAssetsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListAssetsResponse.Size(m)
+}
+func (m *ListAssetsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListAssetsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListAssetsResponse proto.InternalMessageInfo
+
+func (m *ListAssetsResponse) GetListAssetsResults() []*ListAssetsResponse_ListAssetsResult {
+	if m != nil {
+		return m.ListAssetsResults
+	}
+	return nil
+}
+
+func (m *ListAssetsResponse) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *ListAssetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListAssetsResponse) GetTotalSize() int32 {
+	if m != nil {
+		return m.TotalSize
+	}
+	return 0
+}
+
+// Result containing the Asset and its State.
+type ListAssetsResponse_ListAssetsResult struct {
+	// Asset matching the search request.
+	Asset *Asset `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"`
+	// State of the asset.
+	State                ListAssetsResponse_ListAssetsResult_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.securitycenter.v1beta1.ListAssetsResponse_ListAssetsResult_State" json:"state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
+	XXX_unrecognized     []byte                                    `json:"-"`
+	XXX_sizecache        int32                                     `json:"-"`
+}
+
+func (m *ListAssetsResponse_ListAssetsResult) Reset()         { *m = ListAssetsResponse_ListAssetsResult{} }
+func (m *ListAssetsResponse_ListAssetsResult) String() string { return proto.CompactTextString(m) }
+func (*ListAssetsResponse_ListAssetsResult) ProtoMessage()    {}
+func (*ListAssetsResponse_ListAssetsResult) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{12, 0}
+}
+
+func (m *ListAssetsResponse_ListAssetsResult) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListAssetsResponse_ListAssetsResult.Unmarshal(m, b)
+}
+func (m *ListAssetsResponse_ListAssetsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListAssetsResponse_ListAssetsResult.Marshal(b, m, deterministic)
+}
+func (m *ListAssetsResponse_ListAssetsResult) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListAssetsResponse_ListAssetsResult.Merge(m, src)
+}
+func (m *ListAssetsResponse_ListAssetsResult) XXX_Size() int {
+	return xxx_messageInfo_ListAssetsResponse_ListAssetsResult.Size(m)
+}
+func (m *ListAssetsResponse_ListAssetsResult) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListAssetsResponse_ListAssetsResult.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListAssetsResponse_ListAssetsResult proto.InternalMessageInfo
+
+func (m *ListAssetsResponse_ListAssetsResult) GetAsset() *Asset {
+	if m != nil {
+		return m.Asset
+	}
+	return nil
+}
+
+func (m *ListAssetsResponse_ListAssetsResult) GetState() ListAssetsResponse_ListAssetsResult_State {
+	if m != nil {
+		return m.State
+	}
+	return ListAssetsResponse_ListAssetsResult_STATE_UNSPECIFIED
+}
+
+// Request message for listing findings.
+type ListFindingsRequest struct {
+	// Name of the source the findings belong to. Its format is
+	// "organizations/[organization_id]/sources/[source_id]". To list across all
+	// sources provide a source_id of `-`. For example:
+	// organizations/123/sources/-
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Expression that defines the filter to apply across findings.
+	// The expression is a list of one or more restrictions combined via logical
+	// operators `AND` and `OR`.
+	// Parentheses are not supported, and `OR` has higher precedence than `AND`.
+	//
+	// Restrictions have the form `<field> <operator> <value>` and may have a `-`
+	// character in front of them to indicate negation. Examples include:
+	//
+	//  * name
+	//  * source_properties.a_property
+	//  * security_marks.marks.marka
+	//
+	// The supported operators are:
+	//
+	// * `=` for all value types.
+	// * `>`, `<`, `>=`, `<=` for integer values.
+	// * `:`, meaning substring matching, for strings.
+	//
+	// The supported value types are:
+	//
+	// * string literals in quotes.
+	// * integer literals without quotes.
+	// * boolean literals `true` and `false` without quotes.
+	//
+	// For example, `source_properties.size = 100` is a valid filter string.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Expression that defines what fields and order to use for sorting. The
+	// string value should follow SQL syntax: comma separated list of fields. For
+	// example: "name,resource_properties.a_property". The default sorting order
+	// is ascending. To specify descending order for a field, a suffix " desc"
+	// should be appended to the field name. For example: "name
+	// desc,source_properties.a_property". Redundant space characters in the
+	// syntax are insignificant. "name desc,source_properties.a_property" and "
+	// name     desc  ,   source_properties.a_property  " are equivalent.
+	OrderBy string `protobuf:"bytes,3,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	// Time used as a reference point when filtering findings. The filter is
+	// limited to findings existing at the supplied time and their values are
+	// those at that specific time. Absence of this field will default to the
+	// API's version of NOW.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// Optional.
+	//
+	// A field mask to specify the Finding fields to be listed in the response.
+	// An empty field mask will list all fields.
+	FieldMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"`
+	// The value returned by the last `ListFindingsResponse`; indicates
+	// that this is a continuation of a prior `ListFindings` call, and
+	// that the system should return the next page of data.
+	PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// The maximum number of results to return in a single response. Default is
+	// 10, minimum is 1, maximum is 1000.
+	PageSize             int32    `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListFindingsRequest) Reset()         { *m = ListFindingsRequest{} }
+func (m *ListFindingsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListFindingsRequest) ProtoMessage()    {}
+func (*ListFindingsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{13}
+}
+
+func (m *ListFindingsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingsRequest.Unmarshal(m, b)
+}
+func (m *ListFindingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListFindingsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingsRequest.Merge(m, src)
+}
+func (m *ListFindingsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListFindingsRequest.Size(m)
+}
+func (m *ListFindingsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingsRequest proto.InternalMessageInfo
+
+func (m *ListFindingsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *ListFindingsRequest) GetFieldMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.FieldMask
+	}
+	return nil
+}
+
+func (m *ListFindingsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListFindingsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+// Response message for listing findings.
+type ListFindingsResponse struct {
+	// Findings matching the list request.
+	Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
+	// Time used for executing the list request.
+	ReadTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
+	// Token to retrieve the next page of results, or empty if there are no more
+	// results.
+	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// The total number of findings matching the query.
+	TotalSize            int32    `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListFindingsResponse) Reset()         { *m = ListFindingsResponse{} }
+func (m *ListFindingsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListFindingsResponse) ProtoMessage()    {}
+func (*ListFindingsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{14}
+}
+
+func (m *ListFindingsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListFindingsResponse.Unmarshal(m, b)
+}
+func (m *ListFindingsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListFindingsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListFindingsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListFindingsResponse.Merge(m, src)
+}
+func (m *ListFindingsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListFindingsResponse.Size(m)
+}
+func (m *ListFindingsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListFindingsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListFindingsResponse proto.InternalMessageInfo
+
+func (m *ListFindingsResponse) GetFindings() []*Finding {
+	if m != nil {
+		return m.Findings
+	}
+	return nil
+}
+
+func (m *ListFindingsResponse) GetReadTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.ReadTime
+	}
+	return nil
+}
+
+func (m *ListFindingsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListFindingsResponse) GetTotalSize() int32 {
+	if m != nil {
+		return m.TotalSize
+	}
+	return 0
+}
+
+// Request message for updating a finding's state.
+type SetFindingStateRequest struct {
+	// The relative resource name of the finding. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Example:
+	// "organizations/123/sources/456/finding/789".
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The desired State of the finding.
+	State Finding_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.securitycenter.v1beta1.Finding_State" json:"state,omitempty"`
+	// The time at which the updated state takes effect.
+	StartTime            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *SetFindingStateRequest) Reset()         { *m = SetFindingStateRequest{} }
+func (m *SetFindingStateRequest) String() string { return proto.CompactTextString(m) }
+func (*SetFindingStateRequest) ProtoMessage()    {}
+func (*SetFindingStateRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{15}
+}
+
+func (m *SetFindingStateRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetFindingStateRequest.Unmarshal(m, b)
+}
+func (m *SetFindingStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetFindingStateRequest.Marshal(b, m, deterministic)
+}
+func (m *SetFindingStateRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetFindingStateRequest.Merge(m, src)
+}
+func (m *SetFindingStateRequest) XXX_Size() int {
+	return xxx_messageInfo_SetFindingStateRequest.Size(m)
+}
+func (m *SetFindingStateRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetFindingStateRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SetFindingStateRequest proto.InternalMessageInfo
+
+func (m *SetFindingStateRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SetFindingStateRequest) GetState() Finding_State {
+	if m != nil {
+		return m.State
+	}
+	return Finding_STATE_UNSPECIFIED
+}
+
+func (m *SetFindingStateRequest) GetStartTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+// Request message for running asset discovery for an organization.
+type RunAssetDiscoveryRequest struct {
+	// Name of the organization to run asset discovery for. Its format is
+	// "organizations/[organization_id]".
+	Parent               string   `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RunAssetDiscoveryRequest) Reset()         { *m = RunAssetDiscoveryRequest{} }
+func (m *RunAssetDiscoveryRequest) String() string { return proto.CompactTextString(m) }
+func (*RunAssetDiscoveryRequest) ProtoMessage()    {}
+func (*RunAssetDiscoveryRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{16}
+}
+
+func (m *RunAssetDiscoveryRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RunAssetDiscoveryRequest.Unmarshal(m, b)
+}
+func (m *RunAssetDiscoveryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RunAssetDiscoveryRequest.Marshal(b, m, deterministic)
+}
+func (m *RunAssetDiscoveryRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RunAssetDiscoveryRequest.Merge(m, src)
+}
+func (m *RunAssetDiscoveryRequest) XXX_Size() int {
+	return xxx_messageInfo_RunAssetDiscoveryRequest.Size(m)
+}
+func (m *RunAssetDiscoveryRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_RunAssetDiscoveryRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RunAssetDiscoveryRequest proto.InternalMessageInfo
+
+func (m *RunAssetDiscoveryRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+// Request message for updating or creating a finding.
+type UpdateFindingRequest struct {
+	// The finding resource to update or create if it does not already exist.
+	// parent, security_marks, and update_time will be ignored.
+	//
+	// In the case of creation, the finding id portion of the name must
+	// alphanumeric and less than or equal to 32 characters and greater than 0
+	// characters in length.
+	Finding *Finding `protobuf:"bytes,1,opt,name=finding,proto3" json:"finding,omitempty"`
+	// The FieldMask to use when updating the finding resource. This field is
+	// ignored if the finding does not already exist and the finding is created.
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateFindingRequest) Reset()         { *m = UpdateFindingRequest{} }
+func (m *UpdateFindingRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateFindingRequest) ProtoMessage()    {}
+func (*UpdateFindingRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{17}
+}
+
+func (m *UpdateFindingRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateFindingRequest.Unmarshal(m, b)
+}
+func (m *UpdateFindingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateFindingRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateFindingRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateFindingRequest.Merge(m, src)
+}
+func (m *UpdateFindingRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateFindingRequest.Size(m)
+}
+func (m *UpdateFindingRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateFindingRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateFindingRequest proto.InternalMessageInfo
+
+func (m *UpdateFindingRequest) GetFinding() *Finding {
+	if m != nil {
+		return m.Finding
+	}
+	return nil
+}
+
+func (m *UpdateFindingRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for updating an organization's settings.
+type UpdateOrganizationSettingsRequest struct {
+	// The organization settings resource to update.
+	OrganizationSettings *OrganizationSettings `protobuf:"bytes,1,opt,name=organization_settings,json=organizationSettings,proto3" json:"organization_settings,omitempty"`
+	// The FieldMask to use when updating the settings resource.
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateOrganizationSettingsRequest) Reset()         { *m = UpdateOrganizationSettingsRequest{} }
+func (m *UpdateOrganizationSettingsRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateOrganizationSettingsRequest) ProtoMessage()    {}
+func (*UpdateOrganizationSettingsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{18}
+}
+
+func (m *UpdateOrganizationSettingsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateOrganizationSettingsRequest.Unmarshal(m, b)
+}
+func (m *UpdateOrganizationSettingsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateOrganizationSettingsRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateOrganizationSettingsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateOrganizationSettingsRequest.Merge(m, src)
+}
+func (m *UpdateOrganizationSettingsRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateOrganizationSettingsRequest.Size(m)
+}
+func (m *UpdateOrganizationSettingsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateOrganizationSettingsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateOrganizationSettingsRequest proto.InternalMessageInfo
+
+func (m *UpdateOrganizationSettingsRequest) GetOrganizationSettings() *OrganizationSettings {
+	if m != nil {
+		return m.OrganizationSettings
+	}
+	return nil
+}
+
+func (m *UpdateOrganizationSettingsRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for updating a source.
+type UpdateSourceRequest struct {
+	// The source resource to update.
+	Source *Source `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
+	// The FieldMask to use when updating the source resource.
+	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *UpdateSourceRequest) Reset()         { *m = UpdateSourceRequest{} }
+func (m *UpdateSourceRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateSourceRequest) ProtoMessage()    {}
+func (*UpdateSourceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{19}
+}
+
+func (m *UpdateSourceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateSourceRequest.Unmarshal(m, b)
+}
+func (m *UpdateSourceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateSourceRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateSourceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateSourceRequest.Merge(m, src)
+}
+func (m *UpdateSourceRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateSourceRequest.Size(m)
+}
+func (m *UpdateSourceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateSourceRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateSourceRequest proto.InternalMessageInfo
+
+func (m *UpdateSourceRequest) GetSource() *Source {
+	if m != nil {
+		return m.Source
+	}
+	return nil
+}
+
+func (m *UpdateSourceRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// Request message for updating a SecurityMarks resource.
+type UpdateSecurityMarksRequest struct {
+	// The security marks resource to update.
+	SecurityMarks *SecurityMarks `protobuf:"bytes,1,opt,name=security_marks,json=securityMarks,proto3" json:"security_marks,omitempty"`
+	// The FieldMask to use when updating the security marks resource.
+	UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	// The time at which the updated SecurityMarks take effect.
+	StartTime            *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *UpdateSecurityMarksRequest) Reset()         { *m = UpdateSecurityMarksRequest{} }
+func (m *UpdateSecurityMarksRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateSecurityMarksRequest) ProtoMessage()    {}
+func (*UpdateSecurityMarksRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_718836fd7840efb6, []int{20}
+}
+
+func (m *UpdateSecurityMarksRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateSecurityMarksRequest.Unmarshal(m, b)
+}
+func (m *UpdateSecurityMarksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateSecurityMarksRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateSecurityMarksRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateSecurityMarksRequest.Merge(m, src)
+}
+func (m *UpdateSecurityMarksRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateSecurityMarksRequest.Size(m)
+}
+func (m *UpdateSecurityMarksRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateSecurityMarksRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateSecurityMarksRequest proto.InternalMessageInfo
+
+func (m *UpdateSecurityMarksRequest) GetSecurityMarks() *SecurityMarks {
+	if m != nil {
+		return m.SecurityMarks
+	}
+	return nil
+}
+
+func (m *UpdateSecurityMarksRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+func (m *UpdateSecurityMarksRequest) GetStartTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.securitycenter.v1beta1.ListAssetsResponse_ListAssetsResult_State", ListAssetsResponse_ListAssetsResult_State_name, ListAssetsResponse_ListAssetsResult_State_value)
+	proto.RegisterType((*CreateFindingRequest)(nil), "google.cloud.securitycenter.v1beta1.CreateFindingRequest")
+	proto.RegisterType((*CreateSourceRequest)(nil), "google.cloud.securitycenter.v1beta1.CreateSourceRequest")
+	proto.RegisterType((*GetOrganizationSettingsRequest)(nil), "google.cloud.securitycenter.v1beta1.GetOrganizationSettingsRequest")
+	proto.RegisterType((*GetSourceRequest)(nil), "google.cloud.securitycenter.v1beta1.GetSourceRequest")
+	proto.RegisterType((*GroupAssetsRequest)(nil), "google.cloud.securitycenter.v1beta1.GroupAssetsRequest")
+	proto.RegisterType((*GroupAssetsResponse)(nil), "google.cloud.securitycenter.v1beta1.GroupAssetsResponse")
+	proto.RegisterType((*GroupFindingsRequest)(nil), "google.cloud.securitycenter.v1beta1.GroupFindingsRequest")
+	proto.RegisterType((*GroupFindingsResponse)(nil), "google.cloud.securitycenter.v1beta1.GroupFindingsResponse")
+	proto.RegisterType((*GroupResult)(nil), "google.cloud.securitycenter.v1beta1.GroupResult")
+	proto.RegisterMapType((map[string]*_struct.Value)(nil), "google.cloud.securitycenter.v1beta1.GroupResult.PropertiesEntry")
+	proto.RegisterType((*ListSourcesRequest)(nil), "google.cloud.securitycenter.v1beta1.ListSourcesRequest")
+	proto.RegisterType((*ListSourcesResponse)(nil), "google.cloud.securitycenter.v1beta1.ListSourcesResponse")
+	proto.RegisterType((*ListAssetsRequest)(nil), "google.cloud.securitycenter.v1beta1.ListAssetsRequest")
+	proto.RegisterType((*ListAssetsResponse)(nil), "google.cloud.securitycenter.v1beta1.ListAssetsResponse")
+	proto.RegisterType((*ListAssetsResponse_ListAssetsResult)(nil), "google.cloud.securitycenter.v1beta1.ListAssetsResponse.ListAssetsResult")
+	proto.RegisterType((*ListFindingsRequest)(nil), "google.cloud.securitycenter.v1beta1.ListFindingsRequest")
+	proto.RegisterType((*ListFindingsResponse)(nil), "google.cloud.securitycenter.v1beta1.ListFindingsResponse")
+	proto.RegisterType((*SetFindingStateRequest)(nil), "google.cloud.securitycenter.v1beta1.SetFindingStateRequest")
+	proto.RegisterType((*RunAssetDiscoveryRequest)(nil), "google.cloud.securitycenter.v1beta1.RunAssetDiscoveryRequest")
+	proto.RegisterType((*UpdateFindingRequest)(nil), "google.cloud.securitycenter.v1beta1.UpdateFindingRequest")
+	proto.RegisterType((*UpdateOrganizationSettingsRequest)(nil), "google.cloud.securitycenter.v1beta1.UpdateOrganizationSettingsRequest")
+	proto.RegisterType((*UpdateSourceRequest)(nil), "google.cloud.securitycenter.v1beta1.UpdateSourceRequest")
+	proto.RegisterType((*UpdateSecurityMarksRequest)(nil), "google.cloud.securitycenter.v1beta1.UpdateSecurityMarksRequest")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/securitycenter_service.proto", fileDescriptor_718836fd7840efb6)
+}
+
+var fileDescriptor_718836fd7840efb6 = []byte{
+	// 1900 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0xdb, 0x6f, 0x1b, 0x59,
+	0x19, 0xe7, 0x38, 0x71, 0x12, 0x7f, 0x6e, 0x5a, 0xf7, 0x24, 0x2d, 0xde, 0xd9, 0xee, 0x12, 0x06,
+	0x69, 0x49, 0xbb, 0x2b, 0xbb, 0xf1, 0x5e, 0x9a, 0xba, 0x5b, 0x35, 0x6d, 0xec, 0x5c, 0x80, 0xa4,
+	0x59, 0x3b, 0xa9, 0x44, 0x5f, 0xcc, 0xc4, 0x3e, 0x31, 0xa3, 0xd8, 0x33, 0x66, 0xce, 0x71, 0xb4,
+	0x29, 0x54, 0x42, 0x88, 0xa7, 0x7d, 0x5a, 0x09, 0x21, 0x24, 0xf6, 0x8d, 0x7f, 0x00, 0x10, 0x12,
+	0x3c, 0x80, 0x84, 0x10, 0x12, 0x3c, 0x21, 0xad, 0xa0, 0x82, 0x17, 0x1e, 0x78, 0xe0, 0x9d, 0x7f,
+	0x01, 0x9d, 0x9b, 0x33, 0x33, 0x9e, 0xda, 0x33, 0x71, 0x23, 0x24, 0x9e, 0xe2, 0x73, 0xf9, 0xce,
+	0xf9, 0xfd, 0xbe, 0xcb, 0x39, 0xdf, 0x77, 0x26, 0xb0, 0xd6, 0x76, 0xdd, 0x76, 0x87, 0x14, 0x9b,
+	0x1d, 0xb7, 0xdf, 0x2a, 0x52, 0xd2, 0xec, 0x7b, 0x36, 0x3b, 0x6d, 0x12, 0x87, 0x11, 0xaf, 0x78,
+	0xb2, 0x72, 0x48, 0x98, 0xb5, 0x12, 0xea, 0x6e, 0x50, 0xe2, 0x9d, 0xd8, 0x4d, 0x52, 0xe8, 0x79,
+	0x2e, 0x73, 0xf1, 0x57, 0xe4, 0x0a, 0x05, 0xb1, 0x42, 0x21, 0x38, 0xb5, 0xa0, 0x56, 0x30, 0x6e,
+	0xa8, 0x6d, 0xac, 0x9e, 0x5d, 0xb4, 0x1c, 0xc7, 0x65, 0x16, 0xb3, 0x5d, 0x87, 0xca, 0x25, 0x8c,
+	0x62, 0x1c, 0x10, 0x16, 0xa5, 0x84, 0x29, 0x81, 0x95, 0x38, 0x02, 0x47, 0xb6, 0xd3, 0xb2, 0x9d,
+	0xb6, 0x12, 0x79, 0x10, 0x47, 0xc4, 0xf5, 0xda, 0x96, 0x63, 0x3f, 0x13, 0xe0, 0x1a, 0x94, 0x30,
+	0x66, 0x3b, 0x6d, 0x0d, 0x72, 0x35, 0x89, 0xa6, 0x1a, 0x5d, 0xcb, 0x3b, 0xd6, 0x92, 0xb7, 0x63,
+	0x49, 0xba, 0x7d, 0x4f, 0xeb, 0xd4, 0x78, 0x53, 0x49, 0xd8, 0x56, 0xb7, 0x78, 0xb2, 0xc2, 0xff,
+	0x34, 0x7a, 0x6e, 0xc7, 0x6e, 0x9e, 0xaa, 0x71, 0x23, 0x38, 0x1e, 0x18, 0x53, 0xf6, 0x28, 0x76,
+	0x5c, 0xa7, 0xed, 0xf5, 0x1d, 0xc7, 0x76, 0xda, 0x45, 0xb7, 0x47, 0xbc, 0x80, 0xc6, 0xf5, 0x06,
+	0xa2, 0x75, 0xd8, 0x3f, 0x2a, 0xb6, 0xfa, 0x72, 0x82, 0x1a, 0x7f, 0x3d, 0x3c, 0x4e, 0xba, 0x3d,
+	0xa6, 0x77, 0x58, 0x0a, 0x0f, 0x1e, 0xd9, 0xa4, 0xd3, 0x6a, 0x74, 0x2d, 0x7a, 0xac, 0x66, 0xdc,
+	0x08, 0xcf, 0xa0, 0xcc, 0xeb, 0x37, 0xb5, 0xf5, 0xbe, 0x14, 0x1e, 0x65, 0x76, 0x97, 0x50, 0x66,
+	0x75, 0x7b, 0x72, 0x82, 0xf9, 0x63, 0x04, 0x8b, 0xeb, 0x1e, 0xb1, 0x18, 0xd9, 0x90, 0x36, 0xac,
+	0x91, 0xef, 0xf4, 0x09, 0x65, 0xf8, 0x3a, 0xcc, 0xf4, 0x2c, 0x8f, 0x38, 0x2c, 0x8f, 0x96, 0xd0,
+	0x72, 0xa6, 0xa6, 0x5a, 0xf8, 0x0d, 0x00, 0x65, 0xed, 0x86, 0xdd, 0xca, 0xa7, 0xc4, 0x58, 0x46,
+	0xf5, 0x6c, 0xb7, 0xf0, 0x06, 0xcc, 0xaa, 0x46, 0x7e, 0x6a, 0x09, 0x2d, 0x67, 0x4b, 0xef, 0x14,
+	0x62, 0x38, 0x6d, 0x41, 0x6f, 0xae, 0x85, 0x4d, 0x0f, 0x16, 0x24, 0xac, 0xba, 0x30, 0xd6, 0x38,
+	0x54, 0xeb, 0x30, 0x23, 0xad, 0x2a, 0x10, 0x65, 0x4b, 0x6f, 0xc7, 0xda, 0x55, 0xad, 0xad, 0x44,
+	0xcd, 0xf7, 0xe0, 0xcd, 0x4d, 0xc2, 0x1e, 0xfb, 0x1c, 0xb3, 0xae, 0xfc, 0x52, 0x6f, 0x8f, 0x61,
+	0xda, 0xb1, 0xba, 0x44, 0x6d, 0x2e, 0x7e, 0x9b, 0x6f, 0x41, 0x6e, 0x93, 0xb0, 0x20, 0xcc, 0xa8,
+	0x79, 0x3f, 0x4d, 0x01, 0xde, 0xf4, 0xdc, 0x7e, 0xef, 0x21, 0x8f, 0x2e, 0x3a, 0x8e, 0xd1, 0x75,
+	0x98, 0x39, 0xb2, 0x3b, 0x8c, 0x78, 0x4a, 0xc7, 0xaa, 0x85, 0x5f, 0x83, 0xb9, 0x36, 0x5f, 0xa5,
+	0x71, 0x78, 0x2a, 0x34, 0x9c, 0xa9, 0xcd, 0x8a, 0xf6, 0xa3, 0x53, 0x5c, 0x81, 0x5c, 0xd3, 0xed,
+	0x72, 0xf9, 0x86, 0xf6, 0xb1, 0xfc, 0xb4, 0x50, 0xc7, 0x6b, 0x5a, 0x1d, 0xda, 0x0f, 0x0a, 0x15,
+	0x35, 0xa1, 0x76, 0x45, 0x89, 0xe8, 0x0e, 0x7c, 0x07, 0x32, 0x1e, 0xb1, 0x5a, 0x0d, 0xee, 0x29,
+	0xf9, 0xb4, 0x10, 0x37, 0x86, 0xc4, 0xf7, 0xb5, 0x1b, 0xd5, 0xe6, 0xf8, 0x64, 0xde, 0xe4, 0x9e,
+	0xd1, 0xb3, 0xda, 0xa4, 0xc1, 0xdc, 0x63, 0xe2, 0xe4, 0x67, 0xa5, 0x67, 0xf0, 0x9e, 0x7d, 0xde,
+	0x81, 0x5f, 0x07, 0xd1, 0x68, 0x50, 0xfb, 0x19, 0xc9, 0xcf, 0x2d, 0xa1, 0xe5, 0x74, 0x6d, 0x8e,
+	0x77, 0xd4, 0xed, 0x67, 0xc4, 0xfc, 0x2b, 0x82, 0x85, 0x80, 0x72, 0x68, 0xcf, 0x75, 0x28, 0xc1,
+	0x4f, 0x21, 0xa7, 0xd9, 0x36, 0x3c, 0x42, 0xfb, 0x1d, 0x46, 0xf3, 0x68, 0x69, 0x6a, 0x39, 0x5b,
+	0xba, 0x1d, 0xcb, 0xc2, 0x62, 0xcd, 0x9a, 0x10, 0xac, 0x5d, 0x56, 0x7a, 0x92, 0x4d, 0x1a, 0x24,
+	0x9a, 0x4a, 0x40, 0xf4, 0x2d, 0xb8, 0xe2, 0x90, 0x8f, 0x59, 0xc3, 0xc7, 0x56, 0x5a, 0x62, 0x9e,
+	0x77, 0xef, 0x69, 0xc6, 0xe6, 0xdf, 0x11, 0x2c, 0x0a, 0x00, 0xca, 0xbb, 0x2f, 0xc2, 0xe6, 0x01,
+	0x12, 0xd3, 0xe7, 0xb6, 0x56, 0x7a, 0xa4, 0xb5, 0x66, 0x42, 0xd6, 0x7a, 0x81, 0xe0, 0x5a, 0x88,
+	0xd8, 0xff, 0x83, 0xbd, 0xfe, 0x89, 0x20, 0xeb, 0x03, 0x80, 0xbf, 0x05, 0xd0, 0xf3, 0xf8, 0x79,
+	0xce, 0x6c, 0xa2, 0x69, 0xac, 0x25, 0xa5, 0x51, 0xd8, 0x1b, 0x2c, 0x51, 0x75, 0x98, 0x77, 0x5a,
+	0xf3, 0xad, 0x89, 0x17, 0x21, 0xdd, 0x74, 0xfb, 0x0e, 0x13, 0x74, 0xa6, 0x6a, 0xb2, 0x61, 0x1c,
+	0xc0, 0x95, 0x90, 0x10, 0xce, 0xc1, 0xd4, 0x31, 0x39, 0x55, 0xee, 0xc2, 0x7f, 0xe2, 0x77, 0x20,
+	0x7d, 0x62, 0x75, 0xfa, 0x5a, 0x13, 0xd7, 0x87, 0x34, 0xf1, 0x84, 0x8f, 0xd6, 0xe4, 0xa4, 0x72,
+	0x6a, 0x15, 0x99, 0xdf, 0x06, 0xfc, 0x0d, 0x9b, 0xaa, 0x93, 0x8a, 0xc6, 0x38, 0xe7, 0x7d, 0xfa,
+	0x4a, 0x8d, 0xf4, 0x8f, 0xd9, 0x90, 0x7f, 0xfc, 0x10, 0xc1, 0x42, 0x60, 0x2b, 0xe5, 0x1d, 0x55,
+	0x98, 0x95, 0x47, 0xad, 0xd6, 0x66, 0xa2, 0x63, 0x5a, 0xcb, 0x46, 0xd9, 0x33, 0x15, 0x65, 0xcf,
+	0x17, 0x29, 0xb8, 0xca, 0x61, 0x4c, 0x7c, 0xe0, 0xba, 0x5e, 0x8b, 0x78, 0xbe, 0xe0, 0x13, 0xed,
+	0x49, 0x82, 0x2f, 0xea, 0xa4, 0x4e, 0x27, 0x3e, 0xa9, 0xef, 0xf2, 0xab, 0x58, 0xa7, 0x03, 0xc2,
+	0x08, 0x51, 0xfb, 0x6f, 0xf0, 0x29, 0x3b, 0x16, 0x3d, 0xe6, 0xd7, 0xb4, 0xfa, 0x19, 0xb2, 0xee,
+	0xdc, 0x48, 0xeb, 0x66, 0x42, 0xd6, 0xfd, 0x6c, 0x5a, 0x3a, 0x52, 0xe8, 0xa8, 0xfe, 0x18, 0x16,
+	0x3a, 0x36, 0x65, 0x0d, 0x91, 0x3c, 0xd2, 0x50, 0xf4, 0x6f, 0xc5, 0x32, 0xf4, 0xf0, 0xaa, 0xc1,
+	0x2e, 0x7e, 0x2a, 0x5c, 0xed, 0x84, 0x7a, 0x2e, 0xfe, 0x60, 0xe0, 0xda, 0x62, 0x2e, 0xb3, 0x3a,
+	0x52, 0x1f, 0xd3, 0x42, 0x1f, 0x19, 0xd1, 0xc3, 0x15, 0x62, 0x7c, 0x92, 0x82, 0x5c, 0x18, 0x27,
+	0x5e, 0x83, 0xb4, 0xd0, 0x84, 0xf0, 0xb2, 0x6c, 0xe9, 0x56, 0x2c, 0x05, 0x88, 0x15, 0x6a, 0x52,
+	0x10, 0xb7, 0x20, 0x4d, 0x99, 0xc5, 0x24, 0xa5, 0xcb, 0xa5, 0xdd, 0x57, 0xa5, 0xc2, 0x42, 0x9d,
+	0xaf, 0x5a, 0x93, 0x8b, 0x9b, 0xbb, 0x90, 0x16, 0x6d, 0x7c, 0x0d, 0xae, 0xd6, 0xf7, 0x1f, 0xee,
+	0x57, 0x1b, 0x07, 0xbb, 0xf5, 0xbd, 0xea, 0xfa, 0xf6, 0xc6, 0x76, 0xb5, 0x92, 0xfb, 0x02, 0x06,
+	0x98, 0x39, 0xd8, 0x3d, 0xa8, 0x57, 0x2b, 0x39, 0x84, 0x33, 0x90, 0x7e, 0x58, 0xa9, 0x54, 0x2b,
+	0xb9, 0x14, 0xce, 0xc2, 0x6c, 0xad, 0xba, 0xf3, 0xf8, 0x49, 0xb5, 0x92, 0x9b, 0xe2, 0x73, 0x1e,
+	0xae, 0xef, 0x6f, 0x3f, 0xa9, 0xe6, 0xa6, 0xcd, 0x4f, 0x53, 0x32, 0xf6, 0x5f, 0xc1, 0x9d, 0xf7,
+	0xca, 0xc3, 0x2e, 0x18, 0x30, 0xe9, 0xf3, 0x07, 0xcc, 0x4c, 0xa2, 0xe3, 0xf0, 0x5f, 0x08, 0x16,
+	0x83, 0x2a, 0x51, 0x21, 0xb3, 0x05, 0x73, 0x2a, 0xdf, 0xd5, 0x71, 0x92, 0x2c, 0x5b, 0x1e, 0x48,
+	0xff, 0xaf, 0x43, 0xc0, 0xfc, 0x25, 0x82, 0xeb, 0x75, 0xa2, 0x19, 0x4a, 0x07, 0x7b, 0x79, 0x2e,
+	0x8c, 0xb7, 0x82, 0xae, 0x5d, 0x4a, 0xc2, 0x3a, 0xe0, 0xbe, 0xdc, 0xa4, 0x94, 0x59, 0x1e, 0x93,
+	0xcc, 0xa7, 0xc6, 0x32, 0xcf, 0x88, 0xd9, 0xbc, 0x6d, 0x96, 0x20, 0x5f, 0xeb, 0x3b, 0x22, 0x32,
+	0x2a, 0x36, 0x6d, 0xba, 0x27, 0xc4, 0x3b, 0x1d, 0xe3, 0xad, 0xe6, 0x67, 0x08, 0x16, 0x0f, 0x7a,
+	0xad, 0xe1, 0x72, 0xc9, 0x57, 0xf7, 0xa0, 0x09, 0xea, 0x1e, 0x7c, 0x0f, 0xb2, 0x7d, 0xb1, 0xbe,
+	0xf4, 0xd1, 0xd4, 0x58, 0x1f, 0x05, 0x39, 0x9d, 0xff, 0x36, 0x3f, 0x47, 0xf0, 0x65, 0x89, 0x6e,
+	0x54, 0x11, 0xe3, 0xc0, 0xb5, 0xc8, 0xe2, 0x5b, 0x01, 0xbf, 0x1b, 0x0b, 0x78, 0xe4, 0x06, 0x8b,
+	0x6e, 0x44, 0xef, 0x64, 0x94, 0x7e, 0x82, 0x60, 0x41, 0x52, 0x0a, 0x56, 0x58, 0x67, 0x05, 0x1f,
+	0x3a, 0x77, 0xc1, 0x37, 0x19, 0xb2, 0xff, 0x20, 0x30, 0x14, 0x32, 0xb5, 0xd9, 0x8e, 0xe5, 0x1d,
+	0x0f, 0xb4, 0xfc, 0x4d, 0xb8, 0x1c, 0x7c, 0xa1, 0x50, 0x40, 0xe3, 0xf9, 0x7a, 0x70, 0xc9, 0x79,
+	0xea, 0x6f, 0x4e, 0x04, 0x7b, 0x82, 0x80, 0x29, 0x7d, 0xff, 0x06, 0x5c, 0xd6, 0xc0, 0xd6, 0x05,
+	0x5e, 0xfc, 0x0b, 0x04, 0x97, 0xfc, 0x75, 0x3a, 0x5e, 0x8d, 0x45, 0x2f, 0xa2, 0xb4, 0x37, 0x92,
+	0x58, 0xd0, 0xbc, 0xfb, 0x83, 0xbf, 0xfd, 0xfb, 0x47, 0xa9, 0x77, 0xcd, 0x9b, 0x83, 0x47, 0x9d,
+	0xef, 0xca, 0x08, 0xbd, 0xef, 0x77, 0x41, 0x5a, 0xbc, 0xf5, 0x5c, 0xbd, 0xf6, 0xd0, 0xb2, 0x36,
+	0xfa, 0xef, 0x11, 0xcc, 0x07, 0x5e, 0x3c, 0xf0, 0xdd, 0x04, 0x98, 0x83, 0x61, 0x6f, 0x24, 0x8a,
+	0x72, 0xb3, 0x2a, 0x50, 0x3f, 0x30, 0xdf, 0x1b, 0x87, 0x5a, 0x83, 0xe6, 0xf8, 0xf5, 0x19, 0x5f,
+	0x1e, 0x9c, 0x11, 0x9f, 0x22, 0xb8, 0xb4, 0x49, 0xd8, 0xb6, 0xd5, 0xdd, 0x13, 0xaf, 0x51, 0xd8,
+	0xd4, 0x28, 0x6c, 0xab, 0x5b, 0x38, 0x59, 0x29, 0xf8, 0x07, 0x35, 0xd2, 0x6b, 0xa1, 0x39, 0x72,
+	0x74, 0x00, 0xa9, 0x7c, 0x06, 0xc9, 0x23, 0x72, 0xf7, 0x11, 0xa0, 0xca, 0x6d, 0xdf, 0x0e, 0x65,
+	0x74, 0x0b, 0xff, 0x03, 0xc1, 0x17, 0x5f, 0xf2, 0x76, 0x82, 0xd7, 0xe3, 0x95, 0x4c, 0x23, 0x5f,
+	0x5e, 0x8c, 0xf3, 0x9f, 0x4a, 0xe6, 0x87, 0x82, 0xe2, 0x07, 0xd8, 0xa7, 0x75, 0x7e, 0x09, 0x0d,
+	0xd1, 0x8b, 0x3a, 0xbc, 0x9e, 0xe3, 0x9f, 0x21, 0xc8, 0x0c, 0xde, 0x77, 0xf0, 0xfb, 0x71, 0xb9,
+	0x4c, 0xe0, 0xdb, 0x2b, 0x02, 0xef, 0xdb, 0xf8, 0xe6, 0x18, 0xbc, 0x67, 0xe6, 0xc0, 0xbf, 0xd5,
+	0x95, 0xab, 0xcc, 0xf3, 0xf0, 0x9d, 0xf8, 0x55, 0x6a, 0xa0, 0x38, 0x32, 0x56, 0x93, 0x0b, 0xca,
+	0x5c, 0x66, 0x10, 0x91, 0x85, 0xf1, 0x11, 0x29, 0x2b, 0x84, 0xb2, 0x28, 0xef, 0xb9, 0xf3, 0xfc,
+	0x05, 0xc1, 0x7c, 0xe0, 0x39, 0x21, 0x66, 0x44, 0x46, 0xbd, 0xad, 0x18, 0xe5, 0xf3, 0x88, 0x2a,
+	0x0e, 0x11, 0xc1, 0x90, 0x20, 0x3e, 0x07, 0x7c, 0x7e, 0x8e, 0x00, 0xce, 0x92, 0x6e, 0xfc, 0x41,
+	0xe2, 0xc4, 0x5d, 0x32, 0xb9, 0x73, 0xce, 0x84, 0xdf, 0xbc, 0x2d, 0x68, 0xdc, 0xc2, 0xcb, 0x71,
+	0x4d, 0x81, 0xff, 0x80, 0xe0, 0x92, 0x3f, 0x43, 0x8d, 0x79, 0x8c, 0x47, 0xe4, 0xf9, 0x31, 0x03,
+	0x35, 0x2a, 0x1d, 0x8e, 0x0a, 0xd4, 0xf8, 0xea, 0xc7, 0xbf, 0x42, 0x90, 0xf5, 0x3d, 0x3a, 0xe0,
+	0xf8, 0xea, 0x0b, 0xbe, 0x88, 0x18, 0xab, 0xc9, 0x05, 0x15, 0x81, 0x88, 0xc8, 0x1d, 0x73, 0x2b,
+	0x71, 0xd4, 0x57, 0x87, 0xb2, 0x50, 0x7c, 0x3f, 0x16, 0x84, 0x97, 0x65, 0xaf, 0xc6, 0x1b, 0x5a,
+	0xdc, 0xf7, 0x61, 0xa2, 0xf0, 0x58, 0x7f, 0x98, 0x30, 0xd7, 0x04, 0xcc, 0xb2, 0xf9, 0x7e, 0xec,
+	0x50, 0xf5, 0xfa, 0xce, 0x60, 0x13, 0xee, 0xe1, 0x7f, 0x42, 0x70, 0x25, 0x94, 0xee, 0xe3, 0x7b,
+	0x31, 0x13, 0x9b, 0xa8, 0x22, 0x21, 0xe1, 0x3d, 0xba, 0x25, 0x08, 0x3c, 0x32, 0xef, 0xc7, 0x3d,
+	0x21, 0x07, 0x5e, 0xc2, 0xef, 0x2e, 0x4a, 0x98, 0xd8, 0x9b, 0x13, 0xe1, 0x57, 0x69, 0x7d, 0xd4,
+	0x55, 0x5a, 0xbf, 0xf0, 0xab, 0x94, 0x86, 0xae, 0xd2, 0x5f, 0x23, 0xc0, 0xfb, 0x84, 0x8a, 0x4e,
+	0xe2, 0x75, 0x6d, 0x4a, 0xb9, 0x0c, 0x5e, 0x0e, 0x6d, 0x3a, 0x3c, 0x45, 0xc3, 0xbb, 0x19, 0x63,
+	0xa6, 0x72, 0xd8, 0xaf, 0x0b, 0xc8, 0x55, 0x73, 0x2d, 0x19, 0x64, 0x36, 0xb4, 0x22, 0x07, 0xfe,
+	0x67, 0x04, 0xf3, 0x81, 0xda, 0x28, 0xe6, 0x31, 0x1e, 0x55, 0x4f, 0x25, 0x74, 0x88, 0x1d, 0xc1,
+	0x63, 0xb3, 0xf4, 0xe1, 0x19, 0x0f, 0xfd, 0x49, 0x32, 0x81, 0x63, 0x0c, 0x12, 0xac, 0x4f, 0x52,
+	0x3a, 0xb5, 0x8f, 0x4c, 0x68, 0x36, 0x12, 0xd0, 0xba, 0xa0, 0x9c, 0xc6, 0x16, 0x84, 0x9b, 0xa5,
+	0xaf, 0x9d, 0x11, 0x8e, 0xfe, 0xa0, 0x1a, 0x3f, 0xd3, 0x29, 0x47, 0x57, 0x85, 0xf8, 0x37, 0x08,
+	0x2e, 0xf9, 0x2b, 0xb0, 0x98, 0x77, 0x43, 0x44, 0xd1, 0x96, 0x2c, 0x0d, 0x52, 0xa7, 0x54, 0xe9,
+	0xf6, 0x19, 0x45, 0xf5, 0xe1, 0x76, 0x4c, 0x36, 0x34, 0xc8, 0xf4, 0x3f, 0x4f, 0x0d, 0x6a, 0xc7,
+	0x40, 0xfd, 0xf4, 0x20, 0x09, 0x81, 0x88, 0xda, 0xce, 0x38, 0x47, 0x0d, 0x67, 0xfe, 0x11, 0x09,
+	0x3e, 0xbf, 0x43, 0xa5, 0xaa, 0x8f, 0x50, 0xf0, 0x1b, 0x76, 0x24, 0x31, 0x79, 0x04, 0x73, 0x86,
+	0xfe, 0xf5, 0x9e, 0x97, 0x43, 0xe5, 0xe5, 0xd3, 0x66, 0xe9, 0xa3, 0x64, 0x0b, 0x47, 0x05, 0xc1,
+	0x98, 0x4d, 0x1e, 0x7d, 0x0f, 0xbe, 0xda, 0x74, 0xbb, 0x71, 0xe8, 0x3f, 0xfd, 0x48, 0x4d, 0x6a,
+	0xbb, 0x1d, 0xcb, 0x69, 0x17, 0x5c, 0xaf, 0x5d, 0x6c, 0x13, 0x47, 0x54, 0x98, 0xea, 0x9f, 0x10,
+	0xac, 0x9e, 0x4d, 0x47, 0x7e, 0xa9, 0xbf, 0x17, 0xec, 0x3e, 0x9c, 0x11, 0xd2, 0xef, 0xfe, 0x37,
+	0x00, 0x00, 0xff, 0xff, 0x03, 0x0b, 0x3a, 0xdf, 0x4a, 0x21, 0x00, 0x00,
+}
+
+// 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
+
+// SecurityCenterClient is the client API for SecurityCenter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type SecurityCenterClient interface {
+	// Creates a source.
+	CreateSource(ctx context.Context, in *CreateSourceRequest, opts ...grpc.CallOption) (*Source, error)
+	// Creates a finding. The corresponding source must exist for finding creation
+	// to succeed.
+	CreateFinding(ctx context.Context, in *CreateFindingRequest, opts ...grpc.CallOption) (*Finding, error)
+	// Gets the access control policy on the specified Source.
+	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+	// Gets the settings for an organization.
+	GetOrganizationSettings(ctx context.Context, in *GetOrganizationSettingsRequest, opts ...grpc.CallOption) (*OrganizationSettings, error)
+	// Gets a source.
+	GetSource(ctx context.Context, in *GetSourceRequest, opts ...grpc.CallOption) (*Source, error)
+	// Filters an organization's assets and  groups them by their specified
+	// properties.
+	GroupAssets(ctx context.Context, in *GroupAssetsRequest, opts ...grpc.CallOption) (*GroupAssetsResponse, error)
+	// Filters an organization or source's findings and  groups them by their
+	// specified properties.
+	//
+	// To group across all sources provide a `-` as the source id.
+	// Example: /v1beta1/organizations/123/sources/-/findings
+	GroupFindings(ctx context.Context, in *GroupFindingsRequest, opts ...grpc.CallOption) (*GroupFindingsResponse, error)
+	// Lists an organization's assets.
+	ListAssets(ctx context.Context, in *ListAssetsRequest, opts ...grpc.CallOption) (*ListAssetsResponse, error)
+	// Lists an organization or source's assets.
+	//
+	// To list across all sources provide a `-` as the source id.
+	// Example: /v1beta1/organizations/123/sources/-/findings
+	ListFindings(ctx context.Context, in *ListFindingsRequest, opts ...grpc.CallOption) (*ListFindingsResponse, error)
+	// Lists all sources belonging to an organization.
+	ListSources(ctx context.Context, in *ListSourcesRequest, opts ...grpc.CallOption) (*ListSourcesResponse, error)
+	// Runs asset discovery. The discovery is tracked with a long-running
+	// operation.
+	//
+	// This API can only be called with limited frequency for an organization. If
+	// it is called too frequently the caller will receive a TOO_MANY_REQUESTS
+	// error.
+	RunAssetDiscovery(ctx context.Context, in *RunAssetDiscoveryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Updates the state of a finding.
+	SetFindingState(ctx context.Context, in *SetFindingStateRequest, opts ...grpc.CallOption) (*Finding, error)
+	// Sets the access control policy on the specified Source.
+	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+	// Returns the permissions that a caller has on the specified source.
+	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
+	// Creates or updates a finding. The corresponding source must exist for a
+	// finding creation to succeed.
+	UpdateFinding(ctx context.Context, in *UpdateFindingRequest, opts ...grpc.CallOption) (*Finding, error)
+	// Updates an organization's settings.
+	UpdateOrganizationSettings(ctx context.Context, in *UpdateOrganizationSettingsRequest, opts ...grpc.CallOption) (*OrganizationSettings, error)
+	// Updates a source.
+	UpdateSource(ctx context.Context, in *UpdateSourceRequest, opts ...grpc.CallOption) (*Source, error)
+	// Updates security marks.
+	UpdateSecurityMarks(ctx context.Context, in *UpdateSecurityMarksRequest, opts ...grpc.CallOption) (*SecurityMarks, error)
+}
+
+type securityCenterClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewSecurityCenterClient(cc *grpc.ClientConn) SecurityCenterClient {
+	return &securityCenterClient{cc}
+}
+
+func (c *securityCenterClient) CreateSource(ctx context.Context, in *CreateSourceRequest, opts ...grpc.CallOption) (*Source, error) {
+	out := new(Source)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/CreateSource", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) CreateFinding(ctx context.Context, in *CreateFindingRequest, opts ...grpc.CallOption) (*Finding, error) {
+	out := new(Finding)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/CreateFinding", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) GetOrganizationSettings(ctx context.Context, in *GetOrganizationSettingsRequest, opts ...grpc.CallOption) (*OrganizationSettings, error) {
+	out := new(OrganizationSettings)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetOrganizationSettings", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) GetSource(ctx context.Context, in *GetSourceRequest, opts ...grpc.CallOption) (*Source, error) {
+	out := new(Source)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetSource", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) GroupAssets(ctx context.Context, in *GroupAssetsRequest, opts ...grpc.CallOption) (*GroupAssetsResponse, error) {
+	out := new(GroupAssetsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/GroupAssets", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) GroupFindings(ctx context.Context, in *GroupFindingsRequest, opts ...grpc.CallOption) (*GroupFindingsResponse, error) {
+	out := new(GroupFindingsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/GroupFindings", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) ListAssets(ctx context.Context, in *ListAssetsRequest, opts ...grpc.CallOption) (*ListAssetsResponse, error) {
+	out := new(ListAssetsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListAssets", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) ListFindings(ctx context.Context, in *ListFindingsRequest, opts ...grpc.CallOption) (*ListFindingsResponse, error) {
+	out := new(ListFindingsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListFindings", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) ListSources(ctx context.Context, in *ListSourcesRequest, opts ...grpc.CallOption) (*ListSourcesResponse, error) {
+	out := new(ListSourcesResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListSources", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) RunAssetDiscovery(ctx context.Context, in *RunAssetDiscoveryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/RunAssetDiscovery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) SetFindingState(ctx context.Context, in *SetFindingStateRequest, opts ...grpc.CallOption) (*Finding, error) {
+	out := new(Finding)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/SetFindingState", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/SetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
+	out := new(v1.TestIamPermissionsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/TestIamPermissions", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) UpdateFinding(ctx context.Context, in *UpdateFindingRequest, opts ...grpc.CallOption) (*Finding, error) {
+	out := new(Finding)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateFinding", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) UpdateOrganizationSettings(ctx context.Context, in *UpdateOrganizationSettingsRequest, opts ...grpc.CallOption) (*OrganizationSettings, error) {
+	out := new(OrganizationSettings)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateOrganizationSettings", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) UpdateSource(ctx context.Context, in *UpdateSourceRequest, opts ...grpc.CallOption) (*Source, error) {
+	out := new(Source)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateSource", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *securityCenterClient) UpdateSecurityMarks(ctx context.Context, in *UpdateSecurityMarksRequest, opts ...grpc.CallOption) (*SecurityMarks, error) {
+	out := new(SecurityMarks)
+	err := c.cc.Invoke(ctx, "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateSecurityMarks", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// SecurityCenterServer is the server API for SecurityCenter service.
+type SecurityCenterServer interface {
+	// Creates a source.
+	CreateSource(context.Context, *CreateSourceRequest) (*Source, error)
+	// Creates a finding. The corresponding source must exist for finding creation
+	// to succeed.
+	CreateFinding(context.Context, *CreateFindingRequest) (*Finding, error)
+	// Gets the access control policy on the specified Source.
+	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
+	// Gets the settings for an organization.
+	GetOrganizationSettings(context.Context, *GetOrganizationSettingsRequest) (*OrganizationSettings, error)
+	// Gets a source.
+	GetSource(context.Context, *GetSourceRequest) (*Source, error)
+	// Filters an organization's assets and  groups them by their specified
+	// properties.
+	GroupAssets(context.Context, *GroupAssetsRequest) (*GroupAssetsResponse, error)
+	// Filters an organization or source's findings and  groups them by their
+	// specified properties.
+	//
+	// To group across all sources provide a `-` as the source id.
+	// Example: /v1beta1/organizations/123/sources/-/findings
+	GroupFindings(context.Context, *GroupFindingsRequest) (*GroupFindingsResponse, error)
+	// Lists an organization's assets.
+	ListAssets(context.Context, *ListAssetsRequest) (*ListAssetsResponse, error)
+	// Lists an organization or source's assets.
+	//
+	// To list across all sources provide a `-` as the source id.
+	// Example: /v1beta1/organizations/123/sources/-/findings
+	ListFindings(context.Context, *ListFindingsRequest) (*ListFindingsResponse, error)
+	// Lists all sources belonging to an organization.
+	ListSources(context.Context, *ListSourcesRequest) (*ListSourcesResponse, error)
+	// Runs asset discovery. The discovery is tracked with a long-running
+	// operation.
+	//
+	// This API can only be called with limited frequency for an organization. If
+	// it is called too frequently the caller will receive a TOO_MANY_REQUESTS
+	// error.
+	RunAssetDiscovery(context.Context, *RunAssetDiscoveryRequest) (*longrunning.Operation, error)
+	// Updates the state of a finding.
+	SetFindingState(context.Context, *SetFindingStateRequest) (*Finding, error)
+	// Sets the access control policy on the specified Source.
+	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
+	// Returns the permissions that a caller has on the specified source.
+	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
+	// Creates or updates a finding. The corresponding source must exist for a
+	// finding creation to succeed.
+	UpdateFinding(context.Context, *UpdateFindingRequest) (*Finding, error)
+	// Updates an organization's settings.
+	UpdateOrganizationSettings(context.Context, *UpdateOrganizationSettingsRequest) (*OrganizationSettings, error)
+	// Updates a source.
+	UpdateSource(context.Context, *UpdateSourceRequest) (*Source, error)
+	// Updates security marks.
+	UpdateSecurityMarks(context.Context, *UpdateSecurityMarksRequest) (*SecurityMarks, error)
+}
+
+func RegisterSecurityCenterServer(s *grpc.Server, srv SecurityCenterServer) {
+	s.RegisterService(&_SecurityCenter_serviceDesc, srv)
+}
+
+func _SecurityCenter_CreateSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateSourceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).CreateSource(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/CreateSource",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).CreateSource(ctx, req.(*CreateSourceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_CreateFinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateFindingRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).CreateFinding(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/CreateFinding",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).CreateFinding(ctx, req.(*CreateFindingRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.GetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).GetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_GetOrganizationSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetOrganizationSettingsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).GetOrganizationSettings(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetOrganizationSettings",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).GetOrganizationSettings(ctx, req.(*GetOrganizationSettingsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_GetSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetSourceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).GetSource(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/GetSource",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).GetSource(ctx, req.(*GetSourceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_GroupAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GroupAssetsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).GroupAssets(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/GroupAssets",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).GroupAssets(ctx, req.(*GroupAssetsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_GroupFindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GroupFindingsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).GroupFindings(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/GroupFindings",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).GroupFindings(ctx, req.(*GroupFindingsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_ListAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListAssetsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).ListAssets(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListAssets",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).ListAssets(ctx, req.(*ListAssetsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_ListFindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListFindingsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).ListFindings(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListFindings",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).ListFindings(ctx, req.(*ListFindingsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_ListSources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListSourcesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).ListSources(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/ListSources",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).ListSources(ctx, req.(*ListSourcesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_RunAssetDiscovery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(RunAssetDiscoveryRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).RunAssetDiscovery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/RunAssetDiscovery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).RunAssetDiscovery(ctx, req.(*RunAssetDiscoveryRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_SetFindingState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetFindingStateRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).SetFindingState(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/SetFindingState",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).SetFindingState(ctx, req.(*SetFindingStateRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.SetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).SetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/SetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.TestIamPermissionsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).TestIamPermissions(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/TestIamPermissions",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_UpdateFinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateFindingRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).UpdateFinding(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateFinding",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).UpdateFinding(ctx, req.(*UpdateFindingRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_UpdateOrganizationSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateOrganizationSettingsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).UpdateOrganizationSettings(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateOrganizationSettings",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).UpdateOrganizationSettings(ctx, req.(*UpdateOrganizationSettingsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_UpdateSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateSourceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).UpdateSource(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateSource",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).UpdateSource(ctx, req.(*UpdateSourceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _SecurityCenter_UpdateSecurityMarks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateSecurityMarksRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(SecurityCenterServer).UpdateSecurityMarks(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.securitycenter.v1beta1.SecurityCenter/UpdateSecurityMarks",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(SecurityCenterServer).UpdateSecurityMarks(ctx, req.(*UpdateSecurityMarksRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _SecurityCenter_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.securitycenter.v1beta1.SecurityCenter",
+	HandlerType: (*SecurityCenterServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateSource",
+			Handler:    _SecurityCenter_CreateSource_Handler,
+		},
+		{
+			MethodName: "CreateFinding",
+			Handler:    _SecurityCenter_CreateFinding_Handler,
+		},
+		{
+			MethodName: "GetIamPolicy",
+			Handler:    _SecurityCenter_GetIamPolicy_Handler,
+		},
+		{
+			MethodName: "GetOrganizationSettings",
+			Handler:    _SecurityCenter_GetOrganizationSettings_Handler,
+		},
+		{
+			MethodName: "GetSource",
+			Handler:    _SecurityCenter_GetSource_Handler,
+		},
+		{
+			MethodName: "GroupAssets",
+			Handler:    _SecurityCenter_GroupAssets_Handler,
+		},
+		{
+			MethodName: "GroupFindings",
+			Handler:    _SecurityCenter_GroupFindings_Handler,
+		},
+		{
+			MethodName: "ListAssets",
+			Handler:    _SecurityCenter_ListAssets_Handler,
+		},
+		{
+			MethodName: "ListFindings",
+			Handler:    _SecurityCenter_ListFindings_Handler,
+		},
+		{
+			MethodName: "ListSources",
+			Handler:    _SecurityCenter_ListSources_Handler,
+		},
+		{
+			MethodName: "RunAssetDiscovery",
+			Handler:    _SecurityCenter_RunAssetDiscovery_Handler,
+		},
+		{
+			MethodName: "SetFindingState",
+			Handler:    _SecurityCenter_SetFindingState_Handler,
+		},
+		{
+			MethodName: "SetIamPolicy",
+			Handler:    _SecurityCenter_SetIamPolicy_Handler,
+		},
+		{
+			MethodName: "TestIamPermissions",
+			Handler:    _SecurityCenter_TestIamPermissions_Handler,
+		},
+		{
+			MethodName: "UpdateFinding",
+			Handler:    _SecurityCenter_UpdateFinding_Handler,
+		},
+		{
+			MethodName: "UpdateOrganizationSettings",
+			Handler:    _SecurityCenter_UpdateOrganizationSettings_Handler,
+		},
+		{
+			MethodName: "UpdateSource",
+			Handler:    _SecurityCenter_UpdateSource_Handler,
+		},
+		{
+			MethodName: "UpdateSecurityMarks",
+			Handler:    _SecurityCenter_UpdateSecurityMarks_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/securitycenter/v1beta1/securitycenter_service.proto",
+}
diff --git a/googleapis/cloud/securitycenter/v1beta1/source.pb.go b/googleapis/cloud/securitycenter/v1beta1/source.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..dd71b8c09495f608e82fe1ea9c57dad74b4cdeac
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1beta1/source.pb.go
@@ -0,0 +1,124 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1beta1/source.proto
+
+package securitycenter
+
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	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
+
+// Security Center's finding source. A finding source is an entity or a
+// mechanism that can produce a finding. A source can also be thought of as a
+// container of findings that come from the same scanner, logger, monitor, etc.
+type Source struct {
+	// The relative resource name of this source. See:
+	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
+	// Example:
+	// "organizations/123/sources/456"
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The source’s display name.
+	// A source’s display name must be unique amongst its siblings, e.g.
+	// no two sources with the same parent can share the same display name.
+	// The display name must start and end with a letter or digit, may contain
+	// letters, digits, spaces, hyphens and underscores and can be no longer
+	// than 30 characters. This is captured by the regular expression:
+	// [\p{L}\p{N}]({\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
+	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+	// The description of the source (max of 1024 characters).
+	// Example:
+	// "Cloud Security Scanner is a web security scanner for common
+	// vulnerabilities in Google App Engine applications. It can automatically
+	// scan and detect four common vulnerabilities, including cross-site-scripting
+	// (XSS), Flash injection, mixed content (HTTP in HTTPS), and
+	// outdated/insecure libraries."
+	Description          string   `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Source) Reset()         { *m = Source{} }
+func (m *Source) String() string { return proto.CompactTextString(m) }
+func (*Source) ProtoMessage()    {}
+func (*Source) Descriptor() ([]byte, []int) {
+	return fileDescriptor_bf622434a85d65bb, []int{0}
+}
+
+func (m *Source) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Source.Unmarshal(m, b)
+}
+func (m *Source) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Source.Marshal(b, m, deterministic)
+}
+func (m *Source) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Source.Merge(m, src)
+}
+func (m *Source) XXX_Size() int {
+	return xxx_messageInfo_Source.Size(m)
+}
+func (m *Source) XXX_DiscardUnknown() {
+	xxx_messageInfo_Source.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Source proto.InternalMessageInfo
+
+func (m *Source) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Source) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *Source) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*Source)(nil), "google.cloud.securitycenter.v1beta1.Source")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1beta1/source.proto", fileDescriptor_bf622434a85d65bb)
+}
+
+var fileDescriptor_bf622434a85d65bb = []byte{
+	// 215 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x31, 0x4b, 0xc5, 0x30,
+	0x14, 0x85, 0xa9, 0x4a, 0xc1, 0xd4, 0x29, 0x53, 0x11, 0x87, 0xaa, 0x83, 0x4e, 0x89, 0xc5, 0xd1,
+	0xcd, 0x1f, 0x20, 0xa8, 0x9b, 0x8b, 0xdc, 0xa6, 0x97, 0x10, 0x48, 0x73, 0x43, 0x92, 0x0a, 0x05,
+	0x7f, 0xfc, 0xa3, 0x69, 0xe0, 0xd1, 0xe5, 0xf1, 0xb6, 0x70, 0xce, 0xf9, 0x3e, 0x2e, 0x61, 0x2f,
+	0x9a, 0x48, 0x5b, 0x94, 0xca, 0xd2, 0x3c, 0xca, 0x88, 0x6a, 0x0e, 0x26, 0x2d, 0x0a, 0x5d, 0xc2,
+	0x20, 0xff, 0xfa, 0x01, 0x13, 0xf4, 0x32, 0xd2, 0x1c, 0x14, 0x0a, 0x1f, 0x28, 0x11, 0x7f, 0xdc,
+	0x08, 0x91, 0x09, 0xb1, 0x27, 0x44, 0x21, 0x6e, 0xef, 0x8a, 0x16, 0xbc, 0x91, 0xe0, 0x1c, 0x25,
+	0x48, 0x86, 0x5c, 0xdc, 0x14, 0x0f, 0xc0, 0xea, 0xef, 0xac, 0xe4, 0x9c, 0x5d, 0x39, 0x98, 0xb0,
+	0xad, 0xba, 0xea, 0xf9, 0xfa, 0x2b, 0xbf, 0xf9, 0x3d, 0xbb, 0x19, 0x4d, 0xf4, 0x16, 0x96, 0xdf,
+	0xdc, 0x5d, 0xe4, 0xae, 0x29, 0xd9, 0xc7, 0x3a, 0xe9, 0x58, 0x33, 0x62, 0x54, 0xc1, 0xf8, 0x55,
+	0xdb, 0x5e, 0x96, 0xc5, 0x31, 0x7a, 0xff, 0x67, 0x4f, 0x8a, 0x26, 0x71, 0xc6, 0xad, 0x3f, 0x9f,
+	0x65, 0xa4, 0xc9, 0x82, 0xd3, 0x82, 0x82, 0x96, 0x1a, 0x5d, 0xbe, 0x54, 0x6e, 0x15, 0x78, 0x13,
+	0x4f, 0xfe, 0xd0, 0xdb, 0x3e, 0x1e, 0xea, 0x4c, 0xbf, 0x1e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4f,
+	0x9a, 0xc3, 0x6d, 0x5e, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/videointelligence/v1/video_intelligence.pb.go b/googleapis/cloud/videointelligence/v1/video_intelligence.pb.go
index f846fae21c2f939ff7c4872d1699b82f6d225058..5a8ce8965349ea67fc5a81a64095a466cccd4fa8 100644
--- a/googleapis/cloud/videointelligence/v1/video_intelligence.pb.go
+++ b/googleapis/cloud/videointelligence/v1/video_intelligence.pb.go
@@ -41,6 +41,8 @@ const (
 	Feature_EXPLICIT_CONTENT_DETECTION Feature = 3
 	// Human face detection and tracking.
 	Feature_FACE_DETECTION Feature = 4
+	// Speech transcription.
+	Feature_SPEECH_TRANSCRIPTION Feature = 6
 )
 
 var Feature_name = map[int32]string{
@@ -49,6 +51,7 @@ var Feature_name = map[int32]string{
 	2: "SHOT_CHANGE_DETECTION",
 	3: "EXPLICIT_CONTENT_DETECTION",
 	4: "FACE_DETECTION",
+	6: "SPEECH_TRANSCRIPTION",
 }
 
 var Feature_value = map[string]int32{
@@ -57,6 +60,7 @@ var Feature_value = map[string]int32{
 	"SHOT_CHANGE_DETECTION":      2,
 	"EXPLICIT_CONTENT_DETECTION": 3,
 	"FACE_DETECTION":             4,
+	"SPEECH_TRANSCRIPTION":       6,
 }
 
 func (x Feature) String() string {
@@ -254,8 +258,8 @@ func (m *AnnotateVideoRequest) GetLocationId() string {
 // Video context and/or feature-specific parameters.
 type VideoContext struct {
 	// Video segments to annotate. The segments may overlap and are not required
-	// to be contiguous or span the whole video. If unspecified, each video
-	// is treated as a single segment.
+	// to be contiguous or span the whole video. If unspecified, each video is
+	// treated as a single segment.
 	Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
 	// Config for LABEL_DETECTION.
 	LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig,proto3" json:"label_detection_config,omitempty"`
@@ -264,10 +268,12 @@ type VideoContext struct {
 	// Config for EXPLICIT_CONTENT_DETECTION.
 	ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3" json:"explicit_content_detection_config,omitempty"`
 	// Config for FACE_DETECTION.
-	FaceDetectionConfig  *FaceDetectionConfig `protobuf:"bytes,5,opt,name=face_detection_config,json=faceDetectionConfig,proto3" json:"face_detection_config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
+	FaceDetectionConfig *FaceDetectionConfig `protobuf:"bytes,5,opt,name=face_detection_config,json=faceDetectionConfig,proto3" json:"face_detection_config,omitempty"`
+	// Config for SPEECH_TRANSCRIPTION.
+	SpeechTranscriptionConfig *SpeechTranscriptionConfig `protobuf:"bytes,6,opt,name=speech_transcription_config,json=speechTranscriptionConfig,proto3" json:"speech_transcription_config,omitempty"`
+	XXX_NoUnkeyedLiteral      struct{}                   `json:"-"`
+	XXX_unrecognized          []byte                     `json:"-"`
+	XXX_sizecache             int32                      `json:"-"`
 }
 
 func (m *VideoContext) Reset()         { *m = VideoContext{} }
@@ -330,6 +336,13 @@ func (m *VideoContext) GetFaceDetectionConfig() *FaceDetectionConfig {
 	return nil
 }
 
+func (m *VideoContext) GetSpeechTranscriptionConfig() *SpeechTranscriptionConfig {
+	if m != nil {
+		return m.SpeechTranscriptionConfig
+	}
+	return nil
+}
+
 // Config for LABEL_DETECTION.
 type LabelDetectionConfig struct {
 	// What labels should be detected with LABEL_DETECTION, in addition to
@@ -1155,6 +1168,8 @@ type VideoAnnotationResults struct {
 	ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"`
 	// Explicit content annotation.
 	ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"`
+	// Speech transcription.
+	SpeechTranscriptions []*SpeechTranscription `protobuf:"bytes,11,rep,name=speech_transcriptions,json=speechTranscriptions,proto3" json:"speech_transcriptions,omitempty"`
 	// If set, indicates an error. Note that for a single `AnnotateVideoRequest`
 	// some videos may succeed and some may fail.
 	Error                *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
@@ -1237,6 +1252,13 @@ func (m *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotat
 	return nil
 }
 
+func (m *VideoAnnotationResults) GetSpeechTranscriptions() []*SpeechTranscription {
+	if m != nil {
+		return m.SpeechTranscriptions
+	}
+	return nil
+}
+
 func (m *VideoAnnotationResults) GetError() *status.Status {
 	if m != nil {
 		return m.Error
@@ -1292,8 +1314,8 @@ type VideoAnnotationProgress struct {
 	// Video file location in
 	// [Google Cloud Storage](https://cloud.google.com/storage/).
 	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
-	// Approximate percentage processed thus far.
-	// Guaranteed to be 100 when fully processed.
+	// Approximate percentage processed thus far. Guaranteed to be
+	// 100 when fully processed.
 	ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
 	// Time when the request was received.
 	StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
@@ -1400,6 +1422,407 @@ func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgre
 	return nil
 }
 
+// Config for SPEECH_TRANSCRIPTION.
+type SpeechTranscriptionConfig struct {
+	// *Required* The language of the supplied audio as a
+	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
+	// Example: "en-US".
+	// See [Language Support](https://cloud.google.com/speech/docs/languages)
+	// for a list of the currently supported language codes.
+	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
+	// *Optional* Maximum number of recognition hypotheses to be returned.
+	// Specifically, the maximum number of `SpeechRecognitionAlternative` messages
+	// within each `SpeechTranscription`. The server may return fewer than
+	// `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
+	// return a maximum of one. If omitted, will return a maximum of one.
+	MaxAlternatives int32 `protobuf:"varint,2,opt,name=max_alternatives,json=maxAlternatives,proto3" 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.
+	FilterProfanity bool `protobuf:"varint,3,opt,name=filter_profanity,json=filterProfanity,proto3" json:"filter_profanity,omitempty"`
+	// *Optional* A means to provide context to assist the speech recognition.
+	SpeechContexts []*SpeechContext `protobuf:"bytes,4,rep,name=speech_contexts,json=speechContexts,proto3" json:"speech_contexts,omitempty"`
+	// *Optional* If 'true', adds punctuation to recognition result hypotheses.
+	// This feature is only available in select languages. Setting this for
+	// requests in other languages has no effect at all. The default 'false' value
+	// does not add punctuation to result hypotheses. NOTE: "This is currently
+	// offered as an experimental service, complimentary to all users. In the
+	// future this may be exclusively available as a premium feature."
+	EnableAutomaticPunctuation bool `protobuf:"varint,5,opt,name=enable_automatic_punctuation,json=enableAutomaticPunctuation,proto3" json:"enable_automatic_punctuation,omitempty"`
+	// *Optional* For file formats, such as MXF or MKV, supporting multiple audio
+	// tracks, specify up to two tracks. Default: track 0.
+	AudioTracks []int32 `protobuf:"varint,6,rep,packed,name=audio_tracks,json=audioTracks,proto3" json:"audio_tracks,omitempty"`
+	// *Optional* If 'true', enables speaker detection for each recognized word in
+	// the top alternative of the recognition result using a speaker_tag provided
+	// in the WordInfo.
+	// Note: When this is true, we send all the words from the beginning of the
+	// audio for the top alternative in every consecutive responses.
+	// This is done in order to improve our speaker tags as our models learn to
+	// identify the speakers in the conversation over time.
+	EnableSpeakerDiarization bool `protobuf:"varint,7,opt,name=enable_speaker_diarization,json=enableSpeakerDiarization,proto3" json:"enable_speaker_diarization,omitempty"`
+	// *Optional*
+	// If set, specifies the estimated number of speakers in the conversation.
+	// If not set, defaults to '2'.
+	// Ignored unless enable_speaker_diarization is set to true.
+	DiarizationSpeakerCount int32 `protobuf:"varint,8,opt,name=diarization_speaker_count,json=diarizationSpeakerCount,proto3" json:"diarization_speaker_count,omitempty"`
+	// *Optional* If `true`, the top result includes a list of words and the
+	// confidence for those words. If `false`, no word-level confidence
+	// information is returned. The default is `false`.
+	EnableWordConfidence bool     `protobuf:"varint,9,opt,name=enable_word_confidence,json=enableWordConfidence,proto3" json:"enable_word_confidence,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SpeechTranscriptionConfig) Reset()         { *m = SpeechTranscriptionConfig{} }
+func (m *SpeechTranscriptionConfig) String() string { return proto.CompactTextString(m) }
+func (*SpeechTranscriptionConfig) ProtoMessage()    {}
+func (*SpeechTranscriptionConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7638dbca9a7e63fa, []int{21}
+}
+
+func (m *SpeechTranscriptionConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SpeechTranscriptionConfig.Unmarshal(m, b)
+}
+func (m *SpeechTranscriptionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SpeechTranscriptionConfig.Marshal(b, m, deterministic)
+}
+func (m *SpeechTranscriptionConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SpeechTranscriptionConfig.Merge(m, src)
+}
+func (m *SpeechTranscriptionConfig) XXX_Size() int {
+	return xxx_messageInfo_SpeechTranscriptionConfig.Size(m)
+}
+func (m *SpeechTranscriptionConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_SpeechTranscriptionConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SpeechTranscriptionConfig proto.InternalMessageInfo
+
+func (m *SpeechTranscriptionConfig) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *SpeechTranscriptionConfig) GetMaxAlternatives() int32 {
+	if m != nil {
+		return m.MaxAlternatives
+	}
+	return 0
+}
+
+func (m *SpeechTranscriptionConfig) GetFilterProfanity() bool {
+	if m != nil {
+		return m.FilterProfanity
+	}
+	return false
+}
+
+func (m *SpeechTranscriptionConfig) GetSpeechContexts() []*SpeechContext {
+	if m != nil {
+		return m.SpeechContexts
+	}
+	return nil
+}
+
+func (m *SpeechTranscriptionConfig) GetEnableAutomaticPunctuation() bool {
+	if m != nil {
+		return m.EnableAutomaticPunctuation
+	}
+	return false
+}
+
+func (m *SpeechTranscriptionConfig) GetAudioTracks() []int32 {
+	if m != nil {
+		return m.AudioTracks
+	}
+	return nil
+}
+
+func (m *SpeechTranscriptionConfig) GetEnableSpeakerDiarization() bool {
+	if m != nil {
+		return m.EnableSpeakerDiarization
+	}
+	return false
+}
+
+func (m *SpeechTranscriptionConfig) GetDiarizationSpeakerCount() int32 {
+	if m != nil {
+		return m.DiarizationSpeakerCount
+	}
+	return 0
+}
+
+func (m *SpeechTranscriptionConfig) GetEnableWordConfidence() bool {
+	if m != nil {
+		return m.EnableWordConfidence
+	}
+	return false
+}
+
+// Provides "hints" to the speech recognizer to favor specific words and phrases
+// in the results.
+type SpeechContext struct {
+	// *Optional* A list of strings containing words and phrases "hints" so that
+	// the speech recognition is more likely to recognize them. This can be used
+	// to improve the accuracy for specific words and phrases, for example, if
+	// specific commands are typically spoken by the user. This can also be used
+	// to add additional words to the vocabulary of the recognizer. See
+	// [usage limits](https://cloud.google.com/speech/limits#content).
+	Phrases              []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SpeechContext) Reset()         { *m = SpeechContext{} }
+func (m *SpeechContext) String() string { return proto.CompactTextString(m) }
+func (*SpeechContext) ProtoMessage()    {}
+func (*SpeechContext) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7638dbca9a7e63fa, []int{22}
+}
+
+func (m *SpeechContext) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SpeechContext.Unmarshal(m, b)
+}
+func (m *SpeechContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SpeechContext.Marshal(b, m, deterministic)
+}
+func (m *SpeechContext) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SpeechContext.Merge(m, src)
+}
+func (m *SpeechContext) XXX_Size() int {
+	return xxx_messageInfo_SpeechContext.Size(m)
+}
+func (m *SpeechContext) XXX_DiscardUnknown() {
+	xxx_messageInfo_SpeechContext.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SpeechContext proto.InternalMessageInfo
+
+func (m *SpeechContext) GetPhrases() []string {
+	if m != nil {
+		return m.Phrases
+	}
+	return nil
+}
+
+// A speech recognition result corresponding to a portion of the audio.
+type SpeechTranscription struct {
+	// May contain one or more recognition hypotheses (up to the maximum specified
+	// in `max_alternatives`).  These alternatives are ordered in terms of
+	// accuracy, with the top (first) alternative being the most probable, as
+	// ranked by the recognizer.
+	Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
+	// Output only. The
+	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the
+	// language in this result. This language code was detected to have the most
+	// likelihood of being spoken in the audio.
+	LanguageCode         string   `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SpeechTranscription) Reset()         { *m = SpeechTranscription{} }
+func (m *SpeechTranscription) String() string { return proto.CompactTextString(m) }
+func (*SpeechTranscription) ProtoMessage()    {}
+func (*SpeechTranscription) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7638dbca9a7e63fa, []int{23}
+}
+
+func (m *SpeechTranscription) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SpeechTranscription.Unmarshal(m, b)
+}
+func (m *SpeechTranscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SpeechTranscription.Marshal(b, m, deterministic)
+}
+func (m *SpeechTranscription) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SpeechTranscription.Merge(m, src)
+}
+func (m *SpeechTranscription) XXX_Size() int {
+	return xxx_messageInfo_SpeechTranscription.Size(m)
+}
+func (m *SpeechTranscription) XXX_DiscardUnknown() {
+	xxx_messageInfo_SpeechTranscription.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SpeechTranscription proto.InternalMessageInfo
+
+func (m *SpeechTranscription) GetAlternatives() []*SpeechRecognitionAlternative {
+	if m != nil {
+		return m.Alternatives
+	}
+	return nil
+}
+
+func (m *SpeechTranscription) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+// Alternative hypotheses (a.k.a. n-best list).
+type SpeechRecognitionAlternative struct {
+	// Transcript text representing the words that the user spoke.
+	Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"`
+	// The confidence estimate between 0.0 and 1.0. A higher number
+	// indicates an estimated greater likelihood that the recognized words are
+	// correct. This field is typically provided only for the top hypothesis, and
+	// only for `is_final=true` results. Clients should not rely on the
+	// `confidence` field as it is not guaranteed to be accurate or consistent.
+	// The default of 0.0 is a sentinel value indicating `confidence` was not set.
+	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
+	// A list of word-specific information for each recognized word.
+	Words                []*WordInfo `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *SpeechRecognitionAlternative) Reset()         { *m = SpeechRecognitionAlternative{} }
+func (m *SpeechRecognitionAlternative) String() string { return proto.CompactTextString(m) }
+func (*SpeechRecognitionAlternative) ProtoMessage()    {}
+func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7638dbca9a7e63fa, []int{24}
+}
+
+func (m *SpeechRecognitionAlternative) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SpeechRecognitionAlternative.Unmarshal(m, b)
+}
+func (m *SpeechRecognitionAlternative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SpeechRecognitionAlternative.Marshal(b, m, deterministic)
+}
+func (m *SpeechRecognitionAlternative) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SpeechRecognitionAlternative.Merge(m, src)
+}
+func (m *SpeechRecognitionAlternative) XXX_Size() int {
+	return xxx_messageInfo_SpeechRecognitionAlternative.Size(m)
+}
+func (m *SpeechRecognitionAlternative) XXX_DiscardUnknown() {
+	xxx_messageInfo_SpeechRecognitionAlternative.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SpeechRecognitionAlternative proto.InternalMessageInfo
+
+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 (m *SpeechRecognitionAlternative) GetWords() []*WordInfo {
+	if m != nil {
+		return m.Words
+	}
+	return nil
+}
+
+// Word-specific information for recognized words. Word information is only
+// included in the response when certain request parameters are set, such
+// as `enable_word_time_offsets`.
+type WordInfo struct {
+	// Time offset relative to the beginning of the audio, and
+	// corresponding to the start of the spoken word. This field is only set if
+	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+	// experimental feature and the accuracy of the time offset can vary.
+	StartTime *duration.Duration `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	// Time offset relative to the beginning of the audio, and
+	// corresponding to the end of the spoken word. This field is only set if
+	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+	// experimental feature and the accuracy of the time offset can vary.
+	EndTime *duration.Duration `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// The word corresponding to this set of information.
+	Word string `protobuf:"bytes,3,opt,name=word,proto3" json:"word,omitempty"`
+	// Output only. The confidence estimate between 0.0 and 1.0. A higher number
+	// indicates an estimated greater likelihood that the recognized words are
+	// correct. This field is set only for the top alternative.
+	// This field is not guaranteed to be accurate and users should not rely on it
+	// to be always provided.
+	// The default of 0.0 is a sentinel value indicating `confidence` was not set.
+	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
+	// Output only. A distinct integer value is assigned for every speaker within
+	// the audio. This field specifies which one of those speakers was detected to
+	// have spoken this word. Value ranges from 1 up to diarization_speaker_count,
+	// and is only set if speaker diarization is enabled.
+	SpeakerTag           int32    `protobuf:"varint,5,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *WordInfo) Reset()         { *m = WordInfo{} }
+func (m *WordInfo) String() string { return proto.CompactTextString(m) }
+func (*WordInfo) ProtoMessage()    {}
+func (*WordInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7638dbca9a7e63fa, []int{25}
+}
+
+func (m *WordInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_WordInfo.Unmarshal(m, b)
+}
+func (m *WordInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_WordInfo.Marshal(b, m, deterministic)
+}
+func (m *WordInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_WordInfo.Merge(m, src)
+}
+func (m *WordInfo) XXX_Size() int {
+	return xxx_messageInfo_WordInfo.Size(m)
+}
+func (m *WordInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_WordInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WordInfo proto.InternalMessageInfo
+
+func (m *WordInfo) GetStartTime() *duration.Duration {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *WordInfo) GetEndTime() *duration.Duration {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *WordInfo) GetWord() string {
+	if m != nil {
+		return m.Word
+	}
+	return ""
+}
+
+func (m *WordInfo) GetConfidence() float32 {
+	if m != nil {
+		return m.Confidence
+	}
+	return 0
+}
+
+func (m *WordInfo) GetSpeakerTag() int32 {
+	if m != nil {
+		return m.SpeakerTag
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterEnum("google.cloud.videointelligence.v1.Feature", Feature_name, Feature_value)
 	proto.RegisterEnum("google.cloud.videointelligence.v1.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value)
@@ -1425,6 +1848,11 @@ func init() {
 	proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1.AnnotateVideoResponse")
 	proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1.VideoAnnotationProgress")
 	proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1.AnnotateVideoProgress")
+	proto.RegisterType((*SpeechTranscriptionConfig)(nil), "google.cloud.videointelligence.v1.SpeechTranscriptionConfig")
+	proto.RegisterType((*SpeechContext)(nil), "google.cloud.videointelligence.v1.SpeechContext")
+	proto.RegisterType((*SpeechTranscription)(nil), "google.cloud.videointelligence.v1.SpeechTranscription")
+	proto.RegisterType((*SpeechRecognitionAlternative)(nil), "google.cloud.videointelligence.v1.SpeechRecognitionAlternative")
+	proto.RegisterType((*WordInfo)(nil), "google.cloud.videointelligence.v1.WordInfo")
 }
 
 func init() {
@@ -1432,114 +1860,141 @@ func init() {
 }
 
 var fileDescriptor_7638dbca9a7e63fa = []byte{
-	// 1705 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x73, 0xe3, 0x48,
-	0x15, 0x47, 0xb6, 0x93, 0x89, 0x5f, 0xbe, 0x3c, 0x9d, 0x2f, 0x27, 0xcc, 0x64, 0x33, 0x5a, 0xa8,
-	0xca, 0x06, 0xb0, 0x2b, 0x01, 0x76, 0xd9, 0x2c, 0x17, 0xc7, 0x51, 0x76, 0xcc, 0x66, 0xe2, 0x54,
-	0xdb, 0x93, 0xda, 0xdd, 0x9a, 0x2a, 0x95, 0x22, 0xb5, 0x65, 0xed, 0xc8, 0x6a, 0x21, 0xb5, 0x52,
-	0x13, 0xaa, 0x38, 0x40, 0x51, 0x70, 0xe1, 0xc6, 0x85, 0x3f, 0x80, 0x13, 0x7f, 0x00, 0xc5, 0x85,
-	0xaa, 0x2d, 0x8a, 0x13, 0x07, 0x2e, 0x9c, 0xb8, 0xef, 0x1f, 0x42, 0xa9, 0xbb, 0x65, 0x2b, 0x92,
-	0x33, 0x91, 0x07, 0x6e, 0xea, 0xf7, 0xf1, 0x7b, 0xaf, 0xdf, 0x57, 0x77, 0x0b, 0x8e, 0x6d, 0x4a,
-	0x6d, 0x97, 0x34, 0x4d, 0x97, 0x46, 0x56, 0xf3, 0xc6, 0xb1, 0x08, 0x75, 0x3c, 0x46, 0x5c, 0xd7,
-	0xb1, 0x89, 0x67, 0x92, 0xe6, 0xcd, 0xa1, 0x20, 0xea, 0x69, 0x6a, 0xc3, 0x0f, 0x28, 0xa3, 0xe8,
-	0x99, 0xd0, 0x6d, 0x70, 0xdd, 0x46, 0x4e, 0xb7, 0x71, 0x73, 0xb8, 0xf3, 0x44, 0xc2, 0x1b, 0xbe,
-	0xd3, 0x34, 0x3c, 0x8f, 0x32, 0x83, 0x39, 0xd4, 0x0b, 0x05, 0xc0, 0xce, 0xfb, 0x92, 0xeb, 0x52,
-	0xcf, 0x0e, 0x22, 0xcf, 0x73, 0x3c, 0xbb, 0x49, 0x7d, 0x12, 0xdc, 0x11, 0xda, 0x95, 0x42, 0x7c,
-	0x75, 0x1d, 0x0d, 0x9a, 0x56, 0x24, 0x04, 0x24, 0xff, 0xbd, 0x2c, 0x9f, 0x39, 0x23, 0x12, 0x32,
-	0x63, 0xe4, 0x4b, 0x81, 0x2d, 0x29, 0x10, 0xf8, 0x66, 0x33, 0x64, 0x06, 0x8b, 0x24, 0xb2, 0xfa,
-	0x97, 0x12, 0xac, 0xb7, 0x84, 0x53, 0xe4, 0x2a, 0xf6, 0x1e, 0x93, 0x9f, 0x47, 0x24, 0x64, 0xe8,
-	0xdb, 0x50, 0x75, 0x3c, 0x3f, 0x62, 0x7a, 0x14, 0x38, 0x75, 0x65, 0x4f, 0xd9, 0xaf, 0xe2, 0x05,
-	0x4e, 0x78, 0x19, 0x38, 0xe8, 0x7d, 0x58, 0x16, 0x4c, 0x93, 0x7a, 0x8c, 0x78, 0xac, 0x3e, 0xbf,
-	0xa7, 0xec, 0x2f, 0xe1, 0x25, 0x4e, 0x6c, 0x0b, 0x1a, 0x3a, 0x83, 0x85, 0x01, 0x31, 0x58, 0x14,
-	0x90, 0xb0, 0x5e, 0xda, 0x2b, 0xef, 0xaf, 0x1c, 0x1d, 0x34, 0x1e, 0x8c, 0x56, 0xe3, 0x4c, 0xa8,
-	0xe0, 0xb1, 0x2e, 0xea, 0xc3, 0xb2, 0x08, 0x3f, 0x37, 0xf6, 0x86, 0xd5, 0xcb, 0x7b, 0xca, 0xfe,
-	0xe2, 0x51, 0xb3, 0x00, 0x18, 0xdf, 0x51, 0x5b, 0xa8, 0xe1, 0xa5, 0x9b, 0xd4, 0x0a, 0x3d, 0x05,
-	0xa0, 0x11, 0x4b, 0x36, 0x58, 0xe1, 0x1b, 0xac, 0x0a, 0x4a, 0xbc, 0xc3, 0xf7, 0x60, 0xd1, 0xa5,
-	0x26, 0x8f, 0xb1, 0xee, 0x58, 0xf5, 0x39, 0xce, 0x87, 0x84, 0xd4, 0xb1, 0xd4, 0x7f, 0x54, 0x60,
-	0x29, 0x0d, 0x8f, 0x3e, 0x83, 0x85, 0x90, 0xd8, 0x23, 0xe2, 0xb1, 0xb0, 0xae, 0xec, 0x95, 0x67,
-	0xf1, 0xb0, 0x27, 0xf4, 0xf0, 0x18, 0x00, 0x8d, 0x60, 0xd3, 0x35, 0xae, 0x89, 0xab, 0x5b, 0x84,
-	0x11, 0x93, 0x7b, 0x61, 0x52, 0x6f, 0xe0, 0xd8, 0xf5, 0x12, 0xdf, 0xfc, 0x47, 0x05, 0xa0, 0xcf,
-	0x63, 0x80, 0xd3, 0x44, 0xbf, 0xcd, 0xd5, 0xf1, 0xba, 0x3b, 0x85, 0x8a, 0x7e, 0x09, 0x4f, 0xc2,
-	0x21, 0x65, 0xba, 0x39, 0x34, 0x3c, 0x9b, 0xe4, 0x8d, 0x8a, 0x88, 0xff, 0xb4, 0x80, 0xd1, 0xde,
-	0x90, 0xb2, 0x36, 0x47, 0xc9, 0x5a, 0xde, 0x0e, 0xef, 0x63, 0xa1, 0xdf, 0x2b, 0xf0, 0x8c, 0xbc,
-	0xf1, 0x5d, 0xc7, 0x74, 0xc6, 0x25, 0x95, 0x77, 0xa2, 0xc2, 0x9d, 0x68, 0x15, 0x70, 0x42, 0x93,
-	0x58, 0xb2, 0x12, 0xb3, 0x9e, 0xec, 0x92, 0xb7, 0xf2, 0xd1, 0x57, 0xb0, 0x31, 0x30, 0xcc, 0x29,
-	0x61, 0x98, 0xe3, 0x1e, 0x7c, 0x58, 0xa4, 0x8a, 0x0d, 0x33, 0x17, 0x80, 0xb5, 0x41, 0x9e, 0xa8,
-	0xfe, 0x5d, 0x81, 0xf5, 0x69, 0x89, 0x42, 0x36, 0xac, 0x67, 0x2b, 0x60, 0x44, 0x2d, 0xc2, 0x5b,
-	0x71, 0xe5, 0xe8, 0xc7, 0x33, 0xe7, 0xff, 0x05, 0xb5, 0x08, 0x46, 0x6e, 0x8e, 0x86, 0xbe, 0x07,
-	0x8f, 0x43, 0x31, 0x92, 0x8c, 0xe0, 0x56, 0x37, 0x8d, 0x11, 0x09, 0x0c, 0x5e, 0x65, 0x0b, 0xb8,
-	0x36, 0x61, 0xb4, 0x39, 0x1d, 0xad, 0xc3, 0x5c, 0xec, 0x85, 0xcb, 0x2b, 0xa2, 0x8a, 0xc5, 0x42,
-	0x3d, 0x84, 0xed, 0x7b, 0xf3, 0x3e, 0x51, 0x51, 0xd2, 0x2a, 0x1f, 0xc2, 0xee, 0xdb, 0xb3, 0x74,
-	0x8f, 0x9e, 0x01, 0x6b, 0x53, 0x62, 0x3b, 0x5d, 0x18, 0xfd, 0x08, 0x36, 0x1d, 0xcf, 0x74, 0x23,
-	0x8b, 0xe8, 0xd7, 0x34, 0xf2, 0x2c, 0xc7, 0xb3, 0xf5, 0x6b, 0xfa, 0x86, 0xcf, 0xa3, 0x78, 0x7f,
-	0xeb, 0x92, 0x7b, 0x22, 0x99, 0x27, 0x31, 0x4f, 0xfd, 0xa3, 0x22, 0x3b, 0x5b, 0xb6, 0x25, 0xd2,
-	0x78, 0x84, 0x02, 0xa6, 0xc7, 0x53, 0x55, 0xa7, 0x83, 0x41, 0x48, 0x18, 0x37, 0xb4, 0x78, 0xb4,
-	0x9d, 0xe4, 0x21, 0x99, 0xbc, 0x8d, 0x53, 0x39, 0x99, 0xf1, 0x2a, 0xd7, 0xe9, 0x3b, 0x23, 0xd2,
-	0xe5, 0x1a, 0xa8, 0x05, 0xab, 0xc4, 0xb3, 0xee, 0x80, 0x94, 0x1e, 0x02, 0x59, 0x26, 0x9e, 0x35,
-	0x81, 0x50, 0x6f, 0x61, 0x89, 0x67, 0x35, 0xf1, 0xac, 0x03, 0x8f, 0xe4, 0xc8, 0x90, 0xfe, 0xcc,
-	0x3c, 0x72, 0x12, 0x7d, 0xb4, 0x0b, 0xc0, 0xab, 0xdc, 0x8a, 0xc5, 0xb8, 0x63, 0x25, 0x9c, 0xa2,
-	0xa8, 0x43, 0x00, 0x6e, 0xfa, 0x2c, 0x30, 0x46, 0x04, 0x1d, 0xc3, 0xe2, 0x4c, 0xc1, 0x00, 0x36,
-	0x89, 0xc3, 0x43, 0x96, 0x5c, 0x98, 0xd7, 0x3c, 0xe6, 0xb0, 0xdb, 0xf8, 0x0c, 0x22, 0xfc, 0x2b,
-	0x1e, 0xc1, 0xf2, 0x0c, 0x12, 0x84, 0x8e, 0x85, 0xf6, 0x60, 0xd1, 0x22, 0xa1, 0x19, 0x38, 0x7e,
-	0x6c, 0x81, 0xe3, 0x54, 0x71, 0x9a, 0x14, 0x9f, 0x52, 0xae, 0xe1, 0xd9, 0x91, 0x61, 0x13, 0xdd,
-	0x8c, 0x7b, 0x47, 0x14, 0xed, 0x52, 0x42, 0x6c, 0x53, 0x8b, 0xa8, 0x5f, 0x97, 0x60, 0x95, 0x6f,
-	0xac, 0x35, 0x3e, 0x9a, 0x51, 0x0b, 0xe6, 0x85, 0x19, 0xb9, 0xb1, 0x0f, 0x8a, 0xcc, 0x1c, 0xae,
-	0x80, 0xa5, 0x22, 0xba, 0x82, 0xc7, 0xa6, 0xc1, 0x88, 0x4d, 0x83, 0x5b, 0x9d, 0x93, 0x1c, 0x79,
-	0x0a, 0xce, 0x84, 0x56, 0x4b, 0x30, 0x34, 0x09, 0x71, 0xe7, 0x94, 0x29, 0x17, 0x3e, 0x65, 0xd2,
-	0x45, 0x93, 0x3a, 0x65, 0x34, 0x98, 0x1f, 0xc4, 0xe9, 0x0c, 0xeb, 0x15, 0x0e, 0xf5, 0x83, 0xa2,
-	0x50, 0xbc, 0x08, 0xb0, 0x54, 0x56, 0xff, 0xaa, 0xc0, 0x7a, 0xa6, 0x99, 0xff, 0xf7, 0x2a, 0xb1,
-	0x60, 0xd3, 0xa7, 0x81, 0x47, 0xed, 0xc0, 0xf0, 0x87, 0xb7, 0xba, 0xeb, 0xbc, 0x26, 0xae, 0x33,
-	0xa4, 0xd4, 0xe2, 0x99, 0x5e, 0x29, 0xe6, 0xeb, 0x58, 0x09, 0x6f, 0xa4, 0xc0, 0x26, 0x64, 0xd5,
-	0x85, 0xed, 0x8c, 0xe7, 0xa9, 0x32, 0xe8, 0x8e, 0xc3, 0x23, 0xce, 0xf3, 0x8f, 0x66, 0x3f, 0x7a,
-	0xee, 0x06, 0xea, 0x35, 0x6c, 0x5c, 0xd0, 0x60, 0x64, 0xb8, 0xce, 0x2f, 0x88, 0x95, 0x1a, 0x3a,
-	0x08, 0x41, 0xc5, 0x25, 0x03, 0x11, 0xa1, 0x12, 0xe6, 0xdf, 0xa8, 0x06, 0x65, 0x46, 0x7d, 0xd9,
-	0x1f, 0xf1, 0x67, 0x3c, 0xe4, 0x02, 0xc7, 0x1e, 0x8a, 0x0b, 0x50, 0x09, 0x8b, 0x05, 0xda, 0x84,
-	0xf9, 0x6b, 0xca, 0x18, 0x1d, 0xf1, 0x03, 0xb2, 0x84, 0xe5, 0x4a, 0xfd, 0x1c, 0x16, 0xe3, 0x49,
-	0xf9, 0xff, 0x1f, 0x15, 0xea, 0xdf, 0x14, 0xa8, 0xc6, 0xd0, 0x22, 0xc9, 0x0c, 0xb6, 0xbd, 0xf1,
-	0xa6, 0xb2, 0x73, 0x56, 0x04, 0xee, 0x27, 0x05, 0x4c, 0x4d, 0x0d, 0x0c, 0xde, 0xf2, 0xa6, 0x91,
-	0x49, 0x98, 0x2d, 0xad, 0xd2, 0x0c, 0xa5, 0xa5, 0x7e, 0xad, 0xc0, 0x4a, 0xec, 0x7f, 0x2a, 0xd5,
-	0x4f, 0xa0, 0xca, 0x86, 0xd1, 0xe8, 0xda, 0x33, 0x1c, 0x71, 0x86, 0x2c, 0xe1, 0x09, 0x01, 0xfd,
-	0x2c, 0xd5, 0x74, 0xa2, 0x87, 0x1b, 0x05, 0xef, 0x00, 0xf9, 0x9e, 0x3b, 0x1d, 0x17, 0x95, 0x68,
-	0xdf, 0xef, 0x17, 0x44, 0xba, 0x5b, 0x49, 0xff, 0x9a, 0x83, 0x4d, 0x9e, 0x9c, 0xc9, 0x1e, 0x30,
-	0x09, 0x23, 0x97, 0x85, 0x6f, 0xbf, 0xb8, 0x7b, 0xb0, 0x2d, 0x3d, 0xd1, 0xc5, 0xed, 0x22, 0xf5,
-	0x20, 0x91, 0x5b, 0x3b, 0x2a, 0x3a, 0x04, 0x52, 0xa6, 0xb7, 0x24, 0x68, 0x86, 0x1e, 0xa2, 0x21,
-	0x6c, 0xf2, 0x8b, 0x65, 0xde, 0x58, 0xf9, 0x9d, 0x8d, 0xad, 0xc7, 0x88, 0x39, 0x4b, 0x5f, 0xc1,
-	0x16, 0x8f, 0xcd, 0x14, 0x53, 0x95, 0x77, 0x36, 0xb5, 0xc1, 0x21, 0x73, 0xb6, 0x5e, 0x41, 0x8d,
-	0x5f, 0x10, 0xd3, 0x46, 0xe6, 0xb8, 0x91, 0xc3, 0x82, 0xd9, 0x4c, 0xd9, 0x58, 0x1d, 0xdc, 0x59,
-	0x87, 0xe8, 0x4b, 0xa8, 0xf1, 0x98, 0xa5, 0xd1, 0xe7, 0xdf, 0xed, 0x41, 0xb1, 0x1a, 0x03, 0xa5,
-	0xb1, 0x47, 0xb0, 0x36, 0xbe, 0x68, 0x4f, 0xf0, 0xeb, 0x8f, 0x0a, 0xdf, 0xef, 0xef, 0x9d, 0x96,
-	0x18, 0x25, 0xc0, 0xa9, 0xb6, 0xda, 0x87, 0x39, 0x12, 0x04, 0x34, 0xa8, 0x57, 0xb9, 0x01, 0x94,
-	0x18, 0x08, 0x7c, 0xb3, 0xd1, 0xe3, 0xcf, 0x50, 0x2c, 0x04, 0xd4, 0x5f, 0x29, 0xb0, 0x91, 0x79,
-	0x87, 0x86, 0x3e, 0xf5, 0x42, 0x82, 0x86, 0x80, 0x26, 0x9e, 0xea, 0x81, 0xa8, 0x72, 0x39, 0x58,
-	0x3e, 0x2e, 0x1a, 0x90, 0x5c, 0x9b, 0xe0, 0xc7, 0x46, 0x96, 0xa4, 0xfe, 0x47, 0x81, 0xad, 0x8c,
-	0xf4, 0x65, 0x40, 0xed, 0x80, 0x84, 0x0f, 0x74, 0xd5, 0x07, 0x50, 0xf3, 0xa5, 0xa0, 0xee, 0x93,
-	0xc0, 0x8c, 0x87, 0x6c, 0x3c, 0x91, 0xe6, 0xf0, 0x6a, 0x42, 0xbf, 0x14, 0x64, 0xf4, 0x31, 0xc0,
-	0xe4, 0x2e, 0x29, 0xdf, 0x55, 0x3b, 0xb9, 0xb1, 0xd5, 0x4f, 0x9e, 0xef, 0xb8, 0x3a, 0xbe, 0x45,
-	0xa2, 0x4f, 0x60, 0x31, 0xf2, 0x2d, 0x83, 0x11, 0xa1, 0x5b, 0x79, 0x50, 0x17, 0x84, 0x78, 0x4c,
-	0x50, 0x7f, 0x93, 0x8d, 0xef, 0x78, 0x67, 0xaf, 0x61, 0x2d, 0x15, 0xdf, 0xc4, 0x5f, 0x19, 0xe0,
-	0xe3, 0xd9, 0x03, 0x9c, 0x00, 0xe3, 0x54, 0xda, 0x12, 0xda, 0xc1, 0x6f, 0x15, 0x78, 0x24, 0x5f,
-	0xf8, 0x68, 0x0b, 0xd6, 0xce, 0xb4, 0x56, 0xff, 0x25, 0xd6, 0xf4, 0x97, 0x17, 0xbd, 0x4b, 0xad,
-	0xdd, 0x39, 0xeb, 0x68, 0xa7, 0xb5, 0x6f, 0xa1, 0x35, 0x58, 0x3d, 0x6f, 0x9d, 0x68, 0xe7, 0xfa,
-	0xa9, 0xd6, 0xd7, 0xda, 0xfd, 0x4e, 0xf7, 0xa2, 0xa6, 0xa0, 0x6d, 0xd8, 0xe8, 0x3d, 0xef, 0xf6,
-	0xf5, 0xf6, 0xf3, 0xd6, 0xc5, 0xa7, 0x5a, 0x8a, 0x55, 0x42, 0xbb, 0xb0, 0xa3, 0x7d, 0x7e, 0x79,
-	0xde, 0x69, 0x77, 0xfa, 0x7a, 0xbb, 0x7b, 0xd1, 0xd7, 0x2e, 0xfa, 0x29, 0x7e, 0x19, 0x21, 0x58,
-	0x39, 0x6b, 0xb5, 0xd3, 0x3a, 0x95, 0x83, 0x00, 0x50, 0xfe, 0x7d, 0x84, 0xbe, 0x03, 0x7b, 0x19,
-	0xcb, 0xfa, 0x8b, 0xee, 0x69, 0xd6, 0xbf, 0x65, 0xa8, 0x72, 0x57, 0x62, 0x56, 0x4d, 0x41, 0x2b,
-	0x00, 0x67, 0xb8, 0xf5, 0x42, 0x13, 0xeb, 0x52, 0xbc, 0x2f, 0xce, 0x6e, 0x5d, 0x9c, 0xea, 0x29,
-	0x46, 0xf9, 0x80, 0x01, 0x4c, 0xae, 0x1e, 0x68, 0x07, 0x36, 0xcf, 0x3b, 0x9f, 0x69, 0xe7, 0x9d,
-	0xe7, 0xdd, 0xee, 0x69, 0xc6, 0xc2, 0x63, 0x58, 0xbe, 0xd2, 0xf0, 0x17, 0xfa, 0xcb, 0x0b, 0x2e,
-	0xf2, 0x45, 0x4d, 0x41, 0x4b, 0xb0, 0x30, 0x5e, 0x95, 0xe2, 0xd5, 0x65, 0xb7, 0xd7, 0xeb, 0x9c,
-	0x9c, 0x6b, 0xb5, 0x32, 0x02, 0x98, 0x97, 0x9c, 0x0a, 0x5a, 0x85, 0x45, 0xae, 0x2a, 0x09, 0x73,
-	0x47, 0x7f, 0x52, 0xa0, 0xce, 0x53, 0xd4, 0x49, 0xe5, 0xad, 0x47, 0x82, 0x1b, 0xc7, 0x24, 0xe8,
-	0x77, 0x0a, 0x2c, 0xdf, 0x29, 0x0b, 0x54, 0xe4, 0x92, 0x33, 0xed, 0x87, 0xd1, 0xce, 0xd3, 0x44,
-	0x31, 0xf5, 0x27, 0xab, 0xd1, 0x4d, 0xfe, 0x64, 0xa9, 0xbb, 0xbf, 0xfe, 0xf7, 0x37, 0x7f, 0x28,
-	0xd5, 0xd5, 0xb5, 0xf1, 0xef, 0xb4, 0xf0, 0x58, 0x16, 0x08, 0x39, 0x56, 0x0e, 0x4e, 0xbe, 0x51,
-	0xe0, 0xbb, 0x26, 0x1d, 0x3d, 0x6c, 0xfd, 0xe4, 0xe9, 0x7d, 0xbb, 0xb9, 0x8c, 0x5b, 0xe0, 0x52,
-	0xf9, 0x12, 0x4b, 0x0c, 0x9b, 0xc6, 0x37, 0xfd, 0x06, 0x0d, 0xec, 0xa6, 0x4d, 0x3c, 0xde, 0x20,
-	0x4d, 0xc1, 0x32, 0x7c, 0x27, 0x7c, 0xcb, 0xef, 0xbe, 0x4f, 0x72, 0xc4, 0x3f, 0x97, 0x9e, 0x7d,
-	0x2a, 0x40, 0xdb, 0xdc, 0xb1, 0x9c, 0x0b, 0x8d, 0xab, 0xc3, 0x7f, 0x26, 0x32, 0xaf, 0xb8, 0xcc,
-	0xab, 0x9c, 0xcc, 0xab, 0xab, 0xc3, 0xeb, 0x79, 0xee, 0xc6, 0x0f, 0xff, 0x1b, 0x00, 0x00, 0xff,
-	0xff, 0xa3, 0x97, 0x20, 0x48, 0x74, 0x14, 0x00, 0x00,
+	// 2132 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x6f, 0x23, 0x49,
+	0x15, 0xa7, 0x9d, 0xd8, 0x13, 0x3f, 0x27, 0xb1, 0xa7, 0xf2, 0xe5, 0x64, 0x67, 0x32, 0x99, 0x5e,
+	0x90, 0x66, 0x66, 0xc1, 0x21, 0x61, 0x99, 0xdd, 0xcd, 0xae, 0x04, 0x8e, 0xd3, 0xd9, 0x31, 0x9b,
+	0x89, 0xad, 0xb2, 0x67, 0xd8, 0x59, 0x8d, 0xd4, 0xea, 0x74, 0x97, 0xdb, 0xbd, 0x69, 0x77, 0x35,
+	0xfd, 0x11, 0x66, 0x56, 0x70, 0x00, 0x21, 0xb8, 0x70, 0xe3, 0xc2, 0x0d, 0x90, 0x38, 0xf1, 0x07,
+	0x20, 0x24, 0x84, 0xb4, 0xda, 0x23, 0x17, 0x0e, 0x9c, 0xb8, 0xef, 0x1f, 0x82, 0xea, 0xa3, 0xed,
+	0xf6, 0x47, 0x92, 0xce, 0xc0, 0xcd, 0xf5, 0x3e, 0x7e, 0xef, 0xd5, 0xab, 0x57, 0xaf, 0xde, 0x6b,
+	0xc3, 0x81, 0x4d, 0xa9, 0xed, 0x92, 0x5d, 0xd3, 0xa5, 0xb1, 0xb5, 0x7b, 0xe1, 0x58, 0x84, 0x3a,
+	0x5e, 0x44, 0x5c, 0xd7, 0xb1, 0x89, 0x67, 0x92, 0xdd, 0x8b, 0x3d, 0x41, 0xd4, 0xd3, 0xd4, 0x9a,
+	0x1f, 0xd0, 0x88, 0xa2, 0xfb, 0x42, 0xb7, 0xc6, 0x75, 0x6b, 0x53, 0xba, 0xb5, 0x8b, 0xbd, 0xad,
+	0x3b, 0x12, 0xde, 0xf0, 0x9d, 0x5d, 0xc3, 0xf3, 0x68, 0x64, 0x44, 0x0e, 0xf5, 0x42, 0x01, 0xb0,
+	0xf5, 0xb6, 0xe4, 0xba, 0xd4, 0xb3, 0x83, 0xd8, 0xf3, 0x1c, 0xcf, 0xde, 0xa5, 0x3e, 0x09, 0xc6,
+	0x84, 0xb6, 0xa5, 0x10, 0x5f, 0x9d, 0xc5, 0xbd, 0x5d, 0x2b, 0x16, 0x02, 0x92, 0x7f, 0x6f, 0x92,
+	0x1f, 0x39, 0x03, 0x12, 0x46, 0xc6, 0xc0, 0x97, 0x02, 0x1b, 0x52, 0x20, 0xf0, 0xcd, 0xdd, 0x30,
+	0x32, 0xa2, 0x58, 0x22, 0xab, 0x7f, 0xcd, 0xc1, 0x6a, 0x5d, 0x38, 0x45, 0x9e, 0x33, 0xef, 0x31,
+	0xf9, 0x49, 0x4c, 0xc2, 0x08, 0xbd, 0x05, 0x45, 0xc7, 0xf3, 0xe3, 0x48, 0x8f, 0x03, 0xa7, 0xaa,
+	0xec, 0x28, 0x0f, 0x8a, 0x78, 0x81, 0x13, 0x9e, 0x05, 0x0e, 0x7a, 0x1b, 0x96, 0x04, 0xd3, 0xa4,
+	0x5e, 0x44, 0xbc, 0xa8, 0x5a, 0xd8, 0x51, 0x1e, 0x2c, 0xe2, 0x45, 0x4e, 0x6c, 0x08, 0x1a, 0x3a,
+	0x86, 0x85, 0x1e, 0x31, 0xa2, 0x38, 0x20, 0x61, 0x35, 0xb7, 0x33, 0xf7, 0x60, 0x79, 0xff, 0x51,
+	0xed, 0xda, 0x68, 0xd5, 0x8e, 0x85, 0x0a, 0x1e, 0xea, 0xa2, 0x2e, 0x2c, 0x89, 0xf0, 0x73, 0x63,
+	0xaf, 0xa2, 0xea, 0xdc, 0x8e, 0xf2, 0xa0, 0xb4, 0xbf, 0x9b, 0x01, 0x8c, 0xef, 0xa8, 0x21, 0xd4,
+	0xf0, 0xe2, 0x45, 0x6a, 0x85, 0xee, 0x02, 0xd0, 0x38, 0x4a, 0x36, 0x38, 0xcf, 0x37, 0x58, 0x14,
+	0x14, 0xb6, 0xc3, 0x7b, 0x50, 0x72, 0xa9, 0xc9, 0x63, 0xac, 0x3b, 0x56, 0x35, 0xcf, 0xf9, 0x90,
+	0x90, 0x9a, 0x96, 0xfa, 0x55, 0x1e, 0x16, 0xd3, 0xf0, 0xe8, 0x13, 0x58, 0x08, 0x89, 0x3d, 0x20,
+	0x5e, 0x14, 0x56, 0x95, 0x9d, 0xb9, 0x9b, 0x78, 0xd8, 0x11, 0x7a, 0x78, 0x08, 0x80, 0x06, 0xb0,
+	0xee, 0x1a, 0x67, 0xc4, 0xd5, 0x2d, 0x12, 0x11, 0x93, 0x7b, 0x61, 0x52, 0xaf, 0xe7, 0xd8, 0xd5,
+	0x1c, 0xdf, 0xfc, 0x7b, 0x19, 0xa0, 0x4f, 0x18, 0xc0, 0x51, 0xa2, 0xdf, 0xe0, 0xea, 0x78, 0xd5,
+	0x9d, 0x41, 0x45, 0x3f, 0x87, 0x3b, 0x61, 0x9f, 0x46, 0xba, 0xd9, 0x37, 0x3c, 0x9b, 0x4c, 0x1b,
+	0x15, 0x11, 0xff, 0x28, 0x83, 0xd1, 0x4e, 0x9f, 0x46, 0x0d, 0x8e, 0x32, 0x69, 0x79, 0x33, 0xbc,
+	0x8c, 0x85, 0x7e, 0xab, 0xc0, 0x7d, 0xf2, 0xca, 0x77, 0x1d, 0xd3, 0x19, 0xa6, 0xd4, 0xb4, 0x13,
+	0xf3, 0xdc, 0x89, 0x7a, 0x06, 0x27, 0x34, 0x89, 0x25, 0x33, 0x71, 0xd2, 0x93, 0x6d, 0x72, 0x25,
+	0x1f, 0x7d, 0x0e, 0x6b, 0x3d, 0xc3, 0x9c, 0x11, 0x86, 0x3c, 0xf7, 0xe0, 0x71, 0x96, 0x2c, 0x36,
+	0xcc, 0xa9, 0x00, 0xac, 0xf4, 0xa6, 0x89, 0xe8, 0x67, 0xf0, 0x56, 0xe8, 0x13, 0x62, 0xf6, 0xf5,
+	0x28, 0x30, 0xbc, 0xd0, 0x0c, 0x1c, 0x3f, 0x6d, 0xb1, 0x90, 0x3d, 0xf0, 0x1c, 0xa5, 0x9b, 0x06,
+	0x19, 0x06, 0xfe, 0x32, 0x96, 0xfa, 0x95, 0x02, 0xab, 0xb3, 0xd2, 0x04, 0xd9, 0xb0, 0x3a, 0x99,
+	0x7f, 0x03, 0x6a, 0x11, 0x5e, 0x08, 0x96, 0xf7, 0xbf, 0x7f, 0xe3, 0xec, 0x7b, 0x4a, 0x2d, 0x82,
+	0x91, 0x3b, 0x45, 0x43, 0xef, 0xc0, 0xed, 0x50, 0x14, 0x44, 0x23, 0x78, 0xad, 0x9b, 0xc6, 0x80,
+	0x04, 0x06, 0xcf, 0xf1, 0x05, 0x5c, 0x19, 0x31, 0x1a, 0x9c, 0x8e, 0x56, 0x21, 0xcf, 0xbc, 0x70,
+	0x79, 0x3e, 0x16, 0xb1, 0x58, 0xa8, 0x7b, 0xb0, 0x79, 0x69, 0xd6, 0x8d, 0x54, 0x94, 0xb4, 0xca,
+	0x63, 0xd8, 0xbe, 0x3a, 0x47, 0x2e, 0xd1, 0x33, 0x60, 0x65, 0xc6, 0xc9, 0xce, 0x16, 0x46, 0xef,
+	0xc2, 0xba, 0xe3, 0x99, 0x6e, 0x6c, 0x11, 0xfd, 0x8c, 0xc6, 0x9e, 0xe5, 0x78, 0xb6, 0x7e, 0x46,
+	0x5f, 0xf1, 0x6a, 0xc8, 0xf6, 0xb7, 0x2a, 0xb9, 0x87, 0x92, 0x79, 0xc8, 0x78, 0xea, 0xef, 0x15,
+	0x59, 0x57, 0x64, 0x51, 0x40, 0x1a, 0x8f, 0x50, 0x10, 0xe9, 0xac, 0xa6, 0xeb, 0xb4, 0xd7, 0x0b,
+	0x49, 0xc4, 0x0d, 0x95, 0xf6, 0x37, 0x93, 0x73, 0x48, 0xea, 0x7e, 0xed, 0x48, 0xbe, 0x0b, 0xb8,
+	0xcc, 0x75, 0xba, 0xce, 0x80, 0xb4, 0xb8, 0x06, 0xaa, 0x43, 0x99, 0x78, 0xd6, 0x18, 0x48, 0xee,
+	0x3a, 0x90, 0x25, 0xe2, 0x59, 0x23, 0x08, 0xf5, 0x35, 0x2c, 0xf2, 0x53, 0x4d, 0x3c, 0x6b, 0xc2,
+	0x2d, 0x59, 0xb0, 0xa4, 0x3f, 0x37, 0x2e, 0x78, 0x89, 0x3e, 0xda, 0x06, 0xe0, 0x19, 0x6f, 0x31,
+	0x31, 0xee, 0x58, 0x0e, 0xa7, 0x28, 0x6a, 0x1f, 0x80, 0x9b, 0x3e, 0x0e, 0x8c, 0x01, 0x41, 0x07,
+	0x50, 0xba, 0x51, 0x30, 0x20, 0x1a, 0xc5, 0xe1, 0x3a, 0x4b, 0x2e, 0x14, 0x34, 0x2f, 0x72, 0xa2,
+	0xd7, 0xec, 0x05, 0x24, 0xfc, 0x17, 0x7b, 0x00, 0xe4, 0x0b, 0x28, 0x08, 0x4d, 0x0b, 0xed, 0x40,
+	0xc9, 0x22, 0xc3, 0xeb, 0xc4, 0x71, 0x8a, 0x38, 0x4d, 0x62, 0x6f, 0xa4, 0x6b, 0x78, 0x76, 0x6c,
+	0xd8, 0x44, 0x37, 0xd9, 0xdd, 0x11, 0x49, 0xbb, 0x98, 0x10, 0x1b, 0xd4, 0x22, 0xea, 0x97, 0x39,
+	0x28, 0xf3, 0x8d, 0xd5, 0x87, 0x8d, 0x01, 0xaa, 0x43, 0x41, 0x98, 0x91, 0x1b, 0x7b, 0x98, 0xa5,
+	0xe2, 0x71, 0x05, 0x2c, 0x15, 0xd1, 0x73, 0xb8, 0x6d, 0x1a, 0x11, 0xb1, 0x69, 0xf0, 0x5a, 0xe7,
+	0x24, 0x47, 0xbe, 0xc1, 0x37, 0x42, 0xab, 0x24, 0x18, 0x9a, 0x84, 0x18, 0x7b, 0xe3, 0xe6, 0x32,
+	0xbf, 0x71, 0xe9, 0xa4, 0x49, 0xbd, 0x71, 0x1a, 0x14, 0x7a, 0xec, 0x38, 0xc3, 0xea, 0x3c, 0x87,
+	0xfa, 0x4e, 0x56, 0x28, 0x9e, 0x04, 0x58, 0x2a, 0xab, 0x7f, 0x53, 0x60, 0x75, 0xe2, 0x32, 0xff,
+	0xef, 0x59, 0x62, 0xc1, 0xba, 0x4f, 0x03, 0x8f, 0xda, 0x81, 0xe1, 0xf7, 0x5f, 0xeb, 0xae, 0x73,
+	0x4e, 0x5c, 0xa7, 0x4f, 0xa9, 0xc5, 0x4f, 0x7a, 0x39, 0x9b, 0xaf, 0x43, 0x25, 0xbc, 0x96, 0x02,
+	0x1b, 0x91, 0x55, 0x17, 0x36, 0x27, 0x3c, 0x4f, 0xa5, 0x41, 0x6b, 0x18, 0x1e, 0xd1, 0x4d, 0xbc,
+	0x77, 0xf3, 0x87, 0x6f, 0x3c, 0x50, 0xe7, 0xb0, 0x76, 0x4a, 0x83, 0x81, 0xe1, 0x3a, 0x5f, 0x10,
+	0x2b, 0x55, 0x74, 0x10, 0x82, 0x79, 0x97, 0xf4, 0x44, 0x84, 0x72, 0x98, 0xff, 0x46, 0x15, 0x98,
+	0x8b, 0xa8, 0x2f, 0xef, 0x07, 0xfb, 0xc9, 0x8a, 0x5c, 0xe0, 0xd8, 0x7d, 0xd1, 0x7e, 0xe5, 0xb0,
+	0x58, 0xa0, 0x75, 0x28, 0x9c, 0xd1, 0x28, 0xa2, 0x03, 0xfe, 0x3c, 0xe7, 0xb0, 0x5c, 0xa9, 0x9f,
+	0x42, 0x89, 0x55, 0xca, 0xff, 0x7f, 0xa9, 0x50, 0xff, 0xa1, 0x40, 0x91, 0x41, 0x8b, 0x43, 0x8e,
+	0x60, 0xd3, 0x1b, 0x6e, 0x6a, 0xb2, 0xce, 0x8a, 0xc0, 0xbd, 0x9f, 0xc1, 0xd4, 0xcc, 0xc0, 0xe0,
+	0x0d, 0x6f, 0x16, 0x99, 0x84, 0x93, 0xa9, 0x95, 0xbb, 0x41, 0x6a, 0xa9, 0x5f, 0x2a, 0xb0, 0xcc,
+	0xfc, 0x4f, 0x1d, 0xf5, 0x1d, 0x28, 0x46, 0xfd, 0x78, 0x70, 0xe6, 0x19, 0x8e, 0x78, 0x43, 0x16,
+	0xf1, 0x88, 0x80, 0x7e, 0x94, 0xba, 0x74, 0xe2, 0x0e, 0xd7, 0x32, 0x76, 0x20, 0xd3, 0x77, 0xee,
+	0x68, 0x98, 0x54, 0xe2, 0xfa, 0x7e, 0x3b, 0x23, 0xd2, 0x78, 0x26, 0xfd, 0xbd, 0x00, 0xeb, 0xfc,
+	0x70, 0x46, 0x7b, 0xc0, 0x24, 0x8c, 0xdd, 0x28, 0xbc, 0x7a, 0x6c, 0xf0, 0x60, 0x53, 0x7a, 0xa2,
+	0x8b, 0xee, 0x22, 0x35, 0x0e, 0xc9, 0xad, 0xed, 0x67, 0x2d, 0x02, 0x29, 0xd3, 0x1b, 0x12, 0x74,
+	0x82, 0x1e, 0xa2, 0x3e, 0xac, 0xf3, 0xb6, 0x76, 0xda, 0xd8, 0xdc, 0x1b, 0x1b, 0x5b, 0x65, 0x88,
+	0x53, 0x96, 0x3e, 0x87, 0x0d, 0x1e, 0x9b, 0x19, 0xa6, 0xe6, 0xdf, 0xd8, 0xd4, 0x1a, 0x87, 0x9c,
+	0xb2, 0xf5, 0x12, 0x2a, 0xbc, 0x3d, 0x4d, 0x1b, 0xc9, 0x73, 0x23, 0x7b, 0x19, 0x4f, 0x33, 0x65,
+	0xa3, 0xdc, 0x1b, 0x5b, 0x87, 0xe8, 0x33, 0xa8, 0xf0, 0x98, 0xa5, 0xd1, 0x0b, 0x6f, 0x36, 0xce,
+	0x94, 0x19, 0x50, 0x1a, 0x7b, 0x00, 0x2b, 0xc3, 0x36, 0x7f, 0x84, 0x5f, 0xbd, 0x95, 0xb9, 0xc9,
+	0xbd, 0xb4, 0x5a, 0x62, 0x94, 0x00, 0xa7, 0xae, 0xd5, 0x39, 0xac, 0xcd, 0xea, 0xad, 0xc3, 0x6a,
+	0x89, 0xef, 0xe7, 0xf1, 0x9b, 0x75, 0xd5, 0x78, 0x75, 0x46, 0x3f, 0x1d, 0xa2, 0x07, 0x90, 0x27,
+	0x41, 0x40, 0x83, 0x6a, 0x91, 0xef, 0x06, 0x25, 0xe0, 0x81, 0x6f, 0xd6, 0x3a, 0x7c, 0xe2, 0xc6,
+	0x42, 0x40, 0xfd, 0x85, 0x02, 0x6b, 0x13, 0x23, 0x77, 0xe8, 0x53, 0x2f, 0x24, 0xa8, 0x0f, 0x68,
+	0x14, 0x16, 0x3d, 0x10, 0x57, 0x4a, 0x56, 0xb1, 0x0f, 0xb2, 0x46, 0x7f, 0xea, 0x4e, 0xe2, 0xdb,
+	0xc6, 0x24, 0x49, 0xfd, 0x8f, 0x02, 0x1b, 0x13, 0xd2, 0xed, 0x80, 0xda, 0x01, 0x09, 0xaf, 0xb9,
+	0xc2, 0x0f, 0xa1, 0xe2, 0x4b, 0x41, 0xdd, 0x27, 0x81, 0xc9, 0x2a, 0x3a, 0x2b, 0x7f, 0x79, 0x5c,
+	0x4e, 0xe8, 0x6d, 0x41, 0x46, 0x1f, 0x00, 0x8c, 0x1a, 0x57, 0x39, 0x42, 0x6e, 0x4d, 0xd5, 0xc8,
+	0x6e, 0xf2, 0xa5, 0x02, 0x17, 0x87, 0x2d, 0x2b, 0xfa, 0x10, 0x4a, 0xb1, 0x6f, 0x19, 0x11, 0x11,
+	0xba, 0xf3, 0xd7, 0xea, 0x82, 0x10, 0x67, 0x04, 0xf5, 0x57, 0x93, 0xf1, 0x1d, 0xee, 0xec, 0x1c,
+	0x56, 0x52, 0xf1, 0x4d, 0xfc, 0x95, 0x01, 0x3e, 0xb8, 0x79, 0x80, 0x13, 0x60, 0x9c, 0x3a, 0xb6,
+	0x84, 0xa6, 0xfe, 0x7a, 0x1e, 0x36, 0x2f, 0x1d, 0xca, 0xa6, 0xbb, 0x43, 0x65, 0xba, 0x3b, 0x64,
+	0xc1, 0x1e, 0x18, 0xaf, 0x74, 0xc3, 0x8d, 0x48, 0xe0, 0x19, 0x91, 0x73, 0x21, 0x67, 0x87, 0x3c,
+	0x2e, 0x0f, 0x8c, 0x57, 0xf5, 0x14, 0x99, 0x89, 0xf6, 0x1c, 0x46, 0x60, 0xdb, 0xea, 0x19, 0x1e,
+	0x6b, 0x1f, 0xe7, 0xf8, 0x98, 0x51, 0x16, 0xf4, 0x76, 0x42, 0x46, 0x2f, 0xa0, 0x2c, 0xaf, 0x85,
+	0xfc, 0xa0, 0x92, 0xd4, 0xa8, 0xef, 0x66, 0xbe, 0x10, 0xc9, 0x27, 0x95, 0xe5, 0x30, 0xbd, 0x0c,
+	0xd1, 0x0f, 0xe1, 0x0e, 0xf1, 0x8c, 0x33, 0x97, 0xe8, 0x46, 0x1c, 0xd1, 0x81, 0x11, 0x39, 0xa6,
+	0xee, 0xc7, 0x9e, 0x19, 0xc5, 0xe2, 0xa6, 0xe7, 0xb9, 0x47, 0x5b, 0x42, 0xa6, 0x9e, 0x88, 0xb4,
+	0x47, 0x12, 0xe8, 0x3e, 0x2c, 0x1a, 0xb1, 0xe5, 0x50, 0x76, 0x65, 0xcd, 0x73, 0x51, 0x7a, 0xf2,
+	0xb8, 0xc4, 0x69, 0x5d, 0x4e, 0x42, 0x1f, 0x81, 0x04, 0xd0, 0x43, 0x9f, 0x18, 0xe7, 0x24, 0xd0,
+	0x2d, 0xc7, 0x08, 0x9c, 0x2f, 0x46, 0xc5, 0x64, 0x01, 0x57, 0x85, 0x44, 0x47, 0x08, 0x1c, 0x8d,
+	0xf8, 0xe8, 0x00, 0x36, 0x53, 0xe2, 0x43, 0x08, 0x93, 0xc6, 0x5e, 0x54, 0x5d, 0xe0, 0xc1, 0xdd,
+	0x48, 0x09, 0x48, 0x84, 0x06, 0x63, 0xb3, 0x89, 0x4e, 0x5a, 0xfe, 0x29, 0x0d, 0x2c, 0x3d, 0x35,
+	0x47, 0x14, 0xc5, 0x44, 0x27, 0xb8, 0x3f, 0xa6, 0x81, 0xd5, 0x18, 0x4d, 0x14, 0x0f, 0x61, 0x69,
+	0x2c, 0x6a, 0xa8, 0x0a, 0xb7, 0xfc, 0x7e, 0x60, 0x84, 0xb2, 0x43, 0x29, 0xe2, 0x64, 0xa9, 0xfe,
+	0x41, 0x81, 0x95, 0x19, 0x39, 0x83, 0x4c, 0x58, 0x1c, 0x4b, 0x02, 0x91, 0xb1, 0x3f, 0xc8, 0x7c,
+	0x5e, 0x98, 0x98, 0xd4, 0xf6, 0x1c, 0x86, 0x95, 0xca, 0x1a, 0x3c, 0x06, 0x3a, 0x9d, 0x92, 0xb9,
+	0x19, 0x03, 0xcb, 0x9f, 0x14, 0xb8, 0x73, 0x15, 0x26, 0x9b, 0xaf, 0x46, 0xd5, 0x56, 0x66, 0x75,
+	0x8a, 0x72, 0xdd, 0xfc, 0x85, 0xea, 0x90, 0x67, 0xc1, 0x4d, 0x9e, 0xe8, 0x77, 0x32, 0xec, 0x91,
+	0xc5, 0xbb, 0xe9, 0xf5, 0x28, 0x16, 0x9a, 0xea, 0xbf, 0x14, 0x58, 0x48, 0x68, 0xe8, 0xfd, 0xb1,
+	0x2a, 0x74, 0xed, 0x10, 0x90, 0x2a, 0x42, 0xef, 0xc2, 0x42, 0x32, 0x31, 0x5f, 0xdf, 0xe1, 0xdd,
+	0x92, 0xa3, 0x32, 0x6b, 0xa6, 0x99, 0x17, 0x72, 0xda, 0xe3, 0xbf, 0x27, 0xf6, 0x3c, 0x3f, 0xb5,
+	0xe7, 0x7b, 0x50, 0x4a, 0xf2, 0x30, 0x32, 0xc4, 0x67, 0xa6, 0x3c, 0x06, 0x49, 0xea, 0x1a, 0xf6,
+	0xa3, 0x3f, 0x2a, 0x70, 0x4b, 0x7e, 0x18, 0x45, 0x1b, 0xb0, 0x72, 0xac, 0xd5, 0xbb, 0xcf, 0xb0,
+	0xa6, 0x3f, 0x3b, 0xed, 0xb4, 0xb5, 0x46, 0xf3, 0xb8, 0xa9, 0x1d, 0x55, 0xbe, 0x81, 0x56, 0xa0,
+	0x7c, 0x52, 0x3f, 0xd4, 0x4e, 0xf4, 0x23, 0xad, 0xab, 0x35, 0xba, 0xcd, 0xd6, 0x69, 0x45, 0x41,
+	0x9b, 0xb0, 0xd6, 0x79, 0xd2, 0xea, 0xea, 0x8d, 0x27, 0xf5, 0xd3, 0x8f, 0xb5, 0x14, 0x2b, 0x87,
+	0xb6, 0x61, 0x4b, 0xfb, 0xb4, 0x7d, 0xd2, 0x6c, 0x34, 0xbb, 0x7a, 0xa3, 0x75, 0xda, 0xd5, 0x4e,
+	0xbb, 0x29, 0xfe, 0x1c, 0x42, 0xb0, 0x7c, 0x5c, 0x6f, 0xa4, 0x75, 0xe6, 0x51, 0x15, 0x56, 0x3b,
+	0x6d, 0x4d, 0x6b, 0x3c, 0xd1, 0xbb, 0xb8, 0x7e, 0xda, 0x69, 0xe0, 0x66, 0x9b, 0x73, 0x0a, 0x8f,
+	0x02, 0x40, 0xd3, 0x9f, 0x7c, 0xd0, 0x37, 0x61, 0x67, 0xc2, 0x27, 0xfd, 0x69, 0xeb, 0x68, 0xd2,
+	0xf3, 0x25, 0x28, 0x72, 0x27, 0x19, 0xab, 0xa2, 0xa0, 0x65, 0x80, 0x63, 0x5c, 0x7f, 0xaa, 0x89,
+	0x75, 0x8e, 0xed, 0x98, 0xb3, 0xeb, 0xa7, 0x47, 0x7a, 0x8a, 0x31, 0xf7, 0x28, 0x02, 0x18, 0x4d,
+	0x53, 0x68, 0x0b, 0xd6, 0x4f, 0x9a, 0x9f, 0x68, 0x27, 0xcd, 0x27, 0xad, 0xd6, 0xd1, 0x84, 0x85,
+	0xdb, 0xb0, 0xf4, 0x5c, 0xc3, 0x2f, 0xf4, 0x67, 0xa7, 0x5c, 0xe4, 0x45, 0x45, 0x41, 0x8b, 0xb0,
+	0x30, 0x5c, 0xe5, 0xd8, 0xaa, 0xdd, 0xea, 0x74, 0x9a, 0x87, 0x27, 0x5a, 0x65, 0x0e, 0x01, 0x14,
+	0x24, 0x67, 0x1e, 0x95, 0xa1, 0xc4, 0x55, 0x25, 0x21, 0xbf, 0xff, 0x67, 0x05, 0xaa, 0xfc, 0x21,
+	0x68, 0xa6, 0xf2, 0xb0, 0x43, 0x82, 0x0b, 0xc7, 0x24, 0xe8, 0x37, 0x0a, 0x2c, 0x8d, 0x3d, 0x3e,
+	0x28, 0xcb, 0xdc, 0x36, 0xeb, 0x0b, 0xfc, 0xd6, 0xdd, 0x44, 0x31, 0xf5, 0xd7, 0x40, 0xad, 0x95,
+	0xfc, 0x35, 0xa0, 0x6e, 0xff, 0xf2, 0xdf, 0x5f, 0xff, 0x2e, 0x57, 0x55, 0x57, 0x86, 0xff, 0x4f,
+	0x84, 0x07, 0xf2, 0x19, 0x22, 0x07, 0xca, 0xa3, 0xc3, 0xaf, 0x15, 0xf8, 0x96, 0x49, 0x07, 0xd7,
+	0x5b, 0x3f, 0xbc, 0x7b, 0xd9, 0x6e, 0xda, 0x2c, 0xcd, 0xdb, 0xca, 0x67, 0x58, 0x62, 0xd8, 0x94,
+	0xd5, 0x82, 0x1a, 0x0d, 0xec, 0x5d, 0x9b, 0x78, 0xfc, 0x12, 0xec, 0x0a, 0x96, 0xe1, 0x3b, 0xe1,
+	0x15, 0xff, 0x9f, 0x7c, 0x38, 0x45, 0xfc, 0x4b, 0xee, 0xfe, 0xc7, 0x02, 0xb4, 0xc1, 0x1d, 0x9b,
+	0x72, 0xa1, 0xf6, 0x7c, 0xef, 0x9f, 0x89, 0xcc, 0x4b, 0x2e, 0xf3, 0x72, 0x4a, 0xe6, 0xe5, 0xf3,
+	0xbd, 0xb3, 0x02, 0x77, 0xe3, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x97, 0xe1, 0xdb, 0x00,
+	0xc5, 0x19, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/container/v1/cluster_service.pb.go b/googleapis/container/v1/cluster_service.pb.go
index ba8120cd6a174ad4442aa05216175d00e184b11d..097ddba90370af731a2940e7a651f10af34079ca 100644
--- a/googleapis/container/v1/cluster_service.pb.go
+++ b/googleapis/container/v1/cluster_service.pb.go
@@ -72,6 +72,9 @@ const (
 	// The ERROR state indicates the cluster may be unusable. Details
 	// can be found in the `statusMessage` field.
 	Cluster_ERROR Cluster_Status = 5
+	// The DEGRADED state indicates the cluster requires user action to restore
+	// full functionality. Details can be found in the `statusMessage` field.
+	Cluster_DEGRADED Cluster_Status = 6
 )
 
 var Cluster_Status_name = map[int32]string{
@@ -81,6 +84,7 @@ var Cluster_Status_name = map[int32]string{
 	3: "RECONCILING",
 	4: "STOPPING",
 	5: "ERROR",
+	6: "DEGRADED",
 }
 
 var Cluster_Status_value = map[string]int32{
@@ -90,6 +94,7 @@ var Cluster_Status_value = map[string]int32{
 	"RECONCILING":        3,
 	"STOPPING":           4,
 	"ERROR":              5,
+	"DEGRADED":           6,
 }
 
 func (x Cluster_Status) String() string {
@@ -359,8 +364,18 @@ type NodeConfig struct {
 	// 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"
+	// metadata keys for the project or be one of the reserved keys:
+	//  "cluster-location"
+	//  "cluster-name"
+	//  "cluster-uid"
+	//  "configure-sh"
+	//  "enable-os-login"
+	//  "gci-update-strategy"
+	//  "gci-ensure-gke-docker"
+	//  "instance-template"
+	//  "kube-env"
+	//  "startup-script"
+	//  "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
@@ -400,12 +415,17 @@ type NodeConfig struct {
 	// See https://cloud.google.com/compute/docs/gpus for more information about
 	// support for GPUs.
 	Accelerators []*AcceleratorConfig `protobuf:"bytes,11,rep,name=accelerators,proto3" json:"accelerators,omitempty"`
+	// Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+	//
+	// If unspecified, the default disk type is 'pd-standard'
+	DiskType string `protobuf:"bytes,12,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
 	// Minimum CPU platform to be used by this instance. The instance may be
 	// scheduled on the specified or newer CPU platform. Applicable values are the
 	// friendly names of CPU platforms, such as
 	// <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
 	// <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
-	// information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+	// information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
 	MinCpuPlatform       string   `protobuf:"bytes,13,opt,name=min_cpu_platform,json=minCpuPlatform,proto3" json:"min_cpu_platform,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -514,6 +534,13 @@ func (m *NodeConfig) GetAccelerators() []*AcceleratorConfig {
 	return nil
 }
 
+func (m *NodeConfig) GetDiskType() string {
+	if m != nil {
+		return m.DiskType
+	}
+	return ""
+}
+
 func (m *NodeConfig) GetMinCpuPlatform() string {
 	if m != nil {
 		return m.MinCpuPlatform
@@ -534,8 +561,9 @@ type MasterAuth struct {
 	// strong password.  If a password is provided for cluster creation, username
 	// must be non-empty.
 	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
-	// Configuration for client certificate authentication on the cluster.  If no
-	// configuration is specified, a client certificate is issued.
+	// Configuration for client certificate authentication on the cluster. For
+	// clusters before v1.12, if no configuration is specified, a client
+	// certificate is issued.
 	ClientCertificateConfig *ClientCertificateConfig `protobuf:"bytes,3,opt,name=client_certificate_config,json=clientCertificateConfig,proto3" json:"client_certificate_config,omitempty"`
 	// [Output only] Base64-encoded public certificate that is the root of
 	// trust for the cluster.
@@ -906,7 +934,6 @@ func (m *NetworkPolicyConfig) GetDisabled() bool {
 	return false
 }
 
-// Master authorized networks is a Beta feature.
 // Configuration options for the master authorized networks feature. Enabled
 // master authorized networks will disallow all external traffic to access
 // Kubernetes master through HTTPS except traffic from the given CIDR blocks,
@@ -1122,11 +1149,11 @@ type IPAllocationPolicy struct {
 	// subnetwork.
 	SubnetworkName string `protobuf:"bytes,3,opt,name=subnetwork_name,json=subnetworkName,proto3" json:"subnetwork_name,omitempty"`
 	// This field is deprecated, use cluster_ipv4_cidr_block.
-	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"`
+	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use node_ipv4_cidr_block.
-	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"`
+	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use services_ipv4_cidr_block.
-	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
+	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// The name of the secondary range to be used for the cluster CIDR
 	// block.  The secondary range will be used for pod IP
 	// addresses. This must be an existing secondary range associated
@@ -1241,6 +1268,7 @@ func (m *IPAllocationPolicy) GetSubnetworkName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	if m != nil {
 		return m.ClusterIpv4Cidr
@@ -1248,6 +1276,7 @@ func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	if m != nil {
 		return m.NodeIpv4Cidr
@@ -1255,6 +1284,7 @@ func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetServicesIpv4Cidr() string {
 	if m != nil {
 		return m.ServicesIpv4Cidr
@@ -1297,7 +1327,7 @@ func (m *IPAllocationPolicy) GetServicesIpv4CidrBlock() string {
 	return ""
 }
 
-// A Google Container Engine cluster.
+// A Google Kubernetes Engine cluster.
 type Cluster struct {
 	// 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:
@@ -1386,17 +1416,19 @@ type Cluster struct {
 	NetworkPolicy *NetworkPolicy `protobuf:"bytes,19,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
 	// Configuration for cluster IP allocation.
 	IpAllocationPolicy *IPAllocationPolicy `protobuf:"bytes,20,opt,name=ip_allocation_policy,json=ipAllocationPolicy,proto3" json:"ip_allocation_policy,omitempty"`
-	// Master authorized networks is a Beta feature.
 	// The configuration options for master authorized networks feature.
 	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,22,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig,proto3" json:"master_authorized_networks_config,omitempty"`
 	// Configure the maintenance policy for this cluster.
 	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,23,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
+	// Configuration for cluster networking.
+	NetworkConfig *NetworkConfig `protobuf:"bytes,27,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"`
 	// [Output only] Server-defined URL for the resource.
 	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
 	// [Output only] The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field is deprecated, use location instead.
+	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// [Output only] The IP address of this cluster's master endpoint.
 	// The endpoint can be accessed from the internet at
 	// `https://username:password@endpoint/`.
@@ -1408,13 +1440,24 @@ type Cluster struct {
 	// found in validMasterVersions returned by getServerConfig.  The version can
 	// be upgraded over time; such upgrades are reflected in
 	// currentMasterVersion and currentNodeVersion.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "","-": picks the default Kubernetes version
 	InitialClusterVersion string `protobuf:"bytes,103,opt,name=initial_cluster_version,json=initialClusterVersion,proto3" json:"initial_cluster_version,omitempty"`
 	// [Output only] The current software version of the master endpoint.
 	CurrentMasterVersion string `protobuf:"bytes,104,opt,name=current_master_version,json=currentMasterVersion,proto3" json:"current_master_version,omitempty"`
-	// [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.
-	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"`
+	// [Output only] Deprecated, use
+	// [NodePool.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePool)
+	// instead. 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.
+	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"` // Deprecated: Do not use.
 	// [Output only] The time the cluster was created, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	CreateTime string `protobuf:"bytes,106,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
@@ -1434,12 +1477,17 @@ type Cluster struct {
 	// typically put in the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `protobuf:"bytes,110,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
 	// Deprecated. Use node_pools.instance_group_urls.
-	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
+	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"` // Deprecated: Do not use.
 	// [Output only] The number of nodes currently in the cluster.
 	CurrentNodeCount int32 `protobuf:"varint,112,opt,name=current_node_count,json=currentNodeCount,proto3" json:"current_node_count,omitempty"`
 	// [Output only] The time the cluster will be automatically
 	// deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-	ExpireTime           string   `protobuf:"bytes,113,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+	ExpireTime string `protobuf:"bytes,113,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+	// [Output only] The name of the Google Compute Engine
+	// [zone](/compute/docs/regions-zones/regions-zones#available) or
+	// [region](/compute/docs/regions-zones/regions-zones#available) in which
+	// the cluster resides.
+	Location             string   `protobuf:"bytes,114,opt,name=location,proto3" json:"location,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -1617,6 +1665,13 @@ func (m *Cluster) GetMaintenancePolicy() *MaintenancePolicy {
 	return nil
 }
 
+func (m *Cluster) GetNetworkConfig() *NetworkConfig {
+	if m != nil {
+		return m.NetworkConfig
+	}
+	return nil
+}
+
 func (m *Cluster) GetSelfLink() string {
 	if m != nil {
 		return m.SelfLink
@@ -1624,6 +1679,7 @@ func (m *Cluster) GetSelfLink() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -1652,6 +1708,7 @@ func (m *Cluster) GetCurrentMasterVersion() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetCurrentNodeVersion() string {
 	if m != nil {
 		return m.CurrentNodeVersion
@@ -1694,6 +1751,7 @@ func (m *Cluster) GetServicesIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetInstanceGroupUrls() []string {
 	if m != nil {
 		return m.InstanceGroupUrls
@@ -1715,13 +1773,28 @@ func (m *Cluster) GetExpireTime() string {
 	return ""
 }
 
+func (m *Cluster) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
 // 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.
 type ClusterUpdate struct {
 	// The Kubernetes version to change the nodes to (typically an
-	// upgrade). Use `-` to upgrade to the latest version supported by
-	// the server.
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
 	DesiredNodeVersion string `protobuf:"bytes,4,opt,name=desired_node_version,json=desiredNodeVersion,proto3" json:"desired_node_version,omitempty"`
 	// The monitoring service the cluster should use to write metrics.
 	// Currently available options:
@@ -1752,12 +1825,18 @@ type ClusterUpdate struct {
 	//
 	// This list must always include the cluster's primary zone.
 	DesiredLocations []string `protobuf:"bytes,10,rep,name=desired_locations,json=desiredLocations,proto3" json:"desired_locations,omitempty"`
-	// Master authorized networks is a Beta feature.
 	// The desired configuration options for master authorized networks feature.
 	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,12,opt,name=desired_master_authorized_networks_config,json=desiredMasterAuthorizedNetworksConfig,proto3" json:"desired_master_authorized_networks_config,omitempty"`
-	// 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.
+	// The Kubernetes version to change the master to.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
 	DesiredMasterVersion string   `protobuf:"bytes,100,opt,name=desired_master_version,json=desiredMasterVersion,proto3" json:"desired_master_version,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -1860,7 +1939,8 @@ type Operation struct {
 	// The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the operation
 	// is taking place.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field is deprecated, use location instead.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The operation type.
 	OperationType Operation_Type `protobuf:"varint,3,opt,name=operation_type,json=operationType,proto3,enum=google.container.v1.Operation_Type" json:"operation_type,omitempty"`
 	// The current status of the operation.
@@ -1873,6 +1953,11 @@ type Operation struct {
 	SelfLink string `protobuf:"bytes,6,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
 	// Server-defined URL for the target of the operation.
 	TargetLink string `protobuf:"bytes,7,opt,name=target_link,json=targetLink,proto3" json:"target_link,omitempty"`
+	// [Output only] The name of the Google Compute Engine
+	// [zone](/compute/docs/regions-zones/regions-zones#available) or
+	// [region](/compute/docs/regions-zones/regions-zones#available) in which
+	// the cluster resides.
+	Location string `protobuf:"bytes,9,opt,name=location,proto3" json:"location,omitempty"`
 	// [Output only] The time the operation started, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	StartTime string `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
@@ -1916,6 +2001,7 @@ func (m *Operation) GetName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Operation) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -1965,6 +2051,13 @@ func (m *Operation) GetTargetLink() string {
 	return ""
 }
 
+func (m *Operation) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
 func (m *Operation) GetStartTime() string {
 	if m != nil {
 		return m.StartTime
@@ -1981,16 +2074,21 @@ func (m *Operation) GetEndTime() string {
 
 // CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// A [cluster
 	// resource](/container-engine/reference/rest/v1/projects.zones.clusters)
-	Cluster              *Cluster `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
+	Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
+	// The parent (project and location) where the cluster will be created.
+	// Specified in the format 'projects/*/locations/*'.
+	Parent               string   `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2021,6 +2119,7 @@ func (m *CreateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CreateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2028,6 +2127,7 @@ func (m *CreateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2042,17 +2142,30 @@ func (m *CreateClusterRequest) GetCluster() *Cluster {
 	return nil
 }
 
+func (m *CreateClusterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 // GetClusterRequest gets the settings of a cluster.
 type GetClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to retrieve.
-	ClusterId            string   `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to retrieve.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster) of the cluster to retrieve.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2083,6 +2196,7 @@ func (m *GetClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2090,6 +2204,7 @@ func (m *GetClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2097,6 +2212,7 @@ func (m *GetClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2104,22 +2220,35 @@ func (m *GetClusterRequest) GetClusterId() string {
 	return ""
 }
 
+func (m *GetClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // UpdateClusterRequest updates the settings of a cluster.
 type UpdateClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// A description of the update.
-	Update               *ClusterUpdate `protobuf:"bytes,4,opt,name=update,proto3" json:"update,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
+	Update *ClusterUpdate `protobuf:"bytes,4,opt,name=update,proto3" json:"update,omitempty"`
+	// The name (project, location, cluster) of the cluster to update.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *UpdateClusterRequest) Reset()         { *m = UpdateClusterRequest{} }
@@ -2147,6 +2276,7 @@ func (m *UpdateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2154,6 +2284,7 @@ func (m *UpdateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2161,6 +2292,7 @@ func (m *UpdateClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2175,25 +2307,48 @@ func (m *UpdateClusterRequest) GetUpdate() *ClusterUpdate {
 	return nil
 }
 
+func (m *UpdateClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // UpdateNodePoolRequests update a node pool's image and/or version.
 type UpdateNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to upgrade.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// The Kubernetes version to change the nodes to (typically an
-	// upgrade). Use `-` to upgrade to the latest version supported by
-	// the server.
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
 	NodeVersion string `protobuf:"bytes,5,opt,name=node_version,json=nodeVersion,proto3" json:"node_version,omitempty"`
 	// The desired image type for the node pool.
-	ImageType            string   `protobuf:"bytes,6,opt,name=image_type,json=imageType,proto3" json:"image_type,omitempty"`
+	ImageType string `protobuf:"bytes,6,opt,name=image_type,json=imageType,proto3" json:"image_type,omitempty"`
+	// The name (project, location, cluster, node pool) of the node pool to
+	// update. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2224,6 +2379,7 @@ func (m *UpdateNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2231,6 +2387,7 @@ func (m *UpdateNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2238,6 +2395,7 @@ func (m *UpdateNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2245,6 +2403,7 @@ func (m *UpdateNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -2266,24 +2425,39 @@ func (m *UpdateNodePoolRequest) GetImageType() string {
 	return ""
 }
 
+func (m *UpdateNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
 type SetNodePoolAutoscalingRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to upgrade.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// Autoscaling configuration for the node pool.
-	Autoscaling          *NodePoolAutoscaling `protobuf:"bytes,5,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
+	Autoscaling *NodePoolAutoscaling `protobuf:"bytes,5,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
+	// The name (project, location, cluster, node pool) of the node pool to set
+	// autoscaler settings. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetNodePoolAutoscalingRequest) Reset()         { *m = SetNodePoolAutoscalingRequest{} }
@@ -2311,6 +2485,7 @@ func (m *SetNodePoolAutoscalingRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolAutoscalingRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2318,6 +2493,7 @@ func (m *SetNodePoolAutoscalingRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2325,6 +2501,7 @@ func (m *SetNodePoolAutoscalingRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2332,6 +2509,7 @@ func (m *SetNodePoolAutoscalingRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -2346,23 +2524,36 @@ func (m *SetNodePoolAutoscalingRequest) GetAutoscaling() *NodePoolAutoscaling {
 	return nil
 }
 
+func (m *SetNodePoolAutoscalingRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetLoggingServiceRequest sets the logging service of a cluster.
 type SetLoggingServiceRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
+	// This field has been deprecated and replaced by the name field.
 	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The logging service the cluster should use to write metrics.
 	// Currently available options:
 	//
 	// * "logging.googleapis.com" - the Google Cloud Logging service
 	// * "none" - no metrics will be exported from the cluster
-	LoggingService       string   `protobuf:"bytes,4,opt,name=logging_service,json=loggingService,proto3" json:"logging_service,omitempty"`
+	LoggingService string `protobuf:"bytes,4,opt,name=logging_service,json=loggingService,proto3" json:"logging_service,omitempty"`
+	// The name (project, location, cluster) of the cluster to set logging.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2393,6 +2584,7 @@ func (m *SetLoggingServiceRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLoggingServiceRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLoggingServiceRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2407,6 +2599,7 @@ func (m *SetLoggingServiceRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLoggingServiceRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2421,23 +2614,36 @@ func (m *SetLoggingServiceRequest) GetLoggingService() string {
 	return ""
 }
 
+func (m *SetLoggingServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetMonitoringServiceRequest sets the monitoring service of a cluster.
 type SetMonitoringServiceRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// 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
-	MonitoringService    string   `protobuf:"bytes,4,opt,name=monitoring_service,json=monitoringService,proto3" json:"monitoring_service,omitempty"`
+	MonitoringService string `protobuf:"bytes,4,opt,name=monitoring_service,json=monitoringService,proto3" json:"monitoring_service,omitempty"`
+	// The name (project, location, cluster) of the cluster to set monitoring.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2468,6 +2674,7 @@ func (m *SetMonitoringServiceRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetMonitoringServiceRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2475,6 +2682,7 @@ func (m *SetMonitoringServiceRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2482,6 +2690,7 @@ func (m *SetMonitoringServiceRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2496,23 +2705,36 @@ func (m *SetMonitoringServiceRequest) GetMonitoringService() string {
 	return ""
 }
 
+func (m *SetMonitoringServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetAddonsConfigRequest sets the addons associated with the cluster.
 type SetAddonsConfigRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The desired configurations for the various addons available to run in the
 	// cluster.
-	AddonsConfig         *AddonsConfig `protobuf:"bytes,4,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
+	AddonsConfig *AddonsConfig `protobuf:"bytes,4,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
+	// The name (project, location, cluster) of the cluster to set addons.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetAddonsConfigRequest) Reset()         { *m = SetAddonsConfigRequest{} }
@@ -2540,6 +2762,7 @@ func (m *SetAddonsConfigRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetAddonsConfigRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2547,6 +2770,7 @@ func (m *SetAddonsConfigRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2554,6 +2778,7 @@ func (m *SetAddonsConfigRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2568,17 +2793,27 @@ func (m *SetAddonsConfigRequest) GetAddonsConfig() *AddonsConfig {
 	return nil
 }
 
+func (m *SetAddonsConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetLocationsRequest sets the locations of the cluster.
 type SetLocationsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The desired list of Google Compute Engine
 	// [locations](/compute/docs/zones#available) in which the cluster's nodes
 	// should be located. Changing the locations a cluster is in will result
@@ -2586,7 +2821,10 @@ type SetLocationsRequest struct {
 	// whether locations are being added or removed.
 	//
 	// This list must always include the cluster's primary zone.
-	Locations            []string `protobuf:"bytes,4,rep,name=locations,proto3" json:"locations,omitempty"`
+	Locations []string `protobuf:"bytes,4,rep,name=locations,proto3" json:"locations,omitempty"`
+	// The name (project, location, cluster) of the cluster to set locations.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2617,6 +2855,7 @@ func (m *SetLocationsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLocationsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2624,6 +2863,7 @@ func (m *SetLocationsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2631,6 +2871,7 @@ func (m *SetLocationsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2645,21 +2886,41 @@ func (m *SetLocationsRequest) GetLocations() []string {
 	return nil
 }
 
+func (m *SetLocationsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // UpdateMasterRequest updates the master of the cluster.
 type UpdateMasterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// 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.
-	MasterVersion        string   `protobuf:"bytes,4,opt,name=master_version,json=masterVersion,proto3" json:"master_version,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The Kubernetes version to change the master to.
+	//
+	// Users may specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
+	MasterVersion string `protobuf:"bytes,4,opt,name=master_version,json=masterVersion,proto3" json:"master_version,omitempty"`
+	// The name (project, location, cluster) of the cluster to update.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2690,6 +2951,7 @@ func (m *UpdateMasterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateMasterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2697,6 +2959,7 @@ func (m *UpdateMasterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2704,6 +2967,7 @@ func (m *UpdateMasterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2718,24 +2982,37 @@ func (m *UpdateMasterRequest) GetMasterVersion() string {
 	return ""
 }
 
+func (m *UpdateMasterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetMasterAuthRequest updates the admin password of a cluster.
 type SetMasterAuthRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The exact form of action to be taken on the master auth.
 	Action SetMasterAuthRequest_Action `protobuf:"varint,4,opt,name=action,proto3,enum=google.container.v1.SetMasterAuthRequest_Action" json:"action,omitempty"`
 	// A description of the update.
-	Update               *MasterAuth `protobuf:"bytes,5,opt,name=update,proto3" json:"update,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+	Update *MasterAuth `protobuf:"bytes,5,opt,name=update,proto3" json:"update,omitempty"`
+	// The name (project, location, cluster) of the cluster to set auth.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetMasterAuthRequest) Reset()         { *m = SetMasterAuthRequest{} }
@@ -2763,6 +3040,7 @@ func (m *SetMasterAuthRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetMasterAuthRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2770,6 +3048,7 @@ func (m *SetMasterAuthRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2777,6 +3056,7 @@ func (m *SetMasterAuthRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2798,17 +3078,30 @@ func (m *SetMasterAuthRequest) GetUpdate() *MasterAuth {
 	return nil
 }
 
+func (m *SetMasterAuthRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // DeleteClusterRequest deletes a cluster.
 type DeleteClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to delete.
-	ClusterId            string   `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to delete.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster) of the cluster to delete.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2839,6 +3132,7 @@ func (m *DeleteClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_DeleteClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2846,6 +3140,7 @@ func (m *DeleteClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2853,6 +3148,7 @@ func (m *DeleteClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2860,15 +3156,28 @@ func (m *DeleteClusterRequest) GetClusterId() string {
 	return ""
 }
 
+func (m *DeleteClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // ListClustersRequest lists clusters.
 type ListClustersRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides, or "-" for all zones.
-	Zone                 string   `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The parent (project and location) where the clusters will be listed.
+	// Specified in the format 'projects/*/locations/*'.
+	// Location "-" matches all zones and all regions.
+	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -2899,6 +3208,7 @@ func (m *ListClustersRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListClustersRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListClustersRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2906,6 +3216,7 @@ func (m *ListClustersRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListClustersRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2913,6 +3224,13 @@ func (m *ListClustersRequest) GetZone() string {
 	return ""
 }
 
+func (m *ListClustersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 // ListClustersResponse is the result of ListClustersRequest.
 type ListClustersResponse struct {
 	// A list of clusters in the project in the specified zone, or
@@ -2967,15 +3285,21 @@ func (m *ListClustersResponse) GetMissingZones() []string {
 
 // GetOperationRequest gets a single operation.
 type GetOperationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	OperationId          string   `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, operation id) of the operation to get.
+	// Specified in the format 'projects/*/locations/*/operations/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3006,6 +3330,7 @@ func (m *GetOperationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetOperationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3013,6 +3338,7 @@ func (m *GetOperationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3020,6 +3346,7 @@ func (m *GetOperationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetOperationId() string {
 	if m != nil {
 		return m.OperationId
@@ -3027,14 +3354,27 @@ func (m *GetOperationRequest) GetOperationId() string {
 	return ""
 }
 
+func (m *GetOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // ListOperationsRequest lists operations.
 type ListOperationsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for, or `-` for all zones.
-	Zone                 string   `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for, or `-` for
+	// all zones. This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The parent (project and location) where the operations will be listed.
+	// Specified in the format 'projects/*/locations/*'.
+	// Location "-" matches all zones and all regions.
+	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3065,6 +3405,7 @@ func (m *ListOperationsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListOperationsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListOperationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3072,6 +3413,7 @@ func (m *ListOperationsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListOperationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3079,16 +3421,29 @@ func (m *ListOperationsRequest) GetZone() string {
 	return ""
 }
 
+func (m *ListOperationsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 // CancelOperationRequest cancels a single operation.
 type CancelOperationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the operation resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	OperationId          string   `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, operation id) of the operation to cancel.
+	// Specified in the format 'projects/*/locations/*/operations/*'.
+	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3119,6 +3474,7 @@ func (m *CancelOperationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CancelOperationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3126,6 +3482,7 @@ func (m *CancelOperationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3133,6 +3490,7 @@ func (m *CancelOperationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetOperationId() string {
 	if m != nil {
 		return m.OperationId
@@ -3140,6 +3498,13 @@ func (m *CancelOperationRequest) GetOperationId() string {
 	return ""
 }
 
+func (m *CancelOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // ListOperationsResponse is the result of ListOperationsRequest.
 type ListOperationsResponse struct {
 	// A list of operations in the project in the specified zone.
@@ -3191,14 +3556,19 @@ func (m *ListOperationsResponse) GetMissingZones() []string {
 	return nil
 }
 
-// Gets the current Container Engine service configuration.
+// Gets the current Kubernetes Engine service configuration.
 type GetServerConfigRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for.
-	Zone                 string   `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The name (project and location) of the server config to get
+	// Specified in the format 'projects/*/locations/*'.
+	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3229,6 +3599,7 @@ func (m *GetServerConfigRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetServerConfigRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetServerConfigRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3236,6 +3607,7 @@ func (m *GetServerConfigRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetServerConfigRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3243,7 +3615,14 @@ func (m *GetServerConfigRequest) GetZone() string {
 	return ""
 }
 
-// Container Engine service configuration.
+func (m *GetServerConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Kubernetes Engine service configuration.
 type ServerConfig struct {
 	// Version of Kubernetes the service deploys by default.
 	DefaultClusterVersion string `protobuf:"bytes,1,opt,name=default_cluster_version,json=defaultClusterVersion,proto3" json:"default_cluster_version,omitempty"`
@@ -3322,20 +3701,27 @@ func (m *ServerConfig) GetValidMasterVersions() []string {
 
 // CreateNodePoolRequest creates a node pool for a cluster.
 type CreateNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The node pool to create.
-	NodePool             *NodePool `protobuf:"bytes,4,opt,name=node_pool,json=nodePool,proto3" json:"node_pool,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
+	NodePool *NodePool `protobuf:"bytes,4,opt,name=node_pool,json=nodePool,proto3" json:"node_pool,omitempty"`
+	// The parent (project, location, cluster id) where the node pool will be
+	// created. Specified in the format
+	// 'projects/*/locations/*/clusters/*'.
+	Parent               string   `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *CreateNodePoolRequest) Reset()         { *m = CreateNodePoolRequest{} }
@@ -3363,6 +3749,7 @@ func (m *CreateNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CreateNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3370,6 +3757,7 @@ func (m *CreateNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3377,6 +3765,7 @@ func (m *CreateNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3391,19 +3780,34 @@ func (m *CreateNodePoolRequest) GetNodePool() *NodePool {
 	return nil
 }
 
+func (m *CreateNodePoolRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 // DeleteNodePoolRequest deletes a node pool for a cluster.
 type DeleteNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to delete.
-	NodePoolId           string   `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to delete.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// delete. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3434,6 +3838,7 @@ func (m *DeleteNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_DeleteNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3441,6 +3846,7 @@ func (m *DeleteNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3448,6 +3854,7 @@ func (m *DeleteNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3455,6 +3862,7 @@ func (m *DeleteNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -3462,17 +3870,30 @@ func (m *DeleteNodePoolRequest) GetNodePoolId() string {
 	return ""
 }
 
+func (m *DeleteNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // ListNodePoolsRequest lists the node pool(s) for a cluster.
 type ListNodePoolsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId            string   `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The parent (project, location, cluster id) where the node pools will be
+	// listed. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Parent               string   `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3503,6 +3924,7 @@ func (m *ListNodePoolsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListNodePoolsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3510,6 +3932,7 @@ func (m *ListNodePoolsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3517,6 +3940,7 @@ func (m *ListNodePoolsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3524,19 +3948,34 @@ func (m *ListNodePoolsRequest) GetClusterId() string {
 	return ""
 }
 
+func (m *ListNodePoolsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 // GetNodePoolRequest retrieves a node pool for a cluster.
 type GetNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool.
-	NodePoolId           string   `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// get. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -3567,6 +4006,7 @@ func (m *GetNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3574,6 +4014,7 @@ func (m *GetNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3581,6 +4022,7 @@ func (m *GetNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3588,6 +4030,7 @@ func (m *GetNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -3595,6 +4038,13 @@ func (m *GetNodePoolRequest) GetNodePoolId() string {
 	return ""
 }
 
+func (m *GetNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // NodePool contains the name and configuration for a cluster's node pool.
 // Node pools are a set of nodes (i.e. VM's), with a common configuration and
 // specification, under the control of the cluster master. They may have a set
@@ -4061,22 +4511,30 @@ func (m *DailyMaintenanceWindow) GetDuration() string {
 // SetNodePoolManagementRequest sets the node management properties of a node
 // pool.
 type SetNodePoolManagementRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to update.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// NodeManagement configuration for the node pool.
-	Management           *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
-	XXX_unrecognized     []byte          `json:"-"`
-	XXX_sizecache        int32           `json:"-"`
+	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
+	// The name (project, location, cluster, node pool id) of the node pool to set
+	// management properties. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetNodePoolManagementRequest) Reset()         { *m = SetNodePoolManagementRequest{} }
@@ -4104,6 +4562,7 @@ func (m *SetNodePoolManagementRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolManagementRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4111,6 +4570,7 @@ func (m *SetNodePoolManagementRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4118,6 +4578,7 @@ func (m *SetNodePoolManagementRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4125,6 +4586,7 @@ func (m *SetNodePoolManagementRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4139,22 +4601,37 @@ func (m *SetNodePoolManagementRequest) GetManagement() *NodeManagement {
 	return nil
 }
 
+func (m *SetNodePoolManagementRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetNodePoolSizeRequest sets the size a node
 // pool.
 type SetNodePoolSizeRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to update.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// The desired node count for the pool.
-	NodeCount            int32    `protobuf:"varint,5,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
+	NodeCount int32 `protobuf:"varint,5,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
+	// The name (project, location, cluster, node pool id) of the node pool to set
+	// size.
+	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4185,6 +4662,7 @@ func (m *SetNodePoolSizeRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolSizeRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4192,6 +4670,7 @@ func (m *SetNodePoolSizeRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4199,6 +4678,7 @@ func (m *SetNodePoolSizeRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4206,6 +4686,7 @@ func (m *SetNodePoolSizeRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4220,21 +4701,36 @@ func (m *SetNodePoolSizeRequest) GetNodeCount() int32 {
 	return 0
 }
 
+func (m *SetNodePoolSizeRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
 // NodePool upgrade. This will be an no-op if the last upgrade successfully
 // completed.
 type RollbackNodePoolUpgradeRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to rollback.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to rollback.
-	NodePoolId           string   `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to rollback.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to rollback.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node poll to
+	// rollback upgrade.
+	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4265,6 +4761,7 @@ func (m *RollbackNodePoolUpgradeRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_RollbackNodePoolUpgradeRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4272,6 +4769,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4279,6 +4777,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4286,6 +4785,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4293,6 +4793,13 @@ func (m *RollbackNodePoolUpgradeRequest) GetNodePoolId() string {
 	return ""
 }
 
+func (m *RollbackNodePoolUpgradeRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // ListNodePoolsResponse is the result of ListNodePoolsRequest.
 type ListNodePoolsResponse struct {
 	// A list of node pools for a cluster.
@@ -4400,24 +4907,30 @@ func (m *NodePoolAutoscaling) GetMaxNodeCount() int32 {
 // Engine cluster, which will in turn set them for Google Compute Engine
 // resources used by that cluster
 type SetLabelsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The labels to set for that cluster.
 	ResourceLabels map[string]string `protobuf:"bytes,4,rep,name=resource_labels,json=resourceLabels,proto3" json:"resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 	// The fingerprint of the previous set of labels for this resource,
 	// used to detect conflicts. The fingerprint is initially generated by
-	// Container Engine and changes after every request to modify or update
+	// Kubernetes Engine and changes after every request to modify or update
 	// labels. You must always provide an up-to-date fingerprint hash when
 	// updating or changing labels. Make a <code>get()</code> request to the
 	// resource to get the latest fingerprint.
-	LabelFingerprint     string   `protobuf:"bytes,5,opt,name=label_fingerprint,json=labelFingerprint,proto3" json:"label_fingerprint,omitempty"`
+	LabelFingerprint string `protobuf:"bytes,5,opt,name=label_fingerprint,json=labelFingerprint,proto3" json:"label_fingerprint,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set labels.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4448,6 +4961,7 @@ func (m *SetLabelsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLabelsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4455,6 +4969,7 @@ func (m *SetLabelsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4462,6 +4977,7 @@ func (m *SetLabelsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4483,20 +4999,33 @@ func (m *SetLabelsRequest) GetLabelFingerprint() string {
 	return ""
 }
 
+func (m *SetLabelsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
 // a cluster.
 type SetLegacyAbacRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// Whether ABAC authorization will be enabled in the cluster.
-	Enabled              bool     `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set legacy abac.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4527,6 +5056,7 @@ func (m *SetLegacyAbacRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLegacyAbacRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4534,6 +5064,7 @@ func (m *SetLegacyAbacRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4541,6 +5072,7 @@ func (m *SetLegacyAbacRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4555,18 +5087,33 @@ func (m *SetLegacyAbacRequest) GetEnabled() bool {
 	return false
 }
 
+func (m *SetLegacyAbacRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // StartIPRotationRequest creates a new IP for the cluster and then performs
 // a node upgrade on each node pool to point to the new IP.
 type StartIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId            string   `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to start IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// Whether to rotate credentials during IP rotation.
+	RotateCredentials    bool     `protobuf:"varint,7,opt,name=rotate_credentials,json=rotateCredentials,proto3" json:"rotate_credentials,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4597,6 +5144,7 @@ func (m *StartIPRotationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_StartIPRotationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4604,6 +5152,7 @@ func (m *StartIPRotationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4611,6 +5160,7 @@ func (m *StartIPRotationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4618,17 +5168,37 @@ func (m *StartIPRotationRequest) GetClusterId() string {
 	return ""
 }
 
+func (m *StartIPRotationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *StartIPRotationRequest) GetRotateCredentials() bool {
+	if m != nil {
+		return m.RotateCredentials
+	}
+	return false
+}
+
 // CompleteIPRotationRequest moves the cluster master back into single-IP mode.
 type CompleteIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId            string   `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to complete IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4659,6 +5229,7 @@ func (m *CompleteIPRotationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CompleteIPRotationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4666,6 +5237,7 @@ func (m *CompleteIPRotationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4673,6 +5245,7 @@ func (m *CompleteIPRotationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4680,6 +5253,13 @@ func (m *CompleteIPRotationRequest) GetClusterId() string {
 	return ""
 }
 
+func (m *CompleteIPRotationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // AcceleratorConfig represents a Hardware Accelerator request.
 type AcceleratorConfig struct {
 	// The number of the accelerator cards exposed to an instance.
@@ -4733,20 +5313,26 @@ func (m *AcceleratorConfig) GetAcceleratorType() string {
 
 // SetNetworkPolicyRequest enables/disables network policy for a cluster.
 type SetNetworkPolicyRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// Configuration options for the NetworkPolicy feature.
-	NetworkPolicy        *NetworkPolicy `protobuf:"bytes,4,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
+	NetworkPolicy *NetworkPolicy `protobuf:"bytes,4,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set networking
+	// policy. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetNetworkPolicyRequest) Reset()         { *m = SetNetworkPolicyRequest{} }
@@ -4774,6 +5360,7 @@ func (m *SetNetworkPolicyRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNetworkPolicyRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4781,6 +5368,7 @@ func (m *SetNetworkPolicyRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4788,6 +5376,7 @@ func (m *SetNetworkPolicyRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4802,6 +5391,13 @@ func (m *SetNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy {
 	return nil
 }
 
+func (m *SetNetworkPolicyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
 type SetMaintenancePolicyRequest struct {
 	// The Google Developers Console [project ID or project
@@ -4815,10 +5411,14 @@ type SetMaintenancePolicyRequest struct {
 	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
 	// The maintenance policy to be set for the cluster. An empty field
 	// clears the existing maintenance policy.
-	MaintenancePolicy    *MaintenancePolicy `protobuf:"bytes,4,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,4,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set maintenance
+	// policy.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetMaintenancePolicyRequest) Reset()         { *m = SetMaintenancePolicyRequest{} }
@@ -4874,6 +5474,68 @@ func (m *SetMaintenancePolicyRequest) GetMaintenancePolicy() *MaintenancePolicy
 	return nil
 }
 
+func (m *SetMaintenancePolicyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// NetworkConfig reports the relative names of network & subnetwork.
+type NetworkConfig struct {
+	// Output only. The relative name of the Google Compute Engine
+	// [network][google.container.v1.NetworkConfig.network](/compute/docs/networks-and-firewalls#networks) to which
+	// the cluster is connected.
+	// Example: projects/my-project/global/networks/my-network
+	Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
+	// Output only. The relative name of the Google Compute Engine
+	// [subnetwork](/compute/docs/vpc) to which the cluster is connected.
+	// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+	Subnetwork           string   `protobuf:"bytes,2,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NetworkConfig) Reset()         { *m = NetworkConfig{} }
+func (m *NetworkConfig) String() string { return proto.CompactTextString(m) }
+func (*NetworkConfig) ProtoMessage()    {}
+func (*NetworkConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_1c7f18b1699f357a, []int{57}
+}
+
+func (m *NetworkConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NetworkConfig.Unmarshal(m, b)
+}
+func (m *NetworkConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NetworkConfig.Marshal(b, m, deterministic)
+}
+func (m *NetworkConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NetworkConfig.Merge(m, src)
+}
+func (m *NetworkConfig) XXX_Size() int {
+	return xxx_messageInfo_NetworkConfig.Size(m)
+}
+func (m *NetworkConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_NetworkConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NetworkConfig proto.InternalMessageInfo
+
+func (m *NetworkConfig) GetNetwork() string {
+	if m != nil {
+		return m.Network
+	}
+	return ""
+}
+
+func (m *NetworkConfig) GetSubnetwork() string {
+	if m != nil {
+		return m.Subnetwork
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterEnum("google.container.v1.NetworkPolicy_Provider", NetworkPolicy_Provider_name, NetworkPolicy_Provider_value)
 	proto.RegisterEnum("google.container.v1.Cluster_Status", Cluster_Status_name, Cluster_Status_value)
@@ -4943,6 +5605,7 @@ func init() {
 	proto.RegisterType((*AcceleratorConfig)(nil), "google.container.v1.AcceleratorConfig")
 	proto.RegisterType((*SetNetworkPolicyRequest)(nil), "google.container.v1.SetNetworkPolicyRequest")
 	proto.RegisterType((*SetMaintenancePolicyRequest)(nil), "google.container.v1.SetMaintenancePolicyRequest")
+	proto.RegisterType((*NetworkConfig)(nil), "google.container.v1.NetworkConfig")
 }
 
 func init() {
@@ -4950,295 +5613,330 @@ func init() {
 }
 
 var fileDescriptor_1c7f18b1699f357a = []byte{
-	// 4602 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5c, 0xdd, 0x8f, 0x23, 0x57,
-	0x56, 0xdf, 0xea, 0x76, 0xbb, 0xdb, 0xc7, 0x1f, 0xed, 0xbe, 0xfd, 0xe5, 0x38, 0x33, 0xc9, 0x4c,
-	0xe5, 0x6b, 0x32, 0x49, 0xda, 0x99, 0x7c, 0x67, 0x92, 0x0d, 0xf1, 0xb8, 0x9d, 0x1e, 0x67, 0xba,
-	0x6d, 0xa7, 0xdc, 0x3d, 0x43, 0xc2, 0xec, 0x96, 0xaa, 0xab, 0x6e, 0xbb, 0x2b, 0x5d, 0xae, 0xaa,
-	0xad, 0x2a, 0x77, 0xd2, 0x33, 0x1a, 0x24, 0x56, 0x80, 0x90, 0x10, 0xfb, 0x02, 0x8b, 0xf6, 0x01,
-	0xad, 0x10, 0x2c, 0x2b, 0x94, 0x95, 0x40, 0x2c, 0xb0, 0x20, 0x3e, 0x24, 0x5e, 0x58, 0x01, 0x12,
-	0xbc, 0xf0, 0x80, 0xe0, 0x85, 0x07, 0x10, 0x12, 0x7f, 0x04, 0x12, 0xba, 0x1f, 0x55, 0xae, 0xb2,
-	0xab, 0xec, 0x9e, 0x38, 0x4e, 0xf6, 0x69, 0x5c, 0xe7, 0x9e, 0x73, 0xef, 0xef, 0x9c, 0xba, 0xf7,
-	0x9c, 0x73, 0xcf, 0xa9, 0x1e, 0x78, 0xb6, 0x6b, 0x59, 0x5d, 0x03, 0x57, 0x54, 0xcb, 0xf4, 0x14,
-	0xdd, 0xc4, 0x4e, 0xe5, 0xf4, 0x5a, 0x45, 0x35, 0xfa, 0xae, 0x87, 0x1d, 0xd9, 0xc5, 0xce, 0xa9,
-	0xae, 0xe2, 0x2d, 0xdb, 0xb1, 0x3c, 0x0b, 0xad, 0x32, 0xd6, 0xad, 0x80, 0x75, 0xeb, 0xf4, 0x5a,
-	0xf9, 0x02, 0x97, 0x57, 0x6c, 0xbd, 0xa2, 0x98, 0xa6, 0xe5, 0x29, 0x9e, 0x6e, 0x99, 0x2e, 0x13,
-	0x29, 0x3f, 0xca, 0x47, 0xe9, 0xd3, 0x61, 0xff, 0xa8, 0x82, 0x7b, 0xb6, 0x77, 0xc6, 0x06, 0xc5,
-	0xef, 0x2d, 0x00, 0x34, 0x2d, 0x0d, 0xd7, 0x2c, 0xf3, 0x48, 0xef, 0xa2, 0xcb, 0x90, 0xeb, 0x29,
-	0xea, 0xb1, 0x6e, 0x62, 0xd9, 0x3b, 0xb3, 0x71, 0x49, 0xb8, 0x24, 0x5c, 0xc9, 0x48, 0x59, 0x4e,
-	0xdb, 0x3f, 0xb3, 0x31, 0xba, 0x04, 0x39, 0x4d, 0x77, 0x4f, 0x64, 0x57, 0xbf, 0x87, 0xe5, 0xee,
-	0x61, 0x69, 0xee, 0x92, 0x70, 0x65, 0x41, 0x02, 0x42, 0xeb, 0xe8, 0xf7, 0xf0, 0xce, 0x21, 0x99,
-	0xc4, 0x52, 0xfa, 0xde, 0xb1, 0xec, 0xaa, 0x96, 0x8d, 0xdd, 0xd2, 0xfc, 0xa5, 0x79, 0x32, 0x09,
-	0xa5, 0x75, 0x28, 0x09, 0x3d, 0x03, 0xcb, 0x5c, 0x2f, 0x59, 0x51, 0x55, 0xab, 0x6f, 0x7a, 0xa5,
-	0x0c, 0x5d, 0xaa, 0xc0, 0xc9, 0x55, 0x46, 0x45, 0x0d, 0x58, 0xea, 0x61, 0x4f, 0xd1, 0x14, 0x4f,
-	0x29, 0xa5, 0x2e, 0xcd, 0x5f, 0xc9, 0xbe, 0xf4, 0xc2, 0x56, 0x8c, 0x09, 0xb6, 0x06, 0x3a, 0x6c,
-	0xed, 0x71, 0xfe, 0xba, 0xe9, 0x39, 0x67, 0x52, 0x20, 0x8e, 0x2e, 0x02, 0xe8, 0x3d, 0xa5, 0xcb,
-	0x35, 0x5b, 0xa0, 0xcb, 0x65, 0x28, 0x85, 0xea, 0x55, 0x83, 0xb4, 0xa1, 0x1c, 0x62, 0xc3, 0x2d,
-	0xa5, 0xe9, 0x3a, 0xcf, 0x4d, 0x5a, 0x67, 0x97, 0x72, 0xb3, 0x55, 0xb8, 0x28, 0x7a, 0x1a, 0x96,
-	0x0d, 0x4b, 0x55, 0x0c, 0xd9, 0x75, 0x35, 0x99, 0xe9, 0xb5, 0x48, 0xed, 0x93, 0xa7, 0xe4, 0x8e,
-	0xab, 0xd5, 0xa8, 0x5a, 0x08, 0x52, 0x9e, 0xd2, 0x75, 0x4b, 0x4b, 0xd4, 0x34, 0xf4, 0x37, 0xba,
-	0x04, 0x59, 0xdb, 0xc1, 0xe4, 0xe5, 0xe8, 0x87, 0x06, 0x2e, 0xc1, 0x25, 0xe1, 0xca, 0x92, 0x14,
-	0x26, 0xa1, 0xf7, 0x21, 0xa7, 0xa8, 0x2a, 0x36, 0xb0, 0xa3, 0x78, 0x96, 0xe3, 0x96, 0xb2, 0x14,
-	0xe8, 0xd3, 0xb1, 0x40, 0xab, 0x03, 0x46, 0x86, 0x57, 0x8a, 0xc8, 0xa2, 0x2b, 0x50, 0xec, 0xe9,
-	0xa6, 0xac, 0xda, 0x7d, 0xd9, 0x36, 0x14, 0xef, 0xc8, 0x72, 0x7a, 0xa5, 0x3c, 0x7b, 0x05, 0x3d,
-	0xdd, 0xac, 0xd9, 0xfd, 0x36, 0xa7, 0x96, 0xdf, 0x82, 0x7c, 0xc4, 0xa4, 0xa8, 0x08, 0xf3, 0x27,
-	0xf8, 0x8c, 0xef, 0x0d, 0xf2, 0x13, 0xad, 0xc1, 0xc2, 0xa9, 0x62, 0xf4, 0x31, 0xdd, 0x0c, 0x19,
-	0x89, 0x3d, 0x5c, 0x9f, 0x7b, 0x43, 0x28, 0xbf, 0x09, 0xd9, 0x90, 0x9d, 0x1e, 0x46, 0x54, 0xfc,
-	0xf1, 0x1c, 0xc0, 0x9e, 0x42, 0xce, 0x40, 0xb5, 0xef, 0x1d, 0xa3, 0x32, 0x2c, 0xf5, 0x5d, 0xec,
-	0x98, 0x4a, 0xcf, 0xdf, 0x96, 0xc1, 0x33, 0x19, 0xb3, 0x15, 0xd7, 0xfd, 0xc4, 0x72, 0x34, 0x3e,
-	0x4f, 0xf0, 0x8c, 0x8e, 0xe1, 0x11, 0xd5, 0xd0, 0xb1, 0xe9, 0xc9, 0x2a, 0x76, 0x3c, 0xfd, 0x48,
-	0x57, 0x15, 0x0f, 0xcb, 0x2a, 0xb5, 0x49, 0x69, 0xfe, 0x92, 0x70, 0x25, 0xfb, 0xd2, 0xf3, 0xb1,
-	0x16, 0xac, 0x51, 0xa9, 0xda, 0x40, 0x88, 0xdb, 0x71, 0x53, 0x8d, 0x1f, 0x40, 0xaf, 0xc0, 0x86,
-	0x7f, 0x68, 0x55, 0x25, 0xbc, 0x5a, 0x49, 0xa3, 0x98, 0xd6, 0xf8, 0x68, 0x4d, 0x09, 0xc9, 0xa2,
-	0x17, 0x00, 0x8d, 0xe2, 0x2b, 0x61, 0x2a, 0xb1, 0x32, 0xb2, 0x14, 0xd9, 0xc5, 0x9c, 0x9d, 0x18,
-	0xf2, 0x88, 0xed, 0x62, 0x46, 0xb9, 0x85, 0xcf, 0xc4, 0x0e, 0x6c, 0x26, 0xe0, 0x46, 0x6f, 0x40,
-	0x49, 0x77, 0xdd, 0x3e, 0x96, 0x63, 0x96, 0x13, 0xe8, 0x66, 0xdb, 0xa0, 0xe3, 0x23, 0xf2, 0xe2,
-	0x77, 0xe6, 0x21, 0x57, 0xd5, 0x34, 0xcb, 0x74, 0xf9, 0x54, 0xb7, 0x61, 0xf5, 0xd8, 0xf3, 0x6c,
-	0xd9, 0xb0, 0x14, 0x4d, 0x3e, 0x54, 0x0c, 0xc5, 0x54, 0x75, 0xb3, 0x4b, 0x67, 0x49, 0xda, 0x8f,
-	0x37, 0x3d, 0xcf, 0xde, 0xb5, 0x14, 0xed, 0x86, 0xcf, 0x2d, 0xad, 0x1c, 0x0f, 0x93, 0xd0, 0x09,
-	0x94, 0x8f, 0x2d, 0x47, 0xbf, 0x47, 0x04, 0x0d, 0xd9, 0xb6, 0x34, 0x59, 0xe9, 0x7b, 0x96, 0xab,
-	0x2a, 0x06, 0x99, 0x7e, 0x8e, 0x4e, 0x1f, 0x7f, 0xfe, 0x6f, 0x06, 0x62, 0x6d, 0x4b, 0xab, 0x0e,
-	0x84, 0xa4, 0xd2, 0x71, 0xc2, 0x08, 0xfa, 0x05, 0x58, 0x3b, 0xe9, 0x1f, 0x62, 0xc7, 0xc4, 0x1e,
-	0x76, 0x65, 0x4d, 0x71, 0x8f, 0x0f, 0x2d, 0xc5, 0xd1, 0xf8, 0x9e, 0xb8, 0x12, 0xbb, 0xcc, 0xad,
-	0x40, 0x60, 0xdb, 0xe7, 0x97, 0x56, 0x4f, 0x46, 0x89, 0xe8, 0x2e, 0xac, 0x9b, 0xd8, 0xfb, 0xc4,
-	0x72, 0x4e, 0x64, 0xdb, 0x32, 0x74, 0xf5, 0xcc, 0xdf, 0x71, 0xa9, 0x31, 0xb3, 0x37, 0x99, 0x44,
-	0x9b, 0x0a, 0xf0, 0xdd, 0xb6, 0x6a, 0x8e, 0x12, 0xc5, 0x0a, 0xac, 0x8c, 0xd8, 0x93, 0x1c, 0x02,
-	0x4d, 0x77, 0x95, 0x43, 0x03, 0x6b, 0xfc, 0x7d, 0x06, 0xcf, 0xe2, 0x6b, 0x50, 0x4a, 0xb2, 0xd0,
-	0x58, 0xb9, 0x6b, 0xb0, 0x1a, 0xa3, 0xf2, 0x24, 0x91, 0x18, 0x3d, 0xc6, 0x8a, 0xfc, 0xaf, 0x00,
-	0x8f, 0x0d, 0x4e, 0x3a, 0xc1, 0x89, 0x35, 0x3e, 0x87, 0xbf, 0xe3, 0x4a, 0xb0, 0x88, 0xcd, 0xb0,
-	0xb4, 0xff, 0x88, 0xbe, 0x09, 0x59, 0x55, 0xd7, 0x1c, 0xf9, 0xd0, 0xb0, 0xd4, 0x13, 0xb7, 0x34,
-	0x47, 0x7d, 0xe2, 0xd7, 0x63, 0xed, 0x3b, 0x7e, 0x8d, 0xad, 0x9a, 0xae, 0x39, 0x37, 0xc8, 0x2c,
-	0x12, 0xa8, 0xfe, 0x4f, 0xb7, 0xbc, 0x07, 0x99, 0x60, 0x80, 0x84, 0x36, 0x4d, 0x77, 0x6d, 0x43,
-	0x39, 0x93, 0x43, 0x8e, 0x28, 0xcb, 0x69, 0x4d, 0xe2, 0x8b, 0xc8, 0x01, 0x0d, 0xf0, 0x70, 0x6f,
-	0x94, 0x09, 0xe6, 0x13, 0x9f, 0x06, 0xd8, 0xc5, 0x5d, 0x45, 0x3d, 0xab, 0x1e, 0x2a, 0x6a, 0xb2,
-	0x5a, 0xe2, 0x0f, 0x04, 0xc8, 0x47, 0xec, 0x88, 0x76, 0x60, 0xc9, 0x76, 0xac, 0x53, 0x5d, 0xc3,
-	0x0e, 0x65, 0x2e, 0x24, 0x85, 0xa8, 0xb0, 0xd4, 0x56, 0x9b, 0x8b, 0x48, 0x81, 0x70, 0x78, 0xd1,
-	0xb9, 0xe8, 0xa2, 0x2f, 0xc2, 0x52, 0x7b, 0xc0, 0xb5, 0xd6, 0x96, 0x5a, 0xb7, 0x1b, 0xdb, 0x75,
-	0x49, 0x3e, 0x68, 0x76, 0xda, 0xf5, 0x5a, 0xe3, 0xbd, 0x46, 0x7d, 0xbb, 0xf8, 0x35, 0x04, 0x90,
-	0xae, 0x55, 0x77, 0x1b, 0xb5, 0x56, 0x51, 0x10, 0xff, 0x3c, 0x05, 0xa8, 0xd1, 0xae, 0x1a, 0x24,
-	0xbc, 0x91, 0xa4, 0x83, 0x63, 0x7d, 0x12, 0x0a, 0x7d, 0x17, 0xcb, 0xba, 0x2d, 0x2b, 0x86, 0xae,
-	0xb8, 0xd8, 0xe5, 0xea, 0xe5, 0xfa, 0x2e, 0x6e, 0xd8, 0x55, 0x46, 0x43, 0xcf, 0xc1, 0x8a, 0xea,
-	0x60, 0xe2, 0x8e, 0xdd, 0xfe, 0x21, 0xdf, 0xe7, 0x1c, 0x52, 0x91, 0x0d, 0x74, 0x02, 0x3a, 0x4d,
-	0x19, 0x82, 0x27, 0x66, 0xfd, 0x79, 0x9e, 0x32, 0x04, 0x64, 0xfa, 0x02, 0xae, 0xc2, 0x8a, 0xef,
-	0x86, 0x75, 0xfb, 0xf4, 0x15, 0x99, 0xd8, 0x9e, 0x1e, 0xbb, 0x8c, 0xb4, 0xcc, 0x07, 0x1a, 0xf6,
-	0xe9, 0x2b, 0xe4, 0xa5, 0x12, 0x9c, 0xa6, 0xa5, 0xe1, 0x10, 0x23, 0xcb, 0x0b, 0x72, 0x84, 0x1a,
-	0x70, 0x3d, 0x0f, 0x88, 0xa7, 0x25, 0x6e, 0x88, 0x33, 0x4d, 0x39, 0x8b, 0xfe, 0x48, 0xc0, 0xfd,
-	0x73, 0x70, 0x61, 0x90, 0xbb, 0xa9, 0x96, 0xa9, 0x29, 0xce, 0x99, 0xec, 0x28, 0x66, 0x17, 0x33,
-	0xd4, 0x8b, 0x54, 0xee, 0x11, 0xce, 0xd3, 0xf1, 0x59, 0x24, 0xc2, 0x41, 0x15, 0xa8, 0xc2, 0xc5,
-	0x60, 0xb9, 0xd8, 0x19, 0x96, 0xe8, 0x0c, 0x65, 0x9f, 0x29, 0x66, 0x8a, 0x57, 0x61, 0x73, 0xc4,
-	0x06, 0x7c, 0x47, 0x66, 0x22, 0xb1, 0xc8, 0x47, 0xcd, 0xb6, 0x77, 0x05, 0xd6, 0xa2, 0xe6, 0xe0,
-	0x32, 0xc0, 0xa2, 0x51, 0xd8, 0x28, 0x4c, 0xe0, 0x75, 0x28, 0x8d, 0x5a, 0x86, 0x0b, 0x65, 0xa9,
-	0xd0, 0xfa, 0xb0, 0x7d, 0xd8, 0x31, 0xf8, 0x97, 0x65, 0x58, 0xac, 0x31, 0x08, 0x24, 0x19, 0x0a,
-	0x1d, 0x26, 0xfa, 0x9b, 0x24, 0x43, 0x1a, 0x76, 0x55, 0x47, 0xb7, 0xc9, 0xae, 0xe2, 0xc7, 0x28,
-	0x4c, 0x22, 0x2f, 0x45, 0x37, 0x75, 0x4f, 0x57, 0x0c, 0x99, 0x62, 0x66, 0xd9, 0xd6, 0x3c, 0xcd,
-	0xb6, 0x8a, 0x7c, 0x84, 0x65, 0x6b, 0x24, 0xe1, 0x7a, 0x17, 0xb2, 0x9c, 0x2b, 0xe4, 0x85, 0x1f,
-	0x9f, 0x90, 0xe2, 0x49, 0x60, 0x0e, 0x52, 0xe3, 0x77, 0x21, 0xdb, 0xa3, 0xfe, 0x83, 0xc4, 0xa4,
-	0x63, 0xba, 0x4f, 0x92, 0x66, 0x18, 0xf8, 0x19, 0x09, 0x7a, 0x83, 0x0c, 0xe6, 0x19, 0x92, 0x1c,
-	0x76, 0xbb, 0xba, 0xd9, 0xf5, 0x93, 0x7a, 0xbe, 0x87, 0x0a, 0x9c, 0xdc, 0x61, 0x54, 0x92, 0x12,
-	0xf4, 0x2c, 0x53, 0xf7, 0x2c, 0x27, 0xcc, 0xcb, 0xf6, 0xcd, 0xca, 0x60, 0xc4, 0x67, 0x2f, 0xc1,
-	0xa2, 0x7f, 0x78, 0xd8, 0xce, 0xf0, 0x1f, 0xe3, 0x8f, 0x42, 0x26, 0xfe, 0x28, 0xbc, 0x07, 0x79,
-	0x85, 0xc6, 0x78, 0xdf, 0x46, 0x40, 0x35, 0xbc, 0x1c, 0x9f, 0x5d, 0x86, 0xb2, 0x01, 0x29, 0xa7,
-	0x84, 0x73, 0x83, 0xc7, 0x00, 0x42, 0xa7, 0x99, 0x6d, 0x82, 0x10, 0x05, 0xbd, 0x0d, 0xd4, 0xaa,
-	0xb2, 0x6d, 0x59, 0x86, 0x5b, 0xca, 0x51, 0x77, 0x7d, 0x31, 0xf1, 0x45, 0xb4, 0x2d, 0xcb, 0x90,
-	0x32, 0x26, 0xff, 0xe5, 0xa2, 0x0b, 0x90, 0xf1, 0x5d, 0x8d, 0x5b, 0xca, 0xd3, 0xec, 0x79, 0x40,
-	0x40, 0xaf, 0xc1, 0x26, 0x73, 0x65, 0x72, 0x28, 0xb2, 0x2b, 0x86, 0x7d, 0xac, 0x94, 0x0a, 0xd4,
-	0xad, 0xac, 0xb3, 0xe1, 0x41, 0x4c, 0xab, 0x92, 0x41, 0xf4, 0x21, 0x2c, 0x3b, 0xd8, 0xb5, 0xfa,
-	0x8e, 0x8a, 0x65, 0x7e, 0x09, 0x58, 0xa6, 0xc0, 0x5e, 0x4c, 0xc8, 0x0c, 0xa9, 0xe9, 0xb6, 0x24,
-	0x2e, 0x13, 0xbe, 0x09, 0x14, 0x9c, 0x08, 0x91, 0xf8, 0x38, 0x3a, 0xa3, 0x7c, 0xa4, 0x9b, 0x5d,
-	0xec, 0xd8, 0x8e, 0x6e, 0x7a, 0xa5, 0x22, 0x73, 0x1d, 0x74, 0xe0, 0xbd, 0x01, 0x9d, 0xec, 0x31,
-	0x83, 0x06, 0x07, 0x59, 0x39, 0x54, 0xd4, 0x12, 0x1a, 0xb3, 0xc7, 0x06, 0x41, 0x44, 0x02, 0x63,
-	0x10, 0x50, 0x1a, 0x50, 0x88, 0xe6, 0x1d, 0xa5, 0x55, 0x3a, 0x89, 0x38, 0x39, 0x54, 0x48, 0xf9,
-	0x48, 0xaa, 0x81, 0x3e, 0x84, 0x35, 0xea, 0xbf, 0x7d, 0xf3, 0xfa, 0x13, 0xae, 0xd1, 0x09, 0x9f,
-	0x89, 0x9d, 0x70, 0x34, 0x14, 0x48, 0x48, 0xb7, 0x47, 0xc2, 0xc3, 0x2f, 0xc2, 0xe5, 0xd0, 0x59,
-	0x62, 0xc1, 0x58, 0xe6, 0xab, 0x07, 0xfb, 0x6f, 0x83, 0xae, 0xf3, 0xf2, 0xe7, 0x88, 0xe4, 0xd2,
-	0x63, 0xbd, 0xf1, 0xd9, 0xc4, 0x01, 0xa0, 0x9e, 0xa2, 0x9b, 0x1e, 0x36, 0x15, 0x53, 0xc5, 0xbe,
-	0x62, 0x9b, 0x63, 0xd2, 0xd7, 0xbd, 0x01, 0x3b, 0xd7, 0x6b, 0xa5, 0x37, 0x4c, 0x42, 0x8f, 0x42,
-	0xc6, 0xc5, 0xc6, 0x91, 0x6c, 0xe8, 0xe6, 0x09, 0xcf, 0xf9, 0x97, 0x08, 0x61, 0x57, 0x37, 0x4f,
-	0x88, 0x97, 0xbb, 0x67, 0x99, 0x7e, 0x66, 0x4f, 0x7f, 0x93, 0xa4, 0x08, 0x9b, 0x9a, 0x6d, 0x91,
-	0x3d, 0xc1, 0x52, 0xf9, 0xe0, 0x99, 0xec, 0x65, 0xdf, 0xbf, 0xf9, 0x67, 0xf8, 0x14, 0x3b, 0x2e,
-	0xf1, 0x86, 0x5d, 0xe6, 0x59, 0xf9, 0x30, 0xdf, 0x8d, 0xb7, 0xd9, 0x20, 0xbd, 0x85, 0xf4, 0x1d,
-	0x87, 0x64, 0xf8, 0xdc, 0xc6, 0xbe, 0xd8, 0x31, 0xf7, 0xfc, 0x6c, 0x94, 0x99, 0xd0, 0x97, 0x7a,
-	0x11, 0x7c, 0x3a, 0xf3, 0xa6, 0xbe, 0x8c, 0x4e, 0x65, 0x10, 0x1f, 0x23, 0x27, 0xd2, 0x97, 0x78,
-	0x1c, 0xb2, 0x3c, 0x78, 0x7b, 0x7a, 0x0f, 0x97, 0x3e, 0x66, 0x07, 0x9d, 0x91, 0xf6, 0xf5, 0x1e,
-	0x46, 0x6f, 0x41, 0xda, 0xf5, 0x14, 0xaf, 0xef, 0x96, 0x4e, 0x68, 0xb6, 0xf2, 0xc4, 0xd8, 0xb3,
-	0xd4, 0xa1, 0xac, 0x12, 0x17, 0x41, 0x4f, 0x41, 0x81, 0xfd, 0x92, 0x7b, 0xd8, 0x75, 0x95, 0x2e,
-	0x2e, 0x19, 0x74, 0x81, 0x3c, 0xa3, 0xee, 0x31, 0x22, 0x7a, 0x01, 0x56, 0x87, 0x02, 0x96, 0xab,
-	0xdf, 0xc3, 0xa5, 0x1e, 0x8b, 0x02, 0xe1, 0x78, 0xd5, 0xd1, 0xef, 0xe1, 0x84, 0x40, 0x6e, 0x26,
-	0x04, 0xf2, 0x2d, 0x58, 0xd5, 0x4d, 0xd7, 0xa3, 0x5b, 0xa4, 0xeb, 0x58, 0x7d, 0x5b, 0xee, 0x3b,
-	0x86, 0x5b, 0xb2, 0xa8, 0xd7, 0x59, 0xf1, 0x87, 0x76, 0xc8, 0xc8, 0x81, 0x63, 0xb8, 0x64, 0xf6,
-	0x88, 0x0d, 0x59, 0x44, 0xb2, 0x19, 0x96, 0x90, 0x05, 0x59, 0x44, 0x7a, 0x1c, 0xb2, 0xf8, 0x53,
-	0x5b, 0x77, 0xb8, 0xfd, 0xbe, 0xc5, 0xec, 0xc7, 0x48, 0xc4, 0x7e, 0xe5, 0x2a, 0xac, 0xc6, 0x38,
-	0x98, 0x87, 0xba, 0x42, 0xeb, 0x90, 0x66, 0x76, 0x45, 0x1b, 0x80, 0x3a, 0xfb, 0xd5, 0xfd, 0x83,
-	0xce, 0x50, 0x2e, 0x57, 0x84, 0x1c, 0xcd, 0xf2, 0x3a, 0x8d, 0x56, 0xb3, 0xd1, 0xdc, 0x29, 0x0a,
-	0x28, 0x0b, 0x8b, 0xd2, 0x41, 0x93, 0x3e, 0xcc, 0xa1, 0x65, 0xc8, 0x4a, 0xf5, 0x5a, 0xab, 0x59,
-	0x6b, 0xec, 0x12, 0xc2, 0x3c, 0xca, 0xc1, 0x52, 0x67, 0xbf, 0xd5, 0x6e, 0x93, 0xa7, 0x14, 0xca,
-	0xc0, 0x42, 0x5d, 0x92, 0x5a, 0x52, 0x71, 0x41, 0xfc, 0xee, 0x02, 0xe4, 0xf9, 0xbb, 0x3c, 0xb0,
-	0x35, 0x72, 0x53, 0x7d, 0x11, 0xd6, 0x34, 0xec, 0xea, 0x0e, 0x39, 0xda, 0xe1, 0x2d, 0xc5, 0x52,
-	0x31, 0xc4, 0xc7, 0xc2, 0x5b, 0xea, 0x6d, 0x28, 0xfb, 0x12, 0x31, 0xf1, 0x8f, 0x65, 0x66, 0x25,
-	0xce, 0xb1, 0x37, 0x12, 0x06, 0x0f, 0x60, 0xdd, 0x97, 0x8e, 0x06, 0xb2, 0xf4, 0x79, 0x03, 0xd9,
-	0x2a, 0x97, 0x8f, 0xdc, 0x75, 0x2b, 0x43, 0x6a, 0x90, 0xb8, 0x25, 0xeb, 0x9a, 0x1f, 0x8e, 0x43,
-	0x6a, 0x90, 0x08, 0xd5, 0xd0, 0xc8, 0x36, 0xf0, 0x05, 0x42, 0xf5, 0x26, 0x16, 0x99, 0x8b, 0x7c,
-	0xa4, 0x11, 0x94, 0x9d, 0x4e, 0xe0, 0xe2, 0xe8, 0xf4, 0xe1, 0x5b, 0x6f, 0x66, 0xdc, 0x85, 0x91,
-	0xaf, 0x1a, 0xbe, 0xf0, 0x96, 0x87, 0x10, 0x85, 0xaf, 0x7a, 0xcf, 0x81, 0x8f, 0x57, 0x1e, 0x44,
-	0x51, 0xa0, 0xfb, 0xd9, 0x47, 0xb6, 0x1b, 0x04, 0xd3, 0xdf, 0x10, 0xe0, 0xd9, 0xe0, 0x75, 0x4c,
-	0xf4, 0xd6, 0xb9, 0xcf, 0xef, 0xad, 0x9f, 0xf2, 0x5f, 0xe9, 0x78, 0xa7, 0xfd, 0x0a, 0x6c, 0x0c,
-	0xc1, 0xf1, 0x77, 0x14, 0x2f, 0xaf, 0x44, 0xa6, 0xe1, 0x7b, 0x4a, 0xfc, 0xc7, 0x34, 0x64, 0x5a,
-	0x36, 0x76, 0xa8, 0x52, 0xb1, 0xa9, 0xa6, 0xef, 0x98, 0xe7, 0x42, 0x8e, 0xf9, 0x7d, 0x28, 0x58,
-	0xbe, 0x10, 0x7b, 0x7f, 0xf3, 0x63, 0x7c, 0x58, 0x30, 0xff, 0x16, 0x79, 0xa5, 0x52, 0x3e, 0x10,
-	0xa5, 0x6f, 0xf8, 0xeb, 0x81, 0x1f, 0x4c, 0xd1, 0x39, 0x9e, 0x9a, 0x30, 0xc7, 0x90, 0x27, 0xdc,
-	0x80, 0xb4, 0x86, 0x3d, 0x45, 0x37, 0xf8, 0x16, 0xe2, 0x4f, 0x31, 0x1e, 0x72, 0x21, 0xce, 0x43,
-	0x46, 0x62, 0x52, 0x7a, 0x28, 0x26, 0x3d, 0x0e, 0x59, 0x4f, 0x71, 0xba, 0xd8, 0x63, 0xc3, 0x6c,
-	0x4b, 0x03, 0x23, 0x51, 0x86, 0x8b, 0x00, 0xae, 0xa7, 0x38, 0x1e, 0xf3, 0x51, 0xec, 0x1a, 0x90,
-	0xa1, 0x14, 0xea, 0xe2, 0x1f, 0xa1, 0xf1, 0x8b, 0x0d, 0xb2, 0x4c, 0x6f, 0x11, 0x9b, 0x1a, 0x19,
-	0x12, 0xa5, 0x89, 0xae, 0x27, 0x0b, 0x8b, 0xed, 0x7a, 0x73, 0x3b, 0xc6, 0xeb, 0x2c, 0x41, 0x6a,
-	0xbb, 0xd5, 0xac, 0x33, 0x77, 0x53, 0xbd, 0xd1, 0x92, 0xf6, 0xa9, 0xbb, 0x11, 0xff, 0x6f, 0x0e,
-	0x52, 0xd4, 0xa4, 0x6b, 0x50, 0xdc, 0xff, 0xb0, 0x5d, 0x1f, 0x9a, 0x10, 0x41, 0xa1, 0x26, 0xd5,
-	0xab, 0xfb, 0x75, 0xb9, 0xb6, 0x7b, 0xd0, 0xd9, 0xaf, 0x4b, 0x45, 0x81, 0xd0, 0xb6, 0xeb, 0xbb,
-	0xf5, 0x10, 0x6d, 0x8e, 0xd0, 0x0e, 0xda, 0x3b, 0x52, 0x75, 0xbb, 0x2e, 0xef, 0x55, 0x29, 0x6d,
-	0x1e, 0xad, 0x40, 0xde, 0xa7, 0x35, 0x5b, 0xdb, 0xf5, 0x4e, 0x31, 0x45, 0xd8, 0xa4, 0x7a, 0xbb,
-	0xda, 0x90, 0x02, 0xd1, 0x05, 0x26, 0xba, 0x1d, 0x5e, 0x22, 0x4d, 0xc0, 0xf0, 0x65, 0x89, 0xa4,
-	0xdc, 0x6e, 0xb5, 0x76, 0x8b, 0x8b, 0x84, 0xca, 0x17, 0x1e, 0x50, 0x97, 0xd0, 0x05, 0x28, 0x75,
-	0xea, 0xfb, 0x03, 0x92, 0xbc, 0x57, 0x6d, 0x56, 0x77, 0xea, 0x7b, 0xf5, 0xe6, 0x7e, 0x31, 0x83,
-	0xd6, 0x61, 0xa5, 0x7a, 0xb0, 0xdf, 0x92, 0xf9, 0xb2, 0x0c, 0x08, 0x10, 0x03, 0x52, 0x72, 0x14,
-	0x60, 0x16, 0x15, 0x00, 0xc8, 0x64, 0xbb, 0xd5, 0x1b, 0xf5, 0xdd, 0x4e, 0x31, 0x87, 0x56, 0x61,
-	0x99, 0x3c, 0x33, 0x9d, 0xe4, 0xea, 0xc1, 0xfe, 0xcd, 0x62, 0x9e, 0x5a, 0x3f, 0xb2, 0x62, 0xa7,
-	0xf1, 0x51, 0xbd, 0x58, 0x08, 0xe8, 0xf5, 0xfd, 0x3b, 0x2d, 0xe9, 0x96, 0xdc, 0x6e, 0xed, 0x36,
-	0x6a, 0x1f, 0x16, 0x97, 0x51, 0x19, 0x36, 0xd8, 0x24, 0x8d, 0xe6, 0x7e, 0xbd, 0x59, 0x6d, 0xd6,
-	0xea, 0xfe, 0x58, 0x51, 0xfc, 0x25, 0x01, 0xd6, 0x6a, 0x34, 0xc0, 0x73, 0x4f, 0x2f, 0xe1, 0x6f,
-	0xf5, 0xb1, 0xeb, 0x91, 0x6d, 0x62, 0x3b, 0xd6, 0xc7, 0x58, 0xf5, 0x88, 0x67, 0x64, 0x87, 0x2b,
-	0xc3, 0x29, 0x0d, 0x2d, 0xf6, 0x84, 0xbd, 0x06, 0x8b, 0x3c, 0xad, 0xe1, 0x05, 0xb7, 0x0b, 0xe3,
-	0xd2, 0x03, 0xc9, 0x67, 0x16, 0x31, 0xac, 0xec, 0x60, 0x6f, 0xfa, 0xf5, 0x69, 0x1d, 0x95, 0x5f,
-	0x8d, 0x34, 0x5e, 0x49, 0xc8, 0xf8, 0x77, 0x22, 0x5a, 0x7e, 0x59, 0x63, 0x71, 0x6c, 0xd6, 0x4b,
-	0xa1, 0xeb, 0x90, 0xee, 0xd3, 0x95, 0xf8, 0xad, 0x54, 0x1c, 0x67, 0x08, 0x86, 0x49, 0xe2, 0x12,
-	0xe2, 0x3f, 0x0b, 0xb0, 0xce, 0x48, 0xc1, 0x65, 0x69, 0x66, 0x38, 0x2f, 0x41, 0x2e, 0x12, 0x00,
-	0x59, 0x1c, 0x07, 0x73, 0x10, 0xf9, 0x2e, 0x73, 0x0e, 0xdf, 0x2f, 0x33, 0x87, 0x44, 0x2f, 0xde,
-	0x7e, 0x88, 0x8f, 0x36, 0x61, 0xd2, 0x43, 0x4d, 0x18, 0xf1, 0x3f, 0x05, 0xb8, 0xd8, 0xc1, 0x5e,
-	0x5c, 0x5c, 0xfb, 0x0a, 0xf5, 0x7a, 0x1f, 0xb2, 0xe1, 0x88, 0xbc, 0xf0, 0x90, 0x11, 0x39, 0x2c,
-	0x2c, 0x7e, 0x57, 0x80, 0x52, 0x07, 0x7b, 0xbb, 0x91, 0x1b, 0xff, 0xec, 0x94, 0x8b, 0xa9, 0x39,
-	0xa4, 0xe2, 0x6a, 0x0e, 0xe2, 0xf7, 0x05, 0x78, 0xb4, 0x83, 0xbd, 0x91, 0xb4, 0x6a, 0x76, 0xd0,
-	0xe2, 0xab, 0x1c, 0xa9, 0x84, 0x2a, 0x87, 0xf8, 0x63, 0x01, 0x36, 0x3a, 0xd8, 0x8b, 0x24, 0x6c,
-	0x33, 0xc3, 0x36, 0x52, 0x0c, 0x49, 0x7d, 0xae, 0x62, 0x88, 0xf8, 0x2b, 0x02, 0xac, 0xd2, 0xb7,
-	0xcd, 0x93, 0xaa, 0xd9, 0x21, 0x8e, 0x14, 0x46, 0x52, 0x43, 0x85, 0x11, 0xf1, 0x3b, 0x02, 0xac,
-	0x32, 0x3f, 0xc1, 0xb2, 0xa3, 0xd9, 0xe1, 0x78, 0x0a, 0x0a, 0x43, 0xd9, 0x19, 0x7b, 0xa3, 0xf9,
-	0x5e, 0x24, 0x2d, 0xfb, 0xdb, 0x39, 0x58, 0x23, 0xdb, 0x6d, 0x50, 0x29, 0x9b, 0x19, 0xa2, 0x9b,
-	0x90, 0x56, 0x54, 0xcf, 0x47, 0x52, 0x48, 0xa8, 0xe9, 0xc4, 0x81, 0xd9, 0xaa, 0x52, 0x39, 0x89,
-	0xcb, 0xa3, 0xd7, 0x03, 0x4f, 0x7d, 0xce, 0xea, 0x9f, 0xef, 0xa6, 0xdb, 0x90, 0x66, 0x53, 0x91,
-	0x3c, 0xe7, 0xa0, 0x79, 0xab, 0xd9, 0xba, 0xd3, 0x64, 0x97, 0x2f, 0x12, 0x6b, 0xdb, 0xd5, 0x4e,
-	0xe7, 0x4e, 0x4b, 0xda, 0x2e, 0x0a, 0x24, 0x03, 0xd8, 0xa9, 0x37, 0xeb, 0x12, 0xc9, 0x26, 0x02,
-	0xf2, 0x9c, 0xcf, 0x78, 0xd0, 0xa9, 0x4b, 0xcd, 0xea, 0x5e, 0xbd, 0x38, 0x2f, 0x1e, 0xc3, 0xda,
-	0x36, 0x36, 0xf0, 0xec, 0xc3, 0x93, 0x78, 0x13, 0x56, 0x77, 0x75, 0xd7, 0x8f, 0xb8, 0x53, 0xec,
-	0x60, 0xb1, 0x0f, 0x6b, 0xd1, 0x99, 0x5c, 0xdb, 0x32, 0x5d, 0x8c, 0xde, 0x80, 0x25, 0xbe, 0x9c,
-	0x5b, 0x12, 0x68, 0xd9, 0x6d, 0x7c, 0x2e, 0x10, 0x70, 0xa3, 0x27, 0x20, 0xdf, 0xd3, 0x5d, 0x97,
-	0xf8, 0x0f, 0xb2, 0x02, 0xeb, 0xfe, 0x64, 0xa4, 0x1c, 0x27, 0x7e, 0x44, 0x68, 0xe2, 0x09, 0xac,
-	0xee, 0x60, 0x2f, 0xc8, 0xaf, 0xa7, 0xb0, 0xd4, 0x65, 0xc8, 0x0d, 0x6e, 0x05, 0x81, 0xad, 0xb2,
-	0x01, 0xad, 0xa1, 0x89, 0xef, 0xc3, 0x3a, 0xd1, 0x31, 0x58, 0x6d, 0x1a, 0x7b, 0x99, 0xb0, 0x51,
-	0x53, 0x4c, 0x15, 0x1b, 0x5f, 0x12, 0xf6, 0x07, 0xb0, 0x31, 0x8c, 0x9d, 0xbf, 0xa1, 0x77, 0x00,
-	0x02, 0x46, 0xff, 0x1d, 0x3d, 0x36, 0xfe, 0x1a, 0x23, 0x85, 0x24, 0xce, 0xf7, 0x9e, 0x6e, 0xc1,
-	0xc6, 0x0e, 0xf6, 0x88, 0xbb, 0xc7, 0xce, 0xb4, 0xfe, 0x5d, 0xfc, 0xe5, 0x39, 0xc8, 0x85, 0xa7,
-	0x42, 0xaf, 0xc1, 0xa6, 0x86, 0x8f, 0x94, 0xbe, 0xe1, 0x8d, 0x94, 0xd3, 0xd8, 0x84, 0xeb, 0x7c,
-	0x78, 0xa8, 0x9c, 0xb6, 0x05, 0xab, 0xa7, 0x8a, 0xa1, 0x47, 0x6b, 0x18, 0xfe, 0x37, 0x2d, 0x2b,
-	0x74, 0x28, 0x54, 0xc2, 0x70, 0xd9, 0xed, 0x9f, 0xad, 0x13, 0x4a, 0x74, 0x52, 0xfe, 0xed, 0x9f,
-	0x8e, 0x0c, 0x6e, 0xff, 0x57, 0x81, 0x4d, 0x11, 0xe2, 0x75, 0x4b, 0x0b, 0x74, 0xee, 0x65, 0x3a,
-	0x10, 0xb0, 0xba, 0xe8, 0x25, 0x58, 0x67, 0xbc, 0x51, 0xff, 0xca, 0xbe, 0x57, 0xc9, 0x48, 0x0c,
-	0x66, 0xe4, 0xf2, 0xeb, 0x8a, 0x7f, 0x20, 0xc0, 0x3a, 0xcb, 0xd8, 0x67, 0x9f, 0x1f, 0x5e, 0x87,
-	0x4c, 0x90, 0x47, 0xf1, 0x78, 0x39, 0xa1, 0xae, 0xbf, 0xe4, 0xe7, 0x58, 0xe2, 0xaf, 0x0b, 0xb0,
-	0xce, 0xfc, 0xd9, 0xcf, 0x40, 0x1e, 0x4b, 0x9c, 0x2b, 0x39, 0x08, 0x3e, 0x94, 0xd9, 0x45, 0x6d,
-	0xf1, 0xd7, 0x04, 0x40, 0x3b, 0x83, 0x7c, 0xf7, 0xab, 0x54, 0xfa, 0x7f, 0x52, 0xb0, 0xe4, 0xe3,
-	0x88, 0xad, 0x93, 0xbc, 0x0e, 0x69, 0x9e, 0x0c, 0xcd, 0x9d, 0xaf, 0x7b, 0xc6, 0xd9, 0x1f, 0xb2,
-	0x53, 0x37, 0xb6, 0x88, 0x5e, 0x82, 0x45, 0xff, 0xd4, 0xb2, 0x3a, 0xba, 0xff, 0x98, 0x54, 0xac,
-	0x3d, 0x4a, 0x2a, 0xd6, 0xbe, 0x1d, 0x54, 0x65, 0xba, 0x34, 0x2b, 0x78, 0x72, 0xec, 0x56, 0x9d,
-	0x5c, 0x9e, 0x3e, 0x8e, 0x2b, 0xbe, 0x0c, 0x5d, 0x1c, 0x52, 0x53, 0x5c, 0x1c, 0x50, 0x0d, 0xa0,
-	0xa7, 0x98, 0x4a, 0x17, 0xf7, 0xb0, 0xe9, 0xf1, 0x04, 0xe4, 0x89, 0xc4, 0xa9, 0xf6, 0x02, 0x56,
-	0x29, 0x24, 0x46, 0x6e, 0xf0, 0x53, 0x56, 0x84, 0x37, 0x00, 0xf1, 0x07, 0xf9, 0x4e, 0x63, 0xff,
-	0xa6, 0xcc, 0xea, 0xbf, 0xf3, 0xc3, 0x95, 0xe2, 0x54, 0xa4, 0x52, 0xbc, 0x30, 0xa8, 0x14, 0xa7,
-	0xc5, 0x1f, 0x0a, 0x50, 0x88, 0x42, 0x24, 0xc1, 0x89, 0xa8, 0x2a, 0xf7, 0xed, 0xae, 0xa3, 0x68,
-	0xfe, 0xe7, 0x48, 0x54, 0xfd, 0x03, 0x46, 0x42, 0x8f, 0x33, 0x53, 0xca, 0x0e, 0xb6, 0x15, 0xdd,
-	0xe1, 0x5f, 0x09, 0x00, 0x21, 0x49, 0x94, 0x82, 0xda, 0xb0, 0xcc, 0xc5, 0x65, 0xcb, 0xf6, 0x2b,
-	0x9b, 0xc9, 0x9d, 0xaa, 0xea, 0x60, 0xee, 0x16, 0x63, 0x97, 0x0a, 0xfd, 0xc8, 0xb3, 0xd8, 0x03,
-	0x34, 0xca, 0x85, 0x5e, 0x85, 0xcd, 0x30, 0x56, 0x39, 0x54, 0x1f, 0x63, 0xa7, 0x65, 0x2d, 0x04,
-	0xbb, 0x13, 0x94, 0xca, 0x26, 0x36, 0xb4, 0xc5, 0x0e, 0xac, 0x8c, 0x74, 0x99, 0xd0, 0x3b, 0x90,
-	0xfe, 0x44, 0x37, 0x35, 0xeb, 0x93, 0xb1, 0x1f, 0x57, 0x85, 0xe4, 0xee, 0x50, 0x6e, 0x89, 0x4b,
-	0x89, 0xbf, 0x2a, 0x44, 0x66, 0x65, 0xa3, 0xa8, 0x0b, 0x25, 0x4d, 0xd1, 0x8d, 0x33, 0x39, 0xdc,
-	0x05, 0xe3, 0xeb, 0xb0, 0xc3, 0x1d, 0xff, 0x69, 0xc9, 0x36, 0x11, 0x1a, 0x99, 0xee, 0xe6, 0xd7,
-	0xa4, 0x0d, 0x2d, 0x76, 0xe4, 0xc6, 0x12, 0xa4, 0x59, 0x73, 0x4d, 0xec, 0xc0, 0x46, 0xbc, 0xf4,
-	0x50, 0x8d, 0x71, 0x6e, 0xb8, 0xc6, 0x58, 0x86, 0x25, 0xad, 0xcf, 0x12, 0x09, 0xee, 0xd6, 0x82,
-	0x67, 0xf1, 0xdf, 0x04, 0xb8, 0x10, 0x2a, 0x17, 0x84, 0x36, 0xfd, 0x57, 0x58, 0x2d, 0xf8, 0x42,
-	0x0e, 0xea, 0x8f, 0xd8, 0x6d, 0xd7, 0xd7, 0xac, 0xa3, 0xdf, 0xc3, 0x5f, 0xa5, 0x4e, 0x17, 0x79,
-	0xd3, 0x9e, 0xb9, 0xee, 0x05, 0xea, 0xba, 0x33, 0xa6, 0xef, 0xb3, 0xc5, 0xdf, 0x12, 0xe0, 0x31,
-	0xc9, 0x32, 0x8c, 0x43, 0x45, 0x3d, 0xf1, 0x21, 0xf3, 0x13, 0xf0, 0x55, 0x86, 0xb4, 0x03, 0x96,
-	0x8c, 0x87, 0xe2, 0x38, 0xcf, 0x67, 0xa3, 0xdf, 0x20, 0x08, 0x0f, 0xf7, 0x0d, 0x82, 0x78, 0x1f,
-	0x56, 0xe3, 0x9a, 0x2b, 0xc9, 0x9f, 0xa8, 0x3d, 0x09, 0x85, 0x9e, 0x6e, 0x86, 0x83, 0x1f, 0xfb,
-	0x68, 0x3a, 0xd7, 0xd3, 0xcd, 0x41, 0xe0, 0x23, 0x5c, 0xca, 0xa7, 0xa3, 0x21, 0x32, 0xd7, 0x53,
-	0x3e, 0x0d, 0xb8, 0xc4, 0xbf, 0x9c, 0x83, 0x62, 0x07, 0x7b, 0xac, 0x23, 0x38, 0x3b, 0xe3, 0x1e,
-	0x8e, 0x7e, 0x11, 0xc1, 0x3e, 0xbf, 0x7e, 0x33, 0xe9, 0xf6, 0x1c, 0x41, 0xf4, 0xf9, 0x3f, 0x8d,
-	0x58, 0x88, 0xff, 0x34, 0xe2, 0x8b, 0xe8, 0x86, 0x7e, 0x5b, 0xa0, 0x35, 0x87, 0xd0, 0x97, 0x13,
-	0x33, 0x33, 0x5f, 0x68, 0x2f, 0xa4, 0xa2, 0x9f, 0xd8, 0x7d, 0x0c, 0x1b, 0x34, 0x28, 0x34, 0xda,
-	0x12, 0xff, 0x4e, 0x7f, 0x76, 0xd9, 0x65, 0x0f, 0x1e, 0xa9, 0x59, 0x3d, 0x9b, 0xa4, 0xd5, 0x5f,
-	0xc6, 0x72, 0x27, 0xb0, 0x32, 0xf2, 0xd5, 0x39, 0x79, 0xc9, 0xa1, 0xef, 0xce, 0xf9, 0xc6, 0x26,
-	0xab, 0xcd, 0x4b, 0x45, 0x25, 0xcc, 0x4d, 0x8e, 0xc0, 0xb3, 0x10, 0xa6, 0xb1, 0xab, 0x13, 0x03,
-	0xb0, 0x1c, 0xa2, 0xd3, 0x4a, 0xf1, 0x4f, 0x04, 0xd8, 0x24, 0x0e, 0x32, 0xf2, 0x05, 0xcb, 0xcc,
-	0xde, 0xe7, 0xe8, 0x67, 0x35, 0xa9, 0xcf, 0xf9, 0x59, 0x8d, 0xf8, 0x53, 0x5e, 0x68, 0x1d, 0xf9,
-	0xa0, 0x64, 0x66, 0xe0, 0xe3, 0xbf, 0x76, 0x49, 0x4d, 0xf9, 0xb5, 0xcb, 0x4b, 0xff, 0x75, 0x15,
-	0x0a, 0xfc, 0xb2, 0xcc, 0x82, 0x98, 0x83, 0x7e, 0x47, 0x80, 0x5c, 0xb8, 0xc4, 0x83, 0xe2, 0x73,
-	0xdd, 0x98, 0x7a, 0x52, 0xf9, 0xd9, 0x73, 0x70, 0x32, 0xef, 0x2d, 0xbe, 0xfe, 0xed, 0x7f, 0xfd,
-	0xef, 0xdf, 0x9c, 0xbb, 0x86, 0x2a, 0x95, 0xd3, 0x6b, 0x15, 0x6e, 0x19, 0xb7, 0x72, 0x7f, 0x60,
-	0xb5, 0x07, 0x15, 0x5a, 0x65, 0xa8, 0xdc, 0x27, 0xff, 0x3c, 0xa8, 0x04, 0xe5, 0xa2, 0xef, 0x09,
-	0x00, 0x83, 0xe6, 0x11, 0x8a, 0xd7, 0x7d, 0xa4, 0xbb, 0x54, 0x1e, 0x5b, 0x8d, 0x12, 0xb7, 0x29,
-	0x9a, 0x77, 0xd0, 0xdb, 0x0f, 0x89, 0xa6, 0x72, 0x7f, 0xf0, 0xce, 0x1e, 0xa0, 0xdf, 0x16, 0x20,
-	0x1f, 0x69, 0xad, 0xa1, 0x78, 0x83, 0xc4, 0xb5, 0xdf, 0xca, 0x13, 0x4a, 0x31, 0xe2, 0x75, 0x0a,
-	0xf1, 0x15, 0xf1, 0x61, 0x0d, 0x76, 0x5d, 0xb8, 0x8a, 0x7e, 0x5f, 0x80, 0x7c, 0xa4, 0x11, 0x96,
-	0x00, 0x2c, 0xae, 0x59, 0x36, 0x11, 0xd8, 0x0e, 0x05, 0x56, 0x2d, 0x4f, 0x65, 0x3b, 0x82, 0xf2,
-	0xef, 0x05, 0x28, 0x44, 0xfb, 0x60, 0xe8, 0xea, 0x18, 0x98, 0x43, 0xf7, 0xed, 0x89, 0x38, 0xbb,
-	0x14, 0xa7, 0x22, 0xde, 0x9d, 0x06, 0x67, 0x25, 0xc8, 0x20, 0x2a, 0xf7, 0xc3, 0x89, 0xcb, 0x83,
-	0x0a, 0xab, 0x12, 0x13, 0x3d, 0xfe, 0x23, 0x9a, 0xf6, 0x85, 0xd3, 0x8b, 0x97, 0x92, 0x02, 0x6f,
-	0x72, 0xb3, 0x6c, 0xa2, 0x5e, 0x06, 0xd5, 0xeb, 0x48, 0x54, 0x66, 0xa3, 0x57, 0xe8, 0xfa, 0x4a,
-	0x94, 0xfb, 0x53, 0x01, 0x56, 0x46, 0x5a, 0x5f, 0xe8, 0x85, 0xc4, 0x84, 0x22, 0xae, 0x45, 0x36,
-	0x51, 0xa5, 0x16, 0x55, 0xa9, 0x21, 0x6e, 0x4f, 0xa5, 0x12, 0x6f, 0x8e, 0x11, 0xd4, 0x7f, 0xc3,
-	0xb2, 0x86, 0xd1, 0xef, 0x8d, 0x92, 0xfb, 0x08, 0x09, 0x3d, 0xb4, 0x89, 0xd8, 0x25, 0x8a, 0x7d,
-	0x57, 0xdc, 0x99, 0x0a, 0xfb, 0xa0, 0x75, 0x46, 0xe0, 0xff, 0x91, 0x00, 0xcb, 0x43, 0x6d, 0x33,
-	0xf4, 0x5c, 0x12, 0xf2, 0x98, 0xe6, 0xda, 0x44, 0xd0, 0x4d, 0x0a, 0xfa, 0xa6, 0x58, 0x9b, 0x0a,
-	0x34, 0xeb, 0x9a, 0x11, 0xc0, 0x3f, 0x12, 0x20, 0x17, 0x6e, 0x99, 0x25, 0xc4, 0x90, 0x98, 0xae,
-	0xda, 0x44, 0xa8, 0x1f, 0x50, 0xa8, 0xb7, 0xc4, 0xf7, 0xa6, 0xdc, 0x1b, 0x7c, 0x59, 0x82, 0xf6,
-	0x0f, 0x05, 0xc8, 0x85, 0x1b, 0x6b, 0x09, 0x68, 0x63, 0x7a, 0x6f, 0x5f, 0x92, 0x61, 0x59, 0xb1,
-	0x98, 0x40, 0xfd, 0x13, 0x01, 0xf2, 0x91, 0x2e, 0x57, 0x82, 0x27, 0x8f, 0xeb, 0x84, 0x4d, 0x04,
-	0x7b, 0x40, 0xc1, 0xb6, 0xc4, 0xf7, 0xa7, 0xf2, 0xe4, 0x6e, 0x78, 0x69, 0x82, 0xf9, 0x77, 0x05,
-	0xc8, 0x47, 0xfa, 0x5c, 0x09, 0x98, 0xe3, 0x7a, 0x61, 0x13, 0x31, 0xf3, 0xc8, 0x7d, 0x75, 0xba,
-	0xc8, 0xfd, 0x03, 0x01, 0x0a, 0xd1, 0xb6, 0x49, 0x42, 0xe8, 0x89, 0xed, 0x0b, 0x95, 0x9f, 0x3b,
-	0x17, 0x2f, 0xcf, 0x7c, 0xde, 0xa4, 0x88, 0x5f, 0x46, 0xd7, 0xce, 0x89, 0x38, 0xd4, 0x82, 0xf9,
-	0x3d, 0x01, 0x72, 0xe1, 0x36, 0x58, 0xc2, 0x46, 0x8d, 0xe9, 0x94, 0x4d, 0xb4, 0xe3, 0x4d, 0x8a,
-	0xea, 0x06, 0x7a, 0xf7, 0xa1, 0x51, 0x55, 0xee, 0x87, 0x7b, 0x52, 0x0f, 0xd0, 0x67, 0x02, 0x2c,
-	0x0f, 0xb5, 0xbc, 0x12, 0x9c, 0x55, 0x7c, 0x63, 0xac, 0xbc, 0xe1, 0x33, 0xfb, 0x7f, 0xec, 0xbc,
-	0x55, 0xef, 0xd9, 0xde, 0xd9, 0x43, 0x7b, 0xd6, 0x44, 0x88, 0xd7, 0x55, 0xba, 0x30, 0xd9, 0x9b,
-	0xdf, 0x17, 0x60, 0x79, 0xa8, 0x61, 0x95, 0x00, 0x36, 0xbe, 0xad, 0x55, 0xbe, 0x9c, 0x70, 0xfc,
-	0x06, 0x9c, 0xe2, 0x5b, 0x14, 0xf7, 0xab, 0xe8, 0xe5, 0x73, 0xe2, 0x76, 0xa9, 0x30, 0xaf, 0xbb,
-	0xff, 0x44, 0x80, 0x7c, 0xa4, 0xfe, 0x81, 0x92, 0x93, 0xec, 0xe1, 0x5e, 0x47, 0xf9, 0xea, 0x79,
-	0x58, 0xf9, 0xb6, 0xe4, 0x9e, 0x0a, 0xbd, 0xf7, 0xc5, 0xa4, 0x11, 0xe8, 0xcf, 0x04, 0xc8, 0x86,
-	0xba, 0x22, 0xe8, 0x99, 0x24, 0xab, 0x0e, 0xe7, 0x71, 0xe3, 0x6b, 0x38, 0xe2, 0x37, 0x28, 0xce,
-	0x3b, 0xe8, 0x60, 0x26, 0xe9, 0x0e, 0xfa, 0x63, 0x01, 0x0a, 0xd1, 0x66, 0x5b, 0x82, 0x27, 0x88,
-	0xed, 0xc8, 0x7d, 0x49, 0xd1, 0x2b, 0x40, 0x4f, 0xb6, 0xf0, 0x5f, 0x0b, 0x50, 0x88, 0xb6, 0xdd,
-	0x12, 0x10, 0xc7, 0xf6, 0xe6, 0x26, 0x22, 0xe6, 0xf6, 0xbe, 0x3a, 0x23, 0x7b, 0xff, 0xbb, 0x00,
-	0x9b, 0x09, 0x55, 0x47, 0x14, 0xff, 0x21, 0xf2, 0xf8, 0x1a, 0xe5, 0x44, 0x7d, 0x74, 0xaa, 0x8f,
-	0x2a, 0x7e, 0x73, 0x26, 0xfa, 0x5c, 0x77, 0x38, 0x3a, 0x7e, 0x11, 0x58, 0x8f, 0xad, 0x6c, 0xa3,
-	0x6b, 0x93, 0xee, 0x01, 0x23, 0x55, 0xf0, 0x89, 0x7a, 0x99, 0x54, 0xaf, 0x63, 0x51, 0x9d, 0xcd,
-	0x35, 0x80, 0x46, 0x75, 0x1f, 0x13, 0x51, 0xee, 0x33, 0x01, 0x32, 0x41, 0xc5, 0x10, 0x3d, 0x75,
-	0xae, 0x8a, 0xe2, 0x44, 0x25, 0x6e, 0x53, 0x25, 0xda, 0xe2, 0xad, 0xa9, 0x94, 0x88, 0x96, 0x28,
-	0x79, 0x02, 0x9d, 0x8f, 0x54, 0x0d, 0x93, 0xd3, 0xa6, 0x91, 0xca, 0xe2, 0x97, 0x94, 0xf1, 0x0f,
-	0xfe, 0xfe, 0x8b, 0x00, 0xfe, 0x0b, 0x92, 0xf1, 0x47, 0x4b, 0x8c, 0x49, 0x19, 0x7f, 0x6c, 0x21,
-	0x72, 0x22, 0xe8, 0x3b, 0x14, 0xf4, 0x07, 0xe2, 0xee, 0x74, 0xb9, 0x1e, 0x5d, 0xdc, 0xf6, 0x17,
-	0x27, 0xc8, 0xff, 0x4e, 0x00, 0x34, 0x5a, 0xb0, 0x44, 0x5b, 0xf1, 0x4e, 0x34, 0xa9, 0xb2, 0x39,
-	0x11, 0xff, 0x47, 0x14, 0xff, 0xbe, 0xd8, 0x9a, 0x0a, 0xbf, 0xea, 0xaf, 0x1f, 0x51, 0xe1, 0x1f,
-	0xd8, 0x75, 0x2b, 0xdc, 0xb7, 0x49, 0xbe, 0x6e, 0xc5, 0x74, 0x77, 0x26, 0x82, 0x3f, 0xa6, 0xe0,
-	0x0f, 0xc5, 0x6f, 0xcc, 0xec, 0xac, 0x12, 0x34, 0x44, 0x95, 0xbf, 0x12, 0x68, 0xa7, 0x21, 0xfa,
-	0x47, 0xe8, 0xcf, 0x27, 0xea, 0x12, 0x53, 0x88, 0x9d, 0xa8, 0xcc, 0xcf, 0x53, 0x65, 0x24, 0x71,
-	0x6f, 0xda, 0x5b, 0x43, 0x64, 0x75, 0x02, 0xfe, 0xa7, 0xfc, 0xd6, 0x3e, 0xd2, 0x50, 0x1d, 0xf3,
-	0xf5, 0x5f, 0x7c, 0x41, 0x76, 0xa2, 0x12, 0x77, 0xa9, 0x12, 0xb7, 0xc5, 0x0f, 0xa6, 0xbf, 0xfa,
-	0x0c, 0x21, 0xb8, 0x2e, 0x5c, 0xbd, 0xf1, 0x43, 0x01, 0x36, 0x55, 0xab, 0x17, 0x87, 0xe1, 0xc6,
-	0x6a, 0xcd, 0xff, 0x1b, 0x72, 0x5a, 0x66, 0x68, 0x93, 0x9c, 0xb7, 0x2d, 0x7c, 0xf4, 0x36, 0xe7,
-	0xed, 0x5a, 0x86, 0x62, 0x76, 0xb7, 0x2c, 0xa7, 0x5b, 0xe9, 0x62, 0x93, 0x66, 0xc4, 0x15, 0x36,
-	0xa4, 0xd8, 0xba, 0x1b, 0xf9, 0xdf, 0x86, 0xde, 0x0a, 0x1e, 0x3e, 0x9b, 0x7b, 0x64, 0x87, 0x89,
-	0xd7, 0x0c, 0xab, 0xaf, 0x6d, 0xd5, 0x82, 0x05, 0x6f, 0x5f, 0xfb, 0x27, 0x7f, 0xec, 0x2e, 0x1d,
-	0xbb, 0x1b, 0x8c, 0xdd, 0xbd, 0x7d, 0xed, 0x30, 0x4d, 0x17, 0x78, 0xf9, 0xff, 0x03, 0x00, 0x00,
-	0xff, 0xff, 0x02, 0x2c, 0x64, 0x0b, 0xcd, 0x48, 0x00, 0x00,
+	// 5160 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3c, 0x6d, 0x8c, 0x23, 0xd9,
+	0x51, 0x69, 0x8f, 0xc7, 0x33, 0xae, 0xf1, 0x78, 0x3c, 0x6f, 0x3e, 0xd6, 0xe7, 0xdb, 0xbd, 0xdb,
+	0xed, 0xdc, 0xe6, 0xf6, 0xe6, 0xee, 0xc6, 0xb7, 0x7b, 0xdf, 0x9b, 0xbd, 0xcb, 0x79, 0x3d, 0xbe,
+	0x59, 0xdf, 0xce, 0x87, 0xd3, 0x9e, 0xd9, 0xd5, 0x2d, 0x47, 0x5a, 0x3d, 0xf6, 0x5b, 0x4f, 0x67,
+	0xda, 0xdd, 0x4e, 0x77, 0x7b, 0x2f, 0xb3, 0xab, 0x45, 0x7c, 0x24, 0x21, 0xe2, 0x72, 0x47, 0x42,
+	0x12, 0x90, 0xc2, 0x87, 0x08, 0x90, 0xa0, 0x04, 0xc4, 0x47, 0x44, 0x24, 0x10, 0x08, 0x09, 0x89,
+	0x1f, 0x04, 0x90, 0x82, 0x00, 0x9d, 0x10, 0x12, 0xff, 0x10, 0x22, 0x48, 0x48, 0x04, 0xf8, 0x83,
+	0x00, 0x81, 0xde, 0x47, 0x77, 0xbf, 0xb6, 0xbb, 0xed, 0xf1, 0xcc, 0xee, 0x64, 0x7f, 0xed, 0x74,
+	0xbd, 0x57, 0xef, 0x55, 0xd5, 0xab, 0x57, 0x55, 0xaf, 0xaa, 0xbc, 0xf0, 0x44, 0xcb, 0xb2, 0x5a,
+	0x06, 0x2e, 0x36, 0x2c, 0xd3, 0xd5, 0x74, 0x13, 0xdb, 0xc5, 0x5b, 0xe7, 0x8b, 0x0d, 0xa3, 0xeb,
+	0xb8, 0xd8, 0x56, 0x1d, 0x6c, 0xdf, 0xd2, 0x1b, 0x78, 0xb9, 0x63, 0x5b, 0xae, 0x85, 0xe6, 0xd8,
+	0xd4, 0x65, 0x7f, 0xea, 0xf2, 0xad, 0xf3, 0x85, 0x93, 0x1c, 0x5f, 0xeb, 0xe8, 0x45, 0xcd, 0x34,
+	0x2d, 0x57, 0x73, 0x75, 0xcb, 0x74, 0x18, 0x4a, 0xe1, 0x61, 0x3e, 0x4a, 0xbf, 0x76, 0xba, 0x37,
+	0x8b, 0xb8, 0xdd, 0x71, 0xf7, 0xd9, 0xa0, 0xfc, 0xed, 0x71, 0x80, 0x0d, 0xab, 0x89, 0xcb, 0x96,
+	0x79, 0x53, 0x6f, 0xa1, 0x33, 0x90, 0x69, 0x6b, 0x8d, 0x5d, 0xdd, 0xc4, 0xaa, 0xbb, 0xdf, 0xc1,
+	0x79, 0xe9, 0xb4, 0x74, 0x2e, 0xad, 0x4c, 0x71, 0xd8, 0xd6, 0x7e, 0x07, 0xa3, 0xd3, 0x90, 0x69,
+	0xea, 0xce, 0x9e, 0xea, 0xe8, 0xb7, 0xb1, 0xda, 0xda, 0xc9, 0x27, 0x4e, 0x4b, 0xe7, 0xc6, 0x15,
+	0x20, 0xb0, 0xba, 0x7e, 0x1b, 0xaf, 0xee, 0x90, 0x45, 0x2c, 0xad, 0xeb, 0xee, 0xaa, 0x4e, 0xc3,
+	0xea, 0x60, 0x27, 0x3f, 0x76, 0x7a, 0x8c, 0x2c, 0x42, 0x61, 0x75, 0x0a, 0x42, 0x8f, 0xc3, 0x0c,
+	0xe7, 0x4b, 0xd5, 0x1a, 0x0d, 0xab, 0x6b, 0xba, 0xf9, 0x34, 0xdd, 0x2a, 0xcb, 0xc1, 0x25, 0x06,
+	0x45, 0x55, 0x98, 0x6c, 0x63, 0x57, 0x6b, 0x6a, 0xae, 0x96, 0x4f, 0x9e, 0x1e, 0x3b, 0x37, 0x75,
+	0xe1, 0xe9, 0xe5, 0x08, 0x11, 0x2c, 0x07, 0x3c, 0x2c, 0xaf, 0xf3, 0xf9, 0x15, 0xd3, 0xb5, 0xf7,
+	0x15, 0x1f, 0x1d, 0x9d, 0x02, 0xd0, 0xdb, 0x5a, 0x8b, 0x73, 0x36, 0x4e, 0xb7, 0x4b, 0x53, 0x08,
+	0xe5, 0xab, 0x0c, 0x29, 0x43, 0xdb, 0xc1, 0x86, 0x93, 0x4f, 0xd1, 0x7d, 0x9e, 0x1c, 0xb6, 0xcf,
+	0x1a, 0x9d, 0xcd, 0x76, 0xe1, 0xa8, 0xe8, 0x43, 0x30, 0x63, 0x58, 0x0d, 0xcd, 0x50, 0x1d, 0xa7,
+	0xa9, 0x32, 0xbe, 0x26, 0xa8, 0x7c, 0xa6, 0x29, 0xb8, 0xee, 0x34, 0xcb, 0x94, 0x2d, 0x04, 0x49,
+	0x57, 0x6b, 0x39, 0xf9, 0x49, 0x2a, 0x1a, 0xfa, 0x37, 0x3a, 0x0d, 0x53, 0x1d, 0x1b, 0x93, 0xc3,
+	0xd1, 0x77, 0x0c, 0x9c, 0x87, 0xd3, 0xd2, 0xb9, 0x49, 0x45, 0x04, 0xa1, 0x37, 0x20, 0xa3, 0x35,
+	0x1a, 0xd8, 0xc0, 0xb6, 0xe6, 0x5a, 0xb6, 0x93, 0x9f, 0xa2, 0x84, 0x7e, 0x28, 0x92, 0xd0, 0x52,
+	0x30, 0x91, 0xd1, 0xab, 0x84, 0x70, 0xd1, 0xc3, 0x90, 0xa6, 0xc7, 0x48, 0x85, 0x91, 0xa1, 0xc2,
+	0x98, 0x24, 0x00, 0x2a, 0x8b, 0x73, 0x90, 0x6b, 0xeb, 0xa6, 0xda, 0xe8, 0x74, 0xd5, 0x8e, 0xa1,
+	0xb9, 0x37, 0x2d, 0xbb, 0x9d, 0x9f, 0x66, 0xe7, 0xd3, 0xd6, 0xcd, 0x72, 0xa7, 0x5b, 0xe3, 0xd0,
+	0xc2, 0x87, 0x61, 0x3a, 0x24, 0x6f, 0x94, 0x83, 0xb1, 0x3d, 0xbc, 0xcf, 0x15, 0x87, 0xfc, 0x89,
+	0xe6, 0x61, 0xfc, 0x96, 0x66, 0x74, 0x31, 0xd5, 0x94, 0xb4, 0xc2, 0x3e, 0x2e, 0x26, 0x5e, 0x92,
+	0x0a, 0x2f, 0xc3, 0x94, 0x20, 0xc4, 0x51, 0x50, 0xe5, 0x6f, 0x25, 0x00, 0xd6, 0x35, 0x72, 0x41,
+	0x4a, 0x5d, 0x77, 0x17, 0x15, 0x60, 0xb2, 0xeb, 0x60, 0xdb, 0xd4, 0xda, 0x9e, 0xce, 0xfa, 0xdf,
+	0x64, 0xac, 0xa3, 0x39, 0xce, 0xdb, 0x96, 0xdd, 0xe4, 0xeb, 0xf8, 0xdf, 0x68, 0x17, 0x1e, 0x6a,
+	0x18, 0x3a, 0x36, 0x5d, 0xb5, 0x81, 0x6d, 0x57, 0xbf, 0xa9, 0x37, 0x34, 0x17, 0xab, 0x0d, 0x2a,
+	0xb0, 0xfc, 0xd8, 0x69, 0xe9, 0xdc, 0xd4, 0x85, 0xa7, 0x22, 0xc5, 0x5b, 0xa6, 0x58, 0xe5, 0x00,
+	0x89, 0x0b, 0xf9, 0x44, 0x23, 0x7a, 0x00, 0x3d, 0x07, 0x8b, 0xde, 0x8d, 0x6e, 0x68, 0xe2, 0x6e,
+	0xf9, 0x26, 0xa5, 0x69, 0x9e, 0x8f, 0x96, 0x35, 0x01, 0x17, 0x3d, 0x0d, 0xa8, 0x9f, 0xbe, 0x3c,
+	0xa6, 0x18, 0xb3, 0x7d, 0x5b, 0x11, 0x15, 0xe7, 0xd3, 0x89, 0x20, 0x6f, 0x32, 0x15, 0x67, 0x90,
+	0xab, 0x78, 0x5f, 0xae, 0xc3, 0x89, 0x18, 0xba, 0xd1, 0x4b, 0x90, 0xd7, 0x1d, 0xa7, 0x8b, 0xd5,
+	0x88, 0xed, 0x24, 0xaa, 0x89, 0x8b, 0x74, 0xbc, 0x0f, 0x5f, 0x7e, 0x6f, 0x0c, 0x32, 0xa5, 0x66,
+	0xd3, 0x32, 0x1d, 0xbe, 0xd4, 0x35, 0x98, 0xdb, 0x75, 0xdd, 0x8e, 0x6a, 0x58, 0x5a, 0x53, 0xdd,
+	0xd1, 0x0c, 0xcd, 0x6c, 0xe8, 0x66, 0x8b, 0xae, 0x12, 0xa7, 0xac, 0x57, 0x5c, 0xb7, 0xb3, 0x66,
+	0x69, 0xcd, 0xcb, 0xde, 0x6c, 0x65, 0x76, 0xb7, 0x17, 0x84, 0xf6, 0xa0, 0xb0, 0x6b, 0xd9, 0xfa,
+	0x6d, 0x82, 0x68, 0xa8, 0x1d, 0xab, 0xa9, 0x6a, 0x5d, 0xd7, 0x72, 0x1a, 0x9a, 0x41, 0x96, 0x4f,
+	0xd0, 0xe5, 0xa3, 0x8d, 0xc3, 0x15, 0x1f, 0xad, 0x66, 0x35, 0x4b, 0x01, 0x92, 0x92, 0xdf, 0x8d,
+	0x19, 0x41, 0x3f, 0x04, 0xf3, 0x7b, 0xdd, 0x1d, 0x6c, 0x9b, 0xd8, 0xc5, 0x8e, 0xda, 0xd4, 0x9c,
+	0xdd, 0x1d, 0x4b, 0xb3, 0x9b, 0x5c, 0x27, 0xce, 0x45, 0x6e, 0x73, 0xd5, 0x47, 0x58, 0xf1, 0xe6,
+	0x2b, 0x73, 0x7b, 0xfd, 0x40, 0xf4, 0x16, 0x2c, 0x98, 0xd8, 0x7d, 0xdb, 0xb2, 0xf7, 0xd4, 0x8e,
+	0x65, 0xe8, 0x8d, 0x7d, 0x4f, 0xe3, 0x92, 0x03, 0x56, 0xdf, 0x60, 0x18, 0x35, 0x8a, 0xc0, 0xb5,
+	0x6d, 0xce, 0xec, 0x07, 0xca, 0x45, 0x98, 0xed, 0x93, 0x27, 0xb9, 0x04, 0x4d, 0xdd, 0xd1, 0x76,
+	0x0c, 0xdc, 0xe4, 0xe7, 0xe9, 0x7f, 0xcb, 0x2f, 0x40, 0x3e, 0x4e, 0x42, 0x03, 0xf1, 0xce, 0xc3,
+	0x5c, 0x04, 0xcb, 0xc3, 0x50, 0x22, 0xf8, 0x18, 0x88, 0xf2, 0x3d, 0x09, 0x1e, 0x09, 0x6e, 0x3a,
+	0xa1, 0x13, 0x37, 0xf9, 0x1a, 0x9e, 0xc6, 0xe5, 0x61, 0x02, 0x9b, 0x22, 0xb6, 0xf7, 0x89, 0x3e,
+	0x06, 0x53, 0x0d, 0xbd, 0x69, 0xab, 0x3b, 0x86, 0xd5, 0xd8, 0x73, 0xf2, 0x09, 0x6a, 0x30, 0x5f,
+	0x89, 0x94, 0xef, 0xe0, 0x3d, 0x96, 0xcb, 0x7a, 0xd3, 0xbe, 0x4c, 0x56, 0x51, 0xa0, 0xe1, 0xfd,
+	0xe9, 0x14, 0xd6, 0x21, 0xed, 0x0f, 0x10, 0xbf, 0xd7, 0xd4, 0x9d, 0x8e, 0xa1, 0xed, 0xab, 0x82,
+	0x21, 0x9a, 0xe2, 0xb0, 0x0d, 0x62, 0x8b, 0xc8, 0x05, 0xf5, 0xe9, 0xe1, 0xd6, 0x28, 0xed, 0xaf,
+	0x27, 0x7f, 0x08, 0x60, 0x0d, 0xb7, 0xb4, 0xc6, 0x7e, 0x69, 0x47, 0x6b, 0xc4, 0xb3, 0x25, 0xff,
+	0x9a, 0x04, 0xd3, 0x21, 0x39, 0xa2, 0x55, 0x98, 0xec, 0xd8, 0xd6, 0x2d, 0xbd, 0x89, 0x6d, 0x3a,
+	0x39, 0x1b, 0xe7, 0xbf, 0x44, 0xac, 0xe5, 0x1a, 0x47, 0x51, 0x7c, 0x64, 0x71, 0xd3, 0x44, 0x78,
+	0xd3, 0x67, 0x60, 0xb2, 0x16, 0xcc, 0x9a, 0xaf, 0x29, 0x9b, 0xd7, 0xaa, 0x2b, 0x15, 0x45, 0xdd,
+	0xde, 0xa8, 0xd7, 0x2a, 0xe5, 0xea, 0xeb, 0xd5, 0xca, 0x4a, 0xee, 0x03, 0x08, 0x20, 0x55, 0x2e,
+	0xad, 0x55, 0xcb, 0x9b, 0x39, 0x49, 0xfe, 0x93, 0x24, 0xa0, 0x6a, 0xad, 0x64, 0x10, 0xdf, 0x47,
+	0x22, 0x12, 0x4e, 0xeb, 0x63, 0x90, 0xed, 0x3a, 0x58, 0xd5, 0x3b, 0xaa, 0x66, 0xe8, 0x9a, 0x83,
+	0x1d, 0xce, 0x5e, 0xa6, 0xeb, 0xe0, 0x6a, 0xa7, 0xc4, 0x60, 0xe8, 0x49, 0x98, 0x6d, 0xd8, 0x98,
+	0x98, 0x63, 0xa7, 0xbb, 0xc3, 0xf5, 0x9c, 0x93, 0x94, 0x63, 0x03, 0x75, 0x1f, 0x4e, 0xe3, 0x09,
+	0xff, 0x8b, 0x49, 0x7f, 0x8c, 0xc7, 0x13, 0x3e, 0x98, 0x1e, 0xc0, 0x32, 0xcc, 0x7a, 0x66, 0x58,
+	0xef, 0xdc, 0x7a, 0x4e, 0x25, 0xb2, 0xa7, 0xd7, 0x2e, 0x7d, 0x39, 0x91, 0x97, 0x94, 0x19, 0x3e,
+	0x58, 0xed, 0xdc, 0x7a, 0x8e, 0x1c, 0x2c, 0x3a, 0x07, 0x59, 0xd3, 0x6a, 0x62, 0x61, 0xf2, 0xb8,
+	0x3f, 0x39, 0x43, 0x46, 0xfc, 0x99, 0xcf, 0x00, 0xe2, 0xb1, 0x8b, 0x23, 0xcc, 0x4e, 0xf9, 0xb3,
+	0x73, 0xde, 0xa8, 0x8f, 0xf1, 0x11, 0x38, 0x19, 0x04, 0x79, 0x0d, 0xcb, 0x6c, 0x6a, 0xf6, 0xbe,
+	0x6a, 0x6b, 0x66, 0x0b, 0x33, 0x0e, 0x26, 0x28, 0x07, 0x0f, 0xf1, 0x39, 0x75, 0x6f, 0x8a, 0x42,
+	0x66, 0x50, 0x66, 0x4a, 0x70, 0xca, 0xdf, 0x32, 0x72, 0x85, 0x49, 0xba, 0x42, 0xc1, 0x9b, 0x14,
+	0xb1, 0xc4, 0xf3, 0x70, 0xa2, 0x4f, 0x1e, 0x5c, 0x3b, 0xd3, 0x21, 0xbf, 0xe4, 0x51, 0xcd, 0x54,
+	0xbd, 0x08, 0xf3, 0x61, 0xb1, 0x70, 0x1c, 0x60, 0x9e, 0x49, 0x14, 0x0c, 0x43, 0x78, 0x11, 0xf2,
+	0xfd, 0xd2, 0xe1, 0x48, 0x53, 0x14, 0x69, 0xa1, 0x57, 0x3e, 0xec, 0x4a, 0x7c, 0x37, 0x07, 0x13,
+	0x65, 0x46, 0x02, 0x89, 0x9a, 0x84, 0x8b, 0x45, 0xff, 0x26, 0x51, 0x53, 0x13, 0x3b, 0x0d, 0x5b,
+	0xef, 0x10, 0x0d, 0xe3, 0x57, 0x4a, 0x04, 0xa1, 0xa7, 0x00, 0xe9, 0xa6, 0xee, 0xea, 0x9a, 0xa1,
+	0x52, 0x9a, 0x59, 0x58, 0x36, 0x46, 0xc3, 0xb2, 0x1c, 0x1f, 0x61, 0x61, 0x1d, 0x89, 0xcc, 0x5e,
+	0x83, 0x29, 0x3e, 0x4b, 0xb0, 0xc8, 0x8f, 0x0e, 0x89, 0x05, 0x15, 0x30, 0x83, 0x18, 0xfa, 0x35,
+	0x98, 0x6a, 0x53, 0x5b, 0x42, 0xfc, 0xd3, 0x2e, 0xd5, 0x97, 0xb8, 0x15, 0x02, 0x9b, 0xa3, 0x40,
+	0x3b, 0x88, 0x66, 0x1e, 0x27, 0x51, 0x64, 0xab, 0xa5, 0x9b, 0x2d, 0x2f, 0xfa, 0x67, 0x7a, 0xa4,
+	0x64, 0x39, 0xb8, 0xce, 0xa0, 0x24, 0x3c, 0x68, 0x5b, 0xa6, 0xee, 0x5a, 0xb6, 0x38, 0x97, 0xe9,
+	0xcd, 0x6c, 0x30, 0xe2, 0x4d, 0xcf, 0xc3, 0x84, 0x77, 0x91, 0x98, 0x66, 0x78, 0x9f, 0x68, 0x29,
+	0xea, 0x5a, 0x30, 0x05, 0xe8, 0xbb, 0x12, 0xaf, 0xc3, 0xb4, 0x46, 0xfd, 0xbd, 0x27, 0x23, 0xa0,
+	0x1c, 0x9e, 0x89, 0x0e, 0x43, 0x85, 0xc8, 0x40, 0xc9, 0x68, 0x62, 0x9c, 0xf0, 0x08, 0x80, 0x70,
+	0xb3, 0x99, 0x12, 0x08, 0x10, 0x74, 0x09, 0xa8, 0x54, 0xd5, 0x8e, 0x65, 0x19, 0x4e, 0x3e, 0x43,
+	0x4d, 0xf7, 0xa9, 0xd8, 0x83, 0xa8, 0x59, 0x96, 0xa1, 0xa4, 0x4d, 0xfe, 0x97, 0x83, 0x4e, 0x42,
+	0xda, 0x33, 0x3b, 0x4e, 0x7e, 0x9a, 0x86, 0xd9, 0x01, 0x00, 0xbd, 0x00, 0x27, 0x98, 0x59, 0x53,
+	0x05, 0x2f, 0xaf, 0x19, 0x9d, 0x5d, 0x2d, 0x9f, 0xa5, 0x26, 0x66, 0x81, 0x0d, 0x07, 0xfe, 0xad,
+	0x44, 0x06, 0xd1, 0x9b, 0x30, 0x63, 0x63, 0xc7, 0xea, 0xda, 0x0d, 0xac, 0xf2, 0xd7, 0xc2, 0x0c,
+	0x25, 0xec, 0x99, 0x98, 0x28, 0x91, 0x8a, 0x6e, 0x59, 0xe1, 0x38, 0xe2, 0x93, 0x21, 0x6b, 0x87,
+	0x80, 0xc4, 0xde, 0xd1, 0x15, 0xd5, 0x9b, 0xba, 0xd9, 0xc2, 0x76, 0xc7, 0xd6, 0x4d, 0x37, 0x9f,
+	0xa3, 0x52, 0xc9, 0xd1, 0x81, 0xd7, 0x03, 0x38, 0xd1, 0x31, 0x83, 0x3a, 0x0a, 0x55, 0xdb, 0xd1,
+	0x1a, 0x79, 0x34, 0x40, 0xc7, 0x02, 0x87, 0xa2, 0x80, 0x11, 0x38, 0x97, 0x2a, 0x64, 0xc3, 0x31,
+	0x48, 0x7e, 0x8e, 0x2e, 0x22, 0x0f, 0x77, 0x1b, 0xca, 0x74, 0x28, 0xec, 0x40, 0x6f, 0xc2, 0x3c,
+	0xb5, 0xe5, 0x9e, 0x78, 0xbd, 0x05, 0xe7, 0xe9, 0x82, 0x8f, 0x47, 0x2e, 0xd8, 0xef, 0x16, 0x14,
+	0xa4, 0x77, 0xfa, 0x5c, 0xc5, 0x8f, 0xc0, 0x19, 0xe1, 0x2e, 0x31, 0xc7, 0xac, 0xf2, 0xdd, 0x7d,
+	0xfd, 0x5b, 0xa4, 0xfb, 0x3c, 0x7b, 0x08, 0xaf, 0xae, 0x3c, 0xd2, 0x1e, 0x1c, 0x59, 0x6c, 0x03,
+	0x6a, 0x6b, 0xba, 0xe9, 0x62, 0x53, 0x33, 0x1b, 0xd8, 0x63, 0xec, 0xc4, 0x80, 0x50, 0x76, 0x3d,
+	0x98, 0xce, 0xf9, 0x9a, 0x6d, 0xf7, 0x82, 0x44, 0xe1, 0x73, 0x1e, 0x1e, 0x1e, 0x2e, 0x7c, 0x4e,
+	0xb2, 0x27, 0x7c, 0x4e, 0xe1, 0xc3, 0x90, 0x76, 0xb0, 0x71, 0x53, 0x35, 0x74, 0x73, 0x8f, 0x3f,
+	0x25, 0x26, 0x09, 0x60, 0x4d, 0x37, 0xf7, 0xd0, 0x22, 0x24, 0x6f, 0x5b, 0x26, 0x7f, 0x30, 0x50,
+	0x2f, 0x44, 0xbf, 0x49, 0xbc, 0x85, 0xcd, 0x66, 0xc7, 0x22, 0x2a, 0xc6, 0x5e, 0x09, 0xfe, 0x37,
+	0xb9, 0x1a, 0x9e, 0xb9, 0xf4, 0x4c, 0xc2, 0x2d, 0x6c, 0x3b, 0xc4, 0xb8, 0xb6, 0x98, 0xa1, 0xe6,
+	0xc3, 0x5c, 0xb9, 0xaf, 0xb1, 0x41, 0xfa, 0xc0, 0xe9, 0xda, 0x36, 0x79, 0x3c, 0xf0, 0x23, 0xf3,
+	0xd0, 0x76, 0xb9, 0x23, 0x61, 0xa3, 0xec, 0x44, 0x02, 0x2c, 0x0f, 0xce, 0x8c, 0xb3, 0x87, 0xa3,
+	0xfb, 0x14, 0x23, 0x3e, 0x4e, 0x2e, 0xb9, 0x87, 0xf5, 0x28, 0x4c, 0xf1, 0xd8, 0xc0, 0xd5, 0xdb,
+	0x38, 0xff, 0x71, 0x66, 0x3b, 0x18, 0x68, 0x4b, 0x6f, 0x63, 0xf4, 0x61, 0x48, 0x39, 0xae, 0xe6,
+	0x76, 0x9d, 0xfc, 0x1e, 0x0d, 0x86, 0x3e, 0x38, 0xf0, 0x7a, 0xd6, 0xe9, 0x54, 0x85, 0xa3, 0xa0,
+	0xb3, 0x90, 0x65, 0x7f, 0xa9, 0x6d, 0xec, 0x38, 0x5a, 0x0b, 0xe7, 0x0d, 0xba, 0xc1, 0x34, 0x83,
+	0xae, 0x33, 0x20, 0x7a, 0x1a, 0xe6, 0x7a, 0x7c, 0xa0, 0xa3, 0xdf, 0xc6, 0xf9, 0x36, 0x73, 0x2c,
+	0xa2, 0x0b, 0xac, 0xeb, 0xb7, 0x31, 0x71, 0x43, 0x11, 0xf1, 0x81, 0xc9, 0x2e, 0x78, 0x5f, 0x6c,
+	0x70, 0x01, 0xe6, 0x74, 0xd3, 0x71, 0xa9, 0xd6, 0xb5, 0x6c, 0xab, 0xdb, 0x51, 0xbb, 0xb6, 0xe1,
+	0xe4, 0x2d, 0x62, 0xc8, 0xa8, 0x58, 0x66, 0xbd, 0xe1, 0x55, 0x32, 0xba, 0x6d, 0x1b, 0x0e, 0xd9,
+	0x21, 0x24, 0x4b, 0xe6, 0xe8, 0x3a, 0x8c, 0x1e, 0x41, 0x8a, 0xcc, 0xd1, 0x3d, 0x0a, 0x53, 0xf8,
+	0x93, 0x1d, 0xdd, 0xe6, 0x32, 0xfc, 0x04, 0x93, 0x21, 0x03, 0x51, 0x19, 0x16, 0x60, 0xd2, 0xbb,
+	0x8d, 0x79, 0x9b, 0x29, 0x89, 0xf7, 0x5d, 0x28, 0xc1, 0x5c, 0x84, 0x4d, 0x1b, 0xe9, 0x05, 0xff,
+	0x36, 0xa4, 0x98, 0xdc, 0xd1, 0x22, 0xa0, 0xfa, 0x56, 0x69, 0x6b, 0xbb, 0xde, 0x13, 0x4a, 0xe6,
+	0x20, 0x43, 0x83, 0xcc, 0x7a, 0x75, 0x73, 0xa3, 0xba, 0xb1, 0x9a, 0x93, 0xd0, 0x14, 0x4c, 0x28,
+	0xdb, 0x1b, 0xf4, 0x23, 0x81, 0x66, 0x60, 0x4a, 0xa9, 0x94, 0x37, 0x37, 0xca, 0xd5, 0x35, 0x02,
+	0x18, 0x43, 0x19, 0x98, 0xac, 0x6f, 0x6d, 0xd6, 0x6a, 0xe4, 0x2b, 0x89, 0xd2, 0x30, 0x5e, 0x51,
+	0x94, 0x4d, 0x25, 0x37, 0x4e, 0x06, 0x56, 0x2a, 0xab, 0x4a, 0x69, 0xa5, 0xb2, 0x92, 0x4b, 0xc9,
+	0x5f, 0x1e, 0x87, 0x69, 0x7e, 0xf2, 0xdb, 0x9d, 0x26, 0x79, 0x36, 0x3f, 0x03, 0xf3, 0x4d, 0xec,
+	0xe8, 0x36, 0xb1, 0x2d, 0xa2, 0x12, 0xd2, 0xb8, 0x50, 0x41, 0x7c, 0x4c, 0x54, 0xc0, 0x4b, 0x50,
+	0xf0, 0x30, 0x22, 0x1c, 0x30, 0xcb, 0x2d, 0xe5, 0xf9, 0x8c, 0xf5, 0x3e, 0x3f, 0xbc, 0x0d, 0x0b,
+	0x1e, 0x76, 0xd8, 0x93, 0xa6, 0x0e, 0xea, 0x49, 0xe7, 0x38, 0x7e, 0xe8, 0xe1, 0x5d, 0xec, 0x61,
+	0x83, 0x38, 0x4e, 0x55, 0x6f, 0x7a, 0xf1, 0x80, 0xc0, 0x06, 0x71, 0x91, 0xd5, 0x26, 0x51, 0x18,
+	0x0f, 0x41, 0xc8, 0x8c, 0xb1, 0xd0, 0x20, 0xc7, 0x47, 0xaa, 0x7e, 0x82, 0x6c, 0x0f, 0x4e, 0xf5,
+	0x2f, 0x2f, 0x3e, 0xc1, 0xd3, 0x83, 0x5e, 0xaf, 0x7c, 0x57, 0xf1, 0xf5, 0x5d, 0xe8, 0xa1, 0x48,
+	0x7c, 0x77, 0x3e, 0x09, 0x1e, 0xbd, 0x6a, 0xe0, 0xc6, 0x81, 0xba, 0x71, 0x8f, 0xb2, 0x35, 0xdf,
+	0x9b, 0xbf, 0x2b, 0xc1, 0x13, 0xfe, 0x71, 0x0c, 0x75, 0x17, 0x99, 0xc3, 0xbb, 0x8b, 0xb3, 0xde,
+	0x91, 0x0e, 0xf6, 0x1a, 0xcf, 0xc1, 0x62, 0x0f, 0x39, 0x9e, 0x46, 0xf1, 0x5c, 0x4f, 0x68, 0x19,
+	0xae, 0x53, 0xf2, 0xf7, 0x52, 0x90, 0xde, 0xec, 0x60, 0x9b, 0x32, 0x15, 0x19, 0xeb, 0x7a, 0xe6,
+	0x3c, 0xd1, 0x63, 0xce, 0xdf, 0x80, 0xac, 0xe5, 0x21, 0xb2, 0x33, 0x1c, 0x1b, 0x60, 0xf5, 0xfc,
+	0x3d, 0x96, 0xc9, 0xb1, 0x2a, 0xd3, 0x3e, 0x2a, 0x3d, 0xe5, 0x57, 0x7c, 0xcb, 0x99, 0xa4, 0x6b,
+	0x9c, 0x1d, 0xb2, 0x46, 0x8f, 0xed, 0x5c, 0x84, 0x54, 0x13, 0xbb, 0x9a, 0x6e, 0x70, 0x35, 0xe2,
+	0x5f, 0x11, 0x36, 0x75, 0x3c, 0xca, 0xa6, 0x86, 0xbc, 0x59, 0xaa, 0xc7, 0x9b, 0x3d, 0x0a, 0x53,
+	0xae, 0x66, 0xb7, 0xb0, 0xcb, 0x86, 0x99, 0x5a, 0x03, 0x03, 0xd1, 0x09, 0xa2, 0xc5, 0x4a, 0x87,
+	0x2d, 0x16, 0x79, 0x79, 0x3b, 0xae, 0x66, 0xbb, 0xcc, 0xda, 0xb1, 0x77, 0x4a, 0x9a, 0x42, 0xa8,
+	0xb1, 0x7b, 0x88, 0x7a, 0x44, 0x36, 0xc8, 0x42, 0xd1, 0x09, 0x6c, 0x36, 0xc9, 0x90, 0xac, 0x0c,
+	0x35, 0x54, 0x53, 0x30, 0x51, 0xab, 0x6c, 0xac, 0x44, 0xd8, 0xa8, 0x49, 0x48, 0xae, 0x6c, 0x6e,
+	0x54, 0x98, 0x71, 0x2a, 0x5d, 0xde, 0x54, 0xb6, 0xa8, 0x71, 0x92, 0xff, 0x37, 0x01, 0x49, 0x2a,
+	0xee, 0x79, 0xc8, 0x6d, 0xbd, 0x59, 0xab, 0xf4, 0x2c, 0x88, 0x20, 0x5b, 0x56, 0x2a, 0xa5, 0xad,
+	0x8a, 0x5a, 0x5e, 0xdb, 0xae, 0x6f, 0x55, 0x94, 0x9c, 0x44, 0x60, 0x2b, 0x95, 0xb5, 0x8a, 0x00,
+	0x4b, 0x10, 0xd8, 0x76, 0x8d, 0x1a, 0x36, 0x75, 0xbd, 0x44, 0x61, 0x63, 0x68, 0x16, 0xa6, 0x3d,
+	0xd8, 0xc6, 0xe6, 0x4a, 0xa5, 0x9e, 0x4b, 0x92, 0x69, 0x4a, 0xa5, 0x56, 0xaa, 0x2a, 0x3e, 0xea,
+	0x38, 0x43, 0x5d, 0x11, 0xb7, 0x48, 0x11, 0x62, 0xf8, 0xb6, 0x04, 0x53, 0xad, 0x6d, 0x6e, 0xae,
+	0xe5, 0x26, 0x08, 0x94, 0x6f, 0x1c, 0x40, 0x27, 0xd1, 0x49, 0xc8, 0xd7, 0x2b, 0x5b, 0x01, 0x48,
+	0x5d, 0x2f, 0x6d, 0x94, 0x56, 0x2b, 0xeb, 0x95, 0x8d, 0xad, 0x5c, 0x1a, 0x2d, 0xc0, 0x6c, 0x69,
+	0x7b, 0x6b, 0x53, 0xe5, 0xdb, 0x32, 0x42, 0x80, 0x08, 0x90, 0x82, 0xc3, 0x04, 0x4e, 0xa1, 0x2c,
+	0x00, 0x59, 0x6c, 0xad, 0x74, 0xb9, 0xb2, 0x56, 0xcf, 0x65, 0xd0, 0x1c, 0xcc, 0x90, 0x6f, 0xc6,
+	0x93, 0x5a, 0xda, 0xde, 0xba, 0x92, 0x9b, 0xa6, 0xd2, 0x0f, 0xed, 0x58, 0xaf, 0xde, 0xa8, 0xe4,
+	0xb2, 0x3e, 0xbc, 0xb2, 0x75, 0x7d, 0x53, 0xb9, 0xaa, 0xd6, 0x36, 0xd7, 0xaa, 0xe5, 0x37, 0x73,
+	0x33, 0xa8, 0x00, 0x8b, 0x6c, 0x91, 0xea, 0xc6, 0x56, 0x65, 0xa3, 0xb4, 0x51, 0xae, 0x78, 0x63,
+	0x39, 0xf9, 0xab, 0x12, 0xcc, 0x97, 0x69, 0xb8, 0xc0, 0x3d, 0x81, 0x82, 0x3f, 0xd1, 0xc5, 0x8e,
+	0x8b, 0xce, 0x00, 0x74, 0x6c, 0xeb, 0xe3, 0xb8, 0xe1, 0x12, 0xcb, 0x29, 0xf9, 0x17, 0x2d, 0xcd,
+	0xa1, 0xd5, 0x66, 0xec, 0x2d, 0x7c, 0x01, 0x26, 0x78, 0xc0, 0xc4, 0xb3, 0x84, 0x27, 0x07, 0x05,
+	0x1d, 0x8a, 0x37, 0x99, 0x5c, 0x99, 0x8e, 0x46, 0x7c, 0x33, 0xbf, 0x12, 0xfc, 0x4b, 0xfe, 0xb4,
+	0x04, 0xb3, 0xab, 0xd8, 0xbd, 0x77, 0x04, 0x9e, 0x01, 0xf0, 0x1f, 0x79, 0x2c, 0x93, 0xc9, 0x51,
+	0xbd, 0x17, 0x5e, 0xd3, 0xb7, 0x3a, 0xe3, 0x81, 0xd5, 0x91, 0xff, 0x54, 0x82, 0x79, 0xe6, 0x28,
+	0x8f, 0x95, 0x94, 0x8b, 0x90, 0xea, 0xd2, 0x5d, 0xf9, 0x1b, 0x5c, 0x1e, 0x24, 0x4d, 0x46, 0x9f,
+	0xc2, 0x31, 0x22, 0xd9, 0xf8, 0xbe, 0x04, 0x0b, 0x6c, 0x9a, 0xff, 0x5c, 0x3c, 0x16, 0x3e, 0x1e,
+	0x83, 0x4c, 0xc8, 0x1b, 0x07, 0xc9, 0x26, 0x30, 0x03, 0x57, 0x7c, 0x86, 0xcf, 0xf2, 0x1c, 0x05,
+	0xa3, 0x9c, 0xa6, 0x22, 0xbc, 0x98, 0x23, 0x5c, 0xbf, 0x4a, 0xf5, 0xd6, 0xaf, 0x3c, 0x9e, 0x27,
+	0x05, 0x9e, 0x7f, 0x22, 0x01, 0xa7, 0xea, 0xd8, 0x8d, 0x72, 0xbe, 0x0f, 0x10, 0xef, 0x6f, 0xc0,
+	0x94, 0x18, 0x46, 0x8c, 0x8f, 0x18, 0x46, 0x88, 0xc8, 0xbe, 0x14, 0x52, 0x82, 0x14, 0x7e, 0x57,
+	0x82, 0x7c, 0x1d, 0xbb, 0x6b, 0xa1, 0xdc, 0xc9, 0x08, 0x02, 0x40, 0xa2, 0x00, 0x0e, 0xce, 0x7c,
+	0x44, 0x16, 0x27, 0x19, 0x99, 0xc5, 0x89, 0xd2, 0xd6, 0x3f, 0x96, 0xe0, 0xe1, 0x3a, 0x76, 0xfb,
+	0x62, 0xc7, 0xe3, 0x39, 0xb7, 0xe8, 0xbc, 0x52, 0x32, 0x2e, 0xaf, 0x14, 0x25, 0xf4, 0xbf, 0x96,
+	0x60, 0xb1, 0x8e, 0xdd, 0x50, 0xd4, 0x7a, 0x2c, 0xb4, 0xf7, 0xa5, 0xa7, 0x92, 0x87, 0x4b, 0x4f,
+	0x45, 0x31, 0xf5, 0x35, 0x09, 0xe6, 0xa8, 0x26, 0xf1, 0xc8, 0xf3, 0x78, 0x38, 0x0a, 0xa5, 0xb2,
+	0x92, 0xbd, 0xa9, 0xac, 0x28, 0x3a, 0x7f, 0x4b, 0x82, 0x39, 0x66, 0xeb, 0x58, 0x88, 0x79, 0x3c,
+	0x74, 0x9e, 0x85, 0x6c, 0x4f, 0xb8, 0xcb, 0x34, 0x66, 0xba, 0x1d, 0x7a, 0xf2, 0x7b, 0x04, 0x4f,
+	0x08, 0x04, 0xff, 0x43, 0x02, 0xe6, 0x89, 0xba, 0x07, 0xf9, 0xd0, 0x63, 0xa1, 0xf8, 0x0a, 0xa4,
+	0xb4, 0x86, 0xeb, 0x51, 0x9a, 0x8d, 0xc9, 0xe2, 0x45, 0x11, 0xb6, 0x5c, 0xa2, 0x78, 0x0a, 0xc7,
+	0x47, 0x2f, 0xfa, 0xde, 0xea, 0x80, 0xf9, 0xde, 0x5e, 0x57, 0x25, 0x4a, 0xa3, 0x06, 0x29, 0xb6,
+	0x3c, 0x09, 0x26, 0xb7, 0x37, 0xae, 0x6e, 0x6c, 0x5e, 0xdf, 0x60, 0xef, 0x61, 0x12, 0xd0, 0xd4,
+	0x4a, 0xf5, 0xfa, 0xf5, 0x4d, 0x65, 0x25, 0x27, 0x91, 0x30, 0x6b, 0xb5, 0xb2, 0x51, 0x51, 0x48,
+	0xc8, 0xe6, 0x83, 0x13, 0xde, 0xc4, 0xed, 0x7a, 0x45, 0xd9, 0x28, 0xad, 0x57, 0x72, 0x63, 0xf2,
+	0x67, 0x25, 0x98, 0x5f, 0xc1, 0x06, 0x3e, 0x66, 0x1f, 0xee, 0x31, 0x97, 0x14, 0x98, 0xdb, 0x85,
+	0xb9, 0x35, 0xdd, 0xf1, 0xc2, 0x9a, 0x7b, 0x71, 0x85, 0x82, 0x00, 0x2a, 0x19, 0x0a, 0xa0, 0xba,
+	0x30, 0x1f, 0xde, 0xc9, 0xe9, 0x58, 0xa6, 0x83, 0xd1, 0x4b, 0x30, 0xc9, 0x49, 0x74, 0xf2, 0x12,
+	0xcd, 0xde, 0x0e, 0x8e, 0xd4, 0xfc, 0xd9, 0xe8, 0x83, 0x30, 0xdd, 0xd6, 0x1d, 0x87, 0x18, 0x45,
+	0xb2, 0x33, 0x2b, 0x28, 0xa6, 0x95, 0x0c, 0x07, 0xde, 0x20, 0x30, 0xf9, 0x1d, 0x09, 0xe6, 0x56,
+	0xb1, 0xeb, 0x3f, 0x91, 0xee, 0x01, 0x87, 0x67, 0x21, 0x13, 0x3c, 0xf0, 0x42, 0xc2, 0x9e, 0xf2,
+	0xe1, 0x31, 0xd1, 0xdb, 0xc7, 0x61, 0x81, 0x08, 0xc1, 0xa7, 0xe6, 0x7e, 0x0a, 0xfc, 0x3d, 0x09,
+	0x16, 0xcb, 0x9a, 0xd9, 0xc0, 0xc6, 0x0f, 0x90, 0x79, 0x51, 0xd7, 0xee, 0xc2, 0x62, 0x2f, 0xf3,
+	0x5c, 0x07, 0x5e, 0x05, 0xf0, 0x91, 0x3d, 0x2d, 0x78, 0x64, 0xf0, 0x53, 0x57, 0x11, 0x30, 0x0e,
+	0xa6, 0x09, 0x2d, 0x58, 0x5c, 0xc5, 0x2e, 0xf1, 0x92, 0xd8, 0xbe, 0x67, 0x2e, 0x30, 0x8a, 0xcf,
+	0x4f, 0x25, 0x20, 0x23, 0x6e, 0x83, 0x5e, 0x80, 0x13, 0x4d, 0x7c, 0x53, 0xeb, 0x1a, 0x6e, 0x5f,
+	0x12, 0x97, 0x25, 0x14, 0x16, 0xf8, 0x70, 0x4f, 0x12, 0x77, 0x19, 0xe6, 0x6e, 0x69, 0x86, 0x1e,
+	0xce, 0x83, 0x79, 0x1d, 0x5c, 0xb3, 0x74, 0x48, 0x48, 0x83, 0x39, 0x2c, 0x83, 0xc4, 0xf6, 0x11,
+	0x62, 0xd3, 0xa4, 0x97, 0x41, 0xa2, 0x23, 0x41, 0x06, 0x69, 0x09, 0xd8, 0x12, 0xc2, 0x5c, 0x27,
+	0x3f, 0x4e, 0xd7, 0x9e, 0xa1, 0x03, 0xfe, 0x54, 0x07, 0x5d, 0x80, 0x05, 0x36, 0x37, 0xec, 0x52,
+	0x58, 0x77, 0x56, 0x5a, 0x61, 0x64, 0x86, 0x12, 0x28, 0x8e, 0xfc, 0x1d, 0x09, 0x16, 0xd8, 0xab,
+	0xee, 0x78, 0x43, 0xfc, 0x8b, 0x90, 0xf6, 0xc3, 0x5c, 0x1e, 0x6e, 0x0c, 0x29, 0x54, 0x4d, 0x7a,
+	0xe1, 0xaf, 0x70, 0x97, 0x52, 0xa1, 0xbb, 0xf4, 0xdb, 0x12, 0x2c, 0x30, 0x8b, 0xfd, 0x20, 0x3e,
+	0x57, 0xa2, 0x82, 0x8e, 0xcf, 0x49, 0xcc, 0xde, 0x7a, 0xf4, 0x1e, 0x53, 0x74, 0x14, 0xf7, 0x7c,
+	0xfe, 0x4d, 0x09, 0xd0, 0x6a, 0xf0, 0xf6, 0x79, 0xd0, 0xa5, 0xf7, 0x4f, 0x49, 0x98, 0xf4, 0x68,
+	0x8d, 0x4c, 0xfe, 0xbd, 0x08, 0x29, 0x1e, 0xd0, 0x26, 0x0e, 0x56, 0x93, 0xe6, 0xd3, 0x47, 0xac,
+	0x7f, 0x0f, 0xac, 0x27, 0xe5, 0x61, 0xc2, 0x33, 0x23, 0xac, 0x07, 0xcd, 0xfb, 0x24, 0x86, 0x23,
+	0xaa, 0x5e, 0x71, 0x93, 0x19, 0x8e, 0xfe, 0x5a, 0xc5, 0x25, 0x3f, 0xcd, 0xd8, 0xa2, 0x91, 0xd7,
+	0x63, 0x03, 0xef, 0xcb, 0xf0, 0x0a, 0xcd, 0x6e, 0x54, 0x36, 0xb1, 0xe7, 0x61, 0x99, 0x3c, 0xca,
+	0xc3, 0xb2, 0x0c, 0xd0, 0xd6, 0x4c, 0xad, 0x85, 0xdb, 0x9e, 0xaa, 0x4d, 0xc5, 0xe4, 0x57, 0xc9,
+	0x52, 0xeb, 0xfe, 0x54, 0x45, 0x40, 0x93, 0x7f, 0x4c, 0x3a, 0x6a, 0xd1, 0x63, 0x11, 0x10, 0xff,
+	0x50, 0xaf, 0x57, 0xb7, 0xae, 0xa8, 0xac, 0xc4, 0x31, 0xd6, 0x5b, 0x0c, 0x49, 0x86, 0x8a, 0x21,
+	0xe3, 0x41, 0x31, 0x24, 0x25, 0x7f, 0x5d, 0x82, 0x6c, 0x98, 0x44, 0x74, 0x06, 0x32, 0x84, 0x55,
+	0xb5, 0xdb, 0x69, 0xd9, 0x5a, 0xd3, 0x6b, 0xf8, 0xa3, 0xec, 0x6f, 0x33, 0x10, 0x7a, 0x94, 0x89,
+	0x52, 0xb5, 0x71, 0x47, 0xd3, 0x6d, 0xde, 0x87, 0x03, 0x04, 0xa4, 0x50, 0x08, 0xaa, 0xc1, 0x0c,
+	0x47, 0x57, 0xad, 0x8e, 0x97, 0xae, 0x8f, 0xaf, 0xff, 0x96, 0x82, 0xb5, 0x37, 0xd9, 0x74, 0x25,
+	0xdb, 0x0d, 0x7d, 0xcb, 0x6d, 0x40, 0xfd, 0xb3, 0xd0, 0xf3, 0x70, 0x42, 0xa4, 0x55, 0x15, 0x92,
+	0xba, 0xec, 0xb6, 0xcc, 0x0b, 0x64, 0xd7, 0xfd, 0xfc, 0xee, 0xd0, 0x36, 0x11, 0xb9, 0x0e, 0xb3,
+	0x7d, 0xb5, 0x5b, 0xf4, 0x2a, 0xa4, 0xde, 0xd6, 0xcd, 0xa6, 0xf5, 0xf6, 0xc0, 0xf6, 0x45, 0x01,
+	0xef, 0x3a, 0x9d, 0xad, 0x70, 0x2c, 0xf9, 0x33, 0x52, 0x68, 0x55, 0x36, 0x8a, 0x5a, 0x90, 0x6f,
+	0x6a, 0xba, 0xb1, 0xaf, 0x8a, 0xb5, 0x65, 0xbe, 0x0f, 0xbb, 0xdc, 0xd1, 0xcd, 0x5b, 0x2b, 0x04,
+	0xa9, 0x6f, 0xb9, 0x2b, 0x1f, 0x50, 0x16, 0x9b, 0x91, 0x23, 0x97, 0x27, 0x21, 0xc5, 0x4a, 0xd6,
+	0x72, 0x1d, 0x16, 0xa3, 0xb1, 0x7b, 0x12, 0xe3, 0x89, 0xde, 0xc4, 0x78, 0x01, 0x26, 0x9b, 0x5d,
+	0x16, 0xf5, 0xf0, 0x96, 0x2a, 0xff, 0x5b, 0xfe, 0x6f, 0x09, 0x4e, 0x0a, 0xe9, 0x25, 0x41, 0xe9,
+	0x1f, 0x20, 0x63, 0x7b, 0x2f, 0x2e, 0x6e, 0xe4, 0x2b, 0xed, 0xbb, 0x2c, 0xc3, 0xe1, 0x71, 0x5f,
+	0xd7, 0x6f, 0xe3, 0x07, 0x89, 0xef, 0x53, 0xbc, 0x7d, 0x86, 0x99, 0xfb, 0x71, 0x6a, 0xee, 0xd3,
+	0xa6, 0x6f, 0xe7, 0xa3, 0x38, 0xfa, 0x7d, 0x09, 0x1e, 0x51, 0x2c, 0xc3, 0xd8, 0xd1, 0x1a, 0x7b,
+	0x1e, 0x5b, 0xfc, 0x26, 0x3d, 0xe8, 0xee, 0x73, 0x9b, 0x3d, 0x73, 0x84, 0xd8, 0x83, 0x07, 0xfa,
+	0xe1, 0x2e, 0x22, 0x69, 0xb4, 0x2e, 0x22, 0xf9, 0x0e, 0xcc, 0x45, 0x55, 0x27, 0xe3, 0x1b, 0x4e,
+	0x1f, 0x83, 0x6c, 0x5b, 0x37, 0x45, 0x47, 0xcb, 0x7e, 0x1f, 0x91, 0x69, 0xeb, 0x66, 0xe0, 0x64,
+	0xc9, 0x2c, 0xed, 0x93, 0xfd, 0xee, 0x38, 0xd3, 0xd6, 0x3e, 0xe9, 0xcf, 0x92, 0xff, 0x2e, 0x01,
+	0xb9, 0x3a, 0x76, 0x59, 0x81, 0xfd, 0x78, 0x0e, 0x60, 0xa7, 0xbf, 0xbf, 0x89, 0xfd, 0xea, 0xe2,
+	0xe5, 0xb8, 0xcc, 0x48, 0x88, 0xba, 0xc3, 0x37, 0x3a, 0x8d, 0xc7, 0x34, 0x3a, 0x45, 0xa8, 0xe9,
+	0xbd, 0x68, 0x3e, 0xf8, 0x15, 0x89, 0xe6, 0x9b, 0x84, 0xde, 0xa8, 0x63, 0x11, 0xaf, 0xa0, 0x37,
+	0xc9, 0xb0, 0xde, 0x44, 0xe9, 0xf4, 0x1f, 0x10, 0x03, 0x43, 0x0c, 0x71, 0xb5, 0xa6, 0xf0, 0xdf,
+	0xf4, 0x1c, 0x6f, 0xda, 0x46, 0x20, 0x06, 0x3d, 0x0d, 0xc8, 0x26, 0x44, 0x60, 0xb5, 0x61, 0xe3,
+	0x26, 0x36, 0x49, 0xd4, 0xe8, 0xd0, 0x63, 0x99, 0x54, 0x66, 0xd9, 0x48, 0x39, 0x18, 0x90, 0xdf,
+	0x95, 0xe0, 0xa1, 0xb2, 0xd5, 0xee, 0x90, 0x07, 0xcc, 0x0f, 0x8a, 0x7c, 0xd1, 0xb4, 0xed, 0xc1,
+	0x6c, 0xdf, 0x2f, 0x62, 0x88, 0x26, 0x0a, 0xbf, 0x89, 0xe1, 0x37, 0x91, 0x50, 0x33, 0xa6, 0xe4,
+	0x34, 0x71, 0x36, 0xb9, 0xb3, 0x4f, 0x80, 0x08, 0x63, 0x0f, 0x5d, 0xa6, 0x57, 0x33, 0x02, 0x9c,
+	0x3c, 0x5e, 0xe5, 0xf7, 0x25, 0x38, 0x41, 0x3c, 0x43, 0xa8, 0x69, 0xee, 0x58, 0x58, 0xef, 0xef,
+	0xea, 0x4b, 0x1e, 0xb6, 0xab, 0x2f, 0x4a, 0x23, 0xff, 0x9e, 0x57, 0x25, 0xfa, 0x7a, 0xdc, 0x38,
+	0x73, 0xa7, 0xfa, 0x99, 0x1b, 0x56, 0x48, 0x39, 0xd5, 0xcf, 0x94, 0xc8, 0x50, 0x74, 0x03, 0x5e,
+	0xf2, 0xa8, 0x0d, 0x78, 0x51, 0x99, 0xb2, 0xaa, 0xdf, 0x53, 0x1f, 0xfc, 0xac, 0xc0, 0xeb, 0x4e,
+	0x95, 0xc2, 0xed, 0xb2, 0xe1, 0xd6, 0xd5, 0x44, 0x6f, 0xeb, 0xea, 0x85, 0xbf, 0x78, 0x19, 0xb2,
+	0x3c, 0xb3, 0xc2, 0x02, 0x0a, 0x1b, 0xfd, 0xa5, 0x04, 0x19, 0x31, 0x1b, 0x89, 0xa2, 0xdf, 0x21,
+	0x11, 0xa9, 0xd1, 0xc2, 0x13, 0x07, 0x98, 0xc9, 0xbc, 0x9d, 0xdc, 0xfa, 0xf1, 0xbf, 0xf9, 0xc7,
+	0x2f, 0x26, 0x34, 0xf4, 0x54, 0xf1, 0xd6, 0xf9, 0xe2, 0x1d, 0xf6, 0x12, 0x7e, 0x85, 0x1f, 0x80,
+	0x53, 0x5c, 0x2a, 0xfa, 0x65, 0x83, 0xe2, 0xd2, 0x5d, 0xef, 0x17, 0x86, 0xce, 0x8d, 0xf3, 0xa8,
+	0x48, 0xe6, 0xfb, 0xf3, 0xee, 0x04, 0x87, 0x78, 0xb7, 0x48, 0xd3, 0x5b, 0xc5, 0x3b, 0xe4, 0x9f,
+	0x00, 0x05, 0xfd, 0x99, 0x04, 0x10, 0x14, 0xa7, 0x51, 0xf4, 0x51, 0xf4, 0x55, 0xaf, 0x0b, 0x03,
+	0x13, 0xad, 0xb2, 0x4b, 0xa9, 0x37, 0x39, 0xf5, 0xe4, 0x50, 0x62, 0x68, 0xf7, 0xe9, 0x28, 0x2e,
+	0xdd, 0xbd, 0xf1, 0x2a, 0xba, 0x34, 0x22, 0xf5, 0xc5, 0x3b, 0x81, 0xca, 0xdd, 0x45, 0xdf, 0x91,
+	0x60, 0x3a, 0xd4, 0x0b, 0x80, 0xa2, 0x05, 0x1e, 0xd5, 0x2f, 0x50, 0x18, 0x92, 0x33, 0x94, 0xdb,
+	0x94, 0xa5, 0x96, 0x3c, 0xd2, 0x81, 0x5c, 0x94, 0x96, 0x6e, 0x3c, 0x27, 0x8f, 0x7a, 0x26, 0x17,
+	0xa5, 0x25, 0xf4, 0xbe, 0x04, 0xd3, 0xa1, 0x5a, 0x7d, 0x0c, 0x2f, 0x51, 0xf5, 0xfc, 0xa1, 0xbc,
+	0xdc, 0xa6, 0xbc, 0xb8, 0x85, 0x91, 0x8e, 0x87, 0xf0, 0x52, 0x2a, 0x1c, 0xe9, 0x84, 0x08, 0x63,
+	0x9f, 0x49, 0x40, 0x36, 0x5c, 0xbd, 0x47, 0x4b, 0x03, 0x38, 0xeb, 0xc9, 0xfa, 0x0c, 0x65, 0xed,
+	0xd7, 0x25, 0xca, 0xdb, 0x2f, 0x4b, 0x85, 0x97, 0x46, 0x60, 0xae, 0xe8, 0x07, 0x8a, 0x9c, 0x51,
+	0x4d, 0x7e, 0xeb, 0x28, 0x8c, 0x0a, 0xeb, 0xdd, 0x11, 0xe3, 0xe0, 0xbb, 0x45, 0x56, 0x2c, 0x22,
+	0x82, 0xf8, 0x66, 0x22, 0xf4, 0xea, 0x10, 0xa3, 0xd2, 0x0b, 0x71, 0x31, 0x5a, 0x7c, 0xfd, 0x7f,
+	0xa8, 0x60, 0xfe, 0x90, 0x09, 0xe6, 0xf7, 0x24, 0x79, 0xf5, 0xd0, 0x82, 0x71, 0xb0, 0x2b, 0xec,
+	0x4c, 0xe4, 0x74, 0x53, 0xd6, 0xee, 0x8f, 0x9c, 0xb4, 0xd0, 0x3e, 0xe8, 0x3f, 0x24, 0x98, 0xed,
+	0xab, 0xfc, 0xa3, 0xa7, 0x63, 0x63, 0xd9, 0xa8, 0x0e, 0x81, 0xa1, 0x22, 0x7a, 0x8f, 0x89, 0xe8,
+	0x27, 0x25, 0xf9, 0xc5, 0x91, 0x2e, 0x86, 0xe3, 0x6f, 0x48, 0x44, 0x52, 0x95, 0x57, 0x8e, 0x24,
+	0x12, 0xc3, 0x5f, 0x0a, 0xfd, 0x1f, 0x0b, 0x6e, 0xfb, 0xfb, 0x4e, 0xe3, 0xcb, 0x9b, 0x31, 0x6d,
+	0x06, 0x43, 0x79, 0xff, 0x12, 0xe3, 0xfd, 0x5d, 0x49, 0xbe, 0x38, 0x2a, 0xef, 0xc1, 0x9e, 0x84,
+	0xfd, 0x35, 0xa6, 0x5f, 0x87, 0x66, 0xbf, 0x2d, 0xae, 0x86, 0xfe, 0x55, 0x82, 0x99, 0x9e, 0xe6,
+	0x03, 0xf4, 0x64, 0x1c, 0xf3, 0x11, 0x2d, 0x0a, 0x43, 0xf9, 0xfe, 0x1c, 0xe3, 0xfb, 0xd3, 0x92,
+	0xfc, 0xc2, 0xa8, 0x7c, 0xb3, 0xed, 0x08, 0xcf, 0x57, 0xe4, 0xf2, 0x91, 0x78, 0xd6, 0xbc, 0x95,
+	0x08, 0xbf, 0x19, 0xb1, 0x2f, 0x21, 0x26, 0xb8, 0x88, 0x68, 0x5d, 0x18, 0xca, 0xe9, 0xcf, 0x30,
+	0x4e, 0xdf, 0x91, 0xe4, 0x97, 0x47, 0xd7, 0x6e, 0x3e, 0x44, 0x98, 0xbd, 0x2a, 0xbf, 0x7e, 0x44,
+	0xfd, 0x0e, 0x16, 0x43, 0xff, 0x22, 0x41, 0x46, 0xec, 0x6f, 0x88, 0xe1, 0x37, 0xa2, 0x05, 0x62,
+	0x28, 0xbf, 0x3f, 0xcd, 0xf8, 0xfd, 0xec, 0xa8, 0xfc, 0x76, 0x85, 0xbd, 0xee, 0xc5, 0xe1, 0xb6,
+	0xbd, 0x95, 0xd0, 0x7f, 0x4a, 0x30, 0x1d, 0x6a, 0x41, 0x88, 0xf1, 0xe9, 0x51, 0x6d, 0x0a, 0x43,
+	0xd9, 0xfd, 0x39, 0xc6, 0xee, 0xe7, 0x0f, 0x73, 0x81, 0xfd, 0xcd, 0x08, 0xbf, 0x9b, 0xf2, 0x1b,
+	0x47, 0xf2, 0xf1, 0xbd, 0x0b, 0xa2, 0xbf, 0x92, 0x60, 0x3a, 0xd4, 0xb2, 0x10, 0xc3, 0x76, 0x54,
+	0x5b, 0xc3, 0x50, 0xb6, 0x79, 0xa4, 0xb9, 0x34, 0x62, 0xa4, 0xb9, 0x74, 0xb4, 0x48, 0xf3, 0x7d,
+	0x09, 0xb2, 0xe1, 0x7a, 0x74, 0x4c, 0x10, 0x13, 0x59, 0xb1, 0x2f, 0x3c, 0x79, 0xa0, 0xb9, 0xfc,
+	0x25, 0xb0, 0x47, 0x39, 0xc4, 0x68, 0xf9, 0x20, 0x81, 0x67, 0x50, 0xd8, 0xbe, 0xf1, 0x2c, 0x3a,
+	0x7f, 0x40, 0x1e, 0x85, 0x6a, 0xf8, 0xdf, 0x4a, 0x90, 0x11, 0x5b, 0x1e, 0x62, 0xee, 0x63, 0x44,
+	0x57, 0xc4, 0x41, 0x83, 0x4e, 0xce, 0xc7, 0xa0, 0x93, 0x0a, 0xe8, 0x21, 0x67, 0x75, 0x19, 0xbd,
+	0x36, 0x32, 0x1f, 0xc5, 0x3b, 0x62, 0xa3, 0xc1, 0x5d, 0xf4, 0xcf, 0x12, 0xcc, 0xf4, 0xf4, 0x33,
+	0xc4, 0xb8, 0x91, 0xe8, 0xae, 0x87, 0xc2, 0xa2, 0x37, 0xd9, 0xfb, 0xbf, 0x57, 0x96, 0x2b, 0xed,
+	0x8e, 0xbb, 0x2f, 0x18, 0x99, 0xe7, 0x47, 0x63, 0xeb, 0x62, 0x83, 0x6e, 0x34, 0x9a, 0xc7, 0x8c,
+	0x65, 0x30, 0x58, 0x8d, 0xdc, 0xb6, 0x99, 0x9e, 0x5e, 0x85, 0x18, 0x56, 0xa3, 0x3b, 0x1a, 0x0a,
+	0x67, 0x62, 0x6c, 0x52, 0x30, 0xd3, 0x7b, 0x0b, 0x0d, 0x3f, 0xca, 0xbb, 0x45, 0x47, 0xc0, 0xbb,
+	0xf1, 0x3c, 0x7a, 0xf6, 0x80, 0x9c, 0x32, 0x34, 0x5e, 0xf7, 0x24, 0x76, 0x33, 0x94, 0x13, 0x46,
+	0xf1, 0x0f, 0xe9, 0xde, 0x9a, 0x75, 0x61, 0xe9, 0x20, 0x53, 0xf9, 0x55, 0x7b, 0x87, 0x9d, 0xe6,
+	0xa7, 0x24, 0xf4, 0xd2, 0xf0, 0xcb, 0x26, 0x1a, 0x94, 0x20, 0x8e, 0xbd, 0x71, 0x05, 0xbd, 0x7e,
+	0x6f, 0x22, 0x62, 0xf4, 0xef, 0x12, 0x4c, 0x09, 0x75, 0x6f, 0xf4, 0x78, 0xdc, 0x29, 0xf6, 0xbe,
+	0x91, 0x06, 0x67, 0xc5, 0xe5, 0xaf, 0x30, 0x2e, 0xbf, 0xe8, 0x71, 0x79, 0x88, 0x97, 0xc0, 0x8d,
+	0xeb, 0x68, 0xfb, 0xbe, 0xc4, 0xfd, 0xe8, 0xdf, 0x24, 0xc8, 0x86, 0x3b, 0x3f, 0x62, 0x2c, 0x6b,
+	0x64, 0x7b, 0xc8, 0x50, 0x23, 0xf4, 0x05, 0xc6, 0xfb, 0x4f, 0x49, 0xf2, 0xa1, 0x4f, 0xf8, 0x5e,
+	0xc4, 0x40, 0xe2, 0x62, 0xe8, 0xbf, 0x24, 0xc8, 0x86, 0x1b, 0x44, 0x62, 0x58, 0x8e, 0xec, 0x22,
+	0x19, 0xca, 0xb2, 0x7f, 0xdc, 0x4b, 0x47, 0x38, 0xee, 0xa5, 0xfb, 0x74, 0xdc, 0xbf, 0x9a, 0x80,
+	0x13, 0x31, 0x85, 0x2a, 0x14, 0xfd, 0xc3, 0xae, 0xc1, 0x65, 0xad, 0xa1, 0xd2, 0xf8, 0x16, 0x93,
+	0xc6, 0x6f, 0x48, 0x72, 0xe9, 0xd0, 0xcf, 0x60, 0x9b, 0x93, 0x40, 0x34, 0xa1, 0x21, 0x7f, 0xec,
+	0xbe, 0x48, 0x46, 0xdc, 0x04, 0x7d, 0x23, 0x01, 0x0b, 0x91, 0xe5, 0x59, 0x74, 0x7e, 0x58, 0xa6,
+	0xa0, 0xaf, 0x94, 0x3b, 0x54, 0x42, 0x7f, 0xc4, 0x24, 0xf4, 0x6d, 0x89, 0xe9, 0xf8, 0x61, 0x13,
+	0x05, 0xc1, 0xc6, 0x44, 0x4c, 0xbb, 0x72, 0xe3, 0xfe, 0xe4, 0x09, 0x7a, 0x77, 0x42, 0xdf, 0x97,
+	0x20, 0xed, 0x57, 0xb3, 0xd0, 0xd9, 0x03, 0x55, 0xbb, 0x86, 0xca, 0xe4, 0x17, 0x98, 0x4c, 0xbe,
+	0x2c, 0xc9, 0xaf, 0x8e, 0x1a, 0x5c, 0x87, 0x0b, 0x5c, 0x44, 0x16, 0x35, 0xf9, 0xea, 0x91, 0x64,
+	0x61, 0xf7, 0xae, 0x48, 0x78, 0x9e, 0x0e, 0x15, 0xc1, 0xe2, 0x1f, 0x16, 0x7d, 0x85, 0xb2, 0xfb,
+	0x99, 0x19, 0x08, 0x36, 0xbb, 0x17, 0x99, 0x01, 0x43, 0x5c, 0x0d, 0xfd, 0x8f, 0x04, 0x33, 0x3d,
+	0x35, 0xb5, 0xb8, 0xcc, 0x40, 0x64, 0xe5, 0x6d, 0x28, 0xdf, 0x3f, 0xcf, 0xf8, 0xfe, 0x92, 0x24,
+	0x5f, 0x1a, 0x8d, 0x6f, 0xba, 0x5d, 0xc7, 0xdb, 0x8e, 0x70, 0xfe, 0x51, 0x79, 0xed, 0x68, 0x4f,
+	0xaa, 0xbe, 0x25, 0xd1, 0x67, 0x13, 0x80, 0xfa, 0xcb, 0x72, 0x68, 0x39, 0xda, 0x57, 0xc6, 0xd5,
+	0xef, 0x86, 0x0a, 0xe1, 0xab, 0x4c, 0x08, 0x5f, 0x91, 0xe4, 0x8f, 0x8c, 0x24, 0x84, 0x86, 0xb7,
+	0x63, 0x48, 0x0e, 0x5b, 0xf2, 0xe6, 0x91, 0xe4, 0x10, 0xb9, 0x2a, 0xfa, 0x42, 0x82, 0xe6, 0x88,
+	0xc4, 0xf6, 0x8d, 0xf8, 0x1c, 0x51, 0x44, 0x93, 0xc7, 0x50, 0x21, 0xfc, 0x0e, 0x13, 0xc2, 0x37,
+	0x24, 0xf9, 0xb5, 0xa3, 0x58, 0x44, 0xb2, 0x25, 0x91, 0xc2, 0x8e, 0xfc, 0xc3, 0xf7, 0xcd, 0x16,
+	0xf2, 0x3d, 0xd0, 0x8f, 0xb2, 0x8e, 0x83, 0xf0, 0x7f, 0x2d, 0xf5, 0x54, 0xac, 0x50, 0x22, 0xea,
+	0x9b, 0x43, 0xa5, 0xf2, 0x8b, 0x4c, 0x2a, 0x3f, 0x2b, 0xc9, 0xaf, 0x8c, 0x6a, 0x17, 0x42, 0xfb,
+	0x11, 0x91, 0x28, 0xf2, 0xfa, 0x51, 0x73, 0x0e, 0xbd, 0x6b, 0xa2, 0xcf, 0x7b, 0xbf, 0x44, 0xe9,
+	0x2d, 0x19, 0x0e, 0xf8, 0x6d, 0x48, 0x74, 0x35, 0x74, 0xa8, 0x28, 0xbe, 0xc6, 0x44, 0xf1, 0x4b,
+	0xa3, 0x05, 0x15, 0xdc, 0x4d, 0xf6, 0xec, 0x49, 0xc4, 0x71, 0x4d, 0xfe, 0xe8, 0xd1, 0x53, 0x30,
+	0xfd, 0xeb, 0x5e, 0xfe, 0xba, 0x04, 0x27, 0x1a, 0x56, 0x3b, 0x8a, 0x9b, 0xcb, 0x73, 0x65, 0xef,
+	0x7f, 0xa7, 0xa2, 0x79, 0xe3, 0x1a, 0x79, 0xe7, 0xd6, 0xa4, 0x1b, 0x97, 0xf8, 0xdc, 0x96, 0x65,
+	0x68, 0x66, 0x6b, 0xd9, 0xb2, 0x5b, 0xc5, 0x16, 0x36, 0xe9, 0x2b, 0xb8, 0xc8, 0x86, 0xb4, 0x8e,
+	0xee, 0x84, 0xfe, 0xc3, 0xd3, 0x0f, 0xfb, 0x1f, 0xdf, 0x4c, 0x3c, 0xb4, 0xca, 0xd0, 0xcb, 0x86,
+	0xd5, 0x6d, 0x2e, 0x97, 0xfd, 0x0d, 0xaf, 0x9d, 0xff, 0x73, 0x6f, 0xec, 0x2d, 0x3a, 0xf6, 0x96,
+	0x3f, 0xf6, 0xd6, 0xb5, 0xf3, 0x3b, 0x29, 0xba, 0xc1, 0xb3, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff,
+	0x1a, 0x84, 0x96, 0xb1, 0x50, 0x55, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -5274,22 +5972,22 @@ type ClusterManagerClient interface {
 	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Updates the settings of a specific cluster.
 	UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Updates the version and/or image type of a specific node pool.
+	// Updates the version and/or image type for a specific node pool.
 	UpdateNodePool(ctx context.Context, in *UpdateNodePoolRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the autoscaling settings of a specific node pool.
+	// Sets the autoscaling settings for a specific node pool.
 	SetNodePoolAutoscaling(ctx context.Context, in *SetNodePoolAutoscalingRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the logging service of a specific cluster.
+	// Sets the logging service for a specific cluster.
 	SetLoggingService(ctx context.Context, in *SetLoggingServiceRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the monitoring service of a specific cluster.
+	// Sets the monitoring service for a specific cluster.
 	SetMonitoringService(ctx context.Context, in *SetMonitoringServiceRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the addons of a specific cluster.
+	// Sets the addons for a specific cluster.
 	SetAddonsConfig(ctx context.Context, in *SetAddonsConfigRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the locations of a specific cluster.
+	// Sets the locations for a specific cluster.
 	SetLocations(ctx context.Context, in *SetLocationsRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Updates the master of a specific cluster.
+	// Updates the master for a specific cluster.
 	UpdateMaster(ctx context.Context, in *UpdateMasterRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set the password.
 	SetMasterAuth(ctx context.Context, in *SetMasterAuthRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Deletes the cluster, including the Kubernetes endpoint and all worker
@@ -5308,7 +6006,7 @@ type ClusterManagerClient interface {
 	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(ctx context.Context, in *GetServerConfigRequest, opts ...grpc.CallOption) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(ctx context.Context, in *ListNodePoolsRequest, opts ...grpc.CallOption) (*ListNodePoolsResponse, error)
@@ -5331,7 +6029,7 @@ type ClusterManagerClient interface {
 	StartIPRotation(ctx context.Context, in *StartIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(ctx context.Context, in *CompleteIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the size of a specific node pool.
+	// Sets the size for a specific node pool.
 	SetNodePoolSize(ctx context.Context, in *SetNodePoolSizeRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(ctx context.Context, in *SetNetworkPolicyRequest, opts ...grpc.CallOption) (*Operation, error)
@@ -5640,22 +6338,22 @@ type ClusterManagerServer interface {
 	CreateCluster(context.Context, *CreateClusterRequest) (*Operation, error)
 	// Updates the settings of a specific cluster.
 	UpdateCluster(context.Context, *UpdateClusterRequest) (*Operation, error)
-	// Updates the version and/or image type of a specific node pool.
+	// Updates the version and/or image type for a specific node pool.
 	UpdateNodePool(context.Context, *UpdateNodePoolRequest) (*Operation, error)
-	// Sets the autoscaling settings of a specific node pool.
+	// Sets the autoscaling settings for a specific node pool.
 	SetNodePoolAutoscaling(context.Context, *SetNodePoolAutoscalingRequest) (*Operation, error)
-	// Sets the logging service of a specific cluster.
+	// Sets the logging service for a specific cluster.
 	SetLoggingService(context.Context, *SetLoggingServiceRequest) (*Operation, error)
-	// Sets the monitoring service of a specific cluster.
+	// Sets the monitoring service for a specific cluster.
 	SetMonitoringService(context.Context, *SetMonitoringServiceRequest) (*Operation, error)
-	// Sets the addons of a specific cluster.
+	// Sets the addons for a specific cluster.
 	SetAddonsConfig(context.Context, *SetAddonsConfigRequest) (*Operation, error)
-	// Sets the locations of a specific cluster.
+	// Sets the locations for a specific cluster.
 	SetLocations(context.Context, *SetLocationsRequest) (*Operation, error)
-	// Updates the master of a specific cluster.
+	// Updates the master for a specific cluster.
 	UpdateMaster(context.Context, *UpdateMasterRequest) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set the password.
 	SetMasterAuth(context.Context, *SetMasterAuthRequest) (*Operation, error)
 	// Deletes the cluster, including the Kubernetes endpoint and all worker
@@ -5674,7 +6372,7 @@ type ClusterManagerServer interface {
 	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(context.Context, *CancelOperationRequest) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(context.Context, *GetServerConfigRequest) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(context.Context, *ListNodePoolsRequest) (*ListNodePoolsResponse, error)
@@ -5697,7 +6395,7 @@ type ClusterManagerServer interface {
 	StartIPRotation(context.Context, *StartIPRotationRequest) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(context.Context, *CompleteIPRotationRequest) (*Operation, error)
-	// Sets the size of a specific node pool.
+	// Sets the size for a specific node pool.
 	SetNodePoolSize(context.Context, *SetNodePoolSizeRequest) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(context.Context, *SetNetworkPolicyRequest) (*Operation, error)
diff --git a/googleapis/container/v1alpha1/cluster_service.pb.go b/googleapis/container/v1alpha1/cluster_service.pb.go
index 45c0d79c366c933dbf3ce3e198b41ad1ea8fe807..3e1291b8ed3b2a85dc4b8e9deda2ecc5042fb23e 100644
--- a/googleapis/container/v1alpha1/cluster_service.pb.go
+++ b/googleapis/container/v1alpha1/cluster_service.pb.go
@@ -9,6 +9,7 @@ import (
 	empty "github.com/golang/protobuf/ptypes/empty"
 	context "golang.org/x/net/context"
 	_ "google.golang.org/genproto/googleapis/api/annotations"
+	v1 "google.golang.org/genproto/googleapis/iam/v1"
 	grpc "google.golang.org/grpc"
 	math "math"
 )
@@ -85,7 +86,41 @@ func (x NetworkPolicy_Provider) String() string {
 }
 
 func (NetworkPolicy_Provider) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{10, 0}
+	return fileDescriptor_339d8120448ec82b, []int{11, 0}
+}
+
+// Code for each condition
+type StatusCondition_Code int32
+
+const (
+	// UNKNOWN indicates a generic condition.
+	StatusCondition_UNKNOWN StatusCondition_Code = 0
+	// GCE_STOCKOUT indicates a GCE stockout.
+	StatusCondition_GCE_STOCKOUT StatusCondition_Code = 1
+	// GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
+	// service account.
+	// More codes TBA
+	StatusCondition_GKE_SERVICE_ACCOUNT_DELETED StatusCondition_Code = 2
+)
+
+var StatusCondition_Code_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "GCE_STOCKOUT",
+	2: "GKE_SERVICE_ACCOUNT_DELETED",
+}
+
+var StatusCondition_Code_value = map[string]int32{
+	"UNKNOWN":                     0,
+	"GCE_STOCKOUT":                1,
+	"GKE_SERVICE_ACCOUNT_DELETED": 2,
+}
+
+func (x StatusCondition_Code) String() string {
+	return proto.EnumName(StatusCondition_Code_name, int32(x))
+}
+
+func (StatusCondition_Code) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{16, 0}
 }
 
 // The current status of the cluster.
@@ -108,6 +143,9 @@ const (
 	// The ERROR state indicates the cluster may be unusable. Details
 	// can be found in the `statusMessage` field.
 	Cluster_ERROR Cluster_Status = 5
+	// The DEGRADED state indicates the cluster requires user action to restore
+	// full functionality. Details can be found in the `statusMessage` field.
+	Cluster_DEGRADED Cluster_Status = 6
 )
 
 var Cluster_Status_name = map[int32]string{
@@ -117,6 +155,7 @@ var Cluster_Status_name = map[int32]string{
 	3: "RECONCILING",
 	4: "STOPPING",
 	5: "ERROR",
+	6: "DEGRADED",
 }
 
 var Cluster_Status_value = map[string]int32{
@@ -126,6 +165,7 @@ var Cluster_Status_value = map[string]int32{
 	"RECONCILING":        3,
 	"STOPPING":           4,
 	"ERROR":              5,
+	"DEGRADED":           6,
 }
 
 func (x Cluster_Status) String() string {
@@ -133,7 +173,41 @@ func (x Cluster_Status) String() string {
 }
 
 func (Cluster_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{13, 0}
+	return fileDescriptor_339d8120448ec82b, []int{17, 0}
+}
+
+// Defines possible options for node_scheduling_strategy field.
+type Cluster_NodeSchedulingStrategy int32
+
+const (
+	// Use default scheduling strategy.
+	Cluster_STRATEGY_UNSPECIFIED Cluster_NodeSchedulingStrategy = 0
+	// Least utilized nodes will be prioritized by k8s scheduler.
+	Cluster_PRIORITIZE_LEAST_UTILIZED Cluster_NodeSchedulingStrategy = 1
+	// Nodes with medium utilization will be prioritized by k8s scheduler.
+	// This option improves interoperability of scheduler with cluster
+	// autoscaler.
+	Cluster_PRIORITIZE_MEDIUM_UTILIZED Cluster_NodeSchedulingStrategy = 2
+)
+
+var Cluster_NodeSchedulingStrategy_name = map[int32]string{
+	0: "STRATEGY_UNSPECIFIED",
+	1: "PRIORITIZE_LEAST_UTILIZED",
+	2: "PRIORITIZE_MEDIUM_UTILIZED",
+}
+
+var Cluster_NodeSchedulingStrategy_value = map[string]int32{
+	"STRATEGY_UNSPECIFIED":       0,
+	"PRIORITIZE_LEAST_UTILIZED":  1,
+	"PRIORITIZE_MEDIUM_UTILIZED": 2,
+}
+
+func (x Cluster_NodeSchedulingStrategy) String() string {
+	return proto.EnumName(Cluster_NodeSchedulingStrategy_name, int32(x))
+}
+
+func (Cluster_NodeSchedulingStrategy) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{17, 1}
 }
 
 // Current status of the operation.
@@ -173,7 +247,7 @@ func (x Operation_Status) String() string {
 }
 
 func (Operation_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{15, 0}
+	return fileDescriptor_339d8120448ec82b, []int{19, 0}
 }
 
 // Operation type.
@@ -214,6 +288,8 @@ const (
 	Operation_SET_NETWORK_POLICY Operation_Type = 15
 	// Set the maintenance policy.
 	Operation_SET_MAINTENANCE_POLICY Operation_Type = 16
+	// Update cluster IP allocation policy.
+	Operation_UPDATE_IP_ALLOCATION_POLICY Operation_Type = 17
 )
 
 var Operation_Type_name = map[int32]string{
@@ -234,26 +310,28 @@ var Operation_Type_name = map[int32]string{
 	14: "SET_NODE_POOL_SIZE",
 	15: "SET_NETWORK_POLICY",
 	16: "SET_MAINTENANCE_POLICY",
+	17: "UPDATE_IP_ALLOCATION_POLICY",
 }
 
 var Operation_Type_value = map[string]int32{
-	"TYPE_UNSPECIFIED":         0,
-	"CREATE_CLUSTER":           1,
-	"DELETE_CLUSTER":           2,
-	"UPGRADE_MASTER":           3,
-	"UPGRADE_NODES":            4,
-	"REPAIR_CLUSTER":           5,
-	"UPDATE_CLUSTER":           6,
-	"CREATE_NODE_POOL":         7,
-	"DELETE_NODE_POOL":         8,
-	"SET_NODE_POOL_MANAGEMENT": 9,
-	"AUTO_REPAIR_NODES":        10,
-	"AUTO_UPGRADE_NODES":       11,
-	"SET_LABELS":               12,
-	"SET_MASTER_AUTH":          13,
-	"SET_NODE_POOL_SIZE":       14,
-	"SET_NETWORK_POLICY":       15,
-	"SET_MAINTENANCE_POLICY":   16,
+	"TYPE_UNSPECIFIED":            0,
+	"CREATE_CLUSTER":              1,
+	"DELETE_CLUSTER":              2,
+	"UPGRADE_MASTER":              3,
+	"UPGRADE_NODES":               4,
+	"REPAIR_CLUSTER":              5,
+	"UPDATE_CLUSTER":              6,
+	"CREATE_NODE_POOL":            7,
+	"DELETE_NODE_POOL":            8,
+	"SET_NODE_POOL_MANAGEMENT":    9,
+	"AUTO_REPAIR_NODES":           10,
+	"AUTO_UPGRADE_NODES":          11,
+	"SET_LABELS":                  12,
+	"SET_MASTER_AUTH":             13,
+	"SET_NODE_POOL_SIZE":          14,
+	"SET_NETWORK_POLICY":          15,
+	"SET_MAINTENANCE_POLICY":      16,
+	"UPDATE_IP_ALLOCATION_POLICY": 17,
 }
 
 func (x Operation_Type) String() string {
@@ -261,7 +339,7 @@ func (x Operation_Type) String() string {
 }
 
 func (Operation_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{15, 1}
+	return fileDescriptor_339d8120448ec82b, []int{19, 1}
 }
 
 // Operation type: what type update to perform.
@@ -300,7 +378,7 @@ func (x SetMasterAuthRequest_Action) String() string {
 }
 
 func (SetMasterAuthRequest_Action) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{26, 0}
+	return fileDescriptor_339d8120448ec82b, []int{31, 0}
 }
 
 // The current status of the node pool instance.
@@ -355,7 +433,51 @@ func (x NodePool_Status) String() string {
 }
 
 func (NodePool_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{40, 0}
+	return fileDescriptor_339d8120448ec82b, []int{45, 0}
+}
+
+// Status shows the current usage of a secondary IP range.
+type UsableSubnetworkSecondaryRange_Status int32
+
+const (
+	// UNKNOWN is the zero value of the Status enum. It's not a valid status.
+	UsableSubnetworkSecondaryRange_UNKNOWN UsableSubnetworkSecondaryRange_Status = 0
+	// UNUSED denotes that this range is unclaimed by any cluster.
+	UsableSubnetworkSecondaryRange_UNUSED UsableSubnetworkSecondaryRange_Status = 1
+	// IN_USE_SERVICE denotes that this range is claimed by a cluster for
+	// services. It cannot be used for other clusters.
+	UsableSubnetworkSecondaryRange_IN_USE_SERVICE UsableSubnetworkSecondaryRange_Status = 2
+	// IN_USE_SHAREABLE_POD denotes this range was created by the network admin
+	// and is currently claimed by a cluster for pods. It can only be used by
+	// other clusters as a pod range.
+	UsableSubnetworkSecondaryRange_IN_USE_SHAREABLE_POD UsableSubnetworkSecondaryRange_Status = 3
+	// IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed
+	// for pods. It cannot be used for other clusters.
+	UsableSubnetworkSecondaryRange_IN_USE_MANAGED_POD UsableSubnetworkSecondaryRange_Status = 4
+)
+
+var UsableSubnetworkSecondaryRange_Status_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "UNUSED",
+	2: "IN_USE_SERVICE",
+	3: "IN_USE_SHAREABLE_POD",
+	4: "IN_USE_MANAGED_POD",
+}
+
+var UsableSubnetworkSecondaryRange_Status_value = map[string]int32{
+	"UNKNOWN":              0,
+	"UNUSED":               1,
+	"IN_USE_SERVICE":       2,
+	"IN_USE_SHAREABLE_POD": 3,
+	"IN_USE_MANAGED_POD":   4,
+}
+
+func (x UsableSubnetworkSecondaryRange_Status) String() string {
+	return proto.EnumName(UsableSubnetworkSecondaryRange_Status_name, int32(x))
+}
+
+func (UsableSubnetworkSecondaryRange_Status) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{67, 0}
 }
 
 // Parameters that describe the nodes in a cluster.
@@ -395,8 +517,18 @@ type NodeConfig struct {
 	// 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"
+	// metadata keys for the project or be one of the reserved keys:
+	//  "cluster-location"
+	//  "cluster-name"
+	//  "cluster-uid"
+	//  "configure-sh"
+	//  "enable-os-login"
+	//  "gci-update-strategy"
+	//  "gci-ensure-gke-docker"
+	//  "instance-template"
+	//  "kube-env"
+	//  "startup-script"
+	//  "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
@@ -436,12 +568,17 @@ type NodeConfig struct {
 	// See https://cloud.google.com/compute/docs/gpus for more information about
 	// support for GPUs.
 	Accelerators []*AcceleratorConfig `protobuf:"bytes,11,rep,name=accelerators,proto3" json:"accelerators,omitempty"`
+	// Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+	//
+	// If unspecified, the default disk type is 'pd-standard'
+	DiskType string `protobuf:"bytes,12,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
 	// Minimum CPU platform to be used by this instance. The instance may be
 	// scheduled on the specified or newer CPU platform. Applicable values are the
 	// friendly names of CPU platforms, such as
 	// <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
 	// <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
-	// information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+	// information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
 	MinCpuPlatform string `protobuf:"bytes,13,opt,name=min_cpu_platform,json=minCpuPlatform,proto3" json:"min_cpu_platform,omitempty"`
 	// List of kubernetes taints to be applied to each node.
 	//
@@ -555,6 +692,13 @@ func (m *NodeConfig) GetAccelerators() []*AcceleratorConfig {
 	return nil
 }
 
+func (m *NodeConfig) GetDiskType() string {
+	if m != nil {
+		return m.DiskType
+	}
+	return ""
+}
+
 func (m *NodeConfig) GetMinCpuPlatform() string {
 	if m != nil {
 		return m.MinCpuPlatform
@@ -645,8 +789,9 @@ type MasterAuth struct {
 	// strong password.  If a password is provided for cluster creation, username
 	// must be non-empty.
 	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
-	// Configuration for client certificate authentication on the cluster.  If no
-	// configuration is specified, a client certificate is issued.
+	// Configuration for client certificate authentication on the cluster. For
+	// clusters before v1.12, if no configuration is specified, a client
+	// certificate is issued.
 	ClientCertificateConfig *ClientCertificateConfig `protobuf:"bytes,3,opt,name=client_certificate_config,json=clientCertificateConfig,proto3" json:"client_certificate_config,omitempty"`
 	// [Output only] Base64-encoded public certificate that is the root of
 	// trust for the cluster.
@@ -1017,6 +1162,86 @@ func (m *NetworkPolicyConfig) GetDisabled() bool {
 	return false
 }
 
+// Configuration options for private clusters.
+type PrivateClusterConfig struct {
+	// Whether nodes have only private IP addresses, and communicate with the
+	// master via private networking.
+	EnablePrivateNodes bool `protobuf:"varint,1,opt,name=enable_private_nodes,json=enablePrivateNodes,proto3" json:"enable_private_nodes,omitempty"`
+	// Whether the master's internal IP address is used as the cluster endpoint.
+	EnablePrivateEndpoint bool `protobuf:"varint,2,opt,name=enable_private_endpoint,json=enablePrivateEndpoint,proto3" json:"enable_private_endpoint,omitempty"`
+	// The IP prefix in CIDR notation to use for the hosted master network. This
+	// prefix will be used for assigning private IP addresses to the master or
+	// set of masters, as well as the ILB VIP.
+	MasterIpv4CidrBlock string `protobuf:"bytes,3,opt,name=master_ipv4_cidr_block,json=masterIpv4CidrBlock,proto3" json:"master_ipv4_cidr_block,omitempty"`
+	// Output only. The internal IP address of this cluster's endpoint.
+	PrivateEndpoint string `protobuf:"bytes,4,opt,name=private_endpoint,json=privateEndpoint,proto3" json:"private_endpoint,omitempty"`
+	// Output only. The external IP address of this cluster's endpoint.
+	PublicEndpoint       string   `protobuf:"bytes,5,opt,name=public_endpoint,json=publicEndpoint,proto3" json:"public_endpoint,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *PrivateClusterConfig) Reset()         { *m = PrivateClusterConfig{} }
+func (m *PrivateClusterConfig) String() string { return proto.CompactTextString(m) }
+func (*PrivateClusterConfig) ProtoMessage()    {}
+func (*PrivateClusterConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{9}
+}
+
+func (m *PrivateClusterConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PrivateClusterConfig.Unmarshal(m, b)
+}
+func (m *PrivateClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PrivateClusterConfig.Marshal(b, m, deterministic)
+}
+func (m *PrivateClusterConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PrivateClusterConfig.Merge(m, src)
+}
+func (m *PrivateClusterConfig) XXX_Size() int {
+	return xxx_messageInfo_PrivateClusterConfig.Size(m)
+}
+func (m *PrivateClusterConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_PrivateClusterConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PrivateClusterConfig proto.InternalMessageInfo
+
+func (m *PrivateClusterConfig) GetEnablePrivateNodes() bool {
+	if m != nil {
+		return m.EnablePrivateNodes
+	}
+	return false
+}
+
+func (m *PrivateClusterConfig) GetEnablePrivateEndpoint() bool {
+	if m != nil {
+		return m.EnablePrivateEndpoint
+	}
+	return false
+}
+
+func (m *PrivateClusterConfig) GetMasterIpv4CidrBlock() string {
+	if m != nil {
+		return m.MasterIpv4CidrBlock
+	}
+	return ""
+}
+
+func (m *PrivateClusterConfig) GetPrivateEndpoint() string {
+	if m != nil {
+		return m.PrivateEndpoint
+	}
+	return ""
+}
+
+func (m *PrivateClusterConfig) GetPublicEndpoint() string {
+	if m != nil {
+		return m.PublicEndpoint
+	}
+	return ""
+}
+
 // Configuration options for the master authorized networks feature. Enabled
 // master authorized networks will disallow all external traffic to access
 // Kubernetes master through HTTPS except traffic from the given CIDR blocks,
@@ -1036,7 +1261,7 @@ func (m *MasterAuthorizedNetworksConfig) Reset()         { *m = MasterAuthorized
 func (m *MasterAuthorizedNetworksConfig) String() string { return proto.CompactTextString(m) }
 func (*MasterAuthorizedNetworksConfig) ProtoMessage()    {}
 func (*MasterAuthorizedNetworksConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{9}
+	return fileDescriptor_339d8120448ec82b, []int{10}
 }
 
 func (m *MasterAuthorizedNetworksConfig) XXX_Unmarshal(b []byte) error {
@@ -1088,7 +1313,7 @@ func (m *MasterAuthorizedNetworksConfig_CidrBlock) Reset() {
 func (m *MasterAuthorizedNetworksConfig_CidrBlock) String() string { return proto.CompactTextString(m) }
 func (*MasterAuthorizedNetworksConfig_CidrBlock) ProtoMessage()    {}
 func (*MasterAuthorizedNetworksConfig_CidrBlock) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{9, 0}
+	return fileDescriptor_339d8120448ec82b, []int{10, 0}
 }
 
 func (m *MasterAuthorizedNetworksConfig_CidrBlock) XXX_Unmarshal(b []byte) error {
@@ -1139,7 +1364,7 @@ func (m *NetworkPolicy) Reset()         { *m = NetworkPolicy{} }
 func (m *NetworkPolicy) String() string { return proto.CompactTextString(m) }
 func (*NetworkPolicy) ProtoMessage()    {}
 func (*NetworkPolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{10}
+	return fileDescriptor_339d8120448ec82b, []int{11}
 }
 
 func (m *NetworkPolicy) XXX_Unmarshal(b []byte) error {
@@ -1187,11 +1412,11 @@ type IPAllocationPolicy struct {
 	// subnetwork.
 	SubnetworkName string `protobuf:"bytes,3,opt,name=subnetwork_name,json=subnetworkName,proto3" json:"subnetwork_name,omitempty"`
 	// This field is deprecated, use cluster_ipv4_cidr_block.
-	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"`
+	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use node_ipv4_cidr_block.
-	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"`
+	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use services_ipv4_cidr_block.
-	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
+	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// The name of the secondary range to be used for the cluster CIDR
 	// block.  The secondary range will be used for pod IP
 	// addresses. This must be an existing secondary range associated
@@ -1254,17 +1479,30 @@ type IPAllocationPolicy struct {
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
 	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
 	// to use.
-	ServicesIpv4CidrBlock string   `protobuf:"bytes,11,opt,name=services_ipv4_cidr_block,json=servicesIpv4CidrBlock,proto3" json:"services_ipv4_cidr_block,omitempty"`
-	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
-	XXX_unrecognized      []byte   `json:"-"`
-	XXX_sizecache         int32    `json:"-"`
+	ServicesIpv4CidrBlock string `protobuf:"bytes,11,opt,name=services_ipv4_cidr_block,json=servicesIpv4CidrBlock,proto3" json:"services_ipv4_cidr_block,omitempty"`
+	// If true, allow allocation of cluster CIDR ranges that overlap with certain
+	// kinds of network routes. By default we do not allow cluster CIDR ranges to
+	// intersect with any user declared routes. With allow_route_overlap == true,
+	// we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+	// range.
+	//
+	// If this field is set to true, then cluster and services CIDRs must be
+	// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+	// 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+	//    `services_ipv4_cidr_block` must be fully-specified.
+	// 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+	//    fully-specified.
+	AllowRouteOverlap    bool     `protobuf:"varint,12,opt,name=allow_route_overlap,json=allowRouteOverlap,proto3" json:"allow_route_overlap,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *IPAllocationPolicy) Reset()         { *m = IPAllocationPolicy{} }
 func (m *IPAllocationPolicy) String() string { return proto.CompactTextString(m) }
 func (*IPAllocationPolicy) ProtoMessage()    {}
 func (*IPAllocationPolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{11}
+	return fileDescriptor_339d8120448ec82b, []int{12}
 }
 
 func (m *IPAllocationPolicy) XXX_Unmarshal(b []byte) error {
@@ -1306,6 +1544,7 @@ func (m *IPAllocationPolicy) GetSubnetworkName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	if m != nil {
 		return m.ClusterIpv4Cidr
@@ -1313,6 +1552,7 @@ func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	if m != nil {
 		return m.NodeIpv4Cidr
@@ -1320,6 +1560,7 @@ func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetServicesIpv4Cidr() string {
 	if m != nil {
 		return m.ServicesIpv4Cidr
@@ -1362,6 +1603,55 @@ func (m *IPAllocationPolicy) GetServicesIpv4CidrBlock() string {
 	return ""
 }
 
+func (m *IPAllocationPolicy) GetAllowRouteOverlap() bool {
+	if m != nil {
+		return m.AllowRouteOverlap
+	}
+	return false
+}
+
+// Configuration for Binary Authorization.
+type BinaryAuthorization struct {
+	// Enable Binary Authorization for this cluster. If enabled, all container
+	// images will be validated by Google Binauthz.
+	Enabled              bool     `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *BinaryAuthorization) Reset()         { *m = BinaryAuthorization{} }
+func (m *BinaryAuthorization) String() string { return proto.CompactTextString(m) }
+func (*BinaryAuthorization) ProtoMessage()    {}
+func (*BinaryAuthorization) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{13}
+}
+
+func (m *BinaryAuthorization) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_BinaryAuthorization.Unmarshal(m, b)
+}
+func (m *BinaryAuthorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_BinaryAuthorization.Marshal(b, m, deterministic)
+}
+func (m *BinaryAuthorization) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_BinaryAuthorization.Merge(m, src)
+}
+func (m *BinaryAuthorization) XXX_Size() int {
+	return xxx_messageInfo_BinaryAuthorization.Size(m)
+}
+func (m *BinaryAuthorization) XXX_DiscardUnknown() {
+	xxx_messageInfo_BinaryAuthorization.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_BinaryAuthorization proto.InternalMessageInfo
+
+func (m *BinaryAuthorization) GetEnabled() bool {
+	if m != nil {
+		return m.Enabled
+	}
+	return false
+}
+
 // Configuration for the PodSecurityPolicy feature.
 type PodSecurityPolicyConfig struct {
 	// Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
@@ -1376,7 +1666,7 @@ func (m *PodSecurityPolicyConfig) Reset()         { *m = PodSecurityPolicyConfig
 func (m *PodSecurityPolicyConfig) String() string { return proto.CompactTextString(m) }
 func (*PodSecurityPolicyConfig) ProtoMessage()    {}
 func (*PodSecurityPolicyConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{12}
+	return fileDescriptor_339d8120448ec82b, []int{14}
 }
 
 func (m *PodSecurityPolicyConfig) XXX_Unmarshal(b []byte) error {
@@ -1404,7 +1694,100 @@ func (m *PodSecurityPolicyConfig) GetEnabled() bool {
 	return false
 }
 
-// A Google Container Engine cluster.
+// Configuration for the use of GCP IAM Service Accounts in applications in
+// this cluster.
+type ManagedPodIdentityConfig struct {
+	// Enable the use of GCP IAM Service Accounts in applications in this cluster.
+	Enabled              bool     `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ManagedPodIdentityConfig) Reset()         { *m = ManagedPodIdentityConfig{} }
+func (m *ManagedPodIdentityConfig) String() string { return proto.CompactTextString(m) }
+func (*ManagedPodIdentityConfig) ProtoMessage()    {}
+func (*ManagedPodIdentityConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{15}
+}
+
+func (m *ManagedPodIdentityConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ManagedPodIdentityConfig.Unmarshal(m, b)
+}
+func (m *ManagedPodIdentityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ManagedPodIdentityConfig.Marshal(b, m, deterministic)
+}
+func (m *ManagedPodIdentityConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ManagedPodIdentityConfig.Merge(m, src)
+}
+func (m *ManagedPodIdentityConfig) XXX_Size() int {
+	return xxx_messageInfo_ManagedPodIdentityConfig.Size(m)
+}
+func (m *ManagedPodIdentityConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_ManagedPodIdentityConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ManagedPodIdentityConfig proto.InternalMessageInfo
+
+func (m *ManagedPodIdentityConfig) GetEnabled() bool {
+	if m != nil {
+		return m.Enabled
+	}
+	return false
+}
+
+// StatusCondition describes why a cluster or a node pool has a certain status
+// (e.g., ERROR or DEGRADED).
+type StatusCondition struct {
+	// Machine-friendly representation of the condition
+	Code StatusCondition_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.container.v1alpha1.StatusCondition_Code" json:"code,omitempty"`
+	// Human-friendly representation of the condition
+	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *StatusCondition) Reset()         { *m = StatusCondition{} }
+func (m *StatusCondition) String() string { return proto.CompactTextString(m) }
+func (*StatusCondition) ProtoMessage()    {}
+func (*StatusCondition) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{16}
+}
+
+func (m *StatusCondition) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StatusCondition.Unmarshal(m, b)
+}
+func (m *StatusCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StatusCondition.Marshal(b, m, deterministic)
+}
+func (m *StatusCondition) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StatusCondition.Merge(m, src)
+}
+func (m *StatusCondition) XXX_Size() int {
+	return xxx_messageInfo_StatusCondition.Size(m)
+}
+func (m *StatusCondition) XXX_DiscardUnknown() {
+	xxx_messageInfo_StatusCondition.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_StatusCondition proto.InternalMessageInfo
+
+func (m *StatusCondition) GetCode() StatusCondition_Code {
+	if m != nil {
+		return m.Code
+	}
+	return StatusCondition_UNKNOWN
+}
+
+func (m *StatusCondition) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
+// A Google Kubernetes Engine cluster.
 type Cluster struct {
 	// 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:
@@ -1465,7 +1848,8 @@ type Cluster struct {
 	AddonsConfig *AddonsConfig `protobuf:"bytes,10,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
 	// The name of the Google Compute Engine
 	// [subnetwork](/compute/docs/subnetworks) to which the
-	// cluster is connected.
+	// cluster is connected. On output this shows the subnetwork ID instead of
+	// the name.
 	Subnetwork string `protobuf:"bytes,11,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
 	// The node pools associated with this cluster.
 	// This field should not be set if "node_config" or "initial_node_count" are
@@ -1490,15 +1874,26 @@ type Cluster struct {
 	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,22,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig,proto3" json:"master_authorized_networks_config,omitempty"`
 	// Configure the maintenance policy for this cluster.
 	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,23,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
+	// Configuration for Binary Authorization.
+	BinaryAuthorization *BinaryAuthorization `protobuf:"bytes,24,opt,name=binary_authorization,json=binaryAuthorization,proto3" json:"binary_authorization,omitempty"`
 	// Configuration for the PodSecurityPolicy feature.
 	PodSecurityPolicyConfig *PodSecurityPolicyConfig `protobuf:"bytes,25,opt,name=pod_security_policy_config,json=podSecurityPolicyConfig,proto3" json:"pod_security_policy_config,omitempty"`
+	// Cluster-level autoscaling configuration.
+	Autoscaling *ClusterAutoscaling `protobuf:"bytes,26,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
+	// Configuration for the use of GCP IAM Service Accounts in applications in
+	// this cluster.
+	ManagedPodIdentityConfig *ManagedPodIdentityConfig `protobuf:"bytes,32,opt,name=managed_pod_identity_config,json=managedPodIdentityConfig,proto3" json:"managed_pod_identity_config,omitempty"`
+	// Defines behaviour of k8s scheduler.
+	NodeSchedulingStrategy Cluster_NodeSchedulingStrategy `protobuf:"varint,35,opt,name=node_scheduling_strategy,json=nodeSchedulingStrategy,proto3,enum=google.container.v1alpha1.Cluster_NodeSchedulingStrategy" json:"node_scheduling_strategy,omitempty"`
+	// Configuration for private cluster.
+	PrivateClusterConfig *PrivateClusterConfig `protobuf:"bytes,37,opt,name=private_cluster_config,json=privateClusterConfig,proto3" json:"private_cluster_config,omitempty"`
 	// [Output only] Server-defined URL for the resource.
 	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
 	// [Output only] The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
 	// This field is deprecated, use location instead.
-	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"`
+	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// [Output only] The IP address of this cluster's master endpoint.
 	// The endpoint can be accessed from the internet at
 	// `https://username:password@endpoint/`.
@@ -1510,13 +1905,24 @@ type Cluster struct {
 	// found in validMasterVersions returned by getServerConfig.  The version can
 	// be upgraded over time; such upgrades are reflected in
 	// currentMasterVersion and currentNodeVersion.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "","-": picks the default Kubernetes version
 	InitialClusterVersion string `protobuf:"bytes,103,opt,name=initial_cluster_version,json=initialClusterVersion,proto3" json:"initial_cluster_version,omitempty"`
 	// [Output only] The current software version of the master endpoint.
 	CurrentMasterVersion string `protobuf:"bytes,104,opt,name=current_master_version,json=currentMasterVersion,proto3" json:"current_master_version,omitempty"`
-	// [Output only] The current version of the node software components.
+	// [Output only] Deprecated, use
+	// [NodePool.version](/kubernetes-engine/docs/reference/rest/v1alpha1/projects.zones.clusters.nodePool)
+	// instead. 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.
-	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"`
+	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"` // Deprecated: Do not use.
 	// [Output only] The time the cluster was created, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	CreateTime string `protobuf:"bytes,106,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
@@ -1524,7 +1930,8 @@ type Cluster struct {
 	Status Cluster_Status `protobuf:"varint,107,opt,name=status,proto3,enum=google.container.v1alpha1.Cluster_Status" json:"status,omitempty"`
 	// [Output only] Additional information about the current status of this
 	// cluster, if available.
-	StatusMessage string `protobuf:"bytes,108,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	// Deprecated, use the field conditions instead.
+	StatusMessage string `protobuf:"bytes,108,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // Deprecated: Do not use.
 	// [Output only] The size of the address space on each node for hosting
 	// containers. This is provisioned from within the `container_ipv4_cidr`
 	// range.
@@ -1535,10 +1942,8 @@ type Cluster struct {
 	// notation (e.g. `1.2.3.4/29`). Service addresses are
 	// typically put in the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `protobuf:"bytes,110,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
-	// [Output only] The resource URLs of [instance
-	// groups](/compute/docs/instance-groups/) associated with this
-	// cluster.
-	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
+	// Deprecated. Use node_pools.instance_group_urls.
+	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"` // Deprecated: Do not use.
 	// [Output only] The number of nodes currently in the cluster.
 	CurrentNodeCount int32 `protobuf:"varint,112,opt,name=current_node_count,json=currentNodeCount,proto3" json:"current_node_count,omitempty"`
 	// [Output only] The time the cluster will be automatically
@@ -1548,17 +1953,19 @@ type Cluster struct {
 	// [zone](/compute/docs/regions-zones/regions-zones#available) or
 	// [region](/compute/docs/regions-zones/regions-zones#available) in which
 	// the cluster resides.
-	Location             string   `protobuf:"bytes,114,opt,name=location,proto3" json:"location,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Location string `protobuf:"bytes,114,opt,name=location,proto3" json:"location,omitempty"`
+	// Which conditions caused the current cluster state.
+	Conditions           []*StatusCondition `protobuf:"bytes,118,rep,name=conditions,proto3" json:"conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *Cluster) Reset()         { *m = Cluster{} }
 func (m *Cluster) String() string { return proto.CompactTextString(m) }
 func (*Cluster) ProtoMessage()    {}
 func (*Cluster) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{13}
+	return fileDescriptor_339d8120448ec82b, []int{17}
 }
 
 func (m *Cluster) XXX_Unmarshal(b []byte) error {
@@ -1705,6 +2112,13 @@ func (m *Cluster) GetMaintenancePolicy() *MaintenancePolicy {
 	return nil
 }
 
+func (m *Cluster) GetBinaryAuthorization() *BinaryAuthorization {
+	if m != nil {
+		return m.BinaryAuthorization
+	}
+	return nil
+}
+
 func (m *Cluster) GetPodSecurityPolicyConfig() *PodSecurityPolicyConfig {
 	if m != nil {
 		return m.PodSecurityPolicyConfig
@@ -1712,6 +2126,34 @@ func (m *Cluster) GetPodSecurityPolicyConfig() *PodSecurityPolicyConfig {
 	return nil
 }
 
+func (m *Cluster) GetAutoscaling() *ClusterAutoscaling {
+	if m != nil {
+		return m.Autoscaling
+	}
+	return nil
+}
+
+func (m *Cluster) GetManagedPodIdentityConfig() *ManagedPodIdentityConfig {
+	if m != nil {
+		return m.ManagedPodIdentityConfig
+	}
+	return nil
+}
+
+func (m *Cluster) GetNodeSchedulingStrategy() Cluster_NodeSchedulingStrategy {
+	if m != nil {
+		return m.NodeSchedulingStrategy
+	}
+	return Cluster_STRATEGY_UNSPECIFIED
+}
+
+func (m *Cluster) GetPrivateClusterConfig() *PrivateClusterConfig {
+	if m != nil {
+		return m.PrivateClusterConfig
+	}
+	return nil
+}
+
 func (m *Cluster) GetSelfLink() string {
 	if m != nil {
 		return m.SelfLink
@@ -1719,6 +2161,7 @@ func (m *Cluster) GetSelfLink() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -1747,6 +2190,7 @@ func (m *Cluster) GetCurrentMasterVersion() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetCurrentNodeVersion() string {
 	if m != nil {
 		return m.CurrentNodeVersion
@@ -1768,6 +2212,7 @@ func (m *Cluster) GetStatus() Cluster_Status {
 	return Cluster_STATUS_UNSPECIFIED
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetStatusMessage() string {
 	if m != nil {
 		return m.StatusMessage
@@ -1789,6 +2234,7 @@ func (m *Cluster) GetServicesIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetInstanceGroupUrls() []string {
 	if m != nil {
 		return m.InstanceGroupUrls
@@ -1817,17 +2263,34 @@ func (m *Cluster) GetLocation() string {
 	return ""
 }
 
+func (m *Cluster) GetConditions() []*StatusCondition {
+	if m != nil {
+		return m.Conditions
+	}
+	return nil
+}
+
 // 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.
 type ClusterUpdate struct {
 	// The Kubernetes version to change the nodes to (typically an
-	// upgrade). Use `-` to upgrade to the latest version supported by
-	// the server.
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
 	DesiredNodeVersion string `protobuf:"bytes,4,opt,name=desired_node_version,json=desiredNodeVersion,proto3" json:"desired_node_version,omitempty"`
 	// The monitoring service the cluster should use to write metrics.
 	// Currently available options:
 	//
+	// * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
+	// service with Kubernetes-native resource model in Stackdriver
 	// * "monitoring.googleapis.com" - the Google Cloud Monitoring service
 	// * "none" - no metrics will be exported from the cluster
 	DesiredMonitoringService string `protobuf:"bytes,5,opt,name=desired_monitoring_service,json=desiredMonitoringService,proto3" json:"desired_monitoring_service,omitempty"`
@@ -1858,9 +2321,28 @@ type ClusterUpdate struct {
 	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,12,opt,name=desired_master_authorized_networks_config,json=desiredMasterAuthorizedNetworksConfig,proto3" json:"desired_master_authorized_networks_config,omitempty"`
 	// The desired configuration options for the PodSecurityPolicy feature.
 	DesiredPodSecurityPolicyConfig *PodSecurityPolicyConfig `protobuf:"bytes,14,opt,name=desired_pod_security_policy_config,json=desiredPodSecurityPolicyConfig,proto3" json:"desired_pod_security_policy_config,omitempty"`
-	// 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.
+	// The desired cluster-level autoscaling configuration.
+	DesiredClusterAutoscaling *ClusterAutoscaling `protobuf:"bytes,15,opt,name=desired_cluster_autoscaling,json=desiredClusterAutoscaling,proto3" json:"desired_cluster_autoscaling,omitempty"`
+	// The desired configuration options for the Binary Authorization feature.
+	DesiredBinaryAuthorization *BinaryAuthorization `protobuf:"bytes,16,opt,name=desired_binary_authorization,json=desiredBinaryAuthorization,proto3" json:"desired_binary_authorization,omitempty"`
+	// The logging service the cluster should use to write metrics.
+	// Currently available options:
+	//
+	// * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+	// service with Kubernetes-native resource model in Stackdriver
+	// * "logging.googleapis.com" - the Google Cloud Logging service
+	// * "none" - no logs will be exported from the cluster
+	DesiredLoggingService string `protobuf:"bytes,19,opt,name=desired_logging_service,json=desiredLoggingService,proto3" json:"desired_logging_service,omitempty"`
+	// The Kubernetes version to change the master to.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
 	DesiredMasterVersion string   `protobuf:"bytes,100,opt,name=desired_master_version,json=desiredMasterVersion,proto3" json:"desired_master_version,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -1871,7 +2353,7 @@ func (m *ClusterUpdate) Reset()         { *m = ClusterUpdate{} }
 func (m *ClusterUpdate) String() string { return proto.CompactTextString(m) }
 func (*ClusterUpdate) ProtoMessage()    {}
 func (*ClusterUpdate) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{14}
+	return fileDescriptor_339d8120448ec82b, []int{18}
 }
 
 func (m *ClusterUpdate) XXX_Unmarshal(b []byte) error {
@@ -1955,6 +2437,27 @@ func (m *ClusterUpdate) GetDesiredPodSecurityPolicyConfig() *PodSecurityPolicyCo
 	return nil
 }
 
+func (m *ClusterUpdate) GetDesiredClusterAutoscaling() *ClusterAutoscaling {
+	if m != nil {
+		return m.DesiredClusterAutoscaling
+	}
+	return nil
+}
+
+func (m *ClusterUpdate) GetDesiredBinaryAuthorization() *BinaryAuthorization {
+	if m != nil {
+		return m.DesiredBinaryAuthorization
+	}
+	return nil
+}
+
+func (m *ClusterUpdate) GetDesiredLoggingService() string {
+	if m != nil {
+		return m.DesiredLoggingService
+	}
+	return ""
+}
+
 func (m *ClusterUpdate) GetDesiredMasterVersion() string {
 	if m != nil {
 		return m.DesiredMasterVersion
@@ -1971,7 +2474,7 @@ type Operation struct {
 	// [zone](/compute/docs/zones#available) in which the operation
 	// is taking place.
 	// This field is deprecated, use location instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The operation type.
 	OperationType Operation_Type `protobuf:"varint,3,opt,name=operation_type,json=operationType,proto3,enum=google.container.v1alpha1.Operation_Type" json:"operation_type,omitempty"`
 	// The current status of the operation.
@@ -1979,7 +2482,8 @@ type Operation struct {
 	// Detailed operation progress, if available.
 	Detail string `protobuf:"bytes,8,opt,name=detail,proto3" json:"detail,omitempty"`
 	// If an error has occurred, a textual description of the error.
-	StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	// Deprecated, use the field conditions instead.
+	StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // Deprecated: Do not use.
 	// Server-defined URL for the resource.
 	SelfLink string `protobuf:"bytes,6,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
 	// Server-defined URL for the target of the operation.
@@ -1994,17 +2498,23 @@ type Operation struct {
 	StartTime string `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
 	// [Output only] The time the operation completed, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-	EndTime              string   `protobuf:"bytes,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	EndTime string `protobuf:"bytes,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// [Output only] Progress information for an operation.
+	Progress *OperationProgress `protobuf:"bytes,12,opt,name=progress,proto3" json:"progress,omitempty"`
+	// Which conditions caused the current cluster state.
+	ClusterConditions []*StatusCondition `protobuf:"bytes,13,rep,name=cluster_conditions,json=clusterConditions,proto3" json:"cluster_conditions,omitempty"`
+	// Which conditions caused the current node pool state.
+	NodepoolConditions   []*StatusCondition `protobuf:"bytes,14,rep,name=nodepool_conditions,json=nodepoolConditions,proto3" json:"nodepool_conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *Operation) Reset()         { *m = Operation{} }
 func (m *Operation) String() string { return proto.CompactTextString(m) }
 func (*Operation) ProtoMessage()    {}
 func (*Operation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{15}
+	return fileDescriptor_339d8120448ec82b, []int{19}
 }
 
 func (m *Operation) XXX_Unmarshal(b []byte) error {
@@ -2032,6 +2542,7 @@ func (m *Operation) GetName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Operation) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2060,6 +2571,7 @@ func (m *Operation) GetDetail() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Operation) GetStatusMessage() string {
 	if m != nil {
 		return m.StatusMessage
@@ -2102,17 +2614,291 @@ func (m *Operation) GetEndTime() string {
 	return ""
 }
 
-// CreateClusterRequest creates a cluster.
-type CreateClusterRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+func (m *Operation) GetProgress() *OperationProgress {
+	if m != nil {
+		return m.Progress
+	}
+	return nil
+}
+
+func (m *Operation) GetClusterConditions() []*StatusCondition {
+	if m != nil {
+		return m.ClusterConditions
+	}
+	return nil
+}
+
+func (m *Operation) GetNodepoolConditions() []*StatusCondition {
+	if m != nil {
+		return m.NodepoolConditions
+	}
+	return nil
+}
+
+// Information about operation (or operation stage) progress.
+type OperationProgress struct {
+	// A non-parameterized string describing an operation stage.
+	// Unset for single-stage operations.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Status of an operation stage.
+	// Unset for single-stage operations.
+	Status Operation_Status `protobuf:"varint,2,opt,name=status,proto3,enum=google.container.v1alpha1.Operation_Status" json:"status,omitempty"`
+	// Progress metric bundle, for example:
+	//   metrics: [{name: "nodes done",     int_value: 15},
+	//             {name: "nodes total",    int_value: 32}]
+	// or
+	//   metrics: [{name: "progress",       double_value: 0.56},
+	//             {name: "progress scale", double_value: 1.0}]
+	Metrics []*OperationProgress_Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"`
+	// Substages of an operation or a stage.
+	Stages               []*OperationProgress `protobuf:"bytes,4,rep,name=stages,proto3" json:"stages,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *OperationProgress) Reset()         { *m = OperationProgress{} }
+func (m *OperationProgress) String() string { return proto.CompactTextString(m) }
+func (*OperationProgress) ProtoMessage()    {}
+func (*OperationProgress) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{20}
+}
+
+func (m *OperationProgress) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationProgress.Unmarshal(m, b)
+}
+func (m *OperationProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationProgress.Marshal(b, m, deterministic)
+}
+func (m *OperationProgress) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationProgress.Merge(m, src)
+}
+func (m *OperationProgress) XXX_Size() int {
+	return xxx_messageInfo_OperationProgress.Size(m)
+}
+func (m *OperationProgress) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationProgress.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationProgress proto.InternalMessageInfo
+
+func (m *OperationProgress) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *OperationProgress) GetStatus() Operation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Operation_STATUS_UNSPECIFIED
+}
+
+func (m *OperationProgress) GetMetrics() []*OperationProgress_Metric {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
+}
+
+func (m *OperationProgress) GetStages() []*OperationProgress {
+	if m != nil {
+		return m.Stages
+	}
+	return nil
+}
+
+// Progress metric is (string, int|float|string) pair.
+type OperationProgress_Metric struct {
+	// Metric name, required.
+	// e.g., "nodes total", "percent done"
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Strictly one of the values is required.
+	//
+	// Types that are valid to be assigned to Value:
+	//	*OperationProgress_Metric_IntValue
+	//	*OperationProgress_Metric_DoubleValue
+	//	*OperationProgress_Metric_StringValue
+	Value                isOperationProgress_Metric_Value `protobuf_oneof:"value"`
+	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
+	XXX_unrecognized     []byte                           `json:"-"`
+	XXX_sizecache        int32                            `json:"-"`
+}
+
+func (m *OperationProgress_Metric) Reset()         { *m = OperationProgress_Metric{} }
+func (m *OperationProgress_Metric) String() string { return proto.CompactTextString(m) }
+func (*OperationProgress_Metric) ProtoMessage()    {}
+func (*OperationProgress_Metric) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{20, 0}
+}
+
+func (m *OperationProgress_Metric) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationProgress_Metric.Unmarshal(m, b)
+}
+func (m *OperationProgress_Metric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationProgress_Metric.Marshal(b, m, deterministic)
+}
+func (m *OperationProgress_Metric) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationProgress_Metric.Merge(m, src)
+}
+func (m *OperationProgress_Metric) XXX_Size() int {
+	return xxx_messageInfo_OperationProgress_Metric.Size(m)
+}
+func (m *OperationProgress_Metric) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationProgress_Metric.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationProgress_Metric proto.InternalMessageInfo
+
+func (m *OperationProgress_Metric) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+type isOperationProgress_Metric_Value interface {
+	isOperationProgress_Metric_Value()
+}
+
+type OperationProgress_Metric_IntValue struct {
+	IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"`
+}
+
+type OperationProgress_Metric_DoubleValue struct {
+	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
+}
+
+type OperationProgress_Metric_StringValue struct {
+	StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
+}
+
+func (*OperationProgress_Metric_IntValue) isOperationProgress_Metric_Value() {}
+
+func (*OperationProgress_Metric_DoubleValue) isOperationProgress_Metric_Value() {}
+
+func (*OperationProgress_Metric_StringValue) isOperationProgress_Metric_Value() {}
+
+func (m *OperationProgress_Metric) GetValue() isOperationProgress_Metric_Value {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *OperationProgress_Metric) GetIntValue() int64 {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_IntValue); ok {
+		return x.IntValue
+	}
+	return 0
+}
+
+func (m *OperationProgress_Metric) GetDoubleValue() float64 {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_DoubleValue); ok {
+		return x.DoubleValue
+	}
+	return 0
+}
+
+func (m *OperationProgress_Metric) GetStringValue() string {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_StringValue); ok {
+		return x.StringValue
+	}
+	return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*OperationProgress_Metric) 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 _OperationProgress_Metric_OneofMarshaler, _OperationProgress_Metric_OneofUnmarshaler, _OperationProgress_Metric_OneofSizer, []interface{}{
+		(*OperationProgress_Metric_IntValue)(nil),
+		(*OperationProgress_Metric_DoubleValue)(nil),
+		(*OperationProgress_Metric_StringValue)(nil),
+	}
+}
+
+func _OperationProgress_Metric_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*OperationProgress_Metric)
+	// value
+	switch x := m.Value.(type) {
+	case *OperationProgress_Metric_IntValue:
+		b.EncodeVarint(2<<3 | proto.WireVarint)
+		b.EncodeVarint(uint64(x.IntValue))
+	case *OperationProgress_Metric_DoubleValue:
+		b.EncodeVarint(3<<3 | proto.WireFixed64)
+		b.EncodeFixed64(math.Float64bits(x.DoubleValue))
+	case *OperationProgress_Metric_StringValue:
+		b.EncodeVarint(4<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.StringValue)
+	case nil:
+	default:
+		return fmt.Errorf("OperationProgress_Metric.Value has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _OperationProgress_Metric_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*OperationProgress_Metric)
+	switch tag {
+	case 2: // value.int_value
+		if wire != proto.WireVarint {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeVarint()
+		m.Value = &OperationProgress_Metric_IntValue{int64(x)}
+		return true, err
+	case 3: // value.double_value
+		if wire != proto.WireFixed64 {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeFixed64()
+		m.Value = &OperationProgress_Metric_DoubleValue{math.Float64frombits(x)}
+		return true, err
+	case 4: // value.string_value
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Value = &OperationProgress_Metric_StringValue{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _OperationProgress_Metric_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*OperationProgress_Metric)
+	// value
+	switch x := m.Value.(type) {
+	case *OperationProgress_Metric_IntValue:
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(x.IntValue))
+	case *OperationProgress_Metric_DoubleValue:
+		n += 1 // tag and wire
+		n += 8
+	case *OperationProgress_Metric_StringValue:
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(len(x.StringValue)))
+		n += len(x.StringValue)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// CreateClusterRequest creates a cluster.
+type CreateClusterRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// A [cluster
 	// resource](/container-engine/reference/rest/v1alpha1/projects.zones.clusters)
 	Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
@@ -2128,7 +2914,7 @@ func (m *CreateClusterRequest) Reset()         { *m = CreateClusterRequest{} }
 func (m *CreateClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateClusterRequest) ProtoMessage()    {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{16}
+	return fileDescriptor_339d8120448ec82b, []int{21}
 }
 
 func (m *CreateClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2149,6 +2935,7 @@ func (m *CreateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CreateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2156,6 +2943,7 @@ func (m *CreateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2179,18 +2967,18 @@ func (m *CreateClusterRequest) GetParent() string {
 
 // GetClusterRequest gets the settings of a cluster.
 type GetClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to retrieve.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to retrieve.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, cluster) of the cluster to retrieve.
 	// Specified in the format 'projects/*/locations/*/clusters/*'.
 	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
@@ -2203,7 +2991,7 @@ func (m *GetClusterRequest) Reset()         { *m = GetClusterRequest{} }
 func (m *GetClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*GetClusterRequest) ProtoMessage()    {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{17}
+	return fileDescriptor_339d8120448ec82b, []int{22}
 }
 
 func (m *GetClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2224,6 +3012,7 @@ func (m *GetClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2231,6 +3020,7 @@ func (m *GetClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2238,6 +3028,7 @@ func (m *GetClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2254,18 +3045,18 @@ func (m *GetClusterRequest) GetName() string {
 
 // UpdateClusterRequest updates the settings of a cluster.
 type UpdateClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// A description of the update.
 	Update *ClusterUpdate `protobuf:"bytes,4,opt,name=update,proto3" json:"update,omitempty"`
 	// The name (project, location, cluster) of the cluster to update.
@@ -2280,7 +3071,7 @@ func (m *UpdateClusterRequest) Reset()         { *m = UpdateClusterRequest{} }
 func (m *UpdateClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateClusterRequest) ProtoMessage()    {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{18}
+	return fileDescriptor_339d8120448ec82b, []int{23}
 }
 
 func (m *UpdateClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2301,6 +3092,7 @@ func (m *UpdateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2308,6 +3100,7 @@ func (m *UpdateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2315,6 +3108,7 @@ func (m *UpdateClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2338,29 +3132,38 @@ func (m *UpdateClusterRequest) GetName() string {
 
 // SetNodePoolVersionRequest updates the version of a node pool.
 type UpdateNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to upgrade.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// The Kubernetes version to change the nodes to (typically an
-	// upgrade). Use `-` to upgrade to the latest version supported by
-	// the server.
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
 	NodeVersion string `protobuf:"bytes,5,opt,name=node_version,json=nodeVersion,proto3" json:"node_version,omitempty"`
 	// The desired image type for the node pool.
 	ImageType string `protobuf:"bytes,6,opt,name=image_type,json=imageType,proto3" json:"image_type,omitempty"`
-	// The name (project, location, cluster, node pool) of the node pool to update.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	// The name (project, location, cluster, node pool) of the node pool to
+	// update. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
 	Name                 string   `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -2371,7 +3174,7 @@ func (m *UpdateNodePoolRequest) Reset()         { *m = UpdateNodePoolRequest{} }
 func (m *UpdateNodePoolRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateNodePoolRequest) ProtoMessage()    {}
 func (*UpdateNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{19}
+	return fileDescriptor_339d8120448ec82b, []int{24}
 }
 
 func (m *UpdateNodePoolRequest) XXX_Unmarshal(b []byte) error {
@@ -2392,6 +3195,7 @@ func (m *UpdateNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2399,6 +3203,7 @@ func (m *UpdateNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2406,6 +3211,7 @@ func (m *UpdateNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2413,6 +3219,7 @@ func (m *UpdateNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -2443,21 +3250,21 @@ func (m *UpdateNodePoolRequest) GetName() string {
 
 // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
 type SetNodePoolAutoscalingRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to upgrade.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// Autoscaling configuration for the node pool.
 	Autoscaling *NodePoolAutoscaling `protobuf:"bytes,5,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
 	// The name (project, location, cluster, node pool) of the node pool to set
@@ -2473,7 +3280,7 @@ func (m *SetNodePoolAutoscalingRequest) Reset()         { *m = SetNodePoolAutosc
 func (m *SetNodePoolAutoscalingRequest) String() string { return proto.CompactTextString(m) }
 func (*SetNodePoolAutoscalingRequest) ProtoMessage()    {}
 func (*SetNodePoolAutoscalingRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{20}
+	return fileDescriptor_339d8120448ec82b, []int{25}
 }
 
 func (m *SetNodePoolAutoscalingRequest) XXX_Unmarshal(b []byte) error {
@@ -2494,6 +3301,7 @@ func (m *SetNodePoolAutoscalingRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolAutoscalingRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2501,6 +3309,7 @@ func (m *SetNodePoolAutoscalingRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2508,6 +3317,7 @@ func (m *SetNodePoolAutoscalingRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2515,6 +3325,7 @@ func (m *SetNodePoolAutoscalingRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolAutoscalingRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -2538,17 +3349,18 @@ func (m *SetNodePoolAutoscalingRequest) GetName() string {
 
 // SetLoggingServiceRequest sets the logging service of a cluster.
 type SetLoggingServiceRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
+	// This field has been deprecated and replaced by the name field.
 	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The logging service the cluster should use to write metrics.
 	// Currently available options:
 	//
@@ -2567,7 +3379,7 @@ func (m *SetLoggingServiceRequest) Reset()         { *m = SetLoggingServiceReque
 func (m *SetLoggingServiceRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLoggingServiceRequest) ProtoMessage()    {}
 func (*SetLoggingServiceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{21}
+	return fileDescriptor_339d8120448ec82b, []int{26}
 }
 
 func (m *SetLoggingServiceRequest) XXX_Unmarshal(b []byte) error {
@@ -2588,6 +3400,7 @@ func (m *SetLoggingServiceRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLoggingServiceRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLoggingServiceRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2602,6 +3415,7 @@ func (m *SetLoggingServiceRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLoggingServiceRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2625,18 +3439,18 @@ func (m *SetLoggingServiceRequest) GetName() string {
 
 // SetMonitoringServiceRequest sets the monitoring service of a cluster.
 type SetMonitoringServiceRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The monitoring service the cluster should use to write metrics.
 	// Currently available options:
 	//
@@ -2655,7 +3469,7 @@ func (m *SetMonitoringServiceRequest) Reset()         { *m = SetMonitoringServic
 func (m *SetMonitoringServiceRequest) String() string { return proto.CompactTextString(m) }
 func (*SetMonitoringServiceRequest) ProtoMessage()    {}
 func (*SetMonitoringServiceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{22}
+	return fileDescriptor_339d8120448ec82b, []int{27}
 }
 
 func (m *SetMonitoringServiceRequest) XXX_Unmarshal(b []byte) error {
@@ -2676,6 +3490,7 @@ func (m *SetMonitoringServiceRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetMonitoringServiceRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2683,6 +3498,7 @@ func (m *SetMonitoringServiceRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2690,6 +3506,7 @@ func (m *SetMonitoringServiceRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMonitoringServiceRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2713,18 +3530,18 @@ func (m *SetMonitoringServiceRequest) GetName() string {
 
 // SetAddonsRequest sets the addons associated with the cluster.
 type SetAddonsConfigRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The desired configurations for the various addons available to run in the
 	// cluster.
 	AddonsConfig *AddonsConfig `protobuf:"bytes,4,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
@@ -2740,7 +3557,7 @@ func (m *SetAddonsConfigRequest) Reset()         { *m = SetAddonsConfigRequest{}
 func (m *SetAddonsConfigRequest) String() string { return proto.CompactTextString(m) }
 func (*SetAddonsConfigRequest) ProtoMessage()    {}
 func (*SetAddonsConfigRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{23}
+	return fileDescriptor_339d8120448ec82b, []int{28}
 }
 
 func (m *SetAddonsConfigRequest) XXX_Unmarshal(b []byte) error {
@@ -2761,6 +3578,7 @@ func (m *SetAddonsConfigRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetAddonsConfigRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2768,6 +3586,7 @@ func (m *SetAddonsConfigRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2775,6 +3594,7 @@ func (m *SetAddonsConfigRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetAddonsConfigRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2798,18 +3618,18 @@ func (m *SetAddonsConfigRequest) GetName() string {
 
 // SetLocationsRequest sets the locations of the cluster.
 type SetLocationsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The desired list of Google Compute Engine
 	// [locations](/compute/docs/zones#available) in which the cluster's nodes
 	// should be located. Changing the locations a cluster is in will result
@@ -2830,7 +3650,7 @@ func (m *SetLocationsRequest) Reset()         { *m = SetLocationsRequest{} }
 func (m *SetLocationsRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLocationsRequest) ProtoMessage()    {}
 func (*SetLocationsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{24}
+	return fileDescriptor_339d8120448ec82b, []int{29}
 }
 
 func (m *SetLocationsRequest) XXX_Unmarshal(b []byte) error {
@@ -2851,6 +3671,7 @@ func (m *SetLocationsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLocationsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2858,6 +3679,7 @@ func (m *SetLocationsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2865,6 +3687,7 @@ func (m *SetLocationsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLocationsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2888,20 +3711,27 @@ func (m *SetLocationsRequest) GetName() string {
 
 // UpdateMasterRequest updates the master of the cluster.
 type UpdateMasterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// 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.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The Kubernetes version to change the master to.
+	//
+	// Users may specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
 	MasterVersion string `protobuf:"bytes,4,opt,name=master_version,json=masterVersion,proto3" json:"master_version,omitempty"`
 	// The name (project, location, cluster) of the cluster to update.
 	// Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2915,7 +3745,7 @@ func (m *UpdateMasterRequest) Reset()         { *m = UpdateMasterRequest{} }
 func (m *UpdateMasterRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateMasterRequest) ProtoMessage()    {}
 func (*UpdateMasterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{25}
+	return fileDescriptor_339d8120448ec82b, []int{30}
 }
 
 func (m *UpdateMasterRequest) XXX_Unmarshal(b []byte) error {
@@ -2936,6 +3766,7 @@ func (m *UpdateMasterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateMasterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2943,6 +3774,7 @@ func (m *UpdateMasterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2950,6 +3782,7 @@ func (m *UpdateMasterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateMasterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2973,18 +3806,18 @@ func (m *UpdateMasterRequest) GetName() string {
 
 // SetMasterAuthRequest updates the admin password of a cluster.
 type SetMasterAuthRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The exact form of action to be taken on the master auth.
 	Action SetMasterAuthRequest_Action `protobuf:"varint,4,opt,name=action,proto3,enum=google.container.v1alpha1.SetMasterAuthRequest_Action" json:"action,omitempty"`
 	// A description of the update.
@@ -3001,7 +3834,7 @@ func (m *SetMasterAuthRequest) Reset()         { *m = SetMasterAuthRequest{} }
 func (m *SetMasterAuthRequest) String() string { return proto.CompactTextString(m) }
 func (*SetMasterAuthRequest) ProtoMessage()    {}
 func (*SetMasterAuthRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{26}
+	return fileDescriptor_339d8120448ec82b, []int{31}
 }
 
 func (m *SetMasterAuthRequest) XXX_Unmarshal(b []byte) error {
@@ -3022,6 +3855,7 @@ func (m *SetMasterAuthRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetMasterAuthRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3029,6 +3863,7 @@ func (m *SetMasterAuthRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3036,6 +3871,7 @@ func (m *SetMasterAuthRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetMasterAuthRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3066,18 +3902,18 @@ func (m *SetMasterAuthRequest) GetName() string {
 
 // DeleteClusterRequest deletes a cluster.
 type DeleteClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to delete.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to delete.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, cluster) of the cluster to delete.
 	// Specified in the format 'projects/*/locations/*/clusters/*'.
 	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
@@ -3090,7 +3926,7 @@ func (m *DeleteClusterRequest) Reset()         { *m = DeleteClusterRequest{} }
 func (m *DeleteClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteClusterRequest) ProtoMessage()    {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{27}
+	return fileDescriptor_339d8120448ec82b, []int{32}
 }
 
 func (m *DeleteClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -3111,6 +3947,7 @@ func (m *DeleteClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_DeleteClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3118,6 +3955,7 @@ func (m *DeleteClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3125,6 +3963,7 @@ func (m *DeleteClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3141,15 +3980,15 @@ func (m *DeleteClusterRequest) GetName() string {
 
 // ListClustersRequest lists clusters.
 type ListClustersRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides, or "-" for all zones.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The parent (project and location) where the clusters will be listed.
 	// Specified in the format 'projects/*/locations/*'.
 	// Location "-" matches all zones and all regions.
@@ -3163,7 +4002,7 @@ func (m *ListClustersRequest) Reset()         { *m = ListClustersRequest{} }
 func (m *ListClustersRequest) String() string { return proto.CompactTextString(m) }
 func (*ListClustersRequest) ProtoMessage()    {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{28}
+	return fileDescriptor_339d8120448ec82b, []int{33}
 }
 
 func (m *ListClustersRequest) XXX_Unmarshal(b []byte) error {
@@ -3184,6 +4023,7 @@ func (m *ListClustersRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListClustersRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListClustersRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3191,6 +4031,7 @@ func (m *ListClustersRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListClustersRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3222,7 +4063,7 @@ func (m *ListClustersResponse) Reset()         { *m = ListClustersResponse{} }
 func (m *ListClustersResponse) String() string { return proto.CompactTextString(m) }
 func (*ListClustersResponse) ProtoMessage()    {}
 func (*ListClustersResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{29}
+	return fileDescriptor_339d8120448ec82b, []int{34}
 }
 
 func (m *ListClustersResponse) XXX_Unmarshal(b []byte) error {
@@ -3259,18 +4100,18 @@ func (m *ListClustersResponse) GetMissingZones() []string {
 
 // GetOperationRequest gets a single operation.
 type GetOperationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	// This field is deprecated, use name instead.
-	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, operation id) of the operation to get.
 	// Specified in the format 'projects/*/locations/*/operations/*'.
 	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
@@ -3283,7 +4124,7 @@ func (m *GetOperationRequest) Reset()         { *m = GetOperationRequest{} }
 func (m *GetOperationRequest) String() string { return proto.CompactTextString(m) }
 func (*GetOperationRequest) ProtoMessage()    {}
 func (*GetOperationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{30}
+	return fileDescriptor_339d8120448ec82b, []int{35}
 }
 
 func (m *GetOperationRequest) XXX_Unmarshal(b []byte) error {
@@ -3304,6 +4145,7 @@ func (m *GetOperationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetOperationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3311,6 +4153,7 @@ func (m *GetOperationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3318,6 +4161,7 @@ func (m *GetOperationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetOperationRequest) GetOperationId() string {
 	if m != nil {
 		return m.OperationId
@@ -3334,14 +4178,14 @@ func (m *GetOperationRequest) GetName() string {
 
 // ListOperationsRequest lists operations.
 type ListOperationsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for, or `-` for all zones.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for, or `-` for
+	// all zones. This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The parent (project and location) where the operations will be listed.
 	// Specified in the format 'projects/*/locations/*'.
 	// Location "-" matches all zones and all regions.
@@ -3355,7 +4199,7 @@ func (m *ListOperationsRequest) Reset()         { *m = ListOperationsRequest{} }
 func (m *ListOperationsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListOperationsRequest) ProtoMessage()    {}
 func (*ListOperationsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{31}
+	return fileDescriptor_339d8120448ec82b, []int{36}
 }
 
 func (m *ListOperationsRequest) XXX_Unmarshal(b []byte) error {
@@ -3376,6 +4220,7 @@ func (m *ListOperationsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListOperationsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListOperationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3383,6 +4228,7 @@ func (m *ListOperationsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListOperationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3399,17 +4245,17 @@ func (m *ListOperationsRequest) GetParent() string {
 
 // CancelOperationRequest cancels a single operation.
 type CancelOperationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the operation resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	// This field is deprecated, use name instead.
-	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, operation id) of the operation to cancel.
 	// Specified in the format 'projects/*/locations/*/operations/*'.
 	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
@@ -3422,7 +4268,7 @@ func (m *CancelOperationRequest) Reset()         { *m = CancelOperationRequest{}
 func (m *CancelOperationRequest) String() string { return proto.CompactTextString(m) }
 func (*CancelOperationRequest) ProtoMessage()    {}
 func (*CancelOperationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{32}
+	return fileDescriptor_339d8120448ec82b, []int{37}
 }
 
 func (m *CancelOperationRequest) XXX_Unmarshal(b []byte) error {
@@ -3443,6 +4289,7 @@ func (m *CancelOperationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CancelOperationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3450,6 +4297,7 @@ func (m *CancelOperationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3457,6 +4305,7 @@ func (m *CancelOperationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CancelOperationRequest) GetOperationId() string {
 	if m != nil {
 		return m.OperationId
@@ -3487,7 +4336,7 @@ func (m *ListOperationsResponse) Reset()         { *m = ListOperationsResponse{}
 func (m *ListOperationsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListOperationsResponse) ProtoMessage()    {}
 func (*ListOperationsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{33}
+	return fileDescriptor_339d8120448ec82b, []int{38}
 }
 
 func (m *ListOperationsResponse) XXX_Unmarshal(b []byte) error {
@@ -3522,16 +4371,16 @@ func (m *ListOperationsResponse) GetMissingZones() []string {
 	return nil
 }
 
-// Gets the current Container Engine service configuration.
+// Gets the current Kubernetes Engine service configuration.
 type GetServerConfigRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The name (project and location) of the server config to get
 	// Specified in the format 'projects/*/locations/*'.
 	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
@@ -3544,7 +4393,7 @@ func (m *GetServerConfigRequest) Reset()         { *m = GetServerConfigRequest{}
 func (m *GetServerConfigRequest) String() string { return proto.CompactTextString(m) }
 func (*GetServerConfigRequest) ProtoMessage()    {}
 func (*GetServerConfigRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{34}
+	return fileDescriptor_339d8120448ec82b, []int{39}
 }
 
 func (m *GetServerConfigRequest) XXX_Unmarshal(b []byte) error {
@@ -3565,6 +4414,7 @@ func (m *GetServerConfigRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetServerConfigRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetServerConfigRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3572,6 +4422,7 @@ func (m *GetServerConfigRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetServerConfigRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3586,7 +4437,7 @@ func (m *GetServerConfigRequest) GetName() string {
 	return ""
 }
 
-// Container Engine service configuration.
+// Kubernetes Engine service configuration.
 type ServerConfig struct {
 	// Version of Kubernetes the service deploys by default.
 	DefaultClusterVersion string `protobuf:"bytes,1,opt,name=default_cluster_version,json=defaultClusterVersion,proto3" json:"default_cluster_version,omitempty"`
@@ -3607,7 +4458,7 @@ func (m *ServerConfig) Reset()         { *m = ServerConfig{} }
 func (m *ServerConfig) String() string { return proto.CompactTextString(m) }
 func (*ServerConfig) ProtoMessage()    {}
 func (*ServerConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{35}
+	return fileDescriptor_339d8120448ec82b, []int{40}
 }
 
 func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
@@ -3665,22 +4516,23 @@ func (m *ServerConfig) GetValidMasterVersions() []string {
 
 // CreateNodePoolRequest creates a node pool for a cluster.
 type CreateNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use parent instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The node pool to create.
 	NodePool *NodePool `protobuf:"bytes,4,opt,name=node_pool,json=nodePool,proto3" json:"node_pool,omitempty"`
-	// The parent (project, location, cluster id) where the node pool will be created.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	// The parent (project, location, cluster id) where the node pool will be
+	// created. Specified in the format
+	// 'projects/*/locations/*/clusters/*'.
 	Parent               string   `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -3691,7 +4543,7 @@ func (m *CreateNodePoolRequest) Reset()         { *m = CreateNodePoolRequest{} }
 func (m *CreateNodePoolRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateNodePoolRequest) ProtoMessage()    {}
 func (*CreateNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{36}
+	return fileDescriptor_339d8120448ec82b, []int{41}
 }
 
 func (m *CreateNodePoolRequest) XXX_Unmarshal(b []byte) error {
@@ -3712,6 +4564,7 @@ func (m *CreateNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CreateNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3719,6 +4572,7 @@ func (m *CreateNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3726,6 +4580,7 @@ func (m *CreateNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3749,23 +4604,24 @@ func (m *CreateNodePoolRequest) GetParent() string {
 
 // DeleteNodePoolRequest deletes a node pool for a cluster.
 type DeleteNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to delete.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node pool to delete.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecate. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to delete.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// delete. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
 	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -3776,7 +4632,7 @@ func (m *DeleteNodePoolRequest) Reset()         { *m = DeleteNodePoolRequest{} }
 func (m *DeleteNodePoolRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteNodePoolRequest) ProtoMessage()    {}
 func (*DeleteNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{37}
+	return fileDescriptor_339d8120448ec82b, []int{42}
 }
 
 func (m *DeleteNodePoolRequest) XXX_Unmarshal(b []byte) error {
@@ -3797,6 +4653,7 @@ func (m *DeleteNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_DeleteNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3804,6 +4661,7 @@ func (m *DeleteNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3811,6 +4669,7 @@ func (m *DeleteNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3818,6 +4677,7 @@ func (m *DeleteNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *DeleteNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -3834,20 +4694,20 @@ func (m *DeleteNodePoolRequest) GetName() string {
 
 // ListNodePoolsRequest lists the node pool(s) for a cluster.
 type ListNodePoolsRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use parent instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The parent (project, location, cluster id) where the node pools will be listed.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The parent (project, location, cluster id) where the node pools will be
+	// listed. Specified in the format 'projects/*/locations/*/clusters/*'.
 	Parent               string   `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -3858,7 +4718,7 @@ func (m *ListNodePoolsRequest) Reset()         { *m = ListNodePoolsRequest{} }
 func (m *ListNodePoolsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListNodePoolsRequest) ProtoMessage()    {}
 func (*ListNodePoolsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{38}
+	return fileDescriptor_339d8120448ec82b, []int{43}
 }
 
 func (m *ListNodePoolsRequest) XXX_Unmarshal(b []byte) error {
@@ -3879,6 +4739,7 @@ func (m *ListNodePoolsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_ListNodePoolsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3886,6 +4747,7 @@ func (m *ListNodePoolsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3893,6 +4755,7 @@ func (m *ListNodePoolsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *ListNodePoolsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3909,23 +4772,24 @@ func (m *ListNodePoolsRequest) GetParent() string {
 
 // GetNodePoolRequest retrieves a node pool for a cluster.
 type GetNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node pool to get.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// get. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
 	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -3936,7 +4800,7 @@ func (m *GetNodePoolRequest) Reset()         { *m = GetNodePoolRequest{} }
 func (m *GetNodePoolRequest) String() string { return proto.CompactTextString(m) }
 func (*GetNodePoolRequest) ProtoMessage()    {}
 func (*GetNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{39}
+	return fileDescriptor_339d8120448ec82b, []int{44}
 }
 
 func (m *GetNodePoolRequest) XXX_Unmarshal(b []byte) error {
@@ -3957,6 +4821,7 @@ func (m *GetNodePoolRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetNodePoolRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -3964,6 +4829,7 @@ func (m *GetNodePoolRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -3971,6 +4837,7 @@ func (m *GetNodePoolRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -3978,6 +4845,7 @@ func (m *GetNodePoolRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4015,27 +4883,30 @@ type NodePool struct {
 	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
 	// [Output only] Server-defined URL for the resource.
 	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
-	// [Output only] The version of the Kubernetes of this node.
+	// The version of the Kubernetes of this node.
 	Version string `protobuf:"bytes,101,opt,name=version,proto3" json:"version,omitempty"`
-	// [Output only] The resource URLs of [instance
-	// groups](/compute/docs/instance-groups/) associated with this
-	// node pool.
+	// [Output only] The resource URLs of the [managed instance
+	// groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
+	// associated with this node pool.
 	InstanceGroupUrls []string `protobuf:"bytes,102,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
 	// [Output only] The status of the nodes in this pool instance.
 	Status NodePool_Status `protobuf:"varint,103,opt,name=status,proto3,enum=google.container.v1alpha1.NodePool_Status" json:"status,omitempty"`
 	// [Output only] Additional information about the current status of this
 	// node pool instance, if available.
-	StatusMessage        string   `protobuf:"bytes,104,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	// Deprecated, use the field conditions instead.
+	StatusMessage string `protobuf:"bytes,104,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // Deprecated: Do not use.
+	// Which conditions caused the current node pool state.
+	Conditions           []*StatusCondition `protobuf:"bytes,105,rep,name=conditions,proto3" json:"conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *NodePool) Reset()         { *m = NodePool{} }
 func (m *NodePool) String() string { return proto.CompactTextString(m) }
 func (*NodePool) ProtoMessage()    {}
 func (*NodePool) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{40}
+	return fileDescriptor_339d8120448ec82b, []int{45}
 }
 
 func (m *NodePool) XXX_Unmarshal(b []byte) error {
@@ -4119,6 +4990,7 @@ func (m *NodePool) GetStatus() NodePool_Status {
 	return NodePool_STATUS_UNSPECIFIED
 }
 
+// Deprecated: Do not use.
 func (m *NodePool) GetStatusMessage() string {
 	if m != nil {
 		return m.StatusMessage
@@ -4126,6 +4998,13 @@ func (m *NodePool) GetStatusMessage() string {
 	return ""
 }
 
+func (m *NodePool) GetConditions() []*StatusCondition {
+	if m != nil {
+		return m.Conditions
+	}
+	return nil
+}
+
 // NodeManagement defines the set of node management services turned on for the
 // node pool.
 type NodeManagement struct {
@@ -4144,7 +5023,7 @@ func (m *NodeManagement) Reset()         { *m = NodeManagement{} }
 func (m *NodeManagement) String() string { return proto.CompactTextString(m) }
 func (*NodeManagement) ProtoMessage()    {}
 func (*NodeManagement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{41}
+	return fileDescriptor_339d8120448ec82b, []int{46}
 }
 
 func (m *NodeManagement) XXX_Unmarshal(b []byte) error {
@@ -4205,7 +5084,7 @@ func (m *AutoUpgradeOptions) Reset()         { *m = AutoUpgradeOptions{} }
 func (m *AutoUpgradeOptions) String() string { return proto.CompactTextString(m) }
 func (*AutoUpgradeOptions) ProtoMessage()    {}
 func (*AutoUpgradeOptions) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{42}
+	return fileDescriptor_339d8120448ec82b, []int{47}
 }
 
 func (m *AutoUpgradeOptions) XXX_Unmarshal(b []byte) error {
@@ -4253,7 +5132,7 @@ func (m *MaintenancePolicy) Reset()         { *m = MaintenancePolicy{} }
 func (m *MaintenancePolicy) String() string { return proto.CompactTextString(m) }
 func (*MaintenancePolicy) ProtoMessage()    {}
 func (*MaintenancePolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{43}
+	return fileDescriptor_339d8120448ec82b, []int{48}
 }
 
 func (m *MaintenancePolicy) XXX_Unmarshal(b []byte) error {
@@ -4298,7 +5177,7 @@ func (m *MaintenanceWindow) Reset()         { *m = MaintenanceWindow{} }
 func (m *MaintenanceWindow) String() string { return proto.CompactTextString(m) }
 func (*MaintenanceWindow) ProtoMessage()    {}
 func (*MaintenanceWindow) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{44}
+	return fileDescriptor_339d8120448ec82b, []int{49}
 }
 
 func (m *MaintenanceWindow) XXX_Unmarshal(b []byte) error {
@@ -4415,7 +5294,7 @@ func (m *DailyMaintenanceWindow) Reset()         { *m = DailyMaintenanceWindow{}
 func (m *DailyMaintenanceWindow) String() string { return proto.CompactTextString(m) }
 func (*DailyMaintenanceWindow) ProtoMessage()    {}
 func (*DailyMaintenanceWindow) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{45}
+	return fileDescriptor_339d8120448ec82b, []int{50}
 }
 
 func (m *DailyMaintenanceWindow) XXX_Unmarshal(b []byte) error {
@@ -4453,21 +5332,21 @@ func (m *DailyMaintenanceWindow) GetDuration() string {
 // SetNodePoolManagementRequest sets the node management properties of a node
 // pool.
 type SetNodePoolManagementRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to update.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// NodeManagement configuration for the node pool.
 	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
 	// The name (project, location, cluster, node pool id) of the node pool to set
@@ -4483,7 +5362,7 @@ func (m *SetNodePoolManagementRequest) Reset()         { *m = SetNodePoolManagem
 func (m *SetNodePoolManagementRequest) String() string { return proto.CompactTextString(m) }
 func (*SetNodePoolManagementRequest) ProtoMessage()    {}
 func (*SetNodePoolManagementRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{46}
+	return fileDescriptor_339d8120448ec82b, []int{51}
 }
 
 func (m *SetNodePoolManagementRequest) XXX_Unmarshal(b []byte) error {
@@ -4504,6 +5383,7 @@ func (m *SetNodePoolManagementRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolManagementRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4511,6 +5391,7 @@ func (m *SetNodePoolManagementRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4518,6 +5399,7 @@ func (m *SetNodePoolManagementRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4525,6 +5407,7 @@ func (m *SetNodePoolManagementRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolManagementRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4549,20 +5432,20 @@ func (m *SetNodePoolManagementRequest) GetName() string {
 // SetNodePoolSizeRequest sets the size a node
 // pool.
 type SetNodePoolSizeRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to update.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// The desired node count for the pool.
 	NodeCount int32 `protobuf:"varint,5,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
 	// The name (project, location, cluster, node pool id) of the node pool to set
@@ -4578,7 +5461,7 @@ func (m *SetNodePoolSizeRequest) Reset()         { *m = SetNodePoolSizeRequest{}
 func (m *SetNodePoolSizeRequest) String() string { return proto.CompactTextString(m) }
 func (*SetNodePoolSizeRequest) ProtoMessage()    {}
 func (*SetNodePoolSizeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{47}
+	return fileDescriptor_339d8120448ec82b, []int{52}
 }
 
 func (m *SetNodePoolSizeRequest) XXX_Unmarshal(b []byte) error {
@@ -4599,6 +5482,7 @@ func (m *SetNodePoolSizeRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNodePoolSizeRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4606,6 +5490,7 @@ func (m *SetNodePoolSizeRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4613,6 +5498,7 @@ func (m *SetNodePoolSizeRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4620,6 +5506,7 @@ func (m *SetNodePoolSizeRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNodePoolSizeRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4645,21 +5532,21 @@ func (m *SetNodePoolSizeRequest) GetName() string {
 // NodePool upgrade. This will be an no-op if the last upgrade successfully
 // completed.
 type RollbackNodePoolUpgradeRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to rollback.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to rollback.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to rollback.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to rollback.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, cluster, node pool id) of the node poll to
 	// rollback upgrade.
 	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
@@ -4673,7 +5560,7 @@ func (m *RollbackNodePoolUpgradeRequest) Reset()         { *m = RollbackNodePool
 func (m *RollbackNodePoolUpgradeRequest) String() string { return proto.CompactTextString(m) }
 func (*RollbackNodePoolUpgradeRequest) ProtoMessage()    {}
 func (*RollbackNodePoolUpgradeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{48}
+	return fileDescriptor_339d8120448ec82b, []int{53}
 }
 
 func (m *RollbackNodePoolUpgradeRequest) XXX_Unmarshal(b []byte) error {
@@ -4694,6 +5581,7 @@ func (m *RollbackNodePoolUpgradeRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_RollbackNodePoolUpgradeRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4701,6 +5589,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4708,6 +5597,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4715,6 +5605,7 @@ func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *RollbackNodePoolUpgradeRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
@@ -4742,7 +5633,7 @@ func (m *ListNodePoolsResponse) Reset()         { *m = ListNodePoolsResponse{} }
 func (m *ListNodePoolsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListNodePoolsResponse) ProtoMessage()    {}
 func (*ListNodePoolsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{49}
+	return fileDescriptor_339d8120448ec82b, []int{54}
 }
 
 func (m *ListNodePoolsResponse) XXX_Unmarshal(b []byte) error {
@@ -4770,6 +5661,120 @@ func (m *ListNodePoolsResponse) GetNodePools() []*NodePool {
 	return nil
 }
 
+// ClusterAutoscaling contains global, per-cluster information
+// required by Cluster Autoscaler to automatically adjust
+// the size of the cluster and create/delete
+// node pools based on the current needs.
+type ClusterAutoscaling struct {
+	// Enables automatic node pool creation and deletion.
+	EnableNodeAutoprovisioning bool `protobuf:"varint,1,opt,name=enable_node_autoprovisioning,json=enableNodeAutoprovisioning,proto3" json:"enable_node_autoprovisioning,omitempty"`
+	// Contains global constraints regarding minimum and maximum
+	// amount of resources in the cluster.
+	ResourceLimits       []*ResourceLimit `protobuf:"bytes,2,rep,name=resource_limits,json=resourceLimits,proto3" json:"resource_limits,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
+}
+
+func (m *ClusterAutoscaling) Reset()         { *m = ClusterAutoscaling{} }
+func (m *ClusterAutoscaling) String() string { return proto.CompactTextString(m) }
+func (*ClusterAutoscaling) ProtoMessage()    {}
+func (*ClusterAutoscaling) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{55}
+}
+
+func (m *ClusterAutoscaling) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ClusterAutoscaling.Unmarshal(m, b)
+}
+func (m *ClusterAutoscaling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ClusterAutoscaling.Marshal(b, m, deterministic)
+}
+func (m *ClusterAutoscaling) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ClusterAutoscaling.Merge(m, src)
+}
+func (m *ClusterAutoscaling) XXX_Size() int {
+	return xxx_messageInfo_ClusterAutoscaling.Size(m)
+}
+func (m *ClusterAutoscaling) XXX_DiscardUnknown() {
+	xxx_messageInfo_ClusterAutoscaling.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ClusterAutoscaling proto.InternalMessageInfo
+
+func (m *ClusterAutoscaling) GetEnableNodeAutoprovisioning() bool {
+	if m != nil {
+		return m.EnableNodeAutoprovisioning
+	}
+	return false
+}
+
+func (m *ClusterAutoscaling) GetResourceLimits() []*ResourceLimit {
+	if m != nil {
+		return m.ResourceLimits
+	}
+	return nil
+}
+
+// Contains information about amount of some resource in the cluster.
+// For memory, value should be in GB.
+type ResourceLimit struct {
+	// Resource name "cpu", "memory" or gpu-specific string.
+	ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
+	// Minimum amount of the resource in the cluster.
+	Minimum int64 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"`
+	// Maximum amount of the resource in the cluster.
+	Maximum              int64    `protobuf:"varint,3,opt,name=maximum,proto3" json:"maximum,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ResourceLimit) Reset()         { *m = ResourceLimit{} }
+func (m *ResourceLimit) String() string { return proto.CompactTextString(m) }
+func (*ResourceLimit) ProtoMessage()    {}
+func (*ResourceLimit) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{56}
+}
+
+func (m *ResourceLimit) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResourceLimit.Unmarshal(m, b)
+}
+func (m *ResourceLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResourceLimit.Marshal(b, m, deterministic)
+}
+func (m *ResourceLimit) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResourceLimit.Merge(m, src)
+}
+func (m *ResourceLimit) XXX_Size() int {
+	return xxx_messageInfo_ResourceLimit.Size(m)
+}
+func (m *ResourceLimit) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResourceLimit.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ResourceLimit proto.InternalMessageInfo
+
+func (m *ResourceLimit) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
+func (m *ResourceLimit) GetMinimum() int64 {
+	if m != nil {
+		return m.Minimum
+	}
+	return 0
+}
+
+func (m *ResourceLimit) GetMaximum() int64 {
+	if m != nil {
+		return m.Maximum
+	}
+	return 0
+}
+
 // NodePoolAutoscaling contains information required by cluster autoscaler to
 // adjust the size of the node pool to the current cluster usage.
 type NodePoolAutoscaling struct {
@@ -4780,7 +5785,9 @@ type NodePoolAutoscaling struct {
 	MinNodeCount int32 `protobuf:"varint,2,opt,name=min_node_count,json=minNodeCount,proto3" json:"min_node_count,omitempty"`
 	// Maximum number of nodes in the NodePool. Must be >= min_node_count. There
 	// has to enough quota to scale up the cluster.
-	MaxNodeCount         int32    `protobuf:"varint,3,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"`
+	MaxNodeCount int32 `protobuf:"varint,3,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"`
+	// Can this node pool be deleted automatically.
+	Autoprovisioned      bool     `protobuf:"varint,4,opt,name=autoprovisioned,proto3" json:"autoprovisioned,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -4790,7 +5797,7 @@ func (m *NodePoolAutoscaling) Reset()         { *m = NodePoolAutoscaling{} }
 func (m *NodePoolAutoscaling) String() string { return proto.CompactTextString(m) }
 func (*NodePoolAutoscaling) ProtoMessage()    {}
 func (*NodePoolAutoscaling) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{50}
+	return fileDescriptor_339d8120448ec82b, []int{57}
 }
 
 func (m *NodePoolAutoscaling) XXX_Unmarshal(b []byte) error {
@@ -4832,27 +5839,34 @@ func (m *NodePoolAutoscaling) GetMaxNodeCount() int32 {
 	return 0
 }
 
+func (m *NodePoolAutoscaling) GetAutoprovisioned() bool {
+	if m != nil {
+		return m.Autoprovisioned
+	}
+	return false
+}
+
 // SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
 // Engine cluster, which will in turn set them for Google Compute Engine
 // resources used by that cluster
 type SetLabelsRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The labels to set for that cluster.
 	ResourceLabels map[string]string `protobuf:"bytes,4,rep,name=resource_labels,json=resourceLabels,proto3" json:"resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 	// The fingerprint of the previous set of labels for this resource,
 	// used to detect conflicts. The fingerprint is initially generated by
-	// Container Engine and changes after every request to modify or update
+	// Kubernetes Engine and changes after every request to modify or update
 	// labels. You must always provide an up-to-date fingerprint hash when
 	// updating or changing labels. Make a <code>get()</code> request to the
 	// resource to get the latest fingerprint.
@@ -4869,7 +5883,7 @@ func (m *SetLabelsRequest) Reset()         { *m = SetLabelsRequest{} }
 func (m *SetLabelsRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLabelsRequest) ProtoMessage()    {}
 func (*SetLabelsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{51}
+	return fileDescriptor_339d8120448ec82b, []int{58}
 }
 
 func (m *SetLabelsRequest) XXX_Unmarshal(b []byte) error {
@@ -4890,6 +5904,7 @@ func (m *SetLabelsRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLabelsRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4897,6 +5912,7 @@ func (m *SetLabelsRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4904,6 +5920,7 @@ func (m *SetLabelsRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLabelsRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -4935,18 +5952,18 @@ func (m *SetLabelsRequest) GetName() string {
 // SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
 // a cluster.
 type SetLegacyAbacRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// Whether ABAC authorization will be enabled in the cluster.
 	Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
 	// The name (project, location, cluster id) of the cluster to set legacy abac.
@@ -4961,7 +5978,7 @@ func (m *SetLegacyAbacRequest) Reset()         { *m = SetLegacyAbacRequest{} }
 func (m *SetLegacyAbacRequest) String() string { return proto.CompactTextString(m) }
 func (*SetLegacyAbacRequest) ProtoMessage()    {}
 func (*SetLegacyAbacRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{52}
+	return fileDescriptor_339d8120448ec82b, []int{59}
 }
 
 func (m *SetLegacyAbacRequest) XXX_Unmarshal(b []byte) error {
@@ -4982,6 +5999,7 @@ func (m *SetLegacyAbacRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetLegacyAbacRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -4989,6 +6007,7 @@ func (m *SetLegacyAbacRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -4996,6 +6015,7 @@ func (m *SetLegacyAbacRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetLegacyAbacRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -5020,21 +6040,23 @@ func (m *SetLegacyAbacRequest) GetName() string {
 // StartIPRotationRequest creates a new IP for the cluster and then performs
 // a node upgrade on each node pool to point to the new IP.
 type StartIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name (project, location, cluster id) of the cluster to start IP rotation.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to start IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// Whether to rotate credentials during IP rotation.
+	RotateCredentials    bool     `protobuf:"varint,7,opt,name=rotate_credentials,json=rotateCredentials,proto3" json:"rotate_credentials,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -5044,7 +6066,7 @@ func (m *StartIPRotationRequest) Reset()         { *m = StartIPRotationRequest{}
 func (m *StartIPRotationRequest) String() string { return proto.CompactTextString(m) }
 func (*StartIPRotationRequest) ProtoMessage()    {}
 func (*StartIPRotationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{53}
+	return fileDescriptor_339d8120448ec82b, []int{60}
 }
 
 func (m *StartIPRotationRequest) XXX_Unmarshal(b []byte) error {
@@ -5065,6 +6087,7 @@ func (m *StartIPRotationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_StartIPRotationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -5072,6 +6095,7 @@ func (m *StartIPRotationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -5079,6 +6103,7 @@ func (m *StartIPRotationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *StartIPRotationRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -5093,22 +6118,29 @@ func (m *StartIPRotationRequest) GetName() string {
 	return ""
 }
 
+func (m *StartIPRotationRequest) GetRotateCredentials() bool {
+	if m != nil {
+		return m.RotateCredentials
+	}
+	return false
+}
+
 // CompleteIPRotationRequest moves the cluster master back into single-IP mode.
 type CompleteIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name (project, location, cluster id) of the cluster to complete IP rotation.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to complete IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
 	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -5119,7 +6151,7 @@ func (m *CompleteIPRotationRequest) Reset()         { *m = CompleteIPRotationReq
 func (m *CompleteIPRotationRequest) String() string { return proto.CompactTextString(m) }
 func (*CompleteIPRotationRequest) ProtoMessage()    {}
 func (*CompleteIPRotationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{54}
+	return fileDescriptor_339d8120448ec82b, []int{61}
 }
 
 func (m *CompleteIPRotationRequest) XXX_Unmarshal(b []byte) error {
@@ -5140,6 +6172,7 @@ func (m *CompleteIPRotationRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CompleteIPRotationRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -5147,6 +6180,7 @@ func (m *CompleteIPRotationRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -5154,6 +6188,7 @@ func (m *CompleteIPRotationRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CompleteIPRotationRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -5184,7 +6219,7 @@ func (m *AcceleratorConfig) Reset()         { *m = AcceleratorConfig{} }
 func (m *AcceleratorConfig) String() string { return proto.CompactTextString(m) }
 func (*AcceleratorConfig) ProtoMessage()    {}
 func (*AcceleratorConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{55}
+	return fileDescriptor_339d8120448ec82b, []int{62}
 }
 
 func (m *AcceleratorConfig) XXX_Unmarshal(b []byte) error {
@@ -5221,18 +6256,18 @@ func (m *AcceleratorConfig) GetAcceleratorType() string {
 
 // SetNetworkPolicyRequest enables/disables network policy for a cluster.
 type SetNetworkPolicyRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// Configuration options for the NetworkPolicy feature.
 	NetworkPolicy *NetworkPolicy `protobuf:"bytes,4,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
 	// The name (project, location, cluster id) of the cluster to set networking
@@ -5248,7 +6283,7 @@ func (m *SetNetworkPolicyRequest) Reset()         { *m = SetNetworkPolicyRequest
 func (m *SetNetworkPolicyRequest) String() string { return proto.CompactTextString(m) }
 func (*SetNetworkPolicyRequest) ProtoMessage()    {}
 func (*SetNetworkPolicyRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{56}
+	return fileDescriptor_339d8120448ec82b, []int{63}
 }
 
 func (m *SetNetworkPolicyRequest) XXX_Unmarshal(b []byte) error {
@@ -5269,6 +6304,7 @@ func (m *SetNetworkPolicyRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_SetNetworkPolicyRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -5276,6 +6312,7 @@ func (m *SetNetworkPolicyRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -5283,6 +6320,7 @@ func (m *SetNetworkPolicyRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *SetNetworkPolicyRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -5331,7 +6369,7 @@ func (m *SetMaintenancePolicyRequest) Reset()         { *m = SetMaintenancePolic
 func (m *SetMaintenancePolicyRequest) String() string { return proto.CompactTextString(m) }
 func (*SetMaintenancePolicyRequest) ProtoMessage()    {}
 func (*SetMaintenancePolicyRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_339d8120448ec82b, []int{57}
+	return fileDescriptor_339d8120448ec82b, []int{64}
 }
 
 func (m *SetMaintenancePolicyRequest) XXX_Unmarshal(b []byte) error {
@@ -5387,14 +6425,288 @@ func (m *SetMaintenancePolicyRequest) GetName() string {
 	return ""
 }
 
+// ListUsableSubnetworksRequest requests the list of usable subnetworks.
+type ListUsableSubnetworksRequest struct {
+	// The parent project where subnetworks are usable.
+	// Specified in the format 'projects/*'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Filtering currently only supports equality on the networkProjectId and must
+	// be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
+	// is the project which owns the listed subnetworks. This defaults to the
+	// parent project ID.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// The max number of results per page that should be returned. If the number
+	// of available results is larger than `page_size`, a `next_page_token` is
+	// returned which can be used to get the next page of results in subsequent
+	// requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
+	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Specifies a page token to use. Set this to the next_page_token returned by
+	// previous list requests to get the next page of results.
+	PageToken            string   `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListUsableSubnetworksRequest) Reset()         { *m = ListUsableSubnetworksRequest{} }
+func (m *ListUsableSubnetworksRequest) String() string { return proto.CompactTextString(m) }
+func (*ListUsableSubnetworksRequest) ProtoMessage()    {}
+func (*ListUsableSubnetworksRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{65}
+}
+
+func (m *ListUsableSubnetworksRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Unmarshal(m, b)
+}
+func (m *ListUsableSubnetworksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Marshal(b, m, deterministic)
+}
+func (m *ListUsableSubnetworksRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListUsableSubnetworksRequest.Merge(m, src)
+}
+func (m *ListUsableSubnetworksRequest) XXX_Size() int {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Size(m)
+}
+func (m *ListUsableSubnetworksRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListUsableSubnetworksRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListUsableSubnetworksRequest proto.InternalMessageInfo
+
+func (m *ListUsableSubnetworksRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListUsableSubnetworksRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListUsableSubnetworksRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListUsableSubnetworksRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+// ListUsableSubnetworksResponse is the response of
+// ListUsableSubnetworksRequest.
+type ListUsableSubnetworksResponse struct {
+	// A list of usable subnetworks in the specified network project.
+	Subnetworks []*UsableSubnetwork `protobuf:"bytes,1,rep,name=subnetworks,proto3" json:"subnetworks,omitempty"`
+	// This token allows you to get the next page of results for list requests.
+	// If the number of results is larger than `page_size`, use the
+	// `next_page_token` as a value for the query parameter `page_token` in the
+	// next request. The value will become empty when there are no more pages.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListUsableSubnetworksResponse) Reset()         { *m = ListUsableSubnetworksResponse{} }
+func (m *ListUsableSubnetworksResponse) String() string { return proto.CompactTextString(m) }
+func (*ListUsableSubnetworksResponse) ProtoMessage()    {}
+func (*ListUsableSubnetworksResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{66}
+}
+
+func (m *ListUsableSubnetworksResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Unmarshal(m, b)
+}
+func (m *ListUsableSubnetworksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Marshal(b, m, deterministic)
+}
+func (m *ListUsableSubnetworksResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListUsableSubnetworksResponse.Merge(m, src)
+}
+func (m *ListUsableSubnetworksResponse) XXX_Size() int {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Size(m)
+}
+func (m *ListUsableSubnetworksResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListUsableSubnetworksResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListUsableSubnetworksResponse proto.InternalMessageInfo
+
+func (m *ListUsableSubnetworksResponse) GetSubnetworks() []*UsableSubnetwork {
+	if m != nil {
+		return m.Subnetworks
+	}
+	return nil
+}
+
+func (m *ListUsableSubnetworksResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// Secondary IP range of a usable subnetwork.
+type UsableSubnetworkSecondaryRange struct {
+	// The name associated with this subnetwork secondary range, used when adding
+	// an alias IP range to a VM instance.
+	RangeName string `protobuf:"bytes,1,opt,name=range_name,json=rangeName,proto3" json:"range_name,omitempty"`
+	// The range of IP addresses belonging to this subnetwork secondary range.
+	IpCidrRange string `protobuf:"bytes,2,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"`
+	// This field is to determine the status of the secondary range programmably.
+	Status               UsableSubnetworkSecondaryRange_Status `protobuf:"varint,3,opt,name=status,proto3,enum=google.container.v1alpha1.UsableSubnetworkSecondaryRange_Status" json:"status,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
+	XXX_unrecognized     []byte                                `json:"-"`
+	XXX_sizecache        int32                                 `json:"-"`
+}
+
+func (m *UsableSubnetworkSecondaryRange) Reset()         { *m = UsableSubnetworkSecondaryRange{} }
+func (m *UsableSubnetworkSecondaryRange) String() string { return proto.CompactTextString(m) }
+func (*UsableSubnetworkSecondaryRange) ProtoMessage()    {}
+func (*UsableSubnetworkSecondaryRange) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{67}
+}
+
+func (m *UsableSubnetworkSecondaryRange) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Unmarshal(m, b)
+}
+func (m *UsableSubnetworkSecondaryRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Marshal(b, m, deterministic)
+}
+func (m *UsableSubnetworkSecondaryRange) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UsableSubnetworkSecondaryRange.Merge(m, src)
+}
+func (m *UsableSubnetworkSecondaryRange) XXX_Size() int {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Size(m)
+}
+func (m *UsableSubnetworkSecondaryRange) XXX_DiscardUnknown() {
+	xxx_messageInfo_UsableSubnetworkSecondaryRange.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UsableSubnetworkSecondaryRange proto.InternalMessageInfo
+
+func (m *UsableSubnetworkSecondaryRange) GetRangeName() string {
+	if m != nil {
+		return m.RangeName
+	}
+	return ""
+}
+
+func (m *UsableSubnetworkSecondaryRange) GetIpCidrRange() string {
+	if m != nil {
+		return m.IpCidrRange
+	}
+	return ""
+}
+
+func (m *UsableSubnetworkSecondaryRange) GetStatus() UsableSubnetworkSecondaryRange_Status {
+	if m != nil {
+		return m.Status
+	}
+	return UsableSubnetworkSecondaryRange_UNKNOWN
+}
+
+// UsableSubnetwork resource returns the subnetwork name, its associated network
+// and the primary CIDR range.
+type UsableSubnetwork struct {
+	// Subnetwork Name.
+	Subnetwork string `protobuf:"bytes,1,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
+	// Network Name.
+	Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`
+	// The range of internal addresses that are owned by this subnetwork.
+	IpCidrRange string `protobuf:"bytes,3,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"`
+	// Secondary IP ranges.
+	SecondaryIpRanges []*UsableSubnetworkSecondaryRange `protobuf:"bytes,4,rep,name=secondary_ip_ranges,json=secondaryIpRanges,proto3" json:"secondary_ip_ranges,omitempty"`
+	// A human readable status message representing the reasons for cases where
+	// the caller cannot use the secondary ranges under the subnet. For example if
+	// the secondary_ip_ranges is empty due to a permission issue, an insufficient
+	// permission message will be given by status_message.
+	StatusMessage        string   `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *UsableSubnetwork) Reset()         { *m = UsableSubnetwork{} }
+func (m *UsableSubnetwork) String() string { return proto.CompactTextString(m) }
+func (*UsableSubnetwork) ProtoMessage()    {}
+func (*UsableSubnetwork) Descriptor() ([]byte, []int) {
+	return fileDescriptor_339d8120448ec82b, []int{68}
+}
+
+func (m *UsableSubnetwork) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UsableSubnetwork.Unmarshal(m, b)
+}
+func (m *UsableSubnetwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UsableSubnetwork.Marshal(b, m, deterministic)
+}
+func (m *UsableSubnetwork) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UsableSubnetwork.Merge(m, src)
+}
+func (m *UsableSubnetwork) XXX_Size() int {
+	return xxx_messageInfo_UsableSubnetwork.Size(m)
+}
+func (m *UsableSubnetwork) XXX_DiscardUnknown() {
+	xxx_messageInfo_UsableSubnetwork.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UsableSubnetwork proto.InternalMessageInfo
+
+func (m *UsableSubnetwork) GetSubnetwork() string {
+	if m != nil {
+		return m.Subnetwork
+	}
+	return ""
+}
+
+func (m *UsableSubnetwork) GetNetwork() string {
+	if m != nil {
+		return m.Network
+	}
+	return ""
+}
+
+func (m *UsableSubnetwork) GetIpCidrRange() string {
+	if m != nil {
+		return m.IpCidrRange
+	}
+	return ""
+}
+
+func (m *UsableSubnetwork) GetSecondaryIpRanges() []*UsableSubnetworkSecondaryRange {
+	if m != nil {
+		return m.SecondaryIpRanges
+	}
+	return nil
+}
+
+func (m *UsableSubnetwork) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterEnum("google.container.v1alpha1.NodeTaint_Effect", NodeTaint_Effect_name, NodeTaint_Effect_value)
 	proto.RegisterEnum("google.container.v1alpha1.NetworkPolicy_Provider", NetworkPolicy_Provider_name, NetworkPolicy_Provider_value)
+	proto.RegisterEnum("google.container.v1alpha1.StatusCondition_Code", StatusCondition_Code_name, StatusCondition_Code_value)
 	proto.RegisterEnum("google.container.v1alpha1.Cluster_Status", Cluster_Status_name, Cluster_Status_value)
+	proto.RegisterEnum("google.container.v1alpha1.Cluster_NodeSchedulingStrategy", Cluster_NodeSchedulingStrategy_name, Cluster_NodeSchedulingStrategy_value)
 	proto.RegisterEnum("google.container.v1alpha1.Operation_Status", Operation_Status_name, Operation_Status_value)
 	proto.RegisterEnum("google.container.v1alpha1.Operation_Type", Operation_Type_name, Operation_Type_value)
 	proto.RegisterEnum("google.container.v1alpha1.SetMasterAuthRequest_Action", SetMasterAuthRequest_Action_name, SetMasterAuthRequest_Action_value)
 	proto.RegisterEnum("google.container.v1alpha1.NodePool_Status", NodePool_Status_name, NodePool_Status_value)
+	proto.RegisterEnum("google.container.v1alpha1.UsableSubnetworkSecondaryRange_Status", UsableSubnetworkSecondaryRange_Status_name, UsableSubnetworkSecondaryRange_Status_value)
 	proto.RegisterType((*NodeConfig)(nil), "google.container.v1alpha1.NodeConfig")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1alpha1.NodeConfig.LabelsEntry")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1alpha1.NodeConfig.MetadataEntry")
@@ -5406,14 +6718,20 @@ func init() {
 	proto.RegisterType((*HorizontalPodAutoscaling)(nil), "google.container.v1alpha1.HorizontalPodAutoscaling")
 	proto.RegisterType((*KubernetesDashboard)(nil), "google.container.v1alpha1.KubernetesDashboard")
 	proto.RegisterType((*NetworkPolicyConfig)(nil), "google.container.v1alpha1.NetworkPolicyConfig")
+	proto.RegisterType((*PrivateClusterConfig)(nil), "google.container.v1alpha1.PrivateClusterConfig")
 	proto.RegisterType((*MasterAuthorizedNetworksConfig)(nil), "google.container.v1alpha1.MasterAuthorizedNetworksConfig")
 	proto.RegisterType((*MasterAuthorizedNetworksConfig_CidrBlock)(nil), "google.container.v1alpha1.MasterAuthorizedNetworksConfig.CidrBlock")
 	proto.RegisterType((*NetworkPolicy)(nil), "google.container.v1alpha1.NetworkPolicy")
 	proto.RegisterType((*IPAllocationPolicy)(nil), "google.container.v1alpha1.IPAllocationPolicy")
+	proto.RegisterType((*BinaryAuthorization)(nil), "google.container.v1alpha1.BinaryAuthorization")
 	proto.RegisterType((*PodSecurityPolicyConfig)(nil), "google.container.v1alpha1.PodSecurityPolicyConfig")
+	proto.RegisterType((*ManagedPodIdentityConfig)(nil), "google.container.v1alpha1.ManagedPodIdentityConfig")
+	proto.RegisterType((*StatusCondition)(nil), "google.container.v1alpha1.StatusCondition")
 	proto.RegisterType((*Cluster)(nil), "google.container.v1alpha1.Cluster")
 	proto.RegisterType((*ClusterUpdate)(nil), "google.container.v1alpha1.ClusterUpdate")
 	proto.RegisterType((*Operation)(nil), "google.container.v1alpha1.Operation")
+	proto.RegisterType((*OperationProgress)(nil), "google.container.v1alpha1.OperationProgress")
+	proto.RegisterType((*OperationProgress_Metric)(nil), "google.container.v1alpha1.OperationProgress.Metric")
 	proto.RegisterType((*CreateClusterRequest)(nil), "google.container.v1alpha1.CreateClusterRequest")
 	proto.RegisterType((*GetClusterRequest)(nil), "google.container.v1alpha1.GetClusterRequest")
 	proto.RegisterType((*UpdateClusterRequest)(nil), "google.container.v1alpha1.UpdateClusterRequest")
@@ -5448,6 +6766,8 @@ func init() {
 	proto.RegisterType((*SetNodePoolSizeRequest)(nil), "google.container.v1alpha1.SetNodePoolSizeRequest")
 	proto.RegisterType((*RollbackNodePoolUpgradeRequest)(nil), "google.container.v1alpha1.RollbackNodePoolUpgradeRequest")
 	proto.RegisterType((*ListNodePoolsResponse)(nil), "google.container.v1alpha1.ListNodePoolsResponse")
+	proto.RegisterType((*ClusterAutoscaling)(nil), "google.container.v1alpha1.ClusterAutoscaling")
+	proto.RegisterType((*ResourceLimit)(nil), "google.container.v1alpha1.ResourceLimit")
 	proto.RegisterType((*NodePoolAutoscaling)(nil), "google.container.v1alpha1.NodePoolAutoscaling")
 	proto.RegisterType((*SetLabelsRequest)(nil), "google.container.v1alpha1.SetLabelsRequest")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1alpha1.SetLabelsRequest.ResourceLabelsEntry")
@@ -5457,6 +6777,10 @@ func init() {
 	proto.RegisterType((*AcceleratorConfig)(nil), "google.container.v1alpha1.AcceleratorConfig")
 	proto.RegisterType((*SetNetworkPolicyRequest)(nil), "google.container.v1alpha1.SetNetworkPolicyRequest")
 	proto.RegisterType((*SetMaintenancePolicyRequest)(nil), "google.container.v1alpha1.SetMaintenancePolicyRequest")
+	proto.RegisterType((*ListUsableSubnetworksRequest)(nil), "google.container.v1alpha1.ListUsableSubnetworksRequest")
+	proto.RegisterType((*ListUsableSubnetworksResponse)(nil), "google.container.v1alpha1.ListUsableSubnetworksResponse")
+	proto.RegisterType((*UsableSubnetworkSecondaryRange)(nil), "google.container.v1alpha1.UsableSubnetworkSecondaryRange")
+	proto.RegisterType((*UsableSubnetwork)(nil), "google.container.v1alpha1.UsableSubnetwork")
 }
 
 func init() {
@@ -5464,307 +6788,413 @@ func init() {
 }
 
 var fileDescriptor_339d8120448ec82b = []byte{
-	// 4786 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x5d, 0x6c, 0x23, 0xd7,
-	0x75, 0x7f, 0x46, 0xa2, 0x28, 0xf1, 0x90, 0xa2, 0xa8, 0xab, 0x2f, 0x2e, 0xed, 0xb5, 0xd7, 0x13,
-	0xfb, 0xef, 0xf5, 0x6e, 0x2c, 0x79, 0xd7, 0x1b, 0xdb, 0xf1, 0x37, 0x45, 0xcd, 0x6a, 0x99, 0x95,
-	0x48, 0x66, 0x28, 0xed, 0xc6, 0x1f, 0xc0, 0xfc, 0x47, 0x9c, 0x2b, 0x6a, 0x22, 0x72, 0x66, 0x3c,
-	0x33, 0x5c, 0x5b, 0xeb, 0x3a, 0x6d, 0x52, 0xf7, 0xad, 0x6f, 0x01, 0x0a, 0xb4, 0x28, 0x10, 0xc0,
-	0xe8, 0x57, 0x92, 0x02, 0x2d, 0x5a, 0x14, 0x48, 0x8b, 0x36, 0x45, 0xdb, 0x97, 0xa2, 0x28, 0xda,
-	0x22, 0x79, 0x2e, 0xd0, 0x02, 0x7d, 0xe8, 0x5b, 0x91, 0xc7, 0x3e, 0xb4, 0x28, 0xee, 0xc7, 0x0c,
-	0xef, 0x90, 0xc3, 0x21, 0x25, 0x45, 0x6b, 0xbf, 0x69, 0xce, 0xbd, 0xe7, 0xde, 0xdf, 0x39, 0x73,
-	0xee, 0x39, 0xe7, 0x9e, 0x33, 0x14, 0x6c, 0xb4, 0x6d, 0xbb, 0xdd, 0xc1, 0x1b, 0x2d, 0xdb, 0xf2,
-	0x75, 0xd3, 0xc2, 0xee, 0xc6, 0x83, 0x1b, 0x7a, 0xc7, 0x39, 0xd2, 0x6f, 0x6c, 0xb4, 0x3a, 0x3d,
-	0xcf, 0xc7, 0xae, 0xe6, 0x61, 0xf7, 0x81, 0xd9, 0xc2, 0xeb, 0x8e, 0x6b, 0xfb, 0x36, 0xba, 0xc4,
-	0x18, 0xd6, 0x43, 0x86, 0xf5, 0x80, 0xa1, 0xf4, 0x38, 0x5f, 0x4b, 0x77, 0xcc, 0x0d, 0xdd, 0xb2,
-	0x6c, 0x5f, 0xf7, 0x4d, 0xdb, 0xf2, 0x18, 0x63, 0xe9, 0x31, 0x3e, 0x4a, 0x9f, 0x0e, 0x7a, 0x87,
-	0x1b, 0xb8, 0xeb, 0xf8, 0x27, 0x6c, 0x50, 0xfe, 0xcf, 0x19, 0x80, 0x9a, 0x6d, 0xe0, 0x8a, 0x6d,
-	0x1d, 0x9a, 0x6d, 0xf4, 0x14, 0xe4, 0xba, 0x7a, 0xeb, 0xc8, 0xb4, 0xb0, 0xe6, 0x9f, 0x38, 0xb8,
-	0x28, 0x5d, 0x91, 0xae, 0x66, 0xd4, 0x2c, 0xa7, 0xed, 0x9d, 0x38, 0x18, 0x5d, 0x81, 0x9c, 0x61,
-	0x7a, 0xc7, 0x9a, 0x67, 0x3e, 0xc4, 0x5a, 0xfb, 0xa0, 0x38, 0x75, 0x45, 0xba, 0x3a, 0xa3, 0x02,
-	0xa1, 0x35, 0xcd, 0x87, 0x78, 0xfb, 0x80, 0x2c, 0x62, 0xeb, 0x3d, 0xff, 0x48, 0xf3, 0x5a, 0xb6,
-	0x83, 0xbd, 0xe2, 0xf4, 0x95, 0x69, 0xb2, 0x08, 0xa5, 0x35, 0x29, 0x09, 0x3d, 0x0b, 0x0b, 0x5c,
-	0x3a, 0x4d, 0x6f, 0xb5, 0xec, 0x9e, 0xe5, 0x17, 0x33, 0x74, 0xab, 0x3c, 0x27, 0x97, 0x19, 0x15,
-	0xd5, 0x61, 0xae, 0x8b, 0x7d, 0xdd, 0xd0, 0x7d, 0xbd, 0x98, 0xba, 0x32, 0x7d, 0x35, 0x7b, 0xf3,
-	0xc5, 0xf5, 0x91, 0x8a, 0x58, 0xef, 0x4b, 0xb2, 0xbe, 0xcb, 0xb9, 0x14, 0xcb, 0x77, 0x4f, 0xd4,
-	0x70, 0x11, 0x74, 0x19, 0xc0, 0xec, 0xea, 0x6d, 0x2e, 0xdf, 0x0c, 0xdd, 0x34, 0x43, 0x29, 0x54,
-	0xba, 0x2a, 0xa4, 0x3b, 0xfa, 0x01, 0xee, 0x78, 0xc5, 0x34, 0xdd, 0xed, 0xc6, 0x64, 0xbb, 0xed,
-	0x50, 0x1e, 0xb6, 0x17, 0x5f, 0x00, 0xfd, 0x3f, 0x58, 0xe8, 0xd8, 0x2d, 0xbd, 0xa3, 0x79, 0x9e,
-	0xa1, 0x31, 0x19, 0x67, 0xa9, 0xae, 0xe6, 0x29, 0xb9, 0xe9, 0x19, 0x15, 0x2a, 0x22, 0x82, 0x94,
-	0xaf, 0xb7, 0xbd, 0xe2, 0x1c, 0x55, 0x13, 0xfd, 0x1b, 0x5d, 0x81, 0xac, 0xe3, 0x62, 0xf2, 0xa2,
-	0xcc, 0x83, 0x0e, 0x2e, 0xc2, 0x15, 0xe9, 0xea, 0x9c, 0x2a, 0x92, 0x50, 0x03, 0x72, 0x7a, 0xab,
-	0x85, 0x3b, 0xd8, 0xd5, 0x7d, 0xdb, 0xf5, 0x8a, 0x59, 0x0a, 0xf7, 0x2b, 0x09, 0x70, 0xcb, 0xfd,
-	0xe9, 0x0c, 0xb5, 0x1a, 0x59, 0x01, 0x5d, 0x85, 0x42, 0xd7, 0xb4, 0xb4, 0x96, 0xd3, 0xd3, 0x9c,
-	0x8e, 0xee, 0x1f, 0xda, 0x6e, 0xb7, 0x38, 0xcf, 0x5e, 0x4a, 0xd7, 0xb4, 0x2a, 0x4e, 0xaf, 0xc1,
-	0xa9, 0xe8, 0x75, 0x48, 0x93, 0xc5, 0x7d, 0xaf, 0xb8, 0x40, 0x77, 0x7d, 0x7a, 0x8c, 0x92, 0xf6,
-	0xc8, 0x64, 0x95, 0xf3, 0x94, 0x5e, 0x83, 0xf9, 0xc8, 0xcb, 0x41, 0x05, 0x98, 0x3e, 0xc6, 0x27,
-	0xdc, 0xd6, 0xc8, 0x9f, 0x68, 0x19, 0x66, 0x1e, 0xe8, 0x9d, 0x1e, 0xa6, 0xc6, 0x95, 0x51, 0xd9,
-	0xc3, 0xab, 0x53, 0xaf, 0x48, 0xa5, 0xaf, 0x41, 0x56, 0xd0, 0xf5, 0x69, 0x58, 0xe5, 0x9f, 0x49,
-	0x90, 0x09, 0xd1, 0x4c, 0xca, 0x89, 0x2a, 0x90, 0xc6, 0x87, 0x87, 0xb8, 0xe5, 0x17, 0xa7, 0xaf,
-	0x48, 0x57, 0xf3, 0x37, 0xaf, 0x4f, 0x22, 0xeb, 0xba, 0x42, 0x59, 0x54, 0xce, 0x2a, 0xbf, 0x03,
-	0x69, 0x46, 0x41, 0xab, 0x80, 0x94, 0xdb, 0xb7, 0x95, 0xca, 0x9e, 0xb6, 0x5f, 0x6b, 0x36, 0x94,
-	0x4a, 0xf5, 0x76, 0x55, 0xd9, 0x2a, 0x7c, 0x09, 0x2d, 0x40, 0xb6, 0x56, 0xd7, 0x9a, 0x95, 0x3b,
-	0xca, 0xd6, 0xfe, 0x8e, 0x52, 0x90, 0xc8, 0xc4, 0x86, 0xaa, 0xdc, 0x56, 0x54, 0x4d, 0xa4, 0x4f,
-	0xa1, 0x3c, 0x40, 0xad, 0xae, 0x29, 0xdf, 0x54, 0x2a, 0xfb, 0x7b, 0x4a, 0x61, 0x5a, 0xfe, 0xf1,
-	0x14, 0xc0, 0xae, 0x4e, 0xfc, 0x45, 0xb9, 0xe7, 0x1f, 0xa1, 0x12, 0xcc, 0xf5, 0x3c, 0xec, 0x5a,
-	0x7a, 0x37, 0x38, 0xbc, 0xe1, 0x33, 0x19, 0x73, 0x74, 0xcf, 0xfb, 0xd0, 0x76, 0x0d, 0x2e, 0x63,
-	0xf8, 0x8c, 0x2c, 0xb8, 0xd4, 0xea, 0x98, 0xd8, 0xf2, 0xb5, 0x16, 0x76, 0x7d, 0xf3, 0xd0, 0x6c,
-	0xe9, 0x3e, 0xd6, 0x5a, 0xd4, 0x4e, 0xa8, 0xe4, 0xd9, 0x9b, 0x37, 0x13, 0x24, 0xaf, 0x50, 0xde,
-	0x4a, 0x9f, 0x95, 0x5b, 0xd8, 0x5a, 0x2b, 0x7e, 0x00, 0xdd, 0x82, 0xd5, 0xc0, 0xcd, 0xb5, 0x74,
-	0x71, 0xcf, 0xa2, 0x41, 0x91, 0x2d, 0xf3, 0xd1, 0x8a, 0x2e, 0xf0, 0xa2, 0xe7, 0x01, 0x0d, 0xa3,
-	0x2c, 0x62, 0xca, 0xb1, 0x38, 0xb4, 0x15, 0x39, 0xeb, 0x7c, 0x3a, 0x79, 0xd5, 0x87, 0xec, 0xac,
-	0x33, 0xca, 0x5d, 0x7c, 0x22, 0x37, 0x61, 0x6d, 0x04, 0x6e, 0xf4, 0x0a, 0x14, 0x4d, 0xcf, 0xeb,
-	0x61, 0x2d, 0x66, 0x3b, 0x89, 0x1e, 0xc6, 0x55, 0x3a, 0x3e, 0xc4, 0x2f, 0xff, 0xde, 0x34, 0xe4,
-	0xca, 0x86, 0x61, 0x5b, 0x1e, 0x5f, 0xea, 0x7d, 0x58, 0x3a, 0xf2, 0x7d, 0x47, 0xeb, 0xd8, 0xba,
-	0xa1, 0x1d, 0xe8, 0x1d, 0xdd, 0x6a, 0x99, 0x56, 0x9b, 0xae, 0x92, 0x7c, 0x5e, 0xef, 0xf8, 0xbe,
-	0xb3, 0x63, 0xeb, 0xc6, 0x66, 0xc0, 0xa3, 0x2e, 0x1e, 0x0d, 0x92, 0xd0, 0x07, 0x50, 0x3a, 0xb2,
-	0x5d, 0xf3, 0x21, 0x61, 0xef, 0x68, 0x8e, 0x6d, 0x68, 0x7a, 0xcf, 0xb7, 0xbd, 0x96, 0xde, 0x21,
-	0x9b, 0x4c, 0xd1, 0x4d, 0x92, 0x3c, 0xe6, 0x9d, 0x90, 0xb9, 0x61, 0x1b, 0xe5, 0x3e, 0xab, 0x5a,
-	0x3c, 0x1a, 0x31, 0x82, 0x74, 0x58, 0x3e, 0xee, 0x1d, 0x60, 0xd7, 0xc2, 0x3e, 0xf6, 0x34, 0x43,
-	0xf7, 0x8e, 0x0e, 0x6c, 0xdd, 0x35, 0xb8, 0x95, 0xac, 0x27, 0x6c, 0x76, 0x37, 0x64, 0xdb, 0x0a,
-	0xb8, 0xd4, 0xa5, 0xe3, 0x61, 0x22, 0x3a, 0x80, 0x15, 0x0b, 0xfb, 0x1f, 0xda, 0xee, 0xb1, 0xe6,
-	0xd8, 0x1d, 0xb3, 0x75, 0x12, 0x58, 0x62, 0x6a, 0xec, 0x1e, 0x35, 0xc6, 0xd7, 0xa0, 0x6c, 0xdc,
-	0x0a, 0x97, 0xac, 0x61, 0xa2, 0xbc, 0x01, 0x8b, 0x43, 0x1a, 0x26, 0x47, 0xc4, 0x30, 0x3d, 0xfd,
-	0xa0, 0x83, 0x0d, 0xfe, 0x9e, 0xc3, 0x67, 0xf9, 0x25, 0x28, 0x8e, 0xd2, 0x56, 0x22, 0xdf, 0x0d,
-	0x58, 0x8a, 0x11, 0x7c, 0x1c, 0x4b, 0x8c, 0x1c, 0x89, 0x2c, 0xff, 0x25, 0xc1, 0x13, 0x7d, 0x3f,
-	0x40, 0x70, 0x62, 0x83, 0xaf, 0x11, 0x58, 0x62, 0x11, 0x66, 0xb1, 0x25, 0x72, 0x07, 0x8f, 0xc8,
-	0x80, 0x6c, 0xcb, 0x34, 0x5c, 0xed, 0xa0, 0x63, 0xb7, 0x8e, 0xbd, 0xe2, 0x14, 0xf5, 0xea, 0x95,
-	0x04, 0x2d, 0x27, 0xef, 0xb4, 0x5e, 0x31, 0x0d, 0x77, 0x93, 0xac, 0xa5, 0x42, 0x2b, 0xf8, 0xd3,
-	0x2b, 0xed, 0x42, 0x26, 0x1c, 0x20, 0x49, 0x82, 0x61, 0x7a, 0x4e, 0x47, 0x3f, 0xd1, 0x04, 0x67,
-	0x95, 0xe5, 0xb4, 0x1a, 0xf1, 0x57, 0xe4, 0xf8, 0x86, 0xa8, 0xb8, 0xc7, 0xca, 0x84, 0xeb, 0xc9,
-	0x3f, 0x94, 0x60, 0x3e, 0xa2, 0x25, 0xb4, 0x0b, 0x73, 0x8e, 0x6b, 0x3f, 0x30, 0x0d, 0xec, 0xd2,
-	0xf5, 0xf2, 0xc9, 0xe1, 0x5b, 0xe4, 0x5d, 0x6f, 0x70, 0x46, 0x35, 0x5c, 0x42, 0xd4, 0xd7, 0x54,
-	0x44, 0x5f, 0xf2, 0x0b, 0x30, 0xd7, 0xe8, 0xcf, 0x5a, 0x6e, 0xa8, 0xf5, 0x7b, 0xd5, 0x2d, 0x45,
-	0x1d, 0xf0, 0xe9, 0x00, 0xe9, 0x4a, 0x79, 0xa7, 0x5a, 0xa9, 0x17, 0x24, 0xf9, 0xcf, 0x52, 0x80,
-	0xaa, 0x8d, 0x72, 0x87, 0x84, 0x7e, 0x92, 0x9c, 0x71, 0xc4, 0x4f, 0x43, 0xbe, 0xe7, 0x61, 0xcd,
-	0x74, 0x34, 0xbd, 0x63, 0xea, 0x1e, 0xf6, 0xf8, 0x9b, 0xc9, 0xf5, 0x3c, 0x5c, 0x75, 0xca, 0x8c,
-	0x86, 0xae, 0xc3, 0x62, 0xcb, 0xc5, 0xc4, 0x21, 0x7b, 0xbd, 0x03, 0x6e, 0xcb, 0x1c, 0x52, 0x81,
-	0x0d, 0x34, 0x43, 0x3a, 0x4d, 0xad, 0xc2, 0x27, 0xa6, 0xdb, 0x69, 0x9e, 0x5a, 0x85, 0x64, 0xaa,
-	0xde, 0x6b, 0xb0, 0x18, 0xb8, 0x60, 0xd3, 0x79, 0x70, 0x4b, 0x23, 0x9a, 0xa5, 0x07, 0x2c, 0xa3,
-	0x2e, 0xf0, 0x81, 0xaa, 0xf3, 0xe0, 0x16, 0x79, 0x65, 0x04, 0xa7, 0x65, 0x1b, 0x58, 0x98, 0xc8,
-	0x32, 0xa7, 0x1c, 0xa1, 0x86, 0xb3, 0xbe, 0x02, 0x88, 0xa7, 0x6f, 0x9e, 0x30, 0x33, 0x4d, 0x67,
-	0x16, 0x82, 0x91, 0x70, 0xf6, 0x5b, 0xf0, 0x78, 0x3f, 0xd3, 0x6d, 0xd9, 0x96, 0xa1, 0xbb, 0x27,
-	0x9a, 0xab, 0x5b, 0x6d, 0xcc, 0x50, 0xcf, 0x52, 0xbe, 0x4b, 0x7c, 0x4e, 0x33, 0x98, 0xa2, 0x92,
-	0x19, 0x54, 0x80, 0x32, 0x5c, 0x0e, 0xb7, 0x8b, 0x5d, 0x61, 0x8e, 0xae, 0x50, 0x0a, 0x26, 0xc5,
-	0x2c, 0xf1, 0x55, 0x58, 0x1b, 0xd2, 0x01, 0xb7, 0xb7, 0x4c, 0x24, 0x0e, 0x05, 0xa8, 0x99, 0xf1,
-	0x6e, 0xc0, 0x72, 0x54, 0x1d, 0x9c, 0x07, 0x58, 0x24, 0x12, 0x95, 0xc2, 0x18, 0x5e, 0x86, 0xe2,
-	0xb0, 0x66, 0x38, 0x53, 0x96, 0x32, 0xad, 0x0c, 0xea, 0x87, 0x19, 0xf9, 0x8b, 0xb0, 0xd6, 0xb0,
-	0x8d, 0x26, 0x6e, 0xf5, 0x5c, 0xd3, 0x3f, 0x89, 0x78, 0x83, 0x91, 0xc7, 0x59, 0xfe, 0xb5, 0x05,
-	0x98, 0xad, 0x30, 0xdc, 0x24, 0xbb, 0x14, 0xce, 0x17, 0xfd, 0x9b, 0x64, 0x97, 0x06, 0xf6, 0x5a,
-	0xae, 0xe9, 0x10, 0x53, 0xe4, 0x27, 0x4b, 0x24, 0x91, 0x37, 0x69, 0x5a, 0xa6, 0x6f, 0xea, 0x1d,
-	0x8d, 0x0a, 0xca, 0xd2, 0xd7, 0x69, 0x9a, 0xbe, 0x16, 0xf8, 0x08, 0x4b, 0x7f, 0x49, 0x06, 0x7b,
-	0x1b, 0xb2, 0x7c, 0x96, 0xe0, 0xa4, 0x9f, 0x99, 0x28, 0x73, 0x56, 0xc1, 0xea, 0xdf, 0x3e, 0x6e,
-	0x43, 0xb6, 0x4b, 0x1d, 0x0b, 0x09, 0x62, 0x47, 0xd4, 0xc4, 0x92, 0xd7, 0xe9, 0xbb, 0x21, 0x15,
-	0xba, 0xfd, 0x24, 0xe8, 0x59, 0x92, 0x79, 0xb7, 0xdb, 0xa6, 0xd5, 0x0e, 0xee, 0x50, 0xdc, 0x08,
-	0xf3, 0x9c, 0xdc, 0x64, 0x54, 0x92, 0x4f, 0x74, 0x6d, 0xcb, 0xf4, 0x6d, 0x57, 0x9c, 0xcb, 0x0c,
-	0x6f, 0xb1, 0x3f, 0x12, 0x4c, 0x2f, 0xc2, 0x6c, 0x70, 0xfa, 0x98, 0x69, 0x05, 0x8f, 0xf1, 0x67,
-	0x29, 0x13, 0x7f, 0x96, 0x76, 0x60, 0x5e, 0xa7, 0x09, 0x42, 0xa0, 0x2f, 0xa0, 0x72, 0x3e, 0x9b,
-	0x94, 0xba, 0x0b, 0x09, 0x85, 0x9a, 0xd3, 0xc5, 0xf4, 0xe2, 0x09, 0x00, 0xc1, 0x29, 0x30, 0x5b,
-	0x12, 0x28, 0x68, 0x13, 0xa8, 0x86, 0x35, 0xc7, 0xb6, 0x3b, 0x5e, 0x31, 0x47, 0x3d, 0xfb, 0x97,
-	0xc7, 0xbc, 0x9a, 0x86, 0x6d, 0x77, 0xd4, 0x8c, 0xc5, 0xff, 0xf2, 0xd0, 0xe3, 0x90, 0x09, 0xfc,
-	0x96, 0x57, 0x9c, 0xa7, 0xd7, 0x94, 0x3e, 0x01, 0xbd, 0x04, 0x6b, 0xcc, 0xf0, 0x34, 0x21, 0x2d,
-	0xa0, 0xab, 0x15, 0xf3, 0xd4, 0x2e, 0x57, 0xd8, 0x70, 0x3f, 0x08, 0x96, 0xc9, 0x20, 0xaa, 0x43,
-	0x3e, 0x1a, 0xe4, 0x8b, 0x4b, 0x54, 0x11, 0x57, 0x27, 0xf5, 0xd9, 0xea, 0x7c, 0x24, 0xae, 0x23,
-	0x0d, 0x96, 0xa9, 0x23, 0x0d, 0xa0, 0x05, 0xcb, 0x2e, 0xd3, 0x65, 0x9f, 0x4f, 0x58, 0x76, 0xd8,
-	0x33, 0xab, 0xc8, 0x74, 0x86, 0xbc, 0xf5, 0xa7, 0x12, 0x3c, 0x25, 0x18, 0x28, 0x0b, 0x7d, 0x1a,
-	0x07, 0x11, 0xbe, 0xce, 0x55, 0xba, 0xdd, 0xd7, 0xce, 0x1c, 0x3d, 0xd5, 0x27, 0xba, 0xc9, 0x71,
-	0xfc, 0x3d, 0x40, 0x5d, 0x72, 0xcb, 0xc0, 0x96, 0x6e, 0xb5, 0x70, 0x20, 0xe5, 0xda, 0xd8, 0x84,
-	0x72, 0xb7, 0xcf, 0xc4, 0x85, 0x5c, 0xec, 0x0e, 0x92, 0x90, 0x0d, 0x25, 0x92, 0x45, 0x7a, 0xdc,
-	0xe3, 0x0c, 0xe4, 0x5f, 0x97, 0xc6, 0xde, 0x04, 0x46, 0x78, 0x2b, 0x75, 0xcd, 0x19, 0xe1, 0xc6,
-	0x1e, 0x83, 0x8c, 0x87, 0x3b, 0x87, 0x5a, 0xc7, 0xb4, 0x8e, 0x79, 0xf2, 0x3f, 0x47, 0x08, 0x3b,
-	0xa6, 0x75, 0x4c, 0xbc, 0xd7, 0x43, 0xdb, 0x0a, 0x52, 0x7c, 0xfa, 0x37, 0xc9, 0x82, 0xb0, 0x65,
-	0x38, 0xb6, 0x69, 0xf9, 0x3c, 0xa7, 0x0f, 0x9f, 0x89, 0x2d, 0x06, 0x7e, 0x2b, 0x38, 0x8f, 0x0f,
-	0xb0, 0xeb, 0x11, 0x2f, 0xd7, 0x66, 0x6e, 0x96, 0x0f, 0x73, 0xf7, 0x78, 0x8f, 0x0d, 0xd2, 0xeb,
-	0x48, 0xcf, 0x75, 0x49, 0xaa, 0xcf, 0x5f, 0x70, 0xc0, 0x76, 0xc4, 0xc3, 0x00, 0x1b, 0x65, 0x6f,
-	0x2e, 0xe0, 0x7a, 0x01, 0x02, 0x3a, 0xf3, 0x92, 0x01, 0x8f, 0x49, 0x79, 0x10, 0x1f, 0x23, 0x27,
-	0x2a, 0xe0, 0x78, 0x12, 0xb2, 0x3c, 0x92, 0xfb, 0x66, 0x17, 0x17, 0xbf, 0xc5, 0x8e, 0x2b, 0x23,
-	0xed, 0x99, 0x34, 0xa6, 0xa5, 0x3d, 0x5f, 0xf7, 0x7b, 0x5e, 0xf1, 0x98, 0x26, 0x30, 0xcf, 0x25,
-	0x5e, 0xba, 0xa8, 0x0c, 0xeb, 0x4d, 0xca, 0xa0, 0x72, 0x46, 0xf4, 0x0c, 0xe4, 0xd9, 0x5f, 0x5a,
-	0x17, 0x7b, 0x9e, 0xde, 0xc6, 0xc5, 0x0e, 0xdd, 0x66, 0x9e, 0x51, 0x77, 0x19, 0x11, 0x3d, 0x0f,
-	0x4b, 0x03, 0x31, 0xcc, 0x33, 0x1f, 0xe2, 0x62, 0x97, 0xf9, 0x78, 0x31, 0x84, 0x35, 0xcd, 0x87,
-	0x78, 0x44, 0x6c, 0xb7, 0x46, 0xc4, 0xf6, 0x75, 0x58, 0x32, 0x2d, 0xcf, 0xa7, 0xf6, 0xd9, 0x76,
-	0xed, 0x9e, 0xa3, 0xf5, 0xdc, 0x8e, 0x57, 0xb4, 0xa9, 0xef, 0x58, 0x0c, 0x86, 0xb6, 0xc9, 0xc8,
-	0xbe, 0xdb, 0xf1, 0xc8, 0xea, 0x11, 0x4d, 0xb2, 0x78, 0xe3, 0x30, 0x2c, 0x82, 0x1e, 0x59, 0xbc,
-	0x79, 0x12, 0xb2, 0xf8, 0x23, 0xc7, 0x74, 0xb9, 0x16, 0x3f, 0x60, 0x5a, 0x64, 0x24, 0xaa, 0xc5,
-	0x12, 0xcc, 0x05, 0x47, 0xb7, 0xe8, 0x32, 0x13, 0x09, 0x9e, 0x65, 0x13, 0xd2, 0x4c, 0x61, 0xe4,
-	0x8a, 0xdd, 0xdc, 0x2b, 0xef, 0xed, 0x37, 0x07, 0xf2, 0xb6, 0x02, 0xe4, 0x68, 0x46, 0xd7, 0xac,
-	0xd6, 0x6b, 0xd5, 0xda, 0x76, 0x41, 0x42, 0x59, 0x98, 0x55, 0xf7, 0x6b, 0xf4, 0x61, 0x8a, 0x5c,
-	0xd5, 0x55, 0xa5, 0x52, 0xaf, 0x55, 0xaa, 0x3b, 0x84, 0x30, 0x8d, 0x72, 0x30, 0xd7, 0xdc, 0xab,
-	0x37, 0x1a, 0xe4, 0x29, 0x85, 0x32, 0x30, 0xa3, 0xa8, 0x6a, 0x5d, 0x2d, 0xcc, 0xc8, 0xbf, 0x9f,
-	0x86, 0x79, 0xfe, 0x92, 0xf6, 0x1d, 0x83, 0xdc, 0x48, 0x5f, 0x80, 0x65, 0x03, 0x7b, 0xa6, 0x4b,
-	0xdc, 0x86, 0x68, 0x31, 0x2c, 0xed, 0x42, 0x7c, 0x4c, 0xb4, 0x98, 0xd7, 0xa1, 0x14, 0x70, 0xc4,
-	0x84, 0x2a, 0x96, 0x85, 0x15, 0xf9, 0x8c, 0xdd, 0xa1, 0x88, 0xf5, 0x1e, 0xac, 0x04, 0xdc, 0xd1,
-	0x98, 0x93, 0x3e, 0x5d, 0xcc, 0x59, 0xe2, 0xab, 0x44, 0x6e, 0xb6, 0x1b, 0x03, 0xc2, 0x90, 0x10,
-	0xa3, 0x99, 0x46, 0x10, 0x3f, 0x05, 0x61, 0x48, 0x18, 0xa9, 0x1a, 0xe4, 0x2d, 0x07, 0x0c, 0x42,
-	0x0d, 0x8e, 0x85, 0xd2, 0x02, 0x1f, 0xa9, 0x86, 0xa5, 0xb8, 0x0f, 0xe0, 0xf2, 0xf0, 0xf2, 0xe2,
-	0xed, 0x36, 0x33, 0xfe, 0x32, 0xc8, 0xf7, 0x16, 0x2f, 0xb6, 0xa5, 0x01, 0x5c, 0xe2, 0x35, 0xee,
-	0x3a, 0x04, 0xa8, 0xb5, 0x7e, 0xc0, 0x03, 0x6a, 0xb4, 0x01, 0xbe, 0x9d, 0x30, 0xee, 0x7d, 0x4f,
-	0x82, 0xe7, 0xc2, 0x57, 0x33, 0x36, 0x2a, 0xe4, 0xce, 0x1b, 0x15, 0x9e, 0x09, 0x5e, 0x72, 0x72,
-	0x70, 0xf8, 0x36, 0xc8, 0x01, 0xa8, 0x04, 0x3f, 0x9e, 0x3f, 0xb3, 0x1f, 0x7f, 0x82, 0xaf, 0x3e,
-	0x2a, 0x2b, 0xbd, 0x05, 0xab, 0x03, 0x4a, 0x09, 0x6c, 0x9c, 0x17, 0x76, 0x22, 0x62, 0x70, 0x2b,
-	0x97, 0x7f, 0x9e, 0x86, 0x4c, 0xdd, 0xc1, 0x2e, 0x55, 0x6d, 0x6c, 0xce, 0x1a, 0x44, 0x82, 0x29,
-	0x21, 0x12, 0x34, 0x20, 0x6f, 0x07, 0x4c, 0xcc, 0x96, 0xa6, 0xc7, 0x3a, 0xcd, 0x70, 0x97, 0x75,
-	0x62, 0x64, 0xea, 0x7c, 0xb8, 0x00, 0xb5, 0xb9, 0x4a, 0xe8, 0x7e, 0x53, 0x63, 0xab, 0x7d, 0xfd,
-	0x95, 0x06, 0x1c, 0xf0, 0x2a, 0xa4, 0x0d, 0xec, 0xeb, 0x66, 0x87, 0x9b, 0x36, 0x7f, 0x8a, 0x71,
-	0xcc, 0x33, 0x71, 0x8e, 0x39, 0x12, 0x10, 0xd3, 0x03, 0x01, 0xf1, 0x49, 0xc8, 0xfa, 0xba, 0xdb,
-	0xc6, 0x3e, 0x1b, 0x66, 0x47, 0x0d, 0x18, 0x89, 0x4e, 0x10, 0x5d, 0x5f, 0x26, 0xea, 0xfa, 0xc8,
-	0x85, 0xda, 0xf3, 0x75, 0xd7, 0x67, 0x6e, 0x93, 0x5d, 0x56, 0x32, 0x94, 0x42, 0xbd, 0xe6, 0x25,
-	0x1a, 0x58, 0xd9, 0x20, 0x4b, 0x24, 0x67, 0xb1, 0x65, 0x90, 0x21, 0x59, 0x1d, 0xeb, 0x34, 0xb3,
-	0x30, 0xdb, 0x50, 0x6a, 0x5b, 0x31, 0xfe, 0x72, 0x0e, 0x52, 0x5b, 0xf5, 0x9a, 0xc2, 0x1c, 0x65,
-	0x79, 0xb3, 0xae, 0xee, 0x51, 0x47, 0x29, 0xff, 0xcf, 0x14, 0xa4, 0xa8, 0xd2, 0x97, 0xa1, 0xb0,
-	0xf7, 0x4e, 0x43, 0x19, 0x58, 0x10, 0x41, 0xbe, 0xa2, 0x2a, 0xe5, 0x3d, 0x45, 0xab, 0xec, 0xec,
-	0x37, 0xf7, 0x14, 0xb5, 0x20, 0x11, 0xda, 0x96, 0xb2, 0xa3, 0x08, 0xb4, 0x29, 0x42, 0xdb, 0x6f,
-	0x6c, 0xab, 0xe5, 0x2d, 0x45, 0xdb, 0x2d, 0x53, 0xda, 0x34, 0x5a, 0x84, 0xf9, 0x80, 0x56, 0xab,
-	0x6f, 0x29, 0xcd, 0x42, 0x8a, 0x4c, 0x53, 0x95, 0x46, 0xb9, 0xaa, 0x86, 0xac, 0x33, 0x8c, 0x75,
-	0x4b, 0xdc, 0x22, 0x4d, 0xc0, 0xf0, 0x6d, 0x09, 0xa7, 0xd6, 0xa8, 0xd7, 0x77, 0x0a, 0xb3, 0x84,
-	0xca, 0x37, 0xee, 0x53, 0xe7, 0xd0, 0xe3, 0x50, 0x6c, 0x2a, 0x7b, 0x7d, 0x92, 0xb6, 0x5b, 0xae,
-	0x95, 0xb7, 0x95, 0x5d, 0xa5, 0xb6, 0x57, 0xc8, 0xa0, 0x15, 0x58, 0x2c, 0xef, 0xef, 0xd5, 0x35,
-	0xbe, 0x2d, 0x03, 0x02, 0x44, 0x81, 0x94, 0x1c, 0x05, 0x98, 0x45, 0x79, 0x00, 0xb2, 0xd8, 0x4e,
-	0x79, 0x53, 0xd9, 0x69, 0x16, 0x72, 0x68, 0x09, 0x16, 0xc8, 0x33, 0x93, 0x49, 0x2b, 0xef, 0xef,
-	0xdd, 0x29, 0xcc, 0x53, 0xed, 0x47, 0x76, 0x6c, 0x56, 0xdf, 0x55, 0x0a, 0xf9, 0x90, 0xae, 0xec,
-	0xdd, 0xaf, 0xab, 0x77, 0xb5, 0x46, 0x7d, 0xa7, 0x5a, 0x79, 0xa7, 0xb0, 0x80, 0x4a, 0xb0, 0xca,
-	0x16, 0xa9, 0xd6, 0xf6, 0x94, 0x5a, 0xb9, 0x56, 0x51, 0x82, 0xb1, 0x82, 0xfc, 0x7d, 0x09, 0x96,
-	0x2b, 0x34, 0xf3, 0xe0, 0x31, 0x4a, 0xc5, 0x1f, 0xf4, 0xb0, 0xe7, 0x13, 0x33, 0x71, 0x5c, 0xfb,
-	0x5b, 0xb8, 0xe5, 0x13, 0x6f, 0xce, 0x0e, 0x61, 0x86, 0x53, 0xaa, 0x46, 0xec, 0x49, 0x7c, 0x1d,
-	0x66, 0x79, 0xbe, 0xc5, 0xcb, 0x80, 0xf2, 0xf8, 0xbc, 0x45, 0x0d, 0x58, 0xc8, 0x81, 0x71, 0x74,
-	0x12, 0xe2, 0xf9, 0x81, 0xe0, 0x4f, 0xf2, 0x09, 0x2c, 0x6e, 0x63, 0xff, 0xfc, 0xe8, 0x68, 0x1d,
-	0x98, 0xdf, 0xce, 0x0c, 0x5e, 0x0d, 0xc9, 0x04, 0xd7, 0x32, 0x23, 0x74, 0x37, 0x33, 0x7d, 0x77,
-	0x23, 0xff, 0x44, 0x82, 0x65, 0x16, 0xb3, 0x2f, 0x7c, 0xfb, 0xb7, 0x21, 0xdd, 0xa3, 0x3b, 0xf1,
-	0x8b, 0xf3, 0xd5, 0xf1, 0xaa, 0x63, 0xc8, 0x54, 0xce, 0x17, 0x2b, 0xc0, 0xbf, 0x4b, 0xb0, 0xc2,
-	0xa6, 0x85, 0x37, 0xba, 0x0b, 0x93, 0xe0, 0x0a, 0xe4, 0x22, 0x09, 0x00, 0xcb, 0x66, 0xc0, 0xea,
-	0x47, 0xfe, 0xa7, 0xf8, 0x8c, 0x20, 0x16, 0x30, 0xa4, 0xb4, 0x6a, 0x10, 0x24, 0x3a, 0xd1, 0xc6,
-	0x5c, 0x7a, 0xb0, 0x31, 0x17, 0xc8, 0x38, 0x27, 0xc8, 0xf8, 0xdf, 0x12, 0x5c, 0x6e, 0x62, 0x3f,
-	0x2e, 0xca, 0x7f, 0x8e, 0xb2, 0x36, 0x20, 0x2b, 0x66, 0x29, 0x33, 0x67, 0xca, 0x52, 0xc4, 0x25,
-	0x42, 0xd9, 0xd3, 0x82, 0xec, 0x3f, 0x90, 0xa0, 0xd8, 0xc4, 0xfe, 0x4e, 0xa4, 0xa0, 0x71, 0x71,
-	0x62, 0xc7, 0x94, 0x54, 0x52, 0xb1, 0x25, 0x95, 0x38, 0x5b, 0xfc, 0x13, 0x09, 0x1e, 0x6b, 0x62,
-	0x7f, 0x28, 0x3d, 0xbd, 0x38, 0xb8, 0xf1, 0x85, 0x9d, 0xd4, 0xa8, 0xc2, 0x4e, 0x9c, 0x82, 0xff,
-	0x51, 0x82, 0xd5, 0x26, 0xf6, 0x23, 0x69, 0xf0, 0x85, 0xe1, 0x1d, 0xaa, 0x09, 0xa5, 0xce, 0x53,
-	0x13, 0x8a, 0x13, 0xe7, 0x37, 0x25, 0x58, 0xa2, 0xf6, 0xc2, 0xd3, 0xd7, 0x8b, 0x93, 0x25, 0x52,
-	0x2d, 0x4a, 0x0d, 0x56, 0x8b, 0xe2, 0xb0, 0x7d, 0x26, 0xc1, 0x12, 0xf3, 0x55, 0x2c, 0x2b, 0xbc,
-	0x38, 0x6c, 0xcf, 0x40, 0x7e, 0x20, 0x2b, 0x65, 0x36, 0x31, 0xdf, 0x8d, 0x5c, 0xec, 0x03, 0x90,
-	0xb3, 0x02, 0xc8, 0x7f, 0x9d, 0x82, 0x65, 0x62, 0xc4, 0xfd, 0x92, 0xe3, 0x85, 0xa1, 0xac, 0x41,
-	0x5a, 0x6f, 0xf9, 0x01, 0xba, 0xfc, 0xcd, 0x97, 0x12, 0xcc, 0x20, 0x0e, 0xd2, 0x7a, 0x99, 0x72,
-	0xab, 0x7c, 0x15, 0xf4, 0x46, 0x18, 0x61, 0x4e, 0x55, 0x52, 0x1d, 0x0c, 0x2f, 0xa2, 0x36, 0x1a,
-	0x90, 0x66, 0x9b, 0x90, 0x5c, 0x6f, 0xbf, 0x76, 0xb7, 0x56, 0xbf, 0x5f, 0x63, 0x57, 0x67, 0x92,
-	0x6f, 0x34, 0xca, 0xcd, 0xe6, 0xfd, 0xba, 0xba, 0x55, 0x90, 0x48, 0x16, 0xb4, 0xad, 0xd4, 0x14,
-	0x95, 0x64, 0x54, 0x21, 0x79, 0x2a, 0x98, 0xb8, 0xdf, 0x54, 0xd4, 0x5a, 0x79, 0x57, 0x29, 0x4c,
-	0xcb, 0xbf, 0x04, 0xcb, 0x5b, 0xb8, 0x83, 0x1f, 0x41, 0xc0, 0x0d, 0xe4, 0x49, 0x09, 0xf2, 0xfc,
-	0x7f, 0x58, 0xda, 0x31, 0xbd, 0x20, 0xd7, 0x38, 0xcf, 0xe9, 0xe8, 0x27, 0x33, 0xa9, 0x48, 0x32,
-	0xf3, 0x31, 0x2c, 0x47, 0x77, 0xf0, 0x1c, 0xdb, 0xf2, 0x30, 0x7a, 0x13, 0xe6, 0x38, 0x34, 0xaf,
-	0x28, 0xd1, 0xf2, 0xec, 0x24, 0xb9, 0x53, 0xc8, 0x83, 0xbe, 0x0c, 0xf3, 0x5d, 0xd3, 0xf3, 0x88,
-	0x9f, 0x23, 0xfb, 0xb3, 0xee, 0x5d, 0x46, 0xcd, 0x71, 0xe2, 0xbb, 0x84, 0x26, 0xff, 0x32, 0x2c,
-	0x6d, 0x63, 0x3f, 0xbc, 0xb1, 0x9c, 0x43, 0xbc, 0xa7, 0x20, 0xd7, 0xbf, 0x73, 0x85, 0xda, 0xcd,
-	0x86, 0xb4, 0x11, 0xf9, 0xd4, 0x01, 0xac, 0x10, 0xe9, 0x43, 0x04, 0x17, 0xa1, 0xe1, 0xef, 0x4a,
-	0xb0, 0x5a, 0xd1, 0xad, 0x16, 0xee, 0x3c, 0x62, 0x41, 0x45, 0x43, 0xfa, 0x55, 0x09, 0x56, 0x07,
-	0x25, 0xe5, 0x6f, 0x7a, 0x0b, 0x20, 0xe4, 0x0e, 0xde, 0xf5, 0xd3, 0x93, 0x5c, 0x30, 0x55, 0x81,
-	0x6f, 0xb2, 0xf7, 0xad, 0xc1, 0xea, 0x36, 0xf6, 0x49, 0x78, 0xc3, 0xee, 0xb9, 0x63, 0x57, 0x9c,
-	0x98, 0x9f, 0x4e, 0x41, 0x4e, 0x5c, 0x1e, 0xbd, 0x04, 0x6b, 0x06, 0x3e, 0xd4, 0x7b, 0x1d, 0x7f,
-	0xa8, 0xf2, 0xca, 0x36, 0x59, 0xe1, 0xc3, 0x03, 0x95, 0xd7, 0x75, 0x58, 0x7a, 0xa0, 0x77, 0xcc,
-	0x68, 0x3d, 0x2c, 0xf8, 0x66, 0x6c, 0x91, 0x0e, 0x09, 0xe5, 0x30, 0x8f, 0xd5, 0x90, 0xd8, 0x3e,
-	0x42, 0xba, 0x98, 0x0a, 0x6a, 0x48, 0x74, 0xa4, 0x5f, 0x43, 0xba, 0x06, 0x6c, 0x09, 0x61, 0xae,
-	0x57, 0x9c, 0xa1, 0x6b, 0x2f, 0xd0, 0x81, 0x70, 0xaa, 0x87, 0x6e, 0xc2, 0x0a, 0x9b, 0x1b, 0x8d,
-	0x10, 0xec, 0x4b, 0xb0, 0x8c, 0xca, 0x60, 0x46, 0xca, 0x16, 0x9e, 0xfc, 0x77, 0x12, 0xac, 0xb0,
-	0x3b, 0xd4, 0xc5, 0x67, 0xd9, 0x6f, 0x43, 0x26, 0xcc, 0x3c, 0x79, 0x7e, 0x30, 0x51, 0x23, 0x67,
-	0x2e, 0xc8, 0x4d, 0x85, 0x83, 0x93, 0x8e, 0x1c, 0x9c, 0xef, 0x4b, 0xb0, 0xc2, 0x7c, 0xef, 0x17,
-	0xe1, 0xae, 0x10, 0x97, 0x21, 0xfc, 0x8a, 0xc4, 0xbc, 0x67, 0x80, 0xef, 0x02, 0xd3, 0x97, 0x51,
-	0x97, 0xd1, 0xdf, 0x96, 0x00, 0x6d, 0xf7, 0x2f, 0x1b, 0x5f, 0x34, 0x0d, 0xfd, 0x6f, 0x0a, 0xe6,
-	0x02, 0x6c, 0xb1, 0x05, 0xb4, 0x37, 0x20, 0xcd, 0x73, 0xcb, 0xa9, 0xd3, 0xf4, 0x67, 0x39, 0xd3,
-	0x29, 0x3b, 0xc2, 0x03, 0x77, 0xa0, 0xd4, 0xf9, 0xef, 0x40, 0x55, 0x80, 0xae, 0x6e, 0xe9, 0x6d,
-	0xdc, 0x0d, 0x5e, 0x4d, 0x36, 0xb1, 0xce, 0x47, 0x16, 0xdc, 0x0d, 0x19, 0x54, 0x81, 0x39, 0xb9,
-	0xe3, 0x54, 0x84, 0xd9, 0xc0, 0x6f, 0xb1, 0xa6, 0x53, 0xf0, 0x38, 0xaa, 0xa7, 0x71, 0x38, 0xaa,
-	0xa7, 0xb1, 0x19, 0xd6, 0x12, 0xdb, 0x34, 0x8b, 0xbb, 0x36, 0x81, 0xf8, 0xe3, 0x7b, 0x39, 0x47,
-	0x31, 0x25, 0x43, 0xf9, 0x3b, 0xd2, 0x79, 0x9b, 0x1a, 0xab, 0x80, 0xf8, 0x83, 0x76, 0xbf, 0xba,
-	0x77, 0x47, 0x63, 0x2d, 0x8c, 0xe9, 0xc1, 0x66, 0x47, 0x2a, 0xd2, 0xec, 0x98, 0xe9, 0x37, 0x3b,
-	0xd2, 0xf2, 0x1f, 0x4a, 0x90, 0x8f, 0x2a, 0x9d, 0x84, 0x50, 0xf2, 0x0a, 0xb5, 0x9e, 0xd3, 0x76,
-	0x75, 0x23, 0xf8, 0x72, 0x8e, 0xbe, 0xd6, 0x7d, 0x46, 0x42, 0x4f, 0x32, 0x43, 0xd1, 0x5c, 0xec,
-	0xe8, 0xa6, 0xcb, 0x3f, 0x6a, 0x01, 0x42, 0x52, 0x29, 0x05, 0xdd, 0x83, 0x05, 0xce, 0xae, 0xd9,
-	0x4e, 0x50, 0x90, 0x1f, 0xd7, 0xcf, 0x2d, 0xf7, 0x77, 0xa8, 0x33, 0x26, 0x35, 0xdf, 0x8b, 0x3c,
-	0xcb, 0x5d, 0x40, 0xc3, 0xb3, 0xd0, 0x57, 0x61, 0x4d, 0x44, 0xac, 0x09, 0xe5, 0x52, 0x76, 0x96,
-	0x96, 0x05, 0xf0, 0xcd, 0xb0, 0x72, 0x3a, 0xf6, 0x83, 0x0a, 0xf9, 0x1d, 0x58, 0x1c, 0x6a, 0xbf,
-	0xa2, 0x2d, 0x48, 0x7f, 0x68, 0x5a, 0x86, 0xfd, 0xe1, 0x04, 0x5f, 0x03, 0x0a, 0xdc, 0xf7, 0x29,
-	0x8f, 0xca, 0x79, 0xe5, 0x5f, 0x97, 0x22, 0x6b, 0xb3, 0x51, 0xd4, 0x85, 0xa2, 0xa1, 0x9b, 0x9d,
-	0x13, 0x4d, 0x6c, 0x15, 0xf3, 0xdd, 0x98, 0x03, 0x48, 0xfa, 0x36, 0x6a, 0x8b, 0xb0, 0x0e, 0x2d,
-	0x7a, 0xe7, 0x4b, 0xea, 0xaa, 0x11, 0x3b, 0xb2, 0x39, 0x07, 0x69, 0xd6, 0x61, 0x90, 0x9b, 0xb0,
-	0x1a, 0xcf, 0x3d, 0x50, 0x7e, 0x9e, 0x1a, 0x2c, 0x3f, 0x97, 0x60, 0xce, 0xe8, 0xb1, 0x2c, 0x87,
-	0x3b, 0xc5, 0xf0, 0x59, 0xfe, 0xb9, 0x04, 0x8f, 0x0b, 0x95, 0x1e, 0xe1, 0x60, 0x7f, 0x8e, 0x6e,
-	0xf8, 0x17, 0xe8, 0x92, 0xe2, 0xae, 0x58, 0x7f, 0xcd, 0x0a, 0x10, 0x81, 0xcc, 0x4d, 0xf3, 0x21,
-	0xfe, 0x3c, 0xa5, 0xbd, 0xcc, 0x3f, 0x24, 0x61, 0x8e, 0x7f, 0x86, 0x3a, 0xfe, 0x8c, 0x15, 0x7a,
-	0xfc, 0x38, 0x09, 0xfe, 0x40, 0x82, 0x27, 0x54, 0xbb, 0xd3, 0x39, 0xd0, 0x5b, 0xc7, 0x81, 0x18,
-	0xfc, 0xec, 0x7c, 0xd1, 0xc2, 0xe7, 0x7b, 0xec, 0x7e, 0x22, 0xe4, 0x17, 0x3c, 0x69, 0x8f, 0x7e,
-	0x3f, 0x23, 0x9d, 0xe5, 0xfb, 0x19, 0xf9, 0x63, 0x58, 0x8a, 0xeb, 0x36, 0x8e, 0xfe, 0x1e, 0xf3,
-	0x69, 0xc8, 0x77, 0x4d, 0x4b, 0x0c, 0xb4, 0xec, 0x57, 0x16, 0xb9, 0xae, 0x69, 0xf5, 0x83, 0x2c,
-	0x99, 0xa5, 0x7f, 0x34, 0x1c, 0x8e, 0x73, 0x5d, 0xfd, 0xa3, 0x70, 0x96, 0xfc, 0xd3, 0x29, 0x28,
-	0x34, 0xb1, 0xcf, 0xbe, 0x9a, 0xbf, 0x38, 0xb5, 0x1f, 0xc1, 0x82, 0x8b, 0x3d, 0xbb, 0xe7, 0xb6,
-	0xb0, 0xc6, 0x7f, 0x41, 0xc1, 0x7e, 0xaf, 0xf1, 0x56, 0x72, 0xf1, 0x22, 0x82, 0x6b, 0x5d, 0xe5,
-	0x4b, 0x88, 0xbf, 0xa7, 0xc8, 0xbb, 0x11, 0x22, 0xba, 0x0e, 0x8b, 0x74, 0x03, 0xed, 0xd0, 0xb4,
-	0xda, 0xd8, 0x75, 0x5c, 0x33, 0xcc, 0xd5, 0x0a, 0x74, 0xe0, 0x76, 0x9f, 0x1e, 0x67, 0x96, 0xa5,
-	0x32, 0x2c, 0xc5, 0xec, 0x73, 0xaa, 0xdf, 0x12, 0xfc, 0x86, 0x44, 0x8b, 0x41, 0x3b, 0xb8, 0xad,
-	0xb7, 0x4e, 0xca, 0x07, 0x7a, 0xeb, 0xe2, 0x14, 0x2b, 0x58, 0x49, 0x2a, 0x6a, 0x25, 0x71, 0x76,
-	0xfc, 0x6d, 0x58, 0xa5, 0x61, 0xa9, 0xda, 0x50, 0xf9, 0xcf, 0x80, 0x2e, 0xbe, 0x8e, 0x22, 0xee,
-	0xff, 0x1d, 0x09, 0x2e, 0x55, 0xec, 0xae, 0x43, 0x2e, 0x13, 0x8f, 0x12, 0x83, 0xe8, 0x76, 0x8e,
-	0x61, 0x71, 0xe8, 0xb7, 0x2e, 0xc4, 0x6a, 0x84, 0x5f, 0xbb, 0xf0, 0xf3, 0x42, 0x10, 0x4c, 0xab,
-	0x05, 0x5d, 0x9c, 0x4d, 0x4e, 0xd6, 0x73, 0x20, 0xd2, 0xd8, 0x15, 0x93, 0x81, 0x5a, 0x10, 0xe8,
-	0xe4, 0xda, 0x28, 0xff, 0x8b, 0x04, 0x6b, 0xc4, 0x4b, 0x47, 0x3e, 0x4c, 0xbb, 0x30, 0x71, 0x87,
-	0xbf, 0x99, 0x4b, 0x9d, 0xef, 0x9b, 0xb9, 0xb8, 0x77, 0xf8, 0x6f, 0xbc, 0x5c, 0x3f, 0xf4, 0xb9,
-	0xd8, 0x85, 0x89, 0x15, 0xff, 0x45, 0x5b, 0xea, 0x17, 0xf3, 0x45, 0x5b, 0x4c, 0x39, 0xea, 0xe6,
-	0xa7, 0xd7, 0x21, 0xcf, 0x0b, 0x11, 0x2c, 0x22, 0xbb, 0xe8, 0x47, 0x12, 0xe4, 0xc4, 0x02, 0x1d,
-	0x4a, 0xba, 0xae, 0xc4, 0xd4, 0x0a, 0x4b, 0x1b, 0x13, 0xcf, 0x67, 0xa1, 0x45, 0x7e, 0xf5, 0xbb,
-	0x3f, 0xfb, 0x8f, 0xef, 0x4d, 0xdd, 0x42, 0x37, 0xfb, 0x3f, 0xfd, 0xfb, 0x98, 0x5d, 0x36, 0xdf,
-	0xe0, 0xda, 0xf4, 0x36, 0xae, 0x6d, 0x84, 0xa5, 0xf3, 0x8d, 0x6b, 0x9f, 0x6c, 0x84, 0x55, 0xbf,
-	0xdf, 0x92, 0x00, 0xfa, 0xbd, 0x51, 0x94, 0xa4, 0xa4, 0xa1, 0x16, 0x6a, 0x69, 0x82, 0x02, 0x63,
-	0x2c, 0x38, 0xa2, 0xba, 0x11, 0xd0, 0x42, 0x64, 0x1b, 0xd7, 0x3e, 0x41, 0xbf, 0x2b, 0xc1, 0x7c,
-	0xa4, 0xb3, 0x8c, 0x92, 0x74, 0x13, 0xd7, 0x83, 0x2e, 0x4d, 0x54, 0x17, 0x93, 0xdf, 0xa0, 0x20,
-	0x5f, 0x96, 0xcf, 0xa0, 0xc1, 0x57, 0xa5, 0x6b, 0x14, 0x67, 0xa4, 0xc9, 0x9b, 0x88, 0x33, 0xae,
-	0x1d, 0x7c, 0x3a, 0x9c, 0xa5, 0x33, 0x28, 0x93, 0xe0, 0xfc, 0x53, 0x09, 0xf2, 0xd1, 0x5e, 0x2e,
-	0x7a, 0x61, 0x2c, 0xd0, 0x81, 0x42, 0xc5, 0x84, 0x48, 0xab, 0x14, 0x69, 0xa5, 0xf4, 0xe6, 0xa9,
-	0x91, 0x6e, 0x84, 0xf9, 0x0e, 0x47, 0xfd, 0xd3, 0x68, 0xfe, 0x2a, 0x66, 0x3e, 0xaf, 0x24, 0xe7,
-	0x04, 0xa3, 0x1b, 0xba, 0x13, 0x4a, 0xf1, 0x4d, 0x2a, 0x85, 0x2a, 0xef, 0x9e, 0x53, 0x0a, 0x0f,
-	0xfb, 0x02, 0x06, 0x22, 0xd4, 0x8f, 0x25, 0x58, 0x1c, 0x6a, 0xbb, 0xa2, 0x17, 0xc7, 0xe4, 0x38,
-	0x71, 0x4d, 0xda, 0x09, 0x45, 0xb9, 0x43, 0x45, 0xd9, 0x94, 0xdf, 0x38, 0x83, 0xe9, 0x78, 0xe1,
-	0xd6, 0x04, 0xfa, 0xdf, 0xb0, 0x9c, 0x65, 0xf8, 0x23, 0xc1, 0x71, 0xed, 0xa5, 0x11, 0x6d, 0xdb,
-	0x09, 0x05, 0xb8, 0x4b, 0x05, 0x50, 0xe4, 0xb7, 0xcf, 0x26, 0x40, 0x7f, 0x77, 0x7e, 0x12, 0x16,
-	0x06, 0x9a, 0xb2, 0xe8, 0x46, 0x32, 0xfc, 0x98, 0x06, 0xee, 0x84, 0xc8, 0xb7, 0x29, 0xf2, 0xb2,
-	0xfc, 0xfa, 0xd9, 0x90, 0xb3, 0x8d, 0x09, 0xea, 0x3f, 0x96, 0x20, 0x27, 0xf6, 0x5e, 0x13, 0x43,
-	0x4b, 0x4c, 0x93, 0x76, 0x42, 0xbc, 0x5f, 0xa7, 0x78, 0xb7, 0xe4, 0xb7, 0xce, 0x6a, 0x2a, 0x7c,
-	0x28, 0x80, 0x2c, 0xb6, 0x64, 0x13, 0x21, 0xc7, 0xf4, 0x6e, 0x1f, 0x01, 0xe4, 0x9e, 0xb0, 0x2b,
-	0xb7, 0x8d, 0xf9, 0x48, 0x37, 0x34, 0xd1, 0x9b, 0xc7, 0xf5, 0x4d, 0x1f, 0x91, 0x45, 0x87, 0xdb,
-	0x12, 0xd4, 0x9f, 0x49, 0x30, 0x1f, 0xe9, 0x7b, 0x26, 0xa2, 0x8e, 0xeb, 0x90, 0x4e, 0x88, 0x9a,
-	0x07, 0xf4, 0x6b, 0x67, 0x09, 0xe8, 0x24, 0x00, 0x45, 0x9b, 0x5a, 0x89, 0x01, 0x28, 0xb6, 0xd3,
-	0x57, 0xba, 0x71, 0x0a, 0x0e, 0x9e, 0x21, 0xbd, 0x4e, 0x31, 0xbf, 0x84, 0x6e, 0x4d, 0x1e, 0xdf,
-	0x85, 0x4e, 0xd9, 0x67, 0x12, 0xe4, 0xc4, 0xae, 0x67, 0xa2, 0x0d, 0xc7, 0xb4, 0x47, 0x27, 0x54,
-	0x6c, 0x1c, 0xc8, 0x24, 0xc5, 0xf6, 0x11, 0x12, 0xd5, 0xfe, 0x8e, 0x04, 0x0b, 0x03, 0x4d, 0xcb,
-	0x44, 0x8f, 0x16, 0xdf, 0xe0, 0x2c, 0xad, 0x06, 0x2c, 0xc1, 0x7f, 0x79, 0x58, 0x57, 0xba, 0x8e,
-	0x7f, 0x22, 0xdf, 0xa6, 0xe0, 0xde, 0x96, 0x5f, 0x3b, 0x0b, 0xb8, 0x57, 0x5b, 0x74, 0x33, 0x62,
-	0xa6, 0x3f, 0x92, 0x60, 0x61, 0xa0, 0xa3, 0x98, 0x08, 0x33, 0xbe, 0xfb, 0x58, 0x7a, 0x36, 0xf1,
-	0x44, 0xf6, 0xe7, 0x9f, 0x56, 0xa9, 0x9f, 0x6c, 0x78, 0x22, 0xb2, 0xbf, 0x90, 0x60, 0x3e, 0x52,
-	0xce, 0x41, 0xe3, 0x92, 0xf3, 0xc1, 0xc6, 0x52, 0xe9, 0x85, 0xc9, 0x19, 0xb8, 0xb1, 0x72, 0x55,
-	0xa3, 0x37, 0x27, 0x35, 0x56, 0xf1, 0x88, 0xf5, 0xf3, 0x0e, 0xf4, 0x03, 0x09, 0xb2, 0x42, 0xa3,
-	0x09, 0x3d, 0x9f, 0xac, 0xe6, 0xc1, 0x3c, 0x6f, 0x92, 0xe2, 0x54, 0x2c, 0xd6, 0x33, 0x24, 0x48,
-	0xd4, 0x31, 0x44, 0xfb, 0x9f, 0x89, 0x8e, 0x21, 0xb6, 0x55, 0x7a, 0xba, 0xcc, 0x54, 0x3e, 0xa7,
-	0x7a, 0x79, 0x70, 0xcb, 0x47, 0xfb, 0x9d, 0x89, 0xa8, 0x63, 0x5b, 0xa3, 0x13, 0xa2, 0xe6, 0x8a,
-	0xbe, 0x76, 0x5e, 0x45, 0xff, 0x93, 0x04, 0x6b, 0x23, 0x4a, 0xa9, 0x28, 0xe9, 0x47, 0x05, 0xc9,
-	0xe5, 0xd7, 0x09, 0x85, 0x50, 0xa9, 0x10, 0x3b, 0xf2, 0xf6, 0x39, 0xd3, 0x69, 0x97, 0x83, 0x21,
-	0xef, 0xe0, 0x9f, 0x25, 0x58, 0x89, 0xad, 0xe8, 0xa3, 0x97, 0x27, 0xbb, 0x1c, 0x0c, 0xf5, 0x00,
-	0x26, 0x14, 0xe6, 0x3e, 0x15, 0xe6, 0x1b, 0xf2, 0xce, 0xf9, 0xef, 0x06, 0x7d, 0x08, 0x44, 0xa2,
-	0x3f, 0x92, 0x20, 0x13, 0x16, 0x34, 0xd1, 0xf5, 0x53, 0x94, 0x3d, 0x27, 0x44, 0x5e, 0xa7, 0xc8,
-	0xab, 0xf2, 0xd6, 0xd9, 0xf2, 0x8e, 0x68, 0xcd, 0x53, 0xc8, 0x98, 0xfa, 0x55, 0xcc, 0x71, 0x19,
-	0xd3, 0x50, 0xbd, 0xf3, 0xd1, 0x64, 0x4c, 0xfd, 0x6d, 0x09, 0xea, 0x3f, 0x27, 0x77, 0x80, 0x68,
-	0x8d, 0x33, 0xf9, 0x0e, 0x10, 0x5b, 0x0f, 0x9d, 0x10, 0xf9, 0x2e, 0x45, 0xbe, 0x2d, 0x6f, 0x9e,
-	0x05, 0x39, 0xdd, 0xd8, 0x09, 0x36, 0x26, 0xd8, 0xff, 0x56, 0x02, 0x34, 0x5c, 0x1e, 0x45, 0xb7,
-	0x92, 0x7c, 0xe6, 0xa8, 0x6a, 0xea, 0x84, 0x12, 0x34, 0xa8, 0x04, 0x5f, 0x97, 0x95, 0x33, 0x48,
-	0xd0, 0x0a, 0xf6, 0x8e, 0x08, 0xf1, 0x57, 0xec, 0x12, 0x26, 0x36, 0xa6, 0xc6, 0x5d, 0xc2, 0x62,
-	0x9a, 0x58, 0x13, 0xc2, 0xff, 0x06, 0x85, 0x7f, 0x57, 0xbe, 0x7d, 0xfe, 0xe3, 0x4a, 0x36, 0x27,
-	0xf8, 0xff, 0x52, 0xa2, 0x1d, 0x91, 0xe8, 0xff, 0x8e, 0xb8, 0x39, 0x46, 0x80, 0x98, 0xfa, 0xee,
-	0x84, 0x12, 0xd4, 0xa8, 0x04, 0x77, 0xe4, 0xca, 0xd9, 0x8c, 0x3f, 0xb2, 0x33, 0x81, 0xff, 0xf7,
-	0xfc, 0x1e, 0x3f, 0x54, 0xe8, 0x1c, 0xfb, 0x99, 0x68, 0x7c, 0x3d, 0xf7, 0xc2, 0x83, 0x00, 0xf7,
-	0x95, 0x03, 0xbb, 0xbf, 0x2a, 0x5d, 0xdb, 0xfc, 0x89, 0x04, 0x97, 0x5b, 0x76, 0x77, 0xf4, 0xfe,
-	0x9b, 0x4b, 0x95, 0xe0, 0xdf, 0x3f, 0xd0, 0xd2, 0x43, 0x83, 0x64, 0xb7, 0x0d, 0xe9, 0xdd, 0x4d,
-	0xce, 0xd1, 0xb6, 0x3b, 0xba, 0xd5, 0x5e, 0xb7, 0xdd, 0xf6, 0x46, 0x1b, 0x5b, 0x34, 0xf7, 0xe5,
-	0xff, 0x58, 0x4d, 0x77, 0x4c, 0x2f, 0xe6, 0x9f, 0xab, 0xbd, 0x16, 0x92, 0x7e, 0x38, 0xf5, 0xe4,
-	0x36, 0x5b, 0xa4, 0xd2, 0xb1, 0x7b, 0xc6, 0x7a, 0x25, 0xdc, 0xfc, 0xde, 0x0d, 0xfa, 0x03, 0xf5,
-	0x1b, 0xff, 0x10, 0xcc, 0x78, 0x9f, 0xce, 0x78, 0x3f, 0x9c, 0xf1, 0xfe, 0x3d, 0xbe, 0xda, 0x41,
-	0x9a, 0x6e, 0xf9, 0xe2, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xec, 0x17, 0x6d, 0x5d, 0xce, 0x4d,
-	0x00, 0x00,
+	// 6487 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5d, 0x70, 0x1b, 0xd7,
+	0x75, 0xb0, 0x17, 0x24, 0x41, 0xf2, 0x90, 0x04, 0xc1, 0x4b, 0x8a, 0x82, 0xa0, 0xff, 0xb5, 0x1d,
+	0xcb, 0x72, 0x4c, 0x58, 0xb2, 0xe2, 0x7f, 0x3b, 0x06, 0xc1, 0x15, 0x85, 0x98, 0x04, 0x90, 0x05,
+	0x28, 0xc5, 0xb2, 0xbf, 0xd9, 0x59, 0x02, 0x57, 0xe0, 0x46, 0xc0, 0xee, 0x7a, 0x77, 0x21, 0x99,
+	0xd2, 0xe8, 0x9b, 0xfc, 0xce, 0x97, 0xbf, 0x2f, 0xd3, 0x34, 0x99, 0x24, 0x6d, 0xd3, 0x34, 0x4d,
+	0x5b, 0x27, 0xce, 0xa4, 0xed, 0x64, 0x3a, 0x9d, 0xa6, 0xd3, 0x4e, 0x26, 0xe9, 0x4b, 0x3b, 0x79,
+	0x48, 0x1e, 0xf2, 0xd2, 0x87, 0x4e, 0xa7, 0x9d, 0xc9, 0x74, 0x9a, 0x97, 0xb4, 0x79, 0xed, 0x53,
+	0xe7, 0xfe, 0xed, 0x0f, 0xb0, 0x04, 0x40, 0x88, 0x62, 0xfc, 0x24, 0xee, 0xb9, 0xf7, 0x9c, 0x7b,
+	0xce, 0xb9, 0xf7, 0x9e, 0x9f, 0x7b, 0xcf, 0x85, 0x20, 0xd7, 0xb4, 0xac, 0x66, 0x0b, 0xe7, 0xea,
+	0x96, 0xe9, 0xe9, 0x86, 0x89, 0x9d, 0xdc, 0xad, 0x0b, 0x7a, 0xcb, 0xde, 0xd1, 0x2f, 0xe4, 0xea,
+	0xad, 0x8e, 0xeb, 0x61, 0x47, 0x73, 0xb1, 0x73, 0xcb, 0xa8, 0xe3, 0x15, 0xdb, 0xb1, 0x3c, 0x0b,
+	0x1d, 0x63, 0x08, 0x2b, 0x3e, 0xc2, 0x8a, 0x40, 0xc8, 0x9e, 0xe0, 0xb4, 0x74, 0xdb, 0xc8, 0xe9,
+	0xa6, 0x69, 0x79, 0xba, 0x67, 0x58, 0xa6, 0xcb, 0x10, 0xb3, 0xa7, 0x78, 0xab, 0xa1, 0xb7, 0x73,
+	0xb7, 0x2e, 0x90, 0x7f, 0x34, 0xdb, 0x6a, 0x19, 0xf5, 0x5d, 0xde, 0x9e, 0x8d, 0xb6, 0x47, 0xda,
+	0x8e, 0xf3, 0x36, 0xfa, 0xb5, 0xdd, 0xb9, 0x91, 0xc3, 0x6d, 0xdb, 0xe3, 0x8d, 0xf2, 0xa7, 0x93,
+	0x00, 0x25, 0xab, 0x81, 0x0b, 0x96, 0x79, 0xc3, 0x68, 0xa2, 0xb3, 0x30, 0xdb, 0xd6, 0xeb, 0x3b,
+	0x86, 0x89, 0x35, 0x6f, 0xd7, 0xc6, 0x19, 0xe9, 0x8c, 0x74, 0x6e, 0x5a, 0x9d, 0xe1, 0xb0, 0xda,
+	0xae, 0x8d, 0xd1, 0x19, 0x98, 0x6d, 0x18, 0xee, 0x4d, 0xcd, 0x35, 0xee, 0x60, 0xad, 0xb9, 0x9d,
+	0x49, 0x9c, 0x91, 0xce, 0x4d, 0xa8, 0x40, 0x60, 0x55, 0xe3, 0x0e, 0x5e, 0xdf, 0x26, 0x44, 0x2c,
+	0xbd, 0xe3, 0xed, 0x68, 0x6e, 0xdd, 0xb2, 0xb1, 0x9b, 0x19, 0x3b, 0x33, 0x46, 0x88, 0x50, 0x58,
+	0x95, 0x82, 0xd0, 0x63, 0x30, 0xcf, 0x35, 0xa3, 0xe9, 0xf5, 0xba, 0xd5, 0x31, 0xbd, 0xcc, 0x34,
+	0x1d, 0x2a, 0xc5, 0xc1, 0x79, 0x06, 0x45, 0x65, 0x98, 0x6a, 0x63, 0x4f, 0x6f, 0xe8, 0x9e, 0x9e,
+	0x19, 0x3f, 0x33, 0x76, 0x6e, 0xe6, 0xe2, 0xd3, 0x2b, 0x7b, 0x2a, 0x71, 0x25, 0x90, 0x64, 0x65,
+	0x93, 0x63, 0x29, 0xa6, 0xe7, 0xec, 0xaa, 0x3e, 0x11, 0x74, 0x12, 0xc0, 0x68, 0xeb, 0x4d, 0x2e,
+	0xdf, 0x04, 0x1d, 0x74, 0x9a, 0x42, 0xa8, 0x74, 0x45, 0x48, 0xb6, 0xf4, 0x6d, 0xdc, 0x72, 0x33,
+	0x49, 0x3a, 0xda, 0x85, 0xe1, 0x46, 0xdb, 0xa0, 0x38, 0x6c, 0x2c, 0x4e, 0x00, 0xbd, 0x0f, 0xe6,
+	0x5b, 0x56, 0x5d, 0x6f, 0x69, 0xae, 0xdb, 0xd0, 0x98, 0x8c, 0x93, 0x54, 0x57, 0x73, 0x14, 0x5c,
+	0x75, 0x1b, 0x05, 0x2a, 0x22, 0x82, 0x71, 0x4f, 0x6f, 0xba, 0x99, 0x29, 0xaa, 0x26, 0xfa, 0x37,
+	0x3a, 0x03, 0x33, 0xb6, 0x83, 0xc9, 0x44, 0x19, 0xdb, 0x2d, 0x9c, 0x81, 0x33, 0xd2, 0xb9, 0x29,
+	0x35, 0x0c, 0x42, 0x15, 0x98, 0xd5, 0xeb, 0x75, 0xdc, 0xc2, 0x8e, 0xee, 0x59, 0x8e, 0x9b, 0x99,
+	0xa1, 0xec, 0xbe, 0xbf, 0x0f, 0xbb, 0xf9, 0xa0, 0x3b, 0xe3, 0x5a, 0x8d, 0x50, 0x40, 0xc7, 0x61,
+	0x9a, 0x4e, 0x2c, 0x55, 0xcc, 0x2c, 0x55, 0xcc, 0x14, 0x01, 0x50, 0xbd, 0x9c, 0x83, 0x74, 0xdb,
+	0x30, 0xb5, 0xba, 0xdd, 0xd1, 0xec, 0x96, 0xee, 0xdd, 0xb0, 0x9c, 0x76, 0x66, 0x8e, 0xcd, 0x58,
+	0xdb, 0x30, 0x0b, 0x76, 0xa7, 0xc2, 0xa1, 0xe8, 0x25, 0x48, 0x92, 0x91, 0x3d, 0x37, 0x33, 0x4f,
+	0x59, 0x7a, 0x64, 0x80, 0x06, 0x6b, 0xa4, 0xb3, 0xca, 0x71, 0xb2, 0x2f, 0xc2, 0x5c, 0x64, 0xe6,
+	0x50, 0x1a, 0xc6, 0x6e, 0xe2, 0x5d, 0xbe, 0x10, 0xc9, 0x9f, 0x68, 0x09, 0x26, 0x6e, 0xe9, 0xad,
+	0x0e, 0xa6, 0x2b, 0x6f, 0x5a, 0x65, 0x1f, 0x2f, 0x24, 0x9e, 0x93, 0xb2, 0xcf, 0xc3, 0x4c, 0x68,
+	0x22, 0xf6, 0x83, 0x2a, 0xff, 0x42, 0x82, 0x69, 0x9f, 0x9b, 0x61, 0x31, 0x51, 0x01, 0x92, 0xf8,
+	0xc6, 0x0d, 0x5c, 0xf7, 0x32, 0x63, 0x67, 0xa4, 0x73, 0xa9, 0x8b, 0x4f, 0x0c, 0x23, 0xeb, 0x8a,
+	0x42, 0x51, 0x54, 0x8e, 0x2a, 0xbf, 0x0e, 0x49, 0x06, 0x41, 0xcb, 0x80, 0x94, 0xcb, 0x97, 0x95,
+	0x42, 0x4d, 0xdb, 0x2a, 0x55, 0x2b, 0x4a, 0xa1, 0x78, 0xb9, 0xa8, 0xac, 0xa5, 0x1f, 0x42, 0xf3,
+	0x30, 0x53, 0x2a, 0x6b, 0xd5, 0xc2, 0x15, 0x65, 0x6d, 0x6b, 0x43, 0x49, 0x4b, 0xa4, 0x63, 0x45,
+	0x55, 0x2e, 0x2b, 0xaa, 0x16, 0x86, 0x27, 0x50, 0x0a, 0xa0, 0x54, 0xd6, 0x94, 0x8f, 0x28, 0x85,
+	0xad, 0x9a, 0x92, 0x1e, 0x93, 0x7f, 0x98, 0x00, 0xd8, 0xd4, 0x89, 0x21, 0xca, 0x77, 0xbc, 0x1d,
+	0x94, 0x85, 0xa9, 0x8e, 0x8b, 0x1d, 0x53, 0x6f, 0x8b, 0x9d, 0xed, 0x7f, 0x93, 0x36, 0x5b, 0x77,
+	0xdd, 0xdb, 0x96, 0xd3, 0xe0, 0x32, 0xfa, 0xdf, 0xc8, 0x84, 0x63, 0xf5, 0x96, 0x81, 0x4d, 0x4f,
+	0xab, 0x63, 0xc7, 0x33, 0x6e, 0x18, 0x75, 0xdd, 0xc3, 0x5a, 0x9d, 0x2e, 0x22, 0x2a, 0xf9, 0xcc,
+	0xc5, 0x8b, 0x7d, 0x24, 0x2f, 0x50, 0xdc, 0x42, 0x80, 0xca, 0x97, 0xdf, 0xd1, 0x7a, 0x7c, 0x03,
+	0xba, 0x04, 0xcb, 0xc2, 0x7e, 0xd6, 0xf5, 0xf0, 0x98, 0x99, 0x06, 0xe5, 0x6c, 0x89, 0xb7, 0x16,
+	0xf4, 0x10, 0x2e, 0x7a, 0x12, 0x50, 0x2f, 0x97, 0x19, 0x4c, 0x31, 0x16, 0x7a, 0x86, 0x22, 0x86,
+	0x80, 0x77, 0x27, 0x53, 0x7d, 0x83, 0x19, 0x02, 0x06, 0x79, 0x0d, 0xef, 0xca, 0x55, 0x38, 0xba,
+	0x07, 0xdf, 0xe8, 0x39, 0xc8, 0x18, 0xae, 0xdb, 0xc1, 0x5a, 0xcc, 0x70, 0x12, 0xdd, 0xa9, 0xcb,
+	0xb4, 0xbd, 0x07, 0x5f, 0x7e, 0x67, 0x0c, 0x66, 0xf3, 0x8d, 0x86, 0x65, 0xba, 0x9c, 0xd4, 0x9b,
+	0xb0, 0xb8, 0xe3, 0x79, 0xb6, 0xd6, 0xb2, 0xf4, 0x86, 0xb6, 0xad, 0xb7, 0x74, 0xb3, 0x6e, 0x98,
+	0x4d, 0x4a, 0xa5, 0xff, 0x66, 0xbe, 0xe2, 0x79, 0xf6, 0x86, 0xa5, 0x37, 0x56, 0x05, 0x8e, 0xba,
+	0xb0, 0xd3, 0x0d, 0x42, 0x6f, 0x41, 0x76, 0xc7, 0x72, 0x8c, 0x3b, 0x04, 0xbd, 0xa5, 0xd9, 0x56,
+	0x43, 0xd3, 0x3b, 0x9e, 0xe5, 0xd6, 0xf5, 0x16, 0x19, 0x24, 0x41, 0x07, 0xe9, 0x67, 0x4e, 0xaf,
+	0xf8, 0xc8, 0x15, 0xab, 0x91, 0x0f, 0x50, 0xd5, 0xcc, 0xce, 0x1e, 0x2d, 0x48, 0x87, 0xa5, 0x9b,
+	0x9d, 0x6d, 0xec, 0x98, 0xd8, 0xc3, 0xae, 0xd6, 0xd0, 0xdd, 0x9d, 0x6d, 0x4b, 0x77, 0x1a, 0x7c,
+	0x95, 0xac, 0xf4, 0x19, 0xec, 0x35, 0x1f, 0x6d, 0x4d, 0x60, 0xa9, 0x8b, 0x37, 0x7b, 0x81, 0x68,
+	0x1b, 0x8e, 0x98, 0xd8, 0xbb, 0x6d, 0x39, 0x37, 0xb9, 0x0f, 0x14, 0x2b, 0x71, 0x7c, 0xe0, 0x18,
+	0x25, 0x86, 0x57, 0xa1, 0x68, 0x7c, 0x15, 0x2e, 0x9a, 0xbd, 0x40, 0x39, 0x07, 0x0b, 0x3d, 0x1a,
+	0x26, 0x5b, 0xa4, 0x61, 0xb8, 0xfa, 0x76, 0x0b, 0x37, 0xf8, 0x3c, 0xfb, 0xdf, 0xf2, 0x33, 0x90,
+	0xd9, 0x4b, 0x5b, 0x7d, 0xf1, 0x2e, 0xc0, 0x62, 0x8c, 0xe0, 0x83, 0x50, 0x62, 0xe4, 0xe8, 0x8b,
+	0xf2, 0xd9, 0x04, 0x2c, 0x55, 0x1c, 0xe3, 0x16, 0x59, 0xc3, 0x7c, 0xeb, 0x30, 0xa4, 0xa7, 0x60,
+	0x09, 0x9b, 0xa4, 0x8f, 0x66, 0xb3, 0x66, 0xcd, 0xb4, 0x1a, 0xd8, 0xe5, 0x04, 0x10, 0x6b, 0xe3,
+	0x98, 0xc4, 0x80, 0xb9, 0xe8, 0x19, 0x38, 0xda, 0x85, 0x81, 0xcd, 0x86, 0x6d, 0x19, 0xa6, 0x47,
+	0x17, 0xd4, 0x94, 0x7a, 0x24, 0x82, 0xa4, 0xf0, 0x46, 0xf4, 0x34, 0x2c, 0xb7, 0xa9, 0x25, 0xd2,
+	0x0c, 0xfb, 0xd6, 0x25, 0xad, 0x6e, 0x34, 0x1c, 0x6d, 0xbb, 0x65, 0xd5, 0x6f, 0xd2, 0xa5, 0x31,
+	0xad, 0x2e, 0xb2, 0xd6, 0xa2, 0x7d, 0xeb, 0x52, 0xc1, 0x68, 0x38, 0xab, 0xa4, 0x09, 0x3d, 0x0e,
+	0xe9, 0x9e, 0x51, 0xc6, 0x69, 0xf7, 0x79, 0xbb, 0x8b, 0xfe, 0x63, 0x30, 0x6f, 0x77, 0xb6, 0x5b,
+	0x46, 0x3d, 0xe8, 0xc9, 0x9c, 0x7b, 0x8a, 0x81, 0x45, 0x47, 0xf9, 0xbf, 0x24, 0x38, 0x15, 0xd8,
+	0x44, 0x32, 0x67, 0xb8, 0xc1, 0xf5, 0x29, 0x76, 0x65, 0x06, 0x26, 0x99, 0x10, 0x42, 0x93, 0xe2,
+	0x13, 0x35, 0x60, 0x26, 0xe0, 0xdc, 0xcd, 0x24, 0xa8, 0x87, 0x2b, 0xf4, 0x59, 0x71, 0xfd, 0x47,
+	0x5a, 0xf1, 0x45, 0x55, 0xa1, 0x2e, 0xfe, 0x74, 0xb3, 0x9b, 0x30, 0x1d, 0xe8, 0xe0, 0x2c, 0x8d,
+	0xb7, 0xec, 0x96, 0xbe, 0xab, 0x85, 0x0c, 0xf7, 0x0c, 0x87, 0x95, 0x88, 0xed, 0x26, 0xa6, 0x2c,
+	0xd0, 0x67, 0x82, 0x9b, 0x32, 0x41, 0x41, 0xfe, 0x9e, 0x04, 0x73, 0x91, 0x15, 0x83, 0x36, 0x61,
+	0xca, 0x76, 0xac, 0x5b, 0x46, 0x03, 0x3b, 0x94, 0x5e, 0xaa, 0x7f, 0x9c, 0x13, 0xc6, 0x5d, 0xa9,
+	0x70, 0x44, 0xd5, 0x27, 0x11, 0xd6, 0x57, 0x22, 0xa2, 0x2f, 0xf9, 0x29, 0x98, 0xaa, 0x04, 0xbd,
+	0x96, 0x2a, 0x6a, 0xf9, 0x6a, 0x71, 0x4d, 0x51, 0xbb, 0xfc, 0x1b, 0x40, 0xb2, 0x90, 0xdf, 0x28,
+	0x16, 0xca, 0x69, 0x49, 0xfe, 0xcd, 0x38, 0xa0, 0x62, 0x25, 0xdf, 0x22, 0x31, 0x12, 0x89, 0x80,
+	0x39, 0xc7, 0x8f, 0x40, 0xaa, 0xe3, 0x62, 0xcd, 0xb0, 0x35, 0xbd, 0x65, 0xe8, 0xae, 0xbf, 0x44,
+	0x67, 0x3b, 0x2e, 0x2e, 0xda, 0x79, 0x06, 0x43, 0x4f, 0xc0, 0x42, 0xdd, 0xc1, 0x64, 0xb9, 0xb8,
+	0x9d, 0x6d, 0xbe, 0xaf, 0x39, 0x4b, 0x69, 0xd6, 0x50, 0xf5, 0xe1, 0x34, 0x06, 0xf5, 0xbf, 0x98,
+	0x6e, 0xc7, 0x78, 0x0c, 0xea, 0x83, 0xa9, 0x7a, 0x57, 0x60, 0x41, 0xb8, 0x23, 0x7f, 0xed, 0xb2,
+	0x65, 0xb8, 0x9a, 0xc8, 0x48, 0xea, 0x3c, 0x6f, 0x14, 0x4b, 0x17, 0x9d, 0x83, 0x14, 0xd9, 0x45,
+	0xa1, 0xce, 0x13, 0x7e, 0xe7, 0x59, 0xd2, 0xe2, 0xf7, 0x7c, 0x0a, 0x10, 0x8f, 0x77, 0xdd, 0x50,
+	0xef, 0xa4, 0xdf, 0x3b, 0x2d, 0x5a, 0x7d, 0x8c, 0x0f, 0xc2, 0x89, 0x20, 0xb5, 0xa8, 0x5b, 0x66,
+	0x43, 0x77, 0x76, 0x35, 0x47, 0x37, 0x9b, 0x98, 0x49, 0x30, 0x49, 0x25, 0x38, 0xc6, 0xfb, 0x54,
+	0x45, 0x17, 0x95, 0xf4, 0xa0, 0xc2, 0xe4, 0xe1, 0xa4, 0x3f, 0x64, 0x2c, 0x85, 0x29, 0x4a, 0x21,
+	0x2b, 0x3a, 0xc5, 0x90, 0xf8, 0x00, 0x1c, 0xed, 0xd1, 0x07, 0x5f, 0x7b, 0xd3, 0x11, 0xff, 0x1c,
+	0xdd, 0xcc, 0x39, 0x58, 0x8a, 0xaa, 0x85, 0xe3, 0x00, 0xf3, 0xd0, 0x61, 0xc5, 0x30, 0x84, 0x67,
+	0x21, 0xd3, 0xab, 0x1d, 0x8e, 0x34, 0x43, 0x91, 0x8e, 0x74, 0xeb, 0x87, 0x21, 0xae, 0xc0, 0xa2,
+	0xde, 0x6a, 0x59, 0xb7, 0x35, 0xc7, 0xea, 0x78, 0x58, 0xb3, 0x6e, 0x61, 0xa7, 0xa5, 0xdb, 0x34,
+	0xa6, 0x9d, 0x52, 0x17, 0x68, 0x93, 0x4a, 0x5a, 0xca, 0xac, 0x41, 0xce, 0xc1, 0xe2, 0xaa, 0x61,
+	0xea, 0xce, 0xae, 0xd8, 0xa7, 0x74, 0xe5, 0xed, 0x6d, 0x06, 0xe4, 0xa7, 0xe1, 0x68, 0xc5, 0x6a,
+	0x54, 0x71, 0xbd, 0xe3, 0x18, 0xde, 0x6e, 0xc4, 0x0c, 0xef, 0x8d, 0x74, 0x09, 0x32, 0x9b, 0xba,
+	0xa9, 0x37, 0x71, 0xa3, 0x62, 0x35, 0x8a, 0x0d, 0x6c, 0x7a, 0x86, 0x37, 0x18, 0xeb, 0x87, 0x12,
+	0xcc, 0x57, 0x3d, 0xdd, 0xeb, 0x10, 0x93, 0xd1, 0x30, 0x28, 0x63, 0x05, 0x18, 0xaf, 0x5b, 0x0d,
+	0xcc, 0xb7, 0x6e, 0xae, 0xcf, 0xd6, 0xed, 0xc2, 0x5c, 0x29, 0x58, 0x0d, 0xac, 0x52, 0x64, 0x32,
+	0x64, 0x1b, 0xbb, 0xae, 0xde, 0x14, 0x31, 0xad, 0xf8, 0x94, 0x2f, 0xc3, 0x38, 0xe9, 0x87, 0x66,
+	0x60, 0x72, 0xab, 0xf4, 0x5a, 0xa9, 0x7c, 0xad, 0x94, 0x7e, 0x08, 0xa5, 0x61, 0x76, 0xbd, 0xa0,
+	0x68, 0xd5, 0x5a, 0xb9, 0xf0, 0x5a, 0x79, 0xab, 0x96, 0x96, 0xd0, 0x69, 0x38, 0xbe, 0xfe, 0x9a,
+	0xa2, 0x55, 0x15, 0xf5, 0x6a, 0xb1, 0xa0, 0x68, 0xf9, 0x42, 0xa1, 0xbc, 0x55, 0xaa, 0x69, 0x6b,
+	0xca, 0x86, 0x52, 0x53, 0xd6, 0xd2, 0x09, 0xf9, 0x3f, 0x96, 0x60, 0x92, 0xbb, 0x1b, 0x92, 0xe4,
+	0x84, 0xac, 0x17, 0xfd, 0x9b, 0x24, 0x39, 0x0d, 0xec, 0xd6, 0x1d, 0xc3, 0x26, 0xbc, 0x71, 0x2e,
+	0xc2, 0x20, 0xf4, 0x7e, 0x40, 0x86, 0x69, 0x78, 0x86, 0xde, 0xa2, 0x7e, 0x89, 0x67, 0x51, 0x63,
+	0x34, 0x8b, 0x4a, 0xf3, 0x16, 0x96, 0x85, 0x91, 0x44, 0xea, 0x32, 0xcc, 0xf0, 0x5e, 0xa1, 0x70,
+	0xe0, 0xd1, 0xa1, 0x12, 0x38, 0x15, 0xcc, 0x20, 0x09, 0xbe, 0x0c, 0x33, 0xdc, 0x55, 0x91, 0x8c,
+	0x95, 0x6e, 0xde, 0xfe, 0x74, 0x02, 0x23, 0xaf, 0x42, 0x3b, 0x08, 0xb7, 0x1f, 0x23, 0x09, 0x60,
+	0xb3, 0x69, 0x98, 0x4d, 0x71, 0x0c, 0xc0, 0xb6, 0xb6, 0x9a, 0xe2, 0xe0, 0x2a, 0x83, 0x92, 0xc8,
+	0xb5, 0x6d, 0x99, 0x86, 0x67, 0x39, 0xe1, 0xbe, 0x6c, 0x2b, 0x2f, 0x04, 0x2d, 0xa2, 0x7b, 0x06,
+	0x26, 0x85, 0x6d, 0x63, 0x9b, 0x55, 0x7c, 0xa2, 0xf3, 0x71, 0x96, 0x8a, 0xed, 0xc9, 0x1e, 0x2b,
+	0xb5, 0x01, 0x73, 0x3a, 0x0d, 0x45, 0x85, 0xbe, 0x80, 0xca, 0xf9, 0x58, 0xbf, 0x0c, 0x32, 0x14,
+	0xba, 0xaa, 0xb3, 0x7a, 0x38, 0x90, 0x3d, 0x05, 0x10, 0x32, 0xb9, 0x6c, 0x77, 0x86, 0x20, 0x68,
+	0x15, 0xa8, 0x86, 0x35, 0xdb, 0xb2, 0x5a, 0x6e, 0x66, 0x96, 0xfa, 0xcd, 0x87, 0x07, 0x4c, 0x4d,
+	0xc5, 0xb2, 0x5a, 0xea, 0xb4, 0xc9, 0xff, 0x72, 0xd1, 0x09, 0x98, 0x16, 0x5e, 0xc1, 0xcd, 0xcc,
+	0xd1, 0x6c, 0x39, 0x00, 0x84, 0x02, 0x93, 0x50, 0x00, 0x4a, 0xa9, 0x65, 0x52, 0xe1, 0xc0, 0x24,
+	0x08, 0xb7, 0xf2, 0xa4, 0x11, 0x95, 0x21, 0x15, 0x0d, 0x27, 0x33, 0x8b, 0x54, 0x11, 0xe7, 0x86,
+	0xf5, 0x88, 0xea, 0x5c, 0x24, 0x82, 0x44, 0x1a, 0x2c, 0x51, 0x37, 0x25, 0x58, 0x13, 0x64, 0x97,
+	0x28, 0xd9, 0x27, 0xfb, 0x90, 0xed, 0xf5, 0x7b, 0x2a, 0x32, 0xec, 0x1e, 0x5f, 0xf8, 0x29, 0x09,
+	0xce, 0x86, 0x16, 0x28, 0x0b, 0x2c, 0x34, 0xce, 0x84, 0x3f, 0x9d, 0xcb, 0x74, 0xb8, 0xe7, 0x47,
+	0x8e, 0x4d, 0xd4, 0x53, 0xed, 0xfe, 0x51, 0xd2, 0x1b, 0x80, 0xda, 0x24, 0x9f, 0xc5, 0xa6, 0x6e,
+	0xd6, 0xb1, 0x90, 0xf2, 0xe8, 0xc0, 0xd4, 0x65, 0x33, 0x40, 0xe2, 0x42, 0x2e, 0xb4, 0xbb, 0x41,
+	0x24, 0x8f, 0xd8, 0xa6, 0x26, 0xd9, 0x17, 0x91, 0x6a, 0x20, 0x93, 0x19, 0x18, 0xe3, 0xc7, 0x58,
+	0x72, 0x75, 0x71, 0x3b, 0xc6, 0xbc, 0x5b, 0x90, 0x25, 0x29, 0x91, 0xcb, 0xad, 0x78, 0x57, 0x32,
+	0x71, 0x6c, 0x60, 0x5a, 0xbb, 0x87, 0x07, 0x50, 0x8f, 0xda, 0x7b, 0xb8, 0x86, 0x32, 0xcc, 0x84,
+	0xf3, 0xaf, 0xec, 0xc0, 0xf5, 0xc0, 0x8d, 0x67, 0x38, 0xf3, 0x0a, 0x53, 0x40, 0x0e, 0x1c, 0x6f,
+	0x33, 0x8f, 0x42, 0x93, 0x3b, 0x83, 0xfb, 0x14, 0x21, 0xc2, 0x99, 0x81, 0x09, 0xde, 0x5e, 0xfe,
+	0x48, 0xcd, 0xb4, 0xf7, 0xf2, 0x54, 0x2e, 0x64, 0xe8, 0x46, 0x76, 0xeb, 0x3b, 0xb8, 0xd1, 0x69,
+	0x51, 0x83, 0xe5, 0x39, 0xba, 0x87, 0x9b, 0xbb, 0x99, 0x87, 0xa9, 0x3f, 0x7a, 0x7e, 0xb0, 0x44,
+	0x74, 0x7b, 0x57, 0x7d, 0x0a, 0x55, 0x4e, 0x40, 0x5d, 0x36, 0x63, 0xe1, 0x08, 0xc3, 0xb2, 0xc8,
+	0x03, 0xfc, 0x83, 0x01, 0x26, 0xe3, 0xa3, 0x54, 0xc6, 0x7e, 0x2e, 0x30, 0x2e, 0xef, 0x51, 0x97,
+	0xec, 0xb8, 0x6c, 0xe8, 0x38, 0x4c, 0xbb, 0xb8, 0x75, 0x43, 0x6b, 0x19, 0xe6, 0x4d, 0x7e, 0xd4,
+	0x30, 0x45, 0x00, 0x1b, 0x86, 0x79, 0x13, 0x2d, 0xc3, 0xf8, 0x1d, 0xcb, 0xe4, 0x07, 0x0a, 0x34,
+	0x3a, 0xa3, 0xdf, 0x24, 0xef, 0xf2, 0x33, 0x0e, 0x76, 0x8a, 0xe0, 0x7f, 0x13, 0x9b, 0x24, 0xfc,
+	0x97, 0xe0, 0xfb, 0x16, 0x76, 0x5c, 0xb2, 0x90, 0x9b, 0x2c, 0x80, 0xe1, 0xcd, 0x9c, 0x8f, 0xab,
+	0xac, 0x91, 0x1e, 0x80, 0x74, 0x1c, 0x07, 0x9b, 0x9e, 0xc6, 0x37, 0xba, 0x40, 0xdb, 0xe1, 0x01,
+	0x16, 0x6b, 0x65, 0x3b, 0x38, 0xc0, 0x12, 0x70, 0xe6, 0x2d, 0x05, 0x8e, 0xe1, 0x73, 0x8c, 0x78,
+	0x3b, 0x51, 0xbf, 0xc0, 0x3a, 0x0d, 0x33, 0x3c, 0x66, 0xf6, 0x8c, 0x36, 0xce, 0x7c, 0x94, 0x99,
+	0x6e, 0x06, 0xaa, 0x19, 0x34, 0x62, 0x4c, 0xba, 0x34, 0x8c, 0xc8, 0xdc, 0xa4, 0xf3, 0xfb, 0xf8,
+	0x10, 0xf3, 0xcb, 0xe2, 0x0e, 0x95, 0x23, 0xa2, 0xc7, 0x21, 0xc5, 0xfe, 0xd2, 0x44, 0xc8, 0xd1,
+	0xf2, 0x79, 0x9a, 0x63, 0x2d, 0x9b, 0xac, 0x01, 0x3d, 0x09, 0x8b, 0x5d, 0x51, 0xa2, 0x6b, 0xdc,
+	0xc1, 0x99, 0x36, 0xf3, 0xf9, 0xe1, 0x20, 0xb1, 0x6a, 0xdc, 0xc1, 0x24, 0x42, 0x88, 0x89, 0xa0,
+	0x4d, 0x2a, 0x44, 0x6f, 0xf4, 0x7c, 0x11, 0x16, 0x0d, 0xd3, 0xf5, 0xa8, 0xbd, 0x6a, 0x3a, 0x56,
+	0xc7, 0xd6, 0x3a, 0x4e, 0xcb, 0xcd, 0x58, 0xc4, 0x97, 0x50, 0x66, 0x16, 0x44, 0xf3, 0x3a, 0x69,
+	0xdd, 0x72, 0x5a, 0x2e, 0x19, 0x21, 0xa2, 0x55, 0x16, 0x83, 0xd8, 0x8c, 0x9f, 0x90, 0x3e, 0x59,
+	0x0c, 0x72, 0x1a, 0x66, 0xf0, 0xdb, 0xb6, 0xe1, 0x70, 0x6d, 0xbe, 0xc5, 0xb4, 0xc9, 0x40, 0x54,
+	0x9b, 0x59, 0x98, 0x12, 0xe6, 0x3c, 0xe3, 0xb0, 0xe5, 0x22, 0xbe, 0xd1, 0x87, 0x00, 0xea, 0x22,
+	0x54, 0x73, 0x33, 0xb7, 0xa8, 0x93, 0x3c, 0x3f, 0x7c, 0x74, 0xa7, 0x86, 0xb0, 0xe5, 0xdb, 0x90,
+	0x64, 0xcd, 0x68, 0x19, 0x50, 0xb5, 0x96, 0xaf, 0x6d, 0x55, 0xbb, 0xb2, 0xae, 0x34, 0xcc, 0xd2,
+	0x7c, 0xac, 0x5a, 0x2c, 0x97, 0x8a, 0xa5, 0xf5, 0xb4, 0x44, 0x02, 0x3e, 0x75, 0xab, 0x44, 0x3f,
+	0x12, 0x68, 0x1e, 0x66, 0x54, 0xa5, 0x50, 0x2e, 0x15, 0x8a, 0x1b, 0x04, 0x30, 0x86, 0x66, 0x61,
+	0xaa, 0x5a, 0x2b, 0x57, 0x2a, 0xe4, 0x6b, 0x1c, 0x4d, 0xc3, 0x84, 0xa2, 0xaa, 0x65, 0x35, 0x3d,
+	0x41, 0x1a, 0xd6, 0x94, 0x75, 0x35, 0xbf, 0xa6, 0xac, 0xa5, 0x93, 0xf2, 0x5b, 0xb0, 0x1c, 0xbf,
+	0xbb, 0x49, 0x02, 0x58, 0xad, 0xa9, 0xf9, 0x9a, 0xb2, 0xfe, 0x7a, 0x17, 0x2b, 0x27, 0xe1, 0x58,
+	0x45, 0x2d, 0x96, 0xd5, 0x62, 0xad, 0x78, 0x5d, 0xd1, 0x36, 0x94, 0x7c, 0xb5, 0xa6, 0x6d, 0xd5,
+	0x8a, 0x1b, 0xc5, 0xeb, 0xca, 0x5a, 0x5a, 0x42, 0xa7, 0x20, 0x1b, 0x6a, 0xde, 0x54, 0xd6, 0x8a,
+	0x5b, 0x9b, 0x41, 0x7b, 0x42, 0xfe, 0xf1, 0x14, 0xcc, 0xf1, 0x95, 0xb7, 0x65, 0x37, 0x74, 0x0f,
+	0xa3, 0xa7, 0x60, 0xa9, 0x81, 0x5d, 0xc3, 0x21, 0x7e, 0x31, 0xbc, 0x15, 0xd8, 0xe1, 0x01, 0xe2,
+	0x6d, 0xe1, 0x6d, 0xf0, 0x12, 0x64, 0x05, 0x46, 0x4c, 0x2c, 0xc6, 0x8e, 0x12, 0x32, 0xbc, 0xc7,
+	0x66, 0x4f, 0x48, 0xf6, 0x06, 0x1c, 0x11, 0xd8, 0xd1, 0xa0, 0x2a, 0xb9, 0xbf, 0xa0, 0x6a, 0x91,
+	0x53, 0x89, 0x1c, 0x12, 0xe6, 0xba, 0x84, 0x21, 0x31, 0x94, 0x66, 0x34, 0x44, 0x80, 0x18, 0x12,
+	0x86, 0xc4, 0x49, 0xc5, 0x06, 0x59, 0xb2, 0x02, 0x21, 0x74, 0xd7, 0xc1, 0x62, 0xc5, 0x34, 0x6f,
+	0x29, 0xfa, 0x57, 0x1e, 0x6f, 0xc1, 0xc9, 0x5e, 0xf2, 0x61, 0x47, 0x35, 0x3d, 0xf8, 0x5c, 0x8d,
+	0x8f, 0x1d, 0xf6, 0x54, 0xd9, 0x2e, 0xbe, 0xc2, 0x27, 0x62, 0x4f, 0x80, 0xe0, 0x5a, 0x0b, 0x22,
+	0x3a, 0xa0, 0x11, 0x9d, 0xe0, 0x6f, 0xc3, 0x0f, 0xec, 0xbe, 0x2c, 0xc1, 0xe3, 0xfe, 0xd4, 0x0c,
+	0x0c, 0x7b, 0x66, 0xef, 0x37, 0xec, 0x79, 0x54, 0x4c, 0x72, 0xff, 0xe8, 0xe7, 0xff, 0x82, 0x2c,
+	0x98, 0xea, 0x13, 0x45, 0xa4, 0x46, 0x8e, 0x22, 0x4e, 0x71, 0xea, 0x7b, 0xe5, 0x99, 0x6d, 0x38,
+	0x2e, 0xc6, 0x17, 0xae, 0x25, 0x3c, 0x67, 0xf3, 0xa3, 0x04, 0x17, 0xc7, 0x38, 0xc5, 0xde, 0x26,
+	0x64, 0xc3, 0x09, 0x31, 0x5c, 0x6c, 0x5c, 0x96, 0x1e, 0x29, 0x2e, 0x13, 0x6b, 0x24, 0x2e, 0xfb,
+	0x7e, 0x06, 0x8e, 0x06, 0x6b, 0x24, 0x9a, 0x45, 0x2d, 0x32, 0xdf, 0xe9, 0xaf, 0x94, 0x48, 0x32,
+	0x75, 0x09, 0x96, 0xbb, 0x56, 0x8b, 0xd8, 0xfc, 0xfc, 0xf2, 0x20, 0x32, 0xbf, 0x7c, 0xfb, 0xcb,
+	0xdf, 0x98, 0x86, 0xe9, 0xb2, 0x8d, 0x1d, 0x36, 0x76, 0x5c, 0xb6, 0x2a, 0xfc, 0x7f, 0xa2, 0xcb,
+	0xff, 0x57, 0x20, 0x65, 0x09, 0x44, 0xb6, 0xd1, 0xc6, 0x06, 0xba, 0x49, 0x7f, 0xa4, 0x15, 0xb2,
+	0x03, 0xd5, 0x39, 0x9f, 0x00, 0xdd, 0x90, 0x05, 0xdf, 0xe1, 0x8e, 0x0f, 0xbc, 0x55, 0x0a, 0x28,
+	0x75, 0xb9, 0xdc, 0x65, 0x48, 0x36, 0xb0, 0xa7, 0x1b, 0x2d, 0xbe, 0xef, 0xf9, 0x57, 0x8c, 0x2b,
+	0x9e, 0xd8, 0xcb, 0x15, 0x47, 0xc2, 0xa1, 0x64, 0x57, 0x38, 0x74, 0x1a, 0x66, 0x3c, 0xdd, 0x69,
+	0x62, 0x8f, 0x35, 0x33, 0x5b, 0x04, 0x0c, 0x44, 0x3b, 0x84, 0x1d, 0xdd, 0x74, 0x97, 0xa3, 0x3b,
+	0x09, 0xe0, 0x7a, 0xba, 0xe3, 0x31, 0x27, 0xc9, 0x0e, 0x80, 0xa6, 0x29, 0x84, 0xfa, 0xc8, 0x63,
+	0x34, 0xa4, 0x62, 0x8d, 0x2c, 0x95, 0x9c, 0xc4, 0x66, 0x83, 0x36, 0x5d, 0xa1, 0x27, 0x97, 0x4d,
+	0x07, 0xbb, 0x2e, 0xdf, 0xea, 0xef, 0x1f, 0x46, 0x3b, 0x15, 0x8e, 0xa3, 0xfa, 0xd8, 0xe8, 0x75,
+	0x40, 0xa1, 0x58, 0x52, 0x38, 0xdd, 0xb9, 0x7d, 0x3b, 0x5d, 0x91, 0x71, 0xfb, 0x10, 0x17, 0xbd,
+	0xc1, 0x62, 0x18, 0x6a, 0x48, 0x43, 0xb4, 0x53, 0xfb, 0xa6, 0x8d, 0x04, 0x99, 0x80, 0xb8, 0xac,
+	0x0e, 0x74, 0xec, 0x33, 0x30, 0x59, 0x51, 0x4a, 0x6b, 0x31, 0x3e, 0x7d, 0x0a, 0xc6, 0xd7, 0xca,
+	0x25, 0x85, 0x39, 0xf3, 0xfc, 0x6a, 0x59, 0xad, 0x51, 0x67, 0x2e, 0x7f, 0x73, 0x0c, 0xc6, 0xe9,
+	0xd2, 0x5b, 0x82, 0x74, 0xed, 0xf5, 0x8a, 0xd2, 0x45, 0x10, 0x41, 0xaa, 0xa0, 0x2a, 0xf9, 0x9a,
+	0xa2, 0x15, 0x36, 0xb6, 0xaa, 0x35, 0x45, 0x4d, 0x4b, 0x04, 0xc6, 0x4e, 0x7a, 0x7c, 0x58, 0x82,
+	0xc0, 0xb6, 0x2a, 0x34, 0x10, 0xd0, 0x36, 0xf3, 0x14, 0x36, 0x86, 0x16, 0x60, 0x4e, 0xc0, 0x4a,
+	0xe5, 0x35, 0xa5, 0x9a, 0x1e, 0x27, 0xdd, 0x54, 0xa5, 0x92, 0x2f, 0xaa, 0x3e, 0xea, 0x04, 0x43,
+	0x5d, 0x0b, 0x0f, 0x91, 0x24, 0xcc, 0xf0, 0x61, 0x09, 0xa6, 0x56, 0x29, 0x97, 0x37, 0xd2, 0x93,
+	0x04, 0xca, 0x07, 0x0e, 0xa0, 0x53, 0xe8, 0x04, 0x64, 0xaa, 0x4a, 0x2d, 0x00, 0x69, 0x9b, 0xf9,
+	0x52, 0x7e, 0x5d, 0xd9, 0x54, 0x4a, 0xb5, 0xf4, 0x34, 0x3a, 0x02, 0x0b, 0xf9, 0xad, 0x5a, 0x59,
+	0xe3, 0xc3, 0x32, 0x46, 0x80, 0x28, 0x90, 0x82, 0xa3, 0x0c, 0xce, 0xa0, 0x14, 0x00, 0x21, 0xb6,
+	0x91, 0x5f, 0x55, 0x36, 0xaa, 0xe9, 0x59, 0xb4, 0x08, 0xf3, 0xe4, 0x9b, 0xc9, 0xa4, 0xe5, 0xb7,
+	0x6a, 0x57, 0xd2, 0x73, 0x54, 0xfb, 0x91, 0x11, 0xab, 0xc5, 0xeb, 0x4a, 0x3a, 0xe5, 0xc3, 0x95,
+	0xda, 0xb5, 0xb2, 0xfa, 0x9a, 0x56, 0x29, 0x6f, 0x14, 0x0b, 0xaf, 0xa7, 0xe7, 0x51, 0x16, 0x96,
+	0x19, 0x91, 0x62, 0xa9, 0xa6, 0x94, 0xf2, 0xa5, 0x82, 0x22, 0xda, 0xd2, 0xe8, 0x34, 0x1c, 0xe7,
+	0xd2, 0x17, 0x2b, 0x5a, 0x7e, 0x63, 0xa3, 0x5c, 0xc8, 0xd7, 0x8a, 0xe5, 0x92, 0xe8, 0xb0, 0x20,
+	0xff, 0xee, 0x18, 0x2c, 0xf4, 0x2c, 0xe6, 0x58, 0x33, 0x15, 0x18, 0x8f, 0xc4, 0xe8, 0xc6, 0x63,
+	0x13, 0x26, 0xdb, 0xd8, 0x73, 0x8c, 0x3a, 0x2b, 0xde, 0xe8, 0x9f, 0x44, 0xf6, 0xf0, 0xb5, 0xb2,
+	0x49, 0x71, 0x55, 0x41, 0x03, 0xad, 0x51, 0x9e, 0x9a, 0xd8, 0xe5, 0x25, 0x1c, 0xfb, 0xdb, 0xb2,
+	0x1c, 0x37, 0xfb, 0x45, 0x09, 0x92, 0x8c, 0x72, 0xac, 0xe0, 0x27, 0x61, 0xda, 0x30, 0x3d, 0x2d,
+	0xb8, 0xa5, 0x1f, 0xbb, 0xf2, 0x90, 0x3a, 0x65, 0x98, 0xde, 0x55, 0x7a, 0x55, 0xff, 0x30, 0xcc,
+	0x36, 0xac, 0xce, 0x76, 0x0b, 0xf3, 0x1e, 0xc4, 0x48, 0x4b, 0x57, 0x1e, 0x52, 0x67, 0x18, 0xd4,
+	0xef, 0xe4, 0x7a, 0x34, 0xf0, 0x63, 0x9d, 0x68, 0xb8, 0x48, 0x3a, 0x31, 0x28, 0xed, 0xb4, 0x3a,
+	0xc9, 0x4b, 0x01, 0xe4, 0xef, 0x48, 0xb0, 0x54, 0xa0, 0x79, 0x12, 0x77, 0x98, 0x2a, 0x7e, 0xab,
+	0x83, 0x5d, 0x0f, 0x9d, 0x05, 0xb0, 0x1d, 0xeb, 0xa3, 0xb8, 0xee, 0x91, 0x30, 0x4d, 0xf2, 0xed,
+	0xeb, 0x34, 0x87, 0x16, 0x1b, 0x7b, 0x7a, 0x93, 0x97, 0x60, 0x92, 0xdb, 0x13, 0x7e, 0x65, 0x2a,
+	0x0f, 0x76, 0xe1, 0xaa, 0x40, 0x21, 0x46, 0xdf, 0xd6, 0x49, 0x42, 0xc2, 0x03, 0x56, 0xfe, 0x25,
+	0x7f, 0x5a, 0x82, 0x85, 0x75, 0xec, 0x1d, 0x1c, 0x9b, 0x67, 0x01, 0xfc, 0x83, 0x46, 0x76, 0xb9,
+	0xcb, 0x51, 0xc5, 0x29, 0x63, 0xc3, 0x9f, 0xa3, 0x89, 0x60, 0x8e, 0xe4, 0x9f, 0x4a, 0xb0, 0xc4,
+	0x22, 0xf4, 0x43, 0x65, 0xe5, 0x55, 0x48, 0x76, 0xe8, 0xa8, 0xfc, 0x4c, 0xf8, 0xdc, 0x60, 0x9d,
+	0x32, 0x2e, 0x55, 0x8e, 0x17, 0x2b, 0xcc, 0x6f, 0x24, 0x38, 0xc2, 0xba, 0xf9, 0x87, 0x95, 0x87,
+	0x22, 0xcd, 0x23, 0x30, 0x1b, 0x49, 0x03, 0x82, 0x9b, 0x28, 0x30, 0x83, 0x1c, 0xe0, 0x2c, 0xef,
+	0x25, 0x82, 0x1f, 0xc6, 0x39, 0x3d, 0x20, 0x17, 0x29, 0x4f, 0xb4, 0x14, 0x2a, 0xd9, 0x5d, 0x0a,
+	0x25, 0x64, 0x9e, 0x0a, 0xc9, 0xfc, 0xd9, 0x04, 0x9c, 0xac, 0x62, 0x2f, 0x2e, 0xde, 0x7f, 0x0f,
+	0xc9, 0x5e, 0x89, 0x1e, 0xb4, 0x4d, 0x8c, 0x94, 0xbf, 0x44, 0x4e, 0xda, 0x84, 0x2e, 0x92, 0x21,
+	0x5d, 0xfc, 0x40, 0x82, 0x4c, 0x15, 0x7b, 0xd1, 0xf0, 0x73, 0x1f, 0x6a, 0x40, 0x61, 0x35, 0x0c,
+	0xaf, 0x82, 0x98, 0x5b, 0x85, 0xf1, 0xd8, 0x5b, 0x85, 0xb8, 0x35, 0xfb, 0x23, 0x09, 0x8e, 0x57,
+	0xb1, 0xd7, 0x93, 0xc0, 0x1e, 0xce, 0xec, 0xc5, 0xdf, 0x73, 0x8c, 0xef, 0x75, 0xcf, 0x11, 0xa7,
+	0xf4, 0x7f, 0x96, 0x60, 0xb9, 0x8a, 0xbd, 0x48, 0xd2, 0x7c, 0x28, 0xbc, 0xf7, 0x5c, 0x97, 0x8c,
+	0xdf, 0xcf, 0x75, 0x49, 0x9c, 0x68, 0x7f, 0x26, 0xc1, 0x22, 0x5d, 0x4f, 0x3c, 0xf1, 0x3d, 0x1c,
+	0xb9, 0x22, 0x97, 0x2a, 0xe3, 0xdd, 0x97, 0x2a, 0x71, 0x7c, 0xfe, 0x85, 0x04, 0x8b, 0xcc, 0xee,
+	0xb1, 0x14, 0xea, 0x70, 0xf8, 0x7c, 0x14, 0x52, 0x5d, 0xe9, 0x1c, 0x5b, 0x37, 0x73, 0xed, 0xc8,
+	0x19, 0xa8, 0x60, 0x78, 0x32, 0xc4, 0xf0, 0xaf, 0x12, 0xb0, 0x44, 0x16, 0x7d, 0x70, 0x4b, 0x77,
+	0x28, 0x1c, 0x97, 0x20, 0xa9, 0xd7, 0x3d, 0xc1, 0x69, 0xea, 0xe2, 0x33, 0xfd, 0x02, 0xff, 0x18,
+	0xf6, 0x56, 0xf2, 0x14, 0x5b, 0xe5, 0x54, 0xd0, 0xcb, 0xbe, 0x17, 0xdb, 0xd7, 0x8d, 0x64, 0xb7,
+	0x0b, 0x0b, 0x6b, 0xa6, 0x02, 0x49, 0x36, 0x48, 0xcf, 0x5d, 0x2f, 0x09, 0x55, 0x2b, 0xf9, 0x6a,
+	0xf5, 0x5a, 0x59, 0x5d, 0x4b, 0x4b, 0x24, 0x80, 0x5e, 0x57, 0x4a, 0x8a, 0x4a, 0x42, 0x54, 0x1f,
+	0x9c, 0x10, 0x1d, 0xb7, 0xaa, 0x8a, 0x5a, 0xca, 0x6f, 0x2a, 0xe9, 0x31, 0xf9, 0x33, 0x12, 0x2c,
+	0xad, 0xe1, 0x16, 0x3e, 0x64, 0x0f, 0x2f, 0x84, 0x1b, 0x0f, 0x09, 0xb7, 0x03, 0x8b, 0x1b, 0x86,
+	0x2b, 0x82, 0x9e, 0x83, 0xd8, 0x4e, 0x41, 0x78, 0x35, 0x1e, 0x09, 0xaf, 0xee, 0xc2, 0x52, 0x74,
+	0x24, 0xd7, 0xb6, 0x4c, 0x17, 0xa3, 0x57, 0x60, 0x8a, 0xb3, 0xe8, 0x66, 0x24, 0x1a, 0xf9, 0x0e,
+	0x13, 0xcd, 0xf9, 0x38, 0xe8, 0x61, 0x98, 0x6b, 0x1b, 0xae, 0x4b, 0x8c, 0x25, 0x19, 0x9f, 0xd5,
+	0x1b, 0x4d, 0xab, 0xb3, 0x1c, 0x78, 0x9d, 0xc0, 0xe4, 0xcf, 0x4b, 0xb0, 0xb8, 0x8e, 0x3d, 0x3f,
+	0x6e, 0x3e, 0x00, 0x39, 0x1f, 0x85, 0xd9, 0xe0, 0x48, 0x23, 0xa2, 0xf2, 0x19, 0x1f, 0xbe, 0x47,
+	0x84, 0xf7, 0x51, 0x38, 0x42, 0x54, 0xe1, 0x73, 0xf3, 0x20, 0xd5, 0xfe, 0x45, 0x09, 0x96, 0x0b,
+	0xba, 0x59, 0xc7, 0xad, 0xdf, 0xa2, 0xf0, 0xe1, 0x15, 0xf7, 0x49, 0x09, 0x96, 0xbb, 0xa5, 0xe7,
+	0x4b, 0x61, 0x0d, 0xc0, 0xc7, 0x16, 0x8b, 0xe1, 0x91, 0x61, 0xd2, 0x20, 0x35, 0x84, 0x37, 0xdc,
+	0x82, 0x68, 0xc2, 0xf2, 0x3a, 0xf6, 0x88, 0x13, 0xf5, 0xaf, 0xbb, 0xee, 0x5f, 0x2b, 0x71, 0xe2,
+	0x7e, 0x2a, 0x01, 0xb3, 0xe1, 0x61, 0xd8, 0x91, 0xdd, 0x0d, 0xbd, 0xd3, 0xf2, 0x7a, 0xae, 0xbb,
+	0x24, 0x71, 0x64, 0x47, 0x9b, 0xbb, 0xae, 0xbb, 0x56, 0x60, 0xf1, 0x96, 0xde, 0x32, 0xa2, 0x67,
+	0xf5, 0xe2, 0xdd, 0xc0, 0x02, 0x6d, 0x0a, 0x1d, 0xd5, 0xbb, 0xec, 0x7c, 0x9b, 0x8d, 0x13, 0x0a,
+	0x60, 0xc7, 0xc5, 0xf9, 0x36, 0x6d, 0x09, 0xce, 0xb7, 0xcf, 0x03, 0x23, 0x11, 0xea, 0xeb, 0x66,
+	0x26, 0x28, 0xed, 0x79, 0xda, 0xe0, 0x77, 0x75, 0xd1, 0x45, 0x38, 0xc2, 0xfa, 0x46, 0x7d, 0x0d,
+	0x7b, 0x0d, 0x30, 0xad, 0x32, 0x36, 0x23, 0x27, 0x87, 0xae, 0xfc, 0x73, 0x09, 0x8e, 0xb0, 0x34,
+	0xf0, 0x70, 0xf3, 0x80, 0x57, 0x61, 0xda, 0x8f, 0x85, 0x79, 0x34, 0x32, 0x54, 0x45, 0xc5, 0x94,
+	0x88, 0x94, 0x43, 0x1b, 0x2b, 0x19, 0xd9, 0x58, 0x7f, 0x29, 0xc1, 0x11, 0x66, 0xc4, 0xdf, 0x8b,
+	0x99, 0x4d, 0x5c, 0x4c, 0xf2, 0x05, 0x89, 0x99, 0x60, 0xc1, 0xef, 0x21, 0x05, 0x4f, 0x7b, 0xe5,
+	0xdb, 0xdf, 0x97, 0x00, 0xad, 0x07, 0x69, 0xd2, 0x7b, 0x5d, 0x7b, 0x3f, 0x9b, 0x80, 0x29, 0xc1,
+	0x6b, 0xec, 0xd9, 0xca, 0xcb, 0x90, 0xe4, 0x51, 0x6f, 0x62, 0x3f, 0x45, 0x55, 0x1c, 0x69, 0x9f,
+	0x65, 0x5c, 0x5d, 0xd9, 0xdb, 0xf8, 0xfd, 0x67, 0x6f, 0x45, 0x00, 0x56, 0xcf, 0xd0, 0x16, 0x53,
+	0x35, 0xd3, 0xf7, 0x78, 0x9e, 0x10, 0xdc, 0xf4, 0x11, 0xd4, 0x10, 0x72, 0xff, 0x12, 0x81, 0x0c,
+	0x4c, 0x0a, 0x7b, 0xc7, 0x9e, 0x1d, 0x88, 0x4f, 0x62, 0xe1, 0xe2, 0x2e, 0x9e, 0x6f, 0x30, 0x0b,
+	0xd7, 0x7b, 0xe9, 0xbc, 0xea, 0x9f, 0xe2, 0x35, 0x69, 0xec, 0x78, 0x7e, 0x08, 0xf1, 0x07, 0x5f,
+	0xba, 0xef, 0xec, 0x75, 0xd2, 0x1f, 0xbd, 0x78, 0x36, 0xee, 0xeb, 0xe2, 0xf9, 0xe3, 0xd2, 0xfd,
+	0xde, 0x3c, 0x2f, 0x03, 0xe2, 0x1f, 0xda, 0xb5, 0x62, 0xed, 0x8a, 0xc6, 0xee, 0x99, 0xc7, 0xba,
+	0x6f, 0xa4, 0xc7, 0x23, 0x37, 0xd2, 0x13, 0xc1, 0x8d, 0x74, 0x92, 0xec, 0xbf, 0x54, 0x74, 0x12,
+	0xd1, 0x59, 0x98, 0x25, 0x4b, 0x42, 0xeb, 0xd8, 0x4d, 0x47, 0x6f, 0x88, 0x87, 0x1a, 0x74, 0x99,
+	0x6c, 0x31, 0x10, 0x3a, 0xcd, 0x16, 0x9e, 0xe6, 0x60, 0x5b, 0x37, 0x1c, 0x5e, 0x37, 0x0c, 0x04,
+	0xa4, 0x52, 0x08, 0xba, 0x0a, 0xf3, 0x1c, 0x5d, 0xb3, 0x6c, 0x71, 0x69, 0x39, 0xe8, 0x9e, 0x2d,
+	0x1f, 0x8c, 0x50, 0x66, 0x48, 0x6a, 0xaa, 0x13, 0xf9, 0x96, 0xdb, 0x80, 0x7a, 0x7b, 0xa1, 0x0f,
+	0xc0, 0xd1, 0x30, 0xc7, 0x5a, 0xe8, 0xc6, 0x84, 0xed, 0xcd, 0xa5, 0x10, 0xf3, 0x55, 0xff, 0xf2,
+	0x64, 0x60, 0x55, 0xa5, 0xfc, 0x3a, 0x2c, 0xf4, 0xd4, 0x60, 0xa1, 0x35, 0x48, 0xde, 0x36, 0xcc,
+	0x86, 0x75, 0x7b, 0x88, 0xc7, 0x27, 0x21, 0xec, 0x6b, 0x14, 0x47, 0xe5, 0xb8, 0xc4, 0x0e, 0x2f,
+	0xf4, 0xb4, 0xa2, 0x36, 0x64, 0x1a, 0xba, 0xd1, 0xda, 0xd5, 0xc2, 0xf5, 0x62, 0x7c, 0x34, 0x66,
+	0x50, 0xfa, 0x95, 0x9f, 0xaf, 0x11, 0xd4, 0x1e, 0xa2, 0x57, 0x1e, 0x52, 0x97, 0x1b, 0xb1, 0x2d,
+	0xab, 0x53, 0x90, 0x64, 0xb7, 0xb0, 0x72, 0x15, 0x96, 0xe3, 0xb1, 0xbb, 0x6e, 0xa0, 0x12, 0xdd,
+	0x37, 0x50, 0x59, 0x98, 0x6a, 0x74, 0x58, 0xd4, 0xc5, 0x8b, 0xc2, 0xfd, 0x6f, 0xf9, 0xe3, 0x09,
+	0x38, 0x11, 0x3a, 0x03, 0x0b, 0x19, 0x8a, 0xf7, 0x90, 0x99, 0x3f, 0x40, 0x93, 0x17, 0x97, 0x38,
+	0xfe, 0x9c, 0x1d, 0xc3, 0x08, 0x1d, 0x54, 0x8d, 0x3b, 0xf8, 0xbd, 0x24, 0xfd, 0x49, 0x5e, 0x6d,
+	0xca, 0x1c, 0xcd, 0x04, 0x75, 0x34, 0xd3, 0xa6, 0xef, 0x61, 0xe2, 0x24, 0xfa, 0xa1, 0x04, 0xa7,
+	0x54, 0xab, 0xd5, 0xda, 0xd6, 0xeb, 0x37, 0x85, 0x58, 0x7c, 0x6f, 0xbd, 0xd7, 0xdd, 0xf7, 0x1b,
+	0x2c, 0xe7, 0x0a, 0xc5, 0x3e, 0x3c, 0xe9, 0x88, 0x16, 0xdd, 0x4a, 0xa3, 0x14, 0xdd, 0xca, 0xef,
+	0x4a, 0x80, 0x62, 0xea, 0x01, 0x5e, 0x85, 0x13, 0xbc, 0xda, 0x96, 0x8e, 0x40, 0x2c, 0x11, 0x7d,
+	0x0e, 0x42, 0xbc, 0x9d, 0x78, 0xc1, 0x36, 0xa5, 0x66, 0x59, 0x1f, 0x42, 0x37, 0xdf, 0xd5, 0x03,
+	0x7d, 0x18, 0xe6, 0x1d, 0xec, 0x5a, 0x1d, 0xa7, 0x8e, 0xb5, 0x96, 0xd1, 0x36, 0x3c, 0xf1, 0x9c,
+	0xa6, 0xdf, 0xe9, 0xbc, 0xca, 0x31, 0x36, 0x08, 0x82, 0x9a, 0x72, 0xc2, 0x9f, 0xae, 0xbc, 0x03,
+	0x73, 0x91, 0x0e, 0x24, 0x5f, 0xf2, 0xc7, 0x08, 0xbd, 0x67, 0x9e, 0x15, 0x40, 0x9a, 0x1f, 0x64,
+	0x60, 0xb2, 0x6d, 0x98, 0x46, 0xbb, 0xd3, 0x66, 0xd7, 0x46, 0xaa, 0xf8, 0xa4, 0x2d, 0xfa, 0xdb,
+	0xb4, 0x65, 0x8c, 0xb7, 0xb0, 0x4f, 0x7a, 0x56, 0x17, 0x57, 0xd8, 0xb2, 0xf7, 0xcb, 0xa1, 0x47,
+	0x20, 0xd5, 0x36, 0xcc, 0x70, 0xfc, 0xc3, 0x1e, 0x4e, 0xcf, 0xb6, 0x0d, 0x33, 0x88, 0x7d, 0x48,
+	0x2f, 0xfd, 0xed, 0xde, 0x28, 0x69, 0xb6, 0xad, 0xbf, 0x1d, 0xf4, 0x3a, 0x07, 0xf3, 0x11, 0x85,
+	0x63, 0xb6, 0x5a, 0xa6, 0xd4, 0x6e, 0xb0, 0xfc, 0xaf, 0x09, 0x48, 0x57, 0xb1, 0xc7, 0x5e, 0xc5,
+	0x1e, 0xce, 0x3a, 0xde, 0x09, 0xcf, 0x2b, 0x7b, 0x4a, 0xcd, 0x6e, 0xfd, 0x3e, 0xd8, 0xff, 0xfc,
+	0x2b, 0xc2, 0x63, 0x30, 0xd1, 0xa1, 0x87, 0xd5, 0xc1, 0x74, 0xb3, 0x07, 0xd6, 0x4f, 0xc0, 0x02,
+	0x1d, 0x40, 0xbb, 0x61, 0x98, 0x4d, 0xec, 0xd8, 0x4e, 0xf0, 0xe8, 0x2b, 0x4d, 0x1b, 0x2e, 0x07,
+	0xf0, 0xb8, 0x3d, 0x9f, 0xcd, 0xc3, 0x62, 0xcc, 0x38, 0xfb, 0x7a, 0x37, 0xfc, 0x6d, 0x89, 0x9e,
+	0x2d, 0x6e, 0xe0, 0xa6, 0x5e, 0xdf, 0xcd, 0x6f, 0xeb, 0xf5, 0xc3, 0x51, 0x72, 0x68, 0x9d, 0x8d,
+	0x47, 0xd7, 0x59, 0x9c, 0x81, 0xf8, 0x5b, 0x62, 0xad, 0x89, 0x6f, 0x2b, 0x56, 0x54, 0xfe, 0xc3,
+	0x02, 0x87, 0x7b, 0x2c, 0x17, 0x62, 0x06, 0x3d, 0x09, 0xc8, 0x21, 0x4c, 0x60, 0xad, 0xee, 0x60,
+	0x5a, 0x5b, 0xac, 0xb7, 0x5c, 0x3a, 0x2d, 0x53, 0xea, 0x02, 0x6b, 0x29, 0x04, 0x0d, 0xf2, 0xff,
+	0x97, 0xe0, 0x58, 0xc1, 0x6a, 0xdb, 0x24, 0x1b, 0xfd, 0x6d, 0xb1, 0x1f, 0xf6, 0x13, 0x37, 0x61,
+	0xa1, 0xe7, 0x21, 0x3d, 0x59, 0x89, 0xa1, 0xa7, 0xf4, 0x7c, 0xe7, 0x4a, 0xd4, 0x64, 0xa4, 0xf5,
+	0x70, 0x6f, 0xb2, 0x7b, 0x1f, 0x87, 0x30, 0x8c, 0xd9, 0x25, 0xb6, 0xae, 0xe6, 0x43, 0x70, 0x62,
+	0x9a, 0xe4, 0x7f, 0x91, 0xe0, 0x28, 0x71, 0xb3, 0x91, 0xe7, 0x06, 0x87, 0x22, 0x7a, 0xef, 0xab,
+	0x88, 0xf1, 0xfb, 0x7b, 0x15, 0x11, 0xb7, 0x2e, 0xff, 0x8d, 0xdf, 0x46, 0xf5, 0x3c, 0x08, 0xe0,
+	0x22, 0x9e, 0xec, 0x15, 0x71, 0xd0, 0x05, 0xda, 0xc9, 0x5e, 0xd1, 0xc2, 0x62, 0xc5, 0xbf, 0x59,
+	0x18, 0x3f, 0x98, 0x37, 0x0b, 0x71, 0xe7, 0xa1, 0x9f, 0x93, 0xe0, 0x04, 0x71, 0xce, 0x5b, 0xf4,
+	0x25, 0x6e, 0xf0, 0xfa, 0xd0, 0x37, 0xc6, 0xc1, 0x11, 0x82, 0x14, 0x3e, 0x42, 0x20, 0xf0, 0x1b,
+	0x46, 0xcb, 0xc3, 0x0e, 0x17, 0x8f, 0x7f, 0x91, 0x04, 0xd4, 0xd6, 0x9b, 0x98, 0x55, 0x45, 0x33,
+	0xe7, 0x30, 0x45, 0x00, 0xb4, 0x1a, 0x9a, 0x28, 0x8c, 0x9e, 0x71, 0x59, 0x37, 0xb1, 0xb8, 0x20,
+	0xa1, 0xdd, 0x6b, 0x04, 0x20, 0x7f, 0x55, 0x82, 0x93, 0x7b, 0x30, 0xc3, 0x23, 0x86, 0x4d, 0x98,
+	0x09, 0x1e, 0xed, 0x88, 0x90, 0xa1, 0x5f, 0x09, 0x49, 0x37, 0x29, 0x35, 0x8c, 0x8f, 0xde, 0x07,
+	0xf3, 0x26, 0x7e, 0xdb, 0xd3, 0x42, 0x4c, 0x31, 0x69, 0xe6, 0x08, 0xb8, 0xe2, 0x33, 0xf6, 0x4e,
+	0x02, 0x4e, 0x75, 0x53, 0x8a, 0x3e, 0x3c, 0x24, 0xa2, 0x85, 0x1e, 0x29, 0xf2, 0xb5, 0xe0, 0xf8,
+	0x6f, 0x12, 0x65, 0x98, 0x33, 0x6c, 0x56, 0x2f, 0x4e, 0x81, 0x22, 0xef, 0x31, 0xec, 0x82, 0xd1,
+	0x70, 0x18, 0x89, 0x8f, 0xf8, 0x49, 0x35, 0xab, 0xd0, 0x7b, 0x75, 0x1f, 0x72, 0x45, 0xb9, 0xe9,
+	0x4a, 0xb5, 0xe5, 0xa6, 0x9f, 0xf2, 0x46, 0xee, 0x51, 0x00, 0x92, 0x5b, 0xa5, 0xad, 0x2a, 0xad,
+	0x61, 0x46, 0x90, 0x2a, 0x96, 0xb4, 0xad, 0xaa, 0xff, 0x60, 0x2e, 0x9d, 0x40, 0x19, 0x58, 0x12,
+	0xb0, 0x2b, 0x79, 0x55, 0xc9, 0xaf, 0x6e, 0x28, 0x5a, 0xa5, 0xbc, 0x96, 0x1e, 0x23, 0x29, 0x30,
+	0x6f, 0x61, 0x75, 0x4c, 0x6b, 0x14, 0x3e, 0x2e, 0x7f, 0x22, 0x01, 0xe9, 0x6e, 0xd6, 0xba, 0xde,
+	0x5e, 0x49, 0x3d, 0x6f, 0xaf, 0x42, 0xef, 0xc5, 0x12, 0xd1, 0xf7, 0x62, 0x3d, 0x5a, 0x1b, 0xeb,
+	0xd5, 0x9a, 0x01, 0x8b, 0xc1, 0x3b, 0x51, 0xc3, 0x66, 0x1d, 0x85, 0x4f, 0x7f, 0x7e, 0x64, 0x15,
+	0xaa, 0x0b, 0x3e, 0xd5, 0xa2, 0x4d, 0x21, 0x2e, 0x7a, 0x34, 0xbe, 0x36, 0xb1, 0xeb, 0xb4, 0xe2,
+	0xe2, 0x9f, 0xae, 0x41, 0x8a, 0x87, 0xa4, 0x2c, 0x65, 0x71, 0xd0, 0x2f, 0x25, 0x98, 0x0d, 0x5f,
+	0xc1, 0xa0, 0x7e, 0xe7, 0x45, 0x31, 0xb7, 0x42, 0xd9, 0xdc, 0xd0, 0xfd, 0xd9, 0x4e, 0x91, 0xdd,
+	0x4f, 0xfc, 0xe2, 0x97, 0x5f, 0x4e, 0xb4, 0xd1, 0xc5, 0xe0, 0x37, 0x7f, 0xee, 0xb2, 0xad, 0xfb,
+	0x32, 0xb7, 0x50, 0x6e, 0xee, 0x7c, 0xce, 0xbf, 0x49, 0xcd, 0x9d, 0xbf, 0x27, 0x7e, 0x13, 0xc8,
+	0xbd, 0xfe, 0x2c, 0xfa, 0x40, 0x80, 0xe5, 0xf7, 0xbe, 0x1b, 0xd8, 0xba, 0x7b, 0x39, 0x7a, 0xbc,
+	0x9f, 0xbb, 0x4b, 0xfe, 0x09, 0x10, 0xd1, 0xbf, 0x4b, 0x00, 0x41, 0x1d, 0x0f, 0xea, 0x67, 0xb1,
+	0x7a, 0xca, 0x7d, 0xb2, 0x43, 0xdc, 0x3d, 0xc9, 0x1f, 0x93, 0xa8, 0x58, 0x77, 0x22, 0x62, 0x91,
+	0x1d, 0xb7, 0x87, 0x50, 0x3e, 0x6b, 0xb9, 0xf3, 0xf7, 0xae, 0xaf, 0xa1, 0xd5, 0x91, 0xc4, 0xca,
+	0xdd, 0x0d, 0x4c, 0xf6, 0x3d, 0x22, 0xe3, 0x5c, 0xa4, 0xaa, 0x0a, 0xf5, 0x9b, 0x9b, 0xb8, 0xfa,
+	0xab, 0xec, 0x50, 0x17, 0x2b, 0xf2, 0x2e, 0x15, 0xd5, 0x95, 0x47, 0x98, 0xc1, 0x17, 0xa4, 0xf3,
+	0xd7, 0x5f, 0x90, 0x47, 0x9b, 0xc4, 0x17, 0xa4, 0xf3, 0xe8, 0xbf, 0x25, 0x98, 0x8b, 0xd4, 0x41,
+	0xf5, 0x95, 0x31, 0xae, 0x62, 0x6a, 0x48, 0x19, 0xff, 0x1f, 0x9b, 0xcf, 0x8f, 0x49, 0xd9, 0x11,
+	0x26, 0x94, 0x48, 0xb9, 0x9e, 0x3d, 0x80, 0x39, 0x25, 0x22, 0x7f, 0x33, 0x01, 0xa9, 0x68, 0xb5,
+	0x14, 0x7a, 0x6a, 0xa0, 0xcc, 0x5d, 0x07, 0xe8, 0x43, 0x0a, 0xfd, 0x57, 0x4c, 0xe8, 0xef, 0x4b,
+	0xd9, 0x57, 0xf6, 0x2d, 0x74, 0xce, 0xcf, 0x7c, 0xb9, 0x02, 0x9a, 0xf2, 0xf6, 0xfd, 0x2b, 0x20,
+	0x44, 0xf5, 0x6e, 0x38, 0xc9, 0xbf, 0x97, 0x63, 0x97, 0xf3, 0x44, 0x41, 0xff, 0x90, 0x88, 0x1c,
+	0xa9, 0x84, 0xb3, 0xca, 0xe7, 0xfa, 0x67, 0x4e, 0x7b, 0x57, 0x63, 0x0d, 0xa9, 0xb0, 0x7f, 0x64,
+	0x0a, 0xfb, 0xb1, 0x24, 0x6f, 0xde, 0xa7, 0xc2, 0x5c, 0xec, 0x85, 0xb8, 0x20, 0xfa, 0x6b, 0xc9,
+	0xcd, 0x07, 0xa9, 0x3f, 0x3d, 0x32, 0x1a, 0xfa, 0x7c, 0x02, 0x16, 0x7a, 0x6a, 0xb2, 0xd0, 0xd3,
+	0x03, 0x32, 0xcf, 0xb8, 0x0a, 0xae, 0x21, 0x55, 0xf7, 0xfb, 0x4c, 0x75, 0x5f, 0x96, 0xe4, 0x97,
+	0x47, 0xd8, 0x60, 0xae, 0x3f, 0x38, 0x51, 0x55, 0x59, 0xfe, 0xd0, 0x01, 0xa8, 0xaa, 0xe5, 0x13,
+	0x44, 0x5f, 0xe3, 0x85, 0x2f, 0x3d, 0x95, 0x55, 0x83, 0x4a, 0x51, 0xf6, 0x28, 0x0f, 0x1b, 0x52,
+	0x27, 0xdf, 0x62, 0x3a, 0xf9, 0x3d, 0x49, 0x7e, 0x75, 0x34, 0x9d, 0x04, 0xe3, 0x13, 0xb5, 0xa8,
+	0xe1, 0x55, 0x39, 0xb2, 0x5a, 0xda, 0x61, 0x9a, 0xe8, 0xd3, 0x09, 0x98, 0xef, 0x2a, 0x23, 0x43,
+	0x17, 0xfa, 0x2b, 0x25, 0xa6, 0xe4, 0x6c, 0x48, 0x7d, 0x7c, 0x9d, 0xe9, 0xe3, 0x4b, 0x92, 0xfc,
+	0xd2, 0x68, 0xfa, 0x60, 0x43, 0x13, 0x5d, 0x94, 0xe4, 0xe2, 0x01, 0xe8, 0x42, 0x17, 0xf4, 0x88,
+	0x1e, 0x66, 0xc3, 0x35, 0x67, 0x7d, 0xe3, 0xa6, 0x98, 0xe2, 0xb4, 0x21, 0x35, 0xf0, 0x4d, 0xa6,
+	0x81, 0xaf, 0x49, 0xf2, 0x07, 0x47, 0xdd, 0x25, 0xbc, 0x89, 0x28, 0xe1, 0xc3, 0xf2, 0xc6, 0x81,
+	0xec, 0x93, 0x80, 0x24, 0xfa, 0x44, 0x02, 0x66, 0xc3, 0x35, 0x6d, 0x7d, 0xf5, 0x10, 0x53, 0xfc,
+	0x36, 0xa4, 0x1e, 0xfe, 0x80, 0xe9, 0xe1, 0x2b, 0xa3, 0xe9, 0xa1, 0x13, 0x1a, 0xf7, 0xe0, 0x16,
+	0x43, 0x5b, 0xd0, 0x43, 0x5f, 0x48, 0xc0, 0x5c, 0xa4, 0x10, 0xad, 0x6f, 0x54, 0x12, 0x57, 0xb2,
+	0x36, 0xa4, 0x1a, 0xfe, 0x84, 0xa9, 0xe1, 0x1b, 0xa3, 0x1b, 0x08, 0x7f, 0x60, 0xa2, 0x87, 0x2d,
+	0xb9, 0x72, 0x00, 0x31, 0x4a, 0x37, 0x59, 0xf4, 0x2b, 0x09, 0xe6, 0x22, 0xa5, 0x6c, 0x7d, 0xd5,
+	0x11, 0x57, 0xf4, 0x36, 0xa4, 0x3a, 0x44, 0xd0, 0x7d, 0x7e, 0xa4, 0xa0, 0xfb, 0xfc, 0x41, 0x04,
+	0xdd, 0xbf, 0x96, 0x20, 0x15, 0xad, 0x5c, 0xea, 0x1b, 0x9d, 0xc5, 0x96, 0x78, 0x65, 0x2f, 0xec,
+	0x03, 0x83, 0x67, 0x51, 0xb7, 0xa9, 0xe4, 0x6f, 0xa1, 0x4b, 0xc3, 0xc7, 0xe0, 0x41, 0x39, 0xd4,
+	0xf5, 0xe7, 0xd1, 0xb3, 0xfb, 0x92, 0x3d, 0x54, 0x49, 0xf5, 0x6b, 0x09, 0x66, 0xc3, 0x55, 0x73,
+	0x7d, 0x37, 0x7c, 0x4c, 0x79, 0xdd, 0x7e, 0xe3, 0xef, 0x88, 0x84, 0xfd, 0xe6, 0x36, 0xe0, 0x91,
+	0xcc, 0xee, 0x15, 0x74, 0x79, 0x44, 0x09, 0x73, 0x77, 0xc3, 0x55, 0x6c, 0xf7, 0xd0, 0xff, 0x48,
+	0x30, 0xdf, 0x55, 0x2c, 0xd7, 0xd7, 0xe3, 0xc5, 0x17, 0xd6, 0x65, 0x97, 0x05, 0x8a, 0xf8, 0x35,
+	0xd9, 0x15, 0xa5, 0x6d, 0x7b, 0xbb, 0x21, 0xcb, 0xf6, 0xe2, 0x28, 0x82, 0xbe, 0x50, 0xa7, 0xc3,
+	0x8d, 0xe2, 0xee, 0xf7, 0x14, 0x39, 0xa0, 0x89, 0xfe, 0x53, 0x82, 0xf9, 0xae, 0x9a, 0xb8, 0xbe,
+	0xc2, 0xc7, 0xd7, 0xcf, 0x65, 0x1f, 0xeb, 0x6b, 0x0e, 0x83, 0xfe, 0x22, 0xb5, 0x1c, 0x76, 0xd2,
+	0xef, 0xe5, 0xdc, 0x10, 0xf6, 0xf5, 0x17, 0xd1, 0xf3, 0xfb, 0xd2, 0x00, 0x43, 0xe6, 0xb5, 0x36,
+	0xc4, 0x88, 0x47, 0x6e, 0x03, 0xd1, 0xa0, 0xa3, 0x8d, 0xee, 0x9a, 0xa9, 0xec, 0x53, 0xc3, 0x23,
+	0xf0, 0x6d, 0xfc, 0x35, 0x36, 0xfb, 0xbf, 0x23, 0xa1, 0x57, 0x86, 0xdd, 0xc8, 0x61, 0x23, 0x16,
+	0x84, 0xf7, 0xd7, 0x4b, 0x68, 0xe3, 0x20, 0xd3, 0x05, 0xf4, 0xb9, 0x04, 0xcc, 0x84, 0x2a, 0xb1,
+	0xd0, 0x93, 0xfd, 0x67, 0xbd, 0x3b, 0xe1, 0x1c, 0xe6, 0xb6, 0x54, 0x7e, 0x87, 0x49, 0xff, 0x47,
+	0x51, 0xe9, 0x47, 0x48, 0x9f, 0xae, 0xff, 0x1f, 0xf4, 0xc6, 0x03, 0x4c, 0x96, 0xd0, 0x67, 0x12,
+	0x90, 0x8a, 0x56, 0x2a, 0xf6, 0xb5, 0xf2, 0xb1, 0x45, 0x8d, 0x43, 0x1a, 0xbe, 0x3f, 0x64, 0x3a,
+	0xf9, 0xaa, 0x24, 0xdf, 0xe7, 0x8a, 0x38, 0xb8, 0x80, 0x2f, 0x4c, 0x12, 0x7d, 0x29, 0x01, 0xa9,
+	0x68, 0x89, 0x63, 0x5f, 0x55, 0xc4, 0x56, 0x43, 0x0e, 0xa9, 0x0a, 0x7f, 0x79, 0x9c, 0xbf, 0xef,
+	0xe5, 0x71, 0xfe, 0x81, 0x2e, 0x8f, 0xbf, 0x4b, 0xc0, 0xd1, 0x3d, 0x4a, 0x20, 0x50, 0xbf, 0x83,
+	0xde, 0xfe, 0x65, 0x13, 0x43, 0x6a, 0xe9, 0x47, 0x4c, 0x4b, 0x7f, 0x23, 0xc9, 0xeb, 0xf7, 0x79,
+	0x06, 0xe1, 0x70, 0x76, 0xc8, 0xca, 0x31, 0xe4, 0xc6, 0x03, 0xd4, 0x58, 0x78, 0x28, 0xf4, 0x93,
+	0x04, 0x1c, 0x89, 0x2d, 0x0b, 0x42, 0xcf, 0x0e, 0x77, 0x7c, 0xd3, 0x53, 0x48, 0x34, 0xa4, 0xe6,
+	0xfe, 0x89, 0x69, 0xee, 0x27, 0x52, 0x78, 0x97, 0x8c, 0x7a, 0x7a, 0x13, 0x30, 0x41, 0xd4, 0x67,
+	0xca, 0xc6, 0x83, 0x3c, 0xbc, 0xe9, 0x1e, 0x0f, 0x7d, 0x36, 0x01, 0xd3, 0x7e, 0x29, 0x00, 0x7a,
+	0x62, 0x1f, 0x05, 0x03, 0x43, 0xea, 0xea, 0xbb, 0x4c, 0x57, 0x7f, 0x2c, 0xc9, 0x6b, 0xa3, 0x65,
+	0x1e, 0xd1, 0x7a, 0x01, 0xa2, 0xa3, 0xab, 0xf2, 0x87, 0x0f, 0x40, 0x47, 0x4e, 0x37, 0x5d, 0xa2,
+	0x8b, 0xb9, 0x48, 0x65, 0xc1, 0xa0, 0x6c, 0xac, 0xa7, 0x06, 0xe1, 0xb0, 0x8e, 0x6b, 0x82, 0x81,
+	0x0f, 0xee, 0xb8, 0xa6, 0x15, 0xa6, 0x89, 0xbe, 0x92, 0xa0, 0x3f, 0x82, 0x19, 0x2e, 0x60, 0xe8,
+	0x7f, 0x5c, 0x13, 0x5b, 0xec, 0x30, 0xa4, 0x3e, 0xbe, 0xc3, 0xf4, 0xf1, 0x2d, 0x49, 0x5e, 0x1d,
+	0x45, 0x1f, 0x74, 0x68, 0x5b, 0x0c, 0x4d, 0x34, 0x72, 0x4d, 0x56, 0x0f, 0x22, 0x3f, 0xed, 0x21,
+	0x8c, 0xbe, 0x95, 0x00, 0xd4, 0x5b, 0x1b, 0x81, 0x2e, 0xf5, 0xf3, 0xe9, 0x7b, 0x95, 0x52, 0x0c,
+	0xa9, 0x9c, 0x3f, 0x67, 0xca, 0x79, 0x47, 0x92, 0x95, 0x11, 0x94, 0x53, 0x17, 0xa3, 0x47, 0xf4,
+	0x73, 0x5d, 0xde, 0x3a, 0x00, 0xfd, 0xc4, 0xd2, 0x46, 0xef, 0xb2, 0x83, 0xbe, 0x70, 0xa1, 0xe2,
+	0xa0, 0x83, 0xbe, 0x98, 0xa2, 0xc6, 0x21, 0x95, 0xf3, 0xf7, 0x4c, 0x39, 0x7f, 0x2d, 0xc9, 0x97,
+	0xef, 0xdf, 0x12, 0x93, 0xe1, 0x89, 0x76, 0x76, 0xe4, 0xfa, 0x03, 0xb6, 0xc1, 0x7c, 0x24, 0xf4,
+	0x75, 0x56, 0x2c, 0x16, 0xfd, 0xa9, 0xe8, 0x8b, 0x03, 0x94, 0x15, 0x53, 0x9a, 0x32, 0xa4, 0xb6,
+	0xde, 0x65, 0xda, 0xfa, 0xb6, 0x24, 0x17, 0x46, 0xb3, 0x3b, 0x91, 0xb1, 0x89, 0xaa, 0x3e, 0x22,
+	0x57, 0x0f, 0xe6, 0x20, 0xa8, 0x9b, 0x32, 0xfa, 0xae, 0x78, 0x42, 0xda, 0x5d, 0xf3, 0x31, 0xf0,
+	0x51, 0x67, 0x7c, 0x69, 0xcb, 0x90, 0x2a, 0xfa, 0x01, 0x53, 0xd1, 0xf7, 0x46, 0x09, 0x8a, 0xb8,
+	0x3b, 0xef, 0x1a, 0x9f, 0xa8, 0xe9, 0x4d, 0xf9, 0xda, 0x41, 0x9d, 0x97, 0xf5, 0x52, 0x47, 0x9f,
+	0x94, 0xe8, 0x91, 0x72, 0x51, 0x6f, 0x73, 0x15, 0xf9, 0xf7, 0xce, 0x86, 0xde, 0x5e, 0xb9, 0x45,
+	0xd5, 0xe2, 0x37, 0x0a, 0x75, 0x1c, 0xe9, 0xea, 0xc3, 0x5a, 0xe5, 0xe7, 0xa8, 0xf8, 0x17, 0xe5,
+	0x27, 0x43, 0xd2, 0x0b, 0x4f, 0x19, 0xd2, 0x00, 0x93, 0xd5, 0x27, 0x2a, 0xb8, 0x58, 0xef, 0xc7,
+	0xc5, 0xfa, 0x83, 0xe0, 0xa2, 0xd9, 0xc5, 0xc5, 0xbb, 0x12, 0xa0, 0x1a, 0x76, 0x29, 0x10, 0x3b,
+	0xf4, 0x95, 0x9e, 0x65, 0xba, 0xe8, 0x5c, 0xd7, 0x38, 0xbd, 0x5d, 0x04, 0x47, 0x8f, 0x0f, 0xd1,
+	0x93, 0xe7, 0xe0, 0xaf, 0x50, 0x2e, 0x9f, 0x93, 0x9f, 0x1e, 0xc8, 0xa5, 0xd7, 0x43, 0x84, 0xf0,
+	0xfa, 0x33, 0x89, 0x95, 0x11, 0xf7, 0x14, 0x07, 0xf5, 0x8d, 0x5f, 0xfb, 0xd5, 0x36, 0x65, 0x9f,
+	0xdb, 0x3f, 0x22, 0x17, 0x66, 0x95, 0x0a, 0xf3, 0x12, 0x7a, 0xa1, 0x5f, 0xf2, 0x78, 0x2f, 0xa7,
+	0x37, 0x9b, 0x0e, 0x6e, 0xea, 0x1e, 0x6e, 0xe4, 0x3a, 0xdd, 0xb4, 0x56, 0x7f, 0x24, 0xc1, 0xc9,
+	0xba, 0xd5, 0xde, 0x9b, 0x87, 0xd5, 0xc5, 0x82, 0xf8, 0x99, 0x74, 0x7a, 0xcb, 0x55, 0x71, 0x2c,
+	0xcf, 0xaa, 0x48, 0xd7, 0x57, 0x39, 0x46, 0xd3, 0x6a, 0xe9, 0x66, 0x73, 0xc5, 0x72, 0x9a, 0xb9,
+	0x26, 0x36, 0xe9, 0x81, 0x17, 0xff, 0x1f, 0x9f, 0x74, 0xdb, 0x70, 0x63, 0xfe, 0xd7, 0xa7, 0x17,
+	0x7d, 0xd0, 0xf7, 0x12, 0xa7, 0xd7, 0x19, 0x91, 0x42, 0xcb, 0xea, 0x34, 0x56, 0x0a, 0xfe, 0xe0,
+	0x57, 0x2f, 0xd0, 0x9f, 0x1d, 0xbe, 0xf0, 0x53, 0xd1, 0xe3, 0x4d, 0xda, 0xe3, 0x4d, 0xbf, 0xc7,
+	0x9b, 0x57, 0x39, 0xb5, 0xed, 0x24, 0x1d, 0xf2, 0xe9, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc6,
+	0xe7, 0x79, 0xfb, 0x67, 0x6a, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -5782,7 +7212,7 @@ type ClusterManagerClient interface {
 	// Lists all clusters owned by a project in either the specified zone or all
 	// zones.
 	ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error)
-	// Gets the details of a specific cluster.
+	// Gets the details for a specific cluster.
 	GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
 	// Creates a cluster, consisting of the specified number and type of Google
 	// Compute Engine instances.
@@ -5798,24 +7228,24 @@ type ClusterManagerClient interface {
 	// Finally, an entry is added to the project's global metadata indicating
 	// which CIDR range is being used by the cluster.
 	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Updates the settings of a specific cluster.
+	// Updates the settings for a specific cluster.
 	UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Updates the version and/or iamge type of a specific node pool.
 	UpdateNodePool(ctx context.Context, in *UpdateNodePoolRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Sets the autoscaling settings of a specific node pool.
 	SetNodePoolAutoscaling(ctx context.Context, in *SetNodePoolAutoscalingRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the logging service of a specific cluster.
+	// Sets the logging service for a specific cluster.
 	SetLoggingService(ctx context.Context, in *SetLoggingServiceRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the monitoring service of a specific cluster.
+	// Sets the monitoring service for a specific cluster.
 	SetMonitoringService(ctx context.Context, in *SetMonitoringServiceRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the addons of a specific cluster.
+	// Sets the addons for a specific cluster.
 	SetAddonsConfig(ctx context.Context, in *SetAddonsConfigRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the locations of a specific cluster.
+	// Sets the locations for a specific cluster.
 	SetLocations(ctx context.Context, in *SetLocationsRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Updates the master of a specific cluster.
+	// Updates the master for a specific cluster.
 	UpdateMaster(ctx context.Context, in *UpdateMasterRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set.
 	// Modify basic_auth.csv and reset the K8S API server.
 	SetMasterAuth(ctx context.Context, in *SetMasterAuthRequest, opts ...grpc.CallOption) (*Operation, error)
@@ -5835,7 +7265,7 @@ type ClusterManagerClient interface {
 	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(ctx context.Context, in *GetServerConfigRequest, opts ...grpc.CallOption) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(ctx context.Context, in *ListNodePoolsRequest, opts ...grpc.CallOption) (*ListNodePoolsResponse, error)
@@ -5858,12 +7288,33 @@ type ClusterManagerClient interface {
 	StartIPRotation(ctx context.Context, in *StartIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(ctx context.Context, in *CompleteIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Sets the size of a specific node pool.
+	// Sets the size for a specific node pool.
 	SetNodePoolSize(ctx context.Context, in *SetNodePoolSizeRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(ctx context.Context, in *SetNetworkPolicyRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Sets the maintenance policy for a cluster.
 	SetMaintenancePolicy(ctx context.Context, in *SetMaintenancePolicyRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the access control policy for a resource. Replaces any existing
+	// policy.
+	//
+	// Authorization requires the Google IAM permission
+	// 'container.clusters.setIamPolicy' on the specified resource.
+	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+	// Gets the access control policy for a resource. Returns NOT_FOUND error if
+	// the resource does not exist. Returns an empty policy if the resource exists
+	// but does not have a policy set.
+	//
+	// Authorization requires the Google IAM permission
+	// `container.clusters.getIamPolicy` on the specified resource.
+	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.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.
+	//
+	// There is no permission required to make this API call.
+	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
+	// Lists subnetworks that are usable for creating clusters in a project.
+	ListUsableSubnetworks(ctx context.Context, in *ListUsableSubnetworksRequest, opts ...grpc.CallOption) (*ListUsableSubnetworksResponse, error)
 }
 
 type clusterManagerClient struct {
@@ -6144,12 +7595,48 @@ func (c *clusterManagerClient) SetMaintenancePolicy(ctx context.Context, in *Set
 	return out, nil
 }
 
+func (c *clusterManagerClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.container.v1alpha1.ClusterManager/SetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.container.v1alpha1.ClusterManager/GetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
+	out := new(v1.TestIamPermissionsResponse)
+	err := c.cc.Invoke(ctx, "/google.container.v1alpha1.ClusterManager/TestIamPermissions", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) ListUsableSubnetworks(ctx context.Context, in *ListUsableSubnetworksRequest, opts ...grpc.CallOption) (*ListUsableSubnetworksResponse, error) {
+	out := new(ListUsableSubnetworksResponse)
+	err := c.cc.Invoke(ctx, "/google.container.v1alpha1.ClusterManager/ListUsableSubnetworks", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // ClusterManagerServer is the server API for ClusterManager service.
 type ClusterManagerServer interface {
 	// Lists all clusters owned by a project in either the specified zone or all
 	// zones.
 	ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error)
-	// Gets the details of a specific cluster.
+	// Gets the details for a specific cluster.
 	GetCluster(context.Context, *GetClusterRequest) (*Cluster, error)
 	// Creates a cluster, consisting of the specified number and type of Google
 	// Compute Engine instances.
@@ -6165,24 +7652,24 @@ type ClusterManagerServer interface {
 	// Finally, an entry is added to the project's global metadata indicating
 	// which CIDR range is being used by the cluster.
 	CreateCluster(context.Context, *CreateClusterRequest) (*Operation, error)
-	// Updates the settings of a specific cluster.
+	// Updates the settings for a specific cluster.
 	UpdateCluster(context.Context, *UpdateClusterRequest) (*Operation, error)
 	// Updates the version and/or iamge type of a specific node pool.
 	UpdateNodePool(context.Context, *UpdateNodePoolRequest) (*Operation, error)
 	// Sets the autoscaling settings of a specific node pool.
 	SetNodePoolAutoscaling(context.Context, *SetNodePoolAutoscalingRequest) (*Operation, error)
-	// Sets the logging service of a specific cluster.
+	// Sets the logging service for a specific cluster.
 	SetLoggingService(context.Context, *SetLoggingServiceRequest) (*Operation, error)
-	// Sets the monitoring service of a specific cluster.
+	// Sets the monitoring service for a specific cluster.
 	SetMonitoringService(context.Context, *SetMonitoringServiceRequest) (*Operation, error)
-	// Sets the addons of a specific cluster.
+	// Sets the addons for a specific cluster.
 	SetAddonsConfig(context.Context, *SetAddonsConfigRequest) (*Operation, error)
-	// Sets the locations of a specific cluster.
+	// Sets the locations for a specific cluster.
 	SetLocations(context.Context, *SetLocationsRequest) (*Operation, error)
-	// Updates the master of a specific cluster.
+	// Updates the master for a specific cluster.
 	UpdateMaster(context.Context, *UpdateMasterRequest) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set.
 	// Modify basic_auth.csv and reset the K8S API server.
 	SetMasterAuth(context.Context, *SetMasterAuthRequest) (*Operation, error)
@@ -6202,7 +7689,7 @@ type ClusterManagerServer interface {
 	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(context.Context, *CancelOperationRequest) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(context.Context, *GetServerConfigRequest) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(context.Context, *ListNodePoolsRequest) (*ListNodePoolsResponse, error)
@@ -6225,12 +7712,33 @@ type ClusterManagerServer interface {
 	StartIPRotation(context.Context, *StartIPRotationRequest) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(context.Context, *CompleteIPRotationRequest) (*Operation, error)
-	// Sets the size of a specific node pool.
+	// Sets the size for a specific node pool.
 	SetNodePoolSize(context.Context, *SetNodePoolSizeRequest) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(context.Context, *SetNetworkPolicyRequest) (*Operation, error)
 	// Sets the maintenance policy for a cluster.
 	SetMaintenancePolicy(context.Context, *SetMaintenancePolicyRequest) (*Operation, error)
+	// Sets the access control policy for a resource. Replaces any existing
+	// policy.
+	//
+	// Authorization requires the Google IAM permission
+	// 'container.clusters.setIamPolicy' on the specified resource.
+	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
+	// Gets the access control policy for a resource. Returns NOT_FOUND error if
+	// the resource does not exist. Returns an empty policy if the resource exists
+	// but does not have a policy set.
+	//
+	// Authorization requires the Google IAM permission
+	// `container.clusters.getIamPolicy` on the specified resource.
+	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.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.
+	//
+	// There is no permission required to make this API call.
+	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
+	// Lists subnetworks that are usable for creating clusters in a project.
+	ListUsableSubnetworks(context.Context, *ListUsableSubnetworksRequest) (*ListUsableSubnetworksResponse, error)
 }
 
 func RegisterClusterManagerServer(s *grpc.Server, srv ClusterManagerServer) {
@@ -6777,6 +8285,78 @@ func _ClusterManager_SetMaintenancePolicy_Handler(srv interface{}, ctx context.C
 	return interceptor(ctx, in, info, handler)
 }
 
+func _ClusterManager_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.SetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1alpha1.ClusterManager/SetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.GetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).GetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1alpha1.ClusterManager/GetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(v1.TestIamPermissionsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).TestIamPermissions(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1alpha1.ClusterManager/TestIamPermissions",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_ListUsableSubnetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListUsableSubnetworksRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).ListUsableSubnetworks(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1alpha1.ClusterManager/ListUsableSubnetworks",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).ListUsableSubnetworks(ctx, req.(*ListUsableSubnetworksRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.container.v1alpha1.ClusterManager",
 	HandlerType: (*ClusterManagerServer)(nil),
@@ -6901,6 +8481,22 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 			MethodName: "SetMaintenancePolicy",
 			Handler:    _ClusterManager_SetMaintenancePolicy_Handler,
 		},
+		{
+			MethodName: "SetIamPolicy",
+			Handler:    _ClusterManager_SetIamPolicy_Handler,
+		},
+		{
+			MethodName: "GetIamPolicy",
+			Handler:    _ClusterManager_GetIamPolicy_Handler,
+		},
+		{
+			MethodName: "TestIamPermissions",
+			Handler:    _ClusterManager_TestIamPermissions_Handler,
+		},
+		{
+			MethodName: "ListUsableSubnetworks",
+			Handler:    _ClusterManager_ListUsableSubnetworks_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "google/container/v1alpha1/cluster_service.proto",
diff --git a/googleapis/container/v1beta1/cluster_service.pb.go b/googleapis/container/v1beta1/cluster_service.pb.go
index 63d0ca66d970a2a384b6fb9e02209c3f45145248..29fa4fe39ca7cf45afe36e06fe7a1018835d5afd 100644
--- a/googleapis/container/v1beta1/cluster_service.pb.go
+++ b/googleapis/container/v1beta1/cluster_service.pb.go
@@ -9,6 +9,7 @@ import (
 	empty "github.com/golang/protobuf/ptypes/empty"
 	context "golang.org/x/net/context"
 	_ "google.golang.org/genproto/googleapis/api/annotations"
+	_ "google.golang.org/genproto/googleapis/iam/v1"
 	grpc "google.golang.org/grpc"
 	math "math"
 )
@@ -85,7 +86,7 @@ func (x NetworkPolicy_Provider) String() string {
 }
 
 func (NetworkPolicy_Provider) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{10, 0}
+	return fileDescriptor_e39a67f424410134, []int{12, 0}
 }
 
 // The current status of the cluster.
@@ -108,6 +109,9 @@ const (
 	// The ERROR state indicates the cluster may be unusable. Details
 	// can be found in the `statusMessage` field.
 	Cluster_ERROR Cluster_Status = 5
+	// The DEGRADED state indicates the cluster requires user action to restore
+	// full functionality. Details can be found in the `statusMessage` field.
+	Cluster_DEGRADED Cluster_Status = 6
 )
 
 var Cluster_Status_name = map[int32]string{
@@ -117,6 +121,7 @@ var Cluster_Status_name = map[int32]string{
 	3: "RECONCILING",
 	4: "STOPPING",
 	5: "ERROR",
+	6: "DEGRADED",
 }
 
 var Cluster_Status_value = map[string]int32{
@@ -126,6 +131,7 @@ var Cluster_Status_value = map[string]int32{
 	"RECONCILING":        3,
 	"STOPPING":           4,
 	"ERROR":              5,
+	"DEGRADED":           6,
 }
 
 func (x Cluster_Status) String() string {
@@ -133,7 +139,7 @@ func (x Cluster_Status) String() string {
 }
 
 func (Cluster_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{13, 0}
+	return fileDescriptor_e39a67f424410134, []int{16, 0}
 }
 
 // Current status of the operation.
@@ -173,7 +179,7 @@ func (x Operation_Status) String() string {
 }
 
 func (Operation_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{15, 0}
+	return fileDescriptor_e39a67f424410134, []int{18, 0}
 }
 
 // Operation type.
@@ -261,7 +267,7 @@ func (x Operation_Type) String() string {
 }
 
 func (Operation_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{15, 1}
+	return fileDescriptor_e39a67f424410134, []int{18, 1}
 }
 
 // Operation type: what type update to perform.
@@ -300,7 +306,7 @@ func (x SetMasterAuthRequest_Action) String() string {
 }
 
 func (SetMasterAuthRequest_Action) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{19, 0}
+	return fileDescriptor_e39a67f424410134, []int{30, 0}
 }
 
 // The current status of the node pool instance.
@@ -355,7 +361,157 @@ func (x NodePool_Status) String() string {
 }
 
 func (NodePool_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{33, 0}
+	return fileDescriptor_e39a67f424410134, []int{44, 0}
+}
+
+// NodeMetadata is the configuration for if and how to expose the node
+// metadata to the workload running on the node.
+type WorkloadMetadataConfig_NodeMetadata int32
+
+const (
+	// Not set.
+	WorkloadMetadataConfig_UNSPECIFIED WorkloadMetadataConfig_NodeMetadata = 0
+	// Prevent workloads not in hostNetwork from accessing certain VM metadata,
+	// specifically kube-env, which contains Kubelet credentials, and the
+	// instance identity token.
+	//
+	// Metadata concealment is a temporary security solution available while the
+	// bootstrapping process for cluster nodes is being redesigned with
+	// significant security improvements.  This feature is scheduled to be
+	// deprecated in the future and later removed.
+	WorkloadMetadataConfig_SECURE WorkloadMetadataConfig_NodeMetadata = 1
+	// Expose all VM metadata to pods.
+	WorkloadMetadataConfig_EXPOSE WorkloadMetadataConfig_NodeMetadata = 2
+)
+
+var WorkloadMetadataConfig_NodeMetadata_name = map[int32]string{
+	0: "UNSPECIFIED",
+	1: "SECURE",
+	2: "EXPOSE",
+}
+
+var WorkloadMetadataConfig_NodeMetadata_value = map[string]int32{
+	"UNSPECIFIED": 0,
+	"SECURE":      1,
+	"EXPOSE":      2,
+}
+
+func (x WorkloadMetadataConfig_NodeMetadata) String() string {
+	return proto.EnumName(WorkloadMetadataConfig_NodeMetadata_name, int32(x))
+}
+
+func (WorkloadMetadataConfig_NodeMetadata) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{62, 0}
+}
+
+// LocationType is the type of GKE location, regional or zonal.
+type Location_LocationType int32
+
+const (
+	// LOCATION_TYPE_UNSPECIFIED means the location type was not determined.
+	Location_LOCATION_TYPE_UNSPECIFIED Location_LocationType = 0
+	// A GKE Location where Zonal clusters can be created.
+	Location_ZONE Location_LocationType = 1
+	// A GKE Location where Regional clusters can be created.
+	Location_REGION Location_LocationType = 2
+)
+
+var Location_LocationType_name = map[int32]string{
+	0: "LOCATION_TYPE_UNSPECIFIED",
+	1: "ZONE",
+	2: "REGION",
+}
+
+var Location_LocationType_value = map[string]int32{
+	"LOCATION_TYPE_UNSPECIFIED": 0,
+	"ZONE":                      1,
+	"REGION":                    2,
+}
+
+func (x Location_LocationType) String() string {
+	return proto.EnumName(Location_LocationType_name, int32(x))
+}
+
+func (Location_LocationType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{67, 0}
+}
+
+// Code for each condition
+type StatusCondition_Code int32
+
+const (
+	// UNKNOWN indicates a generic condition.
+	StatusCondition_UNKNOWN StatusCondition_Code = 0
+	// GCE_STOCKOUT indicates a GCE stockout.
+	StatusCondition_GCE_STOCKOUT StatusCondition_Code = 1
+	// GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
+	// service account.
+	// More codes TBA
+	StatusCondition_GKE_SERVICE_ACCOUNT_DELETED StatusCondition_Code = 2
+)
+
+var StatusCondition_Code_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "GCE_STOCKOUT",
+	2: "GKE_SERVICE_ACCOUNT_DELETED",
+}
+
+var StatusCondition_Code_value = map[string]int32{
+	"UNKNOWN":                     0,
+	"GCE_STOCKOUT":                1,
+	"GKE_SERVICE_ACCOUNT_DELETED": 2,
+}
+
+func (x StatusCondition_Code) String() string {
+	return proto.EnumName(StatusCondition_Code_name, int32(x))
+}
+
+func (StatusCondition_Code) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{68, 0}
+}
+
+// Status shows the current usage of a secondary IP range.
+type UsableSubnetworkSecondaryRange_Status int32
+
+const (
+	// UNKNOWN is the zero value of the Status enum. It's not a valid status.
+	UsableSubnetworkSecondaryRange_UNKNOWN UsableSubnetworkSecondaryRange_Status = 0
+	// UNUSED denotes that this range is unclaimed by any cluster.
+	UsableSubnetworkSecondaryRange_UNUSED UsableSubnetworkSecondaryRange_Status = 1
+	// IN_USE_SERVICE denotes that this range is claimed by a cluster for
+	// services. It cannot be used for other clusters.
+	UsableSubnetworkSecondaryRange_IN_USE_SERVICE UsableSubnetworkSecondaryRange_Status = 2
+	// IN_USE_SHAREABLE_POD denotes this range was created by the network admin
+	// and is currently claimed by a cluster for pods. It can only be used by
+	// other clusters as a pod range.
+	UsableSubnetworkSecondaryRange_IN_USE_SHAREABLE_POD UsableSubnetworkSecondaryRange_Status = 3
+	// IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed
+	// for pods. It cannot be used for other clusters.
+	UsableSubnetworkSecondaryRange_IN_USE_MANAGED_POD UsableSubnetworkSecondaryRange_Status = 4
+)
+
+var UsableSubnetworkSecondaryRange_Status_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "UNUSED",
+	2: "IN_USE_SERVICE",
+	3: "IN_USE_SHAREABLE_POD",
+	4: "IN_USE_MANAGED_POD",
+}
+
+var UsableSubnetworkSecondaryRange_Status_value = map[string]int32{
+	"UNKNOWN":              0,
+	"UNUSED":               1,
+	"IN_USE_SERVICE":       2,
+	"IN_USE_SHAREABLE_POD": 3,
+	"IN_USE_MANAGED_POD":   4,
+}
+
+func (x UsableSubnetworkSecondaryRange_Status) String() string {
+	return proto.EnumName(UsableSubnetworkSecondaryRange_Status_name, int32(x))
+}
+
+func (UsableSubnetworkSecondaryRange_Status) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{72, 0}
 }
 
 // Parameters that describe the nodes in a cluster.
@@ -395,8 +551,18 @@ type NodeConfig struct {
 	// 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"
+	// metadata keys for the project or be one of the reserved keys:
+	//  "cluster-location"
+	//  "cluster-name"
+	//  "cluster-uid"
+	//  "configure-sh"
+	//  "enable-oslogin"
+	//  "gci-ensure-gke-docker"
+	//  "gci-update-strategy"
+	//  "instance-template"
+	//  "kube-env"
+	//  "startup-script"
+	//  "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
@@ -436,13 +602,20 @@ type NodeConfig struct {
 	// See https://cloud.google.com/compute/docs/gpus for more information about
 	// support for GPUs.
 	Accelerators []*AcceleratorConfig `protobuf:"bytes,11,rep,name=accelerators,proto3" json:"accelerators,omitempty"`
+	// Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+	//
+	// If unspecified, the default disk type is 'pd-standard'
+	DiskType string `protobuf:"bytes,12,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
 	// Minimum CPU platform to be used by this instance. The instance may be
 	// scheduled on the specified or newer CPU platform. Applicable values are the
 	// friendly names of CPU platforms, such as
 	// <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
 	// <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
-	// information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+	// information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
 	MinCpuPlatform string `protobuf:"bytes,13,opt,name=min_cpu_platform,json=minCpuPlatform,proto3" json:"min_cpu_platform,omitempty"`
+	// The workload metadata configuration for this node.
+	WorkloadMetadataConfig *WorkloadMetadataConfig `protobuf:"bytes,14,opt,name=workload_metadata_config,json=workloadMetadataConfig,proto3" json:"workload_metadata_config,omitempty"`
 	// List of kubernetes taints to be applied to each node.
 	//
 	// For more information, including usage and the valid values, see:
@@ -555,6 +728,13 @@ func (m *NodeConfig) GetAccelerators() []*AcceleratorConfig {
 	return nil
 }
 
+func (m *NodeConfig) GetDiskType() string {
+	if m != nil {
+		return m.DiskType
+	}
+	return ""
+}
+
 func (m *NodeConfig) GetMinCpuPlatform() string {
 	if m != nil {
 		return m.MinCpuPlatform
@@ -562,6 +742,13 @@ func (m *NodeConfig) GetMinCpuPlatform() string {
 	return ""
 }
 
+func (m *NodeConfig) GetWorkloadMetadataConfig() *WorkloadMetadataConfig {
+	if m != nil {
+		return m.WorkloadMetadataConfig
+	}
+	return nil
+}
+
 func (m *NodeConfig) GetTaints() []*NodeTaint {
 	if m != nil {
 		return m.Taints
@@ -645,8 +832,9 @@ type MasterAuth struct {
 	// strong password.  If a password is provided for cluster creation, username
 	// must be non-empty.
 	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
-	// Configuration for client certificate authentication on the cluster.  If no
-	// configuration is specified, a client certificate is issued.
+	// Configuration for client certificate authentication on the cluster. For
+	// clusters before v1.12, if no configuration is specified, a client
+	// certificate is issued.
 	ClientCertificateConfig *ClientCertificateConfig `protobuf:"bytes,3,opt,name=client_certificate_config,json=clientCertificateConfig,proto3" json:"client_certificate_config,omitempty"`
 	// [Output only] Base64-encoded public certificate that is the root of
 	// trust for the cluster.
@@ -1017,6 +1205,86 @@ func (m *NetworkPolicyConfig) GetDisabled() bool {
 	return false
 }
 
+// Configuration options for private clusters.
+type PrivateClusterConfig struct {
+	// Whether nodes have only private IP addresses, and communicate with the
+	// master via private networking.
+	EnablePrivateNodes bool `protobuf:"varint,1,opt,name=enable_private_nodes,json=enablePrivateNodes,proto3" json:"enable_private_nodes,omitempty"`
+	// Whether the master's internal IP address is used as the cluster endpoint.
+	EnablePrivateEndpoint bool `protobuf:"varint,2,opt,name=enable_private_endpoint,json=enablePrivateEndpoint,proto3" json:"enable_private_endpoint,omitempty"`
+	// The IP prefix in CIDR notation to use for the hosted master network. This
+	// prefix will be used for assigning private IP addresses to the master or
+	// set of masters, as well as the ILB VIP.
+	MasterIpv4CidrBlock string `protobuf:"bytes,3,opt,name=master_ipv4_cidr_block,json=masterIpv4CidrBlock,proto3" json:"master_ipv4_cidr_block,omitempty"`
+	// Output only. The internal IP address of this cluster's master endpoint.
+	PrivateEndpoint string `protobuf:"bytes,4,opt,name=private_endpoint,json=privateEndpoint,proto3" json:"private_endpoint,omitempty"`
+	// Output only. The external IP address of this cluster's master endpoint.
+	PublicEndpoint       string   `protobuf:"bytes,5,opt,name=public_endpoint,json=publicEndpoint,proto3" json:"public_endpoint,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *PrivateClusterConfig) Reset()         { *m = PrivateClusterConfig{} }
+func (m *PrivateClusterConfig) String() string { return proto.CompactTextString(m) }
+func (*PrivateClusterConfig) ProtoMessage()    {}
+func (*PrivateClusterConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{9}
+}
+
+func (m *PrivateClusterConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PrivateClusterConfig.Unmarshal(m, b)
+}
+func (m *PrivateClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PrivateClusterConfig.Marshal(b, m, deterministic)
+}
+func (m *PrivateClusterConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PrivateClusterConfig.Merge(m, src)
+}
+func (m *PrivateClusterConfig) XXX_Size() int {
+	return xxx_messageInfo_PrivateClusterConfig.Size(m)
+}
+func (m *PrivateClusterConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_PrivateClusterConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PrivateClusterConfig proto.InternalMessageInfo
+
+func (m *PrivateClusterConfig) GetEnablePrivateNodes() bool {
+	if m != nil {
+		return m.EnablePrivateNodes
+	}
+	return false
+}
+
+func (m *PrivateClusterConfig) GetEnablePrivateEndpoint() bool {
+	if m != nil {
+		return m.EnablePrivateEndpoint
+	}
+	return false
+}
+
+func (m *PrivateClusterConfig) GetMasterIpv4CidrBlock() string {
+	if m != nil {
+		return m.MasterIpv4CidrBlock
+	}
+	return ""
+}
+
+func (m *PrivateClusterConfig) GetPrivateEndpoint() string {
+	if m != nil {
+		return m.PrivateEndpoint
+	}
+	return ""
+}
+
+func (m *PrivateClusterConfig) GetPublicEndpoint() string {
+	if m != nil {
+		return m.PublicEndpoint
+	}
+	return ""
+}
+
 // Configuration options for the master authorized networks feature. Enabled
 // master authorized networks will disallow all external traffic to access
 // Kubernetes master through HTTPS except traffic from the given CIDR blocks,
@@ -1036,7 +1304,7 @@ func (m *MasterAuthorizedNetworksConfig) Reset()         { *m = MasterAuthorized
 func (m *MasterAuthorizedNetworksConfig) String() string { return proto.CompactTextString(m) }
 func (*MasterAuthorizedNetworksConfig) ProtoMessage()    {}
 func (*MasterAuthorizedNetworksConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{9}
+	return fileDescriptor_e39a67f424410134, []int{10}
 }
 
 func (m *MasterAuthorizedNetworksConfig) XXX_Unmarshal(b []byte) error {
@@ -1088,7 +1356,7 @@ func (m *MasterAuthorizedNetworksConfig_CidrBlock) Reset() {
 func (m *MasterAuthorizedNetworksConfig_CidrBlock) String() string { return proto.CompactTextString(m) }
 func (*MasterAuthorizedNetworksConfig_CidrBlock) ProtoMessage()    {}
 func (*MasterAuthorizedNetworksConfig_CidrBlock) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{9, 0}
+	return fileDescriptor_e39a67f424410134, []int{10, 0}
 }
 
 func (m *MasterAuthorizedNetworksConfig_CidrBlock) XXX_Unmarshal(b []byte) error {
@@ -1123,6 +1391,51 @@ func (m *MasterAuthorizedNetworksConfig_CidrBlock) GetCidrBlock() string {
 	return ""
 }
 
+// Configuration for the legacy Attribute Based Access Control authorization
+// mode.
+type LegacyAbac struct {
+	// Whether the ABAC authorizer is enabled for this cluster. When enabled,
+	// identities in the system, including service accounts, nodes, and
+	// controllers, will have statically granted permissions beyond those
+	// provided by the RBAC configuration or IAM.
+	Enabled              bool     `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *LegacyAbac) Reset()         { *m = LegacyAbac{} }
+func (m *LegacyAbac) String() string { return proto.CompactTextString(m) }
+func (*LegacyAbac) ProtoMessage()    {}
+func (*LegacyAbac) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{11}
+}
+
+func (m *LegacyAbac) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_LegacyAbac.Unmarshal(m, b)
+}
+func (m *LegacyAbac) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_LegacyAbac.Marshal(b, m, deterministic)
+}
+func (m *LegacyAbac) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LegacyAbac.Merge(m, src)
+}
+func (m *LegacyAbac) XXX_Size() int {
+	return xxx_messageInfo_LegacyAbac.Size(m)
+}
+func (m *LegacyAbac) XXX_DiscardUnknown() {
+	xxx_messageInfo_LegacyAbac.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_LegacyAbac proto.InternalMessageInfo
+
+func (m *LegacyAbac) GetEnabled() bool {
+	if m != nil {
+		return m.Enabled
+	}
+	return false
+}
+
 // Configuration options for the NetworkPolicy feature.
 // https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
 type NetworkPolicy struct {
@@ -1139,7 +1452,7 @@ func (m *NetworkPolicy) Reset()         { *m = NetworkPolicy{} }
 func (m *NetworkPolicy) String() string { return proto.CompactTextString(m) }
 func (*NetworkPolicy) ProtoMessage()    {}
 func (*NetworkPolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{10}
+	return fileDescriptor_e39a67f424410134, []int{12}
 }
 
 func (m *NetworkPolicy) XXX_Unmarshal(b []byte) error {
@@ -1187,11 +1500,11 @@ type IPAllocationPolicy struct {
 	// subnetwork.
 	SubnetworkName string `protobuf:"bytes,3,opt,name=subnetwork_name,json=subnetworkName,proto3" json:"subnetwork_name,omitempty"`
 	// This field is deprecated, use cluster_ipv4_cidr_block.
-	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"`
+	ClusterIpv4Cidr string `protobuf:"bytes,4,opt,name=cluster_ipv4_cidr,json=clusterIpv4Cidr,proto3" json:"cluster_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use node_ipv4_cidr_block.
-	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"`
+	NodeIpv4Cidr string `protobuf:"bytes,5,opt,name=node_ipv4_cidr,json=nodeIpv4Cidr,proto3" json:"node_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// This field is deprecated, use services_ipv4_cidr_block.
-	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
+	ServicesIpv4Cidr string `protobuf:"bytes,6,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"` // Deprecated: Do not use.
 	// The name of the secondary range to be used for the cluster CIDR
 	// block.  The secondary range will be used for pod IP
 	// addresses. This must be an existing secondary range associated
@@ -1254,17 +1567,46 @@ type IPAllocationPolicy struct {
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
 	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
 	// to use.
-	ServicesIpv4CidrBlock string   `protobuf:"bytes,11,opt,name=services_ipv4_cidr_block,json=servicesIpv4CidrBlock,proto3" json:"services_ipv4_cidr_block,omitempty"`
-	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
-	XXX_unrecognized      []byte   `json:"-"`
-	XXX_sizecache         int32    `json:"-"`
+	ServicesIpv4CidrBlock string `protobuf:"bytes,11,opt,name=services_ipv4_cidr_block,json=servicesIpv4CidrBlock,proto3" json:"services_ipv4_cidr_block,omitempty"`
+	// If true, allow allocation of cluster CIDR ranges that overlap with certain
+	// kinds of network routes. By default we do not allow cluster CIDR ranges to
+	// intersect with any user declared routes. With allow_route_overlap == true,
+	// we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+	// range.
+	//
+	// If this field is set to true, then cluster and services CIDRs must be
+	// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+	// 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+	//    `services_ipv4_cidr_block` must be fully-specified.
+	// 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+	//    fully-specified.
+	AllowRouteOverlap bool `protobuf:"varint,12,opt,name=allow_route_overlap,json=allowRouteOverlap,proto3" json:"allow_route_overlap,omitempty"`
+	// The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+	// range will be automatically chosen with the default size.
+	//
+	// This field is only applicable when `use_ip_aliases` is true.
+	//
+	// If unspecified, the range will use the default size.
+	//
+	// Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+	// netmask.
+	//
+	// Set to a
+	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+	// to use.
+	TpuIpv4CidrBlock     string   `protobuf:"bytes,13,opt,name=tpu_ipv4_cidr_block,json=tpuIpv4CidrBlock,proto3" json:"tpu_ipv4_cidr_block,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *IPAllocationPolicy) Reset()         { *m = IPAllocationPolicy{} }
 func (m *IPAllocationPolicy) String() string { return proto.CompactTextString(m) }
 func (*IPAllocationPolicy) ProtoMessage()    {}
 func (*IPAllocationPolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{11}
+	return fileDescriptor_e39a67f424410134, []int{13}
 }
 
 func (m *IPAllocationPolicy) XXX_Unmarshal(b []byte) error {
@@ -1306,6 +1648,7 @@ func (m *IPAllocationPolicy) GetSubnetworkName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	if m != nil {
 		return m.ClusterIpv4Cidr
@@ -1313,6 +1656,7 @@ func (m *IPAllocationPolicy) GetClusterIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	if m != nil {
 		return m.NodeIpv4Cidr
@@ -1320,6 +1664,7 @@ func (m *IPAllocationPolicy) GetNodeIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *IPAllocationPolicy) GetServicesIpv4Cidr() string {
 	if m != nil {
 		return m.ServicesIpv4Cidr
@@ -1362,6 +1707,62 @@ func (m *IPAllocationPolicy) GetServicesIpv4CidrBlock() string {
 	return ""
 }
 
+func (m *IPAllocationPolicy) GetAllowRouteOverlap() bool {
+	if m != nil {
+		return m.AllowRouteOverlap
+	}
+	return false
+}
+
+func (m *IPAllocationPolicy) GetTpuIpv4CidrBlock() string {
+	if m != nil {
+		return m.TpuIpv4CidrBlock
+	}
+	return ""
+}
+
+// Configuration for Binary Authorization.
+type BinaryAuthorization struct {
+	// Enable Binary Authorization for this cluster. If enabled, all container
+	// images will be validated by Google Binauthz.
+	Enabled              bool     `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *BinaryAuthorization) Reset()         { *m = BinaryAuthorization{} }
+func (m *BinaryAuthorization) String() string { return proto.CompactTextString(m) }
+func (*BinaryAuthorization) ProtoMessage()    {}
+func (*BinaryAuthorization) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{14}
+}
+
+func (m *BinaryAuthorization) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_BinaryAuthorization.Unmarshal(m, b)
+}
+func (m *BinaryAuthorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_BinaryAuthorization.Marshal(b, m, deterministic)
+}
+func (m *BinaryAuthorization) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_BinaryAuthorization.Merge(m, src)
+}
+func (m *BinaryAuthorization) XXX_Size() int {
+	return xxx_messageInfo_BinaryAuthorization.Size(m)
+}
+func (m *BinaryAuthorization) XXX_DiscardUnknown() {
+	xxx_messageInfo_BinaryAuthorization.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_BinaryAuthorization proto.InternalMessageInfo
+
+func (m *BinaryAuthorization) GetEnabled() bool {
+	if m != nil {
+		return m.Enabled
+	}
+	return false
+}
+
 // Configuration for the PodSecurityPolicy feature.
 type PodSecurityPolicyConfig struct {
 	// Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
@@ -1376,7 +1777,7 @@ func (m *PodSecurityPolicyConfig) Reset()         { *m = PodSecurityPolicyConfig
 func (m *PodSecurityPolicyConfig) String() string { return proto.CompactTextString(m) }
 func (*PodSecurityPolicyConfig) ProtoMessage()    {}
 func (*PodSecurityPolicyConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{12}
+	return fileDescriptor_e39a67f424410134, []int{15}
 }
 
 func (m *PodSecurityPolicyConfig) XXX_Unmarshal(b []byte) error {
@@ -1404,7 +1805,7 @@ func (m *PodSecurityPolicyConfig) GetEnabled() bool {
 	return false
 }
 
-// A Google Container Engine cluster.
+// A Google Kubernetes Engine cluster.
 type Cluster struct {
 	// 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:
@@ -1454,7 +1855,8 @@ type Cluster struct {
 	// 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.
+	// will be used. On output this shows the network ID instead of
+	// the name.
 	Network string `protobuf:"bytes,8,opt,name=network,proto3" json:"network,omitempty"`
 	// The IP address range of the container pods in this cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
@@ -1465,7 +1867,8 @@ type Cluster struct {
 	AddonsConfig *AddonsConfig `protobuf:"bytes,10,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
 	// The name of the Google Compute Engine
 	// [subnetwork](/compute/docs/subnetworks) to which the
-	// cluster is connected.
+	// cluster is connected. On output this shows the subnetwork ID instead of
+	// the name.
 	Subnetwork string `protobuf:"bytes,11,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
 	// The node pools associated with this cluster.
 	// This field should not be set if "node_config" or "initial_node_count" are
@@ -1482,6 +1885,13 @@ type Cluster struct {
 	// Alpha enabled clusters are automatically deleted thirty days after
 	// creation.
 	EnableKubernetesAlpha bool `protobuf:"varint,14,opt,name=enable_kubernetes_alpha,json=enableKubernetesAlpha,proto3" json:"enable_kubernetes_alpha,omitempty"`
+	// The resource labels for the cluster to use to annotate any related
+	// Google Compute Engine resources.
+	ResourceLabels map[string]string `protobuf:"bytes,15,rep,name=resource_labels,json=resourceLabels,proto3" json:"resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// The fingerprint of the set of labels for this cluster.
+	LabelFingerprint string `protobuf:"bytes,16,opt,name=label_fingerprint,json=labelFingerprint,proto3" json:"label_fingerprint,omitempty"`
+	// Configuration for the legacy ABAC authorization mode.
+	LegacyAbac *LegacyAbac `protobuf:"bytes,18,opt,name=legacy_abac,json=legacyAbac,proto3" json:"legacy_abac,omitempty"`
 	// Configuration options for the NetworkPolicy feature.
 	NetworkPolicy *NetworkPolicy `protobuf:"bytes,19,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
 	// Configuration for cluster IP allocation.
@@ -1490,15 +1900,38 @@ type Cluster struct {
 	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,22,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig,proto3" json:"master_authorized_networks_config,omitempty"`
 	// Configure the maintenance policy for this cluster.
 	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,23,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
+	// Configuration for Binary Authorization.
+	BinaryAuthorization *BinaryAuthorization `protobuf:"bytes,24,opt,name=binary_authorization,json=binaryAuthorization,proto3" json:"binary_authorization,omitempty"`
 	// Configuration for the PodSecurityPolicy feature.
 	PodSecurityPolicyConfig *PodSecurityPolicyConfig `protobuf:"bytes,25,opt,name=pod_security_policy_config,json=podSecurityPolicyConfig,proto3" json:"pod_security_policy_config,omitempty"`
+	// Cluster-level autoscaling configuration.
+	Autoscaling *ClusterAutoscaling `protobuf:"bytes,26,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
+	// Configuration for cluster networking.
+	NetworkConfig *NetworkConfig `protobuf:"bytes,27,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"`
+	// If this is a private cluster setup. Private clusters are clusters that, by
+	// default have no external IP addresses on the nodes and where nodes and the
+	// master communicate over private IP addresses.
+	// This field is deprecated, use private_cluster_config.enabled instead.
+	PrivateCluster bool `protobuf:"varint,28,opt,name=private_cluster,json=privateCluster,proto3" json:"private_cluster,omitempty"` // Deprecated: Do not use.
+	// The IP prefix in CIDR notation to use for the hosted master network.
+	// This prefix will be used for assigning private IP addresses to the
+	// master or set of masters, as well as the ILB VIP.
+	// This field is deprecated, use
+	// private_cluster_config.master_ipv4_cidr_block instead.
+	MasterIpv4CidrBlock string `protobuf:"bytes,29,opt,name=master_ipv4_cidr_block,json=masterIpv4CidrBlock,proto3" json:"master_ipv4_cidr_block,omitempty"` // Deprecated: Do not use.
+	// The default constraint on the maximum number of pods that can be run
+	// simultaneously on a node in the node pool of this cluster. Only honored
+	// if cluster created with IP Alias support.
+	DefaultMaxPodsConstraint *MaxPodsConstraint `protobuf:"bytes,30,opt,name=default_max_pods_constraint,json=defaultMaxPodsConstraint,proto3" json:"default_max_pods_constraint,omitempty"`
+	// Configuration for private cluster.
+	PrivateClusterConfig *PrivateClusterConfig `protobuf:"bytes,37,opt,name=private_cluster_config,json=privateClusterConfig,proto3" json:"private_cluster_config,omitempty"`
 	// [Output only] Server-defined URL for the resource.
 	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
 	// [Output only] The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
 	// This field is deprecated, use location instead.
-	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"`
+	Zone string `protobuf:"bytes,101,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// [Output only] The IP address of this cluster's master endpoint.
 	// The endpoint can be accessed from the internet at
 	// `https://username:password@endpoint/`.
@@ -1510,13 +1943,24 @@ type Cluster struct {
 	// found in validMasterVersions returned by getServerConfig.  The version can
 	// be upgraded over time; such upgrades are reflected in
 	// currentMasterVersion and currentNodeVersion.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "","-": picks the default Kubernetes version
 	InitialClusterVersion string `protobuf:"bytes,103,opt,name=initial_cluster_version,json=initialClusterVersion,proto3" json:"initial_cluster_version,omitempty"`
 	// [Output only] The current software version of the master endpoint.
 	CurrentMasterVersion string `protobuf:"bytes,104,opt,name=current_master_version,json=currentMasterVersion,proto3" json:"current_master_version,omitempty"`
-	// [Output only] The current version of the node software components.
+	// [Output only] Deprecated, use
+	// [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.zones.clusters.nodePool)
+	// instead. 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.
-	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"`
+	CurrentNodeVersion string `protobuf:"bytes,105,opt,name=current_node_version,json=currentNodeVersion,proto3" json:"current_node_version,omitempty"` // Deprecated: Do not use.
 	// [Output only] The time the cluster was created, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	CreateTime string `protobuf:"bytes,106,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
@@ -1535,10 +1979,8 @@ type Cluster struct {
 	// notation (e.g. `1.2.3.4/29`). Service addresses are
 	// typically put in the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `protobuf:"bytes,110,opt,name=services_ipv4_cidr,json=servicesIpv4Cidr,proto3" json:"services_ipv4_cidr,omitempty"`
-	// [Output only] The resource URLs of [instance
-	// groups](/compute/docs/instance-groups/) associated with this
-	// cluster.
-	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
+	// Deprecated. Use node_pools.instance_group_urls.
+	InstanceGroupUrls []string `protobuf:"bytes,111,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"` // Deprecated: Do not use.
 	// [Output only] The number of nodes currently in the cluster.
 	CurrentNodeCount int32 `protobuf:"varint,112,opt,name=current_node_count,json=currentNodeCount,proto3" json:"current_node_count,omitempty"`
 	// [Output only] The time the cluster will be automatically
@@ -1548,17 +1990,25 @@ type Cluster struct {
 	// [zone](/compute/docs/regions-zones/regions-zones#available) or
 	// [region](/compute/docs/regions-zones/regions-zones#available) in which
 	// the cluster resides.
-	Location             string   `protobuf:"bytes,114,opt,name=location,proto3" json:"location,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Location string `protobuf:"bytes,114,opt,name=location,proto3" json:"location,omitempty"`
+	// Enable the ability to use Cloud TPUs in this cluster.
+	EnableTpu bool `protobuf:"varint,115,opt,name=enable_tpu,json=enableTpu,proto3" json:"enable_tpu,omitempty"`
+	// [Output only] The IP address range of the Cloud TPUs in this cluster, in
+	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+	// notation (e.g. `1.2.3.4/29`).
+	TpuIpv4CidrBlock string `protobuf:"bytes,116,opt,name=tpu_ipv4_cidr_block,json=tpuIpv4CidrBlock,proto3" json:"tpu_ipv4_cidr_block,omitempty"`
+	// Which conditions caused the current cluster state.
+	Conditions           []*StatusCondition `protobuf:"bytes,118,rep,name=conditions,proto3" json:"conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *Cluster) Reset()         { *m = Cluster{} }
 func (m *Cluster) String() string { return proto.CompactTextString(m) }
 func (*Cluster) ProtoMessage()    {}
 func (*Cluster) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{13}
+	return fileDescriptor_e39a67f424410134, []int{16}
 }
 
 func (m *Cluster) XXX_Unmarshal(b []byte) error {
@@ -1677,6 +2127,27 @@ func (m *Cluster) GetEnableKubernetesAlpha() bool {
 	return false
 }
 
+func (m *Cluster) GetResourceLabels() map[string]string {
+	if m != nil {
+		return m.ResourceLabels
+	}
+	return nil
+}
+
+func (m *Cluster) GetLabelFingerprint() string {
+	if m != nil {
+		return m.LabelFingerprint
+	}
+	return ""
+}
+
+func (m *Cluster) GetLegacyAbac() *LegacyAbac {
+	if m != nil {
+		return m.LegacyAbac
+	}
+	return nil
+}
+
 func (m *Cluster) GetNetworkPolicy() *NetworkPolicy {
 	if m != nil {
 		return m.NetworkPolicy
@@ -1705,6 +2176,13 @@ func (m *Cluster) GetMaintenancePolicy() *MaintenancePolicy {
 	return nil
 }
 
+func (m *Cluster) GetBinaryAuthorization() *BinaryAuthorization {
+	if m != nil {
+		return m.BinaryAuthorization
+	}
+	return nil
+}
+
 func (m *Cluster) GetPodSecurityPolicyConfig() *PodSecurityPolicyConfig {
 	if m != nil {
 		return m.PodSecurityPolicyConfig
@@ -1712,6 +2190,50 @@ func (m *Cluster) GetPodSecurityPolicyConfig() *PodSecurityPolicyConfig {
 	return nil
 }
 
+func (m *Cluster) GetAutoscaling() *ClusterAutoscaling {
+	if m != nil {
+		return m.Autoscaling
+	}
+	return nil
+}
+
+func (m *Cluster) GetNetworkConfig() *NetworkConfig {
+	if m != nil {
+		return m.NetworkConfig
+	}
+	return nil
+}
+
+// Deprecated: Do not use.
+func (m *Cluster) GetPrivateCluster() bool {
+	if m != nil {
+		return m.PrivateCluster
+	}
+	return false
+}
+
+// Deprecated: Do not use.
+func (m *Cluster) GetMasterIpv4CidrBlock() string {
+	if m != nil {
+		return m.MasterIpv4CidrBlock
+	}
+	return ""
+}
+
+func (m *Cluster) GetDefaultMaxPodsConstraint() *MaxPodsConstraint {
+	if m != nil {
+		return m.DefaultMaxPodsConstraint
+	}
+	return nil
+}
+
+func (m *Cluster) GetPrivateClusterConfig() *PrivateClusterConfig {
+	if m != nil {
+		return m.PrivateClusterConfig
+	}
+	return nil
+}
+
 func (m *Cluster) GetSelfLink() string {
 	if m != nil {
 		return m.SelfLink
@@ -1719,6 +2241,7 @@ func (m *Cluster) GetSelfLink() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -1747,6 +2270,7 @@ func (m *Cluster) GetCurrentMasterVersion() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetCurrentNodeVersion() string {
 	if m != nil {
 		return m.CurrentNodeVersion
@@ -1789,6 +2313,7 @@ func (m *Cluster) GetServicesIpv4Cidr() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Cluster) GetInstanceGroupUrls() []string {
 	if m != nil {
 		return m.InstanceGroupUrls
@@ -1817,17 +2342,48 @@ func (m *Cluster) GetLocation() string {
 	return ""
 }
 
-// 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.
-type ClusterUpdate struct {
-	// The Kubernetes version to change the nodes to (typically an
-	// upgrade). Use `-` to upgrade to the latest version supported by
-	// the server.
-	DesiredNodeVersion string `protobuf:"bytes,4,opt,name=desired_node_version,json=desiredNodeVersion,proto3" json:"desired_node_version,omitempty"`
+func (m *Cluster) GetEnableTpu() bool {
+	if m != nil {
+		return m.EnableTpu
+	}
+	return false
+}
+
+func (m *Cluster) GetTpuIpv4CidrBlock() string {
+	if m != nil {
+		return m.TpuIpv4CidrBlock
+	}
+	return ""
+}
+
+func (m *Cluster) GetConditions() []*StatusCondition {
+	if m != nil {
+		return m.Conditions
+	}
+	return nil
+}
+
+// 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.
+type ClusterUpdate struct {
+	// The Kubernetes version to change the nodes to (typically an
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
+	DesiredNodeVersion string `protobuf:"bytes,4,opt,name=desired_node_version,json=desiredNodeVersion,proto3" json:"desired_node_version,omitempty"`
 	// The monitoring service the cluster should use to write metrics.
 	// Currently available options:
 	//
+	// * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
+	// service with Kubernetes-native resource model in Stackdriver
 	// * "monitoring.googleapis.com" - the Google Cloud Monitoring service
 	// * "none" - no metrics will be exported from the cluster
 	DesiredMonitoringService string `protobuf:"bytes,5,opt,name=desired_monitoring_service,json=desiredMonitoringService,proto3" json:"desired_monitoring_service,omitempty"`
@@ -1858,9 +2414,29 @@ type ClusterUpdate struct {
 	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,12,opt,name=desired_master_authorized_networks_config,json=desiredMasterAuthorizedNetworksConfig,proto3" json:"desired_master_authorized_networks_config,omitempty"`
 	// The desired configuration options for the PodSecurityPolicy feature.
 	DesiredPodSecurityPolicyConfig *PodSecurityPolicyConfig `protobuf:"bytes,14,opt,name=desired_pod_security_policy_config,json=desiredPodSecurityPolicyConfig,proto3" json:"desired_pod_security_policy_config,omitempty"`
+	// Cluster-level autoscaling configuration.
+	DesiredClusterAutoscaling *ClusterAutoscaling `protobuf:"bytes,15,opt,name=desired_cluster_autoscaling,json=desiredClusterAutoscaling,proto3" json:"desired_cluster_autoscaling,omitempty"`
+	// The desired configuration options for the Binary Authorization feature.
+	DesiredBinaryAuthorization *BinaryAuthorization `protobuf:"bytes,16,opt,name=desired_binary_authorization,json=desiredBinaryAuthorization,proto3" json:"desired_binary_authorization,omitempty"`
+	// The logging service the cluster should use to write metrics.
+	// Currently available options:
+	//
+	// * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+	// service with Kubernetes-native resource model in Stackdriver
+	// * "logging.googleapis.com" - the Google Cloud Logging service
+	// * "none" - no logs will be exported from the cluster
+	DesiredLoggingService string `protobuf:"bytes,19,opt,name=desired_logging_service,json=desiredLoggingService,proto3" json:"desired_logging_service,omitempty"`
 	// 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.
+	// latest supported version.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
 	DesiredMasterVersion string   `protobuf:"bytes,100,opt,name=desired_master_version,json=desiredMasterVersion,proto3" json:"desired_master_version,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -1871,7 +2447,7 @@ func (m *ClusterUpdate) Reset()         { *m = ClusterUpdate{} }
 func (m *ClusterUpdate) String() string { return proto.CompactTextString(m) }
 func (*ClusterUpdate) ProtoMessage()    {}
 func (*ClusterUpdate) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{14}
+	return fileDescriptor_e39a67f424410134, []int{17}
 }
 
 func (m *ClusterUpdate) XXX_Unmarshal(b []byte) error {
@@ -1955,6 +2531,27 @@ func (m *ClusterUpdate) GetDesiredPodSecurityPolicyConfig() *PodSecurityPolicyCo
 	return nil
 }
 
+func (m *ClusterUpdate) GetDesiredClusterAutoscaling() *ClusterAutoscaling {
+	if m != nil {
+		return m.DesiredClusterAutoscaling
+	}
+	return nil
+}
+
+func (m *ClusterUpdate) GetDesiredBinaryAuthorization() *BinaryAuthorization {
+	if m != nil {
+		return m.DesiredBinaryAuthorization
+	}
+	return nil
+}
+
+func (m *ClusterUpdate) GetDesiredLoggingService() string {
+	if m != nil {
+		return m.DesiredLoggingService
+	}
+	return ""
+}
+
 func (m *ClusterUpdate) GetDesiredMasterVersion() string {
 	if m != nil {
 		return m.DesiredMasterVersion
@@ -1971,7 +2568,7 @@ type Operation struct {
 	// [zone](/compute/docs/zones#available) in which the operation
 	// is taking place.
 	// This field is deprecated, use location instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// The operation type.
 	OperationType Operation_Type `protobuf:"varint,3,opt,name=operation_type,json=operationType,proto3,enum=google.container.v1beta1.Operation_Type" json:"operation_type,omitempty"`
 	// The current status of the operation.
@@ -1994,17 +2591,23 @@ type Operation struct {
 	StartTime string `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
 	// [Output only] The time the operation completed, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-	EndTime              string   `protobuf:"bytes,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	EndTime string `protobuf:"bytes,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// [Output only] Progress information for an operation.
+	Progress *OperationProgress `protobuf:"bytes,12,opt,name=progress,proto3" json:"progress,omitempty"`
+	// Which conditions caused the current cluster state.
+	ClusterConditions []*StatusCondition `protobuf:"bytes,13,rep,name=cluster_conditions,json=clusterConditions,proto3" json:"cluster_conditions,omitempty"`
+	// Which conditions caused the current node pool state.
+	NodepoolConditions   []*StatusCondition `protobuf:"bytes,14,rep,name=nodepool_conditions,json=nodepoolConditions,proto3" json:"nodepool_conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *Operation) Reset()         { *m = Operation{} }
 func (m *Operation) String() string { return proto.CompactTextString(m) }
 func (*Operation) ProtoMessage()    {}
 func (*Operation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{15}
+	return fileDescriptor_e39a67f424410134, []int{18}
 }
 
 func (m *Operation) XXX_Unmarshal(b []byte) error {
@@ -2032,6 +2635,7 @@ func (m *Operation) GetName() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *Operation) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2102,17 +2706,291 @@ func (m *Operation) GetEndTime() string {
 	return ""
 }
 
+func (m *Operation) GetProgress() *OperationProgress {
+	if m != nil {
+		return m.Progress
+	}
+	return nil
+}
+
+func (m *Operation) GetClusterConditions() []*StatusCondition {
+	if m != nil {
+		return m.ClusterConditions
+	}
+	return nil
+}
+
+func (m *Operation) GetNodepoolConditions() []*StatusCondition {
+	if m != nil {
+		return m.NodepoolConditions
+	}
+	return nil
+}
+
+// Information about operation (or operation stage) progress.
+type OperationProgress struct {
+	// A non-parameterized string describing an operation stage.
+	// Unset for single-stage operations.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Status of an operation stage.
+	// Unset for single-stage operations.
+	Status Operation_Status `protobuf:"varint,2,opt,name=status,proto3,enum=google.container.v1beta1.Operation_Status" json:"status,omitempty"`
+	// Progress metric bundle, for example:
+	//   metrics: [{name: "nodes done",     int_value: 15},
+	//             {name: "nodes total",    int_value: 32}]
+	// or
+	//   metrics: [{name: "progress",       double_value: 0.56},
+	//             {name: "progress scale", double_value: 1.0}]
+	Metrics []*OperationProgress_Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"`
+	// Substages of an operation or a stage.
+	Stages               []*OperationProgress `protobuf:"bytes,4,rep,name=stages,proto3" json:"stages,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
+	XXX_unrecognized     []byte               `json:"-"`
+	XXX_sizecache        int32                `json:"-"`
+}
+
+func (m *OperationProgress) Reset()         { *m = OperationProgress{} }
+func (m *OperationProgress) String() string { return proto.CompactTextString(m) }
+func (*OperationProgress) ProtoMessage()    {}
+func (*OperationProgress) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{19}
+}
+
+func (m *OperationProgress) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationProgress.Unmarshal(m, b)
+}
+func (m *OperationProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationProgress.Marshal(b, m, deterministic)
+}
+func (m *OperationProgress) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationProgress.Merge(m, src)
+}
+func (m *OperationProgress) XXX_Size() int {
+	return xxx_messageInfo_OperationProgress.Size(m)
+}
+func (m *OperationProgress) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationProgress.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationProgress proto.InternalMessageInfo
+
+func (m *OperationProgress) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *OperationProgress) GetStatus() Operation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Operation_STATUS_UNSPECIFIED
+}
+
+func (m *OperationProgress) GetMetrics() []*OperationProgress_Metric {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
+}
+
+func (m *OperationProgress) GetStages() []*OperationProgress {
+	if m != nil {
+		return m.Stages
+	}
+	return nil
+}
+
+// Progress metric is (string, int|float|string) pair.
+type OperationProgress_Metric struct {
+	// Metric name, required.
+	// e.g., "nodes total", "percent done"
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Strictly one of the values is required.
+	//
+	// Types that are valid to be assigned to Value:
+	//	*OperationProgress_Metric_IntValue
+	//	*OperationProgress_Metric_DoubleValue
+	//	*OperationProgress_Metric_StringValue
+	Value                isOperationProgress_Metric_Value `protobuf_oneof:"value"`
+	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
+	XXX_unrecognized     []byte                           `json:"-"`
+	XXX_sizecache        int32                            `json:"-"`
+}
+
+func (m *OperationProgress_Metric) Reset()         { *m = OperationProgress_Metric{} }
+func (m *OperationProgress_Metric) String() string { return proto.CompactTextString(m) }
+func (*OperationProgress_Metric) ProtoMessage()    {}
+func (*OperationProgress_Metric) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{19, 0}
+}
+
+func (m *OperationProgress_Metric) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OperationProgress_Metric.Unmarshal(m, b)
+}
+func (m *OperationProgress_Metric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OperationProgress_Metric.Marshal(b, m, deterministic)
+}
+func (m *OperationProgress_Metric) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationProgress_Metric.Merge(m, src)
+}
+func (m *OperationProgress_Metric) XXX_Size() int {
+	return xxx_messageInfo_OperationProgress_Metric.Size(m)
+}
+func (m *OperationProgress_Metric) XXX_DiscardUnknown() {
+	xxx_messageInfo_OperationProgress_Metric.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OperationProgress_Metric proto.InternalMessageInfo
+
+func (m *OperationProgress_Metric) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+type isOperationProgress_Metric_Value interface {
+	isOperationProgress_Metric_Value()
+}
+
+type OperationProgress_Metric_IntValue struct {
+	IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"`
+}
+
+type OperationProgress_Metric_DoubleValue struct {
+	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
+}
+
+type OperationProgress_Metric_StringValue struct {
+	StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
+}
+
+func (*OperationProgress_Metric_IntValue) isOperationProgress_Metric_Value() {}
+
+func (*OperationProgress_Metric_DoubleValue) isOperationProgress_Metric_Value() {}
+
+func (*OperationProgress_Metric_StringValue) isOperationProgress_Metric_Value() {}
+
+func (m *OperationProgress_Metric) GetValue() isOperationProgress_Metric_Value {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *OperationProgress_Metric) GetIntValue() int64 {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_IntValue); ok {
+		return x.IntValue
+	}
+	return 0
+}
+
+func (m *OperationProgress_Metric) GetDoubleValue() float64 {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_DoubleValue); ok {
+		return x.DoubleValue
+	}
+	return 0
+}
+
+func (m *OperationProgress_Metric) GetStringValue() string {
+	if x, ok := m.GetValue().(*OperationProgress_Metric_StringValue); ok {
+		return x.StringValue
+	}
+	return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*OperationProgress_Metric) 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 _OperationProgress_Metric_OneofMarshaler, _OperationProgress_Metric_OneofUnmarshaler, _OperationProgress_Metric_OneofSizer, []interface{}{
+		(*OperationProgress_Metric_IntValue)(nil),
+		(*OperationProgress_Metric_DoubleValue)(nil),
+		(*OperationProgress_Metric_StringValue)(nil),
+	}
+}
+
+func _OperationProgress_Metric_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*OperationProgress_Metric)
+	// value
+	switch x := m.Value.(type) {
+	case *OperationProgress_Metric_IntValue:
+		b.EncodeVarint(2<<3 | proto.WireVarint)
+		b.EncodeVarint(uint64(x.IntValue))
+	case *OperationProgress_Metric_DoubleValue:
+		b.EncodeVarint(3<<3 | proto.WireFixed64)
+		b.EncodeFixed64(math.Float64bits(x.DoubleValue))
+	case *OperationProgress_Metric_StringValue:
+		b.EncodeVarint(4<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.StringValue)
+	case nil:
+	default:
+		return fmt.Errorf("OperationProgress_Metric.Value has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _OperationProgress_Metric_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*OperationProgress_Metric)
+	switch tag {
+	case 2: // value.int_value
+		if wire != proto.WireVarint {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeVarint()
+		m.Value = &OperationProgress_Metric_IntValue{int64(x)}
+		return true, err
+	case 3: // value.double_value
+		if wire != proto.WireFixed64 {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeFixed64()
+		m.Value = &OperationProgress_Metric_DoubleValue{math.Float64frombits(x)}
+		return true, err
+	case 4: // value.string_value
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Value = &OperationProgress_Metric_StringValue{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _OperationProgress_Metric_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*OperationProgress_Metric)
+	// value
+	switch x := m.Value.(type) {
+	case *OperationProgress_Metric_IntValue:
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(x.IntValue))
+	case *OperationProgress_Metric_DoubleValue:
+		n += 1 // tag and wire
+		n += 8
+	case *OperationProgress_Metric_StringValue:
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(len(x.StringValue)))
+		n += len(x.StringValue)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
 // CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
 	// A [cluster
 	// resource](/container-engine/reference/rest/v1beta1/projects.zones.clusters)
 	Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
@@ -2128,7 +3006,7 @@ func (m *CreateClusterRequest) Reset()         { *m = CreateClusterRequest{} }
 func (m *CreateClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateClusterRequest) ProtoMessage()    {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{16}
+	return fileDescriptor_e39a67f424410134, []int{20}
 }
 
 func (m *CreateClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2149,6 +3027,7 @@ func (m *CreateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_CreateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2156,6 +3035,7 @@ func (m *CreateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *CreateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2179,18 +3059,18 @@ func (m *CreateClusterRequest) GetParent() string {
 
 // GetClusterRequest gets the settings of a cluster.
 type GetClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to retrieve.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to retrieve.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// The name (project, location, cluster) of the cluster to retrieve.
 	// Specified in the format 'projects/*/locations/*/clusters/*'.
 	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
@@ -2203,7 +3083,7 @@ func (m *GetClusterRequest) Reset()         { *m = GetClusterRequest{} }
 func (m *GetClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*GetClusterRequest) ProtoMessage()    {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{17}
+	return fileDescriptor_e39a67f424410134, []int{21}
 }
 
 func (m *GetClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2224,6 +3104,7 @@ func (m *GetClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_GetClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2231,6 +3112,7 @@ func (m *GetClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2238,6 +3120,7 @@ func (m *GetClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *GetClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2254,18 +3137,18 @@ func (m *GetClusterRequest) GetName() string {
 
 // UpdateClusterRequest updates the settings of a cluster.
 type UpdateClusterRequest struct {
-	// The Google Developers Console [project ID or project
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
 	// A description of the update.
 	Update *ClusterUpdate `protobuf:"bytes,4,opt,name=update,proto3" json:"update,omitempty"`
 	// The name (project, location, cluster) of the cluster to update.
@@ -2280,7 +3163,7 @@ func (m *UpdateClusterRequest) Reset()         { *m = UpdateClusterRequest{} }
 func (m *UpdateClusterRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateClusterRequest) ProtoMessage()    {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{18}
+	return fileDescriptor_e39a67f424410134, []int{22}
 }
 
 func (m *UpdateClusterRequest) XXX_Unmarshal(b []byte) error {
@@ -2301,6 +3184,7 @@ func (m *UpdateClusterRequest) XXX_DiscardUnknown() {
 
 var xxx_messageInfo_UpdateClusterRequest proto.InternalMessageInfo
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
@@ -2308,6 +3192,7 @@ func (m *UpdateClusterRequest) GetProjectId() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
@@ -2315,6 +3200,7 @@ func (m *UpdateClusterRequest) GetZone() string {
 	return ""
 }
 
+// Deprecated: Do not use.
 func (m *UpdateClusterRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
@@ -2336,2326 +3222,3932 @@ func (m *UpdateClusterRequest) GetName() string {
 	return ""
 }
 
-// SetMasterAuthRequest updates the admin password of a cluster.
-type SetMasterAuthRequest struct {
-	// The Google Developers Console [project ID or project
+// SetNodePoolVersionRequest updates the version of a node pool.
+type UpdateNodePoolRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to upgrade.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The exact form of action to be taken on the master auth.
-	Action SetMasterAuthRequest_Action `protobuf:"varint,4,opt,name=action,proto3,enum=google.container.v1beta1.SetMasterAuthRequest_Action" json:"action,omitempty"`
-	// A description of the update.
-	Update *MasterAuth `protobuf:"bytes,5,opt,name=update,proto3" json:"update,omitempty"`
-	// The name (project, location, cluster) of the cluster to set auth.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The Kubernetes version to change the nodes to (typically an
+	// upgrade).
+	//
+	// Users may specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the Kubernetes master version
+	NodeVersion string `protobuf:"bytes,5,opt,name=node_version,json=nodeVersion,proto3" json:"node_version,omitempty"`
+	// The desired image type for the node pool.
+	ImageType string `protobuf:"bytes,6,opt,name=image_type,json=imageType,proto3" json:"image_type,omitempty"`
+	// The name (project, location, cluster, node pool) of the node pool to
+	// update. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetMasterAuthRequest) Reset()         { *m = SetMasterAuthRequest{} }
-func (m *SetMasterAuthRequest) String() string { return proto.CompactTextString(m) }
-func (*SetMasterAuthRequest) ProtoMessage()    {}
-func (*SetMasterAuthRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{19}
+func (m *UpdateNodePoolRequest) Reset()         { *m = UpdateNodePoolRequest{} }
+func (m *UpdateNodePoolRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateNodePoolRequest) ProtoMessage()    {}
+func (*UpdateNodePoolRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{23}
 }
 
-func (m *SetMasterAuthRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetMasterAuthRequest.Unmarshal(m, b)
+func (m *UpdateNodePoolRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateNodePoolRequest.Unmarshal(m, b)
 }
-func (m *SetMasterAuthRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetMasterAuthRequest.Marshal(b, m, deterministic)
+func (m *UpdateNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateNodePoolRequest.Marshal(b, m, deterministic)
 }
-func (m *SetMasterAuthRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetMasterAuthRequest.Merge(m, src)
+func (m *UpdateNodePoolRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateNodePoolRequest.Merge(m, src)
 }
-func (m *SetMasterAuthRequest) XXX_Size() int {
-	return xxx_messageInfo_SetMasterAuthRequest.Size(m)
+func (m *UpdateNodePoolRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateNodePoolRequest.Size(m)
 }
-func (m *SetMasterAuthRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetMasterAuthRequest.DiscardUnknown(m)
+func (m *UpdateNodePoolRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateNodePoolRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetMasterAuthRequest proto.InternalMessageInfo
+var xxx_messageInfo_UpdateNodePoolRequest proto.InternalMessageInfo
 
-func (m *SetMasterAuthRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *UpdateNodePoolRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *SetMasterAuthRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *UpdateNodePoolRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *SetMasterAuthRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *UpdateNodePoolRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *SetMasterAuthRequest) GetAction() SetMasterAuthRequest_Action {
+// Deprecated: Do not use.
+func (m *UpdateNodePoolRequest) GetNodePoolId() string {
 	if m != nil {
-		return m.Action
+		return m.NodePoolId
 	}
-	return SetMasterAuthRequest_UNKNOWN
+	return ""
 }
 
-func (m *SetMasterAuthRequest) GetUpdate() *MasterAuth {
+func (m *UpdateNodePoolRequest) GetNodeVersion() string {
 	if m != nil {
-		return m.Update
+		return m.NodeVersion
 	}
-	return nil
+	return ""
 }
 
-func (m *SetMasterAuthRequest) GetName() string {
+func (m *UpdateNodePoolRequest) GetImageType() string {
 	if m != nil {
-		return m.Name
+		return m.ImageType
 	}
 	return ""
 }
 
-// DeleteClusterRequest deletes a cluster.
-type DeleteClusterRequest struct {
-	// The Google Developers Console [project ID or project
+func (m *UpdateNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
+type SetNodePoolAutoscalingRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to delete.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name (project, location, cluster) of the cluster to delete.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// Autoscaling configuration for the node pool.
+	Autoscaling *NodePoolAutoscaling `protobuf:"bytes,5,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
+	// The name (project, location, cluster, node pool) of the node pool to set
+	// autoscaler settings. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *DeleteClusterRequest) Reset()         { *m = DeleteClusterRequest{} }
-func (m *DeleteClusterRequest) String() string { return proto.CompactTextString(m) }
-func (*DeleteClusterRequest) ProtoMessage()    {}
-func (*DeleteClusterRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{20}
+func (m *SetNodePoolAutoscalingRequest) Reset()         { *m = SetNodePoolAutoscalingRequest{} }
+func (m *SetNodePoolAutoscalingRequest) String() string { return proto.CompactTextString(m) }
+func (*SetNodePoolAutoscalingRequest) ProtoMessage()    {}
+func (*SetNodePoolAutoscalingRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{24}
 }
 
-func (m *DeleteClusterRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeleteClusterRequest.Unmarshal(m, b)
+func (m *SetNodePoolAutoscalingRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetNodePoolAutoscalingRequest.Unmarshal(m, b)
 }
-func (m *DeleteClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeleteClusterRequest.Marshal(b, m, deterministic)
+func (m *SetNodePoolAutoscalingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetNodePoolAutoscalingRequest.Marshal(b, m, deterministic)
 }
-func (m *DeleteClusterRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeleteClusterRequest.Merge(m, src)
+func (m *SetNodePoolAutoscalingRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetNodePoolAutoscalingRequest.Merge(m, src)
 }
-func (m *DeleteClusterRequest) XXX_Size() int {
-	return xxx_messageInfo_DeleteClusterRequest.Size(m)
+func (m *SetNodePoolAutoscalingRequest) XXX_Size() int {
+	return xxx_messageInfo_SetNodePoolAutoscalingRequest.Size(m)
 }
-func (m *DeleteClusterRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeleteClusterRequest.DiscardUnknown(m)
+func (m *SetNodePoolAutoscalingRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetNodePoolAutoscalingRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_DeleteClusterRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetNodePoolAutoscalingRequest proto.InternalMessageInfo
 
-func (m *DeleteClusterRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolAutoscalingRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *DeleteClusterRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolAutoscalingRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *DeleteClusterRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolAutoscalingRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *DeleteClusterRequest) GetName() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolAutoscalingRequest) GetNodePoolId() string {
+	if m != nil {
+		return m.NodePoolId
+	}
+	return ""
+}
+
+func (m *SetNodePoolAutoscalingRequest) GetAutoscaling() *NodePoolAutoscaling {
+	if m != nil {
+		return m.Autoscaling
+	}
+	return nil
+}
+
+func (m *SetNodePoolAutoscalingRequest) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// ListClustersRequest lists clusters.
-type ListClustersRequest struct {
-	// The Google Developers Console [project ID or project
+// SetLoggingServiceRequest sets the logging service of a cluster.
+type SetLoggingServiceRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides, or "-" for all zones.
-	// This field is deprecated, use parent instead.
+	// resides.
+	// This field has been deprecated and replaced by the name field.
 	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The parent (project and location) where the clusters will be listed.
-	// Specified in the format 'projects/*/locations/*'.
-	// Location "-" matches all zones and all regions.
-	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The logging service the cluster should use to write metrics.
+	// Currently available options:
+	//
+	// * "logging.googleapis.com" - the Google Cloud Logging service
+	// * "none" - no metrics will be exported from the cluster
+	LoggingService string `protobuf:"bytes,4,opt,name=logging_service,json=loggingService,proto3" json:"logging_service,omitempty"`
+	// The name (project, location, cluster) of the cluster to set logging.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ListClustersRequest) Reset()         { *m = ListClustersRequest{} }
-func (m *ListClustersRequest) String() string { return proto.CompactTextString(m) }
-func (*ListClustersRequest) ProtoMessage()    {}
-func (*ListClustersRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{21}
+func (m *SetLoggingServiceRequest) Reset()         { *m = SetLoggingServiceRequest{} }
+func (m *SetLoggingServiceRequest) String() string { return proto.CompactTextString(m) }
+func (*SetLoggingServiceRequest) ProtoMessage()    {}
+func (*SetLoggingServiceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{25}
 }
 
-func (m *ListClustersRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListClustersRequest.Unmarshal(m, b)
+func (m *SetLoggingServiceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetLoggingServiceRequest.Unmarshal(m, b)
 }
-func (m *ListClustersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListClustersRequest.Marshal(b, m, deterministic)
+func (m *SetLoggingServiceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetLoggingServiceRequest.Marshal(b, m, deterministic)
 }
-func (m *ListClustersRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListClustersRequest.Merge(m, src)
+func (m *SetLoggingServiceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetLoggingServiceRequest.Merge(m, src)
 }
-func (m *ListClustersRequest) XXX_Size() int {
-	return xxx_messageInfo_ListClustersRequest.Size(m)
+func (m *SetLoggingServiceRequest) XXX_Size() int {
+	return xxx_messageInfo_SetLoggingServiceRequest.Size(m)
 }
-func (m *ListClustersRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListClustersRequest.DiscardUnknown(m)
+func (m *SetLoggingServiceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetLoggingServiceRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListClustersRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetLoggingServiceRequest proto.InternalMessageInfo
 
-func (m *ListClustersRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *SetLoggingServiceRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *ListClustersRequest) GetZone() string {
+func (m *SetLoggingServiceRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *ListClustersRequest) GetParent() string {
+// Deprecated: Do not use.
+func (m *SetLoggingServiceRequest) GetClusterId() string {
 	if m != nil {
-		return m.Parent
+		return m.ClusterId
 	}
 	return ""
 }
 
-// ListClustersResponse is the result of ListClustersRequest.
-type ListClustersResponse struct {
-	// A list of clusters in the project in the specified zone, or
-	// across all ones.
-	Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
-	// If any zones are listed here, the list of clusters returned
-	// may be missing those zones.
-	MissingZones         []string `protobuf:"bytes,2,rep,name=missing_zones,json=missingZones,proto3" json:"missing_zones,omitempty"`
+func (m *SetLoggingServiceRequest) GetLoggingService() string {
+	if m != nil {
+		return m.LoggingService
+	}
+	return ""
+}
+
+func (m *SetLoggingServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// SetMonitoringServiceRequest sets the monitoring service of a cluster.
+type SetMonitoringServiceRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// 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
+	MonitoringService string `protobuf:"bytes,4,opt,name=monitoring_service,json=monitoringService,proto3" json:"monitoring_service,omitempty"`
+	// The name (project, location, cluster) of the cluster to set monitoring.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ListClustersResponse) Reset()         { *m = ListClustersResponse{} }
-func (m *ListClustersResponse) String() string { return proto.CompactTextString(m) }
-func (*ListClustersResponse) ProtoMessage()    {}
-func (*ListClustersResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{22}
+func (m *SetMonitoringServiceRequest) Reset()         { *m = SetMonitoringServiceRequest{} }
+func (m *SetMonitoringServiceRequest) String() string { return proto.CompactTextString(m) }
+func (*SetMonitoringServiceRequest) ProtoMessage()    {}
+func (*SetMonitoringServiceRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{26}
 }
 
-func (m *ListClustersResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListClustersResponse.Unmarshal(m, b)
+func (m *SetMonitoringServiceRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetMonitoringServiceRequest.Unmarshal(m, b)
 }
-func (m *ListClustersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListClustersResponse.Marshal(b, m, deterministic)
+func (m *SetMonitoringServiceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetMonitoringServiceRequest.Marshal(b, m, deterministic)
 }
-func (m *ListClustersResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListClustersResponse.Merge(m, src)
+func (m *SetMonitoringServiceRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetMonitoringServiceRequest.Merge(m, src)
 }
-func (m *ListClustersResponse) XXX_Size() int {
-	return xxx_messageInfo_ListClustersResponse.Size(m)
+func (m *SetMonitoringServiceRequest) XXX_Size() int {
+	return xxx_messageInfo_SetMonitoringServiceRequest.Size(m)
 }
-func (m *ListClustersResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListClustersResponse.DiscardUnknown(m)
+func (m *SetMonitoringServiceRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetMonitoringServiceRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListClustersResponse proto.InternalMessageInfo
+var xxx_messageInfo_SetMonitoringServiceRequest proto.InternalMessageInfo
 
-func (m *ListClustersResponse) GetClusters() []*Cluster {
+// Deprecated: Do not use.
+func (m *SetMonitoringServiceRequest) GetProjectId() string {
 	if m != nil {
-		return m.Clusters
+		return m.ProjectId
 	}
-	return nil
+	return ""
 }
 
-func (m *ListClustersResponse) GetMissingZones() []string {
+// Deprecated: Do not use.
+func (m *SetMonitoringServiceRequest) GetZone() string {
 	if m != nil {
-		return m.MissingZones
+		return m.Zone
 	}
-	return nil
+	return ""
 }
 
-// GetOperationRequest gets a single operation.
-type GetOperationRequest struct {
-	// The Google Developers Console [project ID or project
+// Deprecated: Do not use.
+func (m *SetMonitoringServiceRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *SetMonitoringServiceRequest) GetMonitoringService() string {
+	if m != nil {
+		return m.MonitoringService
+	}
+	return ""
+}
+
+func (m *SetMonitoringServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// SetAddonsRequest sets the addons associated with the cluster.
+type SetAddonsConfigRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	// This field is deprecated, use name instead.
-	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
-	// The name (project, location, operation id) of the operation to get.
-	// Specified in the format 'projects/*/locations/*/operations/*'.
-	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The desired configurations for the various addons available to run in the
+	// cluster.
+	AddonsConfig *AddonsConfig `protobuf:"bytes,4,opt,name=addons_config,json=addonsConfig,proto3" json:"addons_config,omitempty"`
+	// The name (project, location, cluster) of the cluster to set addons.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *GetOperationRequest) Reset()         { *m = GetOperationRequest{} }
-func (m *GetOperationRequest) String() string { return proto.CompactTextString(m) }
-func (*GetOperationRequest) ProtoMessage()    {}
-func (*GetOperationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{23}
+func (m *SetAddonsConfigRequest) Reset()         { *m = SetAddonsConfigRequest{} }
+func (m *SetAddonsConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*SetAddonsConfigRequest) ProtoMessage()    {}
+func (*SetAddonsConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{27}
 }
 
-func (m *GetOperationRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetOperationRequest.Unmarshal(m, b)
+func (m *SetAddonsConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetAddonsConfigRequest.Unmarshal(m, b)
 }
-func (m *GetOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetOperationRequest.Marshal(b, m, deterministic)
+func (m *SetAddonsConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetAddonsConfigRequest.Marshal(b, m, deterministic)
 }
-func (m *GetOperationRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetOperationRequest.Merge(m, src)
+func (m *SetAddonsConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetAddonsConfigRequest.Merge(m, src)
 }
-func (m *GetOperationRequest) XXX_Size() int {
-	return xxx_messageInfo_GetOperationRequest.Size(m)
+func (m *SetAddonsConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_SetAddonsConfigRequest.Size(m)
 }
-func (m *GetOperationRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetOperationRequest.DiscardUnknown(m)
+func (m *SetAddonsConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetAddonsConfigRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_GetOperationRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetAddonsConfigRequest proto.InternalMessageInfo
 
-func (m *GetOperationRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *SetAddonsConfigRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *GetOperationRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *SetAddonsConfigRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *GetOperationRequest) GetOperationId() string {
+// Deprecated: Do not use.
+func (m *SetAddonsConfigRequest) GetClusterId() string {
 	if m != nil {
-		return m.OperationId
+		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *GetOperationRequest) GetName() string {
+func (m *SetAddonsConfigRequest) GetAddonsConfig() *AddonsConfig {
+	if m != nil {
+		return m.AddonsConfig
+	}
+	return nil
+}
+
+func (m *SetAddonsConfigRequest) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// ListOperationsRequest lists operations.
-type ListOperationsRequest struct {
-	// The Google Developers Console [project ID or project
+// SetLocationsRequest sets the locations of the cluster.
+type SetLocationsRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for, or `-` for all zones.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The parent (project and location) where the operations will be listed.
-	// Specified in the format 'projects/*/locations/*'.
-	// Location "-" matches all zones and all regions.
-	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The desired list of Google Compute Engine
+	// [locations](/compute/docs/zones#available) in which the cluster's nodes
+	// should be located. Changing the locations a cluster is in will result
+	// in nodes being either created or removed from the cluster, depending on
+	// whether locations are being added or removed.
+	//
+	// This list must always include the cluster's primary zone.
+	Locations []string `protobuf:"bytes,4,rep,name=locations,proto3" json:"locations,omitempty"`
+	// The name (project, location, cluster) of the cluster to set locations.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ListOperationsRequest) Reset()         { *m = ListOperationsRequest{} }
-func (m *ListOperationsRequest) String() string { return proto.CompactTextString(m) }
-func (*ListOperationsRequest) ProtoMessage()    {}
-func (*ListOperationsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{24}
+func (m *SetLocationsRequest) Reset()         { *m = SetLocationsRequest{} }
+func (m *SetLocationsRequest) String() string { return proto.CompactTextString(m) }
+func (*SetLocationsRequest) ProtoMessage()    {}
+func (*SetLocationsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{28}
 }
 
-func (m *ListOperationsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListOperationsRequest.Unmarshal(m, b)
+func (m *SetLocationsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetLocationsRequest.Unmarshal(m, b)
 }
-func (m *ListOperationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListOperationsRequest.Marshal(b, m, deterministic)
+func (m *SetLocationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetLocationsRequest.Marshal(b, m, deterministic)
 }
-func (m *ListOperationsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListOperationsRequest.Merge(m, src)
+func (m *SetLocationsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetLocationsRequest.Merge(m, src)
 }
-func (m *ListOperationsRequest) XXX_Size() int {
-	return xxx_messageInfo_ListOperationsRequest.Size(m)
+func (m *SetLocationsRequest) XXX_Size() int {
+	return xxx_messageInfo_SetLocationsRequest.Size(m)
 }
-func (m *ListOperationsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListOperationsRequest.DiscardUnknown(m)
+func (m *SetLocationsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetLocationsRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListOperationsRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetLocationsRequest proto.InternalMessageInfo
 
-func (m *ListOperationsRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *SetLocationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *ListOperationsRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *SetLocationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *ListOperationsRequest) GetParent() string {
+// Deprecated: Do not use.
+func (m *SetLocationsRequest) GetClusterId() string {
 	if m != nil {
-		return m.Parent
+		return m.ClusterId
 	}
 	return ""
 }
 
-// CancelOperationRequest cancels a single operation.
-type CancelOperationRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the operation resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The server-assigned `name` of the operation.
-	// This field is deprecated, use name instead.
-	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
-	// The name (project, location, operation id) of the operation to cancel.
-	// Specified in the format 'projects/*/locations/*/operations/*'.
-	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
+func (m *SetLocationsRequest) GetLocations() []string {
+	if m != nil {
+		return m.Locations
+	}
+	return nil
+}
+
+func (m *SetLocationsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// UpdateMasterRequest updates the master of the cluster.
+type UpdateMasterRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The Kubernetes version to change the master to.
+	//
+	// Users may specify either explicit versions offered by
+	// Kubernetes Engine or version aliases, which have the following behavior:
+	//
+	// - "latest": picks the highest valid Kubernetes version
+	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
+	// - "-": picks the default Kubernetes version
+	MasterVersion string `protobuf:"bytes,4,opt,name=master_version,json=masterVersion,proto3" json:"master_version,omitempty"`
+	// The name (project, location, cluster) of the cluster to update.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *CancelOperationRequest) Reset()         { *m = CancelOperationRequest{} }
-func (m *CancelOperationRequest) String() string { return proto.CompactTextString(m) }
-func (*CancelOperationRequest) ProtoMessage()    {}
-func (*CancelOperationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{25}
+func (m *UpdateMasterRequest) Reset()         { *m = UpdateMasterRequest{} }
+func (m *UpdateMasterRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateMasterRequest) ProtoMessage()    {}
+func (*UpdateMasterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{29}
 }
 
-func (m *CancelOperationRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CancelOperationRequest.Unmarshal(m, b)
+func (m *UpdateMasterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateMasterRequest.Unmarshal(m, b)
 }
-func (m *CancelOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CancelOperationRequest.Marshal(b, m, deterministic)
+func (m *UpdateMasterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateMasterRequest.Marshal(b, m, deterministic)
 }
-func (m *CancelOperationRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CancelOperationRequest.Merge(m, src)
+func (m *UpdateMasterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateMasterRequest.Merge(m, src)
 }
-func (m *CancelOperationRequest) XXX_Size() int {
-	return xxx_messageInfo_CancelOperationRequest.Size(m)
+func (m *UpdateMasterRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateMasterRequest.Size(m)
 }
-func (m *CancelOperationRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_CancelOperationRequest.DiscardUnknown(m)
+func (m *UpdateMasterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateMasterRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_CancelOperationRequest proto.InternalMessageInfo
+var xxx_messageInfo_UpdateMasterRequest proto.InternalMessageInfo
 
-func (m *CancelOperationRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *UpdateMasterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *CancelOperationRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *UpdateMasterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *CancelOperationRequest) GetOperationId() string {
+// Deprecated: Do not use.
+func (m *UpdateMasterRequest) GetClusterId() string {
 	if m != nil {
-		return m.OperationId
+		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *CancelOperationRequest) GetName() string {
+func (m *UpdateMasterRequest) GetMasterVersion() string {
+	if m != nil {
+		return m.MasterVersion
+	}
+	return ""
+}
+
+func (m *UpdateMasterRequest) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// ListOperationsResponse is the result of ListOperationsRequest.
-type ListOperationsResponse struct {
-	// A list of operations in the project in the specified zone.
-	Operations []*Operation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"`
-	// If any zones are listed here, the list of operations returned
-	// may be missing the operations from those zones.
-	MissingZones         []string `protobuf:"bytes,2,rep,name=missing_zones,json=missingZones,proto3" json:"missing_zones,omitempty"`
+// SetMasterAuthRequest updates the admin password of a cluster.
+type SetMasterAuthRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to upgrade.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The exact form of action to be taken on the master auth.
+	Action SetMasterAuthRequest_Action `protobuf:"varint,4,opt,name=action,proto3,enum=google.container.v1beta1.SetMasterAuthRequest_Action" json:"action,omitempty"`
+	// A description of the update.
+	Update *MasterAuth `protobuf:"bytes,5,opt,name=update,proto3" json:"update,omitempty"`
+	// The name (project, location, cluster) of the cluster to set auth.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ListOperationsResponse) Reset()         { *m = ListOperationsResponse{} }
-func (m *ListOperationsResponse) String() string { return proto.CompactTextString(m) }
-func (*ListOperationsResponse) ProtoMessage()    {}
-func (*ListOperationsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{26}
+func (m *SetMasterAuthRequest) Reset()         { *m = SetMasterAuthRequest{} }
+func (m *SetMasterAuthRequest) String() string { return proto.CompactTextString(m) }
+func (*SetMasterAuthRequest) ProtoMessage()    {}
+func (*SetMasterAuthRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{30}
 }
 
-func (m *ListOperationsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListOperationsResponse.Unmarshal(m, b)
+func (m *SetMasterAuthRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetMasterAuthRequest.Unmarshal(m, b)
 }
-func (m *ListOperationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListOperationsResponse.Marshal(b, m, deterministic)
+func (m *SetMasterAuthRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetMasterAuthRequest.Marshal(b, m, deterministic)
 }
-func (m *ListOperationsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListOperationsResponse.Merge(m, src)
+func (m *SetMasterAuthRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetMasterAuthRequest.Merge(m, src)
 }
-func (m *ListOperationsResponse) XXX_Size() int {
-	return xxx_messageInfo_ListOperationsResponse.Size(m)
+func (m *SetMasterAuthRequest) XXX_Size() int {
+	return xxx_messageInfo_SetMasterAuthRequest.Size(m)
 }
-func (m *ListOperationsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListOperationsResponse.DiscardUnknown(m)
+func (m *SetMasterAuthRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetMasterAuthRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListOperationsResponse proto.InternalMessageInfo
+var xxx_messageInfo_SetMasterAuthRequest proto.InternalMessageInfo
 
-func (m *ListOperationsResponse) GetOperations() []*Operation {
+// Deprecated: Do not use.
+func (m *SetMasterAuthRequest) GetProjectId() string {
 	if m != nil {
-		return m.Operations
+		return m.ProjectId
 	}
-	return nil
+	return ""
 }
 
-func (m *ListOperationsResponse) GetMissingZones() []string {
+// Deprecated: Do not use.
+func (m *SetMasterAuthRequest) GetZone() string {
 	if m != nil {
-		return m.MissingZones
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *SetMasterAuthRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *SetMasterAuthRequest) GetAction() SetMasterAuthRequest_Action {
+	if m != nil {
+		return m.Action
+	}
+	return SetMasterAuthRequest_UNKNOWN
+}
+
+func (m *SetMasterAuthRequest) GetUpdate() *MasterAuth {
+	if m != nil {
+		return m.Update
 	}
 	return nil
 }
 
-// Gets the current Container Engine service configuration.
-type GetServerConfigRequest struct {
-	// The Google Developers Console [project ID or project
+func (m *SetMasterAuthRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// DeleteClusterRequest deletes a cluster.
+type DeleteClusterRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-	// to return operations for.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name (project and location) of the server config to get
-	// Specified in the format 'projects/*/locations/*'.
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to delete.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster) of the cluster to delete.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
 	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *GetServerConfigRequest) Reset()         { *m = GetServerConfigRequest{} }
-func (m *GetServerConfigRequest) String() string { return proto.CompactTextString(m) }
-func (*GetServerConfigRequest) ProtoMessage()    {}
-func (*GetServerConfigRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{27}
+func (m *DeleteClusterRequest) Reset()         { *m = DeleteClusterRequest{} }
+func (m *DeleteClusterRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteClusterRequest) ProtoMessage()    {}
+func (*DeleteClusterRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{31}
 }
 
-func (m *GetServerConfigRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetServerConfigRequest.Unmarshal(m, b)
+func (m *DeleteClusterRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteClusterRequest.Unmarshal(m, b)
 }
-func (m *GetServerConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetServerConfigRequest.Marshal(b, m, deterministic)
+func (m *DeleteClusterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteClusterRequest.Marshal(b, m, deterministic)
 }
-func (m *GetServerConfigRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetServerConfigRequest.Merge(m, src)
+func (m *DeleteClusterRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteClusterRequest.Merge(m, src)
 }
-func (m *GetServerConfigRequest) XXX_Size() int {
-	return xxx_messageInfo_GetServerConfigRequest.Size(m)
+func (m *DeleteClusterRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteClusterRequest.Size(m)
 }
-func (m *GetServerConfigRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetServerConfigRequest.DiscardUnknown(m)
+func (m *DeleteClusterRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteClusterRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_GetServerConfigRequest proto.InternalMessageInfo
+var xxx_messageInfo_DeleteClusterRequest proto.InternalMessageInfo
 
-func (m *GetServerConfigRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *DeleteClusterRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *GetServerConfigRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *DeleteClusterRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *GetServerConfigRequest) GetName() string {
+// Deprecated: Do not use.
+func (m *DeleteClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// Container Engine service configuration.
-type ServerConfig struct {
-	// Version of Kubernetes the service deploys by default.
-	DefaultClusterVersion string `protobuf:"bytes,1,opt,name=default_cluster_version,json=defaultClusterVersion,proto3" json:"default_cluster_version,omitempty"`
-	// List of valid node upgrade target versions.
-	ValidNodeVersions []string `protobuf:"bytes,3,rep,name=valid_node_versions,json=validNodeVersions,proto3" json:"valid_node_versions,omitempty"`
-	// Default image type.
-	DefaultImageType string `protobuf:"bytes,4,opt,name=default_image_type,json=defaultImageType,proto3" json:"default_image_type,omitempty"`
-	// List of valid image types.
-	ValidImageTypes []string `protobuf:"bytes,5,rep,name=valid_image_types,json=validImageTypes,proto3" json:"valid_image_types,omitempty"`
-	// List of valid master versions.
-	ValidMasterVersions  []string `protobuf:"bytes,6,rep,name=valid_master_versions,json=validMasterVersions,proto3" json:"valid_master_versions,omitempty"`
+// ListClustersRequest lists clusters.
+type ListClustersRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides, or "-" for all zones.
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The parent (project and location) where the clusters will be listed.
+	// Specified in the format 'projects/*/locations/*'.
+	// Location "-" matches all zones and all regions.
+	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ServerConfig) Reset()         { *m = ServerConfig{} }
-func (m *ServerConfig) String() string { return proto.CompactTextString(m) }
-func (*ServerConfig) ProtoMessage()    {}
-func (*ServerConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{28}
+func (m *ListClustersRequest) Reset()         { *m = ListClustersRequest{} }
+func (m *ListClustersRequest) String() string { return proto.CompactTextString(m) }
+func (*ListClustersRequest) ProtoMessage()    {}
+func (*ListClustersRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{32}
 }
 
-func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
+func (m *ListClustersRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListClustersRequest.Unmarshal(m, b)
 }
-func (m *ServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ServerConfig.Marshal(b, m, deterministic)
+func (m *ListClustersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListClustersRequest.Marshal(b, m, deterministic)
 }
-func (m *ServerConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ServerConfig.Merge(m, src)
+func (m *ListClustersRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListClustersRequest.Merge(m, src)
 }
-func (m *ServerConfig) XXX_Size() int {
-	return xxx_messageInfo_ServerConfig.Size(m)
+func (m *ListClustersRequest) XXX_Size() int {
+	return xxx_messageInfo_ListClustersRequest.Size(m)
 }
-func (m *ServerConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_ServerConfig.DiscardUnknown(m)
+func (m *ListClustersRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListClustersRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ServerConfig proto.InternalMessageInfo
+var xxx_messageInfo_ListClustersRequest proto.InternalMessageInfo
 
-func (m *ServerConfig) GetDefaultClusterVersion() string {
+// Deprecated: Do not use.
+func (m *ListClustersRequest) GetProjectId() string {
 	if m != nil {
-		return m.DefaultClusterVersion
+		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *ServerConfig) GetValidNodeVersions() []string {
+// Deprecated: Do not use.
+func (m *ListClustersRequest) GetZone() string {
 	if m != nil {
-		return m.ValidNodeVersions
+		return m.Zone
 	}
-	return nil
+	return ""
 }
 
-func (m *ServerConfig) GetDefaultImageType() string {
+func (m *ListClustersRequest) GetParent() string {
 	if m != nil {
-		return m.DefaultImageType
+		return m.Parent
 	}
 	return ""
 }
 
-func (m *ServerConfig) GetValidImageTypes() []string {
+// ListClustersResponse is the result of ListClustersRequest.
+type ListClustersResponse struct {
+	// A list of clusters in the project in the specified zone, or
+	// across all ones.
+	Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
+	// If any zones are listed here, the list of clusters returned
+	// may be missing those zones.
+	MissingZones         []string `protobuf:"bytes,2,rep,name=missing_zones,json=missingZones,proto3" json:"missing_zones,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListClustersResponse) Reset()         { *m = ListClustersResponse{} }
+func (m *ListClustersResponse) String() string { return proto.CompactTextString(m) }
+func (*ListClustersResponse) ProtoMessage()    {}
+func (*ListClustersResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{33}
+}
+
+func (m *ListClustersResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListClustersResponse.Unmarshal(m, b)
+}
+func (m *ListClustersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListClustersResponse.Marshal(b, m, deterministic)
+}
+func (m *ListClustersResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListClustersResponse.Merge(m, src)
+}
+func (m *ListClustersResponse) XXX_Size() int {
+	return xxx_messageInfo_ListClustersResponse.Size(m)
+}
+func (m *ListClustersResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListClustersResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListClustersResponse proto.InternalMessageInfo
+
+func (m *ListClustersResponse) GetClusters() []*Cluster {
 	if m != nil {
-		return m.ValidImageTypes
+		return m.Clusters
 	}
 	return nil
 }
 
-func (m *ServerConfig) GetValidMasterVersions() []string {
+func (m *ListClustersResponse) GetMissingZones() []string {
 	if m != nil {
-		return m.ValidMasterVersions
+		return m.MissingZones
 	}
 	return nil
 }
 
-// CreateNodePoolRequest creates a node pool for a cluster.
-type CreateNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+// GetOperationRequest gets a single operation.
+type GetOperationRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use parent instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The node pool to create.
-	NodePool *NodePool `protobuf:"bytes,4,opt,name=node_pool,json=nodePool,proto3" json:"node_pool,omitempty"`
-	// The parent (project, location, cluster id) where the node pool will be created.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
-	Parent               string   `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, operation id) of the operation to get.
+	// Specified in the format 'projects/*/locations/*/operations/*'.
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *CreateNodePoolRequest) Reset()         { *m = CreateNodePoolRequest{} }
-func (m *CreateNodePoolRequest) String() string { return proto.CompactTextString(m) }
-func (*CreateNodePoolRequest) ProtoMessage()    {}
-func (*CreateNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{29}
+func (m *GetOperationRequest) Reset()         { *m = GetOperationRequest{} }
+func (m *GetOperationRequest) String() string { return proto.CompactTextString(m) }
+func (*GetOperationRequest) ProtoMessage()    {}
+func (*GetOperationRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{34}
 }
 
-func (m *CreateNodePoolRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CreateNodePoolRequest.Unmarshal(m, b)
+func (m *GetOperationRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOperationRequest.Unmarshal(m, b)
 }
-func (m *CreateNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CreateNodePoolRequest.Marshal(b, m, deterministic)
+func (m *GetOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOperationRequest.Marshal(b, m, deterministic)
 }
-func (m *CreateNodePoolRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CreateNodePoolRequest.Merge(m, src)
+func (m *GetOperationRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOperationRequest.Merge(m, src)
 }
-func (m *CreateNodePoolRequest) XXX_Size() int {
-	return xxx_messageInfo_CreateNodePoolRequest.Size(m)
+func (m *GetOperationRequest) XXX_Size() int {
+	return xxx_messageInfo_GetOperationRequest.Size(m)
 }
-func (m *CreateNodePoolRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_CreateNodePoolRequest.DiscardUnknown(m)
+func (m *GetOperationRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOperationRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_CreateNodePoolRequest proto.InternalMessageInfo
+var xxx_messageInfo_GetOperationRequest proto.InternalMessageInfo
 
-func (m *CreateNodePoolRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *GetOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *CreateNodePoolRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *GetOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *CreateNodePoolRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *GetOperationRequest) GetOperationId() string {
 	if m != nil {
-		return m.ClusterId
+		return m.OperationId
 	}
 	return ""
 }
 
-func (m *CreateNodePoolRequest) GetNodePool() *NodePool {
-	if m != nil {
-		return m.NodePool
-	}
-	return nil
-}
-
-func (m *CreateNodePoolRequest) GetParent() string {
+func (m *GetOperationRequest) GetName() string {
 	if m != nil {
-		return m.Parent
+		return m.Name
 	}
 	return ""
 }
 
-// DeleteNodePoolRequest deletes a node pool for a cluster.
-type DeleteNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to delete.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node pool to delete.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+// ListOperationsRequest lists operations.
+type ListOperationsRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for, or `-` for
+	// all zones. This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The parent (project and location) where the operations will be listed.
+	// Specified in the format 'projects/*/locations/*'.
+	// Location "-" matches all zones and all regions.
+	Parent               string   `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *DeleteNodePoolRequest) Reset()         { *m = DeleteNodePoolRequest{} }
-func (m *DeleteNodePoolRequest) String() string { return proto.CompactTextString(m) }
-func (*DeleteNodePoolRequest) ProtoMessage()    {}
-func (*DeleteNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{30}
+func (m *ListOperationsRequest) Reset()         { *m = ListOperationsRequest{} }
+func (m *ListOperationsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListOperationsRequest) ProtoMessage()    {}
+func (*ListOperationsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{35}
 }
 
-func (m *DeleteNodePoolRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeleteNodePoolRequest.Unmarshal(m, b)
+func (m *ListOperationsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListOperationsRequest.Unmarshal(m, b)
 }
-func (m *DeleteNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeleteNodePoolRequest.Marshal(b, m, deterministic)
+func (m *ListOperationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListOperationsRequest.Marshal(b, m, deterministic)
 }
-func (m *DeleteNodePoolRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeleteNodePoolRequest.Merge(m, src)
+func (m *ListOperationsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListOperationsRequest.Merge(m, src)
 }
-func (m *DeleteNodePoolRequest) XXX_Size() int {
-	return xxx_messageInfo_DeleteNodePoolRequest.Size(m)
+func (m *ListOperationsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListOperationsRequest.Size(m)
 }
-func (m *DeleteNodePoolRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeleteNodePoolRequest.DiscardUnknown(m)
+func (m *ListOperationsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListOperationsRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_DeleteNodePoolRequest proto.InternalMessageInfo
+var xxx_messageInfo_ListOperationsRequest proto.InternalMessageInfo
 
-func (m *DeleteNodePoolRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *ListOperationsRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *DeleteNodePoolRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *ListOperationsRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *DeleteNodePoolRequest) GetClusterId() string {
-	if m != nil {
-		return m.ClusterId
-	}
-	return ""
-}
-
-func (m *DeleteNodePoolRequest) GetNodePoolId() string {
-	if m != nil {
-		return m.NodePoolId
-	}
-	return ""
-}
-
-func (m *DeleteNodePoolRequest) GetName() string {
+func (m *ListOperationsRequest) GetParent() string {
 	if m != nil {
-		return m.Name
+		return m.Parent
 	}
 	return ""
 }
 
-// ListNodePoolsRequest lists the node pool(s) for a cluster.
-type ListNodePoolsRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use parent instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use parent instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use parent instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The parent (project, location, cluster id) where the node pools will be listed.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Parent               string   `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
+// CancelOperationRequest cancels a single operation.
+type CancelOperationRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the operation resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The server-assigned `name` of the operation.
+	// This field has been deprecated and replaced by the name field.
+	OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, operation id) of the operation to cancel.
+	// Specified in the format 'projects/*/locations/*/operations/*'.
+	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *ListNodePoolsRequest) Reset()         { *m = ListNodePoolsRequest{} }
-func (m *ListNodePoolsRequest) String() string { return proto.CompactTextString(m) }
-func (*ListNodePoolsRequest) ProtoMessage()    {}
-func (*ListNodePoolsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{31}
+func (m *CancelOperationRequest) Reset()         { *m = CancelOperationRequest{} }
+func (m *CancelOperationRequest) String() string { return proto.CompactTextString(m) }
+func (*CancelOperationRequest) ProtoMessage()    {}
+func (*CancelOperationRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{36}
 }
 
-func (m *ListNodePoolsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListNodePoolsRequest.Unmarshal(m, b)
+func (m *CancelOperationRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CancelOperationRequest.Unmarshal(m, b)
 }
-func (m *ListNodePoolsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListNodePoolsRequest.Marshal(b, m, deterministic)
+func (m *CancelOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CancelOperationRequest.Marshal(b, m, deterministic)
 }
-func (m *ListNodePoolsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListNodePoolsRequest.Merge(m, src)
+func (m *CancelOperationRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CancelOperationRequest.Merge(m, src)
 }
-func (m *ListNodePoolsRequest) XXX_Size() int {
-	return xxx_messageInfo_ListNodePoolsRequest.Size(m)
+func (m *CancelOperationRequest) XXX_Size() int {
+	return xxx_messageInfo_CancelOperationRequest.Size(m)
 }
-func (m *ListNodePoolsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListNodePoolsRequest.DiscardUnknown(m)
+func (m *CancelOperationRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CancelOperationRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListNodePoolsRequest proto.InternalMessageInfo
+var xxx_messageInfo_CancelOperationRequest proto.InternalMessageInfo
 
-func (m *ListNodePoolsRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *CancelOperationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *ListNodePoolsRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *CancelOperationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *ListNodePoolsRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *CancelOperationRequest) GetOperationId() string {
 	if m != nil {
-		return m.ClusterId
+		return m.OperationId
 	}
 	return ""
 }
 
-func (m *ListNodePoolsRequest) GetParent() string {
+func (m *CancelOperationRequest) GetName() string {
 	if m != nil {
-		return m.Parent
+		return m.Name
 	}
 	return ""
 }
 
-// GetNodePoolRequest retrieves a node pool for a cluster.
-type GetNodePoolRequest struct {
-	// The Google Developers Console [project ID or project
+// ListOperationsResponse is the result of ListOperationsRequest.
+type ListOperationsResponse struct {
+	// A list of operations in the project in the specified zone.
+	Operations []*Operation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"`
+	// If any zones are listed here, the list of operations returned
+	// may be missing the operations from those zones.
+	MissingZones         []string `protobuf:"bytes,2,rep,name=missing_zones,json=missingZones,proto3" json:"missing_zones,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListOperationsResponse) Reset()         { *m = ListOperationsResponse{} }
+func (m *ListOperationsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListOperationsResponse) ProtoMessage()    {}
+func (*ListOperationsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{37}
+}
+
+func (m *ListOperationsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListOperationsResponse.Unmarshal(m, b)
+}
+func (m *ListOperationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListOperationsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListOperationsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListOperationsResponse.Merge(m, src)
+}
+func (m *ListOperationsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListOperationsResponse.Size(m)
+}
+func (m *ListOperationsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListOperationsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListOperationsResponse proto.InternalMessageInfo
+
+func (m *ListOperationsResponse) GetOperations() []*Operation {
+	if m != nil {
+		return m.Operations
+	}
+	return nil
+}
+
+func (m *ListOperationsResponse) GetMissingZones() []string {
+	if m != nil {
+		return m.MissingZones
+	}
+	return nil
+}
+
+// Gets the current Kubernetes Engine service configuration.
+type GetServerConfigRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) to return operations for.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// The name (project and location) of the server config to get
+	// Specified in the format 'projects/*/locations/*'.
+	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetServerConfigRequest) Reset()         { *m = GetServerConfigRequest{} }
+func (m *GetServerConfigRequest) String() string { return proto.CompactTextString(m) }
+func (*GetServerConfigRequest) ProtoMessage()    {}
+func (*GetServerConfigRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{38}
+}
+
+func (m *GetServerConfigRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetServerConfigRequest.Unmarshal(m, b)
+}
+func (m *GetServerConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetServerConfigRequest.Marshal(b, m, deterministic)
+}
+func (m *GetServerConfigRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetServerConfigRequest.Merge(m, src)
+}
+func (m *GetServerConfigRequest) XXX_Size() int {
+	return xxx_messageInfo_GetServerConfigRequest.Size(m)
+}
+func (m *GetServerConfigRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetServerConfigRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetServerConfigRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *GetServerConfigRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *GetServerConfigRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *GetServerConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Kubernetes Engine service configuration.
+type ServerConfig struct {
+	// Version of Kubernetes the service deploys by default.
+	DefaultClusterVersion string `protobuf:"bytes,1,opt,name=default_cluster_version,json=defaultClusterVersion,proto3" json:"default_cluster_version,omitempty"`
+	// List of valid node upgrade target versions.
+	ValidNodeVersions []string `protobuf:"bytes,3,rep,name=valid_node_versions,json=validNodeVersions,proto3" json:"valid_node_versions,omitempty"`
+	// Default image type.
+	DefaultImageType string `protobuf:"bytes,4,opt,name=default_image_type,json=defaultImageType,proto3" json:"default_image_type,omitempty"`
+	// List of valid image types.
+	ValidImageTypes []string `protobuf:"bytes,5,rep,name=valid_image_types,json=validImageTypes,proto3" json:"valid_image_types,omitempty"`
+	// List of valid master versions.
+	ValidMasterVersions  []string `protobuf:"bytes,6,rep,name=valid_master_versions,json=validMasterVersions,proto3" json:"valid_master_versions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ServerConfig) Reset()         { *m = ServerConfig{} }
+func (m *ServerConfig) String() string { return proto.CompactTextString(m) }
+func (*ServerConfig) ProtoMessage()    {}
+func (*ServerConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{39}
+}
+
+func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
+}
+func (m *ServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ServerConfig.Marshal(b, m, deterministic)
+}
+func (m *ServerConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ServerConfig.Merge(m, src)
+}
+func (m *ServerConfig) XXX_Size() int {
+	return xxx_messageInfo_ServerConfig.Size(m)
+}
+func (m *ServerConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_ServerConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ServerConfig proto.InternalMessageInfo
+
+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 (m *ServerConfig) GetDefaultImageType() string {
+	if m != nil {
+		return m.DefaultImageType
+	}
+	return ""
+}
+
+func (m *ServerConfig) GetValidImageTypes() []string {
+	if m != nil {
+		return m.ValidImageTypes
+	}
+	return nil
+}
+
+func (m *ServerConfig) GetValidMasterVersions() []string {
+	if m != nil {
+		return m.ValidMasterVersions
+	}
+	return nil
+}
+
+// CreateNodePoolRequest creates a node pool for a cluster.
+type CreateNodePoolRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
 	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node pool to get.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The node pool to create.
+	NodePool *NodePool `protobuf:"bytes,4,opt,name=node_pool,json=nodePool,proto3" json:"node_pool,omitempty"`
+	// The parent (project, location, cluster id) where the node pool will be
+	// created. Specified in the format
+	// 'projects/*/locations/*/clusters/*'.
+	Parent               string   `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateNodePoolRequest) Reset()         { *m = CreateNodePoolRequest{} }
+func (m *CreateNodePoolRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateNodePoolRequest) ProtoMessage()    {}
+func (*CreateNodePoolRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{40}
+}
+
+func (m *CreateNodePoolRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateNodePoolRequest.Unmarshal(m, b)
+}
+func (m *CreateNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateNodePoolRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateNodePoolRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateNodePoolRequest.Merge(m, src)
+}
+func (m *CreateNodePoolRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateNodePoolRequest.Size(m)
+}
+func (m *CreateNodePoolRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateNodePoolRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateNodePoolRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *CreateNodePoolRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *CreateNodePoolRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *CreateNodePoolRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *CreateNodePoolRequest) GetNodePool() *NodePool {
+	if m != nil {
+		return m.NodePool
+	}
+	return nil
+}
+
+func (m *CreateNodePoolRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+// DeleteNodePoolRequest deletes a node pool for a cluster.
+type DeleteNodePoolRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to delete.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// delete. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteNodePoolRequest) Reset()         { *m = DeleteNodePoolRequest{} }
+func (m *DeleteNodePoolRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteNodePoolRequest) ProtoMessage()    {}
+func (*DeleteNodePoolRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{41}
+}
+
+func (m *DeleteNodePoolRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteNodePoolRequest.Unmarshal(m, b)
+}
+func (m *DeleteNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteNodePoolRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteNodePoolRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteNodePoolRequest.Merge(m, src)
+}
+func (m *DeleteNodePoolRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteNodePoolRequest.Size(m)
+}
+func (m *DeleteNodePoolRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteNodePoolRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteNodePoolRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *DeleteNodePoolRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *DeleteNodePoolRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *DeleteNodePoolRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *DeleteNodePoolRequest) GetNodePoolId() string {
+	if m != nil {
+		return m.NodePoolId
+	}
+	return ""
+}
+
+func (m *DeleteNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// ListNodePoolsRequest lists the node pool(s) for a cluster.
+type ListNodePoolsRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the parent field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the parent field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the parent field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The parent (project, location, cluster id) where the node pools will be
+	// listed. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Parent               string   `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListNodePoolsRequest) Reset()         { *m = ListNodePoolsRequest{} }
+func (m *ListNodePoolsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListNodePoolsRequest) ProtoMessage()    {}
+func (*ListNodePoolsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{42}
+}
+
+func (m *ListNodePoolsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListNodePoolsRequest.Unmarshal(m, b)
+}
+func (m *ListNodePoolsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListNodePoolsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListNodePoolsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListNodePoolsRequest.Merge(m, src)
+}
+func (m *ListNodePoolsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListNodePoolsRequest.Size(m)
+}
+func (m *ListNodePoolsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListNodePoolsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListNodePoolsRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *ListNodePoolsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *ListNodePoolsRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *ListNodePoolsRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *ListNodePoolsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+// GetNodePoolRequest retrieves a node pool for a cluster.
+type GetNodePoolRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node pool to
+	// get. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetNodePoolRequest) Reset()         { *m = GetNodePoolRequest{} }
+func (m *GetNodePoolRequest) String() string { return proto.CompactTextString(m) }
+func (*GetNodePoolRequest) ProtoMessage()    {}
+func (*GetNodePoolRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{43}
+}
+
+func (m *GetNodePoolRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetNodePoolRequest.Unmarshal(m, b)
+}
+func (m *GetNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetNodePoolRequest.Marshal(b, m, deterministic)
+}
+func (m *GetNodePoolRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetNodePoolRequest.Merge(m, src)
+}
+func (m *GetNodePoolRequest) XXX_Size() int {
+	return xxx_messageInfo_GetNodePoolRequest.Size(m)
+}
+func (m *GetNodePoolRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetNodePoolRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetNodePoolRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *GetNodePoolRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *GetNodePoolRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *GetNodePoolRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *GetNodePoolRequest) GetNodePoolId() string {
+	if m != nil {
+		return m.NodePoolId
+	}
+	return ""
+}
+
+func (m *GetNodePoolRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// NodePool contains the name and configuration for a cluster's node pool.
+// Node pools are a set of nodes (i.e. VM's), with a common configuration and
+// specification, under the control of the cluster master. They may have a set
+// of Kubernetes labels applied to them, which may be used to reference them
+// during pod scheduling. They may also be resized up or down, to accommodate
+// the workload.
+type NodePool struct {
+	// The name of the node pool.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The node configuration of the pool.
+	Config *NodeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
+	// The initial node count for the pool. 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.
+	InitialNodeCount int32 `protobuf:"varint,3,opt,name=initial_node_count,json=initialNodeCount,proto3" json:"initial_node_count,omitempty"`
+	// [Output only] Server-defined URL for the resource.
+	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
+	// The version of the Kubernetes of this node.
+	Version string `protobuf:"bytes,101,opt,name=version,proto3" json:"version,omitempty"`
+	// [Output only] The resource URLs of the [managed instance
+	// groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
+	// associated with this node pool.
+	InstanceGroupUrls []string `protobuf:"bytes,102,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
+	// [Output only] The status of the nodes in this pool instance.
+	Status NodePool_Status `protobuf:"varint,103,opt,name=status,proto3,enum=google.container.v1beta1.NodePool_Status" json:"status,omitempty"`
+	// [Output only] Additional information about the current status of this
+	// node pool instance, if available.
+	StatusMessage string `protobuf:"bytes,104,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	// Autoscaler configuration for this NodePool. Autoscaler is enabled
+	// only if a valid configuration is present.
+	Autoscaling *NodePoolAutoscaling `protobuf:"bytes,4,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
+	// NodeManagement configuration for this NodePool.
+	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
+	// The constraint on the maximum number of pods that can be run
+	// simultaneously on a node in the node pool.
+	MaxPodsConstraint *MaxPodsConstraint `protobuf:"bytes,6,opt,name=max_pods_constraint,json=maxPodsConstraint,proto3" json:"max_pods_constraint,omitempty"`
+	// Which conditions caused the current node pool state.
+	Conditions           []*StatusCondition `protobuf:"bytes,105,rep,name=conditions,proto3" json:"conditions,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
+}
+
+func (m *NodePool) Reset()         { *m = NodePool{} }
+func (m *NodePool) String() string { return proto.CompactTextString(m) }
+func (*NodePool) ProtoMessage()    {}
+func (*NodePool) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{44}
+}
+
+func (m *NodePool) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodePool.Unmarshal(m, b)
+}
+func (m *NodePool) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodePool.Marshal(b, m, deterministic)
+}
+func (m *NodePool) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodePool.Merge(m, src)
+}
+func (m *NodePool) XXX_Size() int {
+	return xxx_messageInfo_NodePool.Size(m)
+}
+func (m *NodePool) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodePool.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodePool proto.InternalMessageInfo
+
+func (m *NodePool) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *NodePool) GetConfig() *NodeConfig {
+	if m != nil {
+		return m.Config
+	}
+	return nil
+}
+
+func (m *NodePool) GetInitialNodeCount() int32 {
+	if m != nil {
+		return m.InitialNodeCount
+	}
+	return 0
+}
+
+func (m *NodePool) GetSelfLink() string {
+	if m != nil {
+		return m.SelfLink
+	}
+	return ""
+}
+
+func (m *NodePool) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *NodePool) GetInstanceGroupUrls() []string {
+	if m != nil {
+		return m.InstanceGroupUrls
+	}
+	return nil
+}
+
+func (m *NodePool) GetStatus() NodePool_Status {
+	if m != nil {
+		return m.Status
+	}
+	return NodePool_STATUS_UNSPECIFIED
+}
+
+func (m *NodePool) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *NodePool) GetAutoscaling() *NodePoolAutoscaling {
+	if m != nil {
+		return m.Autoscaling
+	}
+	return nil
+}
+
+func (m *NodePool) GetManagement() *NodeManagement {
+	if m != nil {
+		return m.Management
+	}
+	return nil
+}
+
+func (m *NodePool) GetMaxPodsConstraint() *MaxPodsConstraint {
+	if m != nil {
+		return m.MaxPodsConstraint
+	}
+	return nil
+}
+
+func (m *NodePool) GetConditions() []*StatusCondition {
+	if m != nil {
+		return m.Conditions
+	}
+	return nil
+}
+
+// NodeManagement defines the set of node management services turned on for the
+// node pool.
+type NodeManagement struct {
+	// Whether the nodes will be automatically upgraded.
+	AutoUpgrade bool `protobuf:"varint,1,opt,name=auto_upgrade,json=autoUpgrade,proto3" json:"auto_upgrade,omitempty"`
+	// Whether the nodes will be automatically repaired.
+	AutoRepair bool `protobuf:"varint,2,opt,name=auto_repair,json=autoRepair,proto3" json:"auto_repair,omitempty"`
+	// Specifies the Auto Upgrade knobs for the node pool.
+	UpgradeOptions       *AutoUpgradeOptions `protobuf:"bytes,10,opt,name=upgrade_options,json=upgradeOptions,proto3" json:"upgrade_options,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
+	XXX_unrecognized     []byte              `json:"-"`
+	XXX_sizecache        int32               `json:"-"`
+}
+
+func (m *NodeManagement) Reset()         { *m = NodeManagement{} }
+func (m *NodeManagement) String() string { return proto.CompactTextString(m) }
+func (*NodeManagement) ProtoMessage()    {}
+func (*NodeManagement) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{45}
+}
+
+func (m *NodeManagement) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodeManagement.Unmarshal(m, b)
+}
+func (m *NodeManagement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodeManagement.Marshal(b, m, deterministic)
+}
+func (m *NodeManagement) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodeManagement.Merge(m, src)
+}
+func (m *NodeManagement) XXX_Size() int {
+	return xxx_messageInfo_NodeManagement.Size(m)
+}
+func (m *NodeManagement) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodeManagement.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodeManagement proto.InternalMessageInfo
+
+func (m *NodeManagement) GetAutoUpgrade() bool {
+	if m != nil {
+		return m.AutoUpgrade
+	}
+	return false
+}
+
+func (m *NodeManagement) GetAutoRepair() bool {
+	if m != nil {
+		return m.AutoRepair
+	}
+	return false
+}
+
+func (m *NodeManagement) GetUpgradeOptions() *AutoUpgradeOptions {
+	if m != nil {
+		return m.UpgradeOptions
+	}
+	return nil
+}
+
+// AutoUpgradeOptions defines the set of options for the user to control how
+// the Auto Upgrades will proceed.
+type AutoUpgradeOptions struct {
+	// [Output only] This field is set when upgrades are about to commence
+	// with the approximate start time for the upgrades, in
+	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	AutoUpgradeStartTime string `protobuf:"bytes,1,opt,name=auto_upgrade_start_time,json=autoUpgradeStartTime,proto3" json:"auto_upgrade_start_time,omitempty"`
+	// [Output only] This field is set when upgrades are about to commence
+	// with the description of the upgrade.
+	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AutoUpgradeOptions) Reset()         { *m = AutoUpgradeOptions{} }
+func (m *AutoUpgradeOptions) String() string { return proto.CompactTextString(m) }
+func (*AutoUpgradeOptions) ProtoMessage()    {}
+func (*AutoUpgradeOptions) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{46}
+}
+
+func (m *AutoUpgradeOptions) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AutoUpgradeOptions.Unmarshal(m, b)
+}
+func (m *AutoUpgradeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AutoUpgradeOptions.Marshal(b, m, deterministic)
+}
+func (m *AutoUpgradeOptions) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AutoUpgradeOptions.Merge(m, src)
+}
+func (m *AutoUpgradeOptions) XXX_Size() int {
+	return xxx_messageInfo_AutoUpgradeOptions.Size(m)
+}
+func (m *AutoUpgradeOptions) XXX_DiscardUnknown() {
+	xxx_messageInfo_AutoUpgradeOptions.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AutoUpgradeOptions proto.InternalMessageInfo
+
+func (m *AutoUpgradeOptions) GetAutoUpgradeStartTime() string {
+	if m != nil {
+		return m.AutoUpgradeStartTime
+	}
+	return ""
+}
+
+func (m *AutoUpgradeOptions) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+// MaintenancePolicy defines the maintenance policy to be used for the cluster.
+type MaintenancePolicy struct {
+	// Specifies the maintenance window in which maintenance may be performed.
+	Window               *MaintenanceWindow `protobuf:"bytes,1,opt,name=window,proto3" json:"window,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
+}
+
+func (m *MaintenancePolicy) Reset()         { *m = MaintenancePolicy{} }
+func (m *MaintenancePolicy) String() string { return proto.CompactTextString(m) }
+func (*MaintenancePolicy) ProtoMessage()    {}
+func (*MaintenancePolicy) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{47}
+}
+
+func (m *MaintenancePolicy) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_MaintenancePolicy.Unmarshal(m, b)
+}
+func (m *MaintenancePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_MaintenancePolicy.Marshal(b, m, deterministic)
+}
+func (m *MaintenancePolicy) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_MaintenancePolicy.Merge(m, src)
+}
+func (m *MaintenancePolicy) XXX_Size() int {
+	return xxx_messageInfo_MaintenancePolicy.Size(m)
+}
+func (m *MaintenancePolicy) XXX_DiscardUnknown() {
+	xxx_messageInfo_MaintenancePolicy.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MaintenancePolicy proto.InternalMessageInfo
+
+func (m *MaintenancePolicy) GetWindow() *MaintenanceWindow {
+	if m != nil {
+		return m.Window
+	}
+	return nil
+}
+
+// MaintenanceWindow defines the maintenance window to be used for the cluster.
+type MaintenanceWindow struct {
+	// Unimplemented, reserved for future use.
+	// HourlyMaintenanceWindow hourly_maintenance_window = 1;
+	//
+	// Types that are valid to be assigned to Policy:
+	//	*MaintenanceWindow_DailyMaintenanceWindow
+	Policy               isMaintenanceWindow_Policy `protobuf_oneof:"policy"`
+	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
+	XXX_unrecognized     []byte                     `json:"-"`
+	XXX_sizecache        int32                      `json:"-"`
+}
+
+func (m *MaintenanceWindow) Reset()         { *m = MaintenanceWindow{} }
+func (m *MaintenanceWindow) String() string { return proto.CompactTextString(m) }
+func (*MaintenanceWindow) ProtoMessage()    {}
+func (*MaintenanceWindow) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{48}
+}
+
+func (m *MaintenanceWindow) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_MaintenanceWindow.Unmarshal(m, b)
+}
+func (m *MaintenanceWindow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_MaintenanceWindow.Marshal(b, m, deterministic)
+}
+func (m *MaintenanceWindow) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_MaintenanceWindow.Merge(m, src)
+}
+func (m *MaintenanceWindow) XXX_Size() int {
+	return xxx_messageInfo_MaintenanceWindow.Size(m)
+}
+func (m *MaintenanceWindow) XXX_DiscardUnknown() {
+	xxx_messageInfo_MaintenanceWindow.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MaintenanceWindow proto.InternalMessageInfo
+
+type isMaintenanceWindow_Policy interface {
+	isMaintenanceWindow_Policy()
+}
+
+type MaintenanceWindow_DailyMaintenanceWindow struct {
+	DailyMaintenanceWindow *DailyMaintenanceWindow `protobuf:"bytes,2,opt,name=daily_maintenance_window,json=dailyMaintenanceWindow,proto3,oneof"`
+}
+
+func (*MaintenanceWindow_DailyMaintenanceWindow) isMaintenanceWindow_Policy() {}
+
+func (m *MaintenanceWindow) GetPolicy() isMaintenanceWindow_Policy {
+	if m != nil {
+		return m.Policy
+	}
+	return nil
+}
+
+func (m *MaintenanceWindow) GetDailyMaintenanceWindow() *DailyMaintenanceWindow {
+	if x, ok := m.GetPolicy().(*MaintenanceWindow_DailyMaintenanceWindow); ok {
+		return x.DailyMaintenanceWindow
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*MaintenanceWindow) 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 _MaintenanceWindow_OneofMarshaler, _MaintenanceWindow_OneofUnmarshaler, _MaintenanceWindow_OneofSizer, []interface{}{
+		(*MaintenanceWindow_DailyMaintenanceWindow)(nil),
+	}
+}
+
+func _MaintenanceWindow_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*MaintenanceWindow)
+	// policy
+	switch x := m.Policy.(type) {
+	case *MaintenanceWindow_DailyMaintenanceWindow:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.DailyMaintenanceWindow); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("MaintenanceWindow.Policy has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _MaintenanceWindow_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*MaintenanceWindow)
+	switch tag {
+	case 2: // policy.daily_maintenance_window
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(DailyMaintenanceWindow)
+		err := b.DecodeMessage(msg)
+		m.Policy = &MaintenanceWindow_DailyMaintenanceWindow{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _MaintenanceWindow_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*MaintenanceWindow)
+	// policy
+	switch x := m.Policy.(type) {
+	case *MaintenanceWindow_DailyMaintenanceWindow:
+		s := proto.Size(x.DailyMaintenanceWindow)
+		n += 1 // tag and wire
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Time window specified for daily maintenance operations.
+type DailyMaintenanceWindow struct {
+	// Time within the maintenance window to start the maintenance operations.
+	// It must be in format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT.
+	StartTime string `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+	// [Output only] Duration of the time window, automatically chosen to be
+	// smallest possible in the given scenario.
+	Duration             string   `protobuf:"bytes,3,opt,name=duration,proto3" json:"duration,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DailyMaintenanceWindow) Reset()         { *m = DailyMaintenanceWindow{} }
+func (m *DailyMaintenanceWindow) String() string { return proto.CompactTextString(m) }
+func (*DailyMaintenanceWindow) ProtoMessage()    {}
+func (*DailyMaintenanceWindow) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{49}
+}
+
+func (m *DailyMaintenanceWindow) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DailyMaintenanceWindow.Unmarshal(m, b)
+}
+func (m *DailyMaintenanceWindow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DailyMaintenanceWindow.Marshal(b, m, deterministic)
+}
+func (m *DailyMaintenanceWindow) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DailyMaintenanceWindow.Merge(m, src)
+}
+func (m *DailyMaintenanceWindow) XXX_Size() int {
+	return xxx_messageInfo_DailyMaintenanceWindow.Size(m)
+}
+func (m *DailyMaintenanceWindow) XXX_DiscardUnknown() {
+	xxx_messageInfo_DailyMaintenanceWindow.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DailyMaintenanceWindow proto.InternalMessageInfo
+
+func (m *DailyMaintenanceWindow) GetStartTime() string {
+	if m != nil {
+		return m.StartTime
+	}
+	return ""
+}
+
+func (m *DailyMaintenanceWindow) GetDuration() string {
+	if m != nil {
+		return m.Duration
+	}
+	return ""
+}
+
+// SetNodePoolManagementRequest sets the node management properties of a node
+// pool.
+type SetNodePoolManagementRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// NodeManagement configuration for the node pool.
+	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
+	// The name (project, location, cluster, node pool id) of the node pool to set
+	// management properties. Specified in the format
+	// 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *GetNodePoolRequest) Reset()         { *m = GetNodePoolRequest{} }
-func (m *GetNodePoolRequest) String() string { return proto.CompactTextString(m) }
-func (*GetNodePoolRequest) ProtoMessage()    {}
-func (*GetNodePoolRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{32}
+func (m *SetNodePoolManagementRequest) Reset()         { *m = SetNodePoolManagementRequest{} }
+func (m *SetNodePoolManagementRequest) String() string { return proto.CompactTextString(m) }
+func (*SetNodePoolManagementRequest) ProtoMessage()    {}
+func (*SetNodePoolManagementRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{50}
 }
 
-func (m *GetNodePoolRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_GetNodePoolRequest.Unmarshal(m, b)
+func (m *SetNodePoolManagementRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetNodePoolManagementRequest.Unmarshal(m, b)
 }
-func (m *GetNodePoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_GetNodePoolRequest.Marshal(b, m, deterministic)
+func (m *SetNodePoolManagementRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetNodePoolManagementRequest.Marshal(b, m, deterministic)
 }
-func (m *GetNodePoolRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_GetNodePoolRequest.Merge(m, src)
+func (m *SetNodePoolManagementRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetNodePoolManagementRequest.Merge(m, src)
 }
-func (m *GetNodePoolRequest) XXX_Size() int {
-	return xxx_messageInfo_GetNodePoolRequest.Size(m)
+func (m *SetNodePoolManagementRequest) XXX_Size() int {
+	return xxx_messageInfo_SetNodePoolManagementRequest.Size(m)
 }
-func (m *GetNodePoolRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_GetNodePoolRequest.DiscardUnknown(m)
+func (m *SetNodePoolManagementRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetNodePoolManagementRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_GetNodePoolRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetNodePoolManagementRequest proto.InternalMessageInfo
 
-func (m *GetNodePoolRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolManagementRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *GetNodePoolRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolManagementRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *GetNodePoolRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolManagementRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *GetNodePoolRequest) GetNodePoolId() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolManagementRequest) GetNodePoolId() string {
 	if m != nil {
 		return m.NodePoolId
 	}
 	return ""
 }
 
-func (m *GetNodePoolRequest) GetName() string {
+func (m *SetNodePoolManagementRequest) GetManagement() *NodeManagement {
+	if m != nil {
+		return m.Management
+	}
+	return nil
+}
+
+func (m *SetNodePoolManagementRequest) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// NodePool contains the name and configuration for a cluster's node pool.
-// Node pools are a set of nodes (i.e. VM's), with a common configuration and
-// specification, under the control of the cluster master. They may have a set
-// of Kubernetes labels applied to them, which may be used to reference them
-// during pod scheduling. They may also be resized up or down, to accommodate
-// the workload.
-type NodePool struct {
-	// The name of the node pool.
-	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	// The node configuration of the pool.
-	Config *NodeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
-	// The initial node count for the pool. 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.
-	InitialNodeCount int32 `protobuf:"varint,3,opt,name=initial_node_count,json=initialNodeCount,proto3" json:"initial_node_count,omitempty"`
-	// [Output only] Server-defined URL for the resource.
-	SelfLink string `protobuf:"bytes,100,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
-	// [Output only] The version of the Kubernetes of this node.
-	Version string `protobuf:"bytes,101,opt,name=version,proto3" json:"version,omitempty"`
-	// [Output only] The resource URLs of [instance
-	// groups](/compute/docs/instance-groups/) associated with this
-	// node pool.
-	InstanceGroupUrls []string `protobuf:"bytes,102,rep,name=instance_group_urls,json=instanceGroupUrls,proto3" json:"instance_group_urls,omitempty"`
-	// [Output only] The status of the nodes in this pool instance.
-	Status NodePool_Status `protobuf:"varint,103,opt,name=status,proto3,enum=google.container.v1beta1.NodePool_Status" json:"status,omitempty"`
-	// [Output only] Additional information about the current status of this
-	// node pool instance, if available.
-	StatusMessage string `protobuf:"bytes,104,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
-	// Autoscaler configuration for this NodePool. Autoscaler is enabled
-	// only if a valid configuration is present.
-	Autoscaling *NodePoolAutoscaling `protobuf:"bytes,4,opt,name=autoscaling,proto3" json:"autoscaling,omitempty"`
-	// NodeManagement configuration for this NodePool.
-	Management           *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
-	XXX_unrecognized     []byte          `json:"-"`
-	XXX_sizecache        int32           `json:"-"`
+// SetNodePoolSizeRequest sets the size a node
+// pool.
+type SetNodePoolSizeRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to update.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The desired node count for the pool.
+	NodeCount int32 `protobuf:"varint,5,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
+	// The name (project, location, cluster, node pool id) of the node pool to set
+	// size.
+	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *NodePool) Reset()         { *m = NodePool{} }
-func (m *NodePool) String() string { return proto.CompactTextString(m) }
-func (*NodePool) ProtoMessage()    {}
-func (*NodePool) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{33}
+func (m *SetNodePoolSizeRequest) Reset()         { *m = SetNodePoolSizeRequest{} }
+func (m *SetNodePoolSizeRequest) String() string { return proto.CompactTextString(m) }
+func (*SetNodePoolSizeRequest) ProtoMessage()    {}
+func (*SetNodePoolSizeRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{51}
 }
 
-func (m *NodePool) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_NodePool.Unmarshal(m, b)
+func (m *SetNodePoolSizeRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetNodePoolSizeRequest.Unmarshal(m, b)
 }
-func (m *NodePool) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_NodePool.Marshal(b, m, deterministic)
+func (m *SetNodePoolSizeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetNodePoolSizeRequest.Marshal(b, m, deterministic)
 }
-func (m *NodePool) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_NodePool.Merge(m, src)
+func (m *SetNodePoolSizeRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetNodePoolSizeRequest.Merge(m, src)
 }
-func (m *NodePool) XXX_Size() int {
-	return xxx_messageInfo_NodePool.Size(m)
+func (m *SetNodePoolSizeRequest) XXX_Size() int {
+	return xxx_messageInfo_SetNodePoolSizeRequest.Size(m)
 }
-func (m *NodePool) XXX_DiscardUnknown() {
-	xxx_messageInfo_NodePool.DiscardUnknown(m)
+func (m *SetNodePoolSizeRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetNodePoolSizeRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_NodePool proto.InternalMessageInfo
+var xxx_messageInfo_SetNodePoolSizeRequest proto.InternalMessageInfo
 
-func (m *NodePool) GetName() string {
+// Deprecated: Do not use.
+func (m *SetNodePoolSizeRequest) GetProjectId() string {
 	if m != nil {
-		return m.Name
+		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *NodePool) GetConfig() *NodeConfig {
+// Deprecated: Do not use.
+func (m *SetNodePoolSizeRequest) GetZone() string {
 	if m != nil {
-		return m.Config
+		return m.Zone
 	}
-	return nil
+	return ""
 }
 
-func (m *NodePool) GetInitialNodeCount() int32 {
+// Deprecated: Do not use.
+func (m *SetNodePoolSizeRequest) GetClusterId() string {
 	if m != nil {
-		return m.InitialNodeCount
+		return m.ClusterId
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *SetNodePoolSizeRequest) GetNodePoolId() string {
+	if m != nil {
+		return m.NodePoolId
+	}
+	return ""
+}
+
+func (m *SetNodePoolSizeRequest) GetNodeCount() int32 {
+	if m != nil {
+		return m.NodeCount
 	}
 	return 0
 }
 
-func (m *NodePool) GetSelfLink() string {
+func (m *SetNodePoolSizeRequest) GetName() string {
 	if m != nil {
-		return m.SelfLink
+		return m.Name
 	}
 	return ""
 }
 
-func (m *NodePool) GetVersion() string {
+// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
+// NodePool upgrade. This will be an no-op if the last upgrade successfully
+// completed.
+type RollbackNodePoolUpgradeRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to rollback.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the node pool to rollback.
+	// This field has been deprecated and replaced by the name field.
+	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster, node pool id) of the node poll to
+	// rollback upgrade.
+	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *RollbackNodePoolUpgradeRequest) Reset()         { *m = RollbackNodePoolUpgradeRequest{} }
+func (m *RollbackNodePoolUpgradeRequest) String() string { return proto.CompactTextString(m) }
+func (*RollbackNodePoolUpgradeRequest) ProtoMessage()    {}
+func (*RollbackNodePoolUpgradeRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{52}
+}
+
+func (m *RollbackNodePoolUpgradeRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Unmarshal(m, b)
+}
+func (m *RollbackNodePoolUpgradeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Marshal(b, m, deterministic)
+}
+func (m *RollbackNodePoolUpgradeRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RollbackNodePoolUpgradeRequest.Merge(m, src)
+}
+func (m *RollbackNodePoolUpgradeRequest) XXX_Size() int {
+	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Size(m)
+}
+func (m *RollbackNodePoolUpgradeRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_RollbackNodePoolUpgradeRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RollbackNodePoolUpgradeRequest proto.InternalMessageInfo
+
+// Deprecated: Do not use.
+func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
 	if m != nil {
-		return m.Version
+		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *NodePool) GetInstanceGroupUrls() []string {
+// Deprecated: Do not use.
+func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
 	if m != nil {
-		return m.InstanceGroupUrls
+		return m.Zone
 	}
-	return nil
+	return ""
 }
 
-func (m *NodePool) GetStatus() NodePool_Status {
+// Deprecated: Do not use.
+func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
 	if m != nil {
-		return m.Status
+		return m.ClusterId
 	}
-	return NodePool_STATUS_UNSPECIFIED
+	return ""
 }
 
-func (m *NodePool) GetStatusMessage() string {
+// Deprecated: Do not use.
+func (m *RollbackNodePoolUpgradeRequest) GetNodePoolId() string {
 	if m != nil {
-		return m.StatusMessage
+		return m.NodePoolId
 	}
 	return ""
 }
 
-func (m *NodePool) GetAutoscaling() *NodePoolAutoscaling {
+func (m *RollbackNodePoolUpgradeRequest) GetName() string {
 	if m != nil {
-		return m.Autoscaling
+		return m.Name
 	}
-	return nil
+	return ""
 }
 
-func (m *NodePool) GetManagement() *NodeManagement {
+// ListNodePoolsResponse is the result of ListNodePoolsRequest.
+type ListNodePoolsResponse struct {
+	// A list of node pools for a cluster.
+	NodePools            []*NodePool `protobuf:"bytes,1,rep,name=node_pools,json=nodePools,proto3" json:"node_pools,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *ListNodePoolsResponse) Reset()         { *m = ListNodePoolsResponse{} }
+func (m *ListNodePoolsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListNodePoolsResponse) ProtoMessage()    {}
+func (*ListNodePoolsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{53}
+}
+
+func (m *ListNodePoolsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListNodePoolsResponse.Unmarshal(m, b)
+}
+func (m *ListNodePoolsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListNodePoolsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListNodePoolsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListNodePoolsResponse.Merge(m, src)
+}
+func (m *ListNodePoolsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListNodePoolsResponse.Size(m)
+}
+func (m *ListNodePoolsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListNodePoolsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListNodePoolsResponse proto.InternalMessageInfo
+
+func (m *ListNodePoolsResponse) GetNodePools() []*NodePool {
 	if m != nil {
-		return m.Management
+		return m.NodePools
 	}
 	return nil
 }
 
-// NodeManagement defines the set of node management services turned on for the
-// node pool.
-type NodeManagement struct {
-	// Whether the nodes will be automatically upgraded.
-	AutoUpgrade bool `protobuf:"varint,1,opt,name=auto_upgrade,json=autoUpgrade,proto3" json:"auto_upgrade,omitempty"`
-	// Whether the nodes will be automatically repaired.
-	AutoRepair bool `protobuf:"varint,2,opt,name=auto_repair,json=autoRepair,proto3" json:"auto_repair,omitempty"`
-	// Specifies the Auto Upgrade knobs for the node pool.
-	UpgradeOptions       *AutoUpgradeOptions `protobuf:"bytes,10,opt,name=upgrade_options,json=upgradeOptions,proto3" json:"upgrade_options,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
-	XXX_unrecognized     []byte              `json:"-"`
-	XXX_sizecache        int32               `json:"-"`
+// ClusterAutoscaling contains global, per-cluster information
+// required by Cluster Autoscaler to automatically adjust
+// the size of the cluster and create/delete
+// node pools based on the current needs.
+type ClusterAutoscaling struct {
+	// Enables automatic node pool creation and deletion.
+	EnableNodeAutoprovisioning bool `protobuf:"varint,1,opt,name=enable_node_autoprovisioning,json=enableNodeAutoprovisioning,proto3" json:"enable_node_autoprovisioning,omitempty"`
+	// Contains global constraints regarding minimum and maximum
+	// amount of resources in the cluster.
+	ResourceLimits       []*ResourceLimit `protobuf:"bytes,2,rep,name=resource_limits,json=resourceLimits,proto3" json:"resource_limits,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
+	XXX_unrecognized     []byte           `json:"-"`
+	XXX_sizecache        int32            `json:"-"`
 }
 
-func (m *NodeManagement) Reset()         { *m = NodeManagement{} }
-func (m *NodeManagement) String() string { return proto.CompactTextString(m) }
-func (*NodeManagement) ProtoMessage()    {}
-func (*NodeManagement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{34}
+func (m *ClusterAutoscaling) Reset()         { *m = ClusterAutoscaling{} }
+func (m *ClusterAutoscaling) String() string { return proto.CompactTextString(m) }
+func (*ClusterAutoscaling) ProtoMessage()    {}
+func (*ClusterAutoscaling) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{54}
 }
 
-func (m *NodeManagement) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_NodeManagement.Unmarshal(m, b)
+func (m *ClusterAutoscaling) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ClusterAutoscaling.Unmarshal(m, b)
 }
-func (m *NodeManagement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_NodeManagement.Marshal(b, m, deterministic)
+func (m *ClusterAutoscaling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ClusterAutoscaling.Marshal(b, m, deterministic)
 }
-func (m *NodeManagement) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_NodeManagement.Merge(m, src)
+func (m *ClusterAutoscaling) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ClusterAutoscaling.Merge(m, src)
 }
-func (m *NodeManagement) XXX_Size() int {
-	return xxx_messageInfo_NodeManagement.Size(m)
+func (m *ClusterAutoscaling) XXX_Size() int {
+	return xxx_messageInfo_ClusterAutoscaling.Size(m)
 }
-func (m *NodeManagement) XXX_DiscardUnknown() {
-	xxx_messageInfo_NodeManagement.DiscardUnknown(m)
+func (m *ClusterAutoscaling) XXX_DiscardUnknown() {
+	xxx_messageInfo_ClusterAutoscaling.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_NodeManagement proto.InternalMessageInfo
-
-func (m *NodeManagement) GetAutoUpgrade() bool {
-	if m != nil {
-		return m.AutoUpgrade
-	}
-	return false
-}
+var xxx_messageInfo_ClusterAutoscaling proto.InternalMessageInfo
 
-func (m *NodeManagement) GetAutoRepair() bool {
+func (m *ClusterAutoscaling) GetEnableNodeAutoprovisioning() bool {
 	if m != nil {
-		return m.AutoRepair
+		return m.EnableNodeAutoprovisioning
 	}
 	return false
 }
 
-func (m *NodeManagement) GetUpgradeOptions() *AutoUpgradeOptions {
+func (m *ClusterAutoscaling) GetResourceLimits() []*ResourceLimit {
 	if m != nil {
-		return m.UpgradeOptions
+		return m.ResourceLimits
 	}
 	return nil
 }
 
-// AutoUpgradeOptions defines the set of options for the user to control how
-// the Auto Upgrades will proceed.
-type AutoUpgradeOptions struct {
-	// [Output only] This field is set when upgrades are about to commence
-	// with the approximate start time for the upgrades, in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-	AutoUpgradeStartTime string `protobuf:"bytes,1,opt,name=auto_upgrade_start_time,json=autoUpgradeStartTime,proto3" json:"auto_upgrade_start_time,omitempty"`
-	// [Output only] This field is set when upgrades are about to commence
-	// with the description of the upgrade.
-	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+// Contains information about amount of some resource in the cluster.
+// For memory, value should be in GB.
+type ResourceLimit struct {
+	// Resource name "cpu", "memory" or gpu-specific string.
+	ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
+	// Minimum amount of the resource in the cluster.
+	Minimum int64 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"`
+	// Maximum amount of the resource in the cluster.
+	Maximum              int64    `protobuf:"varint,3,opt,name=maximum,proto3" json:"maximum,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *AutoUpgradeOptions) Reset()         { *m = AutoUpgradeOptions{} }
-func (m *AutoUpgradeOptions) String() string { return proto.CompactTextString(m) }
-func (*AutoUpgradeOptions) ProtoMessage()    {}
-func (*AutoUpgradeOptions) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{35}
+func (m *ResourceLimit) Reset()         { *m = ResourceLimit{} }
+func (m *ResourceLimit) String() string { return proto.CompactTextString(m) }
+func (*ResourceLimit) ProtoMessage()    {}
+func (*ResourceLimit) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{55}
 }
 
-func (m *AutoUpgradeOptions) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AutoUpgradeOptions.Unmarshal(m, b)
+func (m *ResourceLimit) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResourceLimit.Unmarshal(m, b)
 }
-func (m *AutoUpgradeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AutoUpgradeOptions.Marshal(b, m, deterministic)
+func (m *ResourceLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResourceLimit.Marshal(b, m, deterministic)
 }
-func (m *AutoUpgradeOptions) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AutoUpgradeOptions.Merge(m, src)
+func (m *ResourceLimit) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResourceLimit.Merge(m, src)
 }
-func (m *AutoUpgradeOptions) XXX_Size() int {
-	return xxx_messageInfo_AutoUpgradeOptions.Size(m)
+func (m *ResourceLimit) XXX_Size() int {
+	return xxx_messageInfo_ResourceLimit.Size(m)
 }
-func (m *AutoUpgradeOptions) XXX_DiscardUnknown() {
-	xxx_messageInfo_AutoUpgradeOptions.DiscardUnknown(m)
+func (m *ResourceLimit) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResourceLimit.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_AutoUpgradeOptions proto.InternalMessageInfo
+var xxx_messageInfo_ResourceLimit proto.InternalMessageInfo
 
-func (m *AutoUpgradeOptions) GetAutoUpgradeStartTime() string {
+func (m *ResourceLimit) GetResourceType() string {
 	if m != nil {
-		return m.AutoUpgradeStartTime
+		return m.ResourceType
 	}
 	return ""
 }
 
-func (m *AutoUpgradeOptions) GetDescription() string {
+func (m *ResourceLimit) GetMinimum() int64 {
 	if m != nil {
-		return m.Description
+		return m.Minimum
 	}
-	return ""
+	return 0
 }
 
-// MaintenancePolicy defines the maintenance policy to be used for the cluster.
-type MaintenancePolicy struct {
-	// Specifies the maintenance window in which maintenance may be performed.
-	Window               *MaintenanceWindow `protobuf:"bytes,1,opt,name=window,proto3" json:"window,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
+func (m *ResourceLimit) GetMaximum() int64 {
+	if m != nil {
+		return m.Maximum
+	}
+	return 0
 }
 
-func (m *MaintenancePolicy) Reset()         { *m = MaintenancePolicy{} }
-func (m *MaintenancePolicy) String() string { return proto.CompactTextString(m) }
-func (*MaintenancePolicy) ProtoMessage()    {}
-func (*MaintenancePolicy) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{36}
+// NodePoolAutoscaling contains information required by cluster autoscaler to
+// adjust the size of the node pool to the current cluster usage.
+type NodePoolAutoscaling struct {
+	// Is autoscaling enabled for this node pool.
+	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	// Minimum number of nodes in the NodePool. Must be >= 1 and <=
+	// max_node_count.
+	MinNodeCount int32 `protobuf:"varint,2,opt,name=min_node_count,json=minNodeCount,proto3" json:"min_node_count,omitempty"`
+	// Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+	// has to enough quota to scale up the cluster.
+	MaxNodeCount int32 `protobuf:"varint,3,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"`
+	// Can this node pool be deleted automatically.
+	Autoprovisioned      bool     `protobuf:"varint,4,opt,name=autoprovisioned,proto3" json:"autoprovisioned,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *MaintenancePolicy) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MaintenancePolicy.Unmarshal(m, b)
+func (m *NodePoolAutoscaling) Reset()         { *m = NodePoolAutoscaling{} }
+func (m *NodePoolAutoscaling) String() string { return proto.CompactTextString(m) }
+func (*NodePoolAutoscaling) ProtoMessage()    {}
+func (*NodePoolAutoscaling) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{56}
 }
-func (m *MaintenancePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MaintenancePolicy.Marshal(b, m, deterministic)
+
+func (m *NodePoolAutoscaling) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodePoolAutoscaling.Unmarshal(m, b)
 }
-func (m *MaintenancePolicy) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MaintenancePolicy.Merge(m, src)
+func (m *NodePoolAutoscaling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodePoolAutoscaling.Marshal(b, m, deterministic)
 }
-func (m *MaintenancePolicy) XXX_Size() int {
-	return xxx_messageInfo_MaintenancePolicy.Size(m)
+func (m *NodePoolAutoscaling) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodePoolAutoscaling.Merge(m, src)
 }
-func (m *MaintenancePolicy) XXX_DiscardUnknown() {
-	xxx_messageInfo_MaintenancePolicy.DiscardUnknown(m)
+func (m *NodePoolAutoscaling) XXX_Size() int {
+	return xxx_messageInfo_NodePoolAutoscaling.Size(m)
+}
+func (m *NodePoolAutoscaling) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodePoolAutoscaling.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_MaintenancePolicy proto.InternalMessageInfo
+var xxx_messageInfo_NodePoolAutoscaling proto.InternalMessageInfo
 
-func (m *MaintenancePolicy) GetWindow() *MaintenanceWindow {
+func (m *NodePoolAutoscaling) GetEnabled() bool {
 	if m != nil {
-		return m.Window
+		return m.Enabled
 	}
-	return nil
+	return false
 }
 
-// MaintenanceWindow defines the maintenance window to be used for the cluster.
-type MaintenanceWindow struct {
-	// Unimplemented, reserved for future use.
-	// HourlyMaintenanceWindow hourly_maintenance_window = 1;
-	//
-	// Types that are valid to be assigned to Policy:
-	//	*MaintenanceWindow_DailyMaintenanceWindow
-	Policy               isMaintenanceWindow_Policy `protobuf_oneof:"policy"`
-	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
-	XXX_unrecognized     []byte                     `json:"-"`
-	XXX_sizecache        int32                      `json:"-"`
+func (m *NodePoolAutoscaling) GetMinNodeCount() int32 {
+	if m != nil {
+		return m.MinNodeCount
+	}
+	return 0
 }
 
-func (m *MaintenanceWindow) Reset()         { *m = MaintenanceWindow{} }
-func (m *MaintenanceWindow) String() string { return proto.CompactTextString(m) }
-func (*MaintenanceWindow) ProtoMessage()    {}
-func (*MaintenanceWindow) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{37}
+func (m *NodePoolAutoscaling) GetMaxNodeCount() int32 {
+	if m != nil {
+		return m.MaxNodeCount
+	}
+	return 0
 }
 
-func (m *MaintenanceWindow) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MaintenanceWindow.Unmarshal(m, b)
+func (m *NodePoolAutoscaling) GetAutoprovisioned() bool {
+	if m != nil {
+		return m.Autoprovisioned
+	}
+	return false
 }
-func (m *MaintenanceWindow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MaintenanceWindow.Marshal(b, m, deterministic)
+
+// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
+// Engine cluster, which will in turn set them for Google Compute Engine
+// resources used by that cluster
+type SetLabelsRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The labels to set for that cluster.
+	ResourceLabels map[string]string `protobuf:"bytes,4,rep,name=resource_labels,json=resourceLabels,proto3" json:"resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// The fingerprint of the previous set of labels for this resource,
+	// used to detect conflicts. The fingerprint is initially generated by
+	// Kubernetes Engine and changes after every request to modify or update
+	// labels. You must always provide an up-to-date fingerprint hash when
+	// updating or changing labels. Make a <code>get()</code> request to the
+	// resource to get the latest fingerprint.
+	LabelFingerprint string `protobuf:"bytes,5,opt,name=label_fingerprint,json=labelFingerprint,proto3" json:"label_fingerprint,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set labels.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
-func (m *MaintenanceWindow) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MaintenanceWindow.Merge(m, src)
+
+func (m *SetLabelsRequest) Reset()         { *m = SetLabelsRequest{} }
+func (m *SetLabelsRequest) String() string { return proto.CompactTextString(m) }
+func (*SetLabelsRequest) ProtoMessage()    {}
+func (*SetLabelsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{57}
 }
-func (m *MaintenanceWindow) XXX_Size() int {
-	return xxx_messageInfo_MaintenanceWindow.Size(m)
+
+func (m *SetLabelsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetLabelsRequest.Unmarshal(m, b)
 }
-func (m *MaintenanceWindow) XXX_DiscardUnknown() {
-	xxx_messageInfo_MaintenanceWindow.DiscardUnknown(m)
+func (m *SetLabelsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetLabelsRequest.Marshal(b, m, deterministic)
 }
-
-var xxx_messageInfo_MaintenanceWindow proto.InternalMessageInfo
-
-type isMaintenanceWindow_Policy interface {
-	isMaintenanceWindow_Policy()
+func (m *SetLabelsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetLabelsRequest.Merge(m, src)
 }
-
-type MaintenanceWindow_DailyMaintenanceWindow struct {
-	DailyMaintenanceWindow *DailyMaintenanceWindow `protobuf:"bytes,2,opt,name=daily_maintenance_window,json=dailyMaintenanceWindow,proto3,oneof"`
+func (m *SetLabelsRequest) XXX_Size() int {
+	return xxx_messageInfo_SetLabelsRequest.Size(m)
+}
+func (m *SetLabelsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetLabelsRequest.DiscardUnknown(m)
 }
 
-func (*MaintenanceWindow_DailyMaintenanceWindow) isMaintenanceWindow_Policy() {}
+var xxx_messageInfo_SetLabelsRequest proto.InternalMessageInfo
 
-func (m *MaintenanceWindow) GetPolicy() isMaintenanceWindow_Policy {
+// Deprecated: Do not use.
+func (m *SetLabelsRequest) GetProjectId() string {
 	if m != nil {
-		return m.Policy
+		return m.ProjectId
 	}
-	return nil
+	return ""
 }
 
-func (m *MaintenanceWindow) GetDailyMaintenanceWindow() *DailyMaintenanceWindow {
-	if x, ok := m.GetPolicy().(*MaintenanceWindow_DailyMaintenanceWindow); ok {
-		return x.DailyMaintenanceWindow
+// Deprecated: Do not use.
+func (m *SetLabelsRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
 	}
-	return nil
+	return ""
 }
 
-// XXX_OneofFuncs is for the internal use of the proto package.
-func (*MaintenanceWindow) 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 _MaintenanceWindow_OneofMarshaler, _MaintenanceWindow_OneofUnmarshaler, _MaintenanceWindow_OneofSizer, []interface{}{
-		(*MaintenanceWindow_DailyMaintenanceWindow)(nil),
+// Deprecated: Do not use.
+func (m *SetLabelsRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
 	}
+	return ""
 }
 
-func _MaintenanceWindow_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
-	m := msg.(*MaintenanceWindow)
-	// policy
-	switch x := m.Policy.(type) {
-	case *MaintenanceWindow_DailyMaintenanceWindow:
-		b.EncodeVarint(2<<3 | proto.WireBytes)
-		if err := b.EncodeMessage(x.DailyMaintenanceWindow); err != nil {
-			return err
-		}
-	case nil:
-	default:
-		return fmt.Errorf("MaintenanceWindow.Policy has unexpected type %T", x)
+func (m *SetLabelsRequest) GetResourceLabels() map[string]string {
+	if m != nil {
+		return m.ResourceLabels
 	}
 	return nil
 }
 
-func _MaintenanceWindow_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
-	m := msg.(*MaintenanceWindow)
-	switch tag {
-	case 2: // policy.daily_maintenance_window
-		if wire != proto.WireBytes {
-			return true, proto.ErrInternalBadWireType
-		}
-		msg := new(DailyMaintenanceWindow)
-		err := b.DecodeMessage(msg)
-		m.Policy = &MaintenanceWindow_DailyMaintenanceWindow{msg}
-		return true, err
-	default:
-		return false, nil
+func (m *SetLabelsRequest) GetLabelFingerprint() string {
+	if m != nil {
+		return m.LabelFingerprint
 	}
+	return ""
 }
 
-func _MaintenanceWindow_OneofSizer(msg proto.Message) (n int) {
-	m := msg.(*MaintenanceWindow)
-	// policy
-	switch x := m.Policy.(type) {
-	case *MaintenanceWindow_DailyMaintenanceWindow:
-		s := proto.Size(x.DailyMaintenanceWindow)
-		n += 1 // tag and wire
-		n += proto.SizeVarint(uint64(s))
-		n += s
-	case nil:
-	default:
-		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+func (m *SetLabelsRequest) GetName() string {
+	if m != nil {
+		return m.Name
 	}
-	return n
+	return ""
 }
 
-// Time window specified for daily maintenance operations.
-type DailyMaintenanceWindow struct {
-	// Time within the maintenance window to start the maintenance operations.
-	// It must be in format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT.
-	StartTime string `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
-	// [Output only] Duration of the time window, automatically chosen to be
-	// smallest possible in the given scenario.
-	Duration             string   `protobuf:"bytes,3,opt,name=duration,proto3" json:"duration,omitempty"`
+// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
+// a cluster.
+type SetLegacyAbacRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster to update.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Whether ABAC authorization will be enabled in the cluster.
+	Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set legacy abac.
+	// Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *DailyMaintenanceWindow) Reset()         { *m = DailyMaintenanceWindow{} }
-func (m *DailyMaintenanceWindow) String() string { return proto.CompactTextString(m) }
-func (*DailyMaintenanceWindow) ProtoMessage()    {}
-func (*DailyMaintenanceWindow) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{38}
+func (m *SetLegacyAbacRequest) Reset()         { *m = SetLegacyAbacRequest{} }
+func (m *SetLegacyAbacRequest) String() string { return proto.CompactTextString(m) }
+func (*SetLegacyAbacRequest) ProtoMessage()    {}
+func (*SetLegacyAbacRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{58}
 }
 
-func (m *DailyMaintenanceWindow) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DailyMaintenanceWindow.Unmarshal(m, b)
+func (m *SetLegacyAbacRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetLegacyAbacRequest.Unmarshal(m, b)
 }
-func (m *DailyMaintenanceWindow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DailyMaintenanceWindow.Marshal(b, m, deterministic)
+func (m *SetLegacyAbacRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetLegacyAbacRequest.Marshal(b, m, deterministic)
 }
-func (m *DailyMaintenanceWindow) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DailyMaintenanceWindow.Merge(m, src)
+func (m *SetLegacyAbacRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetLegacyAbacRequest.Merge(m, src)
 }
-func (m *DailyMaintenanceWindow) XXX_Size() int {
-	return xxx_messageInfo_DailyMaintenanceWindow.Size(m)
+func (m *SetLegacyAbacRequest) XXX_Size() int {
+	return xxx_messageInfo_SetLegacyAbacRequest.Size(m)
 }
-func (m *DailyMaintenanceWindow) XXX_DiscardUnknown() {
-	xxx_messageInfo_DailyMaintenanceWindow.DiscardUnknown(m)
+func (m *SetLegacyAbacRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetLegacyAbacRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_DailyMaintenanceWindow proto.InternalMessageInfo
+var xxx_messageInfo_SetLegacyAbacRequest proto.InternalMessageInfo
 
-func (m *DailyMaintenanceWindow) GetStartTime() string {
+// Deprecated: Do not use.
+func (m *SetLegacyAbacRequest) GetProjectId() string {
 	if m != nil {
-		return m.StartTime
+		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *DailyMaintenanceWindow) GetDuration() string {
+// Deprecated: Do not use.
+func (m *SetLegacyAbacRequest) GetZone() string {
 	if m != nil {
-		return m.Duration
+		return m.Zone
 	}
 	return ""
 }
 
-// SetNodePoolManagementRequest sets the node management properties of a node
-// pool.
-type SetNodePoolManagementRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+// Deprecated: Do not use.
+func (m *SetLegacyAbacRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *SetLegacyAbacRequest) GetEnabled() bool {
+	if m != nil {
+		return m.Enabled
+	}
+	return false
+}
+
+func (m *SetLegacyAbacRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// StartIPRotationRequest creates a new IP for the cluster and then performs
+// a node upgrade on each node pool to point to the new IP.
+type StartIPRotationRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to update.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// NodeManagement configuration for the node pool.
-	Management *NodeManagement `protobuf:"bytes,5,opt,name=management,proto3" json:"management,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node pool to set
-	// management properties. Specified in the format
-	// 'projects/*/locations/*/clusters/*/nodePools/*'.
-	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to start IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// Whether to rotate credentials during IP rotation.
+	RotateCredentials    bool     `protobuf:"varint,7,opt,name=rotate_credentials,json=rotateCredentials,proto3" json:"rotate_credentials,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetNodePoolManagementRequest) Reset()         { *m = SetNodePoolManagementRequest{} }
-func (m *SetNodePoolManagementRequest) String() string { return proto.CompactTextString(m) }
-func (*SetNodePoolManagementRequest) ProtoMessage()    {}
-func (*SetNodePoolManagementRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{39}
+func (m *StartIPRotationRequest) Reset()         { *m = StartIPRotationRequest{} }
+func (m *StartIPRotationRequest) String() string { return proto.CompactTextString(m) }
+func (*StartIPRotationRequest) ProtoMessage()    {}
+func (*StartIPRotationRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{59}
 }
 
-func (m *SetNodePoolManagementRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetNodePoolManagementRequest.Unmarshal(m, b)
+func (m *StartIPRotationRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StartIPRotationRequest.Unmarshal(m, b)
 }
-func (m *SetNodePoolManagementRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetNodePoolManagementRequest.Marshal(b, m, deterministic)
+func (m *StartIPRotationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StartIPRotationRequest.Marshal(b, m, deterministic)
 }
-func (m *SetNodePoolManagementRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetNodePoolManagementRequest.Merge(m, src)
+func (m *StartIPRotationRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StartIPRotationRequest.Merge(m, src)
 }
-func (m *SetNodePoolManagementRequest) XXX_Size() int {
-	return xxx_messageInfo_SetNodePoolManagementRequest.Size(m)
+func (m *StartIPRotationRequest) XXX_Size() int {
+	return xxx_messageInfo_StartIPRotationRequest.Size(m)
 }
-func (m *SetNodePoolManagementRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetNodePoolManagementRequest.DiscardUnknown(m)
+func (m *StartIPRotationRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_StartIPRotationRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetNodePoolManagementRequest proto.InternalMessageInfo
+var xxx_messageInfo_StartIPRotationRequest proto.InternalMessageInfo
 
-func (m *SetNodePoolManagementRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *StartIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *SetNodePoolManagementRequest) GetZone() string {
+// Deprecated: Do not use.
+func (m *StartIPRotationRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *SetNodePoolManagementRequest) GetClusterId() string {
+// Deprecated: Do not use.
+func (m *StartIPRotationRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *SetNodePoolManagementRequest) GetNodePoolId() string {
+func (m *StartIPRotationRequest) GetName() string {
 	if m != nil {
-		return m.NodePoolId
+		return m.Name
 	}
 	return ""
 }
 
-func (m *SetNodePoolManagementRequest) GetManagement() *NodeManagement {
-	if m != nil {
-		return m.Management
-	}
-	return nil
-}
-
-func (m *SetNodePoolManagementRequest) GetName() string {
+func (m *StartIPRotationRequest) GetRotateCredentials() bool {
 	if m != nil {
-		return m.Name
+		return m.RotateCredentials
 	}
-	return ""
+	return false
 }
 
-// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
-// NodePool upgrade. This will be an no-op if the last upgrade successfully
-// completed.
-type RollbackNodePoolUpgradeRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
+// CompleteIPRotationRequest moves the cluster master back into single-IP mode.
+type CompleteIPRotationRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to rollback.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name of the node pool to rollback.
-	// This field is deprecated, use name instead.
-	NodePoolId string `protobuf:"bytes,4,opt,name=node_pool_id,json=nodePoolId,proto3" json:"node_pool_id,omitempty"`
-	// The name (project, location, cluster, node pool id) of the node poll to
-	// rollback upgrade.
-	// Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// The name (project, location, cluster id) of the cluster to complete IP
+	// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *RollbackNodePoolUpgradeRequest) Reset()         { *m = RollbackNodePoolUpgradeRequest{} }
-func (m *RollbackNodePoolUpgradeRequest) String() string { return proto.CompactTextString(m) }
-func (*RollbackNodePoolUpgradeRequest) ProtoMessage()    {}
-func (*RollbackNodePoolUpgradeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{40}
+func (m *CompleteIPRotationRequest) Reset()         { *m = CompleteIPRotationRequest{} }
+func (m *CompleteIPRotationRequest) String() string { return proto.CompactTextString(m) }
+func (*CompleteIPRotationRequest) ProtoMessage()    {}
+func (*CompleteIPRotationRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{60}
 }
 
-func (m *RollbackNodePoolUpgradeRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Unmarshal(m, b)
+func (m *CompleteIPRotationRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CompleteIPRotationRequest.Unmarshal(m, b)
 }
-func (m *RollbackNodePoolUpgradeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Marshal(b, m, deterministic)
+func (m *CompleteIPRotationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CompleteIPRotationRequest.Marshal(b, m, deterministic)
 }
-func (m *RollbackNodePoolUpgradeRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_RollbackNodePoolUpgradeRequest.Merge(m, src)
+func (m *CompleteIPRotationRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CompleteIPRotationRequest.Merge(m, src)
 }
-func (m *RollbackNodePoolUpgradeRequest) XXX_Size() int {
-	return xxx_messageInfo_RollbackNodePoolUpgradeRequest.Size(m)
+func (m *CompleteIPRotationRequest) XXX_Size() int {
+	return xxx_messageInfo_CompleteIPRotationRequest.Size(m)
 }
-func (m *RollbackNodePoolUpgradeRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_RollbackNodePoolUpgradeRequest.DiscardUnknown(m)
+func (m *CompleteIPRotationRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CompleteIPRotationRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_RollbackNodePoolUpgradeRequest proto.InternalMessageInfo
+var xxx_messageInfo_CompleteIPRotationRequest proto.InternalMessageInfo
 
-func (m *RollbackNodePoolUpgradeRequest) GetProjectId() string {
+// Deprecated: Do not use.
+func (m *CompleteIPRotationRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *RollbackNodePoolUpgradeRequest) GetZone() string {
-	if m != nil {
-		return m.Zone
-	}
-	return ""
+// Deprecated: Do not use.
+func (m *CompleteIPRotationRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+// Deprecated: Do not use.
+func (m *CompleteIPRotationRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *CompleteIPRotationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// AcceleratorConfig represents a Hardware Accelerator request.
+type AcceleratorConfig struct {
+	// The number of the accelerator cards exposed to an instance.
+	AcceleratorCount int64 `protobuf:"varint,1,opt,name=accelerator_count,json=acceleratorCount,proto3" json:"accelerator_count,omitempty"`
+	// The accelerator type resource name. List of supported accelerators
+	// [here](/compute/docs/gpus/#Introduction)
+	AcceleratorType      string   `protobuf:"bytes,2,opt,name=accelerator_type,json=acceleratorType,proto3" json:"accelerator_type,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AcceleratorConfig) Reset()         { *m = AcceleratorConfig{} }
+func (m *AcceleratorConfig) String() string { return proto.CompactTextString(m) }
+func (*AcceleratorConfig) ProtoMessage()    {}
+func (*AcceleratorConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{61}
+}
+
+func (m *AcceleratorConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AcceleratorConfig.Unmarshal(m, b)
 }
-
-func (m *RollbackNodePoolUpgradeRequest) GetClusterId() string {
-	if m != nil {
-		return m.ClusterId
-	}
-	return ""
+func (m *AcceleratorConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AcceleratorConfig.Marshal(b, m, deterministic)
+}
+func (m *AcceleratorConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AcceleratorConfig.Merge(m, src)
+}
+func (m *AcceleratorConfig) XXX_Size() int {
+	return xxx_messageInfo_AcceleratorConfig.Size(m)
+}
+func (m *AcceleratorConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_AcceleratorConfig.DiscardUnknown(m)
 }
 
-func (m *RollbackNodePoolUpgradeRequest) GetNodePoolId() string {
+var xxx_messageInfo_AcceleratorConfig proto.InternalMessageInfo
+
+func (m *AcceleratorConfig) GetAcceleratorCount() int64 {
 	if m != nil {
-		return m.NodePoolId
+		return m.AcceleratorCount
 	}
-	return ""
+	return 0
 }
 
-func (m *RollbackNodePoolUpgradeRequest) GetName() string {
+func (m *AcceleratorConfig) GetAcceleratorType() string {
 	if m != nil {
-		return m.Name
+		return m.AcceleratorType
 	}
 	return ""
 }
 
-// ListNodePoolsResponse is the result of ListNodePoolsRequest.
-type ListNodePoolsResponse struct {
-	// A list of node pools for a cluster.
-	NodePools            []*NodePool `protobuf:"bytes,1,rep,name=node_pools,json=nodePools,proto3" json:"node_pools,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+// WorkloadMetadataConfig defines the metadata configuration to expose to
+// workloads on the node pool.
+type WorkloadMetadataConfig struct {
+	// NodeMetadata is the configuration for how to expose the node metadata to
+	// the workload running on the node.
+	NodeMetadata         WorkloadMetadataConfig_NodeMetadata `protobuf:"varint,1,opt,name=node_metadata,json=nodeMetadata,proto3,enum=google.container.v1beta1.WorkloadMetadataConfig_NodeMetadata" json:"node_metadata,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
+	XXX_unrecognized     []byte                              `json:"-"`
+	XXX_sizecache        int32                               `json:"-"`
 }
 
-func (m *ListNodePoolsResponse) Reset()         { *m = ListNodePoolsResponse{} }
-func (m *ListNodePoolsResponse) String() string { return proto.CompactTextString(m) }
-func (*ListNodePoolsResponse) ProtoMessage()    {}
-func (*ListNodePoolsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{41}
+func (m *WorkloadMetadataConfig) Reset()         { *m = WorkloadMetadataConfig{} }
+func (m *WorkloadMetadataConfig) String() string { return proto.CompactTextString(m) }
+func (*WorkloadMetadataConfig) ProtoMessage()    {}
+func (*WorkloadMetadataConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{62}
 }
 
-func (m *ListNodePoolsResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ListNodePoolsResponse.Unmarshal(m, b)
+func (m *WorkloadMetadataConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_WorkloadMetadataConfig.Unmarshal(m, b)
 }
-func (m *ListNodePoolsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ListNodePoolsResponse.Marshal(b, m, deterministic)
+func (m *WorkloadMetadataConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_WorkloadMetadataConfig.Marshal(b, m, deterministic)
 }
-func (m *ListNodePoolsResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ListNodePoolsResponse.Merge(m, src)
+func (m *WorkloadMetadataConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_WorkloadMetadataConfig.Merge(m, src)
 }
-func (m *ListNodePoolsResponse) XXX_Size() int {
-	return xxx_messageInfo_ListNodePoolsResponse.Size(m)
+func (m *WorkloadMetadataConfig) XXX_Size() int {
+	return xxx_messageInfo_WorkloadMetadataConfig.Size(m)
 }
-func (m *ListNodePoolsResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ListNodePoolsResponse.DiscardUnknown(m)
+func (m *WorkloadMetadataConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_WorkloadMetadataConfig.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_ListNodePoolsResponse proto.InternalMessageInfo
+var xxx_messageInfo_WorkloadMetadataConfig proto.InternalMessageInfo
 
-func (m *ListNodePoolsResponse) GetNodePools() []*NodePool {
+func (m *WorkloadMetadataConfig) GetNodeMetadata() WorkloadMetadataConfig_NodeMetadata {
 	if m != nil {
-		return m.NodePools
+		return m.NodeMetadata
 	}
-	return nil
+	return WorkloadMetadataConfig_UNSPECIFIED
 }
 
-// NodePoolAutoscaling contains information required by cluster autoscaler to
-// adjust the size of the node pool to the current cluster usage.
-type NodePoolAutoscaling struct {
-	// Is autoscaling enabled for this node pool.
-	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
-	// Minimum number of nodes in the NodePool. Must be >= 1 and <=
-	// max_node_count.
-	MinNodeCount int32 `protobuf:"varint,2,opt,name=min_node_count,json=minNodeCount,proto3" json:"min_node_count,omitempty"`
-	// Maximum number of nodes in the NodePool. Must be >= min_node_count. There
-	// has to enough quota to scale up the cluster.
-	MaxNodeCount         int32    `protobuf:"varint,3,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"`
+// SetNetworkPolicyRequest enables/disables network policy for a cluster.
+type SetNetworkPolicyRequest struct {
+	// Deprecated. The Google Developers Console [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber).
+	// This field has been deprecated and replaced by the name field.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the Google Compute Engine
+	// [zone](/compute/docs/zones#available) in which the cluster
+	// resides.
+	// This field has been deprecated and replaced by the name field.
+	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // Deprecated: Do not use.
+	// Deprecated. The name of the cluster.
+	// This field has been deprecated and replaced by the name field.
+	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Deprecated: Do not use.
+	// Configuration options for the NetworkPolicy feature.
+	NetworkPolicy *NetworkPolicy `protobuf:"bytes,4,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set networking
+	// policy. Specified in the format 'projects/*/locations/*/clusters/*'.
+	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *NodePoolAutoscaling) Reset()         { *m = NodePoolAutoscaling{} }
-func (m *NodePoolAutoscaling) String() string { return proto.CompactTextString(m) }
-func (*NodePoolAutoscaling) ProtoMessage()    {}
-func (*NodePoolAutoscaling) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{42}
+func (m *SetNetworkPolicyRequest) Reset()         { *m = SetNetworkPolicyRequest{} }
+func (m *SetNetworkPolicyRequest) String() string { return proto.CompactTextString(m) }
+func (*SetNetworkPolicyRequest) ProtoMessage()    {}
+func (*SetNetworkPolicyRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{63}
 }
 
-func (m *NodePoolAutoscaling) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_NodePoolAutoscaling.Unmarshal(m, b)
+func (m *SetNetworkPolicyRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetNetworkPolicyRequest.Unmarshal(m, b)
 }
-func (m *NodePoolAutoscaling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_NodePoolAutoscaling.Marshal(b, m, deterministic)
+func (m *SetNetworkPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetNetworkPolicyRequest.Marshal(b, m, deterministic)
 }
-func (m *NodePoolAutoscaling) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_NodePoolAutoscaling.Merge(m, src)
+func (m *SetNetworkPolicyRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetNetworkPolicyRequest.Merge(m, src)
 }
-func (m *NodePoolAutoscaling) XXX_Size() int {
-	return xxx_messageInfo_NodePoolAutoscaling.Size(m)
+func (m *SetNetworkPolicyRequest) XXX_Size() int {
+	return xxx_messageInfo_SetNetworkPolicyRequest.Size(m)
 }
-func (m *NodePoolAutoscaling) XXX_DiscardUnknown() {
-	xxx_messageInfo_NodePoolAutoscaling.DiscardUnknown(m)
+func (m *SetNetworkPolicyRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetNetworkPolicyRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_NodePoolAutoscaling proto.InternalMessageInfo
+var xxx_messageInfo_SetNetworkPolicyRequest proto.InternalMessageInfo
 
-func (m *NodePoolAutoscaling) GetEnabled() bool {
+// Deprecated: Do not use.
+func (m *SetNetworkPolicyRequest) GetProjectId() string {
 	if m != nil {
-		return m.Enabled
+		return m.ProjectId
 	}
-	return false
+	return ""
 }
 
-func (m *NodePoolAutoscaling) GetMinNodeCount() int32 {
+// Deprecated: Do not use.
+func (m *SetNetworkPolicyRequest) GetZone() string {
 	if m != nil {
-		return m.MinNodeCount
+		return m.Zone
 	}
-	return 0
+	return ""
 }
 
-func (m *NodePoolAutoscaling) GetMaxNodeCount() int32 {
+// Deprecated: Do not use.
+func (m *SetNetworkPolicyRequest) GetClusterId() string {
 	if m != nil {
-		return m.MaxNodeCount
+		return m.ClusterId
 	}
-	return 0
+	return ""
 }
 
-// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
-// Engine cluster, which will in turn set them for Google Compute Engine
-// resources used by that cluster
-type SetLabelsRequest struct {
+func (m *SetNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy {
+	if m != nil {
+		return m.NetworkPolicy
+	}
+	return nil
+}
+
+func (m *SetNetworkPolicyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
+type SetMaintenancePolicyRequest struct {
 	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
+	// number](https://support.google.com/cloud/answer/6158840).
 	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
 	// The name of the Google Compute Engine
 	// [zone](/compute/docs/zones#available) in which the cluster
 	// resides.
-	// This field is deprecated, use name instead.
 	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
+	// The name of the cluster to update.
 	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The labels to set for that cluster.
-	ResourceLabels map[string]string `protobuf:"bytes,4,rep,name=resource_labels,json=resourceLabels,proto3" json:"resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	// The fingerprint of the previous set of labels for this resource,
-	// used to detect conflicts. The fingerprint is initially generated by
-	// Container Engine and changes after every request to modify or update
-	// labels. You must always provide an up-to-date fingerprint hash when
-	// updating or changing labels. Make a <code>get()</code> request to the
-	// resource to get the latest fingerprint.
-	LabelFingerprint string `protobuf:"bytes,5,opt,name=label_fingerprint,json=labelFingerprint,proto3" json:"label_fingerprint,omitempty"`
-	// The name (project, location, cluster id) of the cluster to set labels.
+	// The maintenance policy to be set for the cluster. An empty field
+	// clears the existing maintenance policy.
+	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,4,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
+	// The name (project, location, cluster id) of the cluster to set maintenance
+	// policy.
 	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetLabelsRequest) Reset()         { *m = SetLabelsRequest{} }
-func (m *SetLabelsRequest) String() string { return proto.CompactTextString(m) }
-func (*SetLabelsRequest) ProtoMessage()    {}
-func (*SetLabelsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{43}
+func (m *SetMaintenancePolicyRequest) Reset()         { *m = SetMaintenancePolicyRequest{} }
+func (m *SetMaintenancePolicyRequest) String() string { return proto.CompactTextString(m) }
+func (*SetMaintenancePolicyRequest) ProtoMessage()    {}
+func (*SetMaintenancePolicyRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{64}
 }
 
-func (m *SetLabelsRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetLabelsRequest.Unmarshal(m, b)
+func (m *SetMaintenancePolicyRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetMaintenancePolicyRequest.Unmarshal(m, b)
 }
-func (m *SetLabelsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetLabelsRequest.Marshal(b, m, deterministic)
+func (m *SetMaintenancePolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetMaintenancePolicyRequest.Marshal(b, m, deterministic)
 }
-func (m *SetLabelsRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetLabelsRequest.Merge(m, src)
+func (m *SetMaintenancePolicyRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetMaintenancePolicyRequest.Merge(m, src)
 }
-func (m *SetLabelsRequest) XXX_Size() int {
-	return xxx_messageInfo_SetLabelsRequest.Size(m)
+func (m *SetMaintenancePolicyRequest) XXX_Size() int {
+	return xxx_messageInfo_SetMaintenancePolicyRequest.Size(m)
 }
-func (m *SetLabelsRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetLabelsRequest.DiscardUnknown(m)
+func (m *SetMaintenancePolicyRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetMaintenancePolicyRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetLabelsRequest proto.InternalMessageInfo
+var xxx_messageInfo_SetMaintenancePolicyRequest proto.InternalMessageInfo
 
-func (m *SetLabelsRequest) GetProjectId() string {
+func (m *SetMaintenancePolicyRequest) GetProjectId() string {
 	if m != nil {
 		return m.ProjectId
 	}
 	return ""
 }
 
-func (m *SetLabelsRequest) GetZone() string {
+func (m *SetMaintenancePolicyRequest) GetZone() string {
 	if m != nil {
 		return m.Zone
 	}
 	return ""
 }
 
-func (m *SetLabelsRequest) GetClusterId() string {
+func (m *SetMaintenancePolicyRequest) GetClusterId() string {
 	if m != nil {
 		return m.ClusterId
 	}
 	return ""
 }
 
-func (m *SetLabelsRequest) GetResourceLabels() map[string]string {
+func (m *SetMaintenancePolicyRequest) GetMaintenancePolicy() *MaintenancePolicy {
 	if m != nil {
-		return m.ResourceLabels
+		return m.MaintenancePolicy
 	}
 	return nil
 }
 
-func (m *SetLabelsRequest) GetLabelFingerprint() string {
+func (m *SetMaintenancePolicyRequest) GetName() string {
 	if m != nil {
-		return m.LabelFingerprint
+		return m.Name
 	}
 	return ""
 }
 
-func (m *SetLabelsRequest) GetName() string {
+// ListLocationsRequest is used to request the locations that offer GKE.
+type ListLocationsRequest struct {
+	// Contains the name of the resource requested.
+	// Specified in the format 'projects/*'.
+	Parent               string   `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListLocationsRequest) Reset()         { *m = ListLocationsRequest{} }
+func (m *ListLocationsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListLocationsRequest) ProtoMessage()    {}
+func (*ListLocationsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{65}
+}
+
+func (m *ListLocationsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListLocationsRequest.Unmarshal(m, b)
+}
+func (m *ListLocationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListLocationsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListLocationsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListLocationsRequest.Merge(m, src)
+}
+func (m *ListLocationsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListLocationsRequest.Size(m)
+}
+func (m *ListLocationsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListLocationsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListLocationsRequest proto.InternalMessageInfo
+
+func (m *ListLocationsRequest) GetParent() string {
 	if m != nil {
-		return m.Name
+		return m.Parent
 	}
 	return ""
 }
 
-// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
-// a cluster.
-type SetLegacyAbacRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// Whether ABAC authorization will be enabled in the cluster.
-	Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
-	// The name (project, location, cluster id) of the cluster to set legacy abac.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+// ListLocationsResponse returns the list of all GKE locations and their
+// recommendation state.
+type ListLocationsResponse struct {
+	// A full list of GKE locations.
+	Locations []*Location `protobuf:"bytes,1,rep,name=locations,proto3" json:"locations,omitempty"`
+	// Only return ListLocationsResponse that occur after the page_token. This
+	// value should be populated from the ListLocationsResponse.next_page_token if
+	// that response token was set (which happens when listing more Locations than
+	// fit in a single ListLocationsResponse).
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetLegacyAbacRequest) Reset()         { *m = SetLegacyAbacRequest{} }
-func (m *SetLegacyAbacRequest) String() string { return proto.CompactTextString(m) }
-func (*SetLegacyAbacRequest) ProtoMessage()    {}
-func (*SetLegacyAbacRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{44}
-}
-
-func (m *SetLegacyAbacRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetLegacyAbacRequest.Unmarshal(m, b)
+func (m *ListLocationsResponse) Reset()         { *m = ListLocationsResponse{} }
+func (m *ListLocationsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListLocationsResponse) ProtoMessage()    {}
+func (*ListLocationsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{66}
 }
-func (m *SetLegacyAbacRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetLegacyAbacRequest.Marshal(b, m, deterministic)
+
+func (m *ListLocationsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListLocationsResponse.Unmarshal(m, b)
 }
-func (m *SetLegacyAbacRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetLegacyAbacRequest.Merge(m, src)
+func (m *ListLocationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListLocationsResponse.Marshal(b, m, deterministic)
 }
-func (m *SetLegacyAbacRequest) XXX_Size() int {
-	return xxx_messageInfo_SetLegacyAbacRequest.Size(m)
+func (m *ListLocationsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListLocationsResponse.Merge(m, src)
 }
-func (m *SetLegacyAbacRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetLegacyAbacRequest.DiscardUnknown(m)
+func (m *ListLocationsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListLocationsResponse.Size(m)
+}
+func (m *ListLocationsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListLocationsResponse.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetLegacyAbacRequest proto.InternalMessageInfo
+var xxx_messageInfo_ListLocationsResponse proto.InternalMessageInfo
 
-func (m *SetLegacyAbacRequest) GetProjectId() string {
+func (m *ListLocationsResponse) GetLocations() []*Location {
 	if m != nil {
-		return m.ProjectId
+		return m.Locations
 	}
-	return ""
+	return nil
 }
 
-func (m *SetLegacyAbacRequest) GetZone() string {
+func (m *ListLocationsResponse) GetNextPageToken() string {
 	if m != nil {
-		return m.Zone
+		return m.NextPageToken
 	}
 	return ""
 }
 
-func (m *SetLegacyAbacRequest) GetClusterId() string {
-	if m != nil {
-		return m.ClusterId
-	}
-	return ""
+// Location returns the location name, and if the location is recommended
+// for GKE cluster scheduling.
+type Location struct {
+	// Contains the type of location this Location is for.
+	// Regional or Zonal.
+	Type Location_LocationType `protobuf:"varint,1,opt,name=type,proto3,enum=google.container.v1beta1.Location_LocationType" json:"type,omitempty"`
+	// Contains the name of the resource requested.
+	// Specified in the format 'projects/*/locations/*'.
+	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	// Whether the location is recomended for GKE cluster scheduling.
+	Recommended          bool     `protobuf:"varint,3,opt,name=recommended,proto3" json:"recommended,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetLegacyAbacRequest) GetEnabled() bool {
+func (m *Location) Reset()         { *m = Location{} }
+func (m *Location) String() string { return proto.CompactTextString(m) }
+func (*Location) ProtoMessage()    {}
+func (*Location) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{67}
+}
+
+func (m *Location) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Location.Unmarshal(m, b)
+}
+func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Location.Marshal(b, m, deterministic)
+}
+func (m *Location) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Location.Merge(m, src)
+}
+func (m *Location) XXX_Size() int {
+	return xxx_messageInfo_Location.Size(m)
+}
+func (m *Location) XXX_DiscardUnknown() {
+	xxx_messageInfo_Location.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Location proto.InternalMessageInfo
+
+func (m *Location) GetType() Location_LocationType {
 	if m != nil {
-		return m.Enabled
+		return m.Type
 	}
-	return false
+	return Location_LOCATION_TYPE_UNSPECIFIED
 }
 
-func (m *SetLegacyAbacRequest) GetName() string {
+func (m *Location) GetName() string {
 	if m != nil {
 		return m.Name
 	}
 	return ""
 }
 
-// StartIPRotationRequest creates a new IP for the cluster and then performs
-// a node upgrade on each node pool to point to the new IP.
-type StartIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name (project, location, cluster id) of the cluster to start IP rotation.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
+func (m *Location) GetRecommended() bool {
+	if m != nil {
+		return m.Recommended
+	}
+	return false
+}
+
+// StatusCondition describes why a cluster or a node pool has a certain status
+// (e.g., ERROR or DEGRADED).
+type StatusCondition struct {
+	// Machine-friendly representation of the condition
+	Code StatusCondition_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.container.v1beta1.StatusCondition_Code" json:"code,omitempty"`
+	// Human-friendly representation of the condition
+	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *StartIPRotationRequest) Reset()         { *m = StartIPRotationRequest{} }
-func (m *StartIPRotationRequest) String() string { return proto.CompactTextString(m) }
-func (*StartIPRotationRequest) ProtoMessage()    {}
-func (*StartIPRotationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{45}
+func (m *StatusCondition) Reset()         { *m = StatusCondition{} }
+func (m *StatusCondition) String() string { return proto.CompactTextString(m) }
+func (*StatusCondition) ProtoMessage()    {}
+func (*StatusCondition) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{68}
 }
 
-func (m *StartIPRotationRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_StartIPRotationRequest.Unmarshal(m, b)
+func (m *StatusCondition) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_StatusCondition.Unmarshal(m, b)
 }
-func (m *StartIPRotationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_StartIPRotationRequest.Marshal(b, m, deterministic)
+func (m *StatusCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_StatusCondition.Marshal(b, m, deterministic)
 }
-func (m *StartIPRotationRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_StartIPRotationRequest.Merge(m, src)
+func (m *StatusCondition) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_StatusCondition.Merge(m, src)
 }
-func (m *StartIPRotationRequest) XXX_Size() int {
-	return xxx_messageInfo_StartIPRotationRequest.Size(m)
+func (m *StatusCondition) XXX_Size() int {
+	return xxx_messageInfo_StatusCondition.Size(m)
 }
-func (m *StartIPRotationRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_StartIPRotationRequest.DiscardUnknown(m)
+func (m *StatusCondition) XXX_DiscardUnknown() {
+	xxx_messageInfo_StatusCondition.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_StartIPRotationRequest proto.InternalMessageInfo
+var xxx_messageInfo_StatusCondition proto.InternalMessageInfo
 
-func (m *StartIPRotationRequest) GetProjectId() string {
+func (m *StatusCondition) GetCode() StatusCondition_Code {
 	if m != nil {
-		return m.ProjectId
+		return m.Code
 	}
-	return ""
+	return StatusCondition_UNKNOWN
 }
 
-func (m *StartIPRotationRequest) GetZone() string {
+func (m *StatusCondition) GetMessage() string {
 	if m != nil {
-		return m.Zone
+		return m.Message
 	}
 	return ""
 }
 
-func (m *StartIPRotationRequest) GetClusterId() string {
+// NetworkConfig reports the relative names of network & subnetwork.
+type NetworkConfig struct {
+	// Output only. The relative name of the Google Compute Engine
+	// [network][google.container.v1beta1.NetworkConfig.network](/compute/docs/networks-and-firewalls#networks) to which
+	// the cluster is connected.
+	// Example: projects/my-project/global/networks/my-network
+	Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
+	// Output only. The relative name of the Google Compute Engine
+	// [subnetwork](/compute/docs/vpc) to which the cluster is connected.
+	// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+	Subnetwork           string   `protobuf:"bytes,2,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NetworkConfig) Reset()         { *m = NetworkConfig{} }
+func (m *NetworkConfig) String() string { return proto.CompactTextString(m) }
+func (*NetworkConfig) ProtoMessage()    {}
+func (*NetworkConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{69}
+}
+
+func (m *NetworkConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NetworkConfig.Unmarshal(m, b)
+}
+func (m *NetworkConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NetworkConfig.Marshal(b, m, deterministic)
+}
+func (m *NetworkConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NetworkConfig.Merge(m, src)
+}
+func (m *NetworkConfig) XXX_Size() int {
+	return xxx_messageInfo_NetworkConfig.Size(m)
+}
+func (m *NetworkConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_NetworkConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NetworkConfig proto.InternalMessageInfo
+
+func (m *NetworkConfig) GetNetwork() string {
 	if m != nil {
-		return m.ClusterId
+		return m.Network
 	}
 	return ""
 }
 
-func (m *StartIPRotationRequest) GetName() string {
+func (m *NetworkConfig) GetSubnetwork() string {
 	if m != nil {
-		return m.Name
+		return m.Subnetwork
 	}
 	return ""
 }
 
-// CompleteIPRotationRequest moves the cluster master back into single-IP mode.
-type CompleteIPRotationRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The name (project, location, cluster id) of the cluster to complete IP rotation.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+// ListUsableSubnetworksRequest requests the list of usable subnetworks.
+// available to a user for creating clusters.
+type ListUsableSubnetworksRequest struct {
+	// The parent project where subnetworks are usable.
+	// Specified in the format 'projects/*'.
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Filtering currently only supports equality on the networkProjectId and must
+	// be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
+	// is the project which owns the listed subnetworks. This defaults to the
+	// parent project ID.
+	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
+	// The max number of results per page that should be returned. If the number
+	// of available results is larger than `page_size`, a `next_page_token` is
+	// returned which can be used to get the next page of results in subsequent
+	// requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
+	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// Specifies a page token to use. Set this to the nextPageToken returned by
+	// previous list requests to get the next page of results.
+	PageToken            string   `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *CompleteIPRotationRequest) Reset()         { *m = CompleteIPRotationRequest{} }
-func (m *CompleteIPRotationRequest) String() string { return proto.CompactTextString(m) }
-func (*CompleteIPRotationRequest) ProtoMessage()    {}
-func (*CompleteIPRotationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{46}
+func (m *ListUsableSubnetworksRequest) Reset()         { *m = ListUsableSubnetworksRequest{} }
+func (m *ListUsableSubnetworksRequest) String() string { return proto.CompactTextString(m) }
+func (*ListUsableSubnetworksRequest) ProtoMessage()    {}
+func (*ListUsableSubnetworksRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{70}
 }
 
-func (m *CompleteIPRotationRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CompleteIPRotationRequest.Unmarshal(m, b)
+func (m *ListUsableSubnetworksRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Unmarshal(m, b)
 }
-func (m *CompleteIPRotationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CompleteIPRotationRequest.Marshal(b, m, deterministic)
+func (m *ListUsableSubnetworksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Marshal(b, m, deterministic)
 }
-func (m *CompleteIPRotationRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CompleteIPRotationRequest.Merge(m, src)
+func (m *ListUsableSubnetworksRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListUsableSubnetworksRequest.Merge(m, src)
 }
-func (m *CompleteIPRotationRequest) XXX_Size() int {
-	return xxx_messageInfo_CompleteIPRotationRequest.Size(m)
+func (m *ListUsableSubnetworksRequest) XXX_Size() int {
+	return xxx_messageInfo_ListUsableSubnetworksRequest.Size(m)
 }
-func (m *CompleteIPRotationRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_CompleteIPRotationRequest.DiscardUnknown(m)
+func (m *ListUsableSubnetworksRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListUsableSubnetworksRequest.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_CompleteIPRotationRequest proto.InternalMessageInfo
+var xxx_messageInfo_ListUsableSubnetworksRequest proto.InternalMessageInfo
 
-func (m *CompleteIPRotationRequest) GetProjectId() string {
+func (m *ListUsableSubnetworksRequest) GetParent() string {
 	if m != nil {
-		return m.ProjectId
+		return m.Parent
 	}
 	return ""
 }
 
-func (m *CompleteIPRotationRequest) GetZone() string {
+func (m *ListUsableSubnetworksRequest) GetFilter() string {
 	if m != nil {
-		return m.Zone
+		return m.Filter
 	}
 	return ""
 }
 
-func (m *CompleteIPRotationRequest) GetClusterId() string {
+func (m *ListUsableSubnetworksRequest) GetPageSize() int32 {
 	if m != nil {
-		return m.ClusterId
+		return m.PageSize
 	}
-	return ""
+	return 0
 }
 
-func (m *CompleteIPRotationRequest) GetName() string {
+func (m *ListUsableSubnetworksRequest) GetPageToken() string {
 	if m != nil {
-		return m.Name
+		return m.PageToken
 	}
 	return ""
 }
 
-// AcceleratorConfig represents a Hardware Accelerator request.
-type AcceleratorConfig struct {
-	// The number of the accelerator cards exposed to an instance.
-	AcceleratorCount int64 `protobuf:"varint,1,opt,name=accelerator_count,json=acceleratorCount,proto3" json:"accelerator_count,omitempty"`
-	// The accelerator type resource name. List of supported accelerators
-	// [here](/compute/docs/gpus/#Introduction)
-	AcceleratorType      string   `protobuf:"bytes,2,opt,name=accelerator_type,json=acceleratorType,proto3" json:"accelerator_type,omitempty"`
+// ListUsableSubnetworksResponse is the response of
+// ListUsableSubnetworksRequest.
+type ListUsableSubnetworksResponse struct {
+	// A list of usable subnetworks in the specified network project.
+	Subnetworks []*UsableSubnetwork `protobuf:"bytes,1,rep,name=subnetworks,proto3" json:"subnetworks,omitempty"`
+	// This token allows you to get the next page of results for list requests.
+	// If the number of results is larger than `page_size`, use the
+	// `next_page_token` as a value for the query parameter `page_token` in the
+	// next request. The value will become empty when there are no more pages.
+	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *AcceleratorConfig) Reset()         { *m = AcceleratorConfig{} }
-func (m *AcceleratorConfig) String() string { return proto.CompactTextString(m) }
-func (*AcceleratorConfig) ProtoMessage()    {}
-func (*AcceleratorConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{47}
+func (m *ListUsableSubnetworksResponse) Reset()         { *m = ListUsableSubnetworksResponse{} }
+func (m *ListUsableSubnetworksResponse) String() string { return proto.CompactTextString(m) }
+func (*ListUsableSubnetworksResponse) ProtoMessage()    {}
+func (*ListUsableSubnetworksResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{71}
 }
 
-func (m *AcceleratorConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AcceleratorConfig.Unmarshal(m, b)
+func (m *ListUsableSubnetworksResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Unmarshal(m, b)
 }
-func (m *AcceleratorConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AcceleratorConfig.Marshal(b, m, deterministic)
+func (m *ListUsableSubnetworksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Marshal(b, m, deterministic)
 }
-func (m *AcceleratorConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AcceleratorConfig.Merge(m, src)
+func (m *ListUsableSubnetworksResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListUsableSubnetworksResponse.Merge(m, src)
 }
-func (m *AcceleratorConfig) XXX_Size() int {
-	return xxx_messageInfo_AcceleratorConfig.Size(m)
+func (m *ListUsableSubnetworksResponse) XXX_Size() int {
+	return xxx_messageInfo_ListUsableSubnetworksResponse.Size(m)
 }
-func (m *AcceleratorConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_AcceleratorConfig.DiscardUnknown(m)
+func (m *ListUsableSubnetworksResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListUsableSubnetworksResponse.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_AcceleratorConfig proto.InternalMessageInfo
+var xxx_messageInfo_ListUsableSubnetworksResponse proto.InternalMessageInfo
 
-func (m *AcceleratorConfig) GetAcceleratorCount() int64 {
+func (m *ListUsableSubnetworksResponse) GetSubnetworks() []*UsableSubnetwork {
 	if m != nil {
-		return m.AcceleratorCount
+		return m.Subnetworks
 	}
-	return 0
+	return nil
 }
 
-func (m *AcceleratorConfig) GetAcceleratorType() string {
+func (m *ListUsableSubnetworksResponse) GetNextPageToken() string {
 	if m != nil {
-		return m.AcceleratorType
+		return m.NextPageToken
 	}
 	return ""
 }
 
-// SetNetworkPolicyRequest enables/disables network policy for a cluster.
-type SetNetworkPolicyRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://developers.google.com/console/help/new/#projectnumber).
-	// This field is deprecated, use name instead.
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	// This field is deprecated, use name instead.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster.
-	// This field is deprecated, use name instead.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// Configuration options for the NetworkPolicy feature.
-	NetworkPolicy *NetworkPolicy `protobuf:"bytes,4,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
-	// The name (project, location, cluster id) of the cluster to set networking policy.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+// Secondary IP range of a usable subnetwork.
+type UsableSubnetworkSecondaryRange struct {
+	// The name associated with this subnetwork secondary range, used when adding
+	// an alias IP range to a VM instance.
+	RangeName string `protobuf:"bytes,1,opt,name=range_name,json=rangeName,proto3" json:"range_name,omitempty"`
+	// The range of IP addresses belonging to this subnetwork secondary range.
+	IpCidrRange string `protobuf:"bytes,2,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"`
+	// This field is to determine the status of the secondary range programmably.
+	Status               UsableSubnetworkSecondaryRange_Status `protobuf:"varint,3,opt,name=status,proto3,enum=google.container.v1beta1.UsableSubnetworkSecondaryRange_Status" json:"status,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
+	XXX_unrecognized     []byte                                `json:"-"`
+	XXX_sizecache        int32                                 `json:"-"`
 }
 
-func (m *SetNetworkPolicyRequest) Reset()         { *m = SetNetworkPolicyRequest{} }
-func (m *SetNetworkPolicyRequest) String() string { return proto.CompactTextString(m) }
-func (*SetNetworkPolicyRequest) ProtoMessage()    {}
-func (*SetNetworkPolicyRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{48}
+func (m *UsableSubnetworkSecondaryRange) Reset()         { *m = UsableSubnetworkSecondaryRange{} }
+func (m *UsableSubnetworkSecondaryRange) String() string { return proto.CompactTextString(m) }
+func (*UsableSubnetworkSecondaryRange) ProtoMessage()    {}
+func (*UsableSubnetworkSecondaryRange) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{72}
 }
 
-func (m *SetNetworkPolicyRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetNetworkPolicyRequest.Unmarshal(m, b)
+func (m *UsableSubnetworkSecondaryRange) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Unmarshal(m, b)
 }
-func (m *SetNetworkPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetNetworkPolicyRequest.Marshal(b, m, deterministic)
+func (m *UsableSubnetworkSecondaryRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Marshal(b, m, deterministic)
 }
-func (m *SetNetworkPolicyRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetNetworkPolicyRequest.Merge(m, src)
+func (m *UsableSubnetworkSecondaryRange) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UsableSubnetworkSecondaryRange.Merge(m, src)
 }
-func (m *SetNetworkPolicyRequest) XXX_Size() int {
-	return xxx_messageInfo_SetNetworkPolicyRequest.Size(m)
+func (m *UsableSubnetworkSecondaryRange) XXX_Size() int {
+	return xxx_messageInfo_UsableSubnetworkSecondaryRange.Size(m)
 }
-func (m *SetNetworkPolicyRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetNetworkPolicyRequest.DiscardUnknown(m)
+func (m *UsableSubnetworkSecondaryRange) XXX_DiscardUnknown() {
+	xxx_messageInfo_UsableSubnetworkSecondaryRange.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetNetworkPolicyRequest proto.InternalMessageInfo
-
-func (m *SetNetworkPolicyRequest) GetProjectId() string {
-	if m != nil {
-		return m.ProjectId
-	}
-	return ""
-}
+var xxx_messageInfo_UsableSubnetworkSecondaryRange proto.InternalMessageInfo
 
-func (m *SetNetworkPolicyRequest) GetZone() string {
+func (m *UsableSubnetworkSecondaryRange) GetRangeName() string {
 	if m != nil {
-		return m.Zone
+		return m.RangeName
 	}
 	return ""
 }
 
-func (m *SetNetworkPolicyRequest) GetClusterId() string {
+func (m *UsableSubnetworkSecondaryRange) GetIpCidrRange() string {
 	if m != nil {
-		return m.ClusterId
+		return m.IpCidrRange
 	}
 	return ""
 }
 
-func (m *SetNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy {
-	if m != nil {
-		return m.NetworkPolicy
-	}
-	return nil
-}
-
-func (m *SetNetworkPolicyRequest) GetName() string {
+func (m *UsableSubnetworkSecondaryRange) GetStatus() UsableSubnetworkSecondaryRange_Status {
 	if m != nil {
-		return m.Name
+		return m.Status
 	}
-	return ""
-}
-
-// SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
-type SetMaintenancePolicyRequest struct {
-	// The Google Developers Console [project ID or project
-	// number](https://support.google.com/cloud/answer/6158840).
-	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
-	// The name of the Google Compute Engine
-	// [zone](/compute/docs/zones#available) in which the cluster
-	// resides.
-	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
-	// The name of the cluster to update.
-	ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
-	// The maintenance policy to be set for the cluster. An empty field
-	// clears the existing maintenance policy.
-	MaintenancePolicy *MaintenancePolicy `protobuf:"bytes,4,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
-	// The name (project, location, cluster id) of the cluster to set maintenance
-	// policy.
-	// Specified in the format 'projects/*/locations/*/clusters/*'.
-	Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
+	return UsableSubnetworkSecondaryRange_UNKNOWN
+}
+
+// UsableSubnetwork resource returns the subnetwork name, its associated network
+// and the primary CIDR range.
+type UsableSubnetwork struct {
+	// Subnetwork Name.
+	// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+	Subnetwork string `protobuf:"bytes,1,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"`
+	// Network Name.
+	// Example: projects/my-project/global/networks/my-network
+	Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`
+	// The range of internal addresses that are owned by this subnetwork.
+	IpCidrRange string `protobuf:"bytes,3,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"`
+	// Secondary IP ranges.
+	SecondaryIpRanges []*UsableSubnetworkSecondaryRange `protobuf:"bytes,4,rep,name=secondary_ip_ranges,json=secondaryIpRanges,proto3" json:"secondary_ip_ranges,omitempty"`
+	// A human readable status message representing the reasons for cases where
+	// the caller cannot use the secondary ranges under the subnet. For example if
+	// the secondary_ip_ranges is empty due to a permission issue, an insufficient
+	// permission message will be given by status_message.
+	StatusMessage        string   `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
 }
 
-func (m *SetMaintenancePolicyRequest) Reset()         { *m = SetMaintenancePolicyRequest{} }
-func (m *SetMaintenancePolicyRequest) String() string { return proto.CompactTextString(m) }
-func (*SetMaintenancePolicyRequest) ProtoMessage()    {}
-func (*SetMaintenancePolicyRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e39a67f424410134, []int{49}
+func (m *UsableSubnetwork) Reset()         { *m = UsableSubnetwork{} }
+func (m *UsableSubnetwork) String() string { return proto.CompactTextString(m) }
+func (*UsableSubnetwork) ProtoMessage()    {}
+func (*UsableSubnetwork) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{73}
 }
 
-func (m *SetMaintenancePolicyRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SetMaintenancePolicyRequest.Unmarshal(m, b)
-}
-func (m *SetMaintenancePolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SetMaintenancePolicyRequest.Marshal(b, m, deterministic)
+func (m *UsableSubnetwork) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UsableSubnetwork.Unmarshal(m, b)
 }
-func (m *SetMaintenancePolicyRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SetMaintenancePolicyRequest.Merge(m, src)
+func (m *UsableSubnetwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UsableSubnetwork.Marshal(b, m, deterministic)
 }
-func (m *SetMaintenancePolicyRequest) XXX_Size() int {
-	return xxx_messageInfo_SetMaintenancePolicyRequest.Size(m)
+func (m *UsableSubnetwork) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UsableSubnetwork.Merge(m, src)
 }
-func (m *SetMaintenancePolicyRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_SetMaintenancePolicyRequest.DiscardUnknown(m)
+func (m *UsableSubnetwork) XXX_Size() int {
+	return xxx_messageInfo_UsableSubnetwork.Size(m)
+}
+func (m *UsableSubnetwork) XXX_DiscardUnknown() {
+	xxx_messageInfo_UsableSubnetwork.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_SetMaintenancePolicyRequest proto.InternalMessageInfo
+var xxx_messageInfo_UsableSubnetwork proto.InternalMessageInfo
 
-func (m *SetMaintenancePolicyRequest) GetProjectId() string {
+func (m *UsableSubnetwork) GetSubnetwork() string {
 	if m != nil {
-		return m.ProjectId
+		return m.Subnetwork
 	}
 	return ""
 }
 
-func (m *SetMaintenancePolicyRequest) GetZone() string {
+func (m *UsableSubnetwork) GetNetwork() string {
 	if m != nil {
-		return m.Zone
+		return m.Network
 	}
 	return ""
 }
 
-func (m *SetMaintenancePolicyRequest) GetClusterId() string {
+func (m *UsableSubnetwork) GetIpCidrRange() string {
 	if m != nil {
-		return m.ClusterId
+		return m.IpCidrRange
 	}
 	return ""
 }
 
-func (m *SetMaintenancePolicyRequest) GetMaintenancePolicy() *MaintenancePolicy {
+func (m *UsableSubnetwork) GetSecondaryIpRanges() []*UsableSubnetworkSecondaryRange {
 	if m != nil {
-		return m.MaintenancePolicy
+		return m.SecondaryIpRanges
 	}
 	return nil
 }
 
-func (m *SetMaintenancePolicyRequest) GetName() string {
+func (m *UsableSubnetwork) GetStatusMessage() string {
 	if m != nil {
-		return m.Name
+		return m.StatusMessage
 	}
 	return ""
 }
 
+// Constraints applied to pods.
+type MaxPodsConstraint struct {
+	// Constraint enforced on the max num of pods per node.
+	MaxPodsPerNode       int64    `protobuf:"varint,1,opt,name=max_pods_per_node,json=maxPodsPerNode,proto3" json:"max_pods_per_node,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *MaxPodsConstraint) Reset()         { *m = MaxPodsConstraint{} }
+func (m *MaxPodsConstraint) String() string { return proto.CompactTextString(m) }
+func (*MaxPodsConstraint) ProtoMessage()    {}
+func (*MaxPodsConstraint) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e39a67f424410134, []int{74}
+}
+
+func (m *MaxPodsConstraint) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_MaxPodsConstraint.Unmarshal(m, b)
+}
+func (m *MaxPodsConstraint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_MaxPodsConstraint.Marshal(b, m, deterministic)
+}
+func (m *MaxPodsConstraint) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_MaxPodsConstraint.Merge(m, src)
+}
+func (m *MaxPodsConstraint) XXX_Size() int {
+	return xxx_messageInfo_MaxPodsConstraint.Size(m)
+}
+func (m *MaxPodsConstraint) XXX_DiscardUnknown() {
+	xxx_messageInfo_MaxPodsConstraint.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MaxPodsConstraint proto.InternalMessageInfo
+
+func (m *MaxPodsConstraint) GetMaxPodsPerNode() int64 {
+	if m != nil {
+		return m.MaxPodsPerNode
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterEnum("google.container.v1beta1.NodeTaint_Effect", NodeTaint_Effect_name, NodeTaint_Effect_value)
 	proto.RegisterEnum("google.container.v1beta1.NetworkPolicy_Provider", NetworkPolicy_Provider_name, NetworkPolicy_Provider_value)
@@ -4664,6 +7156,10 @@ func init() {
 	proto.RegisterEnum("google.container.v1beta1.Operation_Type", Operation_Type_name, Operation_Type_value)
 	proto.RegisterEnum("google.container.v1beta1.SetMasterAuthRequest_Action", SetMasterAuthRequest_Action_name, SetMasterAuthRequest_Action_value)
 	proto.RegisterEnum("google.container.v1beta1.NodePool_Status", NodePool_Status_name, NodePool_Status_value)
+	proto.RegisterEnum("google.container.v1beta1.WorkloadMetadataConfig_NodeMetadata", WorkloadMetadataConfig_NodeMetadata_name, WorkloadMetadataConfig_NodeMetadata_value)
+	proto.RegisterEnum("google.container.v1beta1.Location_LocationType", Location_LocationType_name, Location_LocationType_value)
+	proto.RegisterEnum("google.container.v1beta1.StatusCondition_Code", StatusCondition_Code_name, StatusCondition_Code_value)
+	proto.RegisterEnum("google.container.v1beta1.UsableSubnetworkSecondaryRange_Status", UsableSubnetworkSecondaryRange_Status_name, UsableSubnetworkSecondaryRange_Status_value)
 	proto.RegisterType((*NodeConfig)(nil), "google.container.v1beta1.NodeConfig")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1beta1.NodeConfig.LabelsEntry")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1beta1.NodeConfig.MetadataEntry")
@@ -4675,17 +7171,30 @@ func init() {
 	proto.RegisterType((*HorizontalPodAutoscaling)(nil), "google.container.v1beta1.HorizontalPodAutoscaling")
 	proto.RegisterType((*KubernetesDashboard)(nil), "google.container.v1beta1.KubernetesDashboard")
 	proto.RegisterType((*NetworkPolicyConfig)(nil), "google.container.v1beta1.NetworkPolicyConfig")
+	proto.RegisterType((*PrivateClusterConfig)(nil), "google.container.v1beta1.PrivateClusterConfig")
 	proto.RegisterType((*MasterAuthorizedNetworksConfig)(nil), "google.container.v1beta1.MasterAuthorizedNetworksConfig")
 	proto.RegisterType((*MasterAuthorizedNetworksConfig_CidrBlock)(nil), "google.container.v1beta1.MasterAuthorizedNetworksConfig.CidrBlock")
+	proto.RegisterType((*LegacyAbac)(nil), "google.container.v1beta1.LegacyAbac")
 	proto.RegisterType((*NetworkPolicy)(nil), "google.container.v1beta1.NetworkPolicy")
 	proto.RegisterType((*IPAllocationPolicy)(nil), "google.container.v1beta1.IPAllocationPolicy")
+	proto.RegisterType((*BinaryAuthorization)(nil), "google.container.v1beta1.BinaryAuthorization")
 	proto.RegisterType((*PodSecurityPolicyConfig)(nil), "google.container.v1beta1.PodSecurityPolicyConfig")
 	proto.RegisterType((*Cluster)(nil), "google.container.v1beta1.Cluster")
+	proto.RegisterMapType((map[string]string)(nil), "google.container.v1beta1.Cluster.ResourceLabelsEntry")
 	proto.RegisterType((*ClusterUpdate)(nil), "google.container.v1beta1.ClusterUpdate")
 	proto.RegisterType((*Operation)(nil), "google.container.v1beta1.Operation")
+	proto.RegisterType((*OperationProgress)(nil), "google.container.v1beta1.OperationProgress")
+	proto.RegisterType((*OperationProgress_Metric)(nil), "google.container.v1beta1.OperationProgress.Metric")
 	proto.RegisterType((*CreateClusterRequest)(nil), "google.container.v1beta1.CreateClusterRequest")
 	proto.RegisterType((*GetClusterRequest)(nil), "google.container.v1beta1.GetClusterRequest")
 	proto.RegisterType((*UpdateClusterRequest)(nil), "google.container.v1beta1.UpdateClusterRequest")
+	proto.RegisterType((*UpdateNodePoolRequest)(nil), "google.container.v1beta1.UpdateNodePoolRequest")
+	proto.RegisterType((*SetNodePoolAutoscalingRequest)(nil), "google.container.v1beta1.SetNodePoolAutoscalingRequest")
+	proto.RegisterType((*SetLoggingServiceRequest)(nil), "google.container.v1beta1.SetLoggingServiceRequest")
+	proto.RegisterType((*SetMonitoringServiceRequest)(nil), "google.container.v1beta1.SetMonitoringServiceRequest")
+	proto.RegisterType((*SetAddonsConfigRequest)(nil), "google.container.v1beta1.SetAddonsConfigRequest")
+	proto.RegisterType((*SetLocationsRequest)(nil), "google.container.v1beta1.SetLocationsRequest")
+	proto.RegisterType((*UpdateMasterRequest)(nil), "google.container.v1beta1.UpdateMasterRequest")
 	proto.RegisterType((*SetMasterAuthRequest)(nil), "google.container.v1beta1.SetMasterAuthRequest")
 	proto.RegisterType((*DeleteClusterRequest)(nil), "google.container.v1beta1.DeleteClusterRequest")
 	proto.RegisterType((*ListClustersRequest)(nil), "google.container.v1beta1.ListClustersRequest")
@@ -4707,8 +7216,11 @@ func init() {
 	proto.RegisterType((*MaintenanceWindow)(nil), "google.container.v1beta1.MaintenanceWindow")
 	proto.RegisterType((*DailyMaintenanceWindow)(nil), "google.container.v1beta1.DailyMaintenanceWindow")
 	proto.RegisterType((*SetNodePoolManagementRequest)(nil), "google.container.v1beta1.SetNodePoolManagementRequest")
+	proto.RegisterType((*SetNodePoolSizeRequest)(nil), "google.container.v1beta1.SetNodePoolSizeRequest")
 	proto.RegisterType((*RollbackNodePoolUpgradeRequest)(nil), "google.container.v1beta1.RollbackNodePoolUpgradeRequest")
 	proto.RegisterType((*ListNodePoolsResponse)(nil), "google.container.v1beta1.ListNodePoolsResponse")
+	proto.RegisterType((*ClusterAutoscaling)(nil), "google.container.v1beta1.ClusterAutoscaling")
+	proto.RegisterType((*ResourceLimit)(nil), "google.container.v1beta1.ResourceLimit")
 	proto.RegisterType((*NodePoolAutoscaling)(nil), "google.container.v1beta1.NodePoolAutoscaling")
 	proto.RegisterType((*SetLabelsRequest)(nil), "google.container.v1beta1.SetLabelsRequest")
 	proto.RegisterMapType((map[string]string)(nil), "google.container.v1beta1.SetLabelsRequest.ResourceLabelsEntry")
@@ -4716,8 +7228,19 @@ func init() {
 	proto.RegisterType((*StartIPRotationRequest)(nil), "google.container.v1beta1.StartIPRotationRequest")
 	proto.RegisterType((*CompleteIPRotationRequest)(nil), "google.container.v1beta1.CompleteIPRotationRequest")
 	proto.RegisterType((*AcceleratorConfig)(nil), "google.container.v1beta1.AcceleratorConfig")
+	proto.RegisterType((*WorkloadMetadataConfig)(nil), "google.container.v1beta1.WorkloadMetadataConfig")
 	proto.RegisterType((*SetNetworkPolicyRequest)(nil), "google.container.v1beta1.SetNetworkPolicyRequest")
 	proto.RegisterType((*SetMaintenancePolicyRequest)(nil), "google.container.v1beta1.SetMaintenancePolicyRequest")
+	proto.RegisterType((*ListLocationsRequest)(nil), "google.container.v1beta1.ListLocationsRequest")
+	proto.RegisterType((*ListLocationsResponse)(nil), "google.container.v1beta1.ListLocationsResponse")
+	proto.RegisterType((*Location)(nil), "google.container.v1beta1.Location")
+	proto.RegisterType((*StatusCondition)(nil), "google.container.v1beta1.StatusCondition")
+	proto.RegisterType((*NetworkConfig)(nil), "google.container.v1beta1.NetworkConfig")
+	proto.RegisterType((*ListUsableSubnetworksRequest)(nil), "google.container.v1beta1.ListUsableSubnetworksRequest")
+	proto.RegisterType((*ListUsableSubnetworksResponse)(nil), "google.container.v1beta1.ListUsableSubnetworksResponse")
+	proto.RegisterType((*UsableSubnetworkSecondaryRange)(nil), "google.container.v1beta1.UsableSubnetworkSecondaryRange")
+	proto.RegisterType((*UsableSubnetwork)(nil), "google.container.v1beta1.UsableSubnetwork")
+	proto.RegisterType((*MaxPodsConstraint)(nil), "google.container.v1beta1.MaxPodsConstraint")
 }
 
 func init() {
@@ -4725,281 +7248,424 @@ func init() {
 }
 
 var fileDescriptor_e39a67f424410134 = []byte{
-	// 4381 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x5b, 0x6c, 0xe3, 0x56,
-	0x7a, 0xf0, 0xd2, 0x17, 0xd9, 0xfa, 0x24, 0xcb, 0xf2, 0xf1, 0x4d, 0x51, 0x26, 0x93, 0x09, 0x93,
-	0x4d, 0x26, 0x4e, 0x22, 0xcf, 0x25, 0x99, 0x3f, 0x3b, 0x93, 0xfc, 0xa9, 0x2c, 0x73, 0x6c, 0x75,
-	0x6c, 0x49, 0xa5, 0xec, 0x99, 0xcd, 0x34, 0x28, 0x97, 0x26, 0x8f, 0x65, 0xae, 0x29, 0x92, 0x4b,
-	0x52, 0x93, 0x78, 0xb6, 0x69, 0xbb, 0xdb, 0xbe, 0xf5, 0xad, 0x05, 0xda, 0x97, 0xa2, 0x01, 0xb6,
-	0x40, 0x91, 0xde, 0x80, 0x7d, 0x69, 0x17, 0x2d, 0x50, 0x14, 0x28, 0xd0, 0x97, 0xb6, 0x40, 0xd1,
-	0xf6, 0xb1, 0x28, 0xfa, 0xb2, 0xcf, 0x6d, 0x9f, 0x5b, 0x14, 0x28, 0xce, 0x85, 0x14, 0x29, 0x51,
-	0x94, 0x6c, 0xaf, 0xd3, 0x7d, 0x13, 0xbf, 0x73, 0xbe, 0xf3, 0x5d, 0xf8, 0xdd, 0x79, 0x6c, 0xa8,
-	0x74, 0x6c, 0xbb, 0x63, 0xe2, 0x4d, 0xcd, 0xb6, 0x7c, 0xd5, 0xb0, 0xb0, 0xbb, 0xf9, 0xec, 0xf6,
-	0x11, 0xf6, 0xd5, 0xdb, 0x9b, 0x9a, 0xd9, 0xf3, 0x7c, 0xec, 0x2a, 0x1e, 0x76, 0x9f, 0x19, 0x1a,
-	0xae, 0x38, 0xae, 0xed, 0xdb, 0xa8, 0xc4, 0xf6, 0x57, 0xc2, 0xfd, 0x15, 0xbe, 0xbf, 0x7c, 0x8d,
-	0x9f, 0xa4, 0x3a, 0xc6, 0xa6, 0x6a, 0x59, 0xb6, 0xaf, 0xfa, 0x86, 0x6d, 0x79, 0x0c, 0xaf, 0xfc,
-	0x22, 0x5f, 0xa5, 0x4f, 0x47, 0xbd, 0xe3, 0x4d, 0xdc, 0x75, 0xfc, 0x33, 0xb6, 0x28, 0xfe, 0x78,
-	0x16, 0xa0, 0x61, 0xeb, 0xb8, 0x66, 0x5b, 0xc7, 0x46, 0x07, 0xbd, 0x02, 0xf9, 0xae, 0xaa, 0x9d,
-	0x18, 0x16, 0x56, 0xfc, 0x33, 0x07, 0x97, 0x84, 0x1b, 0xc2, 0xcd, 0xac, 0x9c, 0xe3, 0xb0, 0x83,
-	0x33, 0x07, 0xa3, 0x1b, 0x90, 0xd7, 0x0d, 0xef, 0x54, 0xf1, 0x8c, 0xe7, 0x58, 0xe9, 0x1c, 0x95,
-	0xa6, 0x6e, 0x08, 0x37, 0x67, 0x65, 0x20, 0xb0, 0xb6, 0xf1, 0x1c, 0xef, 0x1c, 0x91, 0x43, 0x6c,
-	0xb5, 0xe7, 0x9f, 0x28, 0x9e, 0x66, 0x3b, 0xd8, 0x2b, 0x4d, 0xdf, 0x98, 0x26, 0x87, 0x50, 0x58,
-	0x9b, 0x82, 0xd0, 0x1b, 0xb0, 0xc8, 0x85, 0x53, 0x54, 0x4d, 0xb3, 0x7b, 0x96, 0x5f, 0xca, 0x52,
-	0x52, 0x05, 0x0e, 0xae, 0x32, 0x28, 0x6a, 0xc0, 0x7c, 0x17, 0xfb, 0xaa, 0xae, 0xfa, 0x6a, 0x69,
-	0xe6, 0xc6, 0xf4, 0xcd, 0xdc, 0x9d, 0x3b, 0x95, 0x51, 0x7a, 0xa8, 0xf4, 0x05, 0xa9, 0xec, 0x73,
-	0x24, 0xc9, 0xf2, 0xdd, 0x33, 0x39, 0x3c, 0x03, 0xbd, 0x04, 0x60, 0x74, 0xd5, 0x0e, 0x17, 0x6f,
-	0x96, 0xd2, 0xcc, 0x52, 0x08, 0x15, 0x6e, 0x17, 0x32, 0xa6, 0x7a, 0x84, 0x4d, 0xaf, 0x94, 0xa1,
-	0xc4, 0x6e, 0x4d, 0x44, 0x6c, 0x8f, 0xa2, 0x30, 0x52, 0x1c, 0x1f, 0xbd, 0x0e, 0x8b, 0xa6, 0xad,
-	0xa9, 0xa6, 0xe2, 0x79, 0xba, 0xc2, 0x24, 0x9c, 0xa3, 0x9a, 0x5a, 0xa0, 0xe0, 0xb6, 0xa7, 0xd7,
-	0xa8, 0x80, 0x08, 0x66, 0x7c, 0xb5, 0xe3, 0x95, 0xe6, 0xa9, 0x92, 0xe8, 0x6f, 0x74, 0x03, 0x72,
-	0x8e, 0x8b, 0xc9, 0x6b, 0x32, 0x8e, 0x4c, 0x5c, 0x82, 0x1b, 0xc2, 0xcd, 0x79, 0x39, 0x0a, 0x42,
-	0x4d, 0xc8, 0xab, 0x9a, 0x86, 0x4d, 0xec, 0xaa, 0xbe, 0xed, 0x7a, 0xa5, 0x1c, 0xe5, 0xf6, 0xad,
-	0xd1, 0xdc, 0x56, 0xfb, 0xbb, 0x19, 0xd3, 0x72, 0xec, 0x00, 0x74, 0x13, 0x8a, 0x5d, 0xc3, 0x52,
-	0x34, 0xa7, 0xa7, 0x38, 0xa6, 0xea, 0x1f, 0xdb, 0x6e, 0xb7, 0xb4, 0xc0, 0xde, 0x48, 0xd7, 0xb0,
-	0x6a, 0x4e, 0xaf, 0xc5, 0xa1, 0xe8, 0x01, 0x64, 0xc8, 0xd9, 0xbe, 0x57, 0x5a, 0xa4, 0x44, 0x5f,
-	0x4d, 0x57, 0xd1, 0x01, 0xd9, 0x2b, 0x73, 0x94, 0xf2, 0x03, 0x58, 0x88, 0xbd, 0x19, 0x54, 0x84,
-	0xe9, 0x53, 0x7c, 0xc6, 0xed, 0x8c, 0xfc, 0x44, 0x2b, 0x30, 0xfb, 0x4c, 0x35, 0x7b, 0x98, 0x1a,
-	0x56, 0x56, 0x66, 0x0f, 0xf7, 0xa7, 0xde, 0x17, 0xca, 0xdf, 0x80, 0x5c, 0x44, 0xd3, 0xe7, 0x41,
-	0x15, 0xff, 0x49, 0x80, 0x6c, 0xc8, 0xcd, 0xa4, 0x98, 0x68, 0x0b, 0x32, 0xf8, 0xf8, 0x18, 0x6b,
-	0x7e, 0x69, 0xfa, 0x86, 0x70, 0xb3, 0x70, 0x67, 0x63, 0x02, 0x51, 0x2b, 0x12, 0xc5, 0x90, 0x39,
-	0xa6, 0xf8, 0x31, 0x64, 0x18, 0x04, 0xad, 0x01, 0x92, 0x1e, 0x3e, 0x94, 0x6a, 0x07, 0xca, 0x61,
-	0xa3, 0xdd, 0x92, 0x6a, 0xf5, 0x87, 0x75, 0x69, 0xbb, 0xf8, 0x35, 0xb4, 0x08, 0xb9, 0x46, 0x53,
-	0x69, 0xd7, 0x76, 0xa5, 0xed, 0xc3, 0x3d, 0xa9, 0x28, 0x90, 0x8d, 0x2d, 0x59, 0x7a, 0x28, 0xc9,
-	0x4a, 0x14, 0x3e, 0x85, 0x0a, 0x00, 0x8d, 0xa6, 0x22, 0x7d, 0x53, 0xaa, 0x1d, 0x1e, 0x48, 0xc5,
-	0x69, 0xf1, 0x47, 0x53, 0x00, 0xfb, 0x2a, 0x89, 0x14, 0xd5, 0x9e, 0x7f, 0x82, 0xca, 0x30, 0xdf,
-	0xf3, 0xb0, 0x6b, 0xa9, 0xdd, 0xc0, 0x6f, 0xc3, 0x67, 0xb2, 0xe6, 0xa8, 0x9e, 0xf7, 0xa9, 0xed,
-	0xea, 0x5c, 0xc4, 0xf0, 0x19, 0x75, 0xe1, 0x05, 0xcd, 0x34, 0xb0, 0xe5, 0x2b, 0x1a, 0x76, 0x7d,
-	0xe3, 0xd8, 0xd0, 0x54, 0x1f, 0x2b, 0x1a, 0xb5, 0x12, 0x2a, 0x78, 0xee, 0xce, 0xed, 0xd1, 0x82,
-	0xd7, 0x28, 0x6a, 0xad, 0x8f, 0xc9, 0xcd, 0x6b, 0x5d, 0x4b, 0x5e, 0x40, 0xef, 0xc2, 0x5a, 0x10,
-	0xdf, 0x34, 0x35, 0x4a, 0xb2, 0xa4, 0x53, 0xc6, 0x56, 0xf8, 0x6a, 0x4d, 0x8d, 0xe0, 0xa2, 0x77,
-	0x00, 0x0d, 0x33, 0x59, 0xc2, 0x14, 0x63, 0x69, 0x88, 0x14, 0x71, 0x73, 0xbe, 0x9d, 0xbc, 0xe8,
-	0x63, 0xe6, 0xe6, 0x0c, 0xf2, 0x08, 0x9f, 0x89, 0x6d, 0x58, 0x1f, 0xc1, 0x37, 0x7a, 0x1f, 0x4a,
-	0x86, 0xe7, 0xf5, 0xb0, 0x92, 0x40, 0x4e, 0xa0, 0x8e, 0xb8, 0x46, 0xd7, 0x87, 0xf0, 0xc5, 0x1f,
-	0x4c, 0x43, 0xbe, 0xaa, 0xeb, 0xb6, 0xe5, 0xf1, 0xa3, 0x7e, 0x1e, 0x96, 0x4f, 0x7c, 0xdf, 0x51,
-	0x4c, 0x5b, 0xd5, 0x95, 0x23, 0xd5, 0x54, 0x2d, 0xcd, 0xb0, 0x3a, 0xf4, 0x94, 0x54, 0x5f, 0xdd,
-	0xf5, 0x7d, 0x67, 0xcf, 0x56, 0xf5, 0xad, 0x00, 0x45, 0x5e, 0x3a, 0x19, 0x04, 0x21, 0x07, 0xca,
-	0x27, 0xb6, 0x6b, 0x3c, 0x27, 0xd8, 0xa6, 0xe2, 0xd8, 0xba, 0xa2, 0xf6, 0x7c, 0xdb, 0xd3, 0x54,
-	0x93, 0xd0, 0x98, 0xa2, 0x34, 0x52, 0x42, 0xe5, 0x6e, 0x88, 0xdb, 0xb2, 0xf5, 0x6a, 0x1f, 0x53,
-	0x2e, 0x9d, 0x8c, 0x58, 0x41, 0xdf, 0x82, 0x95, 0xd3, 0xde, 0x11, 0x76, 0x2d, 0xec, 0x63, 0x4f,
-	0xd1, 0x55, 0xef, 0xe4, 0xc8, 0x56, 0x5d, 0x9d, 0x9b, 0xc8, 0x3b, 0xa3, 0x69, 0x3d, 0x0a, 0xb1,
-	0xb6, 0x03, 0x24, 0x79, 0xf9, 0x74, 0x18, 0x88, 0x54, 0x58, 0xb5, 0xb0, 0xff, 0xa9, 0xed, 0x9e,
-	0x2a, 0x8e, 0x6d, 0x1a, 0xda, 0x59, 0x60, 0x85, 0x33, 0xe3, 0x48, 0x34, 0x18, 0x5a, 0x8b, 0x62,
-	0x71, 0x0b, 0x5c, 0xb6, 0x86, 0x81, 0xe2, 0x26, 0x2c, 0x0d, 0xa9, 0x97, 0x78, 0x87, 0x6e, 0x78,
-	0xea, 0x91, 0x89, 0x75, 0xfe, 0x8e, 0xc3, 0x67, 0xf1, 0x1e, 0x94, 0x46, 0xe9, 0x2a, 0x15, 0xef,
-	0x36, 0x2c, 0x27, 0xc8, 0x3d, 0x0e, 0x25, 0x41, 0x8e, 0x54, 0x94, 0x7f, 0x17, 0xe0, 0x7a, 0x3f,
-	0x04, 0x10, 0x3e, 0xb1, 0xce, 0xcf, 0x08, 0xac, 0xb0, 0x04, 0x73, 0xd8, 0x8a, 0x62, 0x07, 0x8f,
-	0x48, 0x83, 0x9c, 0x66, 0xe8, 0xae, 0x72, 0x64, 0xda, 0xda, 0xa9, 0x57, 0x9a, 0xa2, 0xe1, 0x7c,
-	0x6b, 0xb4, 0x92, 0xd3, 0x09, 0x55, 0x6a, 0x86, 0xee, 0x6e, 0x91, 0xa3, 0x64, 0xd0, 0x82, 0x9f,
-	0x5e, 0x79, 0x1f, 0xb2, 0xe1, 0x02, 0xa9, 0x0c, 0x74, 0xc3, 0x73, 0x4c, 0xf5, 0x4c, 0x89, 0x84,
-	0xa9, 0x1c, 0x87, 0x35, 0x48, 0xa4, 0x22, 0x9e, 0x1b, 0x32, 0xc5, 0x63, 0x55, 0x36, 0x3c, 0x4f,
-	0xfc, 0x03, 0x01, 0x16, 0x62, 0x4a, 0x42, 0x7b, 0x30, 0xef, 0xb8, 0xf6, 0x33, 0x43, 0xc7, 0x2e,
-	0x3d, 0xaf, 0x90, 0x9a, 0xb4, 0xa3, 0xa8, 0x95, 0x16, 0xc7, 0x93, 0xc3, 0x13, 0xa2, 0xda, 0x9a,
-	0x8a, 0x69, 0x4b, 0xbc, 0x05, 0xf3, 0xad, 0xfe, 0xae, 0x95, 0x96, 0xdc, 0x7c, 0x5c, 0xdf, 0x96,
-	0xe4, 0x81, 0x60, 0x0e, 0x90, 0xa9, 0x55, 0xf7, 0xea, 0xb5, 0x66, 0x51, 0x10, 0xff, 0x74, 0x06,
-	0x50, 0xbd, 0x55, 0x35, 0x49, 0xc2, 0x27, 0x05, 0x19, 0x67, 0xf8, 0x35, 0x28, 0xf4, 0x3c, 0xac,
-	0x18, 0x8e, 0xa2, 0x9a, 0x86, 0xea, 0x61, 0x8f, 0xbf, 0x97, 0x7c, 0xcf, 0xc3, 0x75, 0xa7, 0xca,
-	0x60, 0xe8, 0x2d, 0x58, 0xd2, 0x5c, 0x4c, 0x22, 0xb1, 0xd7, 0x3b, 0xe2, 0x96, 0xcc, 0x59, 0x2a,
-	0xb2, 0x85, 0x76, 0x08, 0xa7, 0xe5, 0x54, 0xf8, 0xc4, 0x54, 0x3b, 0xcd, 0xcb, 0xa9, 0x10, 0x4c,
-	0xb5, 0xbb, 0x01, 0x4b, 0x41, 0xf0, 0x35, 0x9c, 0x67, 0xef, 0x2a, 0x44, 0xb1, 0xd4, 0xbb, 0xb2,
-	0xf2, 0x22, 0x5f, 0xa8, 0x3b, 0xcf, 0xde, 0x25, 0x6f, 0x8c, 0xf0, 0x69, 0xd9, 0x3a, 0x8e, 0x6c,
-	0x64, 0xe5, 0x52, 0x9e, 0x40, 0xc3, 0x5d, 0x6f, 0x03, 0xe2, 0x25, 0x9b, 0x17, 0xd9, 0x99, 0xa1,
-	0x3b, 0x8b, 0xc1, 0x4a, 0xb8, 0xfb, 0x23, 0xb8, 0xd6, 0x2f, 0x6e, 0x35, 0xdb, 0xd2, 0x55, 0xf7,
-	0x4c, 0x71, 0x55, 0xab, 0x83, 0x19, 0xd7, 0x73, 0x14, 0xef, 0x05, 0xbe, 0xa7, 0x1d, 0x6c, 0x91,
-	0xc9, 0x0e, 0x2a, 0x40, 0x15, 0x5e, 0x0a, 0xc9, 0x25, 0x9e, 0x30, 0x4f, 0x4f, 0x28, 0x07, 0x9b,
-	0x12, 0x8e, 0x78, 0x0f, 0xd6, 0x87, 0x74, 0xc0, 0xcd, 0x2d, 0x1b, 0xcb, 0x40, 0x01, 0xd7, 0xcc,
-	0x76, 0x37, 0x61, 0x25, 0xae, 0x0e, 0x8e, 0x03, 0x2c, 0x07, 0x45, 0x95, 0xc2, 0x10, 0xfe, 0x1f,
-	0x94, 0x86, 0x35, 0xc3, 0x91, 0x72, 0x14, 0x69, 0x75, 0x50, 0x3f, 0xcc, 0xc6, 0xef, 0xc2, 0x7a,
-	0xcb, 0xd6, 0xdb, 0x58, 0xeb, 0xb9, 0x86, 0x7f, 0x16, 0x8b, 0x05, 0x23, 0x9d, 0x59, 0xfc, 0xef,
-	0x02, 0xcc, 0xd5, 0x18, 0xdf, 0xa4, 0xa6, 0x8c, 0xb8, 0x17, 0xfd, 0x4d, 0x6a, 0x4a, 0x1d, 0x7b,
-	0x9a, 0x6b, 0x38, 0xc4, 0x14, 0xb9, 0x63, 0x45, 0x41, 0xe4, 0x4d, 0x1a, 0x96, 0xe1, 0x1b, 0xaa,
-	0xa9, 0x50, 0x41, 0x59, 0xd1, 0x3a, 0x4d, 0x8b, 0xd6, 0x22, 0x5f, 0x61, 0x45, 0x2f, 0xa9, 0x5b,
-	0x25, 0xc8, 0xf1, 0x5d, 0x91, 0x08, 0xfd, 0xda, 0x24, 0xe5, 0xb2, 0x0c, 0x56, 0xbf, 0xe1, 0x90,
-	0x20, 0xd7, 0xa5, 0x61, 0x85, 0xa4, 0xaf, 0x13, 0x6a, 0x61, 0xa9, 0xc7, 0xf4, 0x63, 0x90, 0x0c,
-	0xdd, 0x7e, 0xed, 0xf3, 0x06, 0xa9, 0xb6, 0x3b, 0x1d, 0xc3, 0xea, 0x04, 0x4d, 0x13, 0x37, 0xc1,
-	0x02, 0x07, 0xb7, 0x19, 0x94, 0xd4, 0x11, 0x5d, 0xdb, 0x32, 0x7c, 0xdb, 0x8d, 0xee, 0x65, 0x66,
-	0xb7, 0xd4, 0x5f, 0x09, 0xb6, 0x97, 0x60, 0x2e, 0xf0, 0x3d, 0x66, 0x58, 0xc1, 0x63, 0xb2, 0x27,
-	0x65, 0x93, 0x3d, 0xe9, 0x11, 0x2c, 0xa8, 0xb4, 0x30, 0x08, 0xb4, 0x05, 0x54, 0xcc, 0xd7, 0x53,
-	0xca, 0xf5, 0x48, 0x1d, 0x21, 0xe7, 0xd5, 0x68, 0x55, 0x71, 0x1d, 0x20, 0x12, 0x11, 0x98, 0x21,
-	0x45, 0x20, 0xa8, 0x0a, 0x54, 0xbf, 0x8a, 0x63, 0xdb, 0xa6, 0x57, 0xca, 0xd3, 0xa0, 0x2e, 0xa6,
-	0xbf, 0x97, 0x96, 0x6d, 0x9b, 0x72, 0xd6, 0xe2, 0xbf, 0x3c, 0x74, 0x0d, 0xb2, 0x41, 0xcc, 0xf2,
-	0x4a, 0x0b, 0xb4, 0x31, 0xe9, 0x03, 0xd0, 0x3d, 0x58, 0x67, 0x46, 0xa7, 0x44, 0xca, 0x01, 0xd5,
-	0x74, 0x4e, 0xd4, 0x52, 0x81, 0xda, 0xe4, 0x2a, 0x5b, 0xee, 0xa7, 0xbf, 0x2a, 0x59, 0x44, 0x0d,
-	0x28, 0xc4, 0xb3, 0x7b, 0x69, 0x99, 0xaa, 0xe1, 0x8d, 0x09, 0xc3, 0xb5, 0xbc, 0x10, 0x4b, 0xe8,
-	0xe8, 0x17, 0x60, 0x85, 0xc6, 0xd0, 0x80, 0xb3, 0xe0, 0xd4, 0x15, 0x7a, 0xea, 0xdb, 0xa3, 0x4f,
-	0x1d, 0x8e, 0xc9, 0x32, 0x32, 0x9c, 0xa1, 0x38, 0xfd, 0xab, 0x02, 0xbc, 0x12, 0xb1, 0x4d, 0x96,
-	0xf3, 0x14, 0xce, 0x43, 0xf8, 0x2a, 0xd7, 0x28, 0xb5, 0xf7, 0x2f, 0x9a, 0x35, 0xe5, 0xeb, 0xdd,
-	0xf4, 0xf4, 0xfd, 0x14, 0x50, 0x97, 0xf4, 0x15, 0xd8, 0x52, 0x2d, 0x0d, 0x07, 0x32, 0xae, 0x8f,
-	0xab, 0x21, 0xf7, 0xfb, 0x38, 0x5c, 0xc4, 0xa5, 0xee, 0x20, 0x08, 0x59, 0x50, 0x26, 0x85, 0xa3,
-	0xc7, 0x23, 0xcd, 0x40, 0xd1, 0xf5, 0xc2, 0xb8, 0xd2, 0x7f, 0x44, 0x90, 0x92, 0xd7, 0x9d, 0x11,
-	0xd1, 0xeb, 0x45, 0xc8, 0x7a, 0xd8, 0x3c, 0x56, 0x4c, 0xc3, 0x3a, 0xe5, 0xd5, 0xfe, 0x3c, 0x01,
-	0xec, 0x19, 0xd6, 0x29, 0x09, 0x5a, 0xcf, 0x6d, 0x2b, 0xa8, 0xe9, 0xe9, 0x6f, 0x52, 0xfa, 0x60,
-	0x4b, 0x77, 0x6c, 0xc3, 0xf2, 0x79, 0x11, 0x1f, 0x3e, 0x13, 0x33, 0x0c, 0xc2, 0x55, 0xe0, 0x88,
-	0xcf, 0xb0, 0xeb, 0x91, 0xe0, 0xd6, 0x61, 0xd1, 0x95, 0x2f, 0xf3, 0xa8, 0xf8, 0x98, 0x2d, 0xd2,
-	0xfe, 0xa3, 0xe7, 0xba, 0xa4, 0xb6, 0xe7, 0x6f, 0x37, 0x40, 0x3b, 0xe1, 0xd1, 0x9f, 0xad, 0xb2,
-	0xf7, 0x16, 0x60, 0xdd, 0x82, 0x00, 0xce, 0x82, 0x63, 0x80, 0x63, 0x50, 0x1c, 0xc4, 0xd7, 0x88,
-	0x33, 0x05, 0x18, 0x2f, 0x43, 0x8e, 0x27, 0x70, 0xdf, 0xe8, 0xe2, 0xd2, 0xb7, 0x99, 0xa3, 0x32,
-	0xd0, 0x81, 0xd1, 0xc5, 0xe8, 0x67, 0x20, 0xe3, 0xf9, 0xaa, 0xdf, 0xf3, 0x4a, 0xa7, 0xb4, 0x6c,
-	0xb9, 0x99, 0xd6, 0x64, 0x51, 0x11, 0x2a, 0x6d, 0xba, 0x5f, 0xe6, 0x78, 0xe8, 0xeb, 0x50, 0x60,
-	0xbf, 0x94, 0x2e, 0xf6, 0x3c, 0xb5, 0x83, 0x4b, 0x26, 0xa5, 0xb2, 0xc0, 0xa0, 0xfb, 0x0c, 0x88,
-	0xde, 0x81, 0xe5, 0x81, 0xcc, 0xe5, 0x19, 0xcf, 0x71, 0xa9, 0xcb, 0x22, 0x7b, 0x34, 0x71, 0xb5,
-	0x8d, 0xe7, 0x78, 0x44, 0x46, 0xb7, 0x46, 0x64, 0xf4, 0x0a, 0x2c, 0x1b, 0x96, 0xe7, 0x53, 0xe3,
-	0xec, 0xb8, 0x76, 0xcf, 0x51, 0x7a, 0xae, 0xe9, 0x95, 0x6c, 0x1a, 0x35, 0x96, 0x82, 0xa5, 0x1d,
-	0xb2, 0x72, 0xe8, 0x9a, 0x1e, 0x39, 0x3d, 0xa6, 0x48, 0x96, 0x65, 0x1c, 0xc6, 0x4b, 0x44, 0x8d,
-	0x2c, 0xcb, 0xbc, 0x0c, 0x39, 0xfc, 0x99, 0x63, 0xb8, 0x5c, 0x89, 0xdf, 0x61, 0x4a, 0x64, 0x20,
-	0xaa, 0xc4, 0x32, 0xcc, 0x07, 0x6e, 0x5b, 0x72, 0x99, 0x85, 0x04, 0xcf, 0xa2, 0x01, 0x19, 0xa6,
-	0x30, 0xd2, 0x51, 0xb7, 0x0f, 0xaa, 0x07, 0x87, 0xed, 0x81, 0x6a, 0xad, 0x08, 0x79, 0x5a, 0xc7,
-	0xb5, 0xeb, 0xcd, 0x46, 0xbd, 0xb1, 0x53, 0x14, 0x50, 0x0e, 0xe6, 0xe4, 0xc3, 0x06, 0x7d, 0x98,
-	0x22, 0x9d, 0xb9, 0x2c, 0xd5, 0x9a, 0x8d, 0x5a, 0x7d, 0x8f, 0x00, 0xa6, 0x51, 0x1e, 0xe6, 0xdb,
-	0x07, 0xcd, 0x56, 0x8b, 0x3c, 0xcd, 0xa0, 0x2c, 0xcc, 0x4a, 0xb2, 0xdc, 0x94, 0x8b, 0xb3, 0xe2,
-	0xef, 0x65, 0x60, 0x81, 0xbf, 0xa4, 0x43, 0x47, 0x27, 0x1d, 0xe8, 0x2d, 0x58, 0xd1, 0xb1, 0x67,
-	0xb8, 0x24, 0x64, 0x44, 0x0d, 0x86, 0x15, 0x5b, 0x88, 0xaf, 0x45, 0x0d, 0xe6, 0x03, 0x28, 0x07,
-	0x18, 0x09, 0x29, 0x8a, 0xd5, 0x5e, 0x25, 0xbe, 0x63, 0x7f, 0x28, 0x53, 0x3d, 0x85, 0xd5, 0x00,
-	0x3b, 0x9e, 0x6b, 0x32, 0xe7, 0xca, 0x35, 0xcb, 0xfc, 0x90, 0x58, 0x23, 0xbb, 0x39, 0x20, 0x0b,
-	0x49, 0x2d, 0x8a, 0xa1, 0x07, 0x69, 0x33, 0x22, 0x0b, 0xc9, 0x1f, 0x75, 0x9d, 0xbc, 0xe4, 0x00,
-	0x21, 0x32, 0x6d, 0x63, 0x19, 0xb4, 0xc8, 0x57, 0xea, 0xe1, 0xd0, 0xcd, 0x81, 0x97, 0x86, 0x8f,
-	0x8f, 0x76, 0xb3, 0xd9, 0xb1, 0xed, 0x1f, 0x27, 0x1d, 0x6d, 0x64, 0xcb, 0x03, 0x6c, 0x45, 0x1b,
-	0xb7, 0xb7, 0x20, 0x60, 0x5a, 0xe9, 0x27, 0x3a, 0xa0, 0x26, 0x1b, 0xb0, 0xb7, 0x17, 0xe6, 0xbb,
-	0xdf, 0x10, 0xe0, 0xcd, 0xf0, 0xc5, 0x8c, 0xcd, 0x07, 0xf9, 0x4b, 0xe6, 0x83, 0xaf, 0x07, 0x6f,
-	0x38, 0x3d, 0x2d, 0x7c, 0x0e, 0x62, 0xc0, 0x53, 0x4a, 0x08, 0x2f, 0x5c, 0x34, 0x84, 0x5f, 0xe7,
-	0x87, 0x8f, 0xaa, 0x43, 0xdf, 0x85, 0xb5, 0x01, 0x95, 0x04, 0xf6, 0xcd, 0x87, 0x38, 0x31, 0x29,
-	0xb8, 0x85, 0x8b, 0xff, 0x91, 0x81, 0x6c, 0xd3, 0xc1, 0x2e, 0x55, 0x6c, 0x62, 0x95, 0x1a, 0x24,
-	0x81, 0xa9, 0x48, 0x12, 0x68, 0x42, 0xc1, 0x0e, 0x90, 0x98, 0x21, 0x4d, 0x8f, 0x8b, 0x97, 0x21,
-	0x91, 0x0a, 0x31, 0x30, 0x79, 0x21, 0xc4, 0xa7, 0xf6, 0xb6, 0x15, 0x06, 0xde, 0x99, 0x71, 0x63,
-	0xbd, 0xfe, 0x41, 0x03, 0xa1, 0x77, 0x0d, 0x32, 0x3a, 0xf6, 0x55, 0xc3, 0xe4, 0x56, 0xcd, 0x9f,
-	0x12, 0x42, 0xf2, 0x6c, 0x52, 0x48, 0x8e, 0x65, 0xc2, 0xcc, 0x40, 0x26, 0x7c, 0x19, 0x72, 0xbe,
-	0xea, 0x76, 0xb0, 0xcf, 0x96, 0x99, 0x97, 0x01, 0x03, 0xd1, 0x0d, 0xd1, 0xa0, 0x97, 0x8d, 0x07,
-	0x3d, 0xd2, 0x3f, 0x7b, 0xbe, 0xea, 0xfa, 0x2c, 0x60, 0xb2, 0xe6, 0x24, 0x4b, 0x21, 0x34, 0x5e,
-	0xbe, 0x40, 0x33, 0x2a, 0x5b, 0x64, 0xb5, 0xe3, 0x1c, 0xb6, 0x74, 0xb2, 0x24, 0xca, 0x63, 0xc3,
-	0x65, 0x0e, 0xe6, 0x5a, 0x52, 0x63, 0x3b, 0x21, 0x52, 0xce, 0xc3, 0xcc, 0x76, 0xb3, 0x21, 0xb1,
-	0x10, 0x59, 0xdd, 0x6a, 0xca, 0x07, 0x34, 0x44, 0x8a, 0xff, 0x33, 0x05, 0x33, 0x54, 0xe7, 0x2b,
-	0x50, 0x3c, 0xf8, 0xb8, 0x25, 0x0d, 0x1c, 0x88, 0xa0, 0x50, 0x93, 0xa5, 0xea, 0x81, 0xa4, 0xd4,
-	0xf6, 0x0e, 0xdb, 0x07, 0x92, 0x5c, 0x14, 0x08, 0x6c, 0x5b, 0xda, 0x93, 0x22, 0xb0, 0x29, 0x02,
-	0x3b, 0x6c, 0xed, 0xc8, 0xd5, 0x6d, 0x49, 0xd9, 0xaf, 0x52, 0xd8, 0x34, 0x5a, 0x82, 0x85, 0x00,
-	0xd6, 0x68, 0x6e, 0x4b, 0xed, 0xe2, 0x0c, 0xd9, 0x26, 0x4b, 0xad, 0x6a, 0x5d, 0x0e, 0x51, 0x67,
-	0x19, 0xea, 0x76, 0x94, 0x44, 0x86, 0x30, 0xc3, 0xc9, 0x12, 0x4c, 0xa5, 0xd5, 0x6c, 0xee, 0x15,
-	0xe7, 0x08, 0x94, 0x13, 0xee, 0x43, 0xe7, 0xd1, 0x35, 0x28, 0xb5, 0xa5, 0x83, 0x3e, 0x48, 0xd9,
-	0xaf, 0x36, 0xaa, 0x3b, 0xd2, 0xbe, 0xd4, 0x38, 0x28, 0x66, 0xd1, 0x2a, 0x2c, 0x55, 0x0f, 0x0f,
-	0x9a, 0x0a, 0x27, 0xcb, 0x18, 0x01, 0xa2, 0x40, 0x0a, 0x8e, 0x33, 0x98, 0x43, 0x05, 0x00, 0x72,
-	0xd8, 0x5e, 0x75, 0x4b, 0xda, 0x6b, 0x17, 0xf3, 0x68, 0x19, 0x16, 0xc9, 0x33, 0x93, 0x49, 0xa9,
-	0x1e, 0x1e, 0xec, 0x16, 0x17, 0xa8, 0xf6, 0x63, 0x14, 0xdb, 0xf5, 0xa7, 0x52, 0xb1, 0x10, 0xc2,
-	0xa5, 0x83, 0x27, 0x4d, 0xf9, 0x91, 0xd2, 0x6a, 0xee, 0xd5, 0x6b, 0x1f, 0x17, 0x17, 0x51, 0x19,
-	0xd6, 0xd8, 0x21, 0xf5, 0xc6, 0x81, 0xd4, 0xa8, 0x36, 0x6a, 0x52, 0xb0, 0x56, 0x14, 0x7f, 0x57,
-	0x80, 0x95, 0x1a, 0x2d, 0x39, 0x78, 0x76, 0x92, 0xf1, 0x77, 0x7a, 0xd8, 0xf3, 0x89, 0x99, 0x38,
-	0xae, 0xfd, 0x6d, 0xac, 0xf9, 0x24, 0x90, 0x33, 0x17, 0xcc, 0x72, 0x48, 0x5d, 0x4f, 0xf4, 0xc3,
-	0x07, 0x30, 0xc7, 0x0b, 0x2d, 0x3e, 0xf2, 0x7b, 0x65, 0x6c, 0xc1, 0x22, 0x07, 0x18, 0xc4, 0x5f,
-	0x1c, 0x95, 0xe4, 0x76, 0xee, 0x0f, 0xfc, 0x49, 0x3c, 0x83, 0xa5, 0x1d, 0xec, 0x5f, 0x9e, 0x39,
-	0x3a, 0xf0, 0xe5, 0xed, 0x98, 0xce, 0x87, 0x1f, 0xd9, 0xa0, 0x0f, 0xd3, 0xc3, 0x58, 0x33, 0xdb,
-	0x8f, 0x35, 0xe2, 0x5f, 0x0a, 0xb0, 0xc2, 0x92, 0xf5, 0x95, 0x93, 0xff, 0x08, 0x32, 0x3d, 0x4a,
-	0x89, 0xf7, 0xc9, 0x6f, 0x8c, 0xd5, 0x1c, 0x63, 0x4c, 0xe6, 0x68, 0x89, 0xfc, 0xff, 0xcb, 0x14,
-	0xac, 0xb4, 0xb1, 0x1f, 0xe9, 0x88, 0xaf, 0x8c, 0xff, 0x7d, 0xc8, 0xa8, 0x9a, 0x1f, 0x94, 0x2f,
-	0x85, 0x3b, 0xef, 0x8d, 0xe6, 0x3f, 0x89, 0xa3, 0x4a, 0x95, 0x22, 0xcb, 0xfc, 0x10, 0xf4, 0x41,
-	0xa8, 0x8e, 0xf3, 0xf4, 0xfb, 0x83, 0xba, 0x98, 0x8b, 0xe8, 0xa2, 0x05, 0x19, 0x46, 0x83, 0x84,
-	0xa5, 0xc3, 0xc6, 0xa3, 0x46, 0xf3, 0x49, 0x83, 0xd5, 0x77, 0xc4, 0x35, 0x5a, 0xd5, 0x76, 0xfb,
-	0x49, 0x53, 0xde, 0x2e, 0x0a, 0xc4, 0x61, 0x77, 0xa4, 0x86, 0x24, 0x13, 0xe7, 0x0f, 0xc1, 0x53,
-	0xc1, 0xc6, 0xc3, 0xb6, 0x24, 0x37, 0xaa, 0xfb, 0x52, 0x71, 0x5a, 0xfc, 0x45, 0x58, 0xd9, 0xc6,
-	0x26, 0xfe, 0x0a, 0x8c, 0x23, 0x90, 0x67, 0x26, 0x22, 0xcf, 0xb7, 0x60, 0x79, 0xcf, 0xf0, 0x02,
-	0xbf, 0xf0, 0x2e, 0x41, 0xbc, 0xef, 0x78, 0x33, 0x31, 0xc7, 0x7b, 0x0e, 0x2b, 0x71, 0x0a, 0x9e,
-	0x63, 0x5b, 0x1e, 0x46, 0x1f, 0xc2, 0x3c, 0x67, 0xcd, 0x2b, 0x09, 0x74, 0x78, 0x30, 0x81, 0x9b,
-	0x87, 0x28, 0xe8, 0x55, 0x58, 0xe8, 0x1a, 0x9e, 0x47, 0x2a, 0x57, 0x42, 0x9e, 0x4d, 0x95, 0xb3,
-	0x72, 0x9e, 0x03, 0x9f, 0x12, 0x98, 0xf8, 0xcb, 0xb0, 0xbc, 0x83, 0xfd, 0x30, 0xb7, 0x5e, 0x42,
-	0xba, 0x57, 0x20, 0xdf, 0xaf, 0x0d, 0x42, 0xe5, 0xe6, 0x42, 0xd8, 0x08, 0xd7, 0x3f, 0x82, 0x55,
-	0x22, 0x7c, 0xc8, 0xc1, 0x55, 0x28, 0xf8, 0xfb, 0x02, 0xac, 0xd5, 0x48, 0xef, 0x63, 0x7e, 0xc5,
-	0x82, 0x46, 0xed, 0x88, 0x30, 0x31, 0x28, 0x29, 0x7f, 0xd1, 0x35, 0x80, 0x10, 0x3b, 0x78, 0xd5,
-	0xaf, 0x4e, 0x50, 0x09, 0xc9, 0x11, 0xb4, 0xc9, 0x5e, 0xb7, 0x02, 0x6b, 0x3b, 0xd8, 0x27, 0x8d,
-	0x0a, 0x0e, 0x3e, 0x3e, 0x5f, 0x5c, 0x11, 0x49, 0x52, 0xfe, 0xda, 0x14, 0xe4, 0xa3, 0xc7, 0xa3,
-	0x7b, 0xb0, 0xae, 0xe3, 0x63, 0xb5, 0x67, 0xfa, 0x43, 0xb3, 0x01, 0x46, 0x64, 0x95, 0x2f, 0x0f,
-	0xcc, 0x06, 0x2a, 0xb0, 0xfc, 0x4c, 0x35, 0x8d, 0x78, 0xcb, 0x16, 0x5c, 0x60, 0x58, 0xa2, 0x4b,
-	0x91, 0x8e, 0xcd, 0x63, 0x7d, 0x0e, 0xa3, 0x13, 0xe9, 0x73, 0x66, 0x82, 0x3e, 0x87, 0xae, 0xf4,
-	0xfb, 0x9c, 0x0d, 0x60, 0x47, 0x44, 0xf6, 0x7a, 0xa5, 0x59, 0x7a, 0xf6, 0x22, 0x5d, 0x08, 0xb7,
-	0x7a, 0xe8, 0x0e, 0xac, 0xb2, 0xbd, 0xf1, 0xf2, 0x9a, 0xdd, 0x4b, 0xc8, 0xca, 0x8c, 0xcd, 0x58,
-	0x75, 0xed, 0x89, 0x7f, 0x2d, 0xc0, 0x2a, 0x4b, 0xf6, 0xe1, 0x50, 0xef, 0x0a, 0x33, 0x5a, 0x36,
-	0xec, 0xd5, 0x78, 0x52, 0x9b, 0x64, 0xc8, 0x38, 0x1f, 0x0c, 0x19, 0x23, 0x6e, 0x93, 0x89, 0xb9,
-	0xcd, 0x17, 0x02, 0xac, 0xb2, 0xc0, 0x7b, 0xf5, 0x42, 0xdc, 0x80, 0x7c, 0xac, 0x9f, 0x65, 0x2f,
-	0x0e, 0xac, 0x7e, 0x23, 0x1b, 0x58, 0x5b, 0x26, 0x62, 0x6d, 0xbf, 0x22, 0xb0, 0xd0, 0x19, 0xf0,
-	0xe7, 0x5d, 0x1d, 0x83, 0xa3, 0xaa, 0xa6, 0xdf, 0x11, 0x00, 0xed, 0x60, 0xff, 0xa7, 0x55, 0x43,
-	0xff, 0x35, 0x03, 0xf3, 0x01, 0x6f, 0x89, 0x6d, 0xde, 0x07, 0x90, 0xe1, 0x1d, 0xea, 0xd4, 0x39,
-	0xbe, 0x1b, 0x70, 0x9c, 0x73, 0x7e, 0xa8, 0x48, 0x1d, 0x3a, 0x96, 0x60, 0x2e, 0x08, 0x0c, 0x6c,
-	0xee, 0x18, 0x3c, 0x8e, 0x9a, 0x6b, 0x1d, 0x8f, 0x9a, 0x6b, 0x55, 0xc3, 0xa6, 0xb2, 0x43, 0x4b,
-	0xa4, 0x37, 0xc7, 0x7b, 0xc3, 0xf8, 0x71, 0xde, 0x49, 0x52, 0xef, 0xd8, 0x84, 0x5c, 0x74, 0x38,
-	0x32, 0x73, 0x91, 0xe1, 0x48, 0xf4, 0x04, 0xb4, 0x0b, 0xd0, 0x55, 0x2d, 0xb5, 0x83, 0xbb, 0x81,
-	0xa5, 0xe5, 0xd2, 0x9a, 0x6b, 0x72, 0xde, 0x7e, 0xb8, 0x5f, 0x8e, 0xe0, 0x8a, 0xdf, 0x13, 0x2e,
-	0x3b, 0x72, 0x5b, 0x03, 0xc4, 0x1f, 0x94, 0x27, 0xf5, 0x83, 0x5d, 0x85, 0x0d, 0xd8, 0xa6, 0x07,
-	0x47, 0x71, 0x33, 0xb1, 0x51, 0xdc, 0x6c, 0x7f, 0x14, 0x97, 0x11, 0xff, 0x48, 0x80, 0x42, 0x9c,
-	0x45, 0x92, 0x3c, 0x89, 0xbc, 0x4a, 0xcf, 0xe9, 0xb8, 0xaa, 0x1e, 0xdc, 0xe3, 0xa0, 0x3a, 0x38,
-	0x64, 0x20, 0xd2, 0x73, 0xd3, 0x2d, 0x2e, 0x76, 0x54, 0xc3, 0xe5, 0x1f, 0x5a, 0x81, 0x80, 0x64,
-	0x0a, 0x41, 0x87, 0xb0, 0xc8, 0xd1, 0x15, 0xdb, 0x09, 0x06, 0x46, 0x63, 0x3e, 0x34, 0x54, 0xfb,
-	0x04, 0x9a, 0x0c, 0x47, 0x2e, 0xf4, 0x62, 0xcf, 0x62, 0x17, 0xd0, 0xf0, 0x2e, 0xf4, 0x1e, 0xac,
-	0x47, 0x19, 0x56, 0x22, 0x1d, 0x3d, 0x73, 0xa3, 0x95, 0x08, 0xef, 0xed, 0xb0, 0xb9, 0x1f, 0xfb,
-	0x8d, 0x4f, 0xfc, 0x26, 0x2c, 0x0d, 0x7d, 0x19, 0x40, 0x35, 0xc8, 0x7c, 0x6a, 0x58, 0xba, 0xfd,
-	0xe9, 0xf8, 0xab, 0x29, 0x11, 0xe4, 0x27, 0x14, 0x45, 0xe6, 0xa8, 0xe2, 0xaf, 0x0b, 0xb1, 0xa3,
-	0xd9, 0x2a, 0x32, 0xa1, 0xa4, 0xab, 0x86, 0x79, 0xa6, 0x44, 0xbf, 0x61, 0x70, 0x62, 0xcc, 0xf5,
-	0x53, 0x3e, 0xd6, 0x6f, 0x13, 0xcc, 0xa1, 0x33, 0x77, 0xbf, 0x26, 0xaf, 0xe9, 0x89, 0x2b, 0x5b,
-	0xf3, 0x90, 0x61, 0xf3, 0x2f, 0xb1, 0x0d, 0x6b, 0xc9, 0xd8, 0x03, 0xf3, 0x91, 0xa9, 0xc1, 0xf9,
-	0x48, 0x19, 0xe6, 0xf5, 0x1e, 0xab, 0x6e, 0x78, 0x34, 0x0c, 0x9f, 0xc5, 0xff, 0x14, 0xe0, 0x5a,
-	0xbb, 0x1f, 0x75, 0x23, 0x3e, 0xf0, 0x7f, 0x18, 0x7f, 0x7f, 0x62, 0xce, 0x9b, 0xd8, 0x57, 0x7d,
-	0x29, 0xc0, 0x75, 0xd9, 0x36, 0xcd, 0x23, 0x55, 0x3b, 0x0d, 0xe4, 0xe6, 0x66, 0xf7, 0xd3, 0x96,
-	0x74, 0x9e, 0xb2, 0x9a, 0x3e, 0x92, 0x95, 0x79, 0xa1, 0x1b, 0xff, 0x20, 0x2a, 0x5c, 0xe0, 0x83,
-	0xa8, 0xf8, 0x5d, 0x58, 0x4e, 0x1a, 0x23, 0x8f, 0xbe, 0x5a, 0xf3, 0x1a, 0x14, 0xba, 0x86, 0x15,
-	0x4d, 0x4f, 0xec, 0x9a, 0x6c, 0xbe, 0x6b, 0x58, 0xfd, 0xd4, 0x44, 0x76, 0xa9, 0x9f, 0x0d, 0x27,
-	0xb1, 0x7c, 0x57, 0xfd, 0x2c, 0xdc, 0x25, 0xfe, 0xe3, 0x14, 0x14, 0xdb, 0xd8, 0x67, 0x57, 0x1f,
-	0xaf, 0x4e, 0xeb, 0x1d, 0x58, 0x74, 0xb1, 0x67, 0xf7, 0x5c, 0x0d, 0x2b, 0xfc, 0x0e, 0x2c, 0xbb,
-	0x70, 0xfb, 0xff, 0x53, 0x9b, 0xfd, 0x18, 0x5b, 0x15, 0x99, 0x9f, 0x10, 0xbd, 0x11, 0x5b, 0x70,
-	0x63, 0x40, 0xf4, 0x16, 0x2c, 0xd1, 0xf3, 0x95, 0x63, 0xc3, 0xea, 0x60, 0xd7, 0x71, 0x8d, 0xb0,
-	0xbe, 0x29, 0xd2, 0x85, 0x87, 0x7d, 0x78, 0x92, 0x51, 0x96, 0xab, 0xb0, 0x9c, 0x40, 0xe7, 0x5c,
-	0xf7, 0x41, 0x7f, 0x4b, 0xa0, 0xb3, 0x93, 0x3d, 0xdc, 0x51, 0xb5, 0xb3, 0xea, 0x91, 0xaa, 0x5d,
-	0x9d, 0x5e, 0x23, 0x46, 0x32, 0x13, 0x37, 0x92, 0x24, 0x2b, 0xfe, 0x25, 0x58, 0xa3, 0xf1, 0xbc,
-	0xde, 0x92, 0xf9, 0x35, 0xee, 0xab, 0x1f, 0x3c, 0x44, 0xe9, 0x7f, 0x4f, 0x80, 0x17, 0x6a, 0x76,
-	0xd7, 0x21, 0x05, 0xf8, 0x57, 0xc9, 0x43, 0x34, 0xe8, 0x9c, 0xc2, 0xd2, 0xd0, 0x75, 0x65, 0x62,
-	0x35, 0x91, 0x0b, 0xcb, 0xdc, 0x5d, 0x08, 0x07, 0xd3, 0x72, 0x51, 0x8d, 0xee, 0x26, 0x8e, 0xf5,
-	0x26, 0x44, 0x61, 0xac, 0x2b, 0x63, 0x4c, 0x2d, 0x46, 0xe0, 0xa4, 0xd3, 0x12, 0xff, 0x41, 0x80,
-	0x75, 0x12, 0xd4, 0x63, 0x37, 0x0d, 0xae, 0x4c, 0xdc, 0xe1, 0x3b, 0x10, 0x33, 0x97, 0xba, 0x03,
-	0x91, 0xf4, 0x0a, 0xff, 0x4d, 0x80, 0x17, 0xe9, 0x14, 0x6e, 0xf0, 0x06, 0xc0, 0x95, 0x49, 0x95,
-	0x7c, 0x47, 0x61, 0xe6, 0x27, 0x72, 0x47, 0x21, 0x61, 0x7c, 0x73, 0xe7, 0x5f, 0xaf, 0x43, 0x81,
-	0x77, 0xee, 0x2c, 0x97, 0xb9, 0xe8, 0x4b, 0x01, 0xf2, 0xd1, 0x79, 0x16, 0x4a, 0x29, 0x88, 0x13,
-	0x26, 0x6b, 0xe5, 0xca, 0xa4, 0xdb, 0x59, 0x52, 0x11, 0xbf, 0xf1, 0xfd, 0x7f, 0xfe, 0xf1, 0x6f,
-	0x4e, 0xdd, 0x45, 0xb7, 0xc3, 0x3f, 0xda, 0xf8, 0x2e, 0xeb, 0xcd, 0x3e, 0xe4, 0x9a, 0xf4, 0x36,
-	0x37, 0x36, 0xc3, 0x6f, 0x8b, 0x9b, 0x1b, 0x9f, 0x6f, 0x86, 0x23, 0xb2, 0xdf, 0x16, 0x00, 0xfa,
-	0x33, 0x6f, 0x94, 0xa2, 0xa0, 0xa1, 0xc9, 0x78, 0x79, 0xfc, 0x2c, 0x2e, 0x89, 0x33, 0xa2, 0xb4,
-	0x11, 0x7c, 0x85, 0x6c, 0x6d, 0x6e, 0x7c, 0x8e, 0x7e, 0x20, 0xc0, 0x42, 0xec, 0x6b, 0x01, 0x4a,
-	0x51, 0x4b, 0xd2, 0x67, 0x85, 0xf2, 0x24, 0x03, 0x24, 0xf1, 0x03, 0xca, 0xe1, 0x3d, 0xf1, 0xfc,
-	0xba, 0xbb, 0x2f, 0x6c, 0x50, 0x26, 0x63, 0x63, 0xfb, 0x34, 0x26, 0x93, 0xe6, 0xfb, 0xe7, 0x62,
-	0xb2, 0x7c, 0x7e, 0x35, 0x12, 0x26, 0x7f, 0x28, 0xc0, 0x42, 0x6c, 0x12, 0x9e, 0xc6, 0x64, 0xd2,
-	0xc8, 0x7c, 0x32, 0x26, 0x7f, 0x96, 0x32, 0xb9, 0x2d, 0x7e, 0x74, 0x7e, 0x26, 0xbd, 0x28, 0x51,
-	0xc2, 0xf2, 0x17, 0x02, 0x2c, 0xc4, 0x26, 0xde, 0x69, 0x2c, 0x27, 0x8d, 0xc6, 0x27, 0x63, 0x99,
-	0x9b, 0xe7, 0xc6, 0x05, 0xcc, 0xf3, 0x87, 0x02, 0x14, 0xe2, 0xc3, 0x4c, 0xb4, 0x99, 0xee, 0xb6,
-	0x43, 0x03, 0xde, 0xf2, 0xad, 0xc9, 0x11, 0xb8, 0xa7, 0x3f, 0xa0, 0x0c, 0xbf, 0x87, 0xee, 0x4e,
-	0x6c, 0xad, 0x91, 0xf9, 0xe8, 0x17, 0x02, 0xe4, 0xa3, 0xa3, 0xee, 0xb4, 0xb0, 0x94, 0x30, 0x12,
-	0x9f, 0x4c, 0xa5, 0x09, 0x1c, 0xa6, 0xa9, 0xb4, 0xcf, 0x1e, 0xf7, 0xf9, 0xc5, 0x81, 0x31, 0x35,
-	0x4a, 0x51, 0x52, 0xf2, 0x44, 0xbb, 0xbc, 0x16, 0x60, 0x04, 0x7f, 0x64, 0x56, 0x91, 0xba, 0x8e,
-	0x7f, 0x26, 0x4a, 0x94, 0xb5, 0x8f, 0xc4, 0xfb, 0x17, 0x60, 0xed, 0xbe, 0x46, 0x69, 0x11, 0xdb,
-	0xfc, 0x52, 0x80, 0xc5, 0x81, 0x11, 0x72, 0x1a, 0x93, 0xc9, 0xd3, 0xe6, 0xf2, 0xeb, 0x69, 0x2e,
-	0xd8, 0xdf, 0x7e, 0x4e, 0x7d, 0x7e, 0xbe, 0xe9, 0x45, 0xd9, 0xfa, 0x91, 0x00, 0x0b, 0xb1, 0x3e,
-	0x04, 0x8d, 0x49, 0x2d, 0x83, 0x63, 0xc4, 0xf2, 0xe6, 0xc4, 0xfb, 0xb9, 0x85, 0x72, 0x25, 0xa3,
-	0x0f, 0x27, 0xb4, 0xd0, 0xa8, 0x53, 0x6d, 0xf6, 0x6f, 0x7d, 0xfe, 0xbe, 0x00, 0xb9, 0xc8, 0x50,
-	0x11, 0xbd, 0x9d, 0xaa, 0xe0, 0x81, 0xd9, 0x63, 0x79, 0x82, 0x8e, 0x2a, 0x89, 0xd1, 0xc9, 0x7c,
-	0xbf, 0xcf, 0x65, 0x10, 0x07, 0xe2, 0x73, 0xee, 0xb4, 0x38, 0x90, 0x38, 0x11, 0x9f, 0xcc, 0xb1,
-	0x76, 0x29, 0xbf, 0x5b, 0xe2, 0xe5, 0x14, 0x4b, 0x0c, 0xf8, 0x4f, 0x04, 0x28, 0xc4, 0xa7, 0xda,
-	0x69, 0x2c, 0x27, 0xce, 0xbf, 0x27, 0x63, 0x99, 0xab, 0x78, 0xe3, 0x92, 0x2a, 0xfe, 0x3b, 0x01,
-	0xd6, 0x47, 0xf4, 0xfd, 0x28, 0xe5, 0x6e, 0x53, 0xfa, 0xa8, 0x60, 0x32, 0x09, 0x7e, 0x8e, 0x4a,
-	0xf0, 0x48, 0x7c, 0x78, 0x29, 0x09, 0xee, 0xbb, 0x9c, 0x15, 0xa2, 0xfd, 0xbf, 0x17, 0x60, 0x35,
-	0x71, 0x70, 0x83, 0xee, 0xa5, 0x66, 0xe5, 0x91, 0x93, 0x9e, 0xc9, 0x24, 0x79, 0x4c, 0x25, 0x69,
-	0x89, 0x8f, 0x2e, 0x27, 0x09, 0xcd, 0xd4, 0x01, 0x03, 0x44, 0x9c, 0x3f, 0x16, 0x20, 0x1b, 0x76,
-	0xde, 0x68, 0x63, 0xf2, 0xf6, 0x7c, 0x32, 0xb6, 0x1b, 0x94, 0xed, 0x5d, 0xb1, 0x76, 0xa1, 0xa2,
-	0x22, 0xde, 0x99, 0x47, 0x6a, 0xa1, 0x7e, 0xaf, 0x3d, 0xa6, 0x16, 0x1a, 0x6a, 0xca, 0xbf, 0x8a,
-	0x5a, 0xa8, 0x4f, 0x94, 0xb0, 0xfc, 0x67, 0x02, 0x2c, 0x0e, 0xb4, 0xe1, 0x69, 0xf9, 0x26, 0xb9,
-	0x63, 0x9f, 0x8c, 0xed, 0x3d, 0xca, 0xf6, 0x43, 0xb1, 0x7a, 0x01, 0xb6, 0x29, 0x59, 0x27, 0x20,
-	0x4b, 0x18, 0xff, 0x2b, 0x01, 0xd0, 0x70, 0xfb, 0x8e, 0xee, 0xa6, 0x84, 0xc7, 0x51, 0xcd, 0xfe,
-	0x64, 0xec, 0x37, 0x29, 0xfb, 0x75, 0x71, 0xfb, 0xfc, 0xec, 0x6b, 0x01, 0xe5, 0x98, 0x04, 0x7f,
-	0x2e, 0xd0, 0x69, 0x57, 0xfc, 0x6f, 0xbc, 0x6e, 0xa7, 0xbb, 0x69, 0x42, 0xef, 0x3e, 0x19, 0xf7,
-	0xfb, 0x94, 0xfb, 0x1d, 0x71, 0xeb, 0x42, 0x36, 0x13, 0xa3, 0x4b, 0x78, 0xff, 0x1b, 0x81, 0xdf,
-	0xc8, 0x19, 0x6c, 0x62, 0xc7, 0xdd, 0x97, 0x49, 0xee, 0xd4, 0xaf, 0x38, 0x5e, 0xf2, 0xc8, 0x32,
-	0x40, 0xfb, 0xbe, 0xb0, 0xb1, 0xf5, 0x17, 0x02, 0x5c, 0xd3, 0xec, 0xee, 0x48, 0xea, 0x5b, 0xcb,
-	0xb5, 0xe0, 0x0f, 0xb4, 0xe8, 0xe5, 0xe3, 0x16, 0x29, 0xfa, 0x5a, 0xc2, 0xd3, 0x2a, 0x47, 0xe8,
-	0xd8, 0xa6, 0x6a, 0x75, 0x2a, 0xb6, 0xdb, 0xd9, 0xec, 0x60, 0x8b, 0x96, 0x84, 0x9b, 0x6c, 0x49,
-	0x75, 0x0c, 0x6f, 0xf8, 0x1f, 0x1e, 0x3c, 0x08, 0x21, 0x7f, 0x38, 0x75, 0x7d, 0x87, 0x9d, 0x51,
-	0x33, 0xed, 0x9e, 0x5e, 0xa9, 0x85, 0xa4, 0x1f, 0xdf, 0xde, 0x22, 0x5b, 0xff, 0x36, 0xd8, 0xf0,
-	0x09, 0xdd, 0xf0, 0x49, 0xb8, 0xe1, 0x93, 0xc7, 0xec, 0xac, 0xa3, 0x0c, 0xa5, 0x77, 0xf7, 0x7f,
-	0x03, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x57, 0xdd, 0xd1, 0x5f, 0x41, 0x00, 0x00,
+	// 6667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3d, 0x5b, 0x6c, 0x23, 0xd7,
+	0x75, 0x1e, 0x4a, 0xa2, 0xa8, 0x23, 0x8a, 0xa2, 0xae, 0xb4, 0x5a, 0x9a, 0xfb, 0xf0, 0xee, 0xf8,
+	0xb5, 0x5e, 0xc7, 0xa2, 0x77, 0xed, 0xd8, 0x8e, 0x1f, 0x71, 0x28, 0x6a, 0x56, 0x2b, 0xac, 0x44,
+	0x32, 0x43, 0x69, 0xd7, 0x56, 0x8c, 0x4c, 0x47, 0xe4, 0x2c, 0x35, 0x5e, 0x72, 0x66, 0x3c, 0x33,
+	0xdc, 0x97, 0xb1, 0x41, 0x9d, 0x26, 0x6d, 0xfa, 0x48, 0xd2, 0xbc, 0xfa, 0x48, 0xd3, 0x34, 0x0d,
+	0xe2, 0x34, 0x4d, 0x8a, 0x06, 0x41, 0x11, 0xa4, 0x0d, 0xda, 0xf4, 0xab, 0x05, 0x9a, 0x02, 0x2d,
+	0xd0, 0x7e, 0xf4, 0xa3, 0x0d, 0xda, 0x8f, 0x00, 0x45, 0x5b, 0xb4, 0x40, 0xfb, 0xd3, 0xaf, 0x3e,
+	0x70, 0x5f, 0x33, 0x77, 0xc8, 0xe1, 0x43, 0x0f, 0x2b, 0xfe, 0x5a, 0xcd, 0xb9, 0xf7, 0xdc, 0x7b,
+	0xcf, 0xb9, 0xe7, 0x9e, 0xd7, 0x3d, 0x97, 0x0b, 0x4b, 0x4d, 0xdb, 0x6e, 0xb6, 0x8c, 0x42, 0xdd,
+	0xb6, 0x7c, 0xdd, 0xb4, 0x0c, 0xb7, 0x70, 0xf3, 0xc2, 0x8e, 0xe1, 0xeb, 0x17, 0x0a, 0xf5, 0x56,
+	0xc7, 0xf3, 0x0d, 0x57, 0xf3, 0x0c, 0xf7, 0xa6, 0x59, 0x37, 0x96, 0x1c, 0xd7, 0xf6, 0x6d, 0x94,
+	0xa3, 0xfd, 0x97, 0x82, 0xfe, 0x4b, 0xac, 0x7f, 0xfe, 0x24, 0x1b, 0x49, 0x77, 0xcc, 0x82, 0x6e,
+	0x59, 0xb6, 0xaf, 0xfb, 0xa6, 0x6d, 0x79, 0x14, 0x2f, 0x7f, 0x9a, 0xb5, 0x9a, 0x7a, 0xbb, 0x70,
+	0xf3, 0x02, 0xfe, 0x47, 0x73, 0xec, 0x96, 0x59, 0xbf, 0xc3, 0xda, 0xf3, 0xd1, 0xf6, 0x48, 0xdb,
+	0x09, 0xd6, 0x46, 0xbe, 0x76, 0x3a, 0xd7, 0x0b, 0x46, 0xdb, 0xf1, 0x59, 0xa3, 0xfc, 0xef, 0x49,
+	0x80, 0xb2, 0xdd, 0x30, 0x4a, 0xb6, 0x75, 0xdd, 0x6c, 0xa2, 0xb3, 0x90, 0x6e, 0xeb, 0xf5, 0x5d,
+	0xd3, 0x32, 0x34, 0xff, 0x8e, 0x63, 0xe4, 0xa4, 0x33, 0xd2, 0xb9, 0x29, 0x75, 0x9a, 0xc1, 0x36,
+	0xef, 0x38, 0x06, 0x3a, 0x03, 0xe9, 0x86, 0xe9, 0xdd, 0xd0, 0x3c, 0xf3, 0xae, 0xa1, 0x35, 0x77,
+	0x72, 0x89, 0x33, 0xd2, 0xb9, 0x09, 0x15, 0x30, 0xac, 0x66, 0xde, 0x35, 0x56, 0x77, 0xf0, 0x20,
+	0xb6, 0xde, 0xf1, 0x77, 0x35, 0xaf, 0x6e, 0x3b, 0x86, 0x97, 0x1b, 0x3b, 0x33, 0x86, 0x07, 0x21,
+	0xb0, 0x1a, 0x01, 0xa1, 0x47, 0x61, 0x96, 0x31, 0x46, 0xd3, 0xeb, 0x75, 0xbb, 0x63, 0xf9, 0xb9,
+	0x29, 0x32, 0x55, 0x86, 0x81, 0x8b, 0x14, 0x8a, 0xca, 0x90, 0x6a, 0x1b, 0xbe, 0xde, 0xd0, 0x7d,
+	0x3d, 0x37, 0x7e, 0x66, 0xec, 0xdc, 0xf4, 0xc5, 0x8b, 0x4b, 0xfd, 0x78, 0xb8, 0x14, 0x12, 0xb2,
+	0xb4, 0xc1, 0x90, 0x14, 0xcb, 0x77, 0xef, 0xa8, 0xc1, 0x18, 0xe8, 0x14, 0x80, 0xd9, 0xd6, 0x9b,
+	0x8c, 0xbc, 0x09, 0x32, 0xe7, 0x14, 0x81, 0x10, 0xe2, 0x2e, 0x43, 0xb2, 0xa5, 0xef, 0x18, 0x2d,
+	0x2f, 0x97, 0x24, 0x93, 0x3d, 0x39, 0xd2, 0x64, 0xeb, 0x04, 0x85, 0x4e, 0xc5, 0xf0, 0xd1, 0x23,
+	0x30, 0xdb, 0xb2, 0xeb, 0x7a, 0x4b, 0xf3, 0xbc, 0x86, 0x46, 0x29, 0x9c, 0x24, 0x9c, 0x9a, 0x21,
+	0xe0, 0x9a, 0xd7, 0x28, 0x11, 0x02, 0x11, 0x8c, 0xfb, 0x7a, 0xd3, 0xcb, 0xa5, 0x08, 0x93, 0xc8,
+	0xdf, 0xe8, 0x0c, 0x4c, 0x3b, 0xae, 0x81, 0xb7, 0xc9, 0xdc, 0x69, 0x19, 0x39, 0x38, 0x23, 0x9d,
+	0x4b, 0xa9, 0x22, 0x08, 0x55, 0x20, 0xad, 0xd7, 0xeb, 0x46, 0xcb, 0x70, 0x75, 0xdf, 0x76, 0xbd,
+	0xdc, 0x34, 0x59, 0xed, 0xe3, 0xfd, 0x57, 0x5b, 0x0c, 0x7b, 0xd3, 0x45, 0xab, 0x91, 0x01, 0xd0,
+	0x09, 0x98, 0x22, 0xbb, 0x4a, 0xd8, 0x92, 0x26, 0x6c, 0x49, 0x61, 0x00, 0xe1, 0xca, 0x39, 0xc8,
+	0xb6, 0x4d, 0x4b, 0xab, 0x3b, 0x1d, 0xcd, 0x69, 0xe9, 0xfe, 0x75, 0xdb, 0x6d, 0xe7, 0x66, 0xe8,
+	0x76, 0xb5, 0x4d, 0xab, 0xe4, 0x74, 0xaa, 0x0c, 0x8a, 0x5e, 0x87, 0xdc, 0x2d, 0xdb, 0xbd, 0xd1,
+	0xb2, 0xf5, 0x86, 0xc6, 0x79, 0xae, 0xd5, 0xc9, 0x84, 0xb9, 0xcc, 0x19, 0x69, 0x30, 0x47, 0xaf,
+	0x31, 0x4c, 0xbe, 0x77, 0x6c, 0xa1, 0x8b, 0xb7, 0x62, 0xe1, 0xe8, 0x05, 0x48, 0xe2, 0x01, 0x7c,
+	0x2f, 0x37, 0x4b, 0xa8, 0x7f, 0x70, 0xf0, 0x5e, 0x6d, 0xe2, 0xbe, 0x2a, 0x43, 0xc9, 0xbf, 0x00,
+	0x33, 0x11, 0x11, 0x41, 0x59, 0x18, 0xbb, 0x61, 0xdc, 0x61, 0x02, 0x8f, 0xff, 0x44, 0x0b, 0x30,
+	0x71, 0x53, 0x6f, 0x75, 0x0c, 0x22, 0xe1, 0x53, 0x2a, 0xfd, 0x78, 0x3e, 0xf1, 0x9c, 0x94, 0x7f,
+	0x1f, 0x4c, 0x0b, 0x5b, 0xbe, 0x17, 0x54, 0xf9, 0x6f, 0x24, 0x98, 0x0a, 0x56, 0x33, 0x2a, 0x26,
+	0x5a, 0x86, 0xa4, 0x71, 0xfd, 0xba, 0x51, 0xf7, 0x73, 0x63, 0x67, 0xa4, 0x73, 0x99, 0x8b, 0xe7,
+	0x47, 0x20, 0x75, 0x49, 0x21, 0x18, 0x2a, 0xc3, 0x94, 0x5f, 0x85, 0x24, 0x85, 0xa0, 0x45, 0x40,
+	0xca, 0xa5, 0x4b, 0x4a, 0x69, 0x53, 0xdb, 0x2a, 0xd7, 0xaa, 0x4a, 0x69, 0xed, 0xd2, 0x9a, 0xb2,
+	0x92, 0xbd, 0x0f, 0xcd, 0xc2, 0x74, 0xb9, 0xa2, 0xd5, 0x4a, 0x97, 0x95, 0x95, 0xad, 0x75, 0x25,
+	0x2b, 0xe1, 0x8e, 0x55, 0x55, 0xb9, 0xa4, 0xa8, 0x9a, 0x08, 0x4f, 0xa0, 0x0c, 0x40, 0xb9, 0xa2,
+	0x29, 0xaf, 0x28, 0xa5, 0xad, 0x4d, 0x25, 0x3b, 0x26, 0x7f, 0x2f, 0x01, 0xb0, 0xa1, 0x63, 0x75,
+	0x57, 0xec, 0xf8, 0xbb, 0x28, 0x0f, 0xa9, 0x8e, 0x67, 0xb8, 0x96, 0xde, 0xe6, 0x0a, 0x24, 0xf8,
+	0xc6, 0x6d, 0x8e, 0xee, 0x79, 0xb7, 0x6c, 0xb7, 0xc1, 0x48, 0x0c, 0xbe, 0x51, 0x1b, 0xee, 0xaf,
+	0xb7, 0x4c, 0xc3, 0xf2, 0xb5, 0xba, 0xe1, 0xfa, 0xe6, 0x75, 0xb3, 0xae, 0xfb, 0x06, 0x97, 0x9e,
+	0x31, 0x22, 0x3d, 0x17, 0xfa, 0x13, 0x5e, 0x22, 0xa8, 0xa5, 0x10, 0x93, 0x89, 0xcf, 0xf1, 0x7a,
+	0x7c, 0x03, 0x7a, 0x1a, 0x16, 0xb9, 0x92, 0xae, 0xeb, 0xe2, 0x94, 0xb9, 0x06, 0x59, 0xd8, 0x02,
+	0x6b, 0x2d, 0xe9, 0x02, 0x2e, 0x7a, 0x02, 0x50, 0xef, 0x22, 0x73, 0x06, 0xc1, 0x98, 0xeb, 0x99,
+	0x0a, 0xeb, 0x1b, 0xd6, 0x1d, 0x6f, 0xf4, 0x75, 0xaa, 0x6f, 0x28, 0xe4, 0x8a, 0x71, 0x47, 0xae,
+	0xc1, 0xf1, 0x3e, 0xeb, 0x46, 0xcf, 0x41, 0xce, 0xf4, 0xbc, 0x8e, 0xa1, 0xc5, 0x4c, 0x27, 0x11,
+	0x8d, 0xb0, 0x48, 0xda, 0x7b, 0xf0, 0xe5, 0xaf, 0x8e, 0x41, 0xba, 0xd8, 0x68, 0xd8, 0x96, 0xc7,
+	0x86, 0xfa, 0x10, 0xcc, 0xef, 0xfa, 0xbe, 0xa3, 0x91, 0x63, 0xb9, 0xa3, 0xb7, 0x74, 0xab, 0x6e,
+	0x5a, 0x4d, 0x32, 0xca, 0x40, 0xa5, 0x71, 0xd9, 0xf7, 0x9d, 0x75, 0x5b, 0x6f, 0x2c, 0x73, 0x14,
+	0x75, 0x6e, 0xb7, 0x1b, 0x84, 0x1c, 0xc8, 0xef, 0xda, 0xae, 0x79, 0x17, 0x63, 0xb7, 0x34, 0xc7,
+	0x6e, 0x68, 0x7a, 0xc7, 0xb7, 0xbd, 0xba, 0xde, 0xc2, 0x73, 0x24, 0xc8, 0x1c, 0x03, 0x74, 0xf6,
+	0xe5, 0x00, 0xb7, 0x6a, 0x37, 0x8a, 0x21, 0xa6, 0x9a, 0xdb, 0xed, 0xd3, 0x82, 0x7e, 0x0a, 0x16,
+	0x6e, 0x74, 0x76, 0x0c, 0xd7, 0x32, 0x7c, 0xc3, 0xd3, 0x1a, 0xba, 0xb7, 0xbb, 0x63, 0xeb, 0x6e,
+	0x83, 0x89, 0xc8, 0x13, 0xfd, 0xe7, 0xba, 0x12, 0x60, 0xad, 0x70, 0x24, 0x75, 0xfe, 0x46, 0x2f,
+	0x10, 0xe9, 0x70, 0xcc, 0x32, 0x7c, 0xac, 0x77, 0x98, 0x99, 0xe5, 0x52, 0x38, 0x3e, 0x6c, 0x8a,
+	0x32, 0x45, 0xab, 0x12, 0x2c, 0x26, 0x81, 0xf3, 0x56, 0x2f, 0x50, 0x2e, 0xc0, 0x5c, 0x0f, 0x7b,
+	0xf1, 0xe9, 0x68, 0x98, 0x9e, 0xbe, 0xd3, 0x32, 0x1a, 0x6c, 0x8f, 0x83, 0x6f, 0xf9, 0x19, 0xc8,
+	0xf5, 0xe3, 0xd5, 0x40, 0xbc, 0x0b, 0x30, 0x1f, 0x43, 0xf7, 0x30, 0x94, 0x18, 0x3a, 0x06, 0xa2,
+	0xfc, 0x7c, 0x02, 0x16, 0xaa, 0xae, 0x79, 0x13, 0xcb, 0x2f, 0x3b, 0x36, 0x14, 0xe9, 0x49, 0x58,
+	0x30, 0x2c, 0xdc, 0x47, 0x73, 0x68, 0xb3, 0x66, 0xd9, 0x0d, 0xc3, 0x63, 0x03, 0x20, 0xda, 0xc6,
+	0x30, 0xb1, 0xee, 0xf2, 0xd0, 0x33, 0x70, 0xbc, 0x0b, 0xc3, 0xb0, 0x1a, 0x8e, 0x6d, 0x5a, 0x3e,
+	0x91, 0xa6, 0x94, 0x7a, 0x2c, 0x82, 0xa4, 0xb0, 0x46, 0xf4, 0x14, 0x2c, 0xb6, 0x89, 0x12, 0xd2,
+	0x4c, 0xe7, 0xe6, 0xd3, 0x5a, 0xdd, 0x6c, 0xb8, 0xda, 0x4e, 0xcb, 0xae, 0xdf, 0x20, 0x82, 0x31,
+	0xa5, 0xce, 0xd3, 0xd6, 0x35, 0xe7, 0xe6, 0xd3, 0x25, 0xb3, 0xe1, 0x2e, 0xe3, 0x26, 0xf4, 0x18,
+	0x64, 0x7b, 0x66, 0x19, 0x27, 0xdd, 0x67, 0x9d, 0xae, 0xf1, 0x1f, 0x85, 0x59, 0xa7, 0xb3, 0xd3,
+	0x32, 0xeb, 0x61, 0x4f, 0xea, 0x3f, 0x64, 0x28, 0x98, 0x77, 0x94, 0xff, 0x43, 0x82, 0xd3, 0xa1,
+	0x3a, 0xc4, 0x7b, 0x66, 0x34, 0x18, 0x3f, 0xf9, 0x89, 0xcc, 0xc1, 0x24, 0x25, 0x82, 0x73, 0x92,
+	0x7f, 0xa2, 0x3a, 0x4c, 0x87, 0x2b, 0xf7, 0x72, 0x09, 0x62, 0xda, 0x96, 0xfb, 0x0b, 0xdc, 0xe0,
+	0x89, 0x96, 0x02, 0x4a, 0x55, 0xa8, 0xf3, 0x3f, 0xbd, 0xfc, 0x06, 0x4c, 0x85, 0x2c, 0x38, 0x4b,
+	0x1c, 0x3a, 0xa7, 0xa5, 0xdf, 0xd1, 0x04, 0x95, 0x3d, 0xcd, 0x60, 0x65, 0xac, 0xb5, 0xb1, 0x16,
+	0x0b, 0xd9, 0x99, 0x60, 0x5a, 0x8c, 0x8f, 0x20, 0x3f, 0x02, 0xb0, 0x6e, 0x34, 0xf5, 0xfa, 0x9d,
+	0xe2, 0x8e, 0x5e, 0xef, 0x4f, 0x9b, 0xfc, 0xbb, 0x12, 0xcc, 0x44, 0x04, 0x0b, 0xad, 0x43, 0xca,
+	0x71, 0xed, 0x9b, 0x66, 0xc3, 0x70, 0x49, 0xe7, 0xcc, 0x40, 0x8f, 0x4b, 0x44, 0x5d, 0xaa, 0x32,
+	0x3c, 0x35, 0x18, 0x41, 0x9c, 0x39, 0x11, 0x9d, 0xf9, 0x49, 0x48, 0x55, 0xc3, 0x5e, 0x0b, 0x55,
+	0xb5, 0x72, 0x75, 0x6d, 0x45, 0x51, 0xbb, 0x0c, 0x20, 0x40, 0xb2, 0x54, 0x5c, 0x5f, 0x2b, 0x55,
+	0xb2, 0x92, 0xfc, 0x95, 0x09, 0x40, 0x6b, 0xd5, 0x62, 0x0b, 0x7b, 0x6b, 0xd8, 0x13, 0x67, 0x0b,
+	0x7e, 0x08, 0x32, 0x1d, 0xcf, 0xd0, 0x4c, 0x47, 0xd3, 0x5b, 0xa6, 0xee, 0x05, 0x82, 0x9c, 0xee,
+	0x78, 0xc6, 0x9a, 0x53, 0xa4, 0x30, 0xf4, 0x38, 0xcc, 0xd5, 0x5d, 0x03, 0x0b, 0x95, 0xd7, 0xd9,
+	0x61, 0xa7, 0x9f, 0x2d, 0x29, 0x4b, 0x1b, 0x6a, 0x01, 0x9c, 0xf8, 0xc2, 0xc1, 0x17, 0xdd, 0x82,
+	0x31, 0xe6, 0x0b, 0x07, 0x60, 0xb2, 0x0b, 0x4b, 0x30, 0xc7, 0x0d, 0x56, 0x20, 0xe1, 0x54, 0x58,
+	0x97, 0x13, 0x39, 0x49, 0x9d, 0x65, 0x8d, 0x5c, 0xc0, 0xd1, 0x39, 0xc8, 0xe0, 0xb3, 0x26, 0x74,
+	0x9e, 0x08, 0x3a, 0xa7, 0x71, 0x4b, 0xd0, 0xf3, 0x49, 0x40, 0xcc, 0xef, 0xf6, 0x84, 0xde, 0xc9,
+	0xa0, 0x77, 0x96, 0xb7, 0x06, 0x18, 0x2f, 0xc3, 0xc9, 0x30, 0xc2, 0xa9, 0xdb, 0x56, 0x43, 0x77,
+	0xef, 0x68, 0xae, 0x6e, 0x35, 0x0d, 0x4a, 0xc1, 0x24, 0xa1, 0xe0, 0x7e, 0xd6, 0xa7, 0xc6, 0xbb,
+	0xa8, 0xb8, 0x07, 0x21, 0xa6, 0x08, 0xa7, 0x82, 0x29, 0x63, 0x47, 0x48, 0x91, 0x11, 0xf2, 0xbc,
+	0x53, 0xcc, 0x10, 0xef, 0x85, 0xe3, 0x3d, 0xfc, 0x60, 0x22, 0x3a, 0x15, 0xb1, 0xe0, 0xd1, 0x23,
+	0x5f, 0x80, 0x85, 0x28, 0x5b, 0x18, 0x0e, 0x50, 0x1b, 0x2e, 0x32, 0x86, 0x22, 0x3c, 0x0b, 0xb9,
+	0x5e, 0xee, 0x30, 0xa4, 0x69, 0x82, 0x74, 0xac, 0x9b, 0x3f, 0x14, 0x71, 0x09, 0xe6, 0xf5, 0x56,
+	0xcb, 0xbe, 0xa5, 0xb9, 0x76, 0xc7, 0x37, 0x34, 0xfb, 0xa6, 0xe1, 0xb6, 0x74, 0x87, 0xb8, 0xd7,
+	0x29, 0x75, 0x8e, 0x34, 0xa9, 0xb8, 0xa5, 0x42, 0x1b, 0xd0, 0x13, 0x30, 0xef, 0x3b, 0x9d, 0x9e,
+	0x39, 0xa8, 0xab, 0x9d, 0xf5, 0x9d, 0x4e, 0x64, 0x78, 0xb9, 0x00, 0xf3, 0xcb, 0xa6, 0xa5, 0xbb,
+	0x77, 0xf8, 0xe9, 0x27, 0x82, 0x3a, 0xe0, 0xfc, 0x3d, 0x05, 0xc7, 0xab, 0x76, 0xa3, 0x66, 0xd4,
+	0x3b, 0xae, 0xe9, 0xdf, 0x89, 0xe8, 0xf6, 0xfe, 0x48, 0xff, 0xb7, 0x08, 0x93, 0x4c, 0xa5, 0xe3,
+	0x60, 0x45, 0x50, 0x11, 0xe4, 0x6f, 0x1c, 0xac, 0x34, 0x0c, 0xaf, 0xee, 0x9a, 0x0e, 0x9e, 0x9d,
+	0x29, 0x07, 0x11, 0x84, 0xde, 0x03, 0xc8, 0xb4, 0x4c, 0xdf, 0xd4, 0x5b, 0x44, 0xf7, 0xb3, 0x68,
+	0x68, 0x8c, 0x44, 0x43, 0x59, 0xd6, 0x42, 0xa3, 0x29, 0x1c, 0x10, 0x29, 0x30, 0xcd, 0x7a, 0x09,
+	0x16, 0xf7, 0xa1, 0x51, 0xe2, 0x30, 0x15, 0xac, 0x30, 0x92, 0x55, 0x60, 0x9a, 0x59, 0x03, 0x1c,
+	0x76, 0x12, 0xc9, 0x1f, 0x38, 0x4c, 0xa8, 0x47, 0x55, 0x68, 0x87, 0xbe, 0xec, 0xa3, 0x38, 0x8c,
+	0x6b, 0x36, 0x4d, 0xab, 0xc9, 0x23, 0x79, 0x7a, 0x2c, 0xd4, 0x0c, 0x03, 0xd7, 0x28, 0x14, 0xfb,
+	0x85, 0x6d, 0xdb, 0x32, 0x7d, 0xdb, 0x15, 0xfb, 0xd2, 0x63, 0x30, 0x17, 0xb6, 0xf0, 0xee, 0x39,
+	0x98, 0xe4, 0x7a, 0x81, 0x0a, 0x3a, 0xff, 0x44, 0xe7, 0xe3, 0x4e, 0x39, 0x95, 0xe7, 0x9e, 0x13,
+	0x7e, 0x05, 0x66, 0x74, 0xe2, 0xe8, 0x71, 0x6e, 0x01, 0x21, 0xf3, 0x91, 0x01, 0x71, 0xa0, 0xe0,
+	0x17, 0xaa, 0x69, 0x5d, 0xf4, 0x12, 0x4f, 0x03, 0x08, 0xda, 0x8a, 0x0a, 0xb6, 0x00, 0x41, 0x45,
+	0x20, 0xfc, 0xd5, 0x1c, 0xdb, 0x6e, 0x79, 0xb9, 0x34, 0x31, 0x4c, 0xf2, 0xe0, 0x7d, 0xa9, 0xda,
+	0x76, 0x4b, 0x9d, 0xb2, 0xd8, 0x5f, 0x1e, 0x3a, 0x09, 0x53, 0x5c, 0x9f, 0x7a, 0xb9, 0x19, 0x12,
+	0xf1, 0x86, 0x00, 0xc1, 0xf0, 0x0b, 0xee, 0x9d, 0xde, 0x72, 0x76, 0x75, 0x12, 0x3b, 0x06, 0x86,
+	0x3f, 0x74, 0x67, 0x8a, 0xb8, 0x11, 0x7d, 0x18, 0x66, 0x5d, 0xc3, 0xb3, 0x3b, 0x6e, 0xdd, 0xd0,
+	0x58, 0xf4, 0x4e, 0x23, 0xc2, 0xf7, 0x0e, 0x8a, 0x16, 0x08, 0x27, 0x97, 0x54, 0x86, 0x28, 0x86,
+	0xf0, 0x19, 0x37, 0x02, 0xc4, 0xda, 0x9c, 0x0c, 0xab, 0x5d, 0x37, 0xad, 0xa6, 0xe1, 0x3a, 0x2e,
+	0x36, 0xfd, 0x59, 0x7a, 0x28, 0x49, 0xc3, 0xa5, 0x10, 0x8e, 0xe5, 0xae, 0x45, 0x6c, 0xa1, 0xa6,
+	0xef, 0xe8, 0xf5, 0x1c, 0x1a, 0x26, 0x77, 0xa1, 0xe1, 0x54, 0xa1, 0x15, 0x1a, 0xd1, 0x32, 0x64,
+	0xa2, 0x1e, 0x68, 0x6e, 0x9e, 0x8c, 0xf4, 0xe8, 0x88, 0xe6, 0x51, 0x9d, 0x89, 0x38, 0x9d, 0xe8,
+	0xc3, 0xb0, 0x40, 0x6c, 0x16, 0xe7, 0x36, 0x1f, 0x75, 0x81, 0x8c, 0xfa, 0x9e, 0xfe, 0xa3, 0xf6,
+	0xda, 0x40, 0x15, 0x99, 0x4e, 0x8f, 0x5d, 0xfc, 0x19, 0x09, 0xce, 0x0a, 0xe7, 0x8d, 0xfa, 0x22,
+	0x1a, 0x5b, 0x43, 0x20, 0x9e, 0x8b, 0x64, 0xb6, 0xe7, 0xf6, 0xeb, 0xcd, 0xa8, 0xa7, 0xdb, 0x83,
+	0xdd, 0xaa, 0x6d, 0x40, 0x6d, 0x1c, 0xfb, 0x1a, 0x96, 0x6e, 0xd5, 0x0d, 0x4e, 0xe3, 0xf1, 0x61,
+	0x71, 0xce, 0x46, 0x88, 0xc3, 0x48, 0x9c, 0x6b, 0x77, 0x83, 0x70, 0xd4, 0xb1, 0x43, 0xb4, 0x6d,
+	0x40, 0x20, 0xa1, 0x3f, 0x97, 0x1b, 0x16, 0x12, 0xc4, 0xe8, 0x68, 0x75, 0x7e, 0x27, 0x46, 0x71,
+	0x5b, 0x90, 0xc7, 0xe1, 0x93, 0xc7, 0xf4, 0x73, 0x57, 0xe8, 0x71, 0xff, 0xb0, 0x00, 0xb8, 0x8f,
+	0x6a, 0x57, 0x8f, 0x3b, 0x7d, 0x74, 0x7e, 0x19, 0xa6, 0xc5, 0x50, 0x2d, 0x3f, 0x4c, 0x14, 0xd8,
+	0x99, 0x11, 0x83, 0x34, 0x71, 0x00, 0x51, 0x66, 0xd9, 0x9a, 0x4f, 0x8c, 0x28, 0xb3, 0x6c, 0xa5,
+	0x5c, 0x66, 0xd9, 0xfa, 0x1e, 0x07, 0xee, 0x83, 0x6b, 0x4c, 0xf1, 0xe5, 0x4e, 0x62, 0x3d, 0x40,
+	0x5c, 0x92, 0x8c, 0x13, 0x89, 0x36, 0xd0, 0xb3, 0x7d, 0xbd, 0xff, 0x53, 0x81, 0x1b, 0x13, 0x1b,
+	0x01, 0xbc, 0x0e, 0x27, 0x1a, 0xc6, 0x75, 0xbd, 0xd3, 0xf2, 0xb5, 0xb6, 0x7e, 0x1b, 0x07, 0xb0,
+	0x44, 0x5c, 0x3d, 0xdf, 0xc5, 0x22, 0x90, 0x3b, 0x3d, 0x5c, 0x78, 0x6e, 0x57, 0xed, 0x06, 0x96,
+	0x40, 0x86, 0xa2, 0xe6, 0xd8, 0x78, 0x3d, 0x2d, 0xa8, 0x01, 0x8b, 0x5d, 0x14, 0x71, 0x4e, 0x3d,
+	0x4c, 0xa6, 0x59, 0x1a, 0xb0, 0xbb, 0x31, 0xc1, 0x95, 0xba, 0xe0, 0xc4, 0x85, 0x5c, 0x27, 0x60,
+	0xca, 0x33, 0x5a, 0xd7, 0xb5, 0x96, 0x69, 0xdd, 0x60, 0xb9, 0x8c, 0x14, 0x06, 0xac, 0x9b, 0xd6,
+	0x0d, 0xb4, 0x08, 0xe3, 0x77, 0x6d, 0x8b, 0x65, 0x2c, 0x08, 0x57, 0xc8, 0x37, 0x0e, 0xee, 0x82,
+	0xb0, 0x86, 0xa6, 0x29, 0x82, 0x6f, 0xac, 0x98, 0xb9, 0x01, 0xe7, 0xcb, 0xbe, 0x69, 0xb8, 0x1e,
+	0x96, 0xfe, 0x26, 0xf5, 0x7f, 0x58, 0x33, 0x5b, 0xc7, 0x55, 0xda, 0x48, 0x32, 0x2c, 0x1d, 0xd7,
+	0x35, 0x2c, 0xcc, 0xda, 0x08, 0xda, 0x2e, 0xf3, 0xcf, 0x68, 0x2b, 0x3d, 0xf5, 0x21, 0x16, 0x87,
+	0x53, 0x77, 0x81, 0xe3, 0x98, 0xc1, 0x8a, 0x11, 0x6b, 0xc7, 0x26, 0x86, 0x63, 0x3d, 0x00, 0xd3,
+	0xcc, 0xe5, 0xf6, 0xcd, 0xb6, 0x91, 0x7b, 0x9d, 0x9a, 0x2f, 0x0a, 0xda, 0x34, 0xdb, 0x06, 0xfa,
+	0x00, 0x24, 0x3d, 0x5f, 0xf7, 0x3b, 0x5e, 0xee, 0x06, 0x09, 0x34, 0xce, 0x0d, 0x37, 0x0e, 0x35,
+	0xd2, 0x5f, 0x65, 0x78, 0xe8, 0x61, 0xc8, 0xd0, 0xbf, 0xb4, 0xb6, 0xe1, 0x79, 0x7a, 0xd3, 0xc8,
+	0xb5, 0xc8, 0x2c, 0x33, 0x14, 0xba, 0x41, 0x81, 0xd8, 0x8b, 0xeb, 0xf2, 0x2f, 0x3d, 0xf3, 0xae,
+	0x91, 0x6b, 0x53, 0x7f, 0x47, 0x74, 0x2f, 0x6b, 0xe6, 0x5d, 0x03, 0x7b, 0x47, 0x31, 0xbe, 0xb7,
+	0x45, 0xcd, 0x4b, 0x8f, 0xdf, 0x7d, 0x11, 0xe6, 0x4d, 0xcb, 0xf3, 0x89, 0x7a, 0x6b, 0xba, 0x76,
+	0xc7, 0xd1, 0x3a, 0x6e, 0xcb, 0xcb, 0xd9, 0xd8, 0x96, 0x12, 0xde, 0xcc, 0xf1, 0xe6, 0x55, 0xdc,
+	0xba, 0xe5, 0xb6, 0x3c, 0x3c, 0x43, 0x84, 0xa1, 0xd4, 0xff, 0x72, 0xe8, 0x7a, 0x04, 0x56, 0x52,
+	0xff, 0xeb, 0x01, 0x98, 0x36, 0x6e, 0x3b, 0xa6, 0xcb, 0x18, 0xf9, 0x06, 0x65, 0x24, 0x05, 0x11,
+	0x46, 0xe6, 0x21, 0xc5, 0x95, 0x7f, 0xce, 0xa5, 0x92, 0xc2, 0xbf, 0x71, 0xa0, 0xc8, 0x4c, 0xb8,
+	0xef, 0x74, 0x72, 0x1e, 0xb1, 0xda, 0x53, 0x14, 0xb2, 0xe9, 0x74, 0xfa, 0x39, 0xb8, 0x7e, 0xbc,
+	0x83, 0x8b, 0xd6, 0x00, 0xb0, 0xd3, 0x6f, 0x52, 0x7f, 0xe1, 0x26, 0xb1, 0xe9, 0x8f, 0xf5, 0xdf,
+	0x36, 0xba, 0x5d, 0x25, 0x8e, 0xa1, 0x0a, 0xc8, 0xf9, 0x22, 0xcc, 0xc7, 0x98, 0xfa, 0x3d, 0xa5,
+	0x6e, 0x6f, 0x41, 0x92, 0xce, 0x80, 0x16, 0x01, 0xd5, 0x36, 0x8b, 0x9b, 0x5b, 0xb5, 0xae, 0xf8,
+	0x31, 0x0b, 0x69, 0x12, 0x59, 0xd6, 0xd6, 0x2a, 0xe5, 0xb5, 0xf2, 0x6a, 0x56, 0x42, 0xd3, 0x30,
+	0xa9, 0x6e, 0x95, 0xc9, 0x47, 0x02, 0xcd, 0xc2, 0xb4, 0xaa, 0x94, 0x2a, 0xe5, 0xd2, 0xda, 0x3a,
+	0x06, 0x8c, 0xa1, 0x34, 0xa4, 0x6a, 0x9b, 0x95, 0x6a, 0x15, 0x7f, 0x8d, 0xa3, 0x29, 0x98, 0x50,
+	0x54, 0xb5, 0xa2, 0x66, 0x27, 0x70, 0xc3, 0x8a, 0xb2, 0xaa, 0x16, 0x57, 0x94, 0x95, 0x6c, 0x52,
+	0xfe, 0x7e, 0x0a, 0x66, 0x98, 0x48, 0x6e, 0x39, 0x0d, 0xdd, 0x37, 0xd0, 0x93, 0xb0, 0xd0, 0x30,
+	0x3c, 0xd3, 0xc5, 0x26, 0x56, 0x3c, 0x22, 0x34, 0x73, 0x81, 0x58, 0x9b, 0x78, 0x3c, 0x5e, 0x84,
+	0x3c, 0xc7, 0x88, 0x71, 0x53, 0x69, 0x1e, 0x23, 0xc7, 0x7a, 0x6c, 0xf4, 0x78, 0xab, 0xdb, 0x70,
+	0x8c, 0x63, 0x47, 0xfd, 0xcd, 0xe4, 0x9e, 0xfc, 0xcd, 0x79, 0x36, 0x48, 0x24, 0x39, 0x59, 0xe8,
+	0xa2, 0x05, 0xbb, 0x97, 0x9a, 0xd9, 0xe0, 0xae, 0xb3, 0x40, 0x0b, 0xf6, 0x21, 0xd7, 0x1a, 0x58,
+	0x9c, 0x39, 0x82, 0x70, 0x95, 0x43, 0xbd, 0xe8, 0x2c, 0x6b, 0x59, 0x0b, 0x6e, 0x74, 0x1c, 0x38,
+	0xd5, 0x3b, 0xbc, 0x68, 0xf6, 0xa6, 0x86, 0xa6, 0xf4, 0xd8, 0xd4, 0xa2, 0xdd, 0xcb, 0x77, 0x2d,
+	0x4b, 0x4c, 0xc6, 0x3d, 0x0e, 0x7c, 0xd1, 0x5a, 0xe8, 0xec, 0x02, 0x71, 0x76, 0xf9, 0xf2, 0xd6,
+	0x03, 0x9f, 0xf7, 0xb3, 0x12, 0x3c, 0x16, 0x6c, 0xcc, 0x50, 0xff, 0x29, 0x7d, 0x40, 0xff, 0xe9,
+	0x61, 0xbe, 0xc3, 0x83, 0xdd, 0xa8, 0x7b, 0x20, 0xf3, 0x35, 0x0d, 0x70, 0x48, 0x32, 0xfb, 0x75,
+	0x48, 0x4e, 0xb3, 0xc1, 0xfb, 0xc5, 0xa2, 0x2d, 0x6c, 0x91, 0xe9, 0xf4, 0xdc, 0xdc, 0x88, 0x1b,
+	0x36, 0xbb, 0x0f, 0x3f, 0xe5, 0x7e, 0x36, 0x60, 0x6f, 0x13, 0xb2, 0xe1, 0x24, 0x9f, 0x2d, 0xd6,
+	0xbf, 0xcb, 0xee, 0xc7, 0xbf, 0xe3, 0xf2, 0x11, 0x17, 0x9f, 0x3f, 0x03, 0xc7, 0x43, 0xf9, 0x88,
+	0x86, 0x96, 0xf3, 0xd4, 0x9a, 0x06, 0x52, 0x12, 0x89, 0x30, 0x9f, 0x86, 0xc5, 0x2e, 0x49, 0xe1,
+	0xc7, 0x9e, 0xdd, 0x57, 0x44, 0x36, 0x97, 0x1d, 0x7c, 0xf9, 0xbf, 0x52, 0x30, 0x55, 0x71, 0x0c,
+	0x97, 0xce, 0x1d, 0x17, 0xc0, 0x73, 0x8f, 0x20, 0xd1, 0xe5, 0x11, 0x54, 0x20, 0x63, 0x73, 0x44,
+	0x7a, 0xc6, 0xc6, 0x86, 0x19, 0xce, 0x60, 0xa2, 0x25, 0x7c, 0xf6, 0xd4, 0x99, 0x00, 0x9f, 0x1c,
+	0xc5, 0xe5, 0xc0, 0x02, 0x8f, 0x0f, 0xbb, 0xc5, 0x0a, 0x07, 0xea, 0xb2, 0xc1, 0x8b, 0x90, 0x6c,
+	0x18, 0xbe, 0x6e, 0xb6, 0xd8, 0x81, 0x67, 0x5f, 0x31, 0xb6, 0x79, 0x22, 0xce, 0x36, 0x47, 0x5c,
+	0xa3, 0x64, 0x97, 0x6b, 0xf4, 0x00, 0x4c, 0xfb, 0xba, 0xdb, 0x34, 0x7c, 0xda, 0x4c, 0x15, 0x10,
+	0x50, 0x10, 0xe9, 0x20, 0x5a, 0xbe, 0xa9, 0x5e, 0xcb, 0xe7, 0xf9, 0xba, 0xeb, 0x53, 0xab, 0x49,
+	0x73, 0x49, 0x53, 0x04, 0x42, 0x8c, 0xe6, 0xfd, 0xc4, 0xbd, 0xa2, 0x8d, 0x34, 0xb4, 0x9e, 0x34,
+	0xac, 0x06, 0x69, 0x5a, 0x25, 0x39, 0xd0, 0xa6, 0x6b, 0x78, 0x1e, 0x3b, 0xe0, 0x8f, 0x8f, 0xc0,
+	0x98, 0x2a, 0x43, 0x51, 0x03, 0x64, 0xf4, 0x0a, 0x20, 0xc1, 0xab, 0xe4, 0x66, 0x73, 0x66, 0xaf,
+	0x66, 0x93, 0xa7, 0x1f, 0x02, 0x88, 0x87, 0xb6, 0xa9, 0x4b, 0x43, 0x74, 0xa7, 0x30, 0x74, 0x66,
+	0xaf, 0x43, 0x23, 0x3e, 0x4a, 0x38, 0xb6, 0xac, 0x0e, 0x35, 0xab, 0xd3, 0x30, 0x59, 0x55, 0xca,
+	0x2b, 0x31, 0x16, 0x35, 0x05, 0xe3, 0x2b, 0x95, 0xb2, 0x42, 0x4d, 0x69, 0x71, 0xb9, 0xa2, 0x6e,
+	0x12, 0x53, 0x2a, 0xff, 0x4f, 0x02, 0xc6, 0x89, 0xc8, 0x2d, 0x40, 0x76, 0xf3, 0xd5, 0xaa, 0xd2,
+	0x35, 0x20, 0x82, 0x4c, 0x49, 0x55, 0x8a, 0x9b, 0x8a, 0x56, 0x5a, 0xdf, 0xaa, 0x6d, 0x2a, 0x6a,
+	0x56, 0xc2, 0xb0, 0x15, 0x65, 0x5d, 0x11, 0x60, 0x09, 0x0c, 0xdb, 0xaa, 0x12, 0x33, 0xac, 0x6d,
+	0x14, 0x09, 0x6c, 0x0c, 0xcd, 0xc1, 0x0c, 0x87, 0x95, 0x2b, 0x2b, 0x4a, 0x2d, 0x3b, 0x8e, 0xbb,
+	0xa9, 0x4a, 0xb5, 0xb8, 0xa6, 0x06, 0xa8, 0x13, 0x14, 0x75, 0x45, 0x9c, 0x22, 0x89, 0x17, 0xc3,
+	0xa6, 0xc5, 0x98, 0x5a, 0xb5, 0x52, 0x59, 0xcf, 0x4e, 0x62, 0x28, 0x9b, 0x38, 0x84, 0xa6, 0xd0,
+	0x49, 0xc8, 0xd5, 0x94, 0xcd, 0x10, 0xa4, 0x6d, 0x14, 0xcb, 0xc5, 0x55, 0x65, 0x43, 0x29, 0x6f,
+	0x66, 0xa7, 0xd0, 0x31, 0x98, 0x2b, 0x6e, 0x6d, 0x56, 0x34, 0x36, 0x2d, 0x5d, 0x08, 0x60, 0x06,
+	0x12, 0x70, 0x74, 0x81, 0xd3, 0x28, 0x03, 0x80, 0x07, 0x5b, 0x2f, 0x2e, 0x2b, 0xeb, 0xb5, 0x6c,
+	0x1a, 0xcd, 0xc3, 0x2c, 0xfe, 0xa6, 0x34, 0x69, 0xc5, 0xad, 0xcd, 0xcb, 0xd9, 0x19, 0xc2, 0xfd,
+	0xc8, 0x8c, 0xb5, 0xb5, 0x6d, 0x25, 0x9b, 0x09, 0xe0, 0xca, 0xe6, 0xb5, 0x8a, 0x7a, 0x45, 0xab,
+	0x56, 0xd6, 0xd7, 0x4a, 0xaf, 0x66, 0x67, 0x51, 0x1e, 0x16, 0xe9, 0x20, 0x6b, 0xe5, 0x4d, 0xa5,
+	0x5c, 0x2c, 0x97, 0x14, 0xde, 0x96, 0x95, 0x3f, 0x3d, 0x06, 0x73, 0x3d, 0x92, 0x1a, 0xab, 0x7c,
+	0x42, 0x9d, 0x90, 0xd8, 0xb7, 0x4e, 0x58, 0x87, 0xc9, 0xb6, 0xe1, 0xbb, 0x66, 0x9d, 0x96, 0x9a,
+	0x0c, 0xbc, 0x6e, 0xec, 0x59, 0xd5, 0xd2, 0x06, 0x41, 0x55, 0xf9, 0x10, 0xa8, 0x44, 0x56, 0xd4,
+	0x34, 0x3c, 0x56, 0x6f, 0xb2, 0xa7, 0xc3, 0xc8, 0x50, 0xf3, 0x9f, 0x92, 0x20, 0x49, 0x07, 0x8e,
+	0xa5, 0xfa, 0x14, 0x4c, 0x99, 0x96, 0xaf, 0x85, 0x8e, 0xe6, 0xd8, 0xe5, 0xfb, 0xd4, 0x94, 0x69,
+	0xf9, 0x57, 0xc9, 0x75, 0xff, 0x83, 0x90, 0x6e, 0xd8, 0x1d, 0xec, 0x45, 0xd3, 0x1e, 0x58, 0xef,
+	0x4a, 0x97, 0xef, 0x53, 0xa7, 0x29, 0x34, 0xe8, 0xe4, 0xf9, 0xc4, 0x8b, 0xa3, 0x9d, 0x88, 0xef,
+	0x87, 0x3b, 0x51, 0x28, 0xe9, 0xb4, 0x3c, 0xc9, 0xbc, 0x59, 0xf9, 0xeb, 0x12, 0x2c, 0x94, 0x48,
+	0x30, 0xc4, 0x4c, 0xa0, 0x6a, 0xbc, 0xd1, 0x31, 0x3c, 0x1f, 0x9d, 0x05, 0x70, 0x5c, 0xfb, 0x75,
+	0xa3, 0xee, 0x63, 0xa7, 0x4b, 0x0a, 0x6c, 0xc0, 0x14, 0x83, 0xae, 0x35, 0xfa, 0x1a, 0x88, 0x17,
+	0x60, 0x92, 0xc7, 0xe5, 0xf4, 0xea, 0xf5, 0xec, 0x50, 0x9b, 0xac, 0x72, 0x0c, 0xac, 0xc8, 0x1d,
+	0x1d, 0x47, 0x1e, 0x4c, 0x51, 0xb3, 0x2f, 0xf9, 0xe3, 0x12, 0xcc, 0xad, 0x1a, 0xfe, 0xe1, 0xad,
+	0xf2, 0x2c, 0x40, 0x90, 0x4f, 0xa5, 0x77, 0xc4, 0x0c, 0x95, 0x27, 0x53, 0x1b, 0xc1, 0x16, 0x4d,
+	0x84, 0x5b, 0x24, 0xff, 0x85, 0x04, 0x0b, 0xd4, 0xdb, 0x3e, 0xd2, 0xa5, 0xbc, 0x0c, 0xc9, 0x0e,
+	0x99, 0x95, 0x25, 0xbe, 0x1f, 0x1d, 0xca, 0x52, 0xba, 0x48, 0x95, 0xa1, 0xc5, 0xd2, 0xf2, 0x9f,
+	0x12, 0x1c, 0xa3, 0xdd, 0x82, 0xa4, 0xec, 0x91, 0x10, 0xf3, 0x10, 0xa4, 0x23, 0x2e, 0x7d, 0x78,
+	0x57, 0x05, 0x56, 0xe8, 0xcf, 0x9f, 0x65, 0xbd, 0xb8, 0x37, 0x43, 0x57, 0x4e, 0x2e, 0x01, 0x78,
+	0xf4, 0x12, 0xad, 0xda, 0x4a, 0x76, 0x57, 0x6d, 0x71, 0x9a, 0x53, 0x02, 0xcd, 0x9f, 0x48, 0xc0,
+	0xa9, 0x9a, 0xe1, 0xc7, 0x39, 0xef, 0xef, 0x22, 0xda, 0x2b, 0xd1, 0x14, 0xdc, 0xc4, 0x7e, 0x62,
+	0x91, 0x48, 0x0e, 0x8e, 0xb3, 0x22, 0x29, 0xb0, 0xe2, 0x3b, 0x12, 0xe4, 0x6a, 0x86, 0x1f, 0x75,
+	0x27, 0xf7, 0xc0, 0x05, 0x24, 0x72, 0x61, 0x74, 0x0e, 0xc4, 0x5c, 0x9d, 0x8c, 0xc7, 0x5e, 0x9d,
+	0xc4, 0x89, 0xec, 0x0f, 0x24, 0x38, 0x51, 0x33, 0xfc, 0x9e, 0x50, 0xf4, 0x68, 0x36, 0x2f, 0xfe,
+	0x32, 0x67, 0xbc, 0xdf, 0x65, 0x4e, 0x1c, 0xd3, 0xff, 0x4e, 0x82, 0xc5, 0x9a, 0xe1, 0x47, 0xe2,
+	0xdf, 0x23, 0x59, 0x7b, 0xcf, 0x9d, 0xd0, 0xf8, 0x01, 0xee, 0x84, 0xe2, 0x28, 0x7b, 0x5b, 0x82,
+	0x79, 0x22, 0x4e, 0x2c, 0x86, 0x3d, 0x1a, 0xb2, 0x22, 0x57, 0x47, 0xe3, 0xdd, 0x57, 0x47, 0x71,
+	0xeb, 0xfc, 0x7d, 0x09, 0xe6, 0xa9, 0xd6, 0xa3, 0x11, 0xd1, 0xd1, 0xac, 0xf3, 0x61, 0xc8, 0x74,
+	0x45, 0x67, 0x54, 0x6c, 0x66, 0xda, 0x91, 0x24, 0x27, 0x5f, 0xf0, 0xa4, 0xb0, 0xe0, 0x7f, 0x4e,
+	0xc0, 0x02, 0x96, 0xf9, 0xf0, 0x26, 0xf2, 0x48, 0x56, 0xbc, 0x01, 0x49, 0xbd, 0xee, 0xf3, 0x95,
+	0x66, 0x06, 0xdd, 0x9a, 0xc5, 0xad, 0x6e, 0xa9, 0x48, 0x90, 0x55, 0x36, 0x08, 0x7a, 0x31, 0xb0,
+	0x60, 0x7b, 0xb9, 0x73, 0xed, 0x36, 0x5f, 0x22, 0x5f, 0xaa, 0x90, 0xa4, 0x73, 0x60, 0xe7, 0x7f,
+	0xab, 0x7c, 0xa5, 0x5c, 0xb9, 0x56, 0xa6, 0xd9, 0x36, 0xec, 0x80, 0x56, 0x8b, 0xb5, 0xda, 0xb5,
+	0x8a, 0xba, 0x92, 0x95, 0xb0, 0x5b, 0xbc, 0xaa, 0x94, 0x15, 0x15, 0xbb, 0xd8, 0x01, 0x38, 0xc1,
+	0x3b, 0x6e, 0xd5, 0x14, 0xb5, 0x5c, 0xdc, 0x50, 0xb2, 0x63, 0xf2, 0x27, 0x24, 0x58, 0x58, 0x31,
+	0x5a, 0xc6, 0x11, 0x1b, 0x77, 0x4e, 0xdc, 0xb8, 0x40, 0xdc, 0x2e, 0xcc, 0xaf, 0x9b, 0x1e, 0xf7,
+	0x77, 0x0e, 0xe3, 0x30, 0x85, 0x9e, 0xd5, 0x78, 0xc4, 0xb3, 0xba, 0x0b, 0x0b, 0xd1, 0x99, 0x3c,
+	0xc7, 0xb6, 0x3c, 0x03, 0xbd, 0x04, 0x29, 0xb6, 0x44, 0x2f, 0x27, 0x11, 0x97, 0x77, 0x04, 0x3f,
+	0x2e, 0x40, 0x41, 0x0f, 0xc2, 0x4c, 0xdb, 0xf4, 0x3c, 0xac, 0x28, 0xf1, 0xf4, 0xb4, 0x64, 0x69,
+	0x4a, 0x4d, 0x33, 0xe0, 0x36, 0x86, 0xc9, 0xbf, 0x28, 0xc1, 0xfc, 0xaa, 0xe1, 0x07, 0x0e, 0xf3,
+	0x21, 0x90, 0xf9, 0x30, 0xa4, 0xc3, 0xf4, 0x44, 0x84, 0xe3, 0xd3, 0x01, 0xbc, 0x8f, 0x6f, 0xf7,
+	0x3a, 0x1c, 0xc3, 0x9c, 0x08, 0x56, 0xf3, 0x4e, 0x72, 0xfd, 0x53, 0x12, 0x2c, 0x96, 0x74, 0xab,
+	0x6e, 0xb4, 0x7e, 0x82, 0xc4, 0x8b, 0x02, 0xf7, 0x51, 0x09, 0x16, 0xbb, 0xa9, 0x67, 0x92, 0x50,
+	0x02, 0x08, 0xb0, 0xb9, 0x2c, 0x3c, 0x38, 0x42, 0xf8, 0xa3, 0x0a, 0x68, 0xa3, 0xc9, 0x43, 0x13,
+	0x16, 0x57, 0x0d, 0x1f, 0xdb, 0xcf, 0xe0, 0x2e, 0xeb, 0xe0, 0x4c, 0x89, 0xa3, 0xf6, 0x63, 0x09,
+	0x48, 0x8b, 0xd3, 0xd0, 0xec, 0x1b, 0xbd, 0xee, 0xeb, 0xbe, 0xcb, 0x92, 0x78, 0xf6, 0x8d, 0x34,
+	0x77, 0xdd, 0x65, 0x2d, 0xc1, 0xfc, 0x4d, 0xbd, 0x65, 0x46, 0x13, 0xee, 0xfc, 0x6d, 0xc3, 0x1c,
+	0x69, 0x12, 0xf2, 0xed, 0x1e, 0xcd, 0x52, 0xd3, 0x79, 0x04, 0xd7, 0x75, 0x9c, 0x67, 0xa9, 0x49,
+	0x4b, 0x98, 0xa5, 0x3e, 0x0f, 0x74, 0x08, 0xa1, 0xaf, 0x97, 0x9b, 0x20, 0x63, 0xcf, 0x92, 0x86,
+	0xa0, 0xab, 0x87, 0x2e, 0xc2, 0x31, 0xda, 0x37, 0x6a, 0x67, 0xe8, 0x93, 0x85, 0x29, 0x95, 0x2e,
+	0x33, 0x92, 0x04, 0xf4, 0xe4, 0xbf, 0x92, 0xe0, 0x18, 0x0d, 0xff, 0x8e, 0x36, 0x02, 0x78, 0x19,
+	0xa6, 0x02, 0x2f, 0x98, 0x39, 0x22, 0xa3, 0x94, 0x8c, 0xa4, 0xb8, 0x8b, 0x2c, 0x1c, 0xab, 0x64,
+	0xe4, 0x58, 0x7d, 0x5b, 0x82, 0x63, 0x54, 0x83, 0xbf, 0x1b, 0x43, 0x9a, 0x38, 0x77, 0xe4, 0x97,
+	0x24, 0xaa, 0x7f, 0xf9, 0x7a, 0x8f, 0xc8, 0x6f, 0xea, 0x17, 0x67, 0xff, 0x9e, 0x04, 0x68, 0x35,
+	0x8c, 0x8f, 0xde, 0xed, 0xdc, 0xfb, 0x6a, 0x12, 0x52, 0x7c, 0xad, 0xb1, 0x29, 0x95, 0x17, 0x21,
+	0xc9, 0xfc, 0xdd, 0xc4, 0x1e, 0x2a, 0xc6, 0x18, 0xce, 0x1e, 0x4b, 0xd4, 0x06, 0x5e, 0xb0, 0xe7,
+	0x60, 0x92, 0x2b, 0x14, 0xfa, 0x2a, 0x80, 0x7f, 0x62, 0x15, 0x12, 0x77, 0x77, 0x7b, 0x9d, 0xaa,
+	0x90, 0xde, 0x7b, 0xdb, 0x62, 0x90, 0x1b, 0x6b, 0x12, 0xc7, 0xec, 0xb1, 0xe1, 0x27, 0x67, 0xf8,
+	0x95, 0xf5, 0x6e, 0x5c, 0x5a, 0xbc, 0x2b, 0x0c, 0x1d, 0x3f, 0x70, 0x18, 0x7a, 0x19, 0xa0, 0xad,
+	0x5b, 0x7a, 0xd3, 0x68, 0x73, 0xc9, 0x9b, 0x1e, 0x74, 0x6f, 0x80, 0xc7, 0xdb, 0x08, 0xfa, 0xab,
+	0x02, 0x2e, 0xfa, 0x10, 0xcc, 0xc7, 0x95, 0x65, 0x24, 0xf7, 0x5e, 0x96, 0x31, 0xd7, 0xee, 0xa9,
+	0xc7, 0x88, 0x5e, 0x30, 0x9b, 0x07, 0xb8, 0x60, 0x96, 0xdf, 0x92, 0x0e, 0x7a, 0x3d, 0xbc, 0x08,
+	0x88, 0x7d, 0x68, 0xd7, 0xd6, 0x36, 0x2f, 0x6b, 0xf4, 0x32, 0x78, 0xac, 0xfb, 0xda, 0x78, 0x3c,
+	0x72, 0x6d, 0x3c, 0x11, 0x5e, 0x1b, 0x27, 0xe5, 0x6f, 0x49, 0x90, 0x89, 0xb2, 0x12, 0x9d, 0x85,
+	0x34, 0xde, 0x17, 0xad, 0xe3, 0x34, 0x5d, 0xbd, 0xc1, 0x5f, 0x8e, 0x90, 0xbd, 0xda, 0xa2, 0x20,
+	0xf4, 0x00, 0xdd, 0x7c, 0xcd, 0x35, 0x1c, 0xdd, 0x74, 0x59, 0x99, 0x32, 0x60, 0x90, 0x4a, 0x20,
+	0x68, 0x0b, 0x66, 0x19, 0xba, 0x66, 0x3b, 0xfc, 0x3a, 0x73, 0xc8, 0x1d, 0x5c, 0x31, 0x9c, 0xa0,
+	0x42, 0x71, 0xd4, 0x4c, 0x27, 0xf2, 0x2d, 0xb7, 0x01, 0xf5, 0xf6, 0x42, 0xef, 0x85, 0xe3, 0xe2,
+	0x82, 0x35, 0xe1, 0x52, 0x85, 0x1e, 0xf7, 0x05, 0x61, 0xed, 0xb5, 0xe0, 0x7e, 0x65, 0x68, 0x15,
+	0xaa, 0xfc, 0x0a, 0xcc, 0xf5, 0xd4, 0x79, 0xa1, 0x12, 0x24, 0x6f, 0x99, 0x56, 0xc3, 0xbe, 0x35,
+	0xfc, 0x31, 0x8c, 0x80, 0x7c, 0x8d, 0xa0, 0xa8, 0x0c, 0x15, 0x3b, 0xb7, 0x73, 0x3d, 0xad, 0xa8,
+	0x05, 0xb9, 0x86, 0x6e, 0xb6, 0xee, 0x68, 0x62, 0x45, 0x1a, 0x9b, 0x2c, 0x31, 0xec, 0x29, 0xdc,
+	0x0a, 0xc6, 0xec, 0x19, 0xf3, 0xf2, 0x7d, 0xea, 0x62, 0x23, 0xb6, 0x65, 0x39, 0x05, 0x49, 0x7a,
+	0x3b, 0x2b, 0xd7, 0x60, 0x31, 0x1e, 0xbb, 0xeb, 0x8a, 0x2a, 0xd1, 0x7d, 0x45, 0x95, 0x87, 0x54,
+	0xa3, 0x43, 0xbd, 0x38, 0x56, 0x80, 0x1e, 0x7c, 0xcb, 0x3f, 0x9d, 0x80, 0x93, 0x42, 0x36, 0x4d,
+	0x38, 0xab, 0xef, 0x22, 0xbb, 0x71, 0x78, 0x4a, 0x27, 0x2e, 0x0a, 0xfd, 0x6b, 0x9a, 0xd0, 0xe1,
+	0x2c, 0xa8, 0x99, 0x77, 0x8d, 0x77, 0x13, 0xf1, 0xa7, 0x58, 0x75, 0x2e, 0xb5, 0x5c, 0x13, 0xc4,
+	0x72, 0x4d, 0x59, 0x81, 0xc9, 0x8a, 0xa3, 0xe8, 0x0f, 0x25, 0x38, 0xad, 0xda, 0xad, 0xd6, 0x8e,
+	0x5e, 0xbf, 0xc1, 0xc9, 0x62, 0x07, 0xeb, 0xdd, 0xee, 0x0e, 0x6c, 0xd3, 0x08, 0x4e, 0xf0, 0xa5,
+	0x58, 0x08, 0x13, 0x2d, 0x52, 0x96, 0xf6, 0x51, 0xa4, 0x2c, 0x7f, 0x43, 0x02, 0x14, 0x53, 0x27,
+	0xf0, 0x01, 0x38, 0xc9, 0x4a, 0x9b, 0xc8, 0x04, 0x58, 0x0b, 0x91, 0x87, 0x27, 0xd8, 0xb4, 0xf3,
+	0xd7, 0x74, 0x29, 0x35, 0x4f, 0xfb, 0xe0, 0x71, 0x8b, 0x5d, 0x3d, 0x50, 0x55, 0xac, 0x53, 0x36,
+	0xdb, 0xa6, 0xcf, 0x9f, 0xf7, 0x0c, 0x48, 0xf2, 0x07, 0x45, 0x4b, 0xb8, 0xbf, 0x50, 0x99, 0x4c,
+	0xd0, 0xe5, 0x5d, 0x98, 0x89, 0x74, 0xc0, 0xc1, 0x57, 0x30, 0x85, 0xf0, 0x80, 0x3b, 0xcd, 0x81,
+	0x24, 0xd8, 0xc8, 0xc1, 0x64, 0xdb, 0xb4, 0xcc, 0x76, 0xa7, 0x4d, 0xef, 0x9e, 0x54, 0xfe, 0x49,
+	0x5a, 0xf4, 0xdb, 0xa4, 0x65, 0x8c, 0xb5, 0xd0, 0x4f, 0x92, 0xf4, 0x8b, 0x2b, 0x76, 0xe9, 0xff,
+	0x90, 0xe9, 0x21, 0xc8, 0xb4, 0x4d, 0x4b, 0x74, 0xa7, 0xe8, 0x4b, 0xf1, 0x74, 0xdb, 0xb4, 0x42,
+	0x57, 0x0a, 0xf7, 0xd2, 0x6f, 0xf7, 0x3a, 0x5d, 0xe9, 0xb6, 0x7e, 0x3b, 0xec, 0x75, 0x0e, 0x66,
+	0x23, 0xfc, 0x36, 0xa8, 0xac, 0xa4, 0xd4, 0x6e, 0xb0, 0xfc, 0xa3, 0x04, 0x64, 0x6b, 0x86, 0x4f,
+	0x6b, 0xbc, 0x8e, 0x46, 0x8a, 0x9b, 0xbd, 0xe5, 0xe7, 0xf4, 0xe6, 0xf0, 0xfd, 0x03, 0x13, 0x69,
+	0x91, 0x25, 0xee, 0xbf, 0x0e, 0x7d, 0xa2, 0x4f, 0x1d, 0x7a, 0xcc, 0x81, 0x3f, 0x8c, 0x22, 0xb8,
+	0xaf, 0x4a, 0x24, 0x47, 0x29, 0x54, 0xad, 0x1f, 0x09, 0x8f, 0x05, 0x31, 0x1b, 0x8f, 0x8a, 0x59,
+	0x9c, 0x76, 0xf8, 0x23, 0xac, 0xaa, 0xb1, 0x5d, 0x5b, 0xab, 0xaa, 0xec, 0x87, 0x14, 0x8e, 0x36,
+	0xc1, 0x27, 0x2c, 0x06, 0x3d, 0x01, 0xc8, 0xc5, 0x8b, 0x30, 0xb4, 0xba, 0x6b, 0x34, 0x0c, 0x0b,
+	0x87, 0x12, 0x1e, 0xd9, 0x96, 0x94, 0x3a, 0x47, 0x5b, 0x4a, 0x61, 0x83, 0xfc, 0x49, 0x09, 0xee,
+	0x2f, 0xd9, 0x6d, 0x07, 0x87, 0xb6, 0x3f, 0xa9, 0xe5, 0x8b, 0x46, 0xe2, 0x06, 0xcc, 0xf5, 0xfc,
+	0x76, 0x00, 0x96, 0x44, 0xe1, 0xd7, 0x03, 0xd8, 0xc1, 0x95, 0x88, 0xc6, 0xc8, 0xea, 0x62, 0x6f,
+	0x7c, 0x78, 0x1f, 0x03, 0x11, 0x46, 0xd5, 0x12, 0x95, 0xab, 0x59, 0x01, 0x8e, 0x35, 0x93, 0xfc,
+	0x5d, 0x09, 0x16, 0xe3, 0x7f, 0x05, 0x00, 0xed, 0xc0, 0x0c, 0x51, 0x12, 0xc1, 0xaf, 0x41, 0xd0,
+	0xe7, 0x82, 0x2f, 0xed, 0xf5, 0xe7, 0x04, 0xa8, 0xd9, 0x67, 0x20, 0xfa, 0x0c, 0x8e, 0x7f, 0xc9,
+	0xcf, 0x42, 0x5a, 0x6c, 0xc5, 0x9e, 0x77, 0xcf, 0x03, 0xc1, 0x9a, 0x52, 0xda, 0x52, 0x95, 0xac,
+	0x84, 0xff, 0x56, 0x5e, 0xa9, 0x56, 0x6a, 0x4a, 0x36, 0x21, 0xff, 0xbd, 0x04, 0xc7, 0xb1, 0x6f,
+	0x10, 0x79, 0x81, 0x71, 0x24, 0x5b, 0xd6, 0xfb, 0x4e, 0x64, 0xfc, 0x40, 0xef, 0x44, 0xe2, 0x8e,
+	0xd3, 0x3f, 0xb2, 0xbb, 0xb8, 0x9e, 0x57, 0x12, 0x8c, 0xc2, 0x53, 0xbd, 0x14, 0x0e, 0xbb, 0x3e,
+	0x3c, 0xd5, 0x4b, 0x99, 0x48, 0x55, 0xfc, 0x3b, 0x8e, 0xf1, 0x43, 0x79, 0xc7, 0x11, 0x97, 0x10,
+	0x5e, 0xa2, 0xa9, 0x99, 0x9e, 0x2b, 0xad, 0x30, 0x79, 0x22, 0x45, 0x92, 0x27, 0x6f, 0x49, 0xd4,
+	0xff, 0x10, 0x10, 0x98, 0xff, 0xf1, 0x01, 0xf1, 0x9a, 0x6a, 0xa8, 0xfb, 0xc1, 0xf1, 0xc5, 0xab,
+	0xac, 0x47, 0x60, 0xd6, 0x32, 0x6e, 0xfb, 0x9a, 0x43, 0x12, 0x81, 0xf6, 0x0d, 0x83, 0x47, 0x33,
+	0x33, 0x18, 0x5c, 0xd5, 0x9b, 0xc6, 0x26, 0x06, 0xca, 0x3f, 0x94, 0x20, 0xc5, 0xf1, 0x51, 0x09,
+	0xc6, 0x03, 0x73, 0x9f, 0xb9, 0x58, 0x18, 0x3e, 0x63, 0xf0, 0x07, 0x29, 0xd4, 0x23, 0xc8, 0x01,
+	0x67, 0x12, 0xd1, 0xd7, 0x7d, 0xae, 0x51, 0xb7, 0xdb, 0x6d, 0xc3, 0x6a, 0x18, 0x74, 0xa7, 0x52,
+	0xaa, 0x08, 0x92, 0x4b, 0x90, 0x16, 0xc7, 0x42, 0xa7, 0xe0, 0xfe, 0xf5, 0x4a, 0xa9, 0xb8, 0xb9,
+	0x56, 0x29, 0x6b, 0x31, 0xb5, 0x57, 0x29, 0x18, 0xdf, 0xae, 0x94, 0xd9, 0x01, 0x52, 0x95, 0xd5,
+	0xb5, 0x4a, 0x39, 0x9b, 0x90, 0xbf, 0x27, 0xc1, 0x6c, 0x57, 0x74, 0x8d, 0x96, 0x61, 0xbc, 0x6e,
+	0x37, 0x38, 0x4d, 0x4b, 0x23, 0x87, 0xe5, 0x4b, 0x25, 0xbb, 0x61, 0xa8, 0x04, 0x97, 0x38, 0x34,
+	0x2c, 0xf1, 0x41, 0xa9, 0xe2, 0x9f, 0xf2, 0x25, 0x18, 0xc7, 0xfd, 0x7a, 0xae, 0x94, 0x56, 0x4b,
+	0x8a, 0x56, 0xdb, 0xac, 0x94, 0xae, 0x54, 0xb6, 0x36, 0xb3, 0x12, 0x7a, 0x00, 0x4e, 0xac, 0x5e,
+	0x51, 0xb4, 0x9a, 0xa2, 0x5e, 0x5d, 0x2b, 0x29, 0x5a, 0xb1, 0x54, 0xaa, 0x6c, 0x95, 0x37, 0x35,
+	0x5a, 0xb1, 0xb5, 0x92, 0x4d, 0xc8, 0x6b, 0xc1, 0x93, 0xe6, 0xf0, 0x25, 0x25, 0x7f, 0x43, 0x27,
+	0x45, 0x5f, 0xf6, 0x45, 0x1f, 0xd8, 0x25, 0xba, 0x1f, 0xd8, 0xc9, 0xbf, 0x20, 0xc1, 0x49, 0x2c,
+	0x55, 0x5b, 0xe4, 0x4d, 0x7d, 0xf8, 0x42, 0x78, 0x98, 0x38, 0x62, 0xf8, 0x75, 0xb3, 0xe5, 0x1b,
+	0x2e, 0x1b, 0x94, 0x7d, 0xa1, 0x13, 0x30, 0x45, 0xa4, 0x88, 0xbc, 0x3f, 0xa0, 0x7e, 0x55, 0x0a,
+	0x03, 0xc8, 0xbb, 0x03, 0x7c, 0x6a, 0x43, 0x11, 0x1b, 0x67, 0xa7, 0x36, 0x10, 0xaf, 0x2f, 0x48,
+	0x70, 0xaa, 0xcf, 0x62, 0x98, 0xa8, 0xaf, 0xc3, 0x74, 0xb8, 0x78, 0x2e, 0xec, 0x03, 0xea, 0xb7,
+	0xba, 0x47, 0x52, 0x45, 0xf4, 0x91, 0xc5, 0xfe, 0xed, 0x04, 0x9c, 0xee, 0x1e, 0x29, 0xfa, 0x36,
+	0x18, 0x53, 0x26, 0xbc, 0x23, 0x66, 0xfa, 0xc8, 0x0d, 0x9e, 0x0d, 0xcb, 0x30, 0x63, 0x3a, 0xf4,
+	0xf9, 0x01, 0x01, 0xf2, 0x64, 0x81, 0xe9, 0x94, 0xcc, 0x86, 0x4b, 0x87, 0xb8, 0x16, 0xa4, 0xde,
+	0x68, 0xcd, 0xeb, 0xcb, 0xa3, 0x93, 0x15, 0x5d, 0x4c, 0x57, 0x42, 0x4e, 0x6e, 0x06, 0x59, 0xa2,
+	0x88, 0xe0, 0x01, 0x24, 0xb7, 0xca, 0x5b, 0x35, 0x65, 0x85, 0x56, 0x22, 0xae, 0x95, 0xb5, 0xad,
+	0x5a, 0x20, 0x75, 0xd9, 0x04, 0xca, 0xc1, 0x02, 0x87, 0x5d, 0x2e, 0xaa, 0x4a, 0x71, 0x79, 0x5d,
+	0xd1, 0xaa, 0x95, 0x95, 0xec, 0x18, 0x5a, 0x04, 0xc4, 0x5a, 0x68, 0x85, 0xe0, 0x0a, 0x81, 0x8f,
+	0xcb, 0x6f, 0x25, 0x20, 0xdb, 0xbd, 0xb4, 0x2e, 0x09, 0x94, 0x7a, 0x9e, 0x78, 0x0a, 0xb2, 0x9b,
+	0x88, 0xca, 0x6e, 0x0f, 0xd3, 0xc6, 0x7a, 0x99, 0xb6, 0x0b, 0xf3, 0xe1, 0x4b, 0x6e, 0xd3, 0xa1,
+	0x1d, 0xb9, 0x33, 0xfc, 0xdc, 0x7e, 0x39, 0xa8, 0xce, 0x05, 0x83, 0xae, 0x39, 0x04, 0xe2, 0x8d,
+	0x58, 0xed, 0x2b, 0xbf, 0x1f, 0xe6, 0x7a, 0xdf, 0x60, 0x3d, 0x06, 0x73, 0x41, 0x42, 0xd1, 0x31,
+	0x5c, 0x12, 0x7a, 0x30, 0xdf, 0x25, 0xc3, 0x32, 0x84, 0x55, 0xc3, 0xc5, 0x7e, 0xc0, 0xc5, 0xcf,
+	0x14, 0x21, 0xc3, 0x22, 0x41, 0x9a, 0x28, 0x70, 0xd1, 0x3f, 0x49, 0x90, 0x16, 0x6f, 0x51, 0xd1,
+	0x80, 0x2c, 0x69, 0xcc, 0xbd, 0x6e, 0x7e, 0x69, 0xd4, 0xee, 0xf4, 0x90, 0xc9, 0x6f, 0x7c, 0xf4,
+	0x6f, 0x7f, 0xfc, 0xb9, 0xc4, 0x0d, 0x74, 0x21, 0xf8, 0x61, 0xb1, 0x37, 0xe9, 0xa1, 0x7f, 0x89,
+	0x19, 0x58, 0xaf, 0x70, 0xbe, 0x10, 0x18, 0x8f, 0xc2, 0xf9, 0x7b, 0xfc, 0x87, 0xc7, 0xbc, 0xed,
+	0x67, 0xd0, 0xd3, 0x01, 0x52, 0xd0, 0xf9, 0xcd, 0xd0, 0x52, 0xdf, 0x2b, 0x90, 0xfb, 0xb9, 0xc2,
+	0x9b, 0xf8, 0x9f, 0x10, 0x0f, 0xfd, 0x83, 0x04, 0x10, 0x56, 0xe0, 0xa1, 0x01, 0xf6, 0xb6, 0xa7,
+	0x4e, 0x2f, 0x3f, 0xfc, 0xe6, 0x58, 0xfe, 0x08, 0xa1, 0xe8, 0xb6, 0x48, 0x11, 0x3e, 0xa7, 0x7d,
+	0xe8, 0x09, 0x96, 0x55, 0x38, 0x7f, 0x6f, 0xbb, 0x84, 0x8a, 0xfb, 0xa1, 0xa8, 0xf0, 0x66, 0xe8,
+	0x6b, 0xdc, 0x43, 0x3f, 0x92, 0x60, 0x26, 0x52, 0x09, 0x89, 0x06, 0xec, 0x49, 0x5c, 0xc9, 0x64,
+	0x7e, 0x94, 0x2b, 0x51, 0xf9, 0x16, 0x21, 0xf3, 0x0d, 0x79, 0xef, 0x1b, 0xf7, 0xbc, 0x74, 0x7e,
+	0xfb, 0x7d, 0xf2, 0xbe, 0xf6, 0xee, 0x79, 0xe9, 0x3c, 0xfa, 0x37, 0x09, 0x66, 0x22, 0x85, 0x8b,
+	0x83, 0xe8, 0x8b, 0xab, 0x70, 0x1c, 0x8d, 0xbe, 0x8f, 0x49, 0x84, 0xc0, 0x8f, 0xe4, 0xf7, 0xbe,
+	0x8f, 0x98, 0xc0, 0x4b, 0xf9, 0x83, 0x6f, 0x25, 0xa6, 0xf6, 0x8b, 0x09, 0xc8, 0x44, 0x4b, 0x1b,
+	0x51, 0x61, 0x18, 0xb9, 0x5d, 0x77, 0x5e, 0xa3, 0xd1, 0xfb, 0x1d, 0x4a, 0xef, 0x37, 0xa5, 0xfc,
+	0x4b, 0x7b, 0x25, 0xb8, 0x10, 0xe4, 0x96, 0x18, 0xf1, 0xd7, 0x65, 0xfd, 0xc0, 0xc4, 0x0b, 0x83,
+	0xbe, 0x29, 0x26, 0xd1, 0xee, 0x15, 0x68, 0x25, 0x0d, 0x66, 0xce, 0x0f, 0x12, 0x91, 0x94, 0xa5,
+	0x98, 0xb7, 0x79, 0x76, 0x60, 0x6e, 0xa2, 0x7f, 0xd5, 0xe4, 0x68, 0xcc, 0xfa, 0x33, 0xca, 0xac,
+	0x1f, 0x48, 0xf2, 0xfa, 0xc1, 0x98, 0xe5, 0x19, 0xbe, 0xb0, 0x06, 0xcc, 0xbb, 0x1b, 0xf2, 0xf5,
+	0x77, 0x90, 0x77, 0x7a, 0x64, 0x32, 0xf4, 0x73, 0x09, 0x98, 0xeb, 0xa9, 0x9c, 0x44, 0x17, 0x07,
+	0xe7, 0x75, 0xe2, 0xca, 0x2c, 0x47, 0x63, 0xdb, 0xaf, 0x51, 0xb6, 0x7d, 0x46, 0x92, 0x5f, 0xdc,
+	0xfb, 0xa1, 0xf2, 0x82, 0xa9, 0x31, 0x9b, 0xca, 0xf2, 0xda, 0xc1, 0xd9, 0xd4, 0x0a, 0xc6, 0x43,
+	0x9f, 0x63, 0xb5, 0x69, 0x3d, 0xb5, 0x8f, 0x43, 0xaa, 0xc5, 0xfa, 0xd4, 0x6f, 0x8e, 0xc6, 0x8f,
+	0x2f, 0x53, 0x7e, 0xfc, 0xaa, 0x24, 0xbf, 0xbc, 0x2f, 0x7e, 0x84, 0xb3, 0x63, 0x96, 0x7c, 0x50,
+	0x10, 0xc6, 0x7d, 0xb3, 0xa4, 0x2d, 0x0e, 0x89, 0xde, 0x4a, 0xc0, 0x6c, 0x57, 0x91, 0x27, 0x7a,
+	0x72, 0x20, 0x43, 0x62, 0xea, 0x41, 0x47, 0xe3, 0xc5, 0xaf, 0x50, 0x5e, 0x7c, 0x5a, 0x92, 0x5f,
+	0xd8, 0x17, 0x2f, 0xe8, 0xc4, 0x98, 0x0f, 0x1b, 0xf2, 0xe5, 0x83, 0xf3, 0x41, 0xe7, 0xc3, 0x61,
+	0x1e, 0xa4, 0xc5, 0x72, 0xd0, 0x41, 0x1e, 0x51, 0x4c, 0xd9, 0xe8, 0x68, 0xd4, 0x7f, 0x89, 0x52,
+	0xff, 0x05, 0x49, 0x7e, 0xff, 0x3e, 0x4f, 0x06, 0x6b, 0xc2, 0x0c, 0xa8, 0xca, 0x57, 0x0e, 0xe3,
+	0x6c, 0x84, 0x23, 0xa2, 0xff, 0x95, 0x20, 0x2d, 0x96, 0x9a, 0x0e, 0xe2, 0x41, 0x4c, 0x49, 0xea,
+	0x68, 0x3c, 0xf8, 0x75, 0xca, 0x83, 0xcf, 0xee, 0x8b, 0x07, 0x1d, 0x61, 0xd6, 0x43, 0x13, 0x82,
+	0x36, 0x1f, 0x0e, 0x7d, 0x22, 0x01, 0x33, 0x91, 0xe2, 0xd0, 0x41, 0x4e, 0x47, 0x5c, 0x15, 0xe9,
+	0x68, 0x2c, 0xf8, 0x6d, 0xca, 0x82, 0x2f, 0xee, 0x5b, 0x21, 0x04, 0xd3, 0x62, 0x1e, 0x6c, 0xca,
+	0x95, 0x83, 0xfb, 0x20, 0xdd, 0xa3, 0xa2, 0x1f, 0x4b, 0x30, 0x13, 0xa9, 0x2d, 0x1d, 0xc4, 0x8a,
+	0xb8, 0x22, 0xd4, 0xd1, 0x58, 0xc1, 0xdc, 0xe8, 0xf3, 0xfb, 0x71, 0xa3, 0xcf, 0x1f, 0x82, 0x1b,
+	0xfd, 0xaf, 0x12, 0x64, 0xa2, 0x65, 0x84, 0x83, 0x1c, 0xaf, 0xd8, 0x72, 0xcb, 0xfc, 0x93, 0xa3,
+	0x23, 0xb0, 0x70, 0xa8, 0x43, 0xa8, 0xb6, 0xd1, 0x53, 0x23, 0x7b, 0xd5, 0x61, 0x65, 0xe2, 0xf6,
+	0x73, 0xe8, 0x99, 0xbd, 0xd0, 0x2d, 0xd4, 0x34, 0xfe, 0x8b, 0x04, 0x69, 0xb1, 0x7c, 0x75, 0xd0,
+	0xf9, 0x8e, 0x29, 0x73, 0xdd, 0x9b, 0x47, 0x2d, 0x12, 0x37, 0x68, 0x4b, 0xc3, 0xf5, 0xe1, 0x4d,
+	0x5d, 0x45, 0xca, 0xfe, 0x88, 0x2b, 0xbc, 0x29, 0x56, 0x92, 0xde, 0x43, 0xff, 0x2d, 0xc1, 0x6c,
+	0x57, 0xc1, 0xea, 0x20, 0x9b, 0x16, 0x5f, 0xdb, 0x9a, 0x5f, 0xe4, 0x18, 0xfc, 0x57, 0xa7, 0x97,
+	0x94, 0xb6, 0xe3, 0xdf, 0x11, 0x94, 0xd8, 0xf3, 0xfb, 0xa0, 0xf2, 0xf9, 0x3a, 0x99, 0x6d, 0x1f,
+	0xd6, 0xbc, 0x2f, 0xbd, 0xe1, 0x90, 0xf8, 0xe4, 0xce, 0x76, 0x55, 0xa5, 0x0e, 0xa2, 0x3c, 0xbe,
+	0x80, 0x35, 0xff, 0xc8, 0x20, 0xc5, 0x17, 0x76, 0xe7, 0x01, 0xe2, 0x88, 0xbb, 0x7d, 0xaf, 0xe0,
+	0x09, 0xc8, 0xdb, 0xcf, 0xa3, 0xe7, 0xf6, 0x42, 0x3d, 0xc5, 0x65, 0xb5, 0x6e, 0x58, 0x57, 0x47,
+	0x2e, 0xcf, 0xd1, 0x90, 0xa4, 0x44, 0x77, 0xc5, 0x62, 0xbe, 0x30, 0x72, 0x7f, 0x76, 0x6c, 0xbf,
+	0x40, 0x77, 0xfd, 0x53, 0x12, 0x7a, 0x69, 0xc4, 0x83, 0x2b, 0x2a, 0xac, 0xd0, 0x5d, 0xdf, 0xde,
+	0x40, 0x57, 0x0e, 0xd1, 0xfb, 0x47, 0x3f, 0x9b, 0x80, 0x69, 0xa1, 0x08, 0x12, 0xbd, 0x67, 0xe0,
+	0x6e, 0x77, 0xc7, 0x8d, 0x23, 0xd4, 0x15, 0xc8, 0x5f, 0xa3, 0x94, 0xff, 0x66, 0x84, 0xf2, 0x7d,
+	0x44, 0x42, 0xdb, 0xaf, 0xa1, 0xed, 0x77, 0x2e, 0xee, 0x41, 0x1f, 0x4b, 0x40, 0x26, 0x5a, 0x1f,
+	0x3c, 0x48, 0x9b, 0xc7, 0x56, 0x12, 0x8f, 0xa6, 0xe4, 0x7e, 0x83, 0xf2, 0xe3, 0xf3, 0x92, 0x7c,
+	0x30, 0x49, 0x38, 0x34, 0x3f, 0x4e, 0x1c, 0x11, 0x7d, 0x32, 0x01, 0x99, 0x68, 0x55, 0xf1, 0x20,
+	0x36, 0xc4, 0xd6, 0x1f, 0x8f, 0xc6, 0x86, 0x40, 0x2c, 0xce, 0x1f, 0x54, 0x2c, 0xce, 0xbf, 0x93,
+	0x62, 0xf1, 0xbd, 0x04, 0x1c, 0xef, 0x53, 0x21, 0x84, 0x06, 0x24, 0x74, 0x07, 0x17, 0x15, 0x8d,
+	0xc6, 0xa1, 0x3f, 0xa6, 0x1c, 0xfa, 0xae, 0x24, 0x5f, 0x3a, 0x58, 0x0a, 0xc1, 0x65, 0x8b, 0xc1,
+	0x12, 0xb3, 0x2b, 0xd7, 0xdf, 0x39, 0x6e, 0x89, 0x33, 0xa1, 0x3f, 0x49, 0xc0, 0xb1, 0xd8, 0x82,
+	0x39, 0xf4, 0xcc, 0x48, 0x99, 0x97, 0x9e, 0x0a, 0xbb, 0xd1, 0xb8, 0xf6, 0xe7, 0x94, 0x6b, 0x7f,
+	0x2a, 0x09, 0x47, 0x63, 0xbf, 0x89, 0x97, 0x70, 0x09, 0x98, 0x75, 0x6d, 0x79, 0xf7, 0x1d, 0xcc,
+	0xbb, 0x74, 0x4f, 0x87, 0x3e, 0x9e, 0x80, 0xa9, 0xa0, 0x48, 0x06, 0x9d, 0x1f, 0xbd, 0x92, 0x66,
+	0x34, 0x3e, 0x7d, 0x9d, 0xf2, 0xe9, 0xb7, 0x24, 0xb9, 0xb4, 0xaf, 0x40, 0x22, 0x5a, 0x46, 0x83,
+	0xf9, 0xb3, 0x25, 0x57, 0x0f, 0xce, 0x1f, 0xb7, 0x7b, 0x58, 0xcc, 0x87, 0x99, 0x48, 0xbd, 0xcd,
+	0x90, 0xc0, 0xaa, 0xa7, 0x30, 0xe7, 0x68, 0x32, 0x2d, 0xe1, 0xb4, 0x87, 0x96, 0x69, 0x69, 0x89,
+	0x43, 0xa2, 0x5f, 0x4e, 0x90, 0x0b, 0x62, 0xb1, 0xa4, 0x67, 0x60, 0xa6, 0x25, 0xb6, 0xfa, 0x67,
+	0x34, 0x5e, 0xbc, 0x4d, 0x79, 0xf1, 0x65, 0x49, 0x2e, 0xee, 0x83, 0x17, 0x64, 0x62, 0x87, 0x4f,
+	0x8c, 0xb9, 0x71, 0x55, 0xfe, 0xe0, 0x21, 0x84, 0x99, 0x3d, 0xe3, 0xa2, 0x2f, 0x25, 0x00, 0xf5,
+	0x56, 0x0a, 0xa1, 0xa7, 0x06, 0xd8, 0xed, 0x7e, 0x75, 0x45, 0xa3, 0x31, 0xe6, 0x5b, 0x94, 0x31,
+	0x5f, 0x93, 0xe4, 0x95, 0xbd, 0x33, 0xa6, 0xce, 0xe7, 0x8e, 0xf0, 0xe6, 0x55, 0x79, 0xf3, 0xe0,
+	0xbc, 0x89, 0x1d, 0x1a, 0xbd, 0x4d, 0x73, 0x73, 0x62, 0xbd, 0xee, 0x90, 0xdc, 0x5c, 0x4c, 0x69,
+	0xef, 0x68, 0x8c, 0xf9, 0x3e, 0x65, 0xcc, 0x1f, 0x48, 0xb2, 0x72, 0x60, 0xad, 0x8b, 0x27, 0xc7,
+	0x9c, 0x69, 0xca, 0x3b, 0xef, 0xac, 0xbe, 0x65, 0x13, 0xa1, 0xcf, 0xd3, 0x8a, 0xc9, 0xe8, 0xef,
+	0xb2, 0x5f, 0x18, 0xcc, 0xa8, 0x98, 0x3a, 0xa7, 0xd1, 0x38, 0xf5, 0x3b, 0x94, 0x53, 0x5f, 0x91,
+	0xe4, 0xe5, 0x7d, 0xe9, 0x99, 0xc8, 0xcc, 0x98, 0x4d, 0xd7, 0x64, 0xf5, 0x50, 0x72, 0x38, 0xdd,
+	0x03, 0xa3, 0xaf, 0xf1, 0xc7, 0xd8, 0xdd, 0xf5, 0x43, 0xc3, 0x9e, 0x47, 0xc7, 0x17, 0x49, 0x8d,
+	0xc6, 0x9e, 0x6f, 0x53, 0xf6, 0x7c, 0x63, 0x1f, 0x4e, 0x0f, 0x33, 0xd9, 0x5d, 0xb3, 0x63, 0x16,
+	0x7d, 0x48, 0xbe, 0x7a, 0x48, 0x69, 0xae, 0xde, 0xc1, 0xd1, 0x5f, 0xb2, 0x4a, 0xa8, 0x9e, 0x32,
+	0x91, 0x41, 0x7e, 0xce, 0xa0, 0x22, 0x97, 0xfc, 0xb3, 0x7b, 0xc6, 0x63, 0x41, 0x66, 0x91, 0xf0,
+	0xee, 0x05, 0xf4, 0xbe, 0x01, 0x81, 0xc5, 0xbd, 0x82, 0xde, 0x6c, 0xba, 0x46, 0x53, 0xf7, 0x8d,
+	0x46, 0xa1, 0xd3, 0xb3, 0xe6, 0xaf, 0x48, 0x34, 0x34, 0x0e, 0x93, 0xd9, 0x43, 0x42, 0xe3, 0x9e,
+	0x6c, 0x76, 0x61, 0xe4, 0xfe, 0x6c, 0xd5, 0x4b, 0x64, 0xd5, 0xe7, 0xd0, 0x23, 0x03, 0x57, 0x1d,
+	0xec, 0xf9, 0xf2, 0xf7, 0x25, 0x38, 0x59, 0xb7, 0xdb, 0x7d, 0xa7, 0x59, 0x9e, 0x2f, 0xf1, 0xdf,
+	0xdc, 0x27, 0x17, 0x2e, 0x55, 0xd7, 0xf6, 0xed, 0xaa, 0xb4, 0x5d, 0x64, 0x08, 0x4d, 0xbb, 0xa5,
+	0x5b, 0xcd, 0x25, 0xdb, 0x6d, 0x16, 0x9a, 0x86, 0x45, 0xb2, 0x33, 0x05, 0xda, 0xa4, 0x3b, 0xa6,
+	0xd7, 0xfb, 0x1f, 0x99, 0xbd, 0x10, 0x40, 0xbe, 0x99, 0x38, 0xbd, 0x4a, 0xc7, 0x28, 0xb5, 0xec,
+	0x4e, 0x63, 0xa9, 0x14, 0x4c, 0x7d, 0xf5, 0xc2, 0x32, 0xee, 0xfa, 0x43, 0xde, 0xe1, 0x35, 0xd2,
+	0xe1, 0xb5, 0xa0, 0xc3, 0x6b, 0x57, 0xe9, 0x58, 0x3b, 0x49, 0x32, 0xdf, 0x53, 0xff, 0x1f, 0x00,
+	0x00, 0xff, 0xff, 0xc6, 0x0e, 0x0e, 0x3f, 0x37, 0x6d, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -5017,7 +7683,7 @@ type ClusterManagerClient interface {
 	// Lists all clusters owned by a project in either the specified zone or all
 	// zones.
 	ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error)
-	// Gets the details of a specific cluster.
+	// Gets the details for a specific cluster.
 	GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
 	// Creates a cluster, consisting of the specified number and type of Google
 	// Compute Engine instances.
@@ -5033,10 +7699,24 @@ type ClusterManagerClient interface {
 	// Finally, an entry is added to the project's global metadata indicating
 	// which CIDR range is being used by the cluster.
 	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
-	// Updates the settings of a specific cluster.
+	// Updates the settings for a specific cluster.
 	UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Updates the version and/or image type of a specific node pool.
+	UpdateNodePool(ctx context.Context, in *UpdateNodePoolRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the autoscaling settings of a specific node pool.
+	SetNodePoolAutoscaling(ctx context.Context, in *SetNodePoolAutoscalingRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the logging service for a specific cluster.
+	SetLoggingService(ctx context.Context, in *SetLoggingServiceRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the monitoring service for a specific cluster.
+	SetMonitoringService(ctx context.Context, in *SetMonitoringServiceRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the addons for a specific cluster.
+	SetAddonsConfig(ctx context.Context, in *SetAddonsConfigRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the locations for a specific cluster.
+	SetLocations(ctx context.Context, in *SetLocationsRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Updates the master for a specific cluster.
+	UpdateMaster(ctx context.Context, in *UpdateMasterRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set.
 	// Modify basic_auth.csv and reset the K8S API server.
 	SetMasterAuth(ctx context.Context, in *SetMasterAuthRequest, opts ...grpc.CallOption) (*Operation, error)
@@ -5056,7 +7736,7 @@ type ClusterManagerClient interface {
 	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(ctx context.Context, in *GetServerConfigRequest, opts ...grpc.CallOption) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(ctx context.Context, in *ListNodePoolsRequest, opts ...grpc.CallOption) (*ListNodePoolsResponse, error)
@@ -5079,10 +7759,16 @@ type ClusterManagerClient interface {
 	StartIPRotation(ctx context.Context, in *StartIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(ctx context.Context, in *CompleteIPRotationRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Sets the size for a specific node pool.
+	SetNodePoolSize(ctx context.Context, in *SetNodePoolSizeRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(ctx context.Context, in *SetNetworkPolicyRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Sets the maintenance policy for a cluster.
 	SetMaintenancePolicy(ctx context.Context, in *SetMaintenancePolicyRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Lists subnetworks that are usable for creating clusters in a project.
+	ListUsableSubnetworks(ctx context.Context, in *ListUsableSubnetworksRequest, opts ...grpc.CallOption) (*ListUsableSubnetworksResponse, error)
+	// Used to fetch locations that offer GKE.
+	ListLocations(ctx context.Context, in *ListLocationsRequest, opts ...grpc.CallOption) (*ListLocationsResponse, error)
 }
 
 type clusterManagerClient struct {
@@ -5129,6 +7815,69 @@ func (c *clusterManagerClient) UpdateCluster(ctx context.Context, in *UpdateClus
 	return out, nil
 }
 
+func (c *clusterManagerClient) UpdateNodePool(ctx context.Context, in *UpdateNodePoolRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/UpdateNodePool", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) SetNodePoolAutoscaling(ctx context.Context, in *SetNodePoolAutoscalingRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetNodePoolAutoscaling", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) SetLoggingService(ctx context.Context, in *SetLoggingServiceRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetLoggingService", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) SetMonitoringService(ctx context.Context, in *SetMonitoringServiceRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetMonitoringService", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) SetAddonsConfig(ctx context.Context, in *SetAddonsConfigRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetAddonsConfig", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) SetLocations(ctx context.Context, in *SetLocationsRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetLocations", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) UpdateMaster(ctx context.Context, in *UpdateMasterRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/UpdateMaster", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *clusterManagerClient) SetMasterAuth(ctx context.Context, in *SetMasterAuthRequest, opts ...grpc.CallOption) (*Operation, error) {
 	out := new(Operation)
 	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetMasterAuth", in, out, opts...)
@@ -5273,6 +8022,15 @@ func (c *clusterManagerClient) CompleteIPRotation(ctx context.Context, in *Compl
 	return out, nil
 }
 
+func (c *clusterManagerClient) SetNodePoolSize(ctx context.Context, in *SetNodePoolSizeRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetNodePoolSize", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *clusterManagerClient) SetNetworkPolicy(ctx context.Context, in *SetNetworkPolicyRequest, opts ...grpc.CallOption) (*Operation, error) {
 	out := new(Operation)
 	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/SetNetworkPolicy", in, out, opts...)
@@ -5291,12 +8049,30 @@ func (c *clusterManagerClient) SetMaintenancePolicy(ctx context.Context, in *Set
 	return out, nil
 }
 
+func (c *clusterManagerClient) ListUsableSubnetworks(ctx context.Context, in *ListUsableSubnetworksRequest, opts ...grpc.CallOption) (*ListUsableSubnetworksResponse, error) {
+	out := new(ListUsableSubnetworksResponse)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/ListUsableSubnetworks", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterManagerClient) ListLocations(ctx context.Context, in *ListLocationsRequest, opts ...grpc.CallOption) (*ListLocationsResponse, error) {
+	out := new(ListLocationsResponse)
+	err := c.cc.Invoke(ctx, "/google.container.v1beta1.ClusterManager/ListLocations", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // ClusterManagerServer is the server API for ClusterManager service.
 type ClusterManagerServer interface {
 	// Lists all clusters owned by a project in either the specified zone or all
 	// zones.
 	ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error)
-	// Gets the details of a specific cluster.
+	// Gets the details for a specific cluster.
 	GetCluster(context.Context, *GetClusterRequest) (*Cluster, error)
 	// Creates a cluster, consisting of the specified number and type of Google
 	// Compute Engine instances.
@@ -5312,10 +8088,24 @@ type ClusterManagerServer interface {
 	// Finally, an entry is added to the project's global metadata indicating
 	// which CIDR range is being used by the cluster.
 	CreateCluster(context.Context, *CreateClusterRequest) (*Operation, error)
-	// Updates the settings of a specific cluster.
+	// Updates the settings for a specific cluster.
 	UpdateCluster(context.Context, *UpdateClusterRequest) (*Operation, error)
+	// Updates the version and/or image type of a specific node pool.
+	UpdateNodePool(context.Context, *UpdateNodePoolRequest) (*Operation, error)
+	// Sets the autoscaling settings of a specific node pool.
+	SetNodePoolAutoscaling(context.Context, *SetNodePoolAutoscalingRequest) (*Operation, error)
+	// Sets the logging service for a specific cluster.
+	SetLoggingService(context.Context, *SetLoggingServiceRequest) (*Operation, error)
+	// Sets the monitoring service for a specific cluster.
+	SetMonitoringService(context.Context, *SetMonitoringServiceRequest) (*Operation, error)
+	// Sets the addons for a specific cluster.
+	SetAddonsConfig(context.Context, *SetAddonsConfigRequest) (*Operation, error)
+	// Sets the locations for a specific cluster.
+	SetLocations(context.Context, *SetLocationsRequest) (*Operation, error)
+	// Updates the master for a specific cluster.
+	UpdateMaster(context.Context, *UpdateMasterRequest) (*Operation, error)
 	// Used to set master auth materials. Currently supports :-
-	// Changing the admin password of a specific cluster.
+	// Changing the admin password for a specific cluster.
 	// This can be either via password generation or explicitly set.
 	// Modify basic_auth.csv and reset the K8S API server.
 	SetMasterAuth(context.Context, *SetMasterAuthRequest) (*Operation, error)
@@ -5335,7 +8125,7 @@ type ClusterManagerServer interface {
 	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
 	// Cancels the specified operation.
 	CancelOperation(context.Context, *CancelOperationRequest) (*empty.Empty, error)
-	// Returns configuration info about the Container Engine service.
+	// Returns configuration info about the Kubernetes Engine service.
 	GetServerConfig(context.Context, *GetServerConfigRequest) (*ServerConfig, error)
 	// Lists the node pools for a cluster.
 	ListNodePools(context.Context, *ListNodePoolsRequest) (*ListNodePoolsResponse, error)
@@ -5358,10 +8148,16 @@ type ClusterManagerServer interface {
 	StartIPRotation(context.Context, *StartIPRotationRequest) (*Operation, error)
 	// Completes master IP rotation.
 	CompleteIPRotation(context.Context, *CompleteIPRotationRequest) (*Operation, error)
+	// Sets the size for a specific node pool.
+	SetNodePoolSize(context.Context, *SetNodePoolSizeRequest) (*Operation, error)
 	// Enables/Disables Network Policy for a cluster.
 	SetNetworkPolicy(context.Context, *SetNetworkPolicyRequest) (*Operation, error)
 	// Sets the maintenance policy for a cluster.
 	SetMaintenancePolicy(context.Context, *SetMaintenancePolicyRequest) (*Operation, error)
+	// Lists subnetworks that are usable for creating clusters in a project.
+	ListUsableSubnetworks(context.Context, *ListUsableSubnetworksRequest) (*ListUsableSubnetworksResponse, error)
+	// Used to fetch locations that offer GKE.
+	ListLocations(context.Context, *ListLocationsRequest) (*ListLocationsResponse, error)
 }
 
 func RegisterClusterManagerServer(s *grpc.Server, srv ClusterManagerServer) {
@@ -5440,6 +8236,132 @@ func _ClusterManager_UpdateCluster_Handler(srv interface{}, ctx context.Context,
 	return interceptor(ctx, in, info, handler)
 }
 
+func _ClusterManager_UpdateNodePool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateNodePoolRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).UpdateNodePool(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/UpdateNodePool",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).UpdateNodePool(ctx, req.(*UpdateNodePoolRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_SetNodePoolAutoscaling_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetNodePoolAutoscalingRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetNodePoolAutoscaling(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetNodePoolAutoscaling",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetNodePoolAutoscaling(ctx, req.(*SetNodePoolAutoscalingRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_SetLoggingService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetLoggingServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetLoggingService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetLoggingService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetLoggingService(ctx, req.(*SetLoggingServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_SetMonitoringService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetMonitoringServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetMonitoringService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetMonitoringService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetMonitoringService(ctx, req.(*SetMonitoringServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_SetAddonsConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetAddonsConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetAddonsConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetAddonsConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetAddonsConfig(ctx, req.(*SetAddonsConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_SetLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetLocationsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetLocations(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetLocations",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetLocations(ctx, req.(*SetLocationsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_UpdateMaster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateMasterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).UpdateMaster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/UpdateMaster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).UpdateMaster(ctx, req.(*UpdateMasterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _ClusterManager_SetMasterAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(SetMasterAuthRequest)
 	if err := dec(in); err != nil {
@@ -5728,6 +8650,24 @@ func _ClusterManager_CompleteIPRotation_Handler(srv interface{}, ctx context.Con
 	return interceptor(ctx, in, info, handler)
 }
 
+func _ClusterManager_SetNodePoolSize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetNodePoolSizeRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).SetNodePoolSize(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/SetNodePoolSize",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).SetNodePoolSize(ctx, req.(*SetNodePoolSizeRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _ClusterManager_SetNetworkPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(SetNetworkPolicyRequest)
 	if err := dec(in); err != nil {
@@ -5764,6 +8704,42 @@ func _ClusterManager_SetMaintenancePolicy_Handler(srv interface{}, ctx context.C
 	return interceptor(ctx, in, info, handler)
 }
 
+func _ClusterManager_ListUsableSubnetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListUsableSubnetworksRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).ListUsableSubnetworks(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/ListUsableSubnetworks",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).ListUsableSubnetworks(ctx, req.(*ListUsableSubnetworksRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterManager_ListLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListLocationsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterManagerServer).ListLocations(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.container.v1beta1.ClusterManager/ListLocations",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterManagerServer).ListLocations(ctx, req.(*ListLocationsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.container.v1beta1.ClusterManager",
 	HandlerType: (*ClusterManagerServer)(nil),
@@ -5784,6 +8760,34 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 			MethodName: "UpdateCluster",
 			Handler:    _ClusterManager_UpdateCluster_Handler,
 		},
+		{
+			MethodName: "UpdateNodePool",
+			Handler:    _ClusterManager_UpdateNodePool_Handler,
+		},
+		{
+			MethodName: "SetNodePoolAutoscaling",
+			Handler:    _ClusterManager_SetNodePoolAutoscaling_Handler,
+		},
+		{
+			MethodName: "SetLoggingService",
+			Handler:    _ClusterManager_SetLoggingService_Handler,
+		},
+		{
+			MethodName: "SetMonitoringService",
+			Handler:    _ClusterManager_SetMonitoringService_Handler,
+		},
+		{
+			MethodName: "SetAddonsConfig",
+			Handler:    _ClusterManager_SetAddonsConfig_Handler,
+		},
+		{
+			MethodName: "SetLocations",
+			Handler:    _ClusterManager_SetLocations_Handler,
+		},
+		{
+			MethodName: "UpdateMaster",
+			Handler:    _ClusterManager_UpdateMaster_Handler,
+		},
 		{
 			MethodName: "SetMasterAuth",
 			Handler:    _ClusterManager_SetMasterAuth_Handler,
@@ -5848,6 +8852,10 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 			MethodName: "CompleteIPRotation",
 			Handler:    _ClusterManager_CompleteIPRotation_Handler,
 		},
+		{
+			MethodName: "SetNodePoolSize",
+			Handler:    _ClusterManager_SetNodePoolSize_Handler,
+		},
 		{
 			MethodName: "SetNetworkPolicy",
 			Handler:    _ClusterManager_SetNetworkPolicy_Handler,
@@ -5856,6 +8864,14 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 			MethodName: "SetMaintenancePolicy",
 			Handler:    _ClusterManager_SetMaintenancePolicy_Handler,
 		},
+		{
+			MethodName: "ListUsableSubnetworks",
+			Handler:    _ClusterManager_ListUsableSubnetworks_Handler,
+		},
+		{
+			MethodName: "ListLocations",
+			Handler:    _ClusterManager_ListLocations_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "google/container/v1beta1/cluster_service.proto",
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
index d81f0ca7449fc50534c011ed3094095887e5fabe..d998a3f7ced34924b477c1230690e49a18983896 100644
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
+++ b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
@@ -14,6 +14,7 @@ import (
 	_ "google.golang.org/genproto/googleapis/api/httpbody"
 	_ "google.golang.org/genproto/googleapis/cloud/audit"
 	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	_ "google.golang.org/genproto/protobuf/field_mask"
 	grpc "google.golang.org/grpc"
 	math "math"
 )
@@ -239,7 +240,8 @@ func (BuildOptions_LogStreamingOption) EnumDescriptor() ([]byte, []int) {
 type BuildOptions_LoggingMode int32
 
 const (
-	// The service determines the logging mode. The default is `LEGACY`
+	// The service determines the logging mode. The default is `LEGACY`. Do not
+	// rely on the default logging behavior as it may change in the future.
 	BuildOptions_LOGGING_UNSPECIFIED BuildOptions_LoggingMode = 0
 	// Stackdriver logging and Cloud Storage logging are enabled.
 	BuildOptions_LEGACY BuildOptions_LoggingMode = 1
@@ -2784,7 +2786,12 @@ type BuildOptions struct {
 	// Option to define build log streaming behavior to Google Cloud
 	// Storage.
 	LogStreamingOption BuildOptions_LogStreamingOption `protobuf:"varint,5,opt,name=log_streaming_option,json=logStreamingOption,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_LogStreamingOption" json:"log_streaming_option,omitempty"`
-	// Option to specify the logging mode, which determines where the logs are stored.
+	// Option to specify a `WorkerPool` for the build. User specifies the pool
+	// with the format "[WORKERPOOL_PROJECT_ID]/[WORKERPOOL_NAME]".
+	// This is an experimental field.
+	WorkerPool string `protobuf:"bytes,7,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
+	// Option to specify the logging mode, which determines where the logs are
+	// stored.
 	Logging BuildOptions_LoggingMode `protobuf:"varint,11,opt,name=logging,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_LoggingMode" json:"logging,omitempty"`
 	// A list of global environment variable definitions that will exist for all
 	// build steps in this build. If a variable is defined in both globally and in
@@ -2880,6 +2887,13 @@ func (m *BuildOptions) GetLogStreamingOption() BuildOptions_LogStreamingOption {
 	return BuildOptions_STREAM_DEFAULT
 }
 
+func (m *BuildOptions) GetWorkerPool() string {
+	if m != nil {
+		return m.WorkerPool
+	}
+	return ""
+}
+
 func (m *BuildOptions) GetLogging() BuildOptions_LoggingMode {
 	if m != nil {
 		return m.Logging
@@ -2960,189 +2974,191 @@ func init() {
 }
 
 var fileDescriptor_8a9099620ac1526a = []byte{
-	// 2907 bytes of a gzipped FileDescriptorProto
+	// 2941 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcb, 0x73, 0xdb, 0xd6,
 	0xd5, 0x17, 0x48, 0x89, 0x8f, 0x43, 0x4a, 0x82, 0x6f, 0x1c, 0x99, 0xa2, 0xe3, 0x58, 0x81, 0xe3,
 	0x44, 0xb1, 0x13, 0x31, 0x92, 0x3f, 0xc7, 0x8e, 0xf2, 0xb0, 0x24, 0x8a, 0x7a, 0x4c, 0x28, 0xd2,
-	0x01, 0x49, 0x67, 0x92, 0xaf, 0x1d, 0x14, 0x24, 0xae, 0x28, 0x54, 0x20, 0x80, 0x02, 0x97, 0x6c,
-	0x95, 0x34, 0xd3, 0x69, 0xa6, 0xd3, 0x4e, 0x57, 0xed, 0x4c, 0xa7, 0x8b, 0x4e, 0x17, 0x7d, 0xac,
-	0x3b, 0x9d, 0x4e, 0xbb, 0xe8, 0x2a, 0x8b, 0xae, 0xba, 0xee, 0x74, 0xd5, 0x7d, 0xff, 0x88, 0xae,
-	0x3a, 0x9d, 0xfb, 0x00, 0x09, 0x92, 0x76, 0x40, 0xd8, 0xed, 0xc6, 0xc6, 0x3d, 0xf7, 0x9e, 0x73,
-	0xcf, 0x3d, 0xaf, 0xfb, 0x3b, 0x97, 0x82, 0x8d, 0xae, 0xe3, 0x74, 0x2d, 0x5c, 0x32, 0xf0, 0x80,
-	0x38, 0x8e, 0xe5, 0x97, 0x3a, 0x96, 0xd3, 0x37, 0xda, 0x7d, 0xd3, 0x32, 0x4a, 0x83, 0xcd, 0xd0,
-	0x68, 0xc3, 0xf5, 0x1c, 0xe2, 0xa0, 0x6b, 0x7c, 0xfd, 0x46, 0xb0, 0x7e, 0x23, 0xb4, 0x62, 0xb0,
-	0x59, 0x7c, 0x41, 0x88, 0xd3, 0x5d, 0xb3, 0xa4, 0xdb, 0xb6, 0x43, 0x74, 0x62, 0x3a, 0xb6, 0xcf,
-	0x99, 0x8b, 0xab, 0xa1, 0xd9, 0x33, 0x42, 0xdc, 0xb6, 0x63, 0x5c, 0x88, 0x29, 0x45, 0x4c, 0x31,
-	0x71, 0x25, 0xbd, 0x6f, 0x98, 0x84, 0xff, 0xab, 0x59, 0x4e, 0x57, 0xac, 0xb9, 0x21, 0xd6, 0x58,
-	0x8e, 0xdd, 0xf5, 0xfa, 0xb6, 0x6d, 0xda, 0xdd, 0x92, 0xe3, 0x62, 0x6f, 0x6c, 0x8f, 0x17, 0xc5,
-	0x22, 0x36, 0x6a, 0xf7, 0x4f, 0x4b, 0x46, 0x9f, 0x2f, 0x10, 0xf3, 0x57, 0x27, 0xe7, 0x71, 0xcf,
-	0x25, 0x81, 0x16, 0xd7, 0x27, 0x27, 0x89, 0xd9, 0xc3, 0x3e, 0xd1, 0x7b, 0x2e, 0x5f, 0xa0, 0xec,
-	0xc1, 0x25, 0x15, 0x13, 0xef, 0x62, 0x8f, 0x1e, 0x58, 0xc5, 0xdf, 0xea, 0x63, 0x9f, 0xa0, 0x6b,
-	0x00, 0xae, 0xe7, 0x7c, 0x13, 0x77, 0x88, 0x66, 0x1a, 0x05, 0x69, 0x4d, 0x5a, 0xcf, 0xaa, 0x59,
-	0x41, 0x39, 0x36, 0xd0, 0x12, 0x24, 0x4c, 0xa3, 0x90, 0x60, 0xe4, 0x84, 0x69, 0x28, 0xbf, 0x90,
-	0x60, 0x45, 0xed, 0xdb, 0x4c, 0x44, 0xd3, 0x33, 0xbb, 0x5d, 0xec, 0xcd, 0x28, 0xe9, 0x1a, 0x00,
-	0xe1, 0x0c, 0xda, 0x50, 0x62, 0x56, 0x50, 0x8e, 0x0d, 0xb4, 0x0b, 0x29, 0xdf, 0xe9, 0x7b, 0x1d,
-	0x5c, 0x48, 0xae, 0x49, 0xeb, 0xb9, 0xad, 0xd7, 0x36, 0xbe, 0xd2, 0x59, 0x1b, 0x2a, 0x76, 0x9d,
-	0x06, 0x63, 0x50, 0x05, 0xa3, 0xa2, 0xc1, 0x62, 0x83, 0x38, 0x9e, 0xde, 0xc5, 0x7c, 0x02, 0xad,
-	0x40, 0xaa, 0xdd, 0xef, 0x9c, 0x63, 0x22, 0xb4, 0x11, 0x23, 0x4a, 0x77, 0xda, 0x54, 0x2d, 0xa1,
-	0x86, 0x18, 0xa1, 0x17, 0x01, 0xba, 0xd8, 0x16, 0x3e, 0x61, 0x7a, 0x24, 0xd5, 0x10, 0x45, 0xf9,
-	0xab, 0x04, 0x30, 0xda, 0x37, 0xea, 0xc0, 0x57, 0x21, 0xeb, 0x61, 0xd7, 0xd1, 0x6c, 0xbd, 0x87,
-	0xc5, 0x46, 0x19, 0x4a, 0xa8, 0xe9, 0x3d, 0x8c, 0x5e, 0x82, 0x5c, 0xdb, 0xd3, 0xed, 0xce, 0x19,
-	0x9f, 0xa6, 0x7b, 0x65, 0x8f, 0xe6, 0x54, 0xe0, 0x44, 0xb6, 0xe4, 0x2a, 0x64, 0x88, 0xde, 0xe5,
-	0xf3, 0xf3, 0x62, 0x3e, 0x4d, 0xf4, 0x2e, 0x9b, 0xbc, 0x0e, 0xd0, 0x71, 0x7a, 0x3d, 0x93, 0x68,
-	0xfe, 0x99, 0x5e, 0x58, 0x10, 0xd3, 0x59, 0x4e, 0x6b, 0x9c, 0xe9, 0x48, 0x86, 0xa4, 0x61, 0x7a,
-	0x85, 0x34, 0xdb, 0x97, 0x7e, 0xee, 0x01, 0x64, 0x3c, 0x3c, 0x30, 0x7d, 0x7a, 0x92, 0x3f, 0x4b,
-	0x90, 0x12, 0xa7, 0x68, 0xc1, 0x92, 0xcf, 0xad, 0xa6, 0x09, 0x07, 0x24, 0x98, 0x03, 0x5e, 0x8f,
-	0x70, 0xc0, 0x98, 0xa9, 0x8f, 0xe6, 0xd4, 0x45, 0x7f, 0xcc, 0xf6, 0x55, 0xc8, 0xb1, 0xd3, 0x3f,
-	0xa5, 0x53, 0xa9, 0x2d, 0xbc, 0xe1, 0x68, 0x2f, 0x13, 0x44, 0x87, 0xf2, 0x85, 0x04, 0x40, 0xa3,
-	0x8f, 0x1c, 0xf7, 0xf4, 0x2e, 0x46, 0x08, 0xe6, 0x99, 0x81, 0xb8, 0xf5, 0xd9, 0x37, 0x75, 0xaf,
-	0x61, 0x76, 0xb1, 0x4f, 0xb8, 0x59, 0x55, 0x31, 0x42, 0x47, 0x90, 0x73, 0xfb, 0xfe, 0x99, 0x46,
-	0xcc, 0x9e, 0x69, 0x77, 0x99, 0x4d, 0x73, 0x5b, 0xaf, 0x46, 0xa8, 0xd4, 0x34, 0x7b, 0xb8, 0xe1,
-	0xea, 0xb6, 0x0a, 0x94, 0xb7, 0xc9, 0x58, 0x95, 0x1f, 0xcd, 0x43, 0x96, 0xa5, 0x40, 0x83, 0x60,
-	0xf7, 0xb1, 0x3a, 0xc8, 0x90, 0xc4, 0xf6, 0xa0, 0x90, 0x58, 0x4b, 0x52, 0xf3, 0x63, 0x7b, 0x40,
-	0x57, 0xe9, 0x5e, 0xd7, 0x2f, 0x24, 0x19, 0x89, 0x7d, 0x07, 0x4e, 0x9a, 0x1f, 0x3a, 0x49, 0xe4,
-	0xdb, 0x42, 0x90, 0x6f, 0x68, 0x15, 0x32, 0xdf, 0xd6, 0x4d, 0xa2, 0x9d, 0x3a, 0x5e, 0x21, 0xc5,
-	0x38, 0xd3, 0x74, 0x7c, 0xe0, 0x78, 0x34, 0x5a, 0xb1, 0x4d, 0xbc, 0x0b, 0xd7, 0x31, 0x6d, 0x22,
-	0x1c, 0x1d, 0xa2, 0xd0, 0xf0, 0xf4, 0x71, 0xc7, 0xc3, 0x44, 0xa3, 0x9a, 0x64, 0x18, 0x73, 0x96,
-	0x53, 0x2a, 0xf6, 0x00, 0x3d, 0x80, 0xf4, 0xc0, 0xb1, 0xfa, 0x3d, 0xec, 0x17, 0xb2, 0x6b, 0xc9,
-	0xf5, 0xdc, 0xd6, 0xcd, 0x08, 0x4b, 0x3c, 0x62, 0xab, 0xd5, 0x80, 0x0b, 0x3d, 0x80, 0x94, 0xb0,
-	0x24, 0xc4, 0xb3, 0xa4, 0x60, 0xe3, 0xfe, 0xb0, 0xac, 0xc0, 0x1f, 0x8b, 0xb1, 0xfd, 0x61, 0x59,
-	0xdc, 0x1f, 0xe8, 0x0e, 0xa4, 0x69, 0xb1, 0x73, 0xfa, 0xa4, 0x90, 0x63, 0x52, 0x56, 0x03, 0x29,
-	0x41, 0x31, 0xdc, 0xd8, 0x17, 0x95, 0x54, 0x0d, 0x56, 0xa2, 0x32, 0xa4, 0x7c, 0xa2, 0x93, 0xbe,
-	0x5f, 0xc8, 0xaf, 0x49, 0xeb, 0x4b, 0x5b, 0xb7, 0x23, 0x76, 0x66, 0x0e, 0xdf, 0x68, 0x30, 0x16,
-	0x55, 0xb0, 0x2a, 0x6f, 0x42, 0x8a, 0xdb, 0xe5, 0xb1, 0x51, 0x80, 0x60, 0xde, 0xd5, 0xc9, 0x99,
-	0xc8, 0x7e, 0xf6, 0xad, 0xfc, 0x4b, 0x82, 0xb4, 0x8a, 0xfd, 0xbe, 0x45, 0x7c, 0x5a, 0xf4, 0x4c,
-	0x1a, 0xc6, 0x3e, 0x0b, 0x94, 0xe8, 0xfc, 0x18, 0x05, 0xbe, 0x2a, 0x18, 0xd1, 0x2d, 0xb8, 0xc4,
-	0xa6, 0x35, 0x9f, 0x60, 0x57, 0x13, 0xd2, 0x78, 0x8c, 0x2d, 0xb7, 0x83, 0x10, 0x3d, 0xe6, 0x6b,
-	0x6f, 0xc3, 0x25, 0xdd, 0x23, 0xe6, 0xa9, 0xde, 0x21, 0x5a, 0x4f, 0xb7, 0xcd, 0x53, 0x9a, 0x23,
-	0x3c, 0xf8, 0xe4, 0x60, 0xe2, 0x44, 0xd0, 0xd1, 0x0d, 0x58, 0xb4, 0xfb, 0x3d, 0x2d, 0xa0, 0xfb,
-	0x2c, 0x28, 0x93, 0x6a, 0xde, 0xee, 0xf7, 0x76, 0x03, 0x1a, 0x7a, 0x1d, 0x50, 0x68, 0x77, 0xa7,
-	0x4f, 0xdc, 0x3e, 0xf1, 0x59, 0xa0, 0xe6, 0x55, 0x79, 0xb8, 0x7d, 0x9d, 0xd3, 0x15, 0x02, 0x4b,
-	0x01, 0x2b, 0xb7, 0x00, 0x2a, 0x42, 0xc6, 0x72, 0x3a, 0xbc, 0xde, 0x72, 0xc3, 0x0d, 0xc7, 0xe8,
-	0x00, 0xb2, 0xa7, 0xa6, 0x85, 0xb5, 0x33, 0xdd, 0x3f, 0x9b, 0xd1, 0x3e, 0x07, 0xa6, 0x85, 0x8f,
-	0x74, 0xff, 0x0c, 0xfb, 0x6a, 0xe6, 0x54, 0x7c, 0x2b, 0xff, 0xc8, 0xc1, 0x02, 0xf3, 0x9d, 0x48,
-	0x2e, 0x69, 0x98, 0x5c, 0xe3, 0x05, 0x5c, 0x9e, 0x2c, 0xe0, 0xa3, 0x00, 0x49, 0x3c, 0x75, 0x80,
-	0x50, 0x33, 0xf2, 0x2f, 0xcd, 0xc0, 0x44, 0x37, 0xad, 0x42, 0x81, 0x6d, 0x93, 0xe7, 0xc4, 0x7d,
-	0x46, 0x43, 0xef, 0x4d, 0x5c, 0x7e, 0x51, 0xa9, 0x38, 0x7e, 0xf1, 0xa1, 0xf7, 0x61, 0x81, 0xda,
-	0xdf, 0x2f, 0xe4, 0x98, 0x95, 0xd6, 0x67, 0xd1, 0x93, 0xfa, 0x45, 0xe5, 0x6c, 0x68, 0x07, 0xd2,
-	0x1e, 0x8f, 0x48, 0x91, 0xca, 0xaf, 0x44, 0xd6, 0x69, 0xb6, 0x5a, 0x0d, 0xd8, 0xd0, 0x3b, 0x90,
-	0xeb, 0x78, 0x58, 0x27, 0x98, 0x26, 0x33, 0x2e, 0xa4, 0x98, 0x94, 0xe2, 0x54, 0x12, 0x36, 0x03,
-	0x44, 0xa2, 0x02, 0x5f, 0x4e, 0x09, 0xe8, 0x6d, 0x00, 0x9f, 0xe8, 0x1e, 0xe1, 0xbc, 0xe9, 0x48,
-	0xde, 0x2c, 0x5b, 0xcd, 0x58, 0xdf, 0x81, 0xdc, 0xa9, 0x69, 0x9b, 0xbc, 0xa8, 0xe3, 0x42, 0x26,
-	0x7a, 0x5f, 0xbe, 0x9c, 0x31, 0x87, 0xaa, 0x46, 0x7e, 0xe6, 0xaa, 0xb1, 0x32, 0x4c, 0xd9, 0x45,
-	0x96, 0x64, 0x41, 0x1e, 0x1e, 0x40, 0x76, 0x94, 0x2a, 0x37, 0x99, 0xb8, 0x28, 0x3f, 0x0c, 0xd3,
-	0x48, 0x1d, 0xb1, 0xa2, 0xeb, 0x90, 0xb3, 0x9c, 0xae, 0xaf, 0x09, 0xe0, 0xf2, 0x1c, 0x2f, 0xeb,
-	0x94, 0xb4, 0xc7, 0xc1, 0xcb, 0xd7, 0xe0, 0x12, 0x77, 0xbb, 0xe6, 0x7a, 0xce, 0x00, 0xdb, 0xba,
-	0xdd, 0xc1, 0x85, 0xe7, 0xd9, 0x86, 0xa5, 0x99, 0xc2, 0xe6, 0xe1, 0x90, 0x4d, 0x95, 0xfd, 0x09,
-	0x0a, 0x5a, 0x07, 0x9e, 0xb6, 0x5a, 0x08, 0xab, 0xad, 0x30, 0x1d, 0x96, 0xda, 0x21, 0xcc, 0x77,
-	0x6c, 0xa0, 0x0a, 0xa4, 0x1d, 0x97, 0x81, 0xd7, 0xc2, 0x15, 0xb6, 0xfb, 0x4c, 0xe9, 0x51, 0xe7,
-	0x2c, 0x6a, 0xc0, 0x8b, 0xae, 0x40, 0xda, 0x72, 0xba, 0x5a, 0xdf, 0xb3, 0x0a, 0xab, 0xfc, 0xb6,
-	0xb6, 0x9c, 0x6e, 0xcb, 0xb3, 0xd0, 0xd7, 0x61, 0xd1, 0xef, 0xb7, 0x7d, 0x62, 0x92, 0x3e, 0xdf,
-	0xe5, 0x1a, 0x0b, 0xee, 0x7b, 0xb3, 0x25, 0x61, 0x98, 0xb3, 0x42, 0xef, 0x44, 0x75, 0x5c, 0x1a,
-	0x2d, 0xcd, 0x44, 0xef, 0xfa, 0x85, 0xeb, 0xfc, 0x3a, 0xa6, 0xdf, 0xf4, 0x4a, 0xe4, 0xf7, 0xa3,
-	0x5f, 0x58, 0x9b, 0xe9, 0x4a, 0x6c, 0xb0, 0xd5, 0x6a, 0xc0, 0x85, 0x8e, 0x86, 0x57, 0xe2, 0x4b,
-	0x8c, 0xff, 0xcd, 0x99, 0x94, 0xe5, 0x97, 0x18, 0xd7, 0x52, 0xf0, 0x17, 0x77, 0x00, 0x4d, 0x9f,
-	0x81, 0xe2, 0x85, 0x73, 0x7c, 0x21, 0x2a, 0x18, 0xfd, 0x44, 0x97, 0x61, 0x61, 0xa0, 0x5b, 0xfd,
-	0x00, 0x60, 0xf2, 0xc1, 0x76, 0xe2, 0xbe, 0x54, 0x6c, 0x43, 0x2e, 0x24, 0xf8, 0x31, 0xac, 0xef,
-	0x85, 0x59, 0x63, 0x5c, 0xbc, 0xa3, 0x3d, 0x94, 0xef, 0x41, 0x8a, 0x97, 0x3b, 0x84, 0x60, 0xa9,
-	0xd1, 0xdc, 0x6d, 0xb6, 0x1a, 0x5a, 0xab, 0xf6, 0x41, 0xad, 0xfe, 0x51, 0x4d, 0x9e, 0x43, 0x00,
-	0xa9, 0x0f, 0x5b, 0x95, 0x56, 0x65, 0x5f, 0x96, 0x50, 0x0e, 0xd2, 0x1f, 0xd5, 0xd5, 0x0f, 0x8e,
-	0x6b, 0x87, 0x72, 0x82, 0x0e, 0x1a, 0xad, 0x72, 0xb9, 0xd2, 0x68, 0xc8, 0x49, 0x3a, 0x38, 0xd8,
-	0x3d, 0xae, 0xb6, 0xd4, 0x8a, 0x3c, 0x4f, 0xc5, 0x1c, 0xd7, 0x9a, 0x15, 0xb5, 0xb6, 0x5b, 0xd5,
-	0x2a, 0xaa, 0x5a, 0x57, 0xe5, 0x05, 0xba, 0xa0, 0x79, 0x7c, 0x52, 0xa9, 0xb7, 0x9a, 0x72, 0x0a,
-	0x2d, 0x42, 0xb6, 0xbc, 0x5b, 0x2b, 0x57, 0xaa, 0xd5, 0xca, 0xbe, 0x9c, 0x56, 0xfe, 0x2d, 0x41,
-	0x76, 0x74, 0x1b, 0x8d, 0x72, 0x53, 0x1a, 0xcb, 0x4d, 0x15, 0xd2, 0x1c, 0xe1, 0xfb, 0xe2, 0xac,
-	0xf7, 0x67, 0xcd, 0xcc, 0xe1, 0x57, 0x9d, 0xf3, 0xab, 0x81, 0xa0, 0xe2, 0x0f, 0x24, 0x58, 0x9e,
-	0x98, 0xfc, 0xca, 0xdb, 0xec, 0x32, 0x2c, 0xd0, 0xeb, 0xdf, 0x17, 0x90, 0x90, 0x0f, 0x42, 0x18,
-	0x2a, 0xf9, 0x54, 0x18, 0x4a, 0xf9, 0x2e, 0x64, 0x02, 0xda, 0x44, 0x1d, 0x95, 0xe2, 0xd4, 0xd1,
-	0xbb, 0x90, 0xc1, 0xb6, 0xc1, 0x19, 0x13, 0x91, 0x8c, 0x69, 0x6c, 0x1b, 0x74, 0xa4, 0x34, 0x61,
-	0x45, 0x64, 0xb5, 0x68, 0x91, 0x4e, 0x30, 0xd1, 0x0d, 0x9d, 0xe8, 0x68, 0x1b, 0x16, 0x98, 0xd2,
-	0x42, 0x8d, 0x97, 0x67, 0x49, 0x04, 0x95, 0xb3, 0x28, 0xbf, 0x49, 0x82, 0x3c, 0x59, 0xaa, 0x90,
-	0x01, 0x57, 0x3c, 0xec, 0x3b, 0xd6, 0x00, 0x53, 0xb0, 0x31, 0xd6, 0xaf, 0x24, 0xe3, 0xf7, 0x2b,
-	0xea, 0xf3, 0x81, 0xb0, 0xf1, 0x8e, 0xf1, 0xff, 0xe1, 0xf2, 0x70, 0x97, 0x70, 0xfb, 0x92, 0x8a,
-	0xdb, 0x93, 0xa2, 0x40, 0x4c, 0xa8, 0x5f, 0xfc, 0x06, 0xbd, 0xac, 0x04, 0xa0, 0xc1, 0x7e, 0x61,
-	0x9e, 0x95, 0x88, 0x07, 0x31, 0x6b, 0x76, 0x08, 0xe3, 0xf0, 0x8a, 0x01, 0xa7, 0x43, 0x42, 0xf1,
-	0x0c, 0x96, 0x27, 0xa6, 0x1f, 0x93, 0xf7, 0x0f, 0xc6, 0xf3, 0x3e, 0x06, 0xa6, 0x0a, 0x65, 0x7e,
-	0x0d, 0x60, 0x34, 0x81, 0x76, 0xc2, 0x50, 0x4d, 0x62, 0xe7, 0xba, 0x11, 0x21, 0x96, 0x72, 0x86,
-	0x40, 0xda, 0x8f, 0x25, 0x98, 0xa7, 0x1f, 0x68, 0x07, 0xe6, 0xc9, 0x85, 0xcb, 0xc3, 0x77, 0x29,
-	0xd2, 0xa9, 0x94, 0x85, 0xfd, 0xd3, 0xbc, 0x70, 0xb1, 0xca, 0x38, 0xc7, 0x4b, 0x62, 0x5e, 0x28,
-	0xad, 0xbc, 0x06, 0x99, 0x60, 0x1d, 0xca, 0xc0, 0x7c, 0xad, 0x5e, 0xab, 0xf0, 0x12, 0xd5, 0x38,
-	0xda, 0xdd, 0xba, 0xfb, 0x96, 0x2c, 0xa1, 0x34, 0x24, 0x4f, 0xf6, 0xef, 0xca, 0x09, 0xe5, 0x4b,
-	0xda, 0x1c, 0xb3, 0x8a, 0x8e, 0xd6, 0x20, 0x7f, 0xde, 0xf3, 0xb5, 0x73, 0x7c, 0xa1, 0x85, 0xc0,
-	0x3d, 0x9c, 0xf7, 0xfc, 0x0f, 0xf0, 0x05, 0x6b, 0xc4, 0x1b, 0x63, 0x5d, 0x56, 0x92, 0x9d, 0xfd,
-	0xff, 0x66, 0xba, 0x36, 0xc4, 0x7f, 0x15, 0x7b, 0xc0, 0x1d, 0x39, 0xea, 0xcd, 0x8a, 0xef, 0xc2,
-	0xd2, 0xf8, 0x64, 0x54, 0xe5, 0xcf, 0x87, 0x7d, 0xe3, 0x00, 0x2a, 0x33, 0x74, 0x15, 0xe7, 0xa1,
-	0x67, 0x98, 0xb0, 0x89, 0xf8, 0x09, 0xbb, 0x03, 0xcb, 0x87, 0x98, 0x3c, 0xcb, 0xb3, 0xd2, 0x0f,
-	0x25, 0xb8, 0x54, 0x35, 0x7d, 0x2e, 0xc3, 0x9f, 0x51, 0xc8, 0x55, 0xc8, 0xba, 0xac, 0x0c, 0x98,
-	0x9f, 0x72, 0x2b, 0x2c, 0xa8, 0x19, 0x4a, 0x68, 0x98, 0x9f, 0xf2, 0xc7, 0x19, 0x3a, 0x49, 0x9c,
-	0x73, 0x6c, 0x8b, 0x87, 0x00, 0xb6, 0xbc, 0x49, 0x09, 0xf4, 0xaa, 0x38, 0x35, 0x2d, 0x82, 0x3d,
-	0x86, 0x19, 0xb3, 0xaa, 0x18, 0x29, 0x9f, 0x02, 0x0a, 0xeb, 0xe1, 0xbb, 0x8e, 0xed, 0x63, 0xf4,
-	0x2e, 0xa4, 0xd8, 0x49, 0x7d, 0x11, 0xdc, 0xb3, 0x59, 0x47, 0xf0, 0xa0, 0x57, 0x60, 0xd9, 0xc6,
-	0xdf, 0x21, 0x5a, 0x48, 0x1f, 0x7e, 0xf2, 0x45, 0x4a, 0x7e, 0x18, 0xe8, 0xa4, 0x94, 0x01, 0x95,
-	0x69, 0x8a, 0x5b, 0xcf, 0x62, 0xc9, 0xbf, 0xcd, 0x43, 0x3e, 0xfc, 0x3a, 0x37, 0xd5, 0xf4, 0xac,
-	0x41, 0xce, 0xc0, 0x7e, 0xc7, 0x33, 0x19, 0x00, 0x63, 0x80, 0x3f, 0xab, 0x86, 0x49, 0xa8, 0x09,
-	0x72, 0x80, 0xfe, 0x08, 0xee, 0xb9, 0x96, 0x4e, 0x02, 0x54, 0x1e, 0xa3, 0x00, 0x2e, 0x0b, 0x11,
-	0x4d, 0x21, 0x01, 0xbd, 0x1b, 0x04, 0xd8, 0xfc, 0xec, 0x01, 0x76, 0x34, 0x27, 0x42, 0x0c, 0xbd,
-	0x00, 0xac, 0x56, 0xb0, 0x24, 0xcc, 0x88, 0xd7, 0xae, 0x21, 0x65, 0xb2, 0xfd, 0x58, 0x88, 0xd5,
-	0x7e, 0x14, 0x21, 0x63, 0x98, 0xbe, 0xde, 0xb6, 0xb0, 0x51, 0xc8, 0xae, 0x49, 0xeb, 0x19, 0x75,
-	0x38, 0x46, 0xc6, 0x24, 0x08, 0xe5, 0x1d, 0xd6, 0xfb, 0xb3, 0x28, 0x2f, 0x1c, 0x30, 0x03, 0x16,
-	0xbd, 0x01, 0x8b, 0x66, 0xd7, 0x76, 0x3c, 0x6c, 0x68, 0xf4, 0x48, 0x7e, 0x61, 0x99, 0x61, 0x84,
-	0xbc, 0x20, 0xd2, 0x42, 0xeb, 0xa3, 0x9b, 0xb0, 0x64, 0xda, 0x1d, 0xab, 0x6f, 0x0c, 0x57, 0xc9,
-	0x6c, 0xd5, 0x62, 0x40, 0x65, 0xcb, 0x9e, 0x1d, 0x38, 0xee, 0xc9, 0xb0, 0x24, 0x5a, 0x00, 0xe1,
-	0x3a, 0xe5, 0xfb, 0x12, 0xac, 0x86, 0x2a, 0x4a, 0xbc, 0x77, 0xdf, 0x0a, 0xa4, 0x45, 0x28, 0x88,
-	0xd2, 0x72, 0x3b, 0x86, 0xf1, 0xd4, 0x80, 0x57, 0x79, 0x04, 0x2b, 0x41, 0x8d, 0xf9, 0x6f, 0xbe,
-	0x3b, 0x2b, 0x6f, 0x43, 0x61, 0x98, 0xf0, 0x42, 0xf0, 0x8c, 0xf5, 0x47, 0x31, 0x60, 0xf5, 0x31,
-	0xac, 0xa2, 0x64, 0x1c, 0x42, 0x46, 0x6c, 0x12, 0x14, 0x8d, 0x58, 0xe7, 0x1e, 0x32, 0x2b, 0x1f,
-	0xc3, 0xea, 0x3e, 0xb6, 0xf0, 0x53, 0xd9, 0x3e, 0xe2, 0xec, 0xbf, 0x96, 0x60, 0xb5, 0xe5, 0x1a,
-	0xfa, 0xff, 0x40, 0x76, 0xd8, 0xed, 0xc9, 0x67, 0x70, 0xfb, 0x5f, 0x32, 0xa2, 0x9c, 0x89, 0xc6,
-	0x11, 0xb5, 0x61, 0x65, 0xaa, 0xfd, 0x1d, 0xe1, 0x8e, 0xb8, 0x88, 0xe1, 0xf2, 0x64, 0x03, 0xcc,
-	0x30, 0x88, 0x4b, 0xb1, 0x26, 0x33, 0x02, 0x36, 0xb4, 0x01, 0xf6, 0xcc, 0xd3, 0x0b, 0x8d, 0xf7,
-	0xab, 0xe2, 0x25, 0xe8, 0x7e, 0x8c, 0x56, 0x77, 0xe3, 0x11, 0x13, 0xc0, 0x47, 0x14, 0x77, 0x0a,
-	0xc1, 0x61, 0x32, 0xfa, 0x04, 0xf2, 0x3d, 0xbd, 0x73, 0x66, 0xda, 0x58, 0x63, 0xe8, 0x27, 0xc9,
-	0xb6, 0xb9, 0x17, 0x67, 0x9b, 0x13, 0xce, 0xcf, 0x8e, 0x95, 0xeb, 0x8d, 0x06, 0x14, 0xc3, 0x18,
-	0xa6, 0x7f, 0xce, 0xae, 0x49, 0xad, 0xdb, 0x66, 0x58, 0x36, 0xa9, 0x02, 0xa5, 0xd1, 0x9b, 0xf2,
-	0xb0, 0x8d, 0x1c, 0x78, 0x2e, 0x5c, 0x90, 0x82, 0xb3, 0xce, 0x33, 0x25, 0xde, 0x8f, 0xa3, 0x44,
-	0xb8, 0xf4, 0x88, 0x13, 0x23, 0x7f, 0x8a, 0x86, 0x5c, 0xb8, 0x4c, 0x9b, 0x7e, 0x9f, 0x78, 0x58,
-	0xa7, 0x6d, 0x4c, 0xb0, 0xe3, 0x42, 0xfc, 0x1d, 0xab, 0x4e, 0xb7, 0x11, 0x88, 0x09, 0x76, 0xb4,
-	0xa6, 0x68, 0xe8, 0x43, 0xf6, 0xcc, 0xd0, 0xa5, 0x9d, 0x56, 0x2e, 0xbe, 0x6d, 0xab, 0x9c, 0xf5,
-	0xc4, 0x31, 0xb0, 0x1a, 0xc8, 0x09, 0x9e, 0xf8, 0xf3, 0xa3, 0x27, 0xfe, 0xf1, 0x17, 0xf7, 0xc5,
-	0xaf, 0x78, 0x71, 0x5f, 0x7a, 0x9a, 0x17, 0x77, 0x65, 0x03, 0xf2, 0x63, 0x51, 0x23, 0x43, 0xbe,
-	0x56, 0x6f, 0x6a, 0x8f, 0x2a, 0xea, 0xf1, 0xc1, 0x71, 0x65, 0x5f, 0x9e, 0x43, 0x79, 0xc8, 0x0c,
-	0x47, 0x92, 0x52, 0x86, 0x5c, 0x28, 0x2a, 0xd0, 0x32, 0xe4, 0x5a, 0xb5, 0xc6, 0xc3, 0x4a, 0x39,
-	0x58, 0x4d, 0xf9, 0x37, 0xb5, 0xa3, 0xe3, 0xc3, 0xa3, 0xf2, 0xc3, 0x96, 0x76, 0x5f, 0x96, 0xd0,
-	0x25, 0x58, 0x0c, 0x51, 0xee, 0x6c, 0xc9, 0x09, 0xe5, 0xee, 0xf8, 0x85, 0x22, 0xb6, 0x5e, 0x02,
-	0x38, 0x69, 0x35, 0x9a, 0xda, 0xc9, 0x6e, 0xb3, 0x7c, 0x24, 0xcf, 0x51, 0xd9, 0xbb, 0xd5, 0x6a,
-	0xfd, 0x23, 0xad, 0x5a, 0xaf, 0x37, 0x2a, 0xb2, 0xa4, 0x1c, 0x02, 0x9a, 0x76, 0x0d, 0x7f, 0x26,
-	0x50, 0x2b, 0xbb, 0x27, 0xda, 0x7e, 0xe5, 0x60, 0xb7, 0x55, 0x6d, 0xca, 0x73, 0xb4, 0xa5, 0x17,
-	0xb4, 0x7a, 0x4d, 0x96, 0xa8, 0xe4, 0x60, 0x78, 0x70, 0x20, 0x27, 0x94, 0x1d, 0xc8, 0x85, 0xcc,
-	0x8f, 0xae, 0xc0, 0x73, 0xd5, 0xfa, 0xe1, 0xe1, 0x71, 0xed, 0x50, 0x1b, 0x3f, 0x0c, 0x40, 0xaa,
-	0x5a, 0x39, 0xdc, 0x2d, 0x7f, 0x2c, 0x4b, 0xd4, 0x0c, 0x87, 0xe5, 0x86, 0x56, 0xaf, 0x55, 0x3f,
-	0x96, 0x13, 0x5b, 0x7f, 0x5a, 0x02, 0x28, 0x53, 0xc3, 0xf2, 0x57, 0xe0, 0x9f, 0x4a, 0x90, 0x0b,
-	0xdd, 0x66, 0x68, 0x33, 0xc2, 0x0b, 0xd3, 0x58, 0xba, 0x78, 0x2d, 0x60, 0x09, 0xfd, 0x9a, 0xbb,
-	0x31, 0x6c, 0x82, 0x95, 0xd2, 0x17, 0x7f, 0xff, 0xe7, 0xcf, 0x12, 0xaf, 0x29, 0x6b, 0xa5, 0xc1,
-	0x66, 0x49, 0x54, 0x4c, 0xbf, 0xf4, 0xd9, 0xa8, 0x9a, 0x7e, 0x5e, 0xe2, 0xd0, 0x70, 0x5b, 0xa0,
-	0x9b, 0x9f, 0x48, 0x90, 0x09, 0x6e, 0x37, 0xb4, 0x11, 0xa1, 0xcf, 0x04, 0xd4, 0x2e, 0xce, 0x84,
-	0xa4, 0x94, 0x37, 0x98, 0x4e, 0xaf, 0xa2, 0x9b, 0x51, 0x3a, 0x95, 0x3e, 0x33, 0x8d, 0xcf, 0xd1,
-	0x2f, 0x25, 0x80, 0x11, 0x10, 0x46, 0x51, 0x0f, 0x59, 0x53, 0xd8, 0xbd, 0xb8, 0x19, 0x83, 0x83,
-	0x5f, 0x99, 0xca, 0x3a, 0x53, 0x51, 0x41, 0x91, 0x66, 0x43, 0xbf, 0xa2, 0x2e, 0x1c, 0x41, 0xe5,
-	0x68, 0x17, 0x4e, 0xc1, 0xea, 0x19, 0xad, 0x76, 0x8f, 0xa9, 0xb4, 0xa9, 0xbc, 0x3e, 0x93, 0xd5,
-	0xb6, 0x3b, 0x6c, 0x9f, 0x6d, 0xe9, 0x16, 0xfa, 0x39, 0xfb, 0xa9, 0x38, 0xf8, 0xb1, 0x3d, 0xd2,
-	0x7e, 0x53, 0xbf, 0xcb, 0x47, 0x85, 0xd8, 0x5b, 0x4c, 0xb1, 0x37, 0x95, 0xdb, 0xb3, 0x29, 0xe6,
-	0x51, 0xf9, 0x54, 0xaf, 0x3f, 0x48, 0x63, 0xcd, 0x61, 0xd0, 0x24, 0xdc, 0x9f, 0x3d, 0x07, 0xc6,
-	0x51, 0x42, 0x31, 0xce, 0xb5, 0xae, 0xdc, 0x61, 0x5a, 0xbf, 0xa1, 0x28, 0x4f, 0xd6, 0x3a, 0xc0,
-	0x3d, 0xdb, 0x01, 0x04, 0x40, 0xbf, 0x97, 0x46, 0xed, 0x65, 0xa0, 0xef, 0xdd, 0x19, 0x73, 0xe4,
-	0x59, 0x94, 0x15, 0xbe, 0x47, 0xa5, 0x68, 0x65, 0x4b, 0x9f, 0x8d, 0xa0, 0xd0, 0xe7, 0xe8, 0x8f,
-	0xe1, 0x66, 0x36, 0x00, 0x86, 0xe8, 0xde, 0xac, 0x09, 0x31, 0x81, 0x42, 0x8b, 0xf7, 0xe3, 0x33,
-	0x8a, 0x84, 0xba, 0xc5, 0x4e, 0xf0, 0x32, 0x9a, 0xc1, 0xdc, 0x34, 0xa5, 0xd0, 0x34, 0xce, 0x8c,
-	0x0c, 0x8c, 0x27, 0x42, 0xd3, 0xe2, 0xca, 0x54, 0xfb, 0x55, 0xe9, 0xb9, 0xe4, 0x22, 0x30, 0xeb,
-	0xad, 0xd8, 0x66, 0xfd, 0x52, 0x02, 0x34, 0x8d, 0x56, 0x23, 0x35, 0x7c, 0x22, 0xc0, 0x8d, 0x17,
-	0x0d, 0x3b, 0x4c, 0xed, 0xed, 0xad, 0xb8, 0x6a, 0x8f, 0xe2, 0xf8, 0x77, 0x12, 0x2c, 0x4f, 0xfc,
-	0xe9, 0x4c, 0x64, 0x1c, 0x3f, 0xfe, 0x4f, 0x6d, 0xa2, 0x8a, 0x43, 0x99, 0xe9, 0xfa, 0x9e, 0x72,
-	0x27, 0xae, 0xae, 0x5e, 0xdf, 0xde, 0x16, 0x3f, 0x2a, 0xee, 0x9d, 0x43, 0xa1, 0xe3, 0xf4, 0x82,
-	0x8d, 0xc6, 0xd4, 0x7a, 0x28, 0x7d, 0x72, 0x28, 0xe8, 0x5d, 0xc7, 0xd2, 0xed, 0xee, 0x86, 0xe3,
-	0x75, 0x4b, 0x5d, 0x6c, 0x33, 0x57, 0x97, 0xf8, 0x94, 0xee, 0x9a, 0xfe, 0x13, 0xfe, 0x32, 0xeb,
-	0x9d, 0xd1, 0xe8, 0xb7, 0x89, 0xe4, 0x61, 0x79, 0xaf, 0x9d, 0x62, 0x9c, 0x77, 0xfe, 0x13, 0x00,
-	0x00, 0xff, 0xff, 0x40, 0x2c, 0x39, 0x53, 0xd2, 0x25, 0x00, 0x00,
+	0x01, 0x49, 0x67, 0x92, 0xef, 0xfb, 0x06, 0x05, 0x89, 0x2b, 0x0a, 0x15, 0x08, 0xa0, 0xc0, 0x25,
+	0x53, 0x25, 0xcd, 0x74, 0x9a, 0xe9, 0xb4, 0xd3, 0x55, 0x3b, 0xd3, 0xe9, 0xa2, 0xd3, 0x45, 0x1f,
+	0xeb, 0x4e, 0xa7, 0xd3, 0x2e, 0xba, 0xca, 0xba, 0xeb, 0x4e, 0x57, 0xdd, 0x76, 0xfa, 0x47, 0x74,
+	0xd5, 0xe9, 0xdc, 0x07, 0x48, 0x90, 0xb4, 0x03, 0xc2, 0x6e, 0x37, 0x36, 0xee, 0xb9, 0xf7, 0x9c,
+	0x7b, 0xee, 0x79, 0xdd, 0xdf, 0xb9, 0x14, 0x6c, 0x74, 0x1d, 0xa7, 0x6b, 0xe1, 0x92, 0x81, 0x07,
+	0xc4, 0x71, 0x2c, 0xbf, 0xd4, 0xb1, 0x9c, 0xbe, 0xd1, 0xee, 0x9b, 0x96, 0x51, 0x1a, 0x6c, 0x86,
+	0x46, 0x1b, 0xae, 0xe7, 0x10, 0x07, 0x5d, 0xe3, 0xeb, 0x37, 0x82, 0xf5, 0x1b, 0xa1, 0x15, 0x83,
+	0xcd, 0xe2, 0x0b, 0x42, 0x9c, 0xee, 0x9a, 0x25, 0xdd, 0xb6, 0x1d, 0xa2, 0x13, 0xd3, 0xb1, 0x7d,
+	0xce, 0x5c, 0x5c, 0x0d, 0xcd, 0x9e, 0x11, 0xe2, 0xb6, 0x1d, 0xe3, 0x42, 0x4c, 0x29, 0x62, 0x8a,
+	0x89, 0x2b, 0xe9, 0x7d, 0xc3, 0x24, 0xfc, 0x5f, 0xcd, 0x72, 0xba, 0x62, 0xcd, 0x0d, 0xb1, 0xc6,
+	0x72, 0xec, 0xae, 0xd7, 0xb7, 0x6d, 0xd3, 0xee, 0x96, 0x1c, 0x17, 0x7b, 0x63, 0x7b, 0xbc, 0x28,
+	0x16, 0xb1, 0x51, 0xbb, 0x7f, 0x5a, 0x32, 0xfa, 0x7c, 0x81, 0x98, 0xbf, 0x3a, 0x39, 0x8f, 0x7b,
+	0x2e, 0x09, 0xb4, 0x58, 0x9b, 0x9c, 0x3c, 0x35, 0xb1, 0x65, 0x68, 0x3d, 0xdd, 0x3f, 0x17, 0x2b,
+	0xae, 0x4f, 0xae, 0x20, 0x66, 0x0f, 0xfb, 0x44, 0xef, 0xb9, 0x7c, 0x81, 0xb2, 0x07, 0x97, 0x54,
+	0x4c, 0xbc, 0x8b, 0x3d, 0x6a, 0x12, 0x15, 0x7f, 0xab, 0x8f, 0x7d, 0x82, 0xae, 0x01, 0xb8, 0x9e,
+	0xf3, 0x4d, 0xdc, 0x21, 0x9a, 0x69, 0x14, 0xa4, 0x35, 0x69, 0x3d, 0xab, 0x66, 0x05, 0xe5, 0xd8,
+	0x40, 0x4b, 0x90, 0x30, 0x8d, 0x42, 0x82, 0x91, 0x13, 0xa6, 0xa1, 0xfc, 0x5c, 0x82, 0x15, 0xb5,
+	0x6f, 0x33, 0x11, 0x4d, 0xcf, 0xec, 0x76, 0xb1, 0x37, 0xa3, 0xa4, 0x6b, 0x00, 0x84, 0x33, 0x68,
+	0x43, 0x89, 0x59, 0x41, 0x39, 0x36, 0xd0, 0x2e, 0xa4, 0x7c, 0xa7, 0xef, 0x75, 0x70, 0x21, 0xb9,
+	0x26, 0xad, 0xe7, 0xb6, 0x5e, 0xdb, 0xf8, 0x5a, 0x77, 0x6e, 0xa8, 0xd8, 0x75, 0x1a, 0x8c, 0x41,
+	0x15, 0x8c, 0x8a, 0x06, 0x8b, 0x0d, 0xe2, 0x78, 0x7a, 0x17, 0xf3, 0x09, 0xb4, 0x02, 0xa9, 0x76,
+	0xbf, 0x73, 0x8e, 0x89, 0xd0, 0x46, 0x8c, 0x28, 0xdd, 0x69, 0x53, 0xb5, 0x84, 0x1a, 0x62, 0x84,
+	0x5e, 0x04, 0xe8, 0x62, 0x5b, 0x78, 0x8d, 0xe9, 0x91, 0x54, 0x43, 0x14, 0xe5, 0xcf, 0x12, 0xc0,
+	0x68, 0xdf, 0xa8, 0x03, 0x5f, 0x85, 0xac, 0x87, 0x5d, 0x47, 0xb3, 0xf5, 0x1e, 0x16, 0x1b, 0x65,
+	0x28, 0xa1, 0xa6, 0xf7, 0x30, 0x7a, 0x09, 0x72, 0x6d, 0x4f, 0xb7, 0x3b, 0x67, 0x7c, 0x9a, 0xee,
+	0x95, 0x3d, 0x9a, 0x53, 0x81, 0x13, 0xd9, 0x92, 0xab, 0x90, 0x21, 0x7a, 0x97, 0xcf, 0xcf, 0x8b,
+	0xf9, 0x34, 0xd1, 0xbb, 0x6c, 0xf2, 0x3a, 0x40, 0xc7, 0xe9, 0xf5, 0x4c, 0xa2, 0xf9, 0x67, 0x7a,
+	0x61, 0x41, 0x4c, 0x67, 0x39, 0xad, 0x71, 0xa6, 0x23, 0x19, 0x92, 0x86, 0xe9, 0x15, 0xd2, 0x6c,
+	0x5f, 0xfa, 0xb9, 0x07, 0x90, 0xf1, 0xf0, 0xc0, 0xf4, 0xe9, 0x49, 0xfe, 0x24, 0x41, 0x4a, 0x9c,
+	0xa2, 0x05, 0x4b, 0x3e, 0xb7, 0x9a, 0x26, 0x1c, 0x90, 0x60, 0x0e, 0x78, 0x3d, 0xc2, 0x01, 0x63,
+	0xa6, 0x3e, 0x9a, 0x53, 0x17, 0xfd, 0x31, 0xdb, 0x57, 0x21, 0xc7, 0x4e, 0xff, 0x94, 0x4e, 0xa5,
+	0xb6, 0xf0, 0x86, 0xa3, 0xbd, 0x4c, 0x10, 0x1d, 0xca, 0x97, 0x12, 0x00, 0x8d, 0x3e, 0x72, 0xdc,
+	0xd3, 0xbb, 0x18, 0x21, 0x98, 0x67, 0x06, 0xe2, 0xd6, 0x67, 0xdf, 0xd4, 0xbd, 0x86, 0xd9, 0xc5,
+	0x3e, 0xe1, 0x66, 0x55, 0xc5, 0x08, 0x1d, 0x41, 0xce, 0xed, 0xfb, 0x67, 0x1a, 0x31, 0x7b, 0xa6,
+	0xdd, 0x65, 0x36, 0xcd, 0x6d, 0xbd, 0x1a, 0xa1, 0x52, 0xd3, 0xec, 0xe1, 0x86, 0xab, 0xdb, 0x2a,
+	0x50, 0xde, 0x26, 0x63, 0x55, 0x7e, 0x38, 0x0f, 0x59, 0x96, 0x02, 0x0d, 0x82, 0xdd, 0xc7, 0xea,
+	0x20, 0x43, 0x12, 0xdb, 0x83, 0x42, 0x62, 0x2d, 0x49, 0xcd, 0x8f, 0xed, 0x01, 0x5d, 0xa5, 0x7b,
+	0x5d, 0xbf, 0x90, 0x64, 0x24, 0xf6, 0x1d, 0x38, 0x69, 0x7e, 0xe8, 0x24, 0x91, 0x6f, 0x0b, 0x41,
+	0xbe, 0xa1, 0x55, 0xc8, 0x7c, 0xaa, 0x9b, 0x44, 0x3b, 0x75, 0xbc, 0x42, 0x8a, 0x71, 0xa6, 0xe9,
+	0xf8, 0xc0, 0xf1, 0x68, 0xb4, 0x62, 0x9b, 0x78, 0x17, 0xae, 0x63, 0xda, 0x44, 0x38, 0x3a, 0x44,
+	0xa1, 0xe1, 0xe9, 0xe3, 0x8e, 0x87, 0x89, 0x46, 0x35, 0xc9, 0x30, 0xe6, 0x2c, 0xa7, 0x54, 0xec,
+	0x01, 0x7a, 0x00, 0xe9, 0x81, 0x63, 0xf5, 0x7b, 0xd8, 0x2f, 0x64, 0xd7, 0x92, 0xeb, 0xb9, 0xad,
+	0x9b, 0x11, 0x96, 0x78, 0xc4, 0x56, 0xab, 0x01, 0x17, 0x7a, 0x00, 0x29, 0x61, 0x49, 0x88, 0x67,
+	0x49, 0xc1, 0xc6, 0xfd, 0x61, 0x59, 0x81, 0x3f, 0x16, 0x63, 0xfb, 0xc3, 0xb2, 0xb8, 0x3f, 0xd0,
+	0x1d, 0x48, 0xd3, 0x62, 0xe7, 0xf4, 0x49, 0x21, 0xc7, 0xa4, 0xac, 0x06, 0x52, 0x82, 0x62, 0xb8,
+	0xb1, 0x2f, 0x6a, 0xad, 0x1a, 0xac, 0x44, 0x65, 0x48, 0xf9, 0x44, 0x27, 0x7d, 0xbf, 0x90, 0x5f,
+	0x93, 0xd6, 0x97, 0xb6, 0x6e, 0x47, 0xec, 0xcc, 0x1c, 0xbe, 0xd1, 0x60, 0x2c, 0xaa, 0x60, 0x55,
+	0xde, 0x84, 0x14, 0xb7, 0xcb, 0x63, 0xa3, 0x00, 0xc1, 0xbc, 0xab, 0x93, 0x33, 0x91, 0xfd, 0xec,
+	0x5b, 0xf9, 0xa7, 0x04, 0x69, 0x15, 0xfb, 0x7d, 0x8b, 0xf8, 0xb4, 0xe8, 0x99, 0x34, 0x8c, 0x7d,
+	0x16, 0x28, 0xd1, 0xf9, 0x31, 0x0a, 0x7c, 0x55, 0x30, 0xa2, 0x5b, 0x70, 0x89, 0x4d, 0x6b, 0x3e,
+	0xc1, 0xae, 0x26, 0xa4, 0xf1, 0x18, 0x5b, 0x6e, 0x07, 0x21, 0x7a, 0xcc, 0xd7, 0xde, 0x86, 0x4b,
+	0xba, 0x47, 0xcc, 0x53, 0xbd, 0x43, 0xb4, 0x9e, 0x6e, 0x9b, 0xa7, 0x34, 0x47, 0x78, 0xf0, 0xc9,
+	0xc1, 0xc4, 0x89, 0xa0, 0xa3, 0x1b, 0xb0, 0x68, 0xf7, 0x7b, 0x5a, 0x40, 0xf7, 0x59, 0x50, 0x26,
+	0xd5, 0xbc, 0xdd, 0xef, 0xed, 0x06, 0x34, 0xf4, 0x3a, 0xa0, 0xd0, 0xee, 0x4e, 0x9f, 0xb8, 0x7d,
+	0xe2, 0xb3, 0x40, 0xcd, 0xab, 0xf2, 0x70, 0xfb, 0x3a, 0xa7, 0x2b, 0x04, 0x96, 0x02, 0x56, 0x6e,
+	0x01, 0x54, 0x84, 0x8c, 0xe5, 0x74, 0x78, 0xbd, 0xe5, 0x86, 0x1b, 0x8e, 0xd1, 0x01, 0x64, 0x4f,
+	0x4d, 0x0b, 0x6b, 0x67, 0xba, 0x7f, 0x36, 0xa3, 0x7d, 0x0e, 0x4c, 0x0b, 0x1f, 0xe9, 0xfe, 0x19,
+	0xf6, 0xd5, 0xcc, 0xa9, 0xf8, 0x56, 0xfe, 0x96, 0x83, 0x05, 0xe6, 0x3b, 0x91, 0x5c, 0xd2, 0x30,
+	0xb9, 0xc6, 0x0b, 0xb8, 0x3c, 0x59, 0xc0, 0x47, 0x01, 0x92, 0x78, 0xea, 0x00, 0xa1, 0x66, 0xe4,
+	0x5f, 0x9a, 0x81, 0x89, 0x6e, 0x5a, 0x85, 0x02, 0xdb, 0x26, 0xcf, 0x89, 0xfb, 0x8c, 0x86, 0xde,
+	0x9b, 0xb8, 0xfc, 0xa2, 0x52, 0x71, 0xfc, 0xe2, 0x43, 0xef, 0xc3, 0x02, 0xb5, 0xbf, 0x5f, 0xc8,
+	0x31, 0x2b, 0xad, 0xcf, 0xa2, 0x27, 0xf5, 0x8b, 0xca, 0xd9, 0xd0, 0x0e, 0xa4, 0x3d, 0x1e, 0x91,
+	0x22, 0x95, 0x5f, 0x89, 0xac, 0xd3, 0x6c, 0xb5, 0x1a, 0xb0, 0xa1, 0x77, 0x20, 0xd7, 0xf1, 0xb0,
+	0x4e, 0x30, 0x4d, 0x66, 0x5c, 0x48, 0x31, 0x29, 0xc5, 0xa9, 0x24, 0x6c, 0x06, 0x88, 0x44, 0x05,
+	0xbe, 0x9c, 0x12, 0xd0, 0xdb, 0x00, 0x3e, 0xd1, 0x3d, 0xc2, 0x79, 0xd3, 0x91, 0xbc, 0x59, 0xb6,
+	0x9a, 0xb1, 0xbe, 0x03, 0xb9, 0x53, 0xd3, 0x36, 0x79, 0x51, 0xc7, 0x85, 0x4c, 0xf4, 0xbe, 0x7c,
+	0x39, 0x63, 0x0e, 0x55, 0x8d, 0xfc, 0xcc, 0x55, 0x63, 0x65, 0x98, 0xb2, 0x8b, 0x2c, 0xc9, 0x82,
+	0x3c, 0x3c, 0x80, 0xec, 0x28, 0x55, 0x6e, 0x32, 0x71, 0x51, 0x7e, 0x18, 0xa6, 0x91, 0x3a, 0x62,
+	0x45, 0xd7, 0x21, 0x67, 0x39, 0x5d, 0x5f, 0x13, 0xc0, 0xe5, 0x39, 0x5e, 0xd6, 0x29, 0x69, 0x8f,
+	0x83, 0x97, 0xff, 0x83, 0x4b, 0xdc, 0xed, 0x9a, 0xeb, 0x39, 0x03, 0x6c, 0xeb, 0x76, 0x07, 0x17,
+	0x9e, 0x67, 0x1b, 0x96, 0x66, 0x0a, 0x9b, 0x87, 0x43, 0x36, 0x55, 0xf6, 0x27, 0x28, 0x68, 0x1d,
+	0x78, 0xda, 0x6a, 0x21, 0xac, 0xb6, 0xc2, 0x74, 0x58, 0x6a, 0x87, 0x30, 0xdf, 0xb1, 0x81, 0x2a,
+	0x90, 0x76, 0x5c, 0x06, 0x6f, 0x0b, 0x57, 0xd8, 0xee, 0x33, 0xa5, 0x47, 0x9d, 0xb3, 0xa8, 0x01,
+	0x2f, 0xba, 0x02, 0x69, 0xcb, 0xe9, 0x6a, 0x7d, 0xcf, 0x2a, 0xac, 0xf2, 0xdb, 0xda, 0x72, 0xba,
+	0x2d, 0xcf, 0x42, 0xff, 0x0f, 0x8b, 0x7e, 0xbf, 0xed, 0x13, 0x93, 0xf4, 0xf9, 0x2e, 0xd7, 0x58,
+	0x70, 0xdf, 0x9b, 0x2d, 0x09, 0xc3, 0x9c, 0x15, 0x7a, 0x27, 0xaa, 0xe3, 0xd2, 0x68, 0x69, 0x26,
+	0x7a, 0xd7, 0x2f, 0x5c, 0xe7, 0xd7, 0x31, 0xfd, 0xa6, 0x57, 0x22, 0xbf, 0x1f, 0xfd, 0xc2, 0xda,
+	0x4c, 0x57, 0x62, 0x83, 0xad, 0x56, 0x03, 0x2e, 0x74, 0x34, 0xbc, 0x12, 0x5f, 0x62, 0xfc, 0x6f,
+	0xce, 0xa4, 0x2c, 0xbf, 0xc4, 0xb8, 0x96, 0x82, 0xbf, 0xb8, 0x03, 0x68, 0xfa, 0x0c, 0x14, 0x2f,
+	0x9c, 0xe3, 0x0b, 0x51, 0xc1, 0xe8, 0x27, 0xba, 0x0c, 0x0b, 0x03, 0xdd, 0xea, 0x07, 0x00, 0x93,
+	0x0f, 0xb6, 0x13, 0xf7, 0xa5, 0x62, 0x1b, 0x72, 0x21, 0xc1, 0x8f, 0x61, 0x7d, 0x2f, 0xcc, 0x1a,
+	0xe3, 0xe2, 0x1d, 0xed, 0xa1, 0x7c, 0x17, 0x52, 0xbc, 0xdc, 0x21, 0x04, 0x4b, 0x8d, 0xe6, 0x6e,
+	0xb3, 0xd5, 0xd0, 0x5a, 0xb5, 0x0f, 0x6a, 0xf5, 0x8f, 0x6a, 0xf2, 0x1c, 0x02, 0x48, 0x7d, 0xd8,
+	0xaa, 0xb4, 0x2a, 0xfb, 0xb2, 0x84, 0x72, 0x90, 0xfe, 0xa8, 0xae, 0x7e, 0x70, 0x5c, 0x3b, 0x94,
+	0x13, 0x74, 0xd0, 0x68, 0x95, 0xcb, 0x95, 0x46, 0x43, 0x4e, 0xd2, 0xc1, 0xc1, 0xee, 0x71, 0xb5,
+	0xa5, 0x56, 0xe4, 0x79, 0x2a, 0xe6, 0xb8, 0xd6, 0xac, 0xa8, 0xb5, 0xdd, 0xaa, 0x56, 0x51, 0xd5,
+	0xba, 0x2a, 0x2f, 0xd0, 0x05, 0xcd, 0xe3, 0x93, 0x4a, 0xbd, 0xd5, 0x94, 0x53, 0x68, 0x11, 0xb2,
+	0xe5, 0xdd, 0x5a, 0xb9, 0x52, 0xad, 0x56, 0xf6, 0xe5, 0xb4, 0xf2, 0x2f, 0x09, 0xb2, 0xa3, 0xdb,
+	0x68, 0x94, 0x9b, 0xd2, 0x58, 0x6e, 0xaa, 0x90, 0xe6, 0x08, 0xdf, 0x17, 0x67, 0xbd, 0x3f, 0x6b,
+	0x66, 0x0e, 0xbf, 0xea, 0x9c, 0x5f, 0x0d, 0x04, 0x15, 0xbf, 0x2f, 0xc1, 0xf2, 0xc4, 0xe4, 0xd7,
+	0xde, 0x66, 0x97, 0x61, 0x81, 0x5e, 0xff, 0xbe, 0x80, 0x84, 0x7c, 0x10, 0xc2, 0x50, 0xc9, 0xa7,
+	0xc2, 0x50, 0xca, 0x77, 0x20, 0x13, 0xd0, 0x26, 0xea, 0xa8, 0x14, 0xa7, 0x8e, 0xde, 0x85, 0x0c,
+	0xb6, 0x0d, 0xce, 0x98, 0x88, 0x64, 0x4c, 0x63, 0xdb, 0xa0, 0x23, 0xa5, 0x09, 0x2b, 0x22, 0xab,
+	0x45, 0x8b, 0x74, 0x82, 0x89, 0x6e, 0xe8, 0x44, 0x47, 0xdb, 0xb0, 0xc0, 0x94, 0x16, 0x6a, 0xbc,
+	0x3c, 0x4b, 0x22, 0xa8, 0x9c, 0x45, 0xf9, 0x75, 0x12, 0xe4, 0xc9, 0x52, 0x85, 0x0c, 0xb8, 0xe2,
+	0x61, 0xdf, 0xb1, 0x06, 0x98, 0x82, 0x8d, 0xb1, 0x7e, 0x25, 0x19, 0xbf, 0x5f, 0x51, 0x9f, 0x0f,
+	0x84, 0x8d, 0x77, 0x8c, 0xff, 0x0b, 0x97, 0x87, 0xbb, 0x84, 0xdb, 0x97, 0x54, 0xdc, 0x9e, 0x14,
+	0x05, 0x62, 0x42, 0xfd, 0xe2, 0x37, 0xe8, 0x65, 0x25, 0x00, 0x0d, 0xf6, 0x0b, 0xf3, 0xac, 0x44,
+	0x3c, 0x88, 0x59, 0xb3, 0x43, 0x18, 0x87, 0x57, 0x0c, 0x38, 0x1d, 0x12, 0x8a, 0x67, 0xb0, 0x3c,
+	0x31, 0xfd, 0x98, 0xbc, 0x7f, 0x30, 0x9e, 0xf7, 0x31, 0x30, 0x55, 0x28, 0xf3, 0x6b, 0x00, 0xa3,
+	0x09, 0xb4, 0x13, 0x86, 0x6a, 0x12, 0x3b, 0xd7, 0x8d, 0x08, 0xb1, 0x94, 0x33, 0x04, 0xd2, 0x7e,
+	0x24, 0xc1, 0x3c, 0xfd, 0x40, 0x3b, 0x30, 0x4f, 0x2e, 0x5c, 0x1e, 0xbe, 0x4b, 0x91, 0x4e, 0xa5,
+	0x2c, 0xec, 0x9f, 0xe6, 0x85, 0x8b, 0x55, 0xc6, 0x39, 0x5e, 0x12, 0xf3, 0x42, 0x69, 0xe5, 0x35,
+	0xc8, 0x04, 0xeb, 0x50, 0x06, 0xe6, 0x6b, 0xf5, 0x5a, 0x85, 0x97, 0xa8, 0xc6, 0xd1, 0xee, 0xd6,
+	0xdd, 0xb7, 0x64, 0x09, 0xa5, 0x21, 0x79, 0xb2, 0x7f, 0x57, 0x4e, 0x28, 0x5f, 0xd1, 0xe6, 0x98,
+	0x55, 0x74, 0xb4, 0x06, 0xf9, 0xf3, 0x9e, 0xaf, 0x9d, 0xe3, 0x0b, 0x2d, 0x04, 0xee, 0xe1, 0xbc,
+	0xe7, 0x7f, 0x80, 0x2f, 0x58, 0x23, 0xde, 0x18, 0xeb, 0xb2, 0x92, 0xec, 0xec, 0xff, 0x33, 0xd3,
+	0xb5, 0x21, 0xfe, 0xab, 0xd8, 0x03, 0xee, 0xc8, 0x51, 0x6f, 0x56, 0x7c, 0x17, 0x96, 0xc6, 0x27,
+	0xa3, 0x2a, 0x7f, 0x3e, 0xec, 0x1b, 0x07, 0x50, 0x99, 0xa1, 0xab, 0x38, 0x0f, 0x3d, 0xc3, 0x84,
+	0x4d, 0xc4, 0x4f, 0xd8, 0x1d, 0x58, 0x3e, 0xc4, 0xe4, 0x59, 0x9e, 0x95, 0x7e, 0x20, 0xc1, 0xa5,
+	0xaa, 0xe9, 0x73, 0x19, 0xfe, 0x8c, 0x42, 0xae, 0x42, 0xd6, 0x65, 0x65, 0xc0, 0xfc, 0x8c, 0x5b,
+	0x61, 0x41, 0xcd, 0x50, 0x42, 0xc3, 0xfc, 0x8c, 0x3f, 0xce, 0xd0, 0x49, 0xe2, 0x9c, 0x63, 0x5b,
+	0x3c, 0x04, 0xb0, 0xe5, 0x4d, 0x4a, 0xa0, 0x57, 0xc5, 0xa9, 0x69, 0x11, 0xec, 0x31, 0xcc, 0x98,
+	0x55, 0xc5, 0x48, 0xf9, 0x0c, 0x50, 0x58, 0x0f, 0xdf, 0x75, 0x6c, 0x1f, 0xa3, 0x77, 0x21, 0xc5,
+	0x4e, 0xea, 0x8b, 0xe0, 0x9e, 0xcd, 0x3a, 0x82, 0x07, 0xbd, 0x02, 0xcb, 0x36, 0xfe, 0x36, 0xd1,
+	0x42, 0xfa, 0xf0, 0x93, 0x2f, 0x52, 0xf2, 0xc3, 0x40, 0x27, 0xa5, 0x0c, 0xa8, 0x4c, 0x53, 0xdc,
+	0x7a, 0x16, 0x4b, 0xfe, 0x65, 0x1e, 0xf2, 0xe1, 0xd7, 0xb9, 0xa9, 0xa6, 0x67, 0x0d, 0x72, 0x06,
+	0xf6, 0x3b, 0x9e, 0xc9, 0x00, 0x18, 0x03, 0xfc, 0x59, 0x35, 0x4c, 0x42, 0x4d, 0x90, 0x03, 0xf4,
+	0x47, 0x70, 0xcf, 0xb5, 0x74, 0x12, 0xa0, 0xf2, 0x18, 0x05, 0x70, 0x59, 0x88, 0x68, 0x0a, 0x09,
+	0xe8, 0xdd, 0x20, 0xc0, 0xe6, 0x67, 0x0f, 0xb0, 0xa3, 0x39, 0x11, 0x62, 0xe8, 0x05, 0x60, 0xb5,
+	0x82, 0x25, 0x61, 0x46, 0xbc, 0x76, 0x0d, 0x29, 0x93, 0xed, 0xc7, 0x42, 0xac, 0xf6, 0xa3, 0x08,
+	0x19, 0xc3, 0xf4, 0xf5, 0xb6, 0x85, 0x8d, 0x42, 0x76, 0x4d, 0x5a, 0xcf, 0xa8, 0xc3, 0x31, 0x32,
+	0x26, 0x41, 0x28, 0xef, 0xb0, 0xde, 0x9f, 0x45, 0x79, 0xe1, 0x80, 0x19, 0xb0, 0xe8, 0x0d, 0x58,
+	0x34, 0xbb, 0xb6, 0xe3, 0x61, 0x43, 0xa3, 0x47, 0xf2, 0x0b, 0xcb, 0x0c, 0x23, 0xe4, 0x05, 0x91,
+	0x16, 0x5a, 0x1f, 0xdd, 0x84, 0x25, 0xd3, 0xee, 0x58, 0x7d, 0x63, 0xb8, 0x4a, 0x66, 0xab, 0x16,
+	0x03, 0x2a, 0x5b, 0xf6, 0xec, 0xc0, 0x71, 0x4f, 0x86, 0x25, 0xd1, 0x02, 0x08, 0xd7, 0x29, 0xdf,
+	0x93, 0x60, 0x35, 0x54, 0x51, 0xe2, 0xbd, 0xfb, 0x56, 0x20, 0x2d, 0x42, 0x41, 0x94, 0x96, 0xdb,
+	0x31, 0x8c, 0xa7, 0x06, 0xbc, 0xca, 0x23, 0x58, 0x09, 0x6a, 0xcc, 0x7f, 0xf2, 0xdd, 0x59, 0x79,
+	0x1b, 0x0a, 0xc3, 0x84, 0x17, 0x82, 0x67, 0xac, 0x3f, 0x8a, 0x01, 0xab, 0x8f, 0x61, 0x15, 0x25,
+	0xe3, 0x10, 0x32, 0x62, 0x93, 0xa0, 0x68, 0xc4, 0x3a, 0xf7, 0x90, 0x59, 0xf9, 0x18, 0x56, 0xf7,
+	0xb1, 0x85, 0x9f, 0xca, 0xf6, 0x11, 0x67, 0xff, 0x95, 0x04, 0xab, 0x2d, 0xd7, 0xd0, 0xff, 0x0b,
+	0xb2, 0xc3, 0x6e, 0x4f, 0x3e, 0x83, 0xdb, 0xff, 0x9e, 0x11, 0xe5, 0x4c, 0x34, 0x8e, 0xa8, 0x0d,
+	0x2b, 0x53, 0xed, 0xef, 0x08, 0x77, 0xc4, 0x45, 0x0c, 0x97, 0x27, 0x1b, 0x60, 0x86, 0x41, 0x5c,
+	0x8a, 0x35, 0x99, 0x11, 0xb0, 0xa1, 0x0d, 0xb0, 0x67, 0x9e, 0x5e, 0x68, 0xbc, 0x5f, 0x15, 0x2f,
+	0x41, 0xf7, 0x63, 0xb4, 0xba, 0x1b, 0x8f, 0x98, 0x00, 0x3e, 0xa2, 0xb8, 0x53, 0x08, 0x0e, 0x93,
+	0xd1, 0x27, 0x90, 0xef, 0xe9, 0x9d, 0x33, 0xd3, 0xc6, 0x1a, 0x43, 0x3f, 0x49, 0xb6, 0xcd, 0xbd,
+	0x38, 0xdb, 0x9c, 0x70, 0x7e, 0x76, 0xac, 0x5c, 0x6f, 0x34, 0xa0, 0x18, 0xc6, 0x30, 0xfd, 0x73,
+	0x76, 0x4d, 0x6a, 0xdd, 0x36, 0xc3, 0xb2, 0x49, 0x15, 0x28, 0x8d, 0xde, 0x94, 0x87, 0x6d, 0xe4,
+	0xc0, 0x73, 0xe1, 0x82, 0x14, 0x9c, 0x75, 0x9e, 0x29, 0xf1, 0x7e, 0x1c, 0x25, 0xc2, 0xa5, 0x47,
+	0x9c, 0x18, 0xf9, 0x53, 0x34, 0xe4, 0xc2, 0x65, 0xda, 0xf4, 0xfb, 0xc4, 0xc3, 0x3a, 0x6d, 0x63,
+	0x82, 0x1d, 0x17, 0xe2, 0xef, 0x58, 0x75, 0xba, 0x8d, 0x40, 0x4c, 0xb0, 0xa3, 0x35, 0x45, 0x43,
+	0xd7, 0x21, 0xf7, 0xa9, 0xe3, 0x9d, 0x63, 0x4f, 0x73, 0x1d, 0xc7, 0x0a, 0x5e, 0xcb, 0x39, 0xe9,
+	0xa1, 0xe3, 0x58, 0xe8, 0x43, 0xf6, 0x0e, 0xd1, 0xa5, 0xad, 0x58, 0x2e, 0xbe, 0xf1, 0xab, 0x9c,
+	0xf5, 0xc4, 0x31, 0xb0, 0x1a, 0xc8, 0x09, 0x7e, 0x03, 0xc8, 0x8f, 0x7e, 0x03, 0x18, 0x7f, 0x92,
+	0x5f, 0xfc, 0x9a, 0x27, 0xf9, 0xa5, 0xa7, 0x79, 0x92, 0x57, 0x36, 0x20, 0x3f, 0x16, 0x56, 0x32,
+	0xe4, 0x6b, 0xf5, 0xa6, 0xf6, 0xa8, 0xa2, 0x1e, 0x1f, 0x1c, 0x57, 0xf6, 0xe5, 0x39, 0x94, 0x87,
+	0xcc, 0x70, 0x24, 0x29, 0x65, 0xc8, 0x85, 0xc2, 0x06, 0x2d, 0x43, 0xae, 0x55, 0x6b, 0x3c, 0xac,
+	0x94, 0x83, 0xd5, 0x94, 0x7f, 0x53, 0x3b, 0x3a, 0x3e, 0x3c, 0x2a, 0x3f, 0x6c, 0x69, 0xf7, 0x65,
+	0x09, 0x5d, 0x82, 0xc5, 0x10, 0xe5, 0xce, 0x96, 0x9c, 0x50, 0xee, 0x8e, 0xdf, 0x38, 0x62, 0xeb,
+	0x25, 0x80, 0x93, 0x56, 0xa3, 0xa9, 0x9d, 0xec, 0x36, 0xcb, 0x47, 0xf2, 0x1c, 0x95, 0xbd, 0x5b,
+	0xad, 0xd6, 0x3f, 0xd2, 0xaa, 0xf5, 0x7a, 0xa3, 0x22, 0x4b, 0xca, 0x21, 0xa0, 0x69, 0xdf, 0xf1,
+	0x77, 0x04, 0xb5, 0xb2, 0x7b, 0xa2, 0xed, 0x57, 0x0e, 0x76, 0x5b, 0xd5, 0xa6, 0x3c, 0x47, 0x7b,
+	0x7e, 0x41, 0xab, 0xd7, 0x64, 0x89, 0x4a, 0x0e, 0x86, 0x07, 0x07, 0x72, 0x42, 0xd9, 0x81, 0x5c,
+	0xc8, 0xfc, 0xe8, 0x0a, 0x3c, 0x57, 0xad, 0x1f, 0x1e, 0x1e, 0xd7, 0x0e, 0xb5, 0xf1, 0xc3, 0x00,
+	0xa4, 0xaa, 0x95, 0xc3, 0xdd, 0xf2, 0xc7, 0xb2, 0x44, 0xcd, 0x70, 0x58, 0x6e, 0x68, 0xf5, 0x5a,
+	0xf5, 0x63, 0x39, 0xb1, 0xf5, 0xc7, 0x25, 0x80, 0x32, 0x35, 0x2c, 0x7f, 0x26, 0xfe, 0x89, 0x04,
+	0xb9, 0xd0, 0x75, 0x87, 0x36, 0x23, 0xbc, 0x30, 0x0d, 0xb6, 0x8b, 0xd7, 0x02, 0x96, 0xd0, 0x0f,
+	0xc2, 0x1b, 0xc3, 0x2e, 0x59, 0x29, 0x7d, 0xf9, 0xd7, 0x7f, 0xfc, 0x34, 0xf1, 0x9a, 0xb2, 0x56,
+	0x1a, 0x6c, 0x96, 0x44, 0x49, 0xf5, 0x4b, 0x9f, 0x8f, 0xca, 0xed, 0x17, 0x25, 0x8e, 0x1d, 0xb7,
+	0x05, 0xfc, 0xf9, 0xb1, 0x04, 0x99, 0xe0, 0xfa, 0x43, 0x1b, 0x11, 0xfa, 0x4c, 0x60, 0xf1, 0xe2,
+	0x4c, 0x50, 0x4b, 0x79, 0x83, 0xe9, 0xf4, 0x2a, 0xba, 0x19, 0xa5, 0x53, 0xe9, 0x73, 0xd3, 0xf8,
+	0x02, 0xfd, 0x42, 0x02, 0x18, 0x21, 0x65, 0x14, 0xf5, 0xd2, 0x35, 0x05, 0xee, 0x8b, 0x9b, 0x31,
+	0x38, 0xf8, 0x9d, 0xaa, 0xac, 0x33, 0x15, 0x15, 0x14, 0x69, 0x36, 0xf4, 0x4b, 0xea, 0xc2, 0x11,
+	0x96, 0x8e, 0x76, 0xe1, 0x14, 0xee, 0x9e, 0xd1, 0x6a, 0xf7, 0x98, 0x4a, 0x9b, 0xca, 0xeb, 0x33,
+	0x59, 0x6d, 0xbb, 0xc3, 0xf6, 0xd9, 0x96, 0x6e, 0xa1, 0x9f, 0xb1, 0xdf, 0x92, 0x83, 0x5f, 0xe3,
+	0x23, 0xed, 0x37, 0xf5, 0xc3, 0x7d, 0x54, 0x88, 0xbd, 0xc5, 0x14, 0x7b, 0x53, 0xb9, 0x3d, 0x9b,
+	0x62, 0x1e, 0x95, 0x4f, 0xf5, 0xfa, 0xbd, 0x34, 0xd6, 0x3d, 0x06, 0x5d, 0xc4, 0xfd, 0xd9, 0x73,
+	0x60, 0x1c, 0x46, 0x14, 0xe3, 0xdc, 0xfb, 0xca, 0x1d, 0xa6, 0xf5, 0x1b, 0x8a, 0xf2, 0x64, 0xad,
+	0x03, 0x60, 0xb4, 0x1d, 0x60, 0x04, 0xf4, 0x3b, 0x69, 0xd4, 0x7f, 0x06, 0xfa, 0xde, 0x9d, 0x31,
+	0x47, 0x9e, 0x45, 0x59, 0xe1, 0x7b, 0x54, 0x8a, 0x56, 0xb6, 0xf4, 0xf9, 0x08, 0x2b, 0x7d, 0x81,
+	0xfe, 0x10, 0xee, 0x76, 0x03, 0xe4, 0x88, 0xee, 0xcd, 0x9a, 0x10, 0x13, 0x30, 0xb5, 0x78, 0x3f,
+	0x3e, 0xa3, 0x48, 0xa8, 0x5b, 0xec, 0x04, 0x2f, 0xa3, 0x19, 0xcc, 0x4d, 0x53, 0x0a, 0x4d, 0x03,
+	0xd1, 0xc8, 0xc0, 0x78, 0x22, 0x76, 0x2d, 0xae, 0x4c, 0xf5, 0x67, 0x95, 0x9e, 0x4b, 0x2e, 0x02,
+	0xb3, 0xde, 0x8a, 0x6d, 0xd6, 0xaf, 0x24, 0x40, 0xd3, 0x70, 0x36, 0x52, 0xc3, 0x27, 0x22, 0xe0,
+	0x78, 0xd1, 0xb0, 0xc3, 0xd4, 0xde, 0xde, 0x8a, 0xab, 0xf6, 0x28, 0x8e, 0x7f, 0x2b, 0xc1, 0xf2,
+	0xc4, 0xdf, 0xd6, 0x44, 0xc6, 0xf1, 0xe3, 0xff, 0x16, 0x27, 0xaa, 0x38, 0x94, 0x99, 0xae, 0xef,
+	0x29, 0x77, 0xe2, 0xea, 0xea, 0xf5, 0xed, 0x6d, 0xf1, 0xab, 0xe3, 0xde, 0x39, 0x14, 0x3a, 0x4e,
+	0x2f, 0xd8, 0x68, 0x4c, 0xad, 0x87, 0xd2, 0x27, 0x87, 0x82, 0xde, 0x75, 0x2c, 0xdd, 0xee, 0x6e,
+	0x38, 0x5e, 0xb7, 0xd4, 0xc5, 0x36, 0x73, 0x75, 0x89, 0x4f, 0xe9, 0xae, 0xe9, 0x3f, 0xe1, 0x8f,
+	0xbb, 0xde, 0x19, 0x8d, 0x7e, 0x93, 0x48, 0x1e, 0x96, 0xf7, 0xda, 0x29, 0xc6, 0x79, 0xe7, 0xdf,
+	0x01, 0x00, 0x00, 0xff, 0xff, 0x87, 0x2f, 0xf0, 0xd9, 0x15, 0x26, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/googleapis/privacy/dlp/v2/dlp.pb.go b/googleapis/privacy/dlp/v2/dlp.pb.go
index 6dbc340a664687d7a94a678269ada26d27bc82c1..7dd764cd8a5485f37b88989438476e1d06e68a5e 100644
--- a/googleapis/privacy/dlp/v2/dlp.pb.go
+++ b/googleapis/privacy/dlp/v2/dlp.pb.go
@@ -3135,8 +3135,9 @@ type OutputStorageConfig struct {
 	// from the predefined schema that are missing will be added. No columns in
 	// the existing table will be deleted.
 	//
-	// If unspecified, then all available columns will be used for a new table,
-	// and no changes will be made to an existing table.
+	// If unspecified, then all available columns will be used for a new table or
+	// an (existing) table with no schema, and no changes will be made to an
+	// existing table that has a schema.
 	OutputSchema         OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
 	XXX_unrecognized     []byte                           `json:"-"`
@@ -4360,7 +4361,7 @@ type PrivacyMetric_KAnonymityConfig struct {
 	QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
 	// Optional message indicating that multiple rows might be associated to a
 	// single individual. If the same entity_id is associated to multiple
-	// quasi-identifier tuples over distict rows, we consider the entire
+	// quasi-identifier tuples over distinct rows, we consider the entire
 	// collection of tuples as the composite quasi-identifier. This collection
 	// is a multiset: the order in which the different tuples appear in the
 	// dataset is ignored, but their frequency is taken into account.
@@ -6700,6 +6701,7 @@ func _QuoteInfo_OneofSizer(msg proto.Message) (n int) {
 }
 
 // Message for a date time object.
+// e.g. 2018-01-01, 5th August.
 type DateTime struct {
 	// One or more of the following must be set. All fields are optional, but
 	// when set must be valid date or time values.
@@ -9928,7 +9930,7 @@ type JobTrigger struct {
 	// a single Schedule trigger and must have at least one object.
 	Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"`
 	// A stream of errors encountered when the trigger was activated. Repeated
-	// errors may result in the JobTrigger automaticaly being paused.
+	// errors may result in the JobTrigger automatically being paused.
 	// Will return the last 100 errors. Whenever the JobTrigger is modified
 	// this list will be cleared. Output only field.
 	Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"`
diff --git a/googleapis/privacy/dlp/v2/storage.pb.go b/googleapis/privacy/dlp/v2/storage.pb.go
index 8985be624cbd2bdd5e67dac2caa8ffe8b4bc1beb..7b5f2f111b0dfebe87588ef344dd0e7b70dd43a5 100644
--- a/googleapis/privacy/dlp/v2/storage.pb.go
+++ b/googleapis/privacy/dlp/v2/storage.pb.go
@@ -202,7 +202,8 @@ type InfoType struct {
 	// Name of the information type. Either a name of your choosing when
 	// creating a CustomInfoType, or one of the names listed
 	// at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
-	// a built-in type.
+	// a built-in type. InfoType names should conform to the pattern
+	// [a-zA-Z0-9_]{1,64}.
 	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -1538,7 +1539,8 @@ type CloudStorageOptions struct {
 	BytesLimitPerFilePercent int32 `protobuf:"varint,8,opt,name=bytes_limit_per_file_percent,json=bytesLimitPerFilePercent,proto3" json:"bytes_limit_per_file_percent,omitempty"`
 	// List of file type groups to include in the scan.
 	// If empty, all files are scanned and available data format processors
-	// are applied.
+	// are applied. In addition, the binary content of the selected files
+	// is always scanned as well.
 	FileTypes    []FileType                       `protobuf:"varint,5,rep,packed,name=file_types,json=fileTypes,proto3,enum=google.privacy.dlp.v2.FileType" json:"file_types,omitempty"`
 	SampleMethod CloudStorageOptions_SampleMethod `protobuf:"varint,6,opt,name=sample_method,json=sampleMethod,proto3,enum=google.privacy.dlp.v2.CloudStorageOptions_SampleMethod" json:"sample_method,omitempty"`
 	// Limits the number of files to scan to this percentage of the input FileSet.
@@ -1771,11 +1773,14 @@ type BigQueryOptions struct {
 	// 100 means no limit. Defaults to 0. Only one of rows_limit and
 	// rows_limit_percent can be specified. Cannot be used in conjunction with
 	// TimespanConfig.
-	RowsLimitPercent     int32                        `protobuf:"varint,6,opt,name=rows_limit_percent,json=rowsLimitPercent,proto3" json:"rows_limit_percent,omitempty"`
-	SampleMethod         BigQueryOptions_SampleMethod `protobuf:"varint,4,opt,name=sample_method,json=sampleMethod,proto3,enum=google.privacy.dlp.v2.BigQueryOptions_SampleMethod" json:"sample_method,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
-	XXX_unrecognized     []byte                       `json:"-"`
-	XXX_sizecache        int32                        `json:"-"`
+	RowsLimitPercent int32                        `protobuf:"varint,6,opt,name=rows_limit_percent,json=rowsLimitPercent,proto3" json:"rows_limit_percent,omitempty"`
+	SampleMethod     BigQueryOptions_SampleMethod `protobuf:"varint,4,opt,name=sample_method,json=sampleMethod,proto3,enum=google.privacy.dlp.v2.BigQueryOptions_SampleMethod" json:"sample_method,omitempty"`
+	// References to fields excluded from scanning. This allows you to skip
+	// inspection of entire columns which you know have no findings.
+	ExcludedFields       []*FieldId `protobuf:"bytes,5,rep,name=excluded_fields,json=excludedFields,proto3" json:"excluded_fields,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
+	XXX_unrecognized     []byte     `json:"-"`
+	XXX_sizecache        int32      `json:"-"`
 }
 
 func (m *BigQueryOptions) Reset()         { *m = BigQueryOptions{} }
@@ -1838,6 +1843,13 @@ func (m *BigQueryOptions) GetSampleMethod() BigQueryOptions_SampleMethod {
 	return BigQueryOptions_SAMPLE_METHOD_UNSPECIFIED
 }
 
+func (m *BigQueryOptions) GetExcludedFields() []*FieldId {
+	if m != nil {
+		return m.ExcludedFields
+	}
+	return nil
+}
+
 // Shared message indicating Cloud storage type.
 type StorageConfig struct {
 	// Types that are valid to be assigned to Type:
@@ -2767,130 +2779,131 @@ func init() {
 }
 
 var fileDescriptor_ab5e749073e1398d = []byte{
-	// 1999 bytes of a gzipped FileDescriptorProto
+	// 2014 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x72, 0x1b, 0x49,
-	0x15, 0xd6, 0x48, 0x96, 0x2d, 0x1d, 0xfd, 0x58, 0x6e, 0x3b, 0x5b, 0x8a, 0x6a, 0x93, 0x38, 0x72,
-	0xc8, 0x9a, 0x40, 0x49, 0xe0, 0x85, 0x82, 0xec, 0xc2, 0x82, 0x65, 0x29, 0x2b, 0xe1, 0x3f, 0xd1,
+	0x15, 0xd6, 0x48, 0x96, 0x2d, 0x1d, 0xfd, 0x58, 0x6e, 0x3b, 0x5b, 0x8a, 0x6a, 0xb3, 0x71, 0xe4,
+	0x90, 0x35, 0x81, 0x92, 0xc0, 0x0b, 0x05, 0xd9, 0x85, 0x05, 0xcb, 0x52, 0x22, 0xe1, 0x3f, 0xd1,
 	0x52, 0xfe, 0x16, 0x53, 0xc3, 0x48, 0xd3, 0x92, 0x67, 0x33, 0x9a, 0x1e, 0x66, 0x5a, 0xb1, 0x55,
-	0x14, 0x17, 0x5c, 0x70, 0xcd, 0x0d, 0x0f, 0xc0, 0x05, 0x55, 0x14, 0x14, 0x4f, 0x00, 0x3c, 0x01,
-	0x0f, 0x41, 0x15, 0xd7, 0xbc, 0x04, 0xd5, 0x3f, 0x33, 0x1a, 0x29, 0x52, 0x22, 0xa7, 0x72, 0x37,
-	0x7d, 0xfa, 0x7c, 0xa7, 0xfb, 0x9c, 0xf3, 0x9d, 0xa3, 0xd3, 0x82, 0xbd, 0x21, 0xa5, 0x43, 0x9b,
-	0x54, 0x5d, 0xcf, 0x7a, 0x6d, 0xf4, 0x27, 0x55, 0xd3, 0x76, 0xab, 0xaf, 0x0f, 0xaa, 0x3e, 0xa3,
-	0x9e, 0x31, 0x24, 0x15, 0xd7, 0xa3, 0x8c, 0xa2, 0x5b, 0x52, 0xa9, 0xa2, 0x94, 0x2a, 0xa6, 0xed,
-	0x56, 0x5e, 0x1f, 0x94, 0x3e, 0x56, 0x58, 0xc3, 0xb5, 0xaa, 0x86, 0xe3, 0x50, 0x66, 0x30, 0x8b,
-	0x3a, 0xbe, 0x04, 0x95, 0xee, 0x85, 0x96, 0x29, 0xa3, 0xbd, 0xf1, 0xa0, 0xca, 0xac, 0x11, 0xf1,
-	0x99, 0x31, 0x72, 0xa5, 0x42, 0xf9, 0x2e, 0xa4, 0x5a, 0xce, 0x80, 0x76, 0x27, 0x2e, 0x41, 0x08,
-	0xd6, 0x1c, 0x63, 0x44, 0x8a, 0xda, 0xae, 0xb6, 0x9f, 0xc6, 0xe2, 0xbb, 0xfc, 0x4b, 0x80, 0x0e,
-	0xa3, 0x1e, 0x31, 0x97, 0x69, 0xa0, 0xcf, 0x21, 0xd3, 0xf7, 0x88, 0xc1, 0x88, 0xce, 0x6d, 0x17,
-	0xe3, 0xbb, 0xda, 0x7e, 0xe6, 0xa0, 0x54, 0x09, 0x6f, 0x2b, 0x0f, 0xae, 0x74, 0x83, 0x83, 0x31,
-	0x48, 0x75, 0x2e, 0x28, 0xff, 0x2b, 0x07, 0xf9, 0xa3, 0xb1, 0xcf, 0xe8, 0x28, 0xbc, 0xc5, 0x8f,
-	0x20, 0x6d, 0x39, 0x03, 0xaa, 0xb3, 0x89, 0x2b, 0x0f, 0xca, 0x1c, 0xdc, 0xab, 0x2c, 0xf4, 0xbd,
-	0x12, 0x60, 0x70, 0xca, 0x0a, 0xd0, 0x87, 0x00, 0xb6, 0xf5, 0x8a, 0xd8, 0xd6, 0x25, 0xa5, 0x66,
-	0x71, 0x7d, 0x57, 0xdb, 0xcf, 0x1f, 0xdc, 0x5f, 0x02, 0x3f, 0x09, 0x15, 0x71, 0x04, 0x84, 0x30,
-	0x80, 0x69, 0xf5, 0x79, 0x14, 0x0d, 0x6f, 0xa2, 0xfc, 0xf9, 0xce, 0x12, 0x13, 0xb3, 0x77, 0xaf,
-	0xd4, 0x43, 0x5c, 0x33, 0x86, 0x23, 0x56, 0xd0, 0x11, 0x24, 0x3d, 0x32, 0x24, 0xd7, 0xc5, 0x84,
-	0x30, 0xf7, 0xad, 0xd5, 0xcc, 0x61, 0x0e, 0x69, 0xc6, 0xb0, 0xc4, 0xa2, 0x0b, 0xc8, 0xfb, 0x63,
-	0xcf, 0xa3, 0x43, 0x11, 0x6c, 0x1e, 0x9e, 0x35, 0x61, 0xed, 0xd3, 0xd5, 0xac, 0x75, 0x02, 0x2c,
-	0x5f, 0x35, 0x63, 0x38, 0xe7, 0x47, 0x05, 0xa8, 0x0e, 0x19, 0x5f, 0x64, 0x5a, 0x9a, 0x4e, 0x0a,
-	0xd3, 0xcb, 0x42, 0x37, 0xe5, 0x04, 0x77, 0xd4, 0x9f, 0x32, 0xe4, 0x02, 0x36, 0x4d, 0xc2, 0x88,
-	0x70, 0x5c, 0xf7, 0xc6, 0x36, 0xf1, 0x8b, 0x1b, 0xbb, 0x89, 0xd5, 0x2f, 0x59, 0x0f, 0xc0, 0x78,
-	0x6c, 0x13, 0x9c, 0x37, 0xa3, 0x4b, 0x1f, 0x7d, 0x05, 0x79, 0x72, 0xdd, 0xb7, 0xc7, 0x3e, 0xb7,
-	0x2e, 0xae, 0x99, 0x12, 0x19, 0x5e, 0xd1, 0x78, 0x23, 0xc0, 0x0a, 0xd2, 0xe4, 0x48, 0x74, 0x59,
-	0xfa, 0x9f, 0x06, 0x30, 0xcd, 0x1f, 0x7a, 0x01, 0xe9, 0x2b, 0xea, 0x99, 0xba, 0x6d, 0xf9, 0x4c,
-	0xd1, 0xf0, 0xf1, 0x4d, 0x49, 0x50, 0x79, 0x4e, 0x3d, 0xf3, 0xc4, 0xf2, 0x59, 0x33, 0x86, 0x53,
-	0x57, 0xea, 0x1b, 0x3d, 0x07, 0xd4, 0xb7, 0xe9, 0xd8, 0xd4, 0x55, 0x7d, 0xeb, 0xae, 0xc1, 0x2e,
-	0x15, 0x31, 0x3e, 0x59, 0x76, 0x04, 0x07, 0x74, 0xa4, 0x7e, 0xdb, 0x60, 0x97, 0xcd, 0x18, 0x2e,
-	0xf4, 0xe7, 0x64, 0xa5, 0x5d, 0x48, 0x05, 0x07, 0xa2, 0x1d, 0x48, 0xf2, 0x03, 0xfd, 0xa2, 0xb6,
-	0x9b, 0xd8, 0x4f, 0x63, 0xb9, 0xa8, 0xa5, 0x60, 0xdd, 0xa7, 0x63, 0xaf, 0x4f, 0x4a, 0xf7, 0x21,
-	0x29, 0xd8, 0x85, 0x8a, 0xb0, 0xe1, 0x1a, 0x8c, 0x11, 0xcf, 0x51, 0x55, 0x1d, 0x2c, 0x4b, 0x9b,
-	0x90, 0x9b, 0xa1, 0x4c, 0xe9, 0x1f, 0x49, 0xc8, 0xcd, 0xe4, 0x07, 0x99, 0x90, 0xbd, 0xa4, 0x4c,
+	0x14, 0x17, 0x5c, 0x70, 0xcd, 0x0d, 0x8f, 0x40, 0x15, 0x05, 0xc5, 0x13, 0x00, 0x4f, 0xc0, 0x43,
+	0x50, 0xc5, 0x25, 0xc5, 0x4b, 0x50, 0xfd, 0x33, 0xa3, 0x91, 0x22, 0x25, 0x72, 0x2a, 0x77, 0xd3,
+	0xa7, 0xcf, 0x77, 0xba, 0xcf, 0x39, 0x5f, 0x9f, 0x3e, 0x3d, 0xb0, 0x37, 0xa4, 0x74, 0x68, 0x93,
+	0xaa, 0xeb, 0x59, 0xaf, 0x8d, 0xfe, 0xa4, 0x6a, 0xda, 0x6e, 0xf5, 0xf5, 0x41, 0xd5, 0x67, 0xd4,
+	0x33, 0x86, 0xa4, 0xe2, 0x7a, 0x94, 0x51, 0x74, 0x4b, 0x2a, 0x55, 0x94, 0x52, 0xc5, 0xb4, 0xdd,
+	0xca, 0xeb, 0x83, 0xd2, 0xc7, 0x0a, 0x6b, 0xb8, 0x56, 0xd5, 0x70, 0x1c, 0xca, 0x0c, 0x66, 0x51,
+	0xc7, 0x97, 0xa0, 0xd2, 0xdd, 0xd0, 0x32, 0x65, 0xb4, 0x37, 0x1e, 0x54, 0x99, 0x35, 0x22, 0x3e,
+	0x33, 0x46, 0xae, 0x54, 0x28, 0x7f, 0x02, 0xa9, 0x96, 0x33, 0xa0, 0xdd, 0x89, 0x4b, 0x10, 0x82,
+	0x35, 0xc7, 0x18, 0x91, 0xa2, 0xb6, 0xab, 0xed, 0xa7, 0xb1, 0xf8, 0x2e, 0xff, 0x12, 0xa0, 0xc3,
+	0xa8, 0x47, 0xcc, 0x65, 0x1a, 0xe8, 0x0b, 0xc8, 0xf4, 0x3d, 0x62, 0x30, 0xa2, 0x73, 0xdb, 0xc5,
+	0xf8, 0xae, 0xb6, 0x9f, 0x39, 0x28, 0x55, 0xc2, 0xdd, 0xca, 0x85, 0x2b, 0xdd, 0x60, 0x61, 0x0c,
+	0x52, 0x9d, 0x0b, 0xca, 0xff, 0xcc, 0x41, 0xfe, 0x68, 0xec, 0x33, 0x3a, 0x0a, 0x77, 0xf1, 0x23,
+	0x48, 0x5b, 0xce, 0x80, 0xea, 0x6c, 0xe2, 0xca, 0x85, 0x32, 0x07, 0x77, 0x2b, 0x0b, 0x7d, 0xaf,
+	0x04, 0x18, 0x9c, 0xb2, 0x02, 0xf4, 0x21, 0x80, 0x6d, 0xbd, 0x22, 0xb6, 0x75, 0x49, 0xa9, 0x59,
+	0x5c, 0xdf, 0xd5, 0xf6, 0xf3, 0x07, 0xf7, 0x96, 0xc0, 0x4f, 0x42, 0x45, 0x1c, 0x01, 0x21, 0x0c,
+	0x60, 0x5a, 0x7d, 0x1e, 0x45, 0xc3, 0x9b, 0x28, 0x7f, 0xbe, 0xb3, 0xc4, 0xc4, 0xec, 0xde, 0x2b,
+	0xf5, 0x10, 0xd7, 0x8c, 0xe1, 0x88, 0x15, 0x74, 0x04, 0x49, 0x8f, 0x0c, 0xc9, 0x75, 0x31, 0x21,
+	0xcc, 0x7d, 0x6b, 0x35, 0x73, 0x98, 0x43, 0x9a, 0x31, 0x2c, 0xb1, 0xe8, 0x02, 0xf2, 0xfe, 0xd8,
+	0xf3, 0xe8, 0x50, 0x04, 0x9b, 0x87, 0x67, 0x4d, 0x58, 0xfb, 0x6c, 0x35, 0x6b, 0x9d, 0x00, 0xcb,
+	0x47, 0xcd, 0x18, 0xce, 0xf9, 0x51, 0x01, 0xaa, 0x43, 0xc6, 0x17, 0x99, 0x96, 0xa6, 0x93, 0xc2,
+	0xf4, 0xb2, 0xd0, 0x4d, 0x39, 0xc1, 0x1d, 0xf5, 0xa7, 0x0c, 0xb9, 0x80, 0x4d, 0x93, 0x30, 0x22,
+	0x1c, 0xd7, 0xbd, 0xb1, 0x4d, 0xfc, 0xe2, 0xc6, 0x6e, 0x62, 0xf5, 0x4d, 0xd6, 0x03, 0x30, 0x1e,
+	0xdb, 0x04, 0xe7, 0xcd, 0xe8, 0xd0, 0x47, 0x5f, 0x41, 0x9e, 0x5c, 0xf7, 0xed, 0xb1, 0xcf, 0xad,
+	0x8b, 0x6d, 0xa6, 0x44, 0x86, 0x57, 0x34, 0xde, 0x08, 0xb0, 0x82, 0x34, 0x39, 0x12, 0x1d, 0x96,
+	0xfe, 0xa7, 0x01, 0x4c, 0xf3, 0x87, 0x5e, 0x40, 0xfa, 0x8a, 0x7a, 0xa6, 0x6e, 0x5b, 0x3e, 0x53,
+	0x34, 0x7c, 0x74, 0x53, 0x12, 0x54, 0x9e, 0x53, 0xcf, 0x3c, 0xb1, 0x7c, 0xd6, 0x8c, 0xe1, 0xd4,
+	0x95, 0xfa, 0x46, 0xcf, 0x01, 0xf5, 0x6d, 0x3a, 0x36, 0x75, 0x75, 0xbe, 0x75, 0xd7, 0x60, 0x97,
+	0x8a, 0x18, 0x9f, 0x2e, 0x5b, 0x82, 0x03, 0x3a, 0x52, 0xbf, 0x6d, 0xb0, 0xcb, 0x66, 0x0c, 0x17,
+	0xfa, 0x73, 0xb2, 0xd2, 0x2e, 0xa4, 0x82, 0x05, 0xd1, 0x0e, 0x24, 0xf9, 0x82, 0x7e, 0x51, 0xdb,
+	0x4d, 0xec, 0xa7, 0xb1, 0x1c, 0xd4, 0x52, 0xb0, 0xee, 0xd3, 0xb1, 0xd7, 0x27, 0xa5, 0x7b, 0x90,
+	0x14, 0xec, 0x42, 0x45, 0xd8, 0x70, 0x0d, 0xc6, 0x88, 0xe7, 0xa8, 0x53, 0x1d, 0x0c, 0x4b, 0x9b,
+	0x90, 0x9b, 0xa1, 0x4c, 0xe9, 0xef, 0x49, 0xc8, 0xcd, 0xe4, 0x07, 0x99, 0x90, 0xbd, 0xa4, 0x4c,
 	0xc4, 0x89, 0xe7, 0x5a, 0xc5, 0xe9, 0x27, 0xef, 0x91, 0xea, 0x4a, 0x53, 0xda, 0xe1, 0xdf, 0xcd,
-	0x18, 0xce, 0x5c, 0x4e, 0x97, 0xa5, 0x0e, 0xa4, 0xdb, 0x1e, 0xbd, 0xb6, 0x46, 0x16, 0x9b, 0xa0,
-	0x3d, 0xc8, 0x5d, 0x59, 0x8e, 0x49, 0xaf, 0xf4, 0x1e, 0x19, 0x50, 0x4f, 0x9e, 0x99, 0xc4, 0x59,
-	0x29, 0xac, 0x09, 0x19, 0xba, 0x0f, 0x6a, 0xad, 0x1b, 0x03, 0x46, 0x3c, 0x51, 0xc4, 0x49, 0x9c,
-	0x91, 0xb2, 0x43, 0x2e, 0x2a, 0xfd, 0x45, 0x83, 0x9d, 0x69, 0x03, 0x38, 0x34, 0xbf, 0x1e, 0xfb,
-	0x6c, 0x44, 0x1c, 0x86, 0xce, 0xa0, 0x30, 0xb0, 0xae, 0x09, 0xcf, 0x7c, 0xd8, 0x47, 0xb4, 0x15,
-	0xfb, 0x48, 0x33, 0x86, 0x37, 0x05, 0x78, 0x2a, 0x42, 0xdf, 0x85, 0x6d, 0x8f, 0xd8, 0x06, 0xb3,
-	0x5e, 0x93, 0xa8, 0x49, 0x71, 0xa5, 0x66, 0x0c, 0xa3, 0x60, 0x73, 0x0a, 0xa9, 0x65, 0x01, 0x8c,
-	0xf0, 0x42, 0xa5, 0x7f, 0xc6, 0x21, 0x13, 0x89, 0x0e, 0x6a, 0x43, 0x2e, 0x0c, 0xba, 0xe8, 0x29,
-	0xda, 0x8d, 0x7b, 0x0a, 0x0e, 0xd2, 0x26, 0x39, 0xf0, 0x0b, 0x48, 0xbb, 0x41, 0x80, 0x55, 0xc3,
-	0xfb, 0xf1, 0xfb, 0xe4, 0x30, 0xcc, 0x12, 0x9e, 0xda, 0x43, 0xbf, 0x85, 0x5b, 0x53, 0xb7, 0xf5,
-	0xa9, 0x5f, 0x8a, 0xf1, 0xcd, 0xf7, 0x39, 0x68, 0x51, 0xe2, 0xf0, 0x8e, 0xbd, 0x40, 0x5a, 0x5b,
-	0x87, 0x35, 0xde, 0x28, 0xca, 0xc7, 0x90, 0x9b, 0x29, 0x7f, 0x74, 0x17, 0x4a, 0x8d, 0x17, 0x47,
-	0x27, 0x4f, 0x3b, 0xad, 0xf3, 0x33, 0xbd, 0xfb, 0xb2, 0xdd, 0xd0, 0x9f, 0x9e, 0x75, 0xda, 0x8d,
-	0xa3, 0xd6, 0x93, 0x56, 0xa3, 0x5e, 0x88, 0xa1, 0x12, 0x7c, 0x34, 0xb7, 0x2f, 0x96, 0xf5, 0x46,
-	0x41, 0x0b, 0x8d, 0xde, 0x81, 0x8d, 0x27, 0x16, 0xb1, 0xcd, 0x96, 0xb9, 0xf0, 0xc7, 0xf3, 0x1c,
-	0x32, 0x6d, 0xc3, 0x63, 0x16, 0xbf, 0x77, 0xcb, 0x44, 0x77, 0x00, 0x5c, 0x8f, 0x7e, 0x4d, 0xfa,
-	0x4c, 0xb7, 0x24, 0x01, 0xd2, 0x22, 0x50, 0x5c, 0xd2, 0x32, 0x39, 0x69, 0x39, 0xca, 0x77, 0x8d,
-	0x3e, 0xe1, 0x0a, 0x6b, 0x42, 0x21, 0x13, 0xca, 0x5a, 0x66, 0xf9, 0x01, 0xe4, 0x8f, 0x2d, 0xc7,
-	0x6c, 0x5c, 0xbb, 0x1e, 0xf1, 0xb9, 0x27, 0x0b, 0x8f, 0xfd, 0xa3, 0x06, 0x85, 0xba, 0xc1, 0x0c,
-	0xd1, 0x96, 0xcf, 0x5d, 0x31, 0x0f, 0xa0, 0x06, 0x64, 0xdd, 0xe0, 0x2e, 0xdc, 0xba, 0x24, 0x4d,
-	0x79, 0x49, 0xf4, 0x23, 0xd7, 0xc6, 0x19, 0x37, 0xe2, 0xc3, 0x63, 0x58, 0x7b, 0x65, 0x39, 0xa6,
-	0x62, 0xc9, 0x37, 0x96, 0xc0, 0x67, 0x2f, 0x89, 0x05, 0xa4, 0xfc, 0x7b, 0x0d, 0x8a, 0xd1, 0x3e,
-	0x26, 0xb8, 0xf7, 0xc4, 0xb2, 0x49, 0x87, 0x30, 0x74, 0x0f, 0x32, 0xbd, 0x71, 0xff, 0x15, 0x61,
-	0x7a, 0xc4, 0x1d, 0x90, 0xa2, 0x33, 0x3e, 0x66, 0xec, 0x41, 0xce, 0x72, 0xfa, 0xf6, 0xd8, 0x24,
-	0x8a, 0xf5, 0x71, 0xd1, 0xd8, 0xb2, 0x4a, 0x28, 0x89, 0xbc, 0x07, 0xb2, 0xa9, 0x87, 0x4a, 0x09,
-	0xa9, 0xa4, 0x84, 0x42, 0xa9, 0xfc, 0xdf, 0x35, 0xd8, 0x8e, 0xde, 0x23, 0x88, 0xd0, 0x29, 0xa4,
-	0x06, 0x96, 0x4d, 0x74, 0x9f, 0x04, 0x0d, 0xff, 0x60, 0x85, 0x6e, 0xac, 0xd0, 0x15, 0xe5, 0x08,
-	0xde, 0x18, 0x28, 0x8f, 0xaa, 0xb0, 0xd3, 0x9b, 0x30, 0xe2, 0xeb, 0x36, 0xaf, 0x03, 0xdd, 0x25,
-	0x9e, 0xce, 0xb7, 0x44, 0x5a, 0x13, 0x78, 0x4b, 0xec, 0x9d, 0xf0, 0xad, 0x36, 0xf1, 0x38, 0x18,
-	0x7d, 0x01, 0x1f, 0x2f, 0x02, 0xf0, 0x8f, 0x3e, 0xaf, 0x97, 0x94, 0x68, 0x62, 0xc5, 0x37, 0x80,
-	0x6d, 0xb9, 0x8f, 0xbe, 0x00, 0x10, 0xfa, 0x9c, 0x99, 0x7e, 0x31, 0xb9, 0x9b, 0xd8, 0xcf, 0x2f,
-	0x9d, 0x9c, 0x38, 0x4e, 0xfc, 0x08, 0xa6, 0x07, 0xea, 0xcb, 0x47, 0x17, 0x90, 0xf3, 0x8d, 0x91,
-	0x6b, 0x13, 0x7d, 0x44, 0xd8, 0x65, 0x38, 0x3d, 0xfd, 0xe0, 0x06, 0x41, 0xe8, 0x08, 0xfc, 0xa9,
-	0x80, 0xe3, 0xac, 0x1f, 0x59, 0xa1, 0x0a, 0x6c, 0xf3, 0xa3, 0x22, 0xde, 0x09, 0xa7, 0x36, 0x84,
-	0x53, 0x5b, 0x62, 0x2b, 0x70, 0x8a, 0x6f, 0x94, 0x3c, 0x5e, 0x5a, 0x32, 0x92, 0x05, 0x48, 0x8c,
-	0x3d, 0x5b, 0x71, 0x82, 0x7f, 0xa2, 0xa7, 0x90, 0x17, 0xf9, 0xd5, 0xc3, 0x84, 0x49, 0x3e, 0x56,
-	0x57, 0xb8, 0x6b, 0x94, 0x76, 0x38, 0xeb, 0x45, 0x56, 0xe5, 0x26, 0x64, 0xa3, 0x1e, 0xa0, 0x3b,
-	0x70, 0xbb, 0x73, 0x78, 0xda, 0x3e, 0x69, 0xe8, 0xa7, 0x8d, 0x6e, 0xf3, 0xbc, 0x3e, 0xd7, 0x21,
-	0x36, 0x20, 0xd1, 0x3d, 0x6f, 0x17, 0x34, 0x54, 0x80, 0x2c, 0x3e, 0x3c, 0xab, 0x9f, 0x9f, 0xea,
-	0x9d, 0xee, 0x21, 0xee, 0x16, 0xe2, 0xe5, 0x4f, 0x66, 0x29, 0xb6, 0xd4, 0x93, 0xf2, 0x43, 0x28,
-	0xcc, 0xff, 0xb6, 0xf3, 0x9a, 0x16, 0x23, 0x81, 0xaa, 0x69, 0xfe, 0x5d, 0xfe, 0x53, 0x02, 0x36,
-	0x6b, 0xd6, 0xf0, 0xe7, 0x63, 0xe2, 0x4d, 0xa6, 0x84, 0xdd, 0x64, 0x46, 0xcf, 0xe6, 0x5c, 0x1f,
-	0x10, 0x8f, 0x38, 0xfd, 0xe0, 0x07, 0xf8, 0xc1, 0x92, 0x30, 0x04, 0x06, 0xba, 0x1c, 0x85, 0xf3,
+	0x18, 0xce, 0x5c, 0x4e, 0x87, 0xa5, 0x0e, 0xa4, 0xdb, 0x1e, 0xbd, 0xb6, 0x46, 0x16, 0x9b, 0xa0,
+	0x3d, 0xc8, 0x5d, 0x59, 0x8e, 0x49, 0xaf, 0xf4, 0x1e, 0x19, 0x50, 0x4f, 0xae, 0x99, 0xc4, 0x59,
+	0x29, 0xac, 0x09, 0x19, 0xba, 0x07, 0x6a, 0xac, 0x1b, 0x03, 0x46, 0x3c, 0x71, 0x88, 0x93, 0x38,
+	0x23, 0x65, 0x87, 0x5c, 0x54, 0xfa, 0xb3, 0x06, 0x3b, 0xd3, 0x02, 0x70, 0x68, 0x7e, 0x3d, 0xf6,
+	0xd9, 0x88, 0x38, 0x0c, 0x9d, 0x41, 0x61, 0x60, 0x5d, 0x13, 0x9e, 0xf9, 0xb0, 0x8e, 0x68, 0x2b,
+	0xd6, 0x91, 0x66, 0x0c, 0x6f, 0x0a, 0xf0, 0x54, 0x84, 0xbe, 0x0b, 0xdb, 0x1e, 0xb1, 0x0d, 0x66,
+	0xbd, 0x26, 0x51, 0x93, 0x62, 0x4b, 0xcd, 0x18, 0x46, 0xc1, 0xe4, 0x14, 0x52, 0xcb, 0x02, 0x18,
+	0xe1, 0x86, 0x4a, 0xff, 0x88, 0x43, 0x26, 0x12, 0x1d, 0xd4, 0x86, 0x5c, 0x18, 0x74, 0x51, 0x53,
+	0xb4, 0x1b, 0xd7, 0x14, 0x1c, 0xa4, 0x4d, 0x72, 0xe0, 0x17, 0x90, 0x76, 0x83, 0x00, 0xab, 0x82,
+	0xf7, 0xe3, 0xf7, 0xc9, 0x61, 0x98, 0x25, 0x3c, 0xb5, 0x87, 0x7e, 0x0b, 0xb7, 0xa6, 0x6e, 0xeb,
+	0x53, 0xbf, 0x14, 0xe3, 0x9b, 0xef, 0xb3, 0xd0, 0xa2, 0xc4, 0xe1, 0x1d, 0x7b, 0x81, 0xb4, 0xb6,
+	0x0e, 0x6b, 0xbc, 0x50, 0x94, 0x8f, 0x21, 0x37, 0x73, 0xfc, 0xd1, 0x27, 0x50, 0x6a, 0xbc, 0x38,
+	0x3a, 0x79, 0xda, 0x69, 0x9d, 0x9f, 0xe9, 0xdd, 0x97, 0xed, 0x86, 0xfe, 0xf4, 0xac, 0xd3, 0x6e,
+	0x1c, 0xb5, 0x1e, 0xb7, 0x1a, 0xf5, 0x42, 0x0c, 0x95, 0xe0, 0xa3, 0xb9, 0x79, 0x31, 0xac, 0x37,
+	0x0a, 0x5a, 0x68, 0xf4, 0x0e, 0x6c, 0x3c, 0xb6, 0x88, 0x6d, 0xb6, 0xcc, 0x85, 0x97, 0xe7, 0x39,
+	0x64, 0xda, 0x86, 0xc7, 0x2c, 0xbe, 0xef, 0x96, 0x89, 0xee, 0x00, 0xb8, 0x1e, 0xfd, 0x9a, 0xf4,
+	0x99, 0x6e, 0x49, 0x02, 0xa4, 0x45, 0xa0, 0xb8, 0xa4, 0x65, 0x72, 0xd2, 0x72, 0x94, 0xef, 0x1a,
+	0x7d, 0xc2, 0x15, 0xd6, 0x84, 0x42, 0x26, 0x94, 0xb5, 0xcc, 0xf2, 0x7d, 0xc8, 0x1f, 0x5b, 0x8e,
+	0xd9, 0xb8, 0x76, 0x3d, 0xe2, 0x73, 0x4f, 0x16, 0x2e, 0xfb, 0x47, 0x0d, 0x0a, 0x75, 0x83, 0x19,
+	0xa2, 0x2c, 0x9f, 0xbb, 0xa2, 0x1f, 0x40, 0x0d, 0xc8, 0xba, 0xc1, 0x5e, 0xb8, 0x75, 0x49, 0x9a,
+	0xf2, 0x92, 0xe8, 0x47, 0xb6, 0x8d, 0x33, 0x6e, 0xc4, 0x87, 0x47, 0xb0, 0xf6, 0xca, 0x72, 0x4c,
+	0xc5, 0x92, 0x6f, 0x2c, 0x81, 0xcf, 0x6e, 0x12, 0x0b, 0x48, 0xf9, 0xf7, 0x1a, 0x14, 0xa3, 0x75,
+	0x4c, 0x70, 0xef, 0xb1, 0x65, 0x93, 0x0e, 0x61, 0xe8, 0x2e, 0x64, 0x7a, 0xe3, 0xfe, 0x2b, 0xc2,
+	0xf4, 0x88, 0x3b, 0x20, 0x45, 0x67, 0xbc, 0xcd, 0xd8, 0x83, 0x9c, 0xe5, 0xf4, 0xed, 0xb1, 0x49,
+	0x14, 0xeb, 0xe3, 0xa2, 0xb0, 0x65, 0x95, 0x50, 0x12, 0x79, 0x0f, 0x64, 0x51, 0x0f, 0x95, 0x12,
+	0x52, 0x49, 0x09, 0x85, 0x52, 0xf9, 0x3f, 0x6b, 0xb0, 0x1d, 0xdd, 0x47, 0x10, 0xa1, 0x53, 0x48,
+	0x0d, 0x2c, 0x9b, 0xe8, 0x3e, 0x09, 0x0a, 0xfe, 0xc1, 0x0a, 0xd5, 0x58, 0xa1, 0x2b, 0xca, 0x11,
+	0xbc, 0x31, 0x50, 0x1e, 0x55, 0x61, 0xa7, 0x37, 0x61, 0xc4, 0xd7, 0x6d, 0x7e, 0x0e, 0x74, 0x97,
+	0x78, 0x3a, 0x9f, 0x12, 0x69, 0x4d, 0xe0, 0x2d, 0x31, 0x77, 0xc2, 0xa7, 0xda, 0xc4, 0xe3, 0x60,
+	0xf4, 0x25, 0x7c, 0xbc, 0x08, 0xc0, 0x3f, 0xfa, 0xfc, 0xbc, 0xa4, 0x44, 0x11, 0x2b, 0xbe, 0x01,
+	0x6c, 0xcb, 0x79, 0xf4, 0x25, 0x80, 0xd0, 0xe7, 0xcc, 0xf4, 0x8b, 0xc9, 0xdd, 0xc4, 0x7e, 0x7e,
+	0x69, 0xe7, 0xc4, 0x71, 0xe2, 0x12, 0x4c, 0x0f, 0xd4, 0x97, 0x8f, 0x2e, 0x20, 0xe7, 0x1b, 0x23,
+	0xd7, 0x26, 0xfa, 0x88, 0xb0, 0xcb, 0xb0, 0x7b, 0xfa, 0xc1, 0x0d, 0x82, 0xd0, 0x11, 0xf8, 0x53,
+	0x01, 0xc7, 0x59, 0x3f, 0x32, 0x42, 0x15, 0xd8, 0xe6, 0x4b, 0x45, 0xbc, 0x13, 0x4e, 0x6d, 0x08,
+	0xa7, 0xb6, 0xc4, 0x54, 0xe0, 0x14, 0x9f, 0x28, 0x79, 0xfc, 0x68, 0xc9, 0x48, 0x16, 0x20, 0x31,
+	0xf6, 0x6c, 0xc5, 0x09, 0xfe, 0x89, 0x9e, 0x42, 0x5e, 0xe4, 0x57, 0x0f, 0x13, 0x26, 0xf9, 0x58,
+	0x5d, 0x61, 0xaf, 0x51, 0xda, 0xe1, 0xac, 0x17, 0x19, 0x95, 0x9b, 0x90, 0x8d, 0x7a, 0x80, 0xee,
+	0xc0, 0xed, 0xce, 0xe1, 0x69, 0xfb, 0xa4, 0xa1, 0x9f, 0x36, 0xba, 0xcd, 0xf3, 0xfa, 0x5c, 0x85,
+	0xd8, 0x80, 0x44, 0xf7, 0xbc, 0x5d, 0xd0, 0x50, 0x01, 0xb2, 0xf8, 0xf0, 0xac, 0x7e, 0x7e, 0xaa,
+	0x77, 0xba, 0x87, 0xb8, 0x5b, 0x88, 0x97, 0x3f, 0x9d, 0xa5, 0xd8, 0x52, 0x4f, 0xca, 0x0f, 0xa0,
+	0x30, 0x7f, 0xb7, 0xf3, 0x33, 0x2d, 0x5a, 0x02, 0x75, 0xa6, 0xf9, 0x77, 0xf9, 0xbf, 0x09, 0xd8,
+	0xac, 0x59, 0xc3, 0x9f, 0x8f, 0x89, 0x37, 0x99, 0x12, 0x76, 0x93, 0x19, 0x3d, 0x9b, 0x73, 0x7d,
+	0x40, 0x3c, 0xe2, 0xf4, 0x83, 0x0b, 0xf8, 0xfe, 0x92, 0x30, 0x04, 0x06, 0xba, 0x1c, 0x85, 0xf3,
 	0x02, 0x8c, 0x03, 0x2c, 0x3a, 0x05, 0x64, 0x99, 0xc4, 0x61, 0xd6, 0x60, 0x62, 0x39, 0x43, 0x7d,
-	0xc0, 0x1b, 0x9b, 0x2f, 0xca, 0x2c, 0x73, 0x70, 0x77, 0x29, 0x8f, 0x44, 0xf7, 0xc3, 0x5b, 0x11,
-	0xa4, 0x90, 0xf9, 0xbc, 0xdb, 0x79, 0xf4, 0x4a, 0xe5, 0x5b, 0x34, 0xfb, 0x04, 0x4e, 0x73, 0x89,
-	0x48, 0x33, 0xfa, 0x36, 0xa0, 0xe9, 0x76, 0x48, 0x87, 0x75, 0x41, 0x87, 0x42, 0xa8, 0x16, 0x70,
-	0xfb, 0xc5, 0x3c, 0x37, 0xd7, 0xde, 0x3a, 0xf7, 0xcd, 0x45, 0xea, 0x2d, 0xbc, 0xfc, 0x80, 0x39,
-	0xff, 0x7b, 0x12, 0x72, 0x2a, 0x8d, 0x47, 0xd4, 0x19, 0x58, 0x43, 0xf4, 0x0c, 0xb6, 0xcc, 0xa0,
-	0x0f, 0xeb, 0x54, 0xde, 0x45, 0x31, 0x75, 0xd9, 0xa0, 0x37, 0xdf, 0xb7, 0xf9, 0xa0, 0x67, 0xce,
-	0xf7, 0xf2, 0x5f, 0xc1, 0xad, 0xd9, 0x09, 0x32, 0xb0, 0x2d, 0x7f, 0x52, 0x1f, 0xad, 0x5e, 0xb1,
-	0xcd, 0x18, 0xde, 0xee, 0x2f, 0xe8, 0x85, 0x5d, 0xd8, 0xea, 0x59, 0x43, 0xfd, 0xd7, 0x3c, 0x88,
-	0xa1, 0x75, 0xf9, 0xda, 0x78, 0xb8, 0x5a, 0xcc, 0xf9, 0x28, 0xd4, 0x9b, 0x23, 0xec, 0x05, 0x6c,
-	0x8a, 0xf7, 0xa7, 0x6b, 0x38, 0x7a, 0x5f, 0x84, 0x48, 0x24, 0x7c, 0xf9, 0xe3, 0x60, 0x26, 0x9c,
-	0xf2, 0x09, 0xe9, 0x1a, 0x8e, 0x5c, 0xe2, 0x3c, 0x9b, 0x59, 0x97, 0xfe, 0x1c, 0x87, 0xfc, 0xac,
-	0x0a, 0x7a, 0x0c, 0xe0, 0x33, 0xc3, 0x63, 0xf2, 0x69, 0xaa, 0xbd, 0xf3, 0x69, 0x9a, 0x16, 0xda,
-	0x7c, 0x8d, 0xbe, 0x0f, 0x29, 0xe2, 0x98, 0xab, 0xbe, 0x69, 0x37, 0x88, 0x63, 0x0a, 0xd8, 0x97,
-	0xca, 0x45, 0x2e, 0x95, 0x25, 0xa4, 0x92, 0xf2, 0xae, 0x0a, 0xca, 0x87, 0x30, 0x21, 0x41, 0xcf,
-	0xe1, 0x9b, 0xc4, 0x11, 0xd5, 0x6d, 0x8c, 0x19, 0xd5, 0x5d, 0xea, 0x8e, 0x6d, 0xf1, 0xb4, 0xd7,
-	0xe9, 0x40, 0x9f, 0x8f, 0x22, 0xcf, 0x4c, 0x0a, 0x3f, 0x90, 0x80, 0xc3, 0x31, 0xa3, 0xed, 0x50,
-	0xfd, 0x7c, 0x30, 0x1b, 0x93, 0x70, 0x76, 0xf9, 0x0d, 0x64, 0x82, 0x94, 0x1d, 0x93, 0xc9, 0x87,
-	0x6e, 0x26, 0xb2, 0xfa, 0x75, 0x67, 0x3c, 0xea, 0xa9, 0xf9, 0x5b, 0x56, 0xff, 0x99, 0x10, 0x94,
-	0x5b, 0x90, 0x0d, 0x99, 0xce, 0x4f, 0x7f, 0x0c, 0xc0, 0xfb, 0x07, 0x9b, 0xe8, 0xaf, 0xc8, 0xe4,
-	0xcd, 0x44, 0xcd, 0x0e, 0x17, 0x64, 0x82, 0xd3, 0x52, 0xfb, 0x98, 0x4c, 0xca, 0xff, 0xd1, 0x20,
-	0xc1, 0x4d, 0x7c, 0xa0, 0x01, 0xe7, 0x33, 0xd5, 0x7c, 0x65, 0xdf, 0x7b, 0xb8, 0xfc, 0x0e, 0x15,
-	0xde, 0xab, 0x1b, 0x36, 0x11, 0xb3, 0xa7, 0xc0, 0x94, 0xba, 0x7c, 0xde, 0x0b, 0x85, 0xbc, 0x8f,
-	0x8b, 0x59, 0x49, 0xf5, 0x71, 0xfe, 0x8d, 0x0a, 0x10, 0x57, 0xb3, 0x5f, 0xa2, 0x19, 0xc3, 0x71,
-	0xcb, 0x44, 0x3b, 0x6a, 0x82, 0xe3, 0x34, 0x49, 0x37, 0x63, 0x72, 0x86, 0xab, 0xa5, 0x61, 0xc3,
-	0x92, 0x2f, 0xf1, 0xf2, 0x5f, 0x35, 0x48, 0x63, 0xd2, 0xa7, 0x9e, 0xc9, 0xdd, 0xfc, 0x19, 0xe4,
-	0xa6, 0x3d, 0x85, 0x07, 0x4b, 0x92, 0x73, 0xef, 0x5d, 0xfd, 0xe4, 0x98, 0x4c, 0x9a, 0x31, 0x9c,
-	0x35, 0xa3, 0x51, 0x6f, 0x42, 0x6e, 0x5a, 0xe5, 0xdc, 0x56, 0xe2, 0xad, 0x31, 0x8b, 0xd0, 0x85,
-	0x3f, 0xd1, 0x7a, 0xd3, 0x65, 0x48, 0xaa, 0x4b, 0xc8, 0xcd, 0xf0, 0x62, 0x6e, 0xe6, 0xd5, 0xe6,
-	0x67, 0xde, 0x3b, 0x00, 0xe2, 0x46, 0x24, 0x3a, 0x12, 0x2b, 0x49, 0xcb, 0x44, 0xb7, 0x21, 0x25,
-	0x49, 0x69, 0xc9, 0x32, 0x4a, 0xe3, 0x0d, 0xb1, 0x6e, 0x99, 0xe5, 0xdf, 0x69, 0xd3, 0xa3, 0x64,
-	0xc5, 0x7c, 0x06, 0x49, 0xb1, 0x79, 0x23, 0xde, 0x4a, 0x08, 0xfa, 0x1e, 0x24, 0x65, 0xb1, 0xc6,
-	0x57, 0x2a, 0x56, 0xa9, 0x5c, 0xfe, 0x29, 0xa4, 0x1a, 0x82, 0x87, 0x2d, 0x73, 0x6a, 0x41, 0xbb,
-	0x81, 0x85, 0x47, 0x0c, 0x20, 0xf2, 0x54, 0x2c, 0xc1, 0x47, 0x27, 0xad, 0xe3, 0xc6, 0x49, 0xab,
-	0x79, 0xfe, 0xc6, 0x0f, 0xcf, 0x16, 0xe4, 0x9e, 0x35, 0xf0, 0x4b, 0xfd, 0xe9, 0x99, 0x50, 0x79,
-	0x59, 0xd0, 0x50, 0x16, 0x52, 0xe1, 0x2a, 0xce, 0x57, 0xed, 0xf3, 0x4e, 0xa7, 0x55, 0x3b, 0x69,
-	0x14, 0x12, 0x08, 0x60, 0x5d, 0xed, 0xac, 0xa1, 0x4d, 0xc8, 0x08, 0xa8, 0x12, 0x24, 0x1f, 0x35,
-	0x20, 0x15, 0x0c, 0x80, 0xe8, 0x36, 0xdc, 0x7a, 0xd2, 0x3a, 0x69, 0x2c, 0x7a, 0x01, 0x6d, 0x42,
-	0xa6, 0xd6, 0x3a, 0x3b, 0xc4, 0x2f, 0x75, 0xae, 0x51, 0xd0, 0x50, 0x0e, 0xd2, 0xdd, 0xc6, 0x8b,
-	0xae, 0x5c, 0xc6, 0x6b, 0x7f, 0xd0, 0xe0, 0x76, 0x9f, 0x8e, 0x16, 0x7b, 0x5a, 0x83, 0xba, 0xed,
-	0x06, 0x53, 0x8d, 0xf6, 0xd5, 0x0f, 0x95, 0xd2, 0x90, 0xda, 0x86, 0x33, 0xac, 0x50, 0x6f, 0x58,
-	0x1d, 0x12, 0x47, 0x74, 0xd2, 0xaa, 0xdc, 0x32, 0x5c, 0xcb, 0x9f, 0xfb, 0x07, 0xf4, 0x73, 0xd3,
-	0x76, 0xff, 0x16, 0xdf, 0xfe, 0x52, 0x42, 0xc5, 0xcf, 0x57, 0xa5, 0x6e, 0xbb, 0x95, 0x67, 0x07,
-	0xff, 0x0e, 0xa4, 0x17, 0x42, 0x7a, 0x51, 0xb7, 0xdd, 0x8b, 0x67, 0x07, 0xbd, 0x75, 0x61, 0xf0,
-	0xd3, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa0, 0x28, 0xf1, 0xc3, 0x51, 0x15, 0x00, 0x00,
+	0xc0, 0x0b, 0x9b, 0x2f, 0x8e, 0x59, 0xe6, 0xe0, 0x93, 0xa5, 0x3c, 0x12, 0xd5, 0x0f, 0x6f, 0x45,
+	0x90, 0x42, 0xe6, 0xf3, 0x6a, 0xe7, 0xd1, 0x2b, 0x95, 0x6f, 0x51, 0xec, 0x13, 0x38, 0xcd, 0x25,
+	0x22, 0xcd, 0xe8, 0xdb, 0x80, 0xa6, 0xd3, 0x21, 0x1d, 0xd6, 0x05, 0x1d, 0x0a, 0xa1, 0x5a, 0xc0,
+	0xed, 0x17, 0xf3, 0xdc, 0x5c, 0x7b, 0x6b, 0xdf, 0x37, 0x17, 0xa9, 0xb7, 0xf1, 0xf2, 0x09, 0x6c,
+	0xaa, 0xea, 0x60, 0x06, 0x2e, 0x27, 0x57, 0x72, 0x39, 0x1f, 0xc0, 0xa4, 0xbf, 0x1f, 0x90, 0x3c,
+	0x7f, 0x4b, 0x42, 0x4e, 0xf1, 0xe1, 0x88, 0x3a, 0x03, 0x6b, 0x88, 0x9e, 0xc1, 0x96, 0x19, 0x14,
+	0x74, 0x9d, 0x4a, 0xa7, 0x14, 0xe5, 0x97, 0x75, 0x8c, 0xf3, 0x17, 0x00, 0xef, 0x18, 0xcd, 0xf9,
+	0x4b, 0xe1, 0x57, 0x70, 0x6b, 0xb6, 0x15, 0x0d, 0x6c, 0xcb, 0xbb, 0xf9, 0xe1, 0xea, 0x47, 0xbf,
+	0x19, 0xc3, 0xdb, 0xfd, 0x05, 0x45, 0xb5, 0x0b, 0x5b, 0x3d, 0x6b, 0xa8, 0xff, 0x9a, 0x67, 0x23,
+	0xb4, 0x2e, 0x9f, 0x2d, 0x0f, 0x56, 0x4b, 0x1e, 0xef, 0xa9, 0x7a, 0x73, 0xcc, 0xbf, 0x80, 0x4d,
+	0xf1, 0x90, 0x75, 0x0d, 0x47, 0xef, 0x8b, 0x10, 0x09, 0xe6, 0x2c, 0x7f, 0x65, 0xcc, 0x84, 0x53,
+	0xbe, 0x45, 0x5d, 0xc3, 0x91, 0x43, 0x9c, 0x67, 0x33, 0xe3, 0xd2, 0x9f, 0xe2, 0x90, 0x9f, 0x55,
+	0x41, 0x8f, 0x00, 0x7c, 0x66, 0x78, 0x4c, 0xbe, 0x71, 0xb5, 0x77, 0xbe, 0x71, 0xd3, 0x42, 0x9b,
+	0x8f, 0xd1, 0xf7, 0x21, 0x45, 0x1c, 0x73, 0xd5, 0xc7, 0xf1, 0x06, 0x71, 0x4c, 0x01, 0x7b, 0xa2,
+	0x5c, 0xe4, 0x52, 0x49, 0x4c, 0x95, 0x94, 0x77, 0xf2, 0x32, 0x84, 0x09, 0x09, 0x7a, 0x0e, 0xdf,
+	0x24, 0x8e, 0x28, 0x13, 0xc6, 0x98, 0x51, 0xdd, 0xa5, 0xee, 0xd8, 0x16, 0xff, 0x08, 0x74, 0x3a,
+	0xd0, 0xe7, 0xa3, 0xc8, 0x33, 0x93, 0xc2, 0xf7, 0x25, 0xe0, 0x70, 0xcc, 0x68, 0x3b, 0x54, 0x3f,
+	0x1f, 0xcc, 0xc6, 0x24, 0x6c, 0x82, 0x7e, 0x03, 0x99, 0x20, 0x65, 0xc7, 0x64, 0xf2, 0xa1, 0xab,
+	0x92, 0x2c, 0x23, 0xba, 0x33, 0x1e, 0xf5, 0x54, 0x23, 0x2f, 0xcb, 0xc8, 0x99, 0x10, 0x94, 0x5b,
+	0x90, 0x0d, 0x99, 0xce, 0x57, 0x7f, 0x04, 0xc0, 0x0b, 0x11, 0x9b, 0xe8, 0xaf, 0xc8, 0xe4, 0xcd,
+	0x44, 0xcd, 0x76, 0x29, 0x64, 0x82, 0xd3, 0x52, 0xfb, 0x98, 0x4c, 0xca, 0xff, 0xd6, 0x20, 0xc1,
+	0x4d, 0x7c, 0xa0, 0x4e, 0xe9, 0x73, 0x55, 0xc5, 0x65, 0x01, 0x7d, 0xb0, 0x7c, 0x0f, 0x15, 0x5e,
+	0xf4, 0x1b, 0x36, 0x11, 0x4d, 0xac, 0xc0, 0x94, 0xba, 0xbc, 0x71, 0x0c, 0x85, 0xfc, 0x42, 0x10,
+	0x4d, 0x97, 0xba, 0x10, 0xf8, 0x37, 0x2a, 0x40, 0x5c, 0x35, 0x91, 0x89, 0x66, 0x0c, 0xc7, 0x2d,
+	0x13, 0xed, 0xa8, 0x56, 0x90, 0xd3, 0x24, 0xdd, 0x8c, 0xc9, 0x66, 0xb0, 0x96, 0x86, 0x0d, 0x4b,
+	0x3e, 0xe9, 0xcb, 0x7f, 0xd1, 0x20, 0x8d, 0x49, 0x9f, 0x7a, 0x26, 0x77, 0xf3, 0x67, 0x90, 0x9b,
+	0xd6, 0x14, 0x1e, 0x2c, 0x49, 0xce, 0xbd, 0x77, 0xd5, 0x93, 0x63, 0x32, 0x69, 0xc6, 0x70, 0xd6,
+	0x8c, 0x46, 0xbd, 0x09, 0xb9, 0xe9, 0x29, 0xe7, 0xb6, 0x12, 0x6f, 0x8d, 0x59, 0x84, 0x2e, 0xfc,
+	0xad, 0xd7, 0x9b, 0x0e, 0x43, 0x52, 0x5d, 0x42, 0x6e, 0x86, 0x17, 0x73, 0xcd, 0xb3, 0x36, 0xdf,
+	0x3c, 0xdf, 0x01, 0x10, 0x3b, 0x22, 0xd1, 0xde, 0x5a, 0x49, 0x5a, 0x26, 0xba, 0x0d, 0x29, 0x49,
+	0x4a, 0x4b, 0x1e, 0xa3, 0x34, 0xde, 0x10, 0xe3, 0x96, 0x59, 0xfe, 0x9d, 0x36, 0x5d, 0x4a, 0x9e,
+	0x98, 0xcf, 0x21, 0x29, 0x26, 0x6f, 0xc4, 0x5b, 0x09, 0x41, 0xdf, 0x83, 0xa4, 0x3c, 0xac, 0xf1,
+	0x95, 0x0e, 0xab, 0x54, 0x2e, 0xff, 0x14, 0x52, 0x0d, 0xc1, 0xc3, 0x96, 0x39, 0xb5, 0xa0, 0xdd,
+	0xc0, 0xc2, 0x43, 0x06, 0x10, 0x79, 0x73, 0x96, 0xe0, 0xa3, 0x93, 0xd6, 0x71, 0xe3, 0xa4, 0xd5,
+	0x3c, 0x7f, 0xe3, 0xe2, 0xd9, 0x82, 0xdc, 0xb3, 0x06, 0x7e, 0xa9, 0x3f, 0x3d, 0x13, 0x2a, 0x2f,
+	0x0b, 0x1a, 0xca, 0x42, 0x2a, 0x1c, 0xc5, 0xf9, 0xa8, 0x7d, 0xde, 0xe9, 0xb4, 0x6a, 0x27, 0x8d,
+	0x42, 0x02, 0x01, 0xac, 0xab, 0x99, 0x35, 0xb4, 0x09, 0x19, 0x01, 0x55, 0x82, 0xe4, 0xc3, 0x06,
+	0xa4, 0x82, 0x4e, 0x12, 0xdd, 0x86, 0x5b, 0x8f, 0x5b, 0x27, 0x8d, 0x45, 0x4f, 0xa9, 0x4d, 0xc8,
+	0xd4, 0x5a, 0x67, 0x87, 0xf8, 0xa5, 0xce, 0x35, 0x0a, 0x1a, 0xca, 0x41, 0xba, 0xdb, 0x78, 0xd1,
+	0x95, 0xc3, 0x78, 0xed, 0x0f, 0x1a, 0xdc, 0xee, 0xd3, 0xd1, 0x62, 0x4f, 0x6b, 0x50, 0xb7, 0xdd,
+	0xa0, 0x3d, 0xd2, 0xbe, 0xfa, 0xa1, 0x52, 0x1a, 0x52, 0xdb, 0x70, 0x86, 0x15, 0xea, 0x0d, 0xab,
+	0x43, 0xe2, 0x88, 0x4a, 0x5a, 0x95, 0x53, 0x86, 0x6b, 0xf9, 0x73, 0xbf, 0x52, 0xbf, 0x30, 0x6d,
+	0xf7, 0xaf, 0xf1, 0xed, 0x27, 0x12, 0x2a, 0xae, 0xaf, 0x4a, 0xdd, 0x76, 0x2b, 0xcf, 0x0e, 0xfe,
+	0x15, 0x48, 0x2f, 0x84, 0xf4, 0xa2, 0x6e, 0xbb, 0x17, 0xcf, 0x0e, 0x7a, 0xeb, 0xc2, 0xe0, 0x67,
+	0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xa8, 0x58, 0x67, 0x11, 0x9a, 0x15, 0x00, 0x00,
 }