blob: a28147af37c8d733ca44c15bbc50ff2795d9203b [file] [log] [blame]
Sasha Smundak7a894a62020-05-06 21:23:08 -07001// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: config.proto
3
4package android_bundle_proto
5
6import (
7 fmt "fmt"
8 proto "github.com/golang/protobuf/proto"
9 math "math"
10)
11
12// Reference imports to suppress errors if they are not otherwise used.
13var _ = proto.Marshal
14var _ = fmt.Errorf
15var _ = math.Inf
16
17// This is a compile-time assertion to ensure that this generated file
18// is compatible with the proto package it is being compiled against.
19// A compilation error at this line likely means your copy of the
20// proto package needs to be updated.
21const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
22
23type BundleConfig_BundleType int32
24
25const (
26 BundleConfig_REGULAR BundleConfig_BundleType = 0
27 BundleConfig_APEX BundleConfig_BundleType = 1
28 BundleConfig_ASSET_ONLY BundleConfig_BundleType = 2
29)
30
31var BundleConfig_BundleType_name = map[int32]string{
32 0: "REGULAR",
33 1: "APEX",
34 2: "ASSET_ONLY",
35}
36
37var BundleConfig_BundleType_value = map[string]int32{
38 "REGULAR": 0,
39 "APEX": 1,
40 "ASSET_ONLY": 2,
41}
42
43func (x BundleConfig_BundleType) String() string {
44 return proto.EnumName(BundleConfig_BundleType_name, int32(x))
45}
46
47func (BundleConfig_BundleType) EnumDescriptor() ([]byte, []int) {
48 return fileDescriptor_3eaf2c85e69e9ea4, []int{0, 0}
49}
50
51type SplitDimension_Value int32
52
53const (
54 SplitDimension_UNSPECIFIED_VALUE SplitDimension_Value = 0
55 SplitDimension_ABI SplitDimension_Value = 1
56 SplitDimension_SCREEN_DENSITY SplitDimension_Value = 2
57 SplitDimension_LANGUAGE SplitDimension_Value = 3
58 SplitDimension_TEXTURE_COMPRESSION_FORMAT SplitDimension_Value = 4
59 // BEGIN-INTERNAL
60 SplitDimension_GRAPHICS_API SplitDimension_Value = 5
61)
62
63var SplitDimension_Value_name = map[int32]string{
64 0: "UNSPECIFIED_VALUE",
65 1: "ABI",
66 2: "SCREEN_DENSITY",
67 3: "LANGUAGE",
68 4: "TEXTURE_COMPRESSION_FORMAT",
69 5: "GRAPHICS_API",
70}
71
72var SplitDimension_Value_value = map[string]int32{
73 "UNSPECIFIED_VALUE": 0,
74 "ABI": 1,
75 "SCREEN_DENSITY": 2,
76 "LANGUAGE": 3,
77 "TEXTURE_COMPRESSION_FORMAT": 4,
78 "GRAPHICS_API": 5,
79}
80
81func (x SplitDimension_Value) String() string {
82 return proto.EnumName(SplitDimension_Value_name, int32(x))
83}
84
85func (SplitDimension_Value) EnumDescriptor() ([]byte, []int) {
86 return fileDescriptor_3eaf2c85e69e9ea4, []int{9, 0}
87}
88
89type BundleConfig struct {
90 Bundletool *Bundletool `protobuf:"bytes,1,opt,name=bundletool,proto3" json:"bundletool,omitempty"`
91 Optimizations *Optimizations `protobuf:"bytes,2,opt,name=optimizations,proto3" json:"optimizations,omitempty"`
92 Compression *Compression `protobuf:"bytes,3,opt,name=compression,proto3" json:"compression,omitempty"`
93 // Resources to be always kept in the master split.
94 MasterResources *MasterResources `protobuf:"bytes,4,opt,name=master_resources,json=masterResources,proto3" json:"master_resources,omitempty"`
95 ApexConfig *ApexConfig `protobuf:"bytes,5,opt,name=apex_config,json=apexConfig,proto3" json:"apex_config,omitempty"`
96 // APKs to be signed with the same key as generated APKs.
97 UnsignedEmbeddedApkConfig []*UnsignedEmbeddedApkConfig `protobuf:"bytes,6,rep,name=unsigned_embedded_apk_config,json=unsignedEmbeddedApkConfig,proto3" json:"unsigned_embedded_apk_config,omitempty"`
98 AssetModulesConfig *AssetModulesConfig `protobuf:"bytes,7,opt,name=asset_modules_config,json=assetModulesConfig,proto3" json:"asset_modules_config,omitempty"`
99 Type BundleConfig_BundleType `protobuf:"varint,8,opt,name=type,proto3,enum=android.bundle.BundleConfig_BundleType" json:"type,omitempty"`
100 XXX_NoUnkeyedLiteral struct{} `json:"-"`
101 XXX_unrecognized []byte `json:"-"`
102 XXX_sizecache int32 `json:"-"`
103}
104
105func (m *BundleConfig) Reset() { *m = BundleConfig{} }
106func (m *BundleConfig) String() string { return proto.CompactTextString(m) }
107func (*BundleConfig) ProtoMessage() {}
108func (*BundleConfig) Descriptor() ([]byte, []int) {
109 return fileDescriptor_3eaf2c85e69e9ea4, []int{0}
110}
111
112func (m *BundleConfig) XXX_Unmarshal(b []byte) error {
113 return xxx_messageInfo_BundleConfig.Unmarshal(m, b)
114}
115func (m *BundleConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
116 return xxx_messageInfo_BundleConfig.Marshal(b, m, deterministic)
117}
118func (m *BundleConfig) XXX_Merge(src proto.Message) {
119 xxx_messageInfo_BundleConfig.Merge(m, src)
120}
121func (m *BundleConfig) XXX_Size() int {
122 return xxx_messageInfo_BundleConfig.Size(m)
123}
124func (m *BundleConfig) XXX_DiscardUnknown() {
125 xxx_messageInfo_BundleConfig.DiscardUnknown(m)
126}
127
128var xxx_messageInfo_BundleConfig proto.InternalMessageInfo
129
130func (m *BundleConfig) GetBundletool() *Bundletool {
131 if m != nil {
132 return m.Bundletool
133 }
134 return nil
135}
136
137func (m *BundleConfig) GetOptimizations() *Optimizations {
138 if m != nil {
139 return m.Optimizations
140 }
141 return nil
142}
143
144func (m *BundleConfig) GetCompression() *Compression {
145 if m != nil {
146 return m.Compression
147 }
148 return nil
149}
150
151func (m *BundleConfig) GetMasterResources() *MasterResources {
152 if m != nil {
153 return m.MasterResources
154 }
155 return nil
156}
157
158func (m *BundleConfig) GetApexConfig() *ApexConfig {
159 if m != nil {
160 return m.ApexConfig
161 }
162 return nil
163}
164
165func (m *BundleConfig) GetUnsignedEmbeddedApkConfig() []*UnsignedEmbeddedApkConfig {
166 if m != nil {
167 return m.UnsignedEmbeddedApkConfig
168 }
169 return nil
170}
171
172func (m *BundleConfig) GetAssetModulesConfig() *AssetModulesConfig {
173 if m != nil {
174 return m.AssetModulesConfig
175 }
176 return nil
177}
178
179func (m *BundleConfig) GetType() BundleConfig_BundleType {
180 if m != nil {
181 return m.Type
182 }
183 return BundleConfig_REGULAR
184}
185
186type Bundletool struct {
187 // Version of BundleTool used to build the Bundle.
188 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
189 XXX_NoUnkeyedLiteral struct{} `json:"-"`
190 XXX_unrecognized []byte `json:"-"`
191 XXX_sizecache int32 `json:"-"`
192}
193
194func (m *Bundletool) Reset() { *m = Bundletool{} }
195func (m *Bundletool) String() string { return proto.CompactTextString(m) }
196func (*Bundletool) ProtoMessage() {}
197func (*Bundletool) Descriptor() ([]byte, []int) {
198 return fileDescriptor_3eaf2c85e69e9ea4, []int{1}
199}
200
201func (m *Bundletool) XXX_Unmarshal(b []byte) error {
202 return xxx_messageInfo_Bundletool.Unmarshal(m, b)
203}
204func (m *Bundletool) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
205 return xxx_messageInfo_Bundletool.Marshal(b, m, deterministic)
206}
207func (m *Bundletool) XXX_Merge(src proto.Message) {
208 xxx_messageInfo_Bundletool.Merge(m, src)
209}
210func (m *Bundletool) XXX_Size() int {
211 return xxx_messageInfo_Bundletool.Size(m)
212}
213func (m *Bundletool) XXX_DiscardUnknown() {
214 xxx_messageInfo_Bundletool.DiscardUnknown(m)
215}
216
217var xxx_messageInfo_Bundletool proto.InternalMessageInfo
218
219func (m *Bundletool) GetVersion() string {
220 if m != nil {
221 return m.Version
222 }
223 return ""
224}
225
226type Compression struct {
227 // Glob matching the list of files to leave uncompressed in the APKs.
228 // The matching is done against the path of files in the APK, thus excluding
229 // the name of the modules, and using forward slash ("/") as a name separator.
230 // Examples: "res/raw/**", "assets/**/*.uncompressed", etc.
231 UncompressedGlob []string `protobuf:"bytes,1,rep,name=uncompressed_glob,json=uncompressedGlob,proto3" json:"uncompressed_glob,omitempty"`
232 XXX_NoUnkeyedLiteral struct{} `json:"-"`
233 XXX_unrecognized []byte `json:"-"`
234 XXX_sizecache int32 `json:"-"`
235}
236
237func (m *Compression) Reset() { *m = Compression{} }
238func (m *Compression) String() string { return proto.CompactTextString(m) }
239func (*Compression) ProtoMessage() {}
240func (*Compression) Descriptor() ([]byte, []int) {
241 return fileDescriptor_3eaf2c85e69e9ea4, []int{2}
242}
243
244func (m *Compression) XXX_Unmarshal(b []byte) error {
245 return xxx_messageInfo_Compression.Unmarshal(m, b)
246}
247func (m *Compression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
248 return xxx_messageInfo_Compression.Marshal(b, m, deterministic)
249}
250func (m *Compression) XXX_Merge(src proto.Message) {
251 xxx_messageInfo_Compression.Merge(m, src)
252}
253func (m *Compression) XXX_Size() int {
254 return xxx_messageInfo_Compression.Size(m)
255}
256func (m *Compression) XXX_DiscardUnknown() {
257 xxx_messageInfo_Compression.DiscardUnknown(m)
258}
259
260var xxx_messageInfo_Compression proto.InternalMessageInfo
261
262func (m *Compression) GetUncompressedGlob() []string {
263 if m != nil {
264 return m.UncompressedGlob
265 }
266 return nil
267}
268
269// Resources to keep in the master split.
270type MasterResources struct {
271 // Resource IDs to be kept in master split.
272 ResourceIds []int32 `protobuf:"varint,1,rep,packed,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"`
273 // Resource names to be kept in master split.
274 ResourceNames []string `protobuf:"bytes,2,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"`
275 XXX_NoUnkeyedLiteral struct{} `json:"-"`
276 XXX_unrecognized []byte `json:"-"`
277 XXX_sizecache int32 `json:"-"`
278}
279
280func (m *MasterResources) Reset() { *m = MasterResources{} }
281func (m *MasterResources) String() string { return proto.CompactTextString(m) }
282func (*MasterResources) ProtoMessage() {}
283func (*MasterResources) Descriptor() ([]byte, []int) {
284 return fileDescriptor_3eaf2c85e69e9ea4, []int{3}
285}
286
287func (m *MasterResources) XXX_Unmarshal(b []byte) error {
288 return xxx_messageInfo_MasterResources.Unmarshal(m, b)
289}
290func (m *MasterResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
291 return xxx_messageInfo_MasterResources.Marshal(b, m, deterministic)
292}
293func (m *MasterResources) XXX_Merge(src proto.Message) {
294 xxx_messageInfo_MasterResources.Merge(m, src)
295}
296func (m *MasterResources) XXX_Size() int {
297 return xxx_messageInfo_MasterResources.Size(m)
298}
299func (m *MasterResources) XXX_DiscardUnknown() {
300 xxx_messageInfo_MasterResources.DiscardUnknown(m)
301}
302
303var xxx_messageInfo_MasterResources proto.InternalMessageInfo
304
305func (m *MasterResources) GetResourceIds() []int32 {
306 if m != nil {
307 return m.ResourceIds
308 }
309 return nil
310}
311
312func (m *MasterResources) GetResourceNames() []string {
313 if m != nil {
314 return m.ResourceNames
315 }
316 return nil
317}
318
319type Optimizations struct {
320 SplitsConfig *SplitsConfig `protobuf:"bytes,1,opt,name=splits_config,json=splitsConfig,proto3" json:"splits_config,omitempty"`
321 // This is for uncompressing native libraries on M+ devices (L+ devices on
322 // instant apps).
323 UncompressNativeLibraries *UncompressNativeLibraries `protobuf:"bytes,2,opt,name=uncompress_native_libraries,json=uncompressNativeLibraries,proto3" json:"uncompress_native_libraries,omitempty"`
324 // This is for uncompressing dex files on P+ devices.
325 UncompressDexFiles *UncompressDexFiles `protobuf:"bytes,3,opt,name=uncompress_dex_files,json=uncompressDexFiles,proto3" json:"uncompress_dex_files,omitempty"`
326 // Configuration for the generation of standalone APKs.
327 // If no StandaloneConfig is set, the configuration is inherited from
328 // splits_config.
329 StandaloneConfig *StandaloneConfig `protobuf:"bytes,4,opt,name=standalone_config,json=standaloneConfig,proto3" json:"standalone_config,omitempty"`
330 XXX_NoUnkeyedLiteral struct{} `json:"-"`
331 XXX_unrecognized []byte `json:"-"`
332 XXX_sizecache int32 `json:"-"`
333}
334
335func (m *Optimizations) Reset() { *m = Optimizations{} }
336func (m *Optimizations) String() string { return proto.CompactTextString(m) }
337func (*Optimizations) ProtoMessage() {}
338func (*Optimizations) Descriptor() ([]byte, []int) {
339 return fileDescriptor_3eaf2c85e69e9ea4, []int{4}
340}
341
342func (m *Optimizations) XXX_Unmarshal(b []byte) error {
343 return xxx_messageInfo_Optimizations.Unmarshal(m, b)
344}
345func (m *Optimizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
346 return xxx_messageInfo_Optimizations.Marshal(b, m, deterministic)
347}
348func (m *Optimizations) XXX_Merge(src proto.Message) {
349 xxx_messageInfo_Optimizations.Merge(m, src)
350}
351func (m *Optimizations) XXX_Size() int {
352 return xxx_messageInfo_Optimizations.Size(m)
353}
354func (m *Optimizations) XXX_DiscardUnknown() {
355 xxx_messageInfo_Optimizations.DiscardUnknown(m)
356}
357
358var xxx_messageInfo_Optimizations proto.InternalMessageInfo
359
360func (m *Optimizations) GetSplitsConfig() *SplitsConfig {
361 if m != nil {
362 return m.SplitsConfig
363 }
364 return nil
365}
366
367func (m *Optimizations) GetUncompressNativeLibraries() *UncompressNativeLibraries {
368 if m != nil {
369 return m.UncompressNativeLibraries
370 }
371 return nil
372}
373
374func (m *Optimizations) GetUncompressDexFiles() *UncompressDexFiles {
375 if m != nil {
376 return m.UncompressDexFiles
377 }
378 return nil
379}
380
381func (m *Optimizations) GetStandaloneConfig() *StandaloneConfig {
382 if m != nil {
383 return m.StandaloneConfig
384 }
385 return nil
386}
387
388type UncompressNativeLibraries struct {
389 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
390 XXX_NoUnkeyedLiteral struct{} `json:"-"`
391 XXX_unrecognized []byte `json:"-"`
392 XXX_sizecache int32 `json:"-"`
393}
394
395func (m *UncompressNativeLibraries) Reset() { *m = UncompressNativeLibraries{} }
396func (m *UncompressNativeLibraries) String() string { return proto.CompactTextString(m) }
397func (*UncompressNativeLibraries) ProtoMessage() {}
398func (*UncompressNativeLibraries) Descriptor() ([]byte, []int) {
399 return fileDescriptor_3eaf2c85e69e9ea4, []int{5}
400}
401
402func (m *UncompressNativeLibraries) XXX_Unmarshal(b []byte) error {
403 return xxx_messageInfo_UncompressNativeLibraries.Unmarshal(m, b)
404}
405func (m *UncompressNativeLibraries) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
406 return xxx_messageInfo_UncompressNativeLibraries.Marshal(b, m, deterministic)
407}
408func (m *UncompressNativeLibraries) XXX_Merge(src proto.Message) {
409 xxx_messageInfo_UncompressNativeLibraries.Merge(m, src)
410}
411func (m *UncompressNativeLibraries) XXX_Size() int {
412 return xxx_messageInfo_UncompressNativeLibraries.Size(m)
413}
414func (m *UncompressNativeLibraries) XXX_DiscardUnknown() {
415 xxx_messageInfo_UncompressNativeLibraries.DiscardUnknown(m)
416}
417
418var xxx_messageInfo_UncompressNativeLibraries proto.InternalMessageInfo
419
420func (m *UncompressNativeLibraries) GetEnabled() bool {
421 if m != nil {
422 return m.Enabled
423 }
424 return false
425}
426
427type UncompressDexFiles struct {
428 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
429 XXX_NoUnkeyedLiteral struct{} `json:"-"`
430 XXX_unrecognized []byte `json:"-"`
431 XXX_sizecache int32 `json:"-"`
432}
433
434func (m *UncompressDexFiles) Reset() { *m = UncompressDexFiles{} }
435func (m *UncompressDexFiles) String() string { return proto.CompactTextString(m) }
436func (*UncompressDexFiles) ProtoMessage() {}
437func (*UncompressDexFiles) Descriptor() ([]byte, []int) {
438 return fileDescriptor_3eaf2c85e69e9ea4, []int{6}
439}
440
441func (m *UncompressDexFiles) XXX_Unmarshal(b []byte) error {
442 return xxx_messageInfo_UncompressDexFiles.Unmarshal(m, b)
443}
444func (m *UncompressDexFiles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
445 return xxx_messageInfo_UncompressDexFiles.Marshal(b, m, deterministic)
446}
447func (m *UncompressDexFiles) XXX_Merge(src proto.Message) {
448 xxx_messageInfo_UncompressDexFiles.Merge(m, src)
449}
450func (m *UncompressDexFiles) XXX_Size() int {
451 return xxx_messageInfo_UncompressDexFiles.Size(m)
452}
453func (m *UncompressDexFiles) XXX_DiscardUnknown() {
454 xxx_messageInfo_UncompressDexFiles.DiscardUnknown(m)
455}
456
457var xxx_messageInfo_UncompressDexFiles proto.InternalMessageInfo
458
459func (m *UncompressDexFiles) GetEnabled() bool {
460 if m != nil {
461 return m.Enabled
462 }
463 return false
464}
465
466// Optimization configuration used to generate Split APKs.
467type SplitsConfig struct {
468 SplitDimension []*SplitDimension `protobuf:"bytes,1,rep,name=split_dimension,json=splitDimension,proto3" json:"split_dimension,omitempty"`
469 XXX_NoUnkeyedLiteral struct{} `json:"-"`
470 XXX_unrecognized []byte `json:"-"`
471 XXX_sizecache int32 `json:"-"`
472}
473
474func (m *SplitsConfig) Reset() { *m = SplitsConfig{} }
475func (m *SplitsConfig) String() string { return proto.CompactTextString(m) }
476func (*SplitsConfig) ProtoMessage() {}
477func (*SplitsConfig) Descriptor() ([]byte, []int) {
478 return fileDescriptor_3eaf2c85e69e9ea4, []int{7}
479}
480
481func (m *SplitsConfig) XXX_Unmarshal(b []byte) error {
482 return xxx_messageInfo_SplitsConfig.Unmarshal(m, b)
483}
484func (m *SplitsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
485 return xxx_messageInfo_SplitsConfig.Marshal(b, m, deterministic)
486}
487func (m *SplitsConfig) XXX_Merge(src proto.Message) {
488 xxx_messageInfo_SplitsConfig.Merge(m, src)
489}
490func (m *SplitsConfig) XXX_Size() int {
491 return xxx_messageInfo_SplitsConfig.Size(m)
492}
493func (m *SplitsConfig) XXX_DiscardUnknown() {
494 xxx_messageInfo_SplitsConfig.DiscardUnknown(m)
495}
496
497var xxx_messageInfo_SplitsConfig proto.InternalMessageInfo
498
499func (m *SplitsConfig) GetSplitDimension() []*SplitDimension {
500 if m != nil {
501 return m.SplitDimension
502 }
503 return nil
504}
505
506// Optimization configuration used to generate Standalone APKs.
507type StandaloneConfig struct {
508 // Device targeting dimensions to shard.
509 SplitDimension []*SplitDimension `protobuf:"bytes,1,rep,name=split_dimension,json=splitDimension,proto3" json:"split_dimension,omitempty"`
510 // Whether 64 bit libraries should be stripped from Standalone APKs.
511 Strip_64BitLibraries bool `protobuf:"varint,2,opt,name=strip_64_bit_libraries,json=strip64BitLibraries,proto3" json:"strip_64_bit_libraries,omitempty"`
512 XXX_NoUnkeyedLiteral struct{} `json:"-"`
513 XXX_unrecognized []byte `json:"-"`
514 XXX_sizecache int32 `json:"-"`
515}
516
517func (m *StandaloneConfig) Reset() { *m = StandaloneConfig{} }
518func (m *StandaloneConfig) String() string { return proto.CompactTextString(m) }
519func (*StandaloneConfig) ProtoMessage() {}
520func (*StandaloneConfig) Descriptor() ([]byte, []int) {
521 return fileDescriptor_3eaf2c85e69e9ea4, []int{8}
522}
523
524func (m *StandaloneConfig) XXX_Unmarshal(b []byte) error {
525 return xxx_messageInfo_StandaloneConfig.Unmarshal(m, b)
526}
527func (m *StandaloneConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
528 return xxx_messageInfo_StandaloneConfig.Marshal(b, m, deterministic)
529}
530func (m *StandaloneConfig) XXX_Merge(src proto.Message) {
531 xxx_messageInfo_StandaloneConfig.Merge(m, src)
532}
533func (m *StandaloneConfig) XXX_Size() int {
534 return xxx_messageInfo_StandaloneConfig.Size(m)
535}
536func (m *StandaloneConfig) XXX_DiscardUnknown() {
537 xxx_messageInfo_StandaloneConfig.DiscardUnknown(m)
538}
539
540var xxx_messageInfo_StandaloneConfig proto.InternalMessageInfo
541
542func (m *StandaloneConfig) GetSplitDimension() []*SplitDimension {
543 if m != nil {
544 return m.SplitDimension
545 }
546 return nil
547}
548
549func (m *StandaloneConfig) GetStrip_64BitLibraries() bool {
550 if m != nil {
551 return m.Strip_64BitLibraries
552 }
553 return false
554}
555
556type SplitDimension struct {
557 Value SplitDimension_Value `protobuf:"varint,1,opt,name=value,proto3,enum=android.bundle.SplitDimension_Value" json:"value,omitempty"`
558 // If set to 'true', indicates that APKs should *not* be split by this
559 // dimension.
560 Negate bool `protobuf:"varint,2,opt,name=negate,proto3" json:"negate,omitempty"`
561 // Optional transformation to be applied to asset directories where
562 // the targeting is encoded in the directory name (e.g: assets/foo#tcf_etc1)
563 SuffixStripping *SuffixStripping `protobuf:"bytes,3,opt,name=suffix_stripping,json=suffixStripping,proto3" json:"suffix_stripping,omitempty"`
564 XXX_NoUnkeyedLiteral struct{} `json:"-"`
565 XXX_unrecognized []byte `json:"-"`
566 XXX_sizecache int32 `json:"-"`
567}
568
569func (m *SplitDimension) Reset() { *m = SplitDimension{} }
570func (m *SplitDimension) String() string { return proto.CompactTextString(m) }
571func (*SplitDimension) ProtoMessage() {}
572func (*SplitDimension) Descriptor() ([]byte, []int) {
573 return fileDescriptor_3eaf2c85e69e9ea4, []int{9}
574}
575
576func (m *SplitDimension) XXX_Unmarshal(b []byte) error {
577 return xxx_messageInfo_SplitDimension.Unmarshal(m, b)
578}
579func (m *SplitDimension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
580 return xxx_messageInfo_SplitDimension.Marshal(b, m, deterministic)
581}
582func (m *SplitDimension) XXX_Merge(src proto.Message) {
583 xxx_messageInfo_SplitDimension.Merge(m, src)
584}
585func (m *SplitDimension) XXX_Size() int {
586 return xxx_messageInfo_SplitDimension.Size(m)
587}
588func (m *SplitDimension) XXX_DiscardUnknown() {
589 xxx_messageInfo_SplitDimension.DiscardUnknown(m)
590}
591
592var xxx_messageInfo_SplitDimension proto.InternalMessageInfo
593
594func (m *SplitDimension) GetValue() SplitDimension_Value {
595 if m != nil {
596 return m.Value
597 }
598 return SplitDimension_UNSPECIFIED_VALUE
599}
600
601func (m *SplitDimension) GetNegate() bool {
602 if m != nil {
603 return m.Negate
604 }
605 return false
606}
607
608func (m *SplitDimension) GetSuffixStripping() *SuffixStripping {
609 if m != nil {
610 return m.SuffixStripping
611 }
612 return nil
613}
614
615type SuffixStripping struct {
616 // If set to 'true', indicates that the targeting suffix should be removed
617 // from assets paths for this dimension when splits (or asset slices) are
618 // generated.
619 // This only applies to assets.
620 // For example a folder with path "assets/level1_textures#tcf_etc1"
621 // would be outputted to "assets/level1_textures". File contents are
622 // unchanged.
623 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
624 // The default suffix to be used for the cases where separate slices can't
625 // be generated for this dimension. In the case of standalone/universal APKs
626 // generation, stripping the suffix can lead to file name collisions. This
627 // default suffix defines the directories to retain. The others are
628 // discarded: standalone/universal APKs will contain only directories
629 // targeted at this value for the dimension.
630 //
631 // If not set or empty, the fallback directory in each directory group will be
632 // used (for example, if both "assets/level1_textures#tcf_etc1" and
633 // "assets/level1_textures" are present and the default suffix is empty,
634 // then only "assets/level1_textures" will be used).
635 DefaultSuffix string `protobuf:"bytes,2,opt,name=default_suffix,json=defaultSuffix,proto3" json:"default_suffix,omitempty"`
636 XXX_NoUnkeyedLiteral struct{} `json:"-"`
637 XXX_unrecognized []byte `json:"-"`
638 XXX_sizecache int32 `json:"-"`
639}
640
641func (m *SuffixStripping) Reset() { *m = SuffixStripping{} }
642func (m *SuffixStripping) String() string { return proto.CompactTextString(m) }
643func (*SuffixStripping) ProtoMessage() {}
644func (*SuffixStripping) Descriptor() ([]byte, []int) {
645 return fileDescriptor_3eaf2c85e69e9ea4, []int{10}
646}
647
648func (m *SuffixStripping) XXX_Unmarshal(b []byte) error {
649 return xxx_messageInfo_SuffixStripping.Unmarshal(m, b)
650}
651func (m *SuffixStripping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
652 return xxx_messageInfo_SuffixStripping.Marshal(b, m, deterministic)
653}
654func (m *SuffixStripping) XXX_Merge(src proto.Message) {
655 xxx_messageInfo_SuffixStripping.Merge(m, src)
656}
657func (m *SuffixStripping) XXX_Size() int {
658 return xxx_messageInfo_SuffixStripping.Size(m)
659}
660func (m *SuffixStripping) XXX_DiscardUnknown() {
661 xxx_messageInfo_SuffixStripping.DiscardUnknown(m)
662}
663
664var xxx_messageInfo_SuffixStripping proto.InternalMessageInfo
665
666func (m *SuffixStripping) GetEnabled() bool {
667 if m != nil {
668 return m.Enabled
669 }
670 return false
671}
672
673func (m *SuffixStripping) GetDefaultSuffix() string {
674 if m != nil {
675 return m.DefaultSuffix
676 }
677 return ""
678}
679
680// Configuration for processing APEX bundles.
681// https://source.android.com/devices/tech/ota/apex
682type ApexConfig struct {
683 // Configuration for processing of APKs embedded in an APEX image.
684 ApexEmbeddedApkConfig []*ApexEmbeddedApkConfig `protobuf:"bytes,1,rep,name=apex_embedded_apk_config,json=apexEmbeddedApkConfig,proto3" json:"apex_embedded_apk_config,omitempty"`
685 XXX_NoUnkeyedLiteral struct{} `json:"-"`
686 XXX_unrecognized []byte `json:"-"`
687 XXX_sizecache int32 `json:"-"`
688}
689
690func (m *ApexConfig) Reset() { *m = ApexConfig{} }
691func (m *ApexConfig) String() string { return proto.CompactTextString(m) }
692func (*ApexConfig) ProtoMessage() {}
693func (*ApexConfig) Descriptor() ([]byte, []int) {
694 return fileDescriptor_3eaf2c85e69e9ea4, []int{11}
695}
696
697func (m *ApexConfig) XXX_Unmarshal(b []byte) error {
698 return xxx_messageInfo_ApexConfig.Unmarshal(m, b)
699}
700func (m *ApexConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
701 return xxx_messageInfo_ApexConfig.Marshal(b, m, deterministic)
702}
703func (m *ApexConfig) XXX_Merge(src proto.Message) {
704 xxx_messageInfo_ApexConfig.Merge(m, src)
705}
706func (m *ApexConfig) XXX_Size() int {
707 return xxx_messageInfo_ApexConfig.Size(m)
708}
709func (m *ApexConfig) XXX_DiscardUnknown() {
710 xxx_messageInfo_ApexConfig.DiscardUnknown(m)
711}
712
713var xxx_messageInfo_ApexConfig proto.InternalMessageInfo
714
715func (m *ApexConfig) GetApexEmbeddedApkConfig() []*ApexEmbeddedApkConfig {
716 if m != nil {
717 return m.ApexEmbeddedApkConfig
718 }
719 return nil
720}
721
722type ApexEmbeddedApkConfig struct {
723 // Android package name of the APK.
724 PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
725 // Path to the APK within the APEX system image.
726 Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
727 XXX_NoUnkeyedLiteral struct{} `json:"-"`
728 XXX_unrecognized []byte `json:"-"`
729 XXX_sizecache int32 `json:"-"`
730}
731
732func (m *ApexEmbeddedApkConfig) Reset() { *m = ApexEmbeddedApkConfig{} }
733func (m *ApexEmbeddedApkConfig) String() string { return proto.CompactTextString(m) }
734func (*ApexEmbeddedApkConfig) ProtoMessage() {}
735func (*ApexEmbeddedApkConfig) Descriptor() ([]byte, []int) {
736 return fileDescriptor_3eaf2c85e69e9ea4, []int{12}
737}
738
739func (m *ApexEmbeddedApkConfig) XXX_Unmarshal(b []byte) error {
740 return xxx_messageInfo_ApexEmbeddedApkConfig.Unmarshal(m, b)
741}
742func (m *ApexEmbeddedApkConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
743 return xxx_messageInfo_ApexEmbeddedApkConfig.Marshal(b, m, deterministic)
744}
745func (m *ApexEmbeddedApkConfig) XXX_Merge(src proto.Message) {
746 xxx_messageInfo_ApexEmbeddedApkConfig.Merge(m, src)
747}
748func (m *ApexEmbeddedApkConfig) XXX_Size() int {
749 return xxx_messageInfo_ApexEmbeddedApkConfig.Size(m)
750}
751func (m *ApexEmbeddedApkConfig) XXX_DiscardUnknown() {
752 xxx_messageInfo_ApexEmbeddedApkConfig.DiscardUnknown(m)
753}
754
755var xxx_messageInfo_ApexEmbeddedApkConfig proto.InternalMessageInfo
756
757func (m *ApexEmbeddedApkConfig) GetPackageName() string {
758 if m != nil {
759 return m.PackageName
760 }
761 return ""
762}
763
764func (m *ApexEmbeddedApkConfig) GetPath() string {
765 if m != nil {
766 return m.Path
767 }
768 return ""
769}
770
771type UnsignedEmbeddedApkConfig struct {
772 // Path to the APK inside the module (e.g. if the path inside the bundle
773 // is split/assets/example.apk, this will be assets/example.apk).
774 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
775 XXX_NoUnkeyedLiteral struct{} `json:"-"`
776 XXX_unrecognized []byte `json:"-"`
777 XXX_sizecache int32 `json:"-"`
778}
779
780func (m *UnsignedEmbeddedApkConfig) Reset() { *m = UnsignedEmbeddedApkConfig{} }
781func (m *UnsignedEmbeddedApkConfig) String() string { return proto.CompactTextString(m) }
782func (*UnsignedEmbeddedApkConfig) ProtoMessage() {}
783func (*UnsignedEmbeddedApkConfig) Descriptor() ([]byte, []int) {
784 return fileDescriptor_3eaf2c85e69e9ea4, []int{13}
785}
786
787func (m *UnsignedEmbeddedApkConfig) XXX_Unmarshal(b []byte) error {
788 return xxx_messageInfo_UnsignedEmbeddedApkConfig.Unmarshal(m, b)
789}
790func (m *UnsignedEmbeddedApkConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
791 return xxx_messageInfo_UnsignedEmbeddedApkConfig.Marshal(b, m, deterministic)
792}
793func (m *UnsignedEmbeddedApkConfig) XXX_Merge(src proto.Message) {
794 xxx_messageInfo_UnsignedEmbeddedApkConfig.Merge(m, src)
795}
796func (m *UnsignedEmbeddedApkConfig) XXX_Size() int {
797 return xxx_messageInfo_UnsignedEmbeddedApkConfig.Size(m)
798}
799func (m *UnsignedEmbeddedApkConfig) XXX_DiscardUnknown() {
800 xxx_messageInfo_UnsignedEmbeddedApkConfig.DiscardUnknown(m)
801}
802
803var xxx_messageInfo_UnsignedEmbeddedApkConfig proto.InternalMessageInfo
804
805func (m *UnsignedEmbeddedApkConfig) GetPath() string {
806 if m != nil {
807 return m.Path
808 }
809 return ""
810}
811
812type AssetModulesConfig struct {
813 // App versionCodes that will be updated with these asset modules.
814 // Only relevant for asset-only bundles.
815 AppVersion []int64 `protobuf:"varint,1,rep,packed,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
816 // Version tag for the asset upload.
817 // Only relevant for asset-only bundles.
818 AssetVersionTag string `protobuf:"bytes,2,opt,name=asset_version_tag,json=assetVersionTag,proto3" json:"asset_version_tag,omitempty"`
819 XXX_NoUnkeyedLiteral struct{} `json:"-"`
820 XXX_unrecognized []byte `json:"-"`
821 XXX_sizecache int32 `json:"-"`
822}
823
824func (m *AssetModulesConfig) Reset() { *m = AssetModulesConfig{} }
825func (m *AssetModulesConfig) String() string { return proto.CompactTextString(m) }
826func (*AssetModulesConfig) ProtoMessage() {}
827func (*AssetModulesConfig) Descriptor() ([]byte, []int) {
828 return fileDescriptor_3eaf2c85e69e9ea4, []int{14}
829}
830
831func (m *AssetModulesConfig) XXX_Unmarshal(b []byte) error {
832 return xxx_messageInfo_AssetModulesConfig.Unmarshal(m, b)
833}
834func (m *AssetModulesConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
835 return xxx_messageInfo_AssetModulesConfig.Marshal(b, m, deterministic)
836}
837func (m *AssetModulesConfig) XXX_Merge(src proto.Message) {
838 xxx_messageInfo_AssetModulesConfig.Merge(m, src)
839}
840func (m *AssetModulesConfig) XXX_Size() int {
841 return xxx_messageInfo_AssetModulesConfig.Size(m)
842}
843func (m *AssetModulesConfig) XXX_DiscardUnknown() {
844 xxx_messageInfo_AssetModulesConfig.DiscardUnknown(m)
845}
846
847var xxx_messageInfo_AssetModulesConfig proto.InternalMessageInfo
848
849func (m *AssetModulesConfig) GetAppVersion() []int64 {
850 if m != nil {
851 return m.AppVersion
852 }
853 return nil
854}
855
856func (m *AssetModulesConfig) GetAssetVersionTag() string {
857 if m != nil {
858 return m.AssetVersionTag
859 }
860 return ""
861}
862
863func init() {
864 proto.RegisterEnum("android.bundle.BundleConfig_BundleType", BundleConfig_BundleType_name, BundleConfig_BundleType_value)
865 proto.RegisterEnum("android.bundle.SplitDimension_Value", SplitDimension_Value_name, SplitDimension_Value_value)
866 proto.RegisterType((*BundleConfig)(nil), "android.bundle.BundleConfig")
867 proto.RegisterType((*Bundletool)(nil), "android.bundle.Bundletool")
868 proto.RegisterType((*Compression)(nil), "android.bundle.Compression")
869 proto.RegisterType((*MasterResources)(nil), "android.bundle.MasterResources")
870 proto.RegisterType((*Optimizations)(nil), "android.bundle.Optimizations")
871 proto.RegisterType((*UncompressNativeLibraries)(nil), "android.bundle.UncompressNativeLibraries")
872 proto.RegisterType((*UncompressDexFiles)(nil), "android.bundle.UncompressDexFiles")
873 proto.RegisterType((*SplitsConfig)(nil), "android.bundle.SplitsConfig")
874 proto.RegisterType((*StandaloneConfig)(nil), "android.bundle.StandaloneConfig")
875 proto.RegisterType((*SplitDimension)(nil), "android.bundle.SplitDimension")
876 proto.RegisterType((*SuffixStripping)(nil), "android.bundle.SuffixStripping")
877 proto.RegisterType((*ApexConfig)(nil), "android.bundle.ApexConfig")
878 proto.RegisterType((*ApexEmbeddedApkConfig)(nil), "android.bundle.ApexEmbeddedApkConfig")
879 proto.RegisterType((*UnsignedEmbeddedApkConfig)(nil), "android.bundle.UnsignedEmbeddedApkConfig")
880 proto.RegisterType((*AssetModulesConfig)(nil), "android.bundle.AssetModulesConfig")
881}
882
883func init() {
884 proto.RegisterFile("config.proto", fileDescriptor_3eaf2c85e69e9ea4)
885}
886
887var fileDescriptor_3eaf2c85e69e9ea4 = []byte{
888 // 1001 bytes of a gzipped FileDescriptorProto
889 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdb, 0x6e, 0xdb, 0x46,
890 0x10, 0x0d, 0x75, 0xb1, 0xe5, 0x91, 0x2c, 0xd1, 0xdb, 0x38, 0x50, 0x2e, 0x4d, 0x5c, 0xa2, 0x41,
891 0xdd, 0xb4, 0x50, 0x01, 0x3b, 0xcd, 0x83, 0x83, 0x3e, 0xd0, 0x32, 0xad, 0x2a, 0xd0, 0x0d, 0x4b,
892 0xc9, 0x4d, 0x5a, 0xa0, 0x8b, 0x95, 0xb8, 0x52, 0xb7, 0xa6, 0x48, 0x82, 0x4b, 0x1a, 0x4a, 0xfb,
893 0x09, 0x7d, 0xe9, 0x8f, 0xf4, 0xa7, 0xfa, 0x25, 0x05, 0x97, 0xa4, 0x2c, 0x51, 0x52, 0x9e, 0xfa,
894 0x24, 0xce, 0xec, 0x39, 0xb3, 0x3b, 0xb3, 0x67, 0x67, 0x04, 0x95, 0x89, 0xeb, 0x4c, 0xf9, 0xac,
895 0xe1, 0xf9, 0x6e, 0xe0, 0xa2, 0x2a, 0x75, 0x2c, 0xdf, 0xe5, 0x56, 0x63, 0x1c, 0x3a, 0x96, 0xcd,
896 0xb4, 0xbf, 0x8a, 0x50, 0xb9, 0x94, 0x9f, 0x4d, 0x09, 0x43, 0x17, 0x00, 0xf1, 0x52, 0xe0, 0xba,
897 0x76, 0x5d, 0x39, 0x51, 0x4e, 0xcb, 0x67, 0x4f, 0x1a, 0xeb, 0xac, 0xc6, 0xe5, 0x12, 0x81, 0x57,
898 0xd0, 0xa8, 0x09, 0x87, 0xae, 0x17, 0xf0, 0x39, 0xff, 0x83, 0x06, 0xdc, 0x75, 0x44, 0x3d, 0x27,
899 0xe9, 0x9f, 0x67, 0xe9, 0xfd, 0x55, 0x10, 0x5e, 0xe7, 0xa0, 0x1f, 0xa0, 0x3c, 0x71, 0xe7, 0x9e,
900 0xcf, 0x84, 0xe0, 0xae, 0x53, 0xcf, 0xcb, 0x10, 0x4f, 0xb3, 0x21, 0x9a, 0xf7, 0x10, 0xbc, 0x8a,
901 0x47, 0xef, 0x40, 0x9d, 0x53, 0x11, 0x30, 0x9f, 0xf8, 0x4c, 0xb8, 0xa1, 0x3f, 0x61, 0xa2, 0x5e,
902 0x90, 0x31, 0x5e, 0x64, 0x63, 0x74, 0x25, 0x0e, 0xa7, 0x30, 0x5c, 0x9b, 0xaf, 0x3b, 0xd0, 0x5b,
903 0x28, 0x53, 0x8f, 0x2d, 0x48, 0x5c, 0xc1, 0x7a, 0x71, 0x7b, 0x31, 0x74, 0x8f, 0x2d, 0xe2, 0xe2,
904 0x61, 0xa0, 0xcb, 0x6f, 0xf4, 0x3b, 0x3c, 0x0b, 0x1d, 0xc1, 0x67, 0x0e, 0xb3, 0x08, 0x9b, 0x8f,
905 0x99, 0x65, 0x31, 0x8b, 0x50, 0xef, 0x36, 0x8d, 0xb6, 0x77, 0x92, 0x3f, 0x2d, 0x9f, 0x7d, 0x9d,
906 0x8d, 0x36, 0x4a, 0x38, 0x46, 0x42, 0xd1, 0xbd, 0xdb, 0x24, 0xf8, 0xe3, 0x70, 0xd7, 0x12, 0x1a,
907 0xc2, 0x43, 0x2a, 0x04, 0x0b, 0xc8, 0xdc, 0xb5, 0x42, 0x9b, 0x89, 0x74, 0x8f, 0x7d, 0x79, 0x62,
908 0x6d, 0xe3, 0xc4, 0x11, 0xb6, 0x1b, 0x43, 0x93, 0xe0, 0x88, 0x6e, 0xf8, 0xd0, 0x5b, 0x28, 0x04,
909 0x1f, 0x3d, 0x56, 0x2f, 0x9d, 0x28, 0xa7, 0xd5, 0xb3, 0xaf, 0xb6, 0x8b, 0x20, 0xc6, 0x26, 0xc6,
910 0xf0, 0xa3, 0xc7, 0xb0, 0x24, 0x69, 0xe7, 0x00, 0xf7, 0x3e, 0x54, 0x86, 0x7d, 0x6c, 0xb4, 0x46,
911 0x1d, 0x1d, 0xab, 0x0f, 0x50, 0x09, 0x0a, 0xfa, 0xc0, 0x78, 0xaf, 0x2a, 0xa8, 0x0a, 0xa0, 0x9b,
912 0xa6, 0x31, 0x24, 0xfd, 0x5e, 0xe7, 0x83, 0x9a, 0xd3, 0xbe, 0x4d, 0x49, 0x52, 0x4e, 0x75, 0xd8,
913 0xbf, 0x63, 0xbe, 0x54, 0x41, 0x24, 0xa4, 0x03, 0x9c, 0x9a, 0xef, 0x0a, 0x25, 0x45, 0xcd, 0x69,
914 0x17, 0x50, 0x5e, 0x91, 0x01, 0xfa, 0x06, 0x8e, 0x42, 0x27, 0x95, 0x02, 0xb3, 0xc8, 0xcc, 0x76,
915 0xc7, 0x75, 0xe5, 0x24, 0x7f, 0x7a, 0x80, 0xd5, 0xd5, 0x85, 0x96, 0xed, 0x8e, 0xb5, 0x5f, 0xa0,
916 0x96, 0xb9, 0x7e, 0xf4, 0x05, 0x54, 0x52, 0xc9, 0x10, 0x6e, 0x09, 0x49, 0x2d, 0xe2, 0x72, 0xea,
917 0x6b, 0x5b, 0x02, 0xbd, 0x84, 0xea, 0x12, 0xe2, 0xd0, 0x39, 0x8b, 0x14, 0x1e, 0xc5, 0x3f, 0x4c,
918 0xbd, 0xbd, 0xc8, 0xa9, 0xfd, 0x9b, 0x83, 0xc3, 0x35, 0x8d, 0x23, 0x1d, 0x0e, 0x85, 0x67, 0xf3,
919 0x60, 0x79, 0x33, 0xf1, 0xc3, 0x7a, 0x96, 0xad, 0xa9, 0x29, 0x41, 0xc9, 0x9d, 0x54, 0xc4, 0x8a,
920 0x85, 0x38, 0x3c, 0xbd, 0xcf, 0x82, 0x38, 0x34, 0xe0, 0x77, 0x8c, 0xd8, 0x7c, 0xec, 0x53, 0x9f,
921 0xb3, 0xf4, 0xa9, 0x6d, 0x91, 0x53, 0x4a, 0xe9, 0x49, 0x46, 0x27, 0x25, 0x44, 0x72, 0xda, 0xb1,
922 0x14, 0xc9, 0x69, 0x65, 0x2b, 0x8b, 0x2d, 0xc8, 0x94, 0xdb, 0x4c, 0x24, 0x6f, 0x51, 0xdb, 0xbd,
923 0xc7, 0x15, 0x5b, 0x5c, 0x47, 0x48, 0x8c, 0xc2, 0x0d, 0x1f, 0xea, 0xc2, 0x91, 0x08, 0xa8, 0x63,
924 0x51, 0xdb, 0x75, 0x58, 0x5a, 0x87, 0xf8, 0x69, 0x9e, 0x6c, 0xd4, 0x61, 0x09, 0x4c, 0x6a, 0xa1,
925 0x8a, 0x8c, 0x47, 0xfb, 0x1e, 0x1e, 0xef, 0x4c, 0x2e, 0x92, 0x0e, 0x73, 0xe8, 0xd8, 0x66, 0x96,
926 0xac, 0x74, 0x09, 0xa7, 0xa6, 0xd6, 0x00, 0xb4, 0x79, 0xde, 0x4f, 0xe0, 0x7f, 0x82, 0xca, 0xea,
927 0xa5, 0xa0, 0x16, 0xd4, 0xe4, 0xb5, 0x10, 0x8b, 0xcf, 0x99, 0x23, 0xc5, 0xa9, 0xc8, 0x97, 0xfc,
928 0x7c, 0xeb, 0x5d, 0x5e, 0xa5, 0x28, 0x5c, 0x15, 0x6b, 0xb6, 0xf6, 0xb7, 0x02, 0x6a, 0x36, 0xcd,
929 0xff, 0x2d, 0x3a, 0x3a, 0x87, 0x47, 0x22, 0xf0, 0xb9, 0x47, 0xde, 0xbc, 0x26, 0x63, 0x1e, 0x64,
930 0x84, 0x52, 0xc2, 0x9f, 0xc9, 0xd5, 0x37, 0xaf, 0x2f, 0x79, 0xb0, 0xac, 0x9a, 0xf6, 0x4f, 0x0e,
931 0xaa, 0xeb, 0x71, 0xd1, 0x05, 0x14, 0xef, 0xa8, 0x1d, 0x32, 0x59, 0x96, 0xea, 0xd9, 0x97, 0x9f,
932 0x3e, 0x46, 0xe3, 0x26, 0xc2, 0xe2, 0x98, 0x82, 0x1e, 0xc1, 0x9e, 0xc3, 0x66, 0x34, 0x60, 0xc9,
933 0x9e, 0x89, 0x15, 0xb5, 0x68, 0x11, 0x4e, 0xa7, 0x7c, 0x41, 0xe4, 0x21, 0x3c, 0xee, 0xcc, 0x12,
934 0x69, 0x6d, 0xb4, 0x68, 0x53, 0xe2, 0xcc, 0x14, 0x86, 0x6b, 0x62, 0xdd, 0xa1, 0xfd, 0x09, 0x45,
935 0xb9, 0x27, 0x3a, 0x86, 0xa3, 0x51, 0xcf, 0x1c, 0x18, 0xcd, 0xf6, 0x75, 0xdb, 0xb8, 0x22, 0x37,
936 0x7a, 0x67, 0x64, 0xa8, 0x0f, 0xd0, 0x3e, 0xe4, 0xf5, 0xcb, 0xb6, 0xaa, 0x20, 0x04, 0x55, 0xb3,
937 0x89, 0x0d, 0xa3, 0x47, 0xae, 0x8c, 0x9e, 0xd9, 0x1e, 0x7e, 0x50, 0x73, 0xa8, 0x02, 0xa5, 0x8e,
938 0xde, 0x6b, 0x8d, 0xf4, 0x96, 0xa1, 0xe6, 0xd1, 0x73, 0x78, 0x32, 0x34, 0xde, 0x0f, 0x47, 0xd8,
939 0x20, 0xcd, 0x7e, 0x77, 0x80, 0x0d, 0xd3, 0x6c, 0xf7, 0x7b, 0xe4, 0xba, 0x8f, 0xbb, 0xfa, 0x50,
940 0x2d, 0x20, 0x15, 0x2a, 0x2d, 0xac, 0x0f, 0x7e, 0x6c, 0x37, 0x4d, 0xa2, 0x0f, 0xda, 0x6a, 0x51,
941 0xc3, 0x50, 0xcb, 0x1c, 0x70, 0xb7, 0x90, 0xa2, 0xde, 0x61, 0xb1, 0x29, 0x0d, 0xed, 0x80, 0xc4,
942 0x49, 0x24, 0x4d, 0xed, 0x30, 0xf1, 0xc6, 0x91, 0x34, 0x1b, 0xe0, 0x7e, 0xa0, 0xa0, 0x5f, 0xa1,
943 0x2e, 0x27, 0xd0, 0xb6, 0x01, 0x12, 0x0b, 0xe3, 0xe5, 0xb6, 0x71, 0xb4, 0x39, 0x3c, 0x8e, 0xe9,
944 0x36, 0xb7, 0xd6, 0x83, 0xe3, 0xad, 0xf8, 0xa8, 0x19, 0x7a, 0x74, 0x72, 0x4b, 0x67, 0x71, 0xa3,
945 0x93, 0xc9, 0x1c, 0xe0, 0x72, 0xe2, 0x8b, 0xda, 0x1c, 0x42, 0x50, 0xf0, 0x68, 0xf0, 0x5b, 0x92,
946 0x86, 0xfc, 0xd6, 0xbe, 0x8b, 0x1e, 0xe5, 0xae, 0x29, 0x95, 0x12, 0x94, 0x15, 0x02, 0x05, 0xb4,
947 0x39, 0x8d, 0xd0, 0x8b, 0x68, 0xf0, 0x7a, 0x24, 0xed, 0xfe, 0x51, 0xa6, 0xf9, 0x68, 0xb8, 0x7a,
948 0x37, 0xb1, 0x07, 0xbd, 0x82, 0xa3, 0x78, 0xe0, 0x25, 0x10, 0x12, 0xd0, 0x59, 0x72, 0x90, 0x9a,
949 0x5c, 0x48, 0x80, 0x43, 0x3a, 0xbb, 0x7c, 0x05, 0x68, 0xe2, 0xce, 0x33, 0x65, 0xfa, 0xf9, 0x61,
950 0x62, 0x93, 0xd8, 0x26, 0xf2, 0xef, 0xd1, 0x78, 0x4f, 0xfe, 0x9c, 0xff, 0x17, 0x00, 0x00, 0xff,
951 0xff, 0x6b, 0x05, 0xbf, 0x99, 0x35, 0x09, 0x00, 0x00,
952}