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