// Copyright (c) 2020 Gitpod GmbH. All rights reserved. // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. // Code generated by protoc-gen-go. DO NOT EDIT. // source: initializer.proto package api import ( fmt "fmt" 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 // CloneTargetMode is the target state in which we want to leave a GitWorkspace type CloneTargetMode int32 const ( // REMOTE_HEAD has the local WS point at the remote branch head CloneTargetMode_REMOTE_HEAD CloneTargetMode = 0 // REMOTE_COMMIT has the local WS point at a specific commit CloneTargetMode_REMOTE_COMMIT CloneTargetMode = 1 // REMOTE_BRANCH has the local WS point at a remote branch CloneTargetMode_REMOTE_BRANCH CloneTargetMode = 2 // LOCAL_BRANCH creates a local branch in the workspace CloneTargetMode_LOCAL_BRANCH CloneTargetMode = 3 ) var CloneTargetMode_name = map[int32]string{ 0: "REMOTE_HEAD", 1: "REMOTE_COMMIT", 2: "REMOTE_BRANCH", 3: "LOCAL_BRANCH", } var CloneTargetMode_value = map[string]int32{ "REMOTE_HEAD": 0, "REMOTE_COMMIT": 1, "REMOTE_BRANCH": 2, "LOCAL_BRANCH": 3, } func (x CloneTargetMode) String() string { return proto.EnumName(CloneTargetMode_name, int32(x)) } func (CloneTargetMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{0} } // GitAuthMethod is the means of authentication used during clone type GitAuthMethod int32 const ( // NO_AUTH disables authentication during clone GitAuthMethod_NO_AUTH GitAuthMethod = 0 // BASIC_AUTH uses HTTP basic auth during clone (fails if repo is not cloned through http) GitAuthMethod_BASIC_AUTH GitAuthMethod = 1 // BASIC_AUTH_OTS uses HTTP basic auth during the clone with the secrets coming from the OTS URL. // Fails if either the OTS download or the clone fail. GitAuthMethod_BASIC_AUTH_OTS GitAuthMethod = 2 ) var GitAuthMethod_name = map[int32]string{ 0: "NO_AUTH", 1: "BASIC_AUTH", 2: "BASIC_AUTH_OTS", } var GitAuthMethod_value = map[string]int32{ "NO_AUTH": 0, "BASIC_AUTH": 1, "BASIC_AUTH_OTS": 2, } func (x GitAuthMethod) String() string { return proto.EnumName(GitAuthMethod_name, int32(x)) } func (GitAuthMethod) EnumDescriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{1} } // WorkspaceInitializer specifies how a workspace is to be initialized type WorkspaceInitializer struct { // Types that are valid to be assigned to Spec: // *WorkspaceInitializer_Empty // *WorkspaceInitializer_Git // *WorkspaceInitializer_Snapshot // *WorkspaceInitializer_Prebuild Spec isWorkspaceInitializer_Spec `protobuf_oneof:"spec"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *WorkspaceInitializer) Reset() { *m = WorkspaceInitializer{} } func (m *WorkspaceInitializer) String() string { return proto.CompactTextString(m) } func (*WorkspaceInitializer) ProtoMessage() {} func (*WorkspaceInitializer) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{0} } func (m *WorkspaceInitializer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WorkspaceInitializer.Unmarshal(m, b) } func (m *WorkspaceInitializer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_WorkspaceInitializer.Marshal(b, m, deterministic) } func (m *WorkspaceInitializer) XXX_Merge(src proto.Message) { xxx_messageInfo_WorkspaceInitializer.Merge(m, src) } func (m *WorkspaceInitializer) XXX_Size() int { return xxx_messageInfo_WorkspaceInitializer.Size(m) } func (m *WorkspaceInitializer) XXX_DiscardUnknown() { xxx_messageInfo_WorkspaceInitializer.DiscardUnknown(m) } var xxx_messageInfo_WorkspaceInitializer proto.InternalMessageInfo type isWorkspaceInitializer_Spec interface { isWorkspaceInitializer_Spec() } type WorkspaceInitializer_Empty struct { Empty *EmptyInitializer `protobuf:"bytes,1,opt,name=empty,proto3,oneof"` } type WorkspaceInitializer_Git struct { Git *GitInitializer `protobuf:"bytes,2,opt,name=git,proto3,oneof"` } type WorkspaceInitializer_Snapshot struct { Snapshot *SnapshotInitializer `protobuf:"bytes,3,opt,name=snapshot,proto3,oneof"` } type WorkspaceInitializer_Prebuild struct { Prebuild *PrebuildInitializer `protobuf:"bytes,4,opt,name=prebuild,proto3,oneof"` } func (*WorkspaceInitializer_Empty) isWorkspaceInitializer_Spec() {} func (*WorkspaceInitializer_Git) isWorkspaceInitializer_Spec() {} func (*WorkspaceInitializer_Snapshot) isWorkspaceInitializer_Spec() {} func (*WorkspaceInitializer_Prebuild) isWorkspaceInitializer_Spec() {} func (m *WorkspaceInitializer) GetSpec() isWorkspaceInitializer_Spec { if m != nil { return m.Spec } return nil } func (m *WorkspaceInitializer) GetEmpty() *EmptyInitializer { if x, ok := m.GetSpec().(*WorkspaceInitializer_Empty); ok { return x.Empty } return nil } func (m *WorkspaceInitializer) GetGit() *GitInitializer { if x, ok := m.GetSpec().(*WorkspaceInitializer_Git); ok { return x.Git } return nil } func (m *WorkspaceInitializer) GetSnapshot() *SnapshotInitializer { if x, ok := m.GetSpec().(*WorkspaceInitializer_Snapshot); ok { return x.Snapshot } return nil } func (m *WorkspaceInitializer) GetPrebuild() *PrebuildInitializer { if x, ok := m.GetSpec().(*WorkspaceInitializer_Prebuild); ok { return x.Prebuild } return nil } // XXX_OneofWrappers is for the internal use of the proto package. func (*WorkspaceInitializer) XXX_OneofWrappers() []interface{} { return []interface{}{ (*WorkspaceInitializer_Empty)(nil), (*WorkspaceInitializer_Git)(nil), (*WorkspaceInitializer_Snapshot)(nil), (*WorkspaceInitializer_Prebuild)(nil), } } type EmptyInitializer struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *EmptyInitializer) Reset() { *m = EmptyInitializer{} } func (m *EmptyInitializer) String() string { return proto.CompactTextString(m) } func (*EmptyInitializer) ProtoMessage() {} func (*EmptyInitializer) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{1} } func (m *EmptyInitializer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EmptyInitializer.Unmarshal(m, b) } func (m *EmptyInitializer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EmptyInitializer.Marshal(b, m, deterministic) } func (m *EmptyInitializer) XXX_Merge(src proto.Message) { xxx_messageInfo_EmptyInitializer.Merge(m, src) } func (m *EmptyInitializer) XXX_Size() int { return xxx_messageInfo_EmptyInitializer.Size(m) } func (m *EmptyInitializer) XXX_DiscardUnknown() { xxx_messageInfo_EmptyInitializer.DiscardUnknown(m) } var xxx_messageInfo_EmptyInitializer proto.InternalMessageInfo type GitInitializer struct { // remote_uri is the Git remote origin RemoteUri string `protobuf:"bytes,1,opt,name=remote_uri,json=remoteUri,proto3" json:"remote_uri,omitempty"` // upstream_Remote_uri is the fork upstream of a repository Upstream_RemoteUri string `protobuf:"bytes,2,opt,name=upstream_Remote_uri,json=upstreamRemoteUri,proto3" json:"upstream_Remote_uri,omitempty"` // the target mode determines what gets checked out TargetMode CloneTargetMode `protobuf:"varint,3,opt,name=target_mode,json=targetMode,proto3,enum=contentservice.CloneTargetMode" json:"target_mode,omitempty"` // the value for the clone target mode - use depends on the target mode CloneTaget string `protobuf:"bytes,4,opt,name=clone_taget,json=cloneTaget,proto3" json:"clone_taget,omitempty"` // a path relative to the workspace root in which the code will be checked out to CheckoutLocation string `protobuf:"bytes,5,opt,name=checkout_location,json=checkoutLocation,proto3" json:"checkout_location,omitempty"` // config specifies the Git configuration for this workspace Config *GitConfig `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *GitInitializer) Reset() { *m = GitInitializer{} } func (m *GitInitializer) String() string { return proto.CompactTextString(m) } func (*GitInitializer) ProtoMessage() {} func (*GitInitializer) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{2} } func (m *GitInitializer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GitInitializer.Unmarshal(m, b) } func (m *GitInitializer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GitInitializer.Marshal(b, m, deterministic) } func (m *GitInitializer) XXX_Merge(src proto.Message) { xxx_messageInfo_GitInitializer.Merge(m, src) } func (m *GitInitializer) XXX_Size() int { return xxx_messageInfo_GitInitializer.Size(m) } func (m *GitInitializer) XXX_DiscardUnknown() { xxx_messageInfo_GitInitializer.DiscardUnknown(m) } var xxx_messageInfo_GitInitializer proto.InternalMessageInfo func (m *GitInitializer) GetRemoteUri() string { if m != nil { return m.RemoteUri } return "" } func (m *GitInitializer) GetUpstream_RemoteUri() string { if m != nil { return m.Upstream_RemoteUri } return "" } func (m *GitInitializer) GetTargetMode() CloneTargetMode { if m != nil { return m.TargetMode } return CloneTargetMode_REMOTE_HEAD } func (m *GitInitializer) GetCloneTaget() string { if m != nil { return m.CloneTaget } return "" } func (m *GitInitializer) GetCheckoutLocation() string { if m != nil { return m.CheckoutLocation } return "" } func (m *GitInitializer) GetConfig() *GitConfig { if m != nil { return m.Config } return nil } type GitConfig struct { // custom config values to be set on clone provided through `.gitpod.yml` CustomConfig map[string]string `protobuf:"bytes,1,rep,name=custom_config,json=customConfig,proto3" json:"custom_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // authentication method Authentication GitAuthMethod `protobuf:"varint,2,opt,name=authentication,proto3,enum=contentservice.GitAuthMethod" json:"authentication,omitempty"` // auth_user is the username used to authenticate the clone AuthUser string `protobuf:"bytes,3,opt,name=auth_user,json=authUser,proto3" json:"auth_user,omitempty"` // auth_password is the password used to authenticate the clone (can also be an API token) AuthPassword string `protobuf:"bytes,4,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` // auth_ots is a URL where one can download the authentication secret (:) // using a GET request. AuthOts string `protobuf:"bytes,5,opt,name=auth_ots,json=authOts,proto3" json:"auth_ots,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *GitConfig) Reset() { *m = GitConfig{} } func (m *GitConfig) String() string { return proto.CompactTextString(m) } func (*GitConfig) ProtoMessage() {} func (*GitConfig) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{3} } func (m *GitConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GitConfig.Unmarshal(m, b) } func (m *GitConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GitConfig.Marshal(b, m, deterministic) } func (m *GitConfig) XXX_Merge(src proto.Message) { xxx_messageInfo_GitConfig.Merge(m, src) } func (m *GitConfig) XXX_Size() int { return xxx_messageInfo_GitConfig.Size(m) } func (m *GitConfig) XXX_DiscardUnknown() { xxx_messageInfo_GitConfig.DiscardUnknown(m) } var xxx_messageInfo_GitConfig proto.InternalMessageInfo func (m *GitConfig) GetCustomConfig() map[string]string { if m != nil { return m.CustomConfig } return nil } func (m *GitConfig) GetAuthentication() GitAuthMethod { if m != nil { return m.Authentication } return GitAuthMethod_NO_AUTH } func (m *GitConfig) GetAuthUser() string { if m != nil { return m.AuthUser } return "" } func (m *GitConfig) GetAuthPassword() string { if m != nil { return m.AuthPassword } return "" } func (m *GitConfig) GetAuthOts() string { if m != nil { return m.AuthOts } return "" } type SnapshotInitializer struct { // name of the snapshot to restore Snapshot string `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SnapshotInitializer) Reset() { *m = SnapshotInitializer{} } func (m *SnapshotInitializer) String() string { return proto.CompactTextString(m) } func (*SnapshotInitializer) ProtoMessage() {} func (*SnapshotInitializer) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{4} } func (m *SnapshotInitializer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SnapshotInitializer.Unmarshal(m, b) } func (m *SnapshotInitializer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SnapshotInitializer.Marshal(b, m, deterministic) } func (m *SnapshotInitializer) XXX_Merge(src proto.Message) { xxx_messageInfo_SnapshotInitializer.Merge(m, src) } func (m *SnapshotInitializer) XXX_Size() int { return xxx_messageInfo_SnapshotInitializer.Size(m) } func (m *SnapshotInitializer) XXX_DiscardUnknown() { xxx_messageInfo_SnapshotInitializer.DiscardUnknown(m) } var xxx_messageInfo_SnapshotInitializer proto.InternalMessageInfo func (m *SnapshotInitializer) GetSnapshot() string { if m != nil { return m.Snapshot } return "" } // A prebuild initializer combines snapshots with Git: first we try the snapshot, then apply the Git clone target. // If restoring the snapshot fails, we fall back to a regular Git initializer. type PrebuildInitializer struct { Prebuild *SnapshotInitializer `protobuf:"bytes,1,opt,name=prebuild,proto3" json:"prebuild,omitempty"` Git *GitInitializer `protobuf:"bytes,2,opt,name=git,proto3" json:"git,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *PrebuildInitializer) Reset() { *m = PrebuildInitializer{} } func (m *PrebuildInitializer) String() string { return proto.CompactTextString(m) } func (*PrebuildInitializer) ProtoMessage() {} func (*PrebuildInitializer) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{5} } func (m *PrebuildInitializer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PrebuildInitializer.Unmarshal(m, b) } func (m *PrebuildInitializer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_PrebuildInitializer.Marshal(b, m, deterministic) } func (m *PrebuildInitializer) XXX_Merge(src proto.Message) { xxx_messageInfo_PrebuildInitializer.Merge(m, src) } func (m *PrebuildInitializer) XXX_Size() int { return xxx_messageInfo_PrebuildInitializer.Size(m) } func (m *PrebuildInitializer) XXX_DiscardUnknown() { xxx_messageInfo_PrebuildInitializer.DiscardUnknown(m) } var xxx_messageInfo_PrebuildInitializer proto.InternalMessageInfo func (m *PrebuildInitializer) GetPrebuild() *SnapshotInitializer { if m != nil { return m.Prebuild } return nil } func (m *PrebuildInitializer) GetGit() *GitInitializer { if m != nil { return m.Git } return nil } // GitStatus describes the current Git working copy status, akin to a combination of "git status" and "git branch" type GitStatus struct { // branch is branch we're currently on Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"` // latest_commit is the most recent commit on the current branch LatestCommit string `protobuf:"bytes,2,opt,name=latest_commit,json=latestCommit,proto3" json:"latest_commit,omitempty"` // uncommited_files is the number of uncommitted files, possibly truncated UncommitedFiles []string `protobuf:"bytes,3,rep,name=uncommited_files,json=uncommitedFiles,proto3" json:"uncommited_files,omitempty"` // the total number of uncommited files TotalUncommitedFiles int64 `protobuf:"varint,6,opt,name=total_uncommited_files,json=totalUncommitedFiles,proto3" json:"total_uncommited_files,omitempty"` // untracked_files is the number of untracked files in the workspace, possibly truncated UntrackedFiles []string `protobuf:"bytes,4,rep,name=untracked_files,json=untrackedFiles,proto3" json:"untracked_files,omitempty"` // the total number of untracked files TotalUntrackedFiles int64 `protobuf:"varint,7,opt,name=total_untracked_files,json=totalUntrackedFiles,proto3" json:"total_untracked_files,omitempty"` // unpushed_commits is the number of unpushed changes in the workspace, possibly truncated UnpushedCommits []string `protobuf:"bytes,5,rep,name=unpushed_commits,json=unpushedCommits,proto3" json:"unpushed_commits,omitempty"` // the total number of unpushed changes TotalUnpushedCommits int64 `protobuf:"varint,8,opt,name=total_unpushed_commits,json=totalUnpushedCommits,proto3" json:"total_unpushed_commits,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *GitStatus) Reset() { *m = GitStatus{} } func (m *GitStatus) String() string { return proto.CompactTextString(m) } func (*GitStatus) ProtoMessage() {} func (*GitStatus) Descriptor() ([]byte, []int) { return fileDescriptor_fb6f168f5b28a3e9, []int{6} } func (m *GitStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GitStatus.Unmarshal(m, b) } func (m *GitStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GitStatus.Marshal(b, m, deterministic) } func (m *GitStatus) XXX_Merge(src proto.Message) { xxx_messageInfo_GitStatus.Merge(m, src) } func (m *GitStatus) XXX_Size() int { return xxx_messageInfo_GitStatus.Size(m) } func (m *GitStatus) XXX_DiscardUnknown() { xxx_messageInfo_GitStatus.DiscardUnknown(m) } var xxx_messageInfo_GitStatus proto.InternalMessageInfo func (m *GitStatus) GetBranch() string { if m != nil { return m.Branch } return "" } func (m *GitStatus) GetLatestCommit() string { if m != nil { return m.LatestCommit } return "" } func (m *GitStatus) GetUncommitedFiles() []string { if m != nil { return m.UncommitedFiles } return nil } func (m *GitStatus) GetTotalUncommitedFiles() int64 { if m != nil { return m.TotalUncommitedFiles } return 0 } func (m *GitStatus) GetUntrackedFiles() []string { if m != nil { return m.UntrackedFiles } return nil } func (m *GitStatus) GetTotalUntrackedFiles() int64 { if m != nil { return m.TotalUntrackedFiles } return 0 } func (m *GitStatus) GetUnpushedCommits() []string { if m != nil { return m.UnpushedCommits } return nil } func (m *GitStatus) GetTotalUnpushedCommits() int64 { if m != nil { return m.TotalUnpushedCommits } return 0 } func init() { proto.RegisterEnum("contentservice.CloneTargetMode", CloneTargetMode_name, CloneTargetMode_value) proto.RegisterEnum("contentservice.GitAuthMethod", GitAuthMethod_name, GitAuthMethod_value) proto.RegisterType((*WorkspaceInitializer)(nil), "contentservice.WorkspaceInitializer") proto.RegisterType((*EmptyInitializer)(nil), "contentservice.EmptyInitializer") proto.RegisterType((*GitInitializer)(nil), "contentservice.GitInitializer") proto.RegisterType((*GitConfig)(nil), "contentservice.GitConfig") proto.RegisterMapType((map[string]string)(nil), "contentservice.GitConfig.CustomConfigEntry") proto.RegisterType((*SnapshotInitializer)(nil), "contentservice.SnapshotInitializer") proto.RegisterType((*PrebuildInitializer)(nil), "contentservice.PrebuildInitializer") proto.RegisterType((*GitStatus)(nil), "contentservice.GitStatus") } func init() { proto.RegisterFile("initializer.proto", fileDescriptor_fb6f168f5b28a3e9) } var fileDescriptor_fb6f168f5b28a3e9 = []byte{ // 799 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcd, 0x6e, 0xdb, 0x46, 0x10, 0xb6, 0x28, 0x5b, 0xb6, 0x46, 0xb6, 0x4c, 0xad, 0xdd, 0x40, 0x49, 0x91, 0xc6, 0x50, 0x0e, 0x75, 0x13, 0x44, 0xae, 0xd5, 0x1e, 0x82, 0x5e, 0x12, 0x59, 0x55, 0x6b, 0x03, 0x56, 0x64, 0xd0, 0x32, 0x0a, 0xe4, 0x42, 0xac, 0x57, 0x1b, 0x71, 0x21, 0x92, 0x4b, 0xec, 0x0e, 0x53, 0xb8, 0x4f, 0xd0, 0x73, 0x1f, 0xa1, 0x8f, 0xd2, 0x97, 0xe9, 0x6b, 0x14, 0x5c, 0xae, 0x7e, 0x48, 0xab, 0x40, 0x7b, 0xdb, 0xf9, 0xe6, 0xfb, 0x3e, 0xcd, 0x8c, 0x66, 0x24, 0x68, 0x89, 0x58, 0xa0, 0xa0, 0xa1, 0xf8, 0x8d, 0xab, 0x6e, 0xa2, 0x24, 0x4a, 0xd2, 0x64, 0x32, 0x46, 0x1e, 0xa3, 0xe6, 0xea, 0xb3, 0x60, 0xbc, 0xf3, 0x87, 0x03, 0xc7, 0xbf, 0x48, 0x35, 0xd7, 0x09, 0x65, 0xfc, 0x6a, 0x45, 0x27, 0x6f, 0x61, 0x87, 0x47, 0x09, 0x3e, 0xb4, 0x2b, 0x27, 0x95, 0xd3, 0x46, 0xef, 0xa4, 0x5b, 0x14, 0x76, 0x87, 0x59, 0x72, 0x4d, 0x70, 0xb9, 0xe5, 0xe5, 0x02, 0xd2, 0x83, 0xea, 0x4c, 0x60, 0xdb, 0x31, 0xba, 0xaf, 0xca, 0xba, 0x9f, 0x05, 0x16, 0x55, 0x19, 0x99, 0xf4, 0x61, 0x4f, 0xc7, 0x34, 0xd1, 0x81, 0xc4, 0x76, 0xd5, 0x08, 0x5f, 0x96, 0x85, 0xb7, 0x36, 0x5f, 0x54, 0x2f, 0x65, 0x99, 0x45, 0xa2, 0xf8, 0x7d, 0x2a, 0xc2, 0x69, 0x7b, 0x7b, 0xb3, 0xc5, 0x8d, 0xcd, 0x97, 0x2c, 0x16, 0xb2, 0x8b, 0x1a, 0x6c, 0xeb, 0x84, 0xb3, 0x0e, 0x01, 0xb7, 0xdc, 0x5e, 0xe7, 0x4f, 0x07, 0x9a, 0xc5, 0xda, 0xc9, 0x73, 0x00, 0xc5, 0x23, 0x89, 0xdc, 0x4f, 0x95, 0x30, 0x73, 0xaa, 0x7b, 0xf5, 0x1c, 0xb9, 0x53, 0x82, 0x74, 0xe1, 0x28, 0x4d, 0x34, 0x2a, 0x4e, 0x23, 0xdf, 0x5b, 0xf1, 0x1c, 0xc3, 0x6b, 0x2d, 0x52, 0xde, 0x92, 0xff, 0x1e, 0x1a, 0x48, 0xd5, 0x8c, 0xa3, 0x1f, 0xc9, 0x29, 0x37, 0x63, 0x68, 0xf6, 0x5e, 0x94, 0x7b, 0x18, 0x84, 0x32, 0xe6, 0x13, 0xc3, 0x1b, 0xc9, 0x29, 0xf7, 0x00, 0x97, 0x6f, 0xf2, 0x02, 0x1a, 0x2c, 0x4b, 0xfb, 0x48, 0x67, 0x1c, 0xcd, 0x14, 0xea, 0x1e, 0xb0, 0x5c, 0x31, 0xe3, 0x48, 0x5e, 0x43, 0x8b, 0x05, 0x9c, 0xcd, 0x65, 0x8a, 0x7e, 0x28, 0x19, 0x45, 0x21, 0xe3, 0xf6, 0x8e, 0xa1, 0xb9, 0x8b, 0xc4, 0xb5, 0xc5, 0xc9, 0x39, 0xd4, 0x98, 0x8c, 0x3f, 0x89, 0x59, 0xbb, 0x66, 0xc6, 0xf9, 0x74, 0xc3, 0x57, 0x39, 0x30, 0x04, 0xcf, 0x12, 0x3b, 0x7f, 0x39, 0x50, 0x5f, 0xa2, 0xe4, 0x06, 0x0e, 0x58, 0xaa, 0x51, 0x46, 0xbe, 0xf5, 0xa9, 0x9c, 0x54, 0x4f, 0x1b, 0xbd, 0xd7, 0xff, 0xea, 0xd3, 0x1d, 0x18, 0x7a, 0x1e, 0x0c, 0x63, 0x54, 0x0f, 0xde, 0x3e, 0x5b, 0x83, 0xc8, 0x10, 0x9a, 0x34, 0xc5, 0x80, 0xc7, 0x28, 0x6c, 0xf1, 0x8e, 0x99, 0xd2, 0xf3, 0x0d, 0x96, 0xfd, 0x14, 0x83, 0x11, 0xc7, 0x40, 0x4e, 0xbd, 0x92, 0x88, 0x7c, 0x09, 0xf5, 0x0c, 0xf1, 0x53, 0xcd, 0x95, 0x99, 0x73, 0xdd, 0xdb, 0xcb, 0x80, 0x3b, 0xcd, 0x15, 0x79, 0x09, 0x07, 0x26, 0x99, 0x50, 0xad, 0x7f, 0x95, 0x6a, 0x6a, 0xc7, 0xb8, 0x9f, 0x81, 0x37, 0x16, 0x23, 0x4f, 0xc1, 0x08, 0x7c, 0x89, 0xda, 0xce, 0x6f, 0x37, 0x8b, 0xc7, 0xa8, 0x9f, 0xbd, 0x83, 0xd6, 0xa3, 0x36, 0x88, 0x0b, 0xd5, 0x39, 0x7f, 0xb0, 0x3b, 0x92, 0x3d, 0xc9, 0x31, 0xec, 0x7c, 0xa6, 0x61, 0xca, 0xed, 0x3e, 0xe4, 0xc1, 0x0f, 0xce, 0xdb, 0x4a, 0xe7, 0x1c, 0x8e, 0x36, 0xec, 0x3a, 0x79, 0xb6, 0x76, 0x22, 0xb9, 0xcf, 0x32, 0xee, 0xfc, 0x5e, 0x81, 0xa3, 0x0d, 0xcb, 0x4d, 0xde, 0xad, 0xdd, 0x44, 0xe5, 0x3f, 0x9f, 0xd5, 0xea, 0x22, 0xc8, 0xb7, 0xff, 0xe3, 0x96, 0xcd, 0x25, 0x77, 0xfe, 0xce, 0x57, 0xe0, 0x16, 0x29, 0xa6, 0x9a, 0x3c, 0x81, 0xda, 0xbd, 0xa2, 0x31, 0x0b, 0x6c, 0xc9, 0x36, 0xca, 0x86, 0x1c, 0x52, 0xe4, 0x1a, 0x7d, 0x26, 0xa3, 0xc8, 0x7e, 0x42, 0xdd, 0xdb, 0xcf, 0xc1, 0x81, 0xc1, 0xc8, 0x37, 0xe0, 0xa6, 0x71, 0x9e, 0xe7, 0x53, 0xff, 0x93, 0x08, 0xb9, 0x6e, 0x57, 0x4f, 0xaa, 0xa7, 0x75, 0xef, 0x70, 0x85, 0xff, 0x94, 0xc1, 0xe4, 0x7b, 0x78, 0x82, 0x12, 0x69, 0xe8, 0x3f, 0x12, 0x64, 0xbb, 0x5b, 0xf5, 0x8e, 0x4d, 0xf6, 0xae, 0xa4, 0xfa, 0x1a, 0x0e, 0xd3, 0x18, 0x15, 0x65, 0xf3, 0x25, 0x7d, 0xdb, 0xf8, 0x37, 0x97, 0x70, 0x4e, 0xec, 0xc1, 0x17, 0x0b, 0xfb, 0x22, 0x7d, 0xd7, 0xb8, 0x1f, 0x59, 0xf7, 0x82, 0xc6, 0x54, 0x9f, 0xa4, 0x3a, 0xe0, 0x53, 0xdb, 0x64, 0xb6, 0x2a, 0xb6, 0xfa, 0x1c, 0xcf, 0xfb, 0x2c, 0x54, 0x5f, 0x12, 0xec, 0x15, 0xaa, 0x2f, 0xa8, 0x5e, 0x7d, 0x84, 0xc3, 0xd2, 0x8f, 0x01, 0x39, 0x84, 0x86, 0x37, 0x1c, 0x8d, 0x27, 0x43, 0xff, 0x72, 0xd8, 0xff, 0xd1, 0xdd, 0x22, 0x2d, 0x38, 0xb0, 0xc0, 0x60, 0x3c, 0x1a, 0x5d, 0x4d, 0xdc, 0xca, 0x1a, 0x74, 0xe1, 0xf5, 0x3f, 0x0c, 0x2e, 0x5d, 0x87, 0xb8, 0xb0, 0x7f, 0x3d, 0x1e, 0xf4, 0xaf, 0x17, 0x48, 0xf5, 0xd5, 0x7b, 0x38, 0x28, 0x9c, 0x10, 0x69, 0xc0, 0xee, 0x87, 0xb1, 0xdf, 0xbf, 0x9b, 0x5c, 0xba, 0x5b, 0xa4, 0x09, 0x70, 0xd1, 0xbf, 0xbd, 0x1a, 0xe4, 0x71, 0x85, 0x10, 0x68, 0xae, 0x62, 0x7f, 0x3c, 0xb9, 0x75, 0x9d, 0x8b, 0xf3, 0x8f, 0x67, 0x33, 0x81, 0x41, 0x7a, 0xdf, 0x65, 0x32, 0xca, 0x9e, 0x89, 0x9c, 0xbe, 0x11, 0xd2, 0xbe, 0xce, 0xec, 0x26, 0xbd, 0xb1, 0xab, 0x74, 0x46, 0x13, 0x71, 0x5f, 0x33, 0x7f, 0x51, 0xdf, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x8d, 0xa9, 0x11, 0xb7, 0x06, 0x00, 0x00, }