1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/cloud/kms/v1/resources.proto 3 4package kms // import "google.golang.org/genproto/googleapis/cloud/kms/v1" 5 6import proto "github.com/golang/protobuf/proto" 7import fmt "fmt" 8import math "math" 9import duration "github.com/golang/protobuf/ptypes/duration" 10import timestamp "github.com/golang/protobuf/ptypes/timestamp" 11import _ "google.golang.org/genproto/googleapis/api/annotations" 12 13// Reference imports to suppress errors if they are not otherwise used. 14var _ = proto.Marshal 15var _ = fmt.Errorf 16var _ = math.Inf 17 18// This is a compile-time assertion to ensure that this generated file 19// is compatible with the proto package it is being compiled against. 20// A compilation error at this line likely means your copy of the 21// proto package needs to be updated. 22const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 23 24// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] describes the capabilities of a [CryptoKey][google.cloud.kms.v1.CryptoKey]. Two 25// keys with the same purpose may use different underlying algorithms, but 26// must support the same set of operations. 27type CryptoKey_CryptoKeyPurpose int32 28 29const ( 30 // Not specified. 31 CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED CryptoKey_CryptoKeyPurpose = 0 32 // [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used with 33 // [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and 34 // [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. 35 CryptoKey_ENCRYPT_DECRYPT CryptoKey_CryptoKeyPurpose = 1 36) 37 38var CryptoKey_CryptoKeyPurpose_name = map[int32]string{ 39 0: "CRYPTO_KEY_PURPOSE_UNSPECIFIED", 40 1: "ENCRYPT_DECRYPT", 41} 42var CryptoKey_CryptoKeyPurpose_value = map[string]int32{ 43 "CRYPTO_KEY_PURPOSE_UNSPECIFIED": 0, 44 "ENCRYPT_DECRYPT": 1, 45} 46 47func (x CryptoKey_CryptoKeyPurpose) String() string { 48 return proto.EnumName(CryptoKey_CryptoKeyPurpose_name, int32(x)) 49} 50func (CryptoKey_CryptoKeyPurpose) EnumDescriptor() ([]byte, []int) { 51 return fileDescriptor_resources_8a163c5e6421e08e, []int{1, 0} 52} 53 54// The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used. 55type CryptoKeyVersion_CryptoKeyVersionState int32 56 57const ( 58 // Not specified. 59 CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionState = 0 60 // This version may be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and 61 // [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt] requests. 62 CryptoKeyVersion_ENABLED CryptoKeyVersion_CryptoKeyVersionState = 1 63 // This version may not be used, but the key material is still available, 64 // and the version can be placed back into the [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] state. 65 CryptoKeyVersion_DISABLED CryptoKeyVersion_CryptoKeyVersionState = 2 66 // This version is destroyed, and the key material is no longer stored. 67 // A version may not leave this state once entered. 68 CryptoKeyVersion_DESTROYED CryptoKeyVersion_CryptoKeyVersionState = 3 69 // This version is scheduled for destruction, and will be destroyed soon. 70 // Call 71 // [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] 72 // to put it back into the [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] state. 73 CryptoKeyVersion_DESTROY_SCHEDULED CryptoKeyVersion_CryptoKeyVersionState = 4 74) 75 76var CryptoKeyVersion_CryptoKeyVersionState_name = map[int32]string{ 77 0: "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", 78 1: "ENABLED", 79 2: "DISABLED", 80 3: "DESTROYED", 81 4: "DESTROY_SCHEDULED", 82} 83var CryptoKeyVersion_CryptoKeyVersionState_value = map[string]int32{ 84 "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED": 0, 85 "ENABLED": 1, 86 "DISABLED": 2, 87 "DESTROYED": 3, 88 "DESTROY_SCHEDULED": 4, 89} 90 91func (x CryptoKeyVersion_CryptoKeyVersionState) String() string { 92 return proto.EnumName(CryptoKeyVersion_CryptoKeyVersionState_name, int32(x)) 93} 94func (CryptoKeyVersion_CryptoKeyVersionState) EnumDescriptor() ([]byte, []int) { 95 return fileDescriptor_resources_8a163c5e6421e08e, []int{2, 0} 96} 97 98// A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. 99type KeyRing struct { 100 // Output only. The resource name for the [KeyRing][google.cloud.kms.v1.KeyRing] in the format 101 // `projects/*/locations/*/keyRings/*`. 102 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 103 // Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing] was created. 104 CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 105 XXX_NoUnkeyedLiteral struct{} `json:"-"` 106 XXX_unrecognized []byte `json:"-"` 107 XXX_sizecache int32 `json:"-"` 108} 109 110func (m *KeyRing) Reset() { *m = KeyRing{} } 111func (m *KeyRing) String() string { return proto.CompactTextString(m) } 112func (*KeyRing) ProtoMessage() {} 113func (*KeyRing) Descriptor() ([]byte, []int) { 114 return fileDescriptor_resources_8a163c5e6421e08e, []int{0} 115} 116func (m *KeyRing) XXX_Unmarshal(b []byte) error { 117 return xxx_messageInfo_KeyRing.Unmarshal(m, b) 118} 119func (m *KeyRing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 120 return xxx_messageInfo_KeyRing.Marshal(b, m, deterministic) 121} 122func (dst *KeyRing) XXX_Merge(src proto.Message) { 123 xxx_messageInfo_KeyRing.Merge(dst, src) 124} 125func (m *KeyRing) XXX_Size() int { 126 return xxx_messageInfo_KeyRing.Size(m) 127} 128func (m *KeyRing) XXX_DiscardUnknown() { 129 xxx_messageInfo_KeyRing.DiscardUnknown(m) 130} 131 132var xxx_messageInfo_KeyRing proto.InternalMessageInfo 133 134func (m *KeyRing) GetName() string { 135 if m != nil { 136 return m.Name 137 } 138 return "" 139} 140 141func (m *KeyRing) GetCreateTime() *timestamp.Timestamp { 142 if m != nil { 143 return m.CreateTime 144 } 145 return nil 146} 147 148// A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic 149// operations. 150// 151// A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which 152// represent the actual key material used in cryptographic operations. 153type CryptoKey struct { 154 // Output only. The resource name for this [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format 155 // `projects/*/locations/*/keyRings/*/cryptoKeys/*`. 156 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 157 // Output only. A copy of the "primary" [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 158 // by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this [CryptoKey][google.cloud.kms.v1.CryptoKey] is given 159 // in [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 160 // 161 // The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be updated via 162 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 163 Primary *CryptoKeyVersion `protobuf:"bytes,2,opt,name=primary,proto3" json:"primary,omitempty"` 164 // The immutable purpose of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. Currently, the only acceptable 165 // purpose is [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. 166 Purpose CryptoKey_CryptoKeyPurpose `protobuf:"varint,3,opt,name=purpose,proto3,enum=google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose" json:"purpose,omitempty"` 167 // Output only. The time at which this [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 168 CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 169 // At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], the Key Management Service will automatically: 170 // 171 // 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 172 // 2. Mark the new version as primary. 173 // 174 // Key rotations performed manually via 175 // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] and 176 // [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 177 // do not affect [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 178 NextRotationTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=next_rotation_time,json=nextRotationTime,proto3" json:"next_rotation_time,omitempty"` 179 // Controls the rate of automatic rotation. 180 // 181 // Types that are valid to be assigned to RotationSchedule: 182 // *CryptoKey_RotationPeriod 183 RotationSchedule isCryptoKey_RotationSchedule `protobuf_oneof:"rotation_schedule"` 184 // Labels with user-defined metadata. For more information, see 185 // [Labeling Keys](/kms/docs/labeling-keys). 186 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 187 XXX_NoUnkeyedLiteral struct{} `json:"-"` 188 XXX_unrecognized []byte `json:"-"` 189 XXX_sizecache int32 `json:"-"` 190} 191 192func (m *CryptoKey) Reset() { *m = CryptoKey{} } 193func (m *CryptoKey) String() string { return proto.CompactTextString(m) } 194func (*CryptoKey) ProtoMessage() {} 195func (*CryptoKey) Descriptor() ([]byte, []int) { 196 return fileDescriptor_resources_8a163c5e6421e08e, []int{1} 197} 198func (m *CryptoKey) XXX_Unmarshal(b []byte) error { 199 return xxx_messageInfo_CryptoKey.Unmarshal(m, b) 200} 201func (m *CryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 202 return xxx_messageInfo_CryptoKey.Marshal(b, m, deterministic) 203} 204func (dst *CryptoKey) XXX_Merge(src proto.Message) { 205 xxx_messageInfo_CryptoKey.Merge(dst, src) 206} 207func (m *CryptoKey) XXX_Size() int { 208 return xxx_messageInfo_CryptoKey.Size(m) 209} 210func (m *CryptoKey) XXX_DiscardUnknown() { 211 xxx_messageInfo_CryptoKey.DiscardUnknown(m) 212} 213 214var xxx_messageInfo_CryptoKey proto.InternalMessageInfo 215 216func (m *CryptoKey) GetName() string { 217 if m != nil { 218 return m.Name 219 } 220 return "" 221} 222 223func (m *CryptoKey) GetPrimary() *CryptoKeyVersion { 224 if m != nil { 225 return m.Primary 226 } 227 return nil 228} 229 230func (m *CryptoKey) GetPurpose() CryptoKey_CryptoKeyPurpose { 231 if m != nil { 232 return m.Purpose 233 } 234 return CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED 235} 236 237func (m *CryptoKey) GetCreateTime() *timestamp.Timestamp { 238 if m != nil { 239 return m.CreateTime 240 } 241 return nil 242} 243 244func (m *CryptoKey) GetNextRotationTime() *timestamp.Timestamp { 245 if m != nil { 246 return m.NextRotationTime 247 } 248 return nil 249} 250 251type isCryptoKey_RotationSchedule interface { 252 isCryptoKey_RotationSchedule() 253} 254 255type CryptoKey_RotationPeriod struct { 256 RotationPeriod *duration.Duration `protobuf:"bytes,8,opt,name=rotation_period,json=rotationPeriod,proto3,oneof"` 257} 258 259func (*CryptoKey_RotationPeriod) isCryptoKey_RotationSchedule() {} 260 261func (m *CryptoKey) GetRotationSchedule() isCryptoKey_RotationSchedule { 262 if m != nil { 263 return m.RotationSchedule 264 } 265 return nil 266} 267 268func (m *CryptoKey) GetRotationPeriod() *duration.Duration { 269 if x, ok := m.GetRotationSchedule().(*CryptoKey_RotationPeriod); ok { 270 return x.RotationPeriod 271 } 272 return nil 273} 274 275func (m *CryptoKey) GetLabels() map[string]string { 276 if m != nil { 277 return m.Labels 278 } 279 return nil 280} 281 282// XXX_OneofFuncs is for the internal use of the proto package. 283func (*CryptoKey) 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{}) { 284 return _CryptoKey_OneofMarshaler, _CryptoKey_OneofUnmarshaler, _CryptoKey_OneofSizer, []interface{}{ 285 (*CryptoKey_RotationPeriod)(nil), 286 } 287} 288 289func _CryptoKey_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 290 m := msg.(*CryptoKey) 291 // rotation_schedule 292 switch x := m.RotationSchedule.(type) { 293 case *CryptoKey_RotationPeriod: 294 b.EncodeVarint(8<<3 | proto.WireBytes) 295 if err := b.EncodeMessage(x.RotationPeriod); err != nil { 296 return err 297 } 298 case nil: 299 default: 300 return fmt.Errorf("CryptoKey.RotationSchedule has unexpected type %T", x) 301 } 302 return nil 303} 304 305func _CryptoKey_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 306 m := msg.(*CryptoKey) 307 switch tag { 308 case 8: // rotation_schedule.rotation_period 309 if wire != proto.WireBytes { 310 return true, proto.ErrInternalBadWireType 311 } 312 msg := new(duration.Duration) 313 err := b.DecodeMessage(msg) 314 m.RotationSchedule = &CryptoKey_RotationPeriod{msg} 315 return true, err 316 default: 317 return false, nil 318 } 319} 320 321func _CryptoKey_OneofSizer(msg proto.Message) (n int) { 322 m := msg.(*CryptoKey) 323 // rotation_schedule 324 switch x := m.RotationSchedule.(type) { 325 case *CryptoKey_RotationPeriod: 326 s := proto.Size(x.RotationPeriod) 327 n += 1 // tag and wire 328 n += proto.SizeVarint(uint64(s)) 329 n += s 330 case nil: 331 default: 332 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 333 } 334 return n 335} 336 337// A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the 338// associated key material. 339// 340// It can be used for cryptographic operations either directly, or via its 341// parent [CryptoKey][google.cloud.kms.v1.CryptoKey], in which case the server will choose the appropriate 342// version for the operation. 343// 344// For security reasons, the raw cryptographic key material represented by a 345// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to 346// encrypt or decrypt data when an authorized user or application invokes Cloud 347// KMS. 348type CryptoKeyVersion struct { 349 // Output only. The resource name for this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format 350 // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. 351 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 352 // The current state of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. 353 State CryptoKeyVersion_CryptoKeyVersionState `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState" json:"state,omitempty"` 354 // Output only. The time at which this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created. 355 CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 356 // Output only. The time this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is scheduled 357 // for destruction. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 358 // [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]. 359 DestroyTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=destroy_time,json=destroyTime,proto3" json:"destroy_time,omitempty"` 360 // Output only. The time this CryptoKeyVersion's key material was 361 // destroyed. Only present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is 362 // [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 363 DestroyEventTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=destroy_event_time,json=destroyEventTime,proto3" json:"destroy_event_time,omitempty"` 364 XXX_NoUnkeyedLiteral struct{} `json:"-"` 365 XXX_unrecognized []byte `json:"-"` 366 XXX_sizecache int32 `json:"-"` 367} 368 369func (m *CryptoKeyVersion) Reset() { *m = CryptoKeyVersion{} } 370func (m *CryptoKeyVersion) String() string { return proto.CompactTextString(m) } 371func (*CryptoKeyVersion) ProtoMessage() {} 372func (*CryptoKeyVersion) Descriptor() ([]byte, []int) { 373 return fileDescriptor_resources_8a163c5e6421e08e, []int{2} 374} 375func (m *CryptoKeyVersion) XXX_Unmarshal(b []byte) error { 376 return xxx_messageInfo_CryptoKeyVersion.Unmarshal(m, b) 377} 378func (m *CryptoKeyVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 379 return xxx_messageInfo_CryptoKeyVersion.Marshal(b, m, deterministic) 380} 381func (dst *CryptoKeyVersion) XXX_Merge(src proto.Message) { 382 xxx_messageInfo_CryptoKeyVersion.Merge(dst, src) 383} 384func (m *CryptoKeyVersion) XXX_Size() int { 385 return xxx_messageInfo_CryptoKeyVersion.Size(m) 386} 387func (m *CryptoKeyVersion) XXX_DiscardUnknown() { 388 xxx_messageInfo_CryptoKeyVersion.DiscardUnknown(m) 389} 390 391var xxx_messageInfo_CryptoKeyVersion proto.InternalMessageInfo 392 393func (m *CryptoKeyVersion) GetName() string { 394 if m != nil { 395 return m.Name 396 } 397 return "" 398} 399 400func (m *CryptoKeyVersion) GetState() CryptoKeyVersion_CryptoKeyVersionState { 401 if m != nil { 402 return m.State 403 } 404 return CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED 405} 406 407func (m *CryptoKeyVersion) GetCreateTime() *timestamp.Timestamp { 408 if m != nil { 409 return m.CreateTime 410 } 411 return nil 412} 413 414func (m *CryptoKeyVersion) GetDestroyTime() *timestamp.Timestamp { 415 if m != nil { 416 return m.DestroyTime 417 } 418 return nil 419} 420 421func (m *CryptoKeyVersion) GetDestroyEventTime() *timestamp.Timestamp { 422 if m != nil { 423 return m.DestroyEventTime 424 } 425 return nil 426} 427 428func init() { 429 proto.RegisterType((*KeyRing)(nil), "google.cloud.kms.v1.KeyRing") 430 proto.RegisterType((*CryptoKey)(nil), "google.cloud.kms.v1.CryptoKey") 431 proto.RegisterMapType((map[string]string)(nil), "google.cloud.kms.v1.CryptoKey.LabelsEntry") 432 proto.RegisterType((*CryptoKeyVersion)(nil), "google.cloud.kms.v1.CryptoKeyVersion") 433 proto.RegisterEnum("google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose", CryptoKey_CryptoKeyPurpose_name, CryptoKey_CryptoKeyPurpose_value) 434 proto.RegisterEnum("google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState", CryptoKeyVersion_CryptoKeyVersionState_name, CryptoKeyVersion_CryptoKeyVersionState_value) 435} 436 437func init() { 438 proto.RegisterFile("google/cloud/kms/v1/resources.proto", fileDescriptor_resources_8a163c5e6421e08e) 439} 440 441var fileDescriptor_resources_8a163c5e6421e08e = []byte{ 442 // 673 bytes of a gzipped FileDescriptorProto 443 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x51, 0x6e, 0xda, 0x4a, 444 0x14, 0x86, 0x63, 0x20, 0x21, 0x1c, 0x72, 0x13, 0x32, 0xdc, 0xe8, 0x72, 0x51, 0x95, 0x22, 0xda, 445 0x4a, 0xa8, 0x0f, 0xb6, 0x48, 0xa5, 0xaa, 0x6d, 0x54, 0x55, 0x01, 0xbb, 0x0d, 0x22, 0x02, 0x77, 446 0x4c, 0x90, 0x12, 0x45, 0xb2, 0x1c, 0x98, 0x52, 0x0b, 0xec, 0xb1, 0x66, 0x0c, 0xaa, 0x5f, 0xbb, 447 0x87, 0x6e, 0xa2, 0xeb, 0xe8, 0x53, 0x77, 0xd0, 0x9d, 0xf4, 0xb1, 0xf2, 0x78, 0x9c, 0xa6, 0x04, 448 0x35, 0xc9, 0x13, 0x33, 0x67, 0xfe, 0xff, 0x33, 0x67, 0xce, 0x6f, 0xc3, 0xa3, 0x09, 0xa5, 0x93, 449 0x19, 0xd1, 0x46, 0x33, 0x3a, 0x1f, 0x6b, 0x53, 0x8f, 0x6b, 0x8b, 0xa6, 0xc6, 0x08, 0xa7, 0x73, 450 0x36, 0x22, 0x5c, 0x0d, 0x18, 0x0d, 0x29, 0x2a, 0x27, 0x22, 0x55, 0x88, 0xd4, 0xa9, 0xc7, 0xd5, 451 0x45, 0xb3, 0xfa, 0x40, 0x3a, 0x9d, 0xc0, 0xd5, 0x1c, 0xdf, 0xa7, 0xa1, 0x13, 0xba, 0xd4, 0x97, 452 0x96, 0xea, 0xbe, 0x3c, 0x15, 0xbb, 0xcb, 0xf9, 0x07, 0x6d, 0x3c, 0x67, 0x42, 0x20, 0xcf, 0x1f, 453 0x2e, 0x9f, 0x87, 0xae, 0x47, 0x78, 0xe8, 0x78, 0x41, 0x22, 0xa8, 0x9f, 0x43, 0xbe, 0x4b, 0x22, 454 0xec, 0xfa, 0x13, 0x84, 0x20, 0xe7, 0x3b, 0x1e, 0xa9, 0x28, 0x35, 0xa5, 0x51, 0xc0, 0x62, 0x8d, 455 0x0e, 0xa1, 0x38, 0x62, 0xc4, 0x09, 0x89, 0x1d, 0x1b, 0x2b, 0x99, 0x9a, 0xd2, 0x28, 0x1e, 0x54, 456 0x55, 0xf9, 0x47, 0x53, 0xaa, 0x3a, 0x48, 0xa9, 0x18, 0x12, 0x79, 0x5c, 0xa8, 0xff, 0xc8, 0x41, 457 0xa1, 0xcd, 0xa2, 0x20, 0xa4, 0x5d, 0x12, 0xad, 0xc4, 0xbf, 0x81, 0x7c, 0xc0, 0x5c, 0xcf, 0x61, 458 0x91, 0x44, 0x3f, 0x51, 0x57, 0xdc, 0x81, 0x7a, 0x05, 0x19, 0x12, 0xc6, 0x5d, 0xea, 0xe3, 0xd4, 459 0x85, 0x3a, 0x90, 0x0f, 0xe6, 0x2c, 0xa0, 0x9c, 0x54, 0xb2, 0x35, 0xa5, 0xb1, 0x7d, 0xa0, 0xfd, 460 0x1d, 0xf0, 0x7b, 0x65, 0x26, 0x36, 0x9c, 0xfa, 0x97, 0x5b, 0x5d, 0xbf, 0x4f, 0xab, 0xe8, 0x18, 461 0x90, 0x4f, 0x3e, 0x85, 0x36, 0x93, 0xf3, 0x49, 0x18, 0xf9, 0x5b, 0x19, 0xa5, 0xd8, 0x85, 0xa5, 462 0x49, 0x90, 0x74, 0xd8, 0xb9, 0x82, 0x04, 0x84, 0xb9, 0x74, 0x5c, 0xd9, 0x14, 0x98, 0xff, 0x6f, 463 0x60, 0x74, 0x39, 0xeb, 0xe3, 0x35, 0xbc, 0x9d, 0x7a, 0x4c, 0x61, 0x41, 0x2d, 0xd8, 0x98, 0x39, 464 0x97, 0x64, 0xc6, 0x2b, 0x50, 0xcb, 0x36, 0x8a, 0x07, 0x4f, 0x6f, 0xb9, 0x96, 0x13, 0x21, 0x36, 465 0xfc, 0x90, 0x45, 0x58, 0x3a, 0xab, 0x2f, 0xa1, 0x78, 0xad, 0x8c, 0x4a, 0x90, 0x9d, 0x92, 0x48, 466 0x8e, 0x2f, 0x5e, 0xa2, 0x7f, 0x61, 0x7d, 0xe1, 0xcc, 0xe6, 0x49, 0x2c, 0x0a, 0x38, 0xd9, 0xbc, 467 0xca, 0xbc, 0x50, 0xea, 0x5d, 0x28, 0x2d, 0x5f, 0x34, 0xaa, 0xc3, 0x7e, 0x1b, 0x9f, 0x99, 0x83, 468 0xbe, 0xdd, 0x35, 0xce, 0x6c, 0xf3, 0x14, 0x9b, 0x7d, 0xcb, 0xb0, 0x4f, 0x7b, 0x96, 0x69, 0xb4, 469 0x3b, 0x6f, 0x3b, 0x86, 0x5e, 0x5a, 0x43, 0x65, 0xd8, 0x31, 0x7a, 0x42, 0x65, 0xeb, 0x86, 0xf8, 470 0x2d, 0x29, 0xad, 0x32, 0xec, 0x5e, 0xdd, 0x08, 0x1f, 0x7d, 0x24, 0xe3, 0xf9, 0x8c, 0xd4, 0xbf, 471 0x65, 0xaf, 0x3d, 0x42, 0xc6, 0x62, 0x65, 0xc4, 0xde, 0xc3, 0x3a, 0x0f, 0x9d, 0x30, 0xcd, 0xc7, 472 0xe1, 0x9d, 0x02, 0x76, 0xa3, 0x60, 0xc5, 0x08, 0x9c, 0x90, 0x96, 0x93, 0x92, 0xbb, 0x57, 0x52, 473 0x5e, 0xc3, 0xd6, 0x98, 0xf0, 0x90, 0xd1, 0xe8, 0xae, 0x39, 0x2b, 0x4a, 0x7d, 0x1a, 0xb4, 0xd4, 474 0x4e, 0x16, 0xc4, 0x0f, 0x13, 0xc8, 0xc6, 0xed, 0x41, 0x93, 0x2e, 0x23, 0x36, 0x89, 0xb7, 0xf3, 475 0xb3, 0x02, 0x7b, 0x2b, 0xdb, 0x44, 0x0d, 0x78, 0x7c, 0x6d, 0x52, 0x43, 0x03, 0x5b, 0x9d, 0x7e, 476 0xcf, 0xb6, 0x06, 0x47, 0x83, 0xe5, 0x79, 0x15, 0x21, 0x6f, 0xf4, 0x8e, 0x5a, 0x27, 0x86, 0x5e, 477 0x52, 0xd0, 0x16, 0x6c, 0xea, 0x1d, 0x2b, 0xd9, 0x65, 0xd0, 0x3f, 0x50, 0xd0, 0x0d, 0x6b, 0x80, 478 0xfb, 0x67, 0x86, 0x5e, 0xca, 0xa2, 0x3d, 0xd8, 0x95, 0x5b, 0xdb, 0x6a, 0x1f, 0x1b, 0xfa, 0x69, 479 0xac, 0xca, 0xb5, 0xbe, 0x28, 0xf0, 0xdf, 0x88, 0x7a, 0xab, 0x86, 0xd2, 0xda, 0xed, 0x7a, 0x1c, 480 0xa7, 0x9f, 0x48, 0x33, 0x6e, 0xc9, 0x54, 0xce, 0x9f, 0x4b, 0xe5, 0x84, 0xce, 0x1c, 0x7f, 0xa2, 481 0x52, 0x36, 0xd1, 0x26, 0xc4, 0x17, 0x0d, 0x6b, 0xc9, 0x91, 0x13, 0xb8, 0xfc, 0x8f, 0xef, 0xec, 482 0xe1, 0xd4, 0xe3, 0x3f, 0x15, 0xe5, 0x6b, 0xa6, 0xfc, 0x2e, 0xf1, 0xb6, 0xc5, 0x53, 0xba, 0x1e, 483 0x57, 0x87, 0xcd, 0xef, 0x69, 0xf5, 0x42, 0x54, 0x2f, 0xba, 0x1e, 0xbf, 0x18, 0x36, 0x2f, 0x37, 484 0x04, 0xf1, 0xd9, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xc0, 0x0a, 0x0e, 0xb8, 0x05, 0x00, 485 0x00, 486} 487