// Code generated by protoc-gen-go. DO NOT EDIT.
// source: envoy/config/filter/http/ext_authz/v2/ext_authz.proto

package envoy_config_filter_http_ext_authz_v2

import (
	fmt "fmt"
	_ "github.com/cncf/udpa/go/udpa/annotations"
	_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
	core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
	_type "github.com/envoyproxy/go-control-plane/envoy/type"
	matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	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.ProtoPackageIsVersion3 // please upgrade the proto package

type ExtAuthz struct {
	// Types that are valid to be assigned to Services:
	//	*ExtAuthz_GrpcService
	//	*ExtAuthz_HttpService
	Services                  isExtAuthz_Services            `protobuf_oneof:"services"`
	FailureModeAllow          bool                           `protobuf:"varint,2,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"`
	UseAlpha                  bool                           `protobuf:"varint,4,opt,name=use_alpha,json=useAlpha,proto3" json:"use_alpha,omitempty"` // Deprecated: Do not use.
	WithRequestBody           *BufferSettings                `protobuf:"bytes,5,opt,name=with_request_body,json=withRequestBody,proto3" json:"with_request_body,omitempty"`
	ClearRouteCache           bool                           `protobuf:"varint,6,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	StatusOnError             *_type.HttpStatus              `protobuf:"bytes,7,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"`
	MetadataContextNamespaces []string                       `protobuf:"bytes,8,rep,name=metadata_context_namespaces,json=metadataContextNamespaces,proto3" json:"metadata_context_namespaces,omitempty"`
	FilterEnabled             *core.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"`
	IncludePeerCertificate    bool                           `protobuf:"varint,10,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}                       `json:"-"`
	XXX_unrecognized          []byte                         `json:"-"`
	XXX_sizecache             int32                          `json:"-"`
}

func (m *ExtAuthz) Reset()         { *m = ExtAuthz{} }
func (m *ExtAuthz) String() string { return proto.CompactTextString(m) }
func (*ExtAuthz) ProtoMessage()    {}
func (*ExtAuthz) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{0}
}

func (m *ExtAuthz) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ExtAuthz.Unmarshal(m, b)
}
func (m *ExtAuthz) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ExtAuthz.Marshal(b, m, deterministic)
}
func (m *ExtAuthz) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ExtAuthz.Merge(m, src)
}
func (m *ExtAuthz) XXX_Size() int {
	return xxx_messageInfo_ExtAuthz.Size(m)
}
func (m *ExtAuthz) XXX_DiscardUnknown() {
	xxx_messageInfo_ExtAuthz.DiscardUnknown(m)
}

var xxx_messageInfo_ExtAuthz proto.InternalMessageInfo

type isExtAuthz_Services interface {
	isExtAuthz_Services()
}

type ExtAuthz_GrpcService struct {
	GrpcService *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"`
}

type ExtAuthz_HttpService struct {
	HttpService *HttpService `protobuf:"bytes,3,opt,name=http_service,json=httpService,proto3,oneof"`
}

func (*ExtAuthz_GrpcService) isExtAuthz_Services() {}

func (*ExtAuthz_HttpService) isExtAuthz_Services() {}

func (m *ExtAuthz) GetServices() isExtAuthz_Services {
	if m != nil {
		return m.Services
	}
	return nil
}

func (m *ExtAuthz) GetGrpcService() *core.GrpcService {
	if x, ok := m.GetServices().(*ExtAuthz_GrpcService); ok {
		return x.GrpcService
	}
	return nil
}

func (m *ExtAuthz) GetHttpService() *HttpService {
	if x, ok := m.GetServices().(*ExtAuthz_HttpService); ok {
		return x.HttpService
	}
	return nil
}

func (m *ExtAuthz) GetFailureModeAllow() bool {
	if m != nil {
		return m.FailureModeAllow
	}
	return false
}

// Deprecated: Do not use.
func (m *ExtAuthz) GetUseAlpha() bool {
	if m != nil {
		return m.UseAlpha
	}
	return false
}

func (m *ExtAuthz) GetWithRequestBody() *BufferSettings {
	if m != nil {
		return m.WithRequestBody
	}
	return nil
}

func (m *ExtAuthz) GetClearRouteCache() bool {
	if m != nil {
		return m.ClearRouteCache
	}
	return false
}

func (m *ExtAuthz) GetStatusOnError() *_type.HttpStatus {
	if m != nil {
		return m.StatusOnError
	}
	return nil
}

func (m *ExtAuthz) GetMetadataContextNamespaces() []string {
	if m != nil {
		return m.MetadataContextNamespaces
	}
	return nil
}

func (m *ExtAuthz) GetFilterEnabled() *core.RuntimeFractionalPercent {
	if m != nil {
		return m.FilterEnabled
	}
	return nil
}

func (m *ExtAuthz) GetIncludePeerCertificate() bool {
	if m != nil {
		return m.IncludePeerCertificate
	}
	return false
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ExtAuthz) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ExtAuthz_GrpcService)(nil),
		(*ExtAuthz_HttpService)(nil),
	}
}

type BufferSettings struct {
	MaxRequestBytes      uint32   `protobuf:"varint,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"`
	AllowPartialMessage  bool     `protobuf:"varint,2,opt,name=allow_partial_message,json=allowPartialMessage,proto3" json:"allow_partial_message,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BufferSettings) Reset()         { *m = BufferSettings{} }
func (m *BufferSettings) String() string { return proto.CompactTextString(m) }
func (*BufferSettings) ProtoMessage()    {}
func (*BufferSettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{1}
}

func (m *BufferSettings) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BufferSettings.Unmarshal(m, b)
}
func (m *BufferSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BufferSettings.Marshal(b, m, deterministic)
}
func (m *BufferSettings) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BufferSettings.Merge(m, src)
}
func (m *BufferSettings) XXX_Size() int {
	return xxx_messageInfo_BufferSettings.Size(m)
}
func (m *BufferSettings) XXX_DiscardUnknown() {
	xxx_messageInfo_BufferSettings.DiscardUnknown(m)
}

var xxx_messageInfo_BufferSettings proto.InternalMessageInfo

func (m *BufferSettings) GetMaxRequestBytes() uint32 {
	if m != nil {
		return m.MaxRequestBytes
	}
	return 0
}

func (m *BufferSettings) GetAllowPartialMessage() bool {
	if m != nil {
		return m.AllowPartialMessage
	}
	return false
}

type HttpService struct {
	ServerUri             *core.HttpUri          `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"`
	PathPrefix            string                 `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
	AuthorizationRequest  *AuthorizationRequest  `protobuf:"bytes,7,opt,name=authorization_request,json=authorizationRequest,proto3" json:"authorization_request,omitempty"`
	AuthorizationResponse *AuthorizationResponse `protobuf:"bytes,8,opt,name=authorization_response,json=authorizationResponse,proto3" json:"authorization_response,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
	XXX_unrecognized      []byte                 `json:"-"`
	XXX_sizecache         int32                  `json:"-"`
}

func (m *HttpService) Reset()         { *m = HttpService{} }
func (m *HttpService) String() string { return proto.CompactTextString(m) }
func (*HttpService) ProtoMessage()    {}
func (*HttpService) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{2}
}

func (m *HttpService) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HttpService.Unmarshal(m, b)
}
func (m *HttpService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HttpService.Marshal(b, m, deterministic)
}
func (m *HttpService) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HttpService.Merge(m, src)
}
func (m *HttpService) XXX_Size() int {
	return xxx_messageInfo_HttpService.Size(m)
}
func (m *HttpService) XXX_DiscardUnknown() {
	xxx_messageInfo_HttpService.DiscardUnknown(m)
}

var xxx_messageInfo_HttpService proto.InternalMessageInfo

func (m *HttpService) GetServerUri() *core.HttpUri {
	if m != nil {
		return m.ServerUri
	}
	return nil
}

func (m *HttpService) GetPathPrefix() string {
	if m != nil {
		return m.PathPrefix
	}
	return ""
}

func (m *HttpService) GetAuthorizationRequest() *AuthorizationRequest {
	if m != nil {
		return m.AuthorizationRequest
	}
	return nil
}

func (m *HttpService) GetAuthorizationResponse() *AuthorizationResponse {
	if m != nil {
		return m.AuthorizationResponse
	}
	return nil
}

type AuthorizationRequest struct {
	AllowedHeaders       *matcher.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"`
	HeadersToAdd         []*core.HeaderValue        `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *AuthorizationRequest) Reset()         { *m = AuthorizationRequest{} }
func (m *AuthorizationRequest) String() string { return proto.CompactTextString(m) }
func (*AuthorizationRequest) ProtoMessage()    {}
func (*AuthorizationRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{3}
}

func (m *AuthorizationRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AuthorizationRequest.Unmarshal(m, b)
}
func (m *AuthorizationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AuthorizationRequest.Marshal(b, m, deterministic)
}
func (m *AuthorizationRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AuthorizationRequest.Merge(m, src)
}
func (m *AuthorizationRequest) XXX_Size() int {
	return xxx_messageInfo_AuthorizationRequest.Size(m)
}
func (m *AuthorizationRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_AuthorizationRequest.DiscardUnknown(m)
}

var xxx_messageInfo_AuthorizationRequest proto.InternalMessageInfo

func (m *AuthorizationRequest) GetAllowedHeaders() *matcher.ListStringMatcher {
	if m != nil {
		return m.AllowedHeaders
	}
	return nil
}

func (m *AuthorizationRequest) GetHeadersToAdd() []*core.HeaderValue {
	if m != nil {
		return m.HeadersToAdd
	}
	return nil
}

type AuthorizationResponse struct {
	AllowedUpstreamHeaders *matcher.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"`
	AllowedClientHeaders   *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=allowed_client_headers,json=allowedClientHeaders,proto3" json:"allowed_client_headers,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                   `json:"-"`
	XXX_unrecognized       []byte                     `json:"-"`
	XXX_sizecache          int32                      `json:"-"`
}

func (m *AuthorizationResponse) Reset()         { *m = AuthorizationResponse{} }
func (m *AuthorizationResponse) String() string { return proto.CompactTextString(m) }
func (*AuthorizationResponse) ProtoMessage()    {}
func (*AuthorizationResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{4}
}

func (m *AuthorizationResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AuthorizationResponse.Unmarshal(m, b)
}
func (m *AuthorizationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AuthorizationResponse.Marshal(b, m, deterministic)
}
func (m *AuthorizationResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AuthorizationResponse.Merge(m, src)
}
func (m *AuthorizationResponse) XXX_Size() int {
	return xxx_messageInfo_AuthorizationResponse.Size(m)
}
func (m *AuthorizationResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_AuthorizationResponse.DiscardUnknown(m)
}

var xxx_messageInfo_AuthorizationResponse proto.InternalMessageInfo

func (m *AuthorizationResponse) GetAllowedUpstreamHeaders() *matcher.ListStringMatcher {
	if m != nil {
		return m.AllowedUpstreamHeaders
	}
	return nil
}

func (m *AuthorizationResponse) GetAllowedClientHeaders() *matcher.ListStringMatcher {
	if m != nil {
		return m.AllowedClientHeaders
	}
	return nil
}

type ExtAuthzPerRoute struct {
	// Types that are valid to be assigned to Override:
	//	*ExtAuthzPerRoute_Disabled
	//	*ExtAuthzPerRoute_CheckSettings
	Override             isExtAuthzPerRoute_Override `protobuf_oneof:"override"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *ExtAuthzPerRoute) Reset()         { *m = ExtAuthzPerRoute{} }
func (m *ExtAuthzPerRoute) String() string { return proto.CompactTextString(m) }
func (*ExtAuthzPerRoute) ProtoMessage()    {}
func (*ExtAuthzPerRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{5}
}

func (m *ExtAuthzPerRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ExtAuthzPerRoute.Unmarshal(m, b)
}
func (m *ExtAuthzPerRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ExtAuthzPerRoute.Marshal(b, m, deterministic)
}
func (m *ExtAuthzPerRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ExtAuthzPerRoute.Merge(m, src)
}
func (m *ExtAuthzPerRoute) XXX_Size() int {
	return xxx_messageInfo_ExtAuthzPerRoute.Size(m)
}
func (m *ExtAuthzPerRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_ExtAuthzPerRoute.DiscardUnknown(m)
}

var xxx_messageInfo_ExtAuthzPerRoute proto.InternalMessageInfo

type isExtAuthzPerRoute_Override interface {
	isExtAuthzPerRoute_Override()
}

type ExtAuthzPerRoute_Disabled struct {
	Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"`
}

type ExtAuthzPerRoute_CheckSettings struct {
	CheckSettings *CheckSettings `protobuf:"bytes,2,opt,name=check_settings,json=checkSettings,proto3,oneof"`
}

func (*ExtAuthzPerRoute_Disabled) isExtAuthzPerRoute_Override() {}

func (*ExtAuthzPerRoute_CheckSettings) isExtAuthzPerRoute_Override() {}

func (m *ExtAuthzPerRoute) GetOverride() isExtAuthzPerRoute_Override {
	if m != nil {
		return m.Override
	}
	return nil
}

func (m *ExtAuthzPerRoute) GetDisabled() bool {
	if x, ok := m.GetOverride().(*ExtAuthzPerRoute_Disabled); ok {
		return x.Disabled
	}
	return false
}

func (m *ExtAuthzPerRoute) GetCheckSettings() *CheckSettings {
	if x, ok := m.GetOverride().(*ExtAuthzPerRoute_CheckSettings); ok {
		return x.CheckSettings
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ExtAuthzPerRoute) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ExtAuthzPerRoute_Disabled)(nil),
		(*ExtAuthzPerRoute_CheckSettings)(nil),
	}
}

type CheckSettings struct {
	ContextExtensions    map[string]string `protobuf:"bytes,1,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,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 *CheckSettings) Reset()         { *m = CheckSettings{} }
func (m *CheckSettings) String() string { return proto.CompactTextString(m) }
func (*CheckSettings) ProtoMessage()    {}
func (*CheckSettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_861cd76675296973, []int{6}
}

func (m *CheckSettings) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CheckSettings.Unmarshal(m, b)
}
func (m *CheckSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CheckSettings.Marshal(b, m, deterministic)
}
func (m *CheckSettings) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckSettings.Merge(m, src)
}
func (m *CheckSettings) XXX_Size() int {
	return xxx_messageInfo_CheckSettings.Size(m)
}
func (m *CheckSettings) XXX_DiscardUnknown() {
	xxx_messageInfo_CheckSettings.DiscardUnknown(m)
}

var xxx_messageInfo_CheckSettings proto.InternalMessageInfo

func (m *CheckSettings) GetContextExtensions() map[string]string {
	if m != nil {
		return m.ContextExtensions
	}
	return nil
}

func init() {
	proto.RegisterType((*ExtAuthz)(nil), "envoy.config.filter.http.ext_authz.v2.ExtAuthz")
	proto.RegisterType((*BufferSettings)(nil), "envoy.config.filter.http.ext_authz.v2.BufferSettings")
	proto.RegisterType((*HttpService)(nil), "envoy.config.filter.http.ext_authz.v2.HttpService")
	proto.RegisterType((*AuthorizationRequest)(nil), "envoy.config.filter.http.ext_authz.v2.AuthorizationRequest")
	proto.RegisterType((*AuthorizationResponse)(nil), "envoy.config.filter.http.ext_authz.v2.AuthorizationResponse")
	proto.RegisterType((*ExtAuthzPerRoute)(nil), "envoy.config.filter.http.ext_authz.v2.ExtAuthzPerRoute")
	proto.RegisterType((*CheckSettings)(nil), "envoy.config.filter.http.ext_authz.v2.CheckSettings")
	proto.RegisterMapType((map[string]string)(nil), "envoy.config.filter.http.ext_authz.v2.CheckSettings.ContextExtensionsEntry")
}

func init() {
	proto.RegisterFile("envoy/config/filter/http/ext_authz/v2/ext_authz.proto", fileDescriptor_861cd76675296973)
}

var fileDescriptor_861cd76675296973 = []byte{
	// 1100 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4d, 0x6f, 0x1b, 0xc5,
	0x1b, 0xef, 0xfa, 0x25, 0x5d, 0x4f, 0xea, 0xd8, 0x99, 0x7f, 0x92, 0xff, 0x12, 0x50, 0x6b, 0x19,
	0x22, 0x55, 0xa5, 0x5a, 0x4b, 0x0e, 0x95, 0xca, 0x8b, 0x2a, 0xc5, 0x6e, 0x20, 0x0a, 0xb4, 0x58,
	0x5b, 0x02, 0x07, 0x0e, 0xa3, 0xc9, 0xee, 0x63, 0x7b, 0xe8, 0x7a, 0x77, 0x99, 0x99, 0x75, 0xed,
	0x7c, 0x04, 0x2e, 0x5c, 0xf9, 0x04, 0x9c, 0xb8, 0x71, 0xe1, 0x6b, 0x80, 0xc4, 0x77, 0xe0, 0xc4,
	0xa1, 0x27, 0xd4, 0x03, 0x42, 0xf3, 0xb2, 0xb1, 0xd3, 0x18, 0x29, 0xe4, 0xe6, 0x79, 0x7e, 0xbf,
	0xe7, 0xf7, 0xbc, 0xcc, 0x33, 0x8f, 0x17, 0x3d, 0x80, 0x64, 0x9a, 0xce, 0x3b, 0x61, 0x9a, 0x0c,
	0xd9, 0xa8, 0x33, 0x64, 0xb1, 0x04, 0xde, 0x19, 0x4b, 0x99, 0x75, 0x60, 0x26, 0x09, 0xcd, 0xe5,
	0xf8, 0xac, 0x33, 0xed, 0x2e, 0x0e, 0x7e, 0xc6, 0x53, 0x99, 0xe2, 0x3d, 0xed, 0xe6, 0x1b, 0x37,
	0xdf, 0xb8, 0xf9, 0xca, 0xcd, 0x5f, 0x30, 0xa7, 0xdd, 0xdd, 0xb7, 0x8c, 0x3a, 0xcd, 0x98, 0x12,
	0x09, 0x53, 0x0e, 0x9d, 0x53, 0x2a, 0xc0, 0x88, 0xec, 0xbe, 0x73, 0x19, 0x1d, 0xf1, 0x2c, 0x24,
	0x02, 0xf8, 0x94, 0x85, 0x05, 0xab, 0x75, 0x99, 0xa5, 0x02, 0x91, 0x9c, 0x33, 0xcb, 0xb0, 0x51,
	0xe4, 0x3c, 0xb3, 0x90, 0x90, 0x54, 0xe6, 0xc2, 0xa2, 0x77, 0x96, 0xd0, 0x09, 0x95, 0xe1, 0x18,
	0x78, 0x47, 0x48, 0xce, 0x92, 0x91, 0x25, 0xbc, 0x6d, 0x03, 0x24, 0x49, 0x2a, 0xa9, 0x64, 0x69,
	0x22, 0x3a, 0x11, 0x64, 0x1c, 0x42, 0x7d, 0xb0, 0xa4, 0xdb, 0x79, 0x94, 0xd1, 0x0b, 0x9c, 0x09,
	0x1b, 0x71, 0x2a, 0x8b, 0x2c, 0xff, 0x3f, 0xa5, 0x31, 0x8b, 0xa8, 0x84, 0x4e, 0xf1, 0xc3, 0x00,
	0xed, 0x1f, 0xab, 0xc8, 0x3d, 0x9c, 0xc9, 0x03, 0xd5, 0x12, 0xdc, 0x47, 0xb7, 0x96, 0x2b, 0xf4,
	0x9c, 0x96, 0x73, 0x77, 0xbd, 0x7b, 0xdb, 0x37, 0xdd, 0xa4, 0x19, 0xf3, 0xa7, 0x5d, 0x5f, 0x95,
	0xe8, 0x7f, 0xc2, 0xb3, 0xf0, 0x99, 0x61, 0x1d, 0xdd, 0x08, 0xd6, 0x47, 0x8b, 0x23, 0xfe, 0x0a,
	0xdd, 0x32, 0x55, 0x5a, 0x91, 0xb2, 0x16, 0xe9, 0xfa, 0x57, 0xba, 0x12, 0xff, 0x48, 0xca, 0x6c,
	0x49, 0x78, 0xbc, 0x38, 0xe2, 0xfb, 0x08, 0x0f, 0x29, 0x8b, 0x73, 0x0e, 0x64, 0x92, 0x46, 0x40,
	0x68, 0x1c, 0xa7, 0x2f, 0xbc, 0x52, 0xcb, 0xb9, 0xeb, 0x06, 0x4d, 0x8b, 0x3c, 0x49, 0x23, 0x38,
	0x50, 0x76, 0xbc, 0x87, 0x6a, 0xb9, 0x50, 0xa4, 0x6c, 0x4c, 0xbd, 0x8a, 0x22, 0xf5, 0xdc, 0x5f,
	0xfe, 0x7c, 0xf9, 0x5b, 0xd5, 0xf1, 0x9c, 0xc0, 0xcd, 0x05, 0x1c, 0x28, 0x04, 0x53, 0xb4, 0xf9,
	0x82, 0xc9, 0x31, 0xe1, 0xf0, 0x6d, 0x0e, 0x42, 0x92, 0xd3, 0x34, 0x9a, 0x7b, 0x55, 0x9d, 0xf2,
	0x83, 0x2b, 0xa6, 0xdc, 0xcb, 0x87, 0x43, 0xe0, 0xcf, 0x40, 0x4a, 0x96, 0x8c, 0x44, 0xd0, 0x50,
	0x7a, 0x81, 0x91, 0xeb, 0xa5, 0xd1, 0x1c, 0xdf, 0x43, 0x9b, 0x61, 0x0c, 0x94, 0x13, 0x9e, 0xe6,
	0x12, 0x48, 0x48, 0xc3, 0x31, 0x78, 0x6b, 0x3a, 0xed, 0x86, 0x06, 0x02, 0x65, 0xef, 0x2b, 0x33,
	0x7e, 0x84, 0x1a, 0x66, 0x3a, 0x48, 0x9a, 0x10, 0xe0, 0x3c, 0xe5, 0xde, 0x4d, 0x9d, 0xcc, 0x8e,
	0x4d, 0x46, 0xcd, 0x89, 0x69, 0x92, 0xa6, 0x05, 0x75, 0x43, 0xff, 0x3c, 0x39, 0x54, 0x64, 0xfc,
	0x08, 0xbd, 0x39, 0x01, 0x49, 0x23, 0x2a, 0x29, 0x09, 0xd3, 0x44, 0xaa, 0x44, 0x13, 0x3a, 0x01,
	0x91, 0xd1, 0x10, 0x84, 0xe7, 0xb6, 0xca, 0x77, 0x6b, 0xc1, 0x1b, 0x05, 0xa5, 0x6f, 0x18, 0x4f,
	0xcf, 0x09, 0x38, 0x40, 0x1b, 0xa6, 0x4e, 0x02, 0x09, 0x3d, 0x8d, 0x21, 0xf2, 0x6a, 0x3a, 0xfc,
	0xbb, 0x2b, 0x66, 0x20, 0xc8, 0x13, 0xc9, 0x26, 0xf0, 0x31, 0xa7, 0xa1, 0x1a, 0x39, 0x1a, 0x0f,
	0x80, 0x87, 0x90, 0xc8, 0xa0, 0x6e, 0x24, 0x0e, 0x8d, 0x02, 0x7e, 0x88, 0x3c, 0x96, 0x84, 0x71,
	0x1e, 0x01, 0xc9, 0x00, 0x38, 0x09, 0x81, 0x4b, 0x36, 0x64, 0x21, 0x95, 0xe0, 0x21, 0xdd, 0x86,
	0x1d, 0x8b, 0x0f, 0x00, 0x78, 0x7f, 0x81, 0xf6, 0x10, 0x72, 0xed, 0x14, 0x89, 0xf6, 0x1c, 0x6d,
	0x5c, 0x6c, 0x34, 0xde, 0x47, 0x9b, 0x13, 0x3a, 0x5b, 0xdc, 0xdc, 0x5c, 0x82, 0xd0, 0x23, 0x5b,
	0xef, 0xdd, 0x7c, 0xd5, 0xab, 0xdc, 0x2b, 0xb5, 0x6e, 0x04, 0x8d, 0x09, 0x9d, 0x15, 0x77, 0xa1,
	0x70, 0xdc, 0x45, 0xdb, 0x7a, 0x6e, 0x48, 0x46, 0xb9, 0x64, 0x34, 0x26, 0x13, 0x10, 0x82, 0x8e,
	0xc0, 0xce, 0xd1, 0xff, 0x34, 0x38, 0x30, 0xd8, 0x13, 0x03, 0xb5, 0xff, 0x28, 0xa1, 0xf5, 0xa5,
	0xb9, 0xc4, 0xef, 0x23, 0xa4, 0xd2, 0x02, 0xae, 0x1e, 0xb9, 0x7d, 0x24, 0xbb, 0x2b, 0x1a, 0xa4,
	0x7c, 0x4e, 0x38, 0x0b, 0x6a, 0x86, 0x7d, 0xc2, 0x19, 0xbe, 0x83, 0xd6, 0x33, 0x2a, 0xc7, 0x24,
	0xe3, 0x30, 0x64, 0x33, 0x1d, 0xb4, 0x16, 0x20, 0x65, 0x1a, 0x68, 0x0b, 0xce, 0xd0, 0xb6, 0x1a,
	0xac, 0x94, 0xb3, 0x33, 0xfd, 0x90, 0x8b, 0xf2, 0xec, 0x18, 0x7c, 0x78, 0xc5, 0x99, 0x3c, 0x58,
	0xd6, 0xb0, 0x0d, 0x08, 0xb6, 0xe8, 0x0a, 0x2b, 0x16, 0x68, 0xe7, 0xf5, 0x88, 0x22, 0x4b, 0x13,
	0x01, 0x9e, 0xab, 0x43, 0x7e, 0x74, 0xbd, 0x90, 0x46, 0x23, 0xd8, 0xa6, 0xab, 0xcc, 0xc7, 0x15,
	0xb7, 0xdc, 0xac, 0x1c, 0x57, 0xdc, 0x4a, 0xb3, 0x7a, 0x5c, 0x71, 0xab, 0xcd, 0xb5, 0xe3, 0x8a,
	0xbb, 0xd6, 0xbc, 0xd9, 0xfe, 0xc9, 0x41, 0x5b, 0xab, 0x72, 0xc7, 0x4f, 0x51, 0x43, 0x5f, 0x0d,
	0x44, 0x64, 0x0c, 0x34, 0x02, 0x2e, 0x6c, 0xe3, 0xf7, 0x96, 0x1f, 0x86, 0x5d, 0xa0, 0xfe, 0x67,
	0x4c, 0xc8, 0x67, 0x7a, 0x89, 0x3e, 0x31, 0x96, 0x60, 0xc3, 0x7a, 0x1f, 0x19, 0x67, 0xfc, 0x18,
	0x6d, 0x58, 0x1d, 0x22, 0x53, 0x42, 0xa3, 0xc8, 0x2b, 0xb5, 0xca, 0xff, 0xb2, 0xec, 0x8c, 0xcf,
	0x97, 0x34, 0xce, 0x21, 0xb8, 0x65, 0xbd, 0xbe, 0x48, 0x0f, 0xa2, 0xa8, 0xfd, 0xbb, 0x83, 0xb6,
	0x57, 0xd6, 0x8d, 0x09, 0xf2, 0x8a, 0x7c, 0xf3, 0x4c, 0x48, 0x0e, 0x74, 0x72, 0xbd, 0xc4, 0x77,
	0xac, 0xcc, 0x89, 0x55, 0x29, 0x0a, 0xf8, 0x1a, 0x15, 0x08, 0x09, 0x63, 0x06, 0x89, 0x3c, 0x97,
	0x2f, 0xfd, 0x17, 0xf9, 0x2d, 0x2b, 0xd2, 0xd7, 0x1a, 0x56, 0xbc, 0xfd, 0xb3, 0x83, 0x9a, 0xc5,
	0xbf, 0xc2, 0x00, 0xcc, 0x82, 0xc2, 0x7b, 0xc8, 0x8d, 0x98, 0x30, 0x5b, 0xc1, 0xd1, 0x0b, 0x55,
	0x3d, 0xb3, 0x6f, 0x4a, 0xae, 0x73, 0x74, 0x23, 0x38, 0x87, 0xf0, 0x08, 0x6d, 0x84, 0x63, 0x08,
	0x9f, 0x13, 0x61, 0x1f, 0xaa, 0x4d, 0xe8, 0xbd, 0x2b, 0xce, 0x51, 0x5f, 0x39, 0x17, 0x8f, 0xbc,
	0xe7, 0xbe, 0xea, 0x55, 0xbf, 0x73, 0x4a, 0x4d, 0x15, 0xa3, 0x1e, 0x5e, 0x80, 0x1a, 0xc8, 0x4d,
	0xa7, 0xc0, 0x39, 0x8b, 0x00, 0x97, 0xff, 0xea, 0x39, 0xed, 0x5f, 0x1d, 0x54, 0xbf, 0xe0, 0x8d,
	0xcf, 0x10, 0x2e, 0xb6, 0x20, 0xcc, 0x24, 0x24, 0x42, 0xfd, 0x35, 0x7a, 0x8e, 0xbe, 0xe9, 0x4f,
	0xaf, 0x93, 0x8f, 0x6f, 0x57, 0xe6, 0xe1, 0xb9, 0xda, 0x61, 0x22, 0xf9, 0x3c, 0xd8, 0x0c, 0x5f,
	0xb7, 0xef, 0x3e, 0x46, 0x3b, 0xab, 0xc9, 0xb8, 0x89, 0xca, 0xcf, 0x61, 0xae, 0x7b, 0x58, 0x0b,
	0xd4, 0x4f, 0xbc, 0x85, 0xaa, 0x53, 0x35, 0x5e, 0x76, 0x21, 0x98, 0xc3, 0x07, 0xa5, 0x87, 0x4e,
	0x6f, 0xf6, 0xf2, 0x87, 0xbf, 0xbf, 0xaf, 0xde, 0xc7, 0xf7, 0x4c, 0xb2, 0x8b, 0x2a, 0x6c, 0xc2,
	0xe2, 0x52, 0xc6, 0xfb, 0x68, 0x9f, 0xa5, 0xa6, 0xb6, 0x8c, 0xa7, 0xb3, 0xf9, 0xd5, 0xca, 0xec,
	0xd5, 0xcf, 0xef, 0x5b, 0x7d, 0x17, 0x0c, 0x9c, 0xd3, 0x35, 0xfd, 0x81, 0xb0, 0xff, 0x4f, 0x00,
	0x00, 0x00, 0xff, 0xff, 0x67, 0x14, 0xd6, 0x3c, 0x83, 0x09, 0x00, 0x00,
}
