// Code generated by protoc-gen-go. DO NOT EDIT.
// source: github.com/appcelerator/amp/api/rpc/stats/stats.proto

/*
Package stats is a generated protocol buffer package.

It is generated from these files:
	github.com/appcelerator/amp/api/rpc/stats/stats.proto

It has these top-level messages:
	MetricsEntry
	MetricsCPUEntry
	MetricsIOEntry
	MetricsMemEntry
	MetricsNetEntry
	StatsRequest
	StatsReply
*/
package stats

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type MetricsEntry struct {
	Timestamp          string            `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp,omitempty"`
	ContainerId        string            `protobuf:"bytes,2,opt,name=container_id,json=containerId" json:"container_id,omitempty"`
	ContainerName      string            `protobuf:"bytes,3,opt,name=container_name,json=containerName" json:"container_name,omitempty"`
	ContainerShortName string            `protobuf:"bytes,4,opt,name=container_short_name,json=containerShortName" json:"container_short_name,omitempty"`
	ContainerState     string            `protobuf:"bytes,5,opt,name=container_state,json=containerState" json:"container_state,omitempty"`
	ServiceName        string            `protobuf:"bytes,6,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
	ServiceId          string            `protobuf:"bytes,7,opt,name=service_id,json=serviceId" json:"service_id,omitempty"`
	TaskId             string            `protobuf:"bytes,8,opt,name=task_id,json=taskId" json:"task_id,omitempty"`
	TaskSlot           int32             `protobuf:"varint,9,opt,name=task_slot,json=taskSlot" json:"task_slot,omitempty"`
	StackName          string            `protobuf:"bytes,10,opt,name=stack_name,json=stackName" json:"stack_name,omitempty"`
	NodeId             string            `protobuf:"bytes,11,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
	TimeId             string            `protobuf:"bytes,12,opt,name=time_id,json=timeId" json:"time_id,omitempty"`
	Labels             map[string]string `protobuf:"bytes,13,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Group              string            `protobuf:"bytes,14,opt,name=group" json:"group,omitempty"`
	Sgroup             string            `protobuf:"bytes,15,opt,name=sgroup" json:"sgroup,omitempty"`
	Cpu                *MetricsCPUEntry  `protobuf:"bytes,16,opt,name=cpu" json:"cpu,omitempty"`
	Io                 *MetricsIOEntry   `protobuf:"bytes,17,opt,name=io" json:"io,omitempty"`
	Mem                *MetricsMemEntry  `protobuf:"bytes,18,opt,name=mem" json:"mem,omitempty"`
	Net                *MetricsNetEntry  `protobuf:"bytes,19,opt,name=net" json:"net,omitempty"`
}

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

func (m *MetricsEntry) GetTimestamp() string {
	if m != nil {
		return m.Timestamp
	}
	return ""
}

func (m *MetricsEntry) GetContainerId() string {
	if m != nil {
		return m.ContainerId
	}
	return ""
}

func (m *MetricsEntry) GetContainerName() string {
	if m != nil {
		return m.ContainerName
	}
	return ""
}

func (m *MetricsEntry) GetContainerShortName() string {
	if m != nil {
		return m.ContainerShortName
	}
	return ""
}

func (m *MetricsEntry) GetContainerState() string {
	if m != nil {
		return m.ContainerState
	}
	return ""
}

func (m *MetricsEntry) GetServiceName() string {
	if m != nil {
		return m.ServiceName
	}
	return ""
}

func (m *MetricsEntry) GetServiceId() string {
	if m != nil {
		return m.ServiceId
	}
	return ""
}

func (m *MetricsEntry) GetTaskId() string {
	if m != nil {
		return m.TaskId
	}
	return ""
}

func (m *MetricsEntry) GetTaskSlot() int32 {
	if m != nil {
		return m.TaskSlot
	}
	return 0
}

func (m *MetricsEntry) GetStackName() string {
	if m != nil {
		return m.StackName
	}
	return ""
}

func (m *MetricsEntry) GetNodeId() string {
	if m != nil {
		return m.NodeId
	}
	return ""
}

func (m *MetricsEntry) GetTimeId() string {
	if m != nil {
		return m.TimeId
	}
	return ""
}

func (m *MetricsEntry) GetLabels() map[string]string {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *MetricsEntry) GetGroup() string {
	if m != nil {
		return m.Group
	}
	return ""
}

func (m *MetricsEntry) GetSgroup() string {
	if m != nil {
		return m.Sgroup
	}
	return ""
}

func (m *MetricsEntry) GetCpu() *MetricsCPUEntry {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *MetricsEntry) GetIo() *MetricsIOEntry {
	if m != nil {
		return m.Io
	}
	return nil
}

func (m *MetricsEntry) GetMem() *MetricsMemEntry {
	if m != nil {
		return m.Mem
	}
	return nil
}

func (m *MetricsEntry) GetNet() *MetricsNetEntry {
	if m != nil {
		return m.Net
	}
	return nil
}

type MetricsCPUEntry struct {
	TotalUsage        float64 `protobuf:"fixed64,1,opt,name=total_usage,json=totalUsage" json:"total_usage,omitempty"`
	UsageInKernelMode float64 `protobuf:"fixed64,2,opt,name=usage_in_kernel_mode,json=usageInKernelMode" json:"usage_in_kernel_mode,omitempty"`
	UsageInUserMode   float64 `protobuf:"fixed64,3,opt,name=usage_in_user_mode,json=usageInUserMode" json:"usage_in_user_mode,omitempty"`
}

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

func (m *MetricsCPUEntry) GetTotalUsage() float64 {
	if m != nil {
		return m.TotalUsage
	}
	return 0
}

func (m *MetricsCPUEntry) GetUsageInKernelMode() float64 {
	if m != nil {
		return m.UsageInKernelMode
	}
	return 0
}

func (m *MetricsCPUEntry) GetUsageInUserMode() float64 {
	if m != nil {
		return m.UsageInUserMode
	}
	return 0
}

type MetricsIOEntry struct {
	Read  int64 `protobuf:"varint,1,opt,name=read" json:"read,omitempty"`
	Write int64 `protobuf:"varint,2,opt,name=write" json:"write,omitempty"`
	Total int64 `protobuf:"varint,3,opt,name=total" json:"total,omitempty"`
}

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

func (m *MetricsIOEntry) GetRead() int64 {
	if m != nil {
		return m.Read
	}
	return 0
}

func (m *MetricsIOEntry) GetWrite() int64 {
	if m != nil {
		return m.Write
	}
	return 0
}

func (m *MetricsIOEntry) GetTotal() int64 {
	if m != nil {
		return m.Total
	}
	return 0
}

type MetricsMemEntry struct {
	Failcnt  int64   `protobuf:"varint,1,opt,name=failcnt" json:"failcnt,omitempty"`
	Limit    int64   `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"`
	Maxusage int64   `protobuf:"varint,3,opt,name=maxusage" json:"maxusage,omitempty"`
	Usage    int64   `protobuf:"varint,4,opt,name=usage" json:"usage,omitempty"`
	UsageP   float64 `protobuf:"fixed64,5,opt,name=usage_p,json=usageP" json:"usage_p,omitempty"`
}

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

func (m *MetricsMemEntry) GetFailcnt() int64 {
	if m != nil {
		return m.Failcnt
	}
	return 0
}

func (m *MetricsMemEntry) GetLimit() int64 {
	if m != nil {
		return m.Limit
	}
	return 0
}

func (m *MetricsMemEntry) GetMaxusage() int64 {
	if m != nil {
		return m.Maxusage
	}
	return 0
}

func (m *MetricsMemEntry) GetUsage() int64 {
	if m != nil {
		return m.Usage
	}
	return 0
}

func (m *MetricsMemEntry) GetUsageP() float64 {
	if m != nil {
		return m.UsageP
	}
	return 0
}

type MetricsNetEntry struct {
	TotalBytes int64 `protobuf:"varint,1,opt,name=total_bytes,json=totalBytes" json:"total_bytes,omitempty"`
	RxBytes    int64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes" json:"rx_bytes,omitempty"`
	RxDropped  int64 `protobuf:"varint,3,opt,name=rx_dropped,json=rxDropped" json:"rx_dropped,omitempty"`
	RxErrors   int64 `protobuf:"varint,4,opt,name=rx_errors,json=rxErrors" json:"rx_errors,omitempty"`
	RxPackets  int64 `protobuf:"varint,5,opt,name=rx_packets,json=rxPackets" json:"rx_packets,omitempty"`
	TxBytes    int64 `protobuf:"varint,6,opt,name=tx_bytes,json=txBytes" json:"tx_bytes,omitempty"`
	TxDropped  int64 `protobuf:"varint,7,opt,name=tx_dropped,json=txDropped" json:"tx_dropped,omitempty"`
	TxErrors   int64 `protobuf:"varint,8,opt,name=tx_errors,json=txErrors" json:"tx_errors,omitempty"`
	TxPackets  int64 `protobuf:"varint,9,opt,name=tx_packets,json=txPackets" json:"tx_packets,omitempty"`
}

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

func (m *MetricsNetEntry) GetTotalBytes() int64 {
	if m != nil {
		return m.TotalBytes
	}
	return 0
}

func (m *MetricsNetEntry) GetRxBytes() int64 {
	if m != nil {
		return m.RxBytes
	}
	return 0
}

func (m *MetricsNetEntry) GetRxDropped() int64 {
	if m != nil {
		return m.RxDropped
	}
	return 0
}

func (m *MetricsNetEntry) GetRxErrors() int64 {
	if m != nil {
		return m.RxErrors
	}
	return 0
}

func (m *MetricsNetEntry) GetRxPackets() int64 {
	if m != nil {
		return m.RxPackets
	}
	return 0
}

func (m *MetricsNetEntry) GetTxBytes() int64 {
	if m != nil {
		return m.TxBytes
	}
	return 0
}

func (m *MetricsNetEntry) GetTxDropped() int64 {
	if m != nil {
		return m.TxDropped
	}
	return 0
}

func (m *MetricsNetEntry) GetTxErrors() int64 {
	if m != nil {
		return m.TxErrors
	}
	return 0
}

func (m *MetricsNetEntry) GetTxPackets() int64 {
	if m != nil {
		return m.TxPackets
	}
	return 0
}

type StatsRequest struct {
	StatsCpu                 bool   `protobuf:"varint,1,opt,name=stats_cpu,json=statsCpu" json:"stats_cpu,omitempty"`
	StatsMem                 bool   `protobuf:"varint,2,opt,name=stats_mem,json=statsMem" json:"stats_mem,omitempty"`
	StatsIo                  bool   `protobuf:"varint,3,opt,name=stats_io,json=statsIo" json:"stats_io,omitempty"`
	StatsNet                 bool   `protobuf:"varint,4,opt,name=stats_net,json=statsNet" json:"stats_net,omitempty"`
	Group                    string `protobuf:"bytes,5,opt,name=group" json:"group,omitempty"`
	FilterContainerId        string `protobuf:"bytes,6,opt,name=filter_container_id,json=filterContainerId" json:"filter_container_id,omitempty"`
	FilterContainerName      string `protobuf:"bytes,7,opt,name=filter_container_name,json=filterContainerName" json:"filter_container_name,omitempty"`
	FilterContainerShortName string `protobuf:"bytes,8,opt,name=filter_container_short_name,json=filterContainerShortName" json:"filter_container_short_name,omitempty"`
	FilterContainerState     string `protobuf:"bytes,9,opt,name=filter_container_state,json=filterContainerState" json:"filter_container_state,omitempty"`
	FilterServiceName        string `protobuf:"bytes,10,opt,name=filter_service_name,json=filterServiceName" json:"filter_service_name,omitempty"`
	FilterServiceId          string `protobuf:"bytes,11,opt,name=filter_service_id,json=filterServiceId" json:"filter_service_id,omitempty"`
	FilterTaskId             string `protobuf:"bytes,12,opt,name=filter_task_id,json=filterTaskId" json:"filter_task_id,omitempty"`
	FilterStackName          string `protobuf:"bytes,13,opt,name=filter_stack_name,json=filterStackName" json:"filter_stack_name,omitempty"`
	FilterNodeId             string `protobuf:"bytes,14,opt,name=filter_node_id,json=filterNodeId" json:"filter_node_id,omitempty"`
	Since                    string `protobuf:"bytes,15,opt,name=since" json:"since,omitempty"`
	Until                    string `protobuf:"bytes,16,opt,name=until" json:"until,omitempty"`
	Period                   string `protobuf:"bytes,17,opt,name=period" json:"period,omitempty"`
	TimeGroup                string `protobuf:"bytes,18,opt,name=time_group,json=timeGroup" json:"time_group,omitempty"`
	TimeZone                 string `protobuf:"bytes,19,opt,name=time_zone,json=timeZone" json:"time_zone,omitempty"`
	Avg                      bool   `protobuf:"varint,20,opt,name=avg" json:"avg,omitempty"`
	AllowsInfra              bool   `protobuf:"varint,21,opt,name=allows_infra,json=allowsInfra" json:"allows_infra,omitempty"`
}

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

func (m *StatsRequest) GetStatsCpu() bool {
	if m != nil {
		return m.StatsCpu
	}
	return false
}

func (m *StatsRequest) GetStatsMem() bool {
	if m != nil {
		return m.StatsMem
	}
	return false
}

func (m *StatsRequest) GetStatsIo() bool {
	if m != nil {
		return m.StatsIo
	}
	return false
}

func (m *StatsRequest) GetStatsNet() bool {
	if m != nil {
		return m.StatsNet
	}
	return false
}

func (m *StatsRequest) GetGroup() string {
	if m != nil {
		return m.Group
	}
	return ""
}

func (m *StatsRequest) GetFilterContainerId() string {
	if m != nil {
		return m.FilterContainerId
	}
	return ""
}

func (m *StatsRequest) GetFilterContainerName() string {
	if m != nil {
		return m.FilterContainerName
	}
	return ""
}

func (m *StatsRequest) GetFilterContainerShortName() string {
	if m != nil {
		return m.FilterContainerShortName
	}
	return ""
}

func (m *StatsRequest) GetFilterContainerState() string {
	if m != nil {
		return m.FilterContainerState
	}
	return ""
}

func (m *StatsRequest) GetFilterServiceName() string {
	if m != nil {
		return m.FilterServiceName
	}
	return ""
}

func (m *StatsRequest) GetFilterServiceId() string {
	if m != nil {
		return m.FilterServiceId
	}
	return ""
}

func (m *StatsRequest) GetFilterTaskId() string {
	if m != nil {
		return m.FilterTaskId
	}
	return ""
}

func (m *StatsRequest) GetFilterStackName() string {
	if m != nil {
		return m.FilterStackName
	}
	return ""
}

func (m *StatsRequest) GetFilterNodeId() string {
	if m != nil {
		return m.FilterNodeId
	}
	return ""
}

func (m *StatsRequest) GetSince() string {
	if m != nil {
		return m.Since
	}
	return ""
}

func (m *StatsRequest) GetUntil() string {
	if m != nil {
		return m.Until
	}
	return ""
}

func (m *StatsRequest) GetPeriod() string {
	if m != nil {
		return m.Period
	}
	return ""
}

func (m *StatsRequest) GetTimeGroup() string {
	if m != nil {
		return m.TimeGroup
	}
	return ""
}

func (m *StatsRequest) GetTimeZone() string {
	if m != nil {
		return m.TimeZone
	}
	return ""
}

func (m *StatsRequest) GetAvg() bool {
	if m != nil {
		return m.Avg
	}
	return false
}

func (m *StatsRequest) GetAllowsInfra() bool {
	if m != nil {
		return m.AllowsInfra
	}
	return false
}

type StatsReply struct {
	Entries []*MetricsEntry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
}

func (m *StatsReply) Reset()                    { *m = StatsReply{} }
func (m *StatsReply) String() string            { return proto.CompactTextString(m) }
func (*StatsReply) ProtoMessage()               {}
func (*StatsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *StatsReply) GetEntries() []*MetricsEntry {
	if m != nil {
		return m.Entries
	}
	return nil
}

func init() {
	proto.RegisterType((*MetricsEntry)(nil), "stats.MetricsEntry")
	proto.RegisterType((*MetricsCPUEntry)(nil), "stats.MetricsCPUEntry")
	proto.RegisterType((*MetricsIOEntry)(nil), "stats.MetricsIOEntry")
	proto.RegisterType((*MetricsMemEntry)(nil), "stats.MetricsMemEntry")
	proto.RegisterType((*MetricsNetEntry)(nil), "stats.MetricsNetEntry")
	proto.RegisterType((*StatsRequest)(nil), "stats.StatsRequest")
	proto.RegisterType((*StatsReply)(nil), "stats.StatsReply")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for Stats service

type StatsClient interface {
	StatsQuery(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (*StatsReply, error)
}

type statsClient struct {
	cc *grpc.ClientConn
}

func NewStatsClient(cc *grpc.ClientConn) StatsClient {
	return &statsClient{cc}
}

func (c *statsClient) StatsQuery(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (*StatsReply, error) {
	out := new(StatsReply)
	err := grpc.Invoke(ctx, "/stats.Stats/StatsQuery", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Stats service

type StatsServer interface {
	StatsQuery(context.Context, *StatsRequest) (*StatsReply, error)
}

func RegisterStatsServer(s *grpc.Server, srv StatsServer) {
	s.RegisterService(&_Stats_serviceDesc, srv)
}

func _Stats_StatsQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StatsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(StatsServer).StatsQuery(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/stats.Stats/StatsQuery",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(StatsServer).StatsQuery(ctx, req.(*StatsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Stats_serviceDesc = grpc.ServiceDesc{
	ServiceName: "stats.Stats",
	HandlerType: (*StatsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "StatsQuery",
			Handler:    _Stats_StatsQuery_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "github.com/appcelerator/amp/api/rpc/stats/stats.proto",
}

func init() {
	proto.RegisterFile("github.com/appcelerator/amp/api/rpc/stats/stats.proto", fileDescriptor0)
}

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