1// 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} 953