expo-image-manipulator 58.0.7 → 58.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ExpoImageManipulator.podspec +5 -0
  5. package/ios/ImageManipulatorExceptions.swift +0 -18
  6. package/ios/Transformers/ImageFixOrientationTransformer.swift +8 -61
  7. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.module → 58.0.9/expo.modules.imagemanipulator-58.0.9.module} +9 -9
  8. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.module.md5 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.module.sha1 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.module.sha256 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.module.sha512 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.pom → 58.0.9/expo.modules.imagemanipulator-58.0.9.pom} +3 -3
  13. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.pom.md5 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.pom.sha1 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.pom.sha256 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.9/expo.modules.imagemanipulator-58.0.9.pom.sha512 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/maven-metadata.xml +4 -4
  18. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/maven-metadata.xml.md5 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/maven-metadata.xml.sha1 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/maven-metadata.xml.sha256 +1 -1
  21. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/maven-metadata.xml.sha512 +1 -1
  22. package/package.json +3 -3
  23. package/prebuilds/output/debug/xcframeworks/ExpoImageManipulator.tar.gz +0 -0
  24. package/prebuilds/output/release/xcframeworks/ExpoImageManipulator.tar.gz +0 -0
  25. package/prebuilds/spm-deps/SDWebImageWebPCoder/release/SDWebImageWebPCoder.xcframework/Info.plist +5 -5
  26. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.module.md5 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.module.sha1 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.module.sha256 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.module.sha512 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.pom.md5 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.pom.sha1 +0 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.pom.sha256 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/58.0.7/expo.modules.imagemanipulator-58.0.7.pom.sha512 +0 -1
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7-sources.jar → 58.0.9/expo.modules.imagemanipulator-58.0.9-sources.jar} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7-sources.jar.md5 → 58.0.9/expo.modules.imagemanipulator-58.0.9-sources.jar.md5} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7-sources.jar.sha1 → 58.0.9/expo.modules.imagemanipulator-58.0.9-sources.jar.sha1} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7-sources.jar.sha256 → 58.0.9/expo.modules.imagemanipulator-58.0.9-sources.jar.sha256} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7-sources.jar.sha512 → 58.0.9/expo.modules.imagemanipulator-58.0.9-sources.jar.sha512} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.aar → 58.0.9/expo.modules.imagemanipulator-58.0.9.aar} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.aar.md5 → 58.0.9/expo.modules.imagemanipulator-58.0.9.aar.md5} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.aar.sha1 → 58.0.9/expo.modules.imagemanipulator-58.0.9.aar.sha1} +0 -0
  42. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.aar.sha256 → 58.0.9/expo.modules.imagemanipulator-58.0.9.aar.sha256} +0 -0
  43. /package/local-maven-repo/host/exp/exponent/expo.modules.imagemanipulator/{58.0.7/expo.modules.imagemanipulator-58.0.7.aar.sha512 → 58.0.9/expo.modules.imagemanipulator-58.0.9.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,17 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 58.0.9 — 2026-09-28
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Fixed `renderAsync` failing with `ERR_IMAGE_CONTEXT_LOST` for 10-bit HDR images, such as HEIC screenshots. ([#50011](https://github.com/expo/expo/pull/50011) by [@expo-bot](https://github.com/expo-bot))
18
+ - [iOS] Keep the full pixel resolution of images loaded with a scale factor greater than 1 instead of downscaling them to their point size. ([#50011](https://github.com/expo/expo/pull/50011) by [@vonovak](https://github.com/vonovak))
19
+
20
+ ## 58.0.8 — 2026-09-25
21
+
22
+ _This version does not introduce any user-facing changes._
23
+
13
24
  ## 58.0.7 — 2026-09-23
14
25
 
15
26
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '58.0.7'
7
+ version = '58.0.9'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.imagemanipulator"
11
11
  defaultConfig {
12
12
  versionCode 23
13
- versionName "58.0.7"
13
+ versionName "58.0.9"
14
14
  }
15
15
  }
16
16
 
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.imagemanipulator",
11
- "version": "58.0.7",
11
+ "version": "58.0.9",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -40,5 +40,10 @@ Pod::Spec.new do |s|
40
40
  test_spec.dependency 'ExpoModulesTestCore'
41
41
 
42
42
  test_spec.source_files = 'Tests/**/*.{m,swift}'
43
+
44
+ # The test bundle links the C++ ExpoModulesCore static library.
45
+ test_spec.pod_target_xcconfig = {
46
+ 'OTHER_LDFLAGS' => '$(inherited) -lc++'
47
+ }
43
48
  end
44
49
  end
@@ -3,30 +3,12 @@
3
3
  import CoreGraphics
4
4
  import ExpoModulesCore
5
5
 
6
- internal final class ImageContextLostException: Exception {
7
- override var reason: String {
8
- "Image context has been lost"
9
- }
10
- }
11
-
12
- internal final class ImageDrawingFailedException: Exception {
13
- override var reason: String {
14
- "Drawing the new image failed"
15
- }
16
- }
17
-
18
6
  internal final class ImageNotFoundException: Exception {
19
7
  override var reason: String {
20
8
  "Image cannot be found"
21
9
  }
22
10
  }
23
11
 
24
- internal final class ImageColorSpaceNotFoundException: Exception {
25
- override var reason: String {
26
- "The image does not specify any color space"
27
- }
28
- }
29
-
30
12
  internal final class ImageInvalidCropException: Exception {
31
13
  override var reason: String {
32
14
  "Invalid crop options has been passed. Please make sure the requested crop rectangle is inside source image"
@@ -2,74 +2,21 @@
2
2
 
3
3
  /**
4
4
  Transformer that makes sure the image is oriented up and not mirrored.
5
- Guarantees that the original pixel data matches the displayed orientation.
5
+ Guarantees that the original pixel data matches the displayed orientation and that image size is in pixels.
6
6
  */
7
7
  internal struct ImageFixOrientationTransformer: ImageTransformer {
8
8
  func transform(image: UIImage) async throws -> UIImage {
9
9
  guard let cgImage = image.cgImage else {
10
10
  throw ImageNotFoundException()
11
11
  }
12
- guard var colorSpace = cgImage.colorSpace else {
13
- // That should never happen as `colorSpace` is empty only when the image is a mask.
14
- throw ImageColorSpaceNotFoundException()
12
+ // Upright pixels need no redraw. Normalize the scale to pixel coordinates.
13
+ guard image.imageOrientation != .up else {
14
+ return image.scale == 1 ? image : UIImage(cgImage: cgImage)
15
15
  }
16
- if !colorSpace.supportsOutput {
17
- colorSpace = CGColorSpaceCreateDeviceRGB()
16
+ // `draw(in:)` applies the orientation. The renderer accepts 10-bit HDR sources that `CGContext` rejects.
17
+ let size = CGSize(width: image.size.width * image.scale, height: image.size.height * image.scale)
18
+ return drawInNewContext(size: size) { _ in
19
+ image.draw(in: CGRect(origin: .zero, size: size))
18
20
  }
19
-
20
- var transform = CGAffineTransform.identity
21
-
22
- switch image.imageOrientation {
23
- case .down, .downMirrored:
24
- transform = transform.translatedBy(x: image.size.width, y: image.size.height)
25
- transform = transform.rotated(by: Double.pi)
26
- case .left, .leftMirrored:
27
- transform = transform.translatedBy(x: image.size.width, y: 0)
28
- transform = transform.rotated(by: Double.pi / 2)
29
- case .right, .rightMirrored:
30
- transform = transform.translatedBy(x: 0, y: image.size.height)
31
- transform = transform.rotated(by: -Double.pi / 2)
32
- default:
33
- break
34
- }
35
-
36
- switch image.imageOrientation {
37
- case .upMirrored, .downMirrored:
38
- transform = transform.translatedBy(x: image.size.width, y: 0)
39
- transform = transform.scaledBy(x: -1, y: 1)
40
- case .leftMirrored, .rightMirrored:
41
- transform = transform.translatedBy(x: image.size.height, y: 0)
42
- transform = transform.scaledBy(x: -1, y: 1)
43
- default:
44
- break
45
- }
46
-
47
- let context = CGContext(
48
- data: nil,
49
- width: Int(image.size.width),
50
- height: Int(image.size.height),
51
- bitsPerComponent: cgImage.bitsPerComponent,
52
- bytesPerRow: 0,
53
- space: colorSpace,
54
- bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue
55
- )
56
-
57
- guard let context = context else {
58
- throw ImageContextLostException()
59
- }
60
-
61
- context.concatenate(transform)
62
-
63
- switch image.imageOrientation {
64
- case .left, .leftMirrored, .right, .rightMirrored:
65
- context.draw(cgImage, in: CGRect(x: 0, y: 0, width: image.size.height, height: image.size.width))
66
- default:
67
- context.draw(cgImage, in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
68
- }
69
-
70
- guard let newCGImage = context.makeImage() else {
71
- throw ImageDrawingFailedException()
72
- }
73
- return UIImage(cgImage: newCGImage)
74
21
  }
75
22
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.imagemanipulator",
6
- "version": "58.0.7",
6
+ "version": "58.0.9",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.imagemanipulator-58.0.7.aar",
28
- "url": "expo.modules.imagemanipulator-58.0.7.aar",
27
+ "name": "expo.modules.imagemanipulator-58.0.9.aar",
28
+ "url": "expo.modules.imagemanipulator-58.0.9.aar",
29
29
  "size": 95460,
30
30
  "sha512": "475e3a2be447c03f0182047320a23b69785edafa143644db1af90f31a267e9ec2f15ea6a6abaab9b18cefaea03e23cb152aa20a0f7137643f61b8a4c10947b14",
31
31
  "sha256": "250d1ca6a5dd0d9c32dce53a3e615221cd6be59d1352fd37e6b35d346142fa7e",
@@ -47,7 +47,7 @@
47
47
  "group": "org.jetbrains.kotlin",
48
48
  "module": "kotlin-stdlib-jdk7",
49
49
  "version": {
50
- "requires": "2.2.0"
50
+ "requires": "2.2.10"
51
51
  }
52
52
  },
53
53
  {
@@ -61,14 +61,14 @@
61
61
  "group": "io.github.expo.pika",
62
62
  "module": "pika-api",
63
63
  "version": {
64
- "requires": "1.0.0"
64
+ "requires": "1.1.0"
65
65
  }
66
66
  }
67
67
  ],
68
68
  "files": [
69
69
  {
70
- "name": "expo.modules.imagemanipulator-58.0.7.aar",
71
- "url": "expo.modules.imagemanipulator-58.0.7.aar",
70
+ "name": "expo.modules.imagemanipulator-58.0.9.aar",
71
+ "url": "expo.modules.imagemanipulator-58.0.9.aar",
72
72
  "size": 95460,
73
73
  "sha512": "475e3a2be447c03f0182047320a23b69785edafa143644db1af90f31a267e9ec2f15ea6a6abaab9b18cefaea03e23cb152aa20a0f7137643f61b8a4c10947b14",
74
74
  "sha256": "250d1ca6a5dd0d9c32dce53a3e615221cd6be59d1352fd37e6b35d346142fa7e",
@@ -87,8 +87,8 @@
87
87
  },
88
88
  "files": [
89
89
  {
90
- "name": "expo.modules.imagemanipulator-58.0.7-sources.jar",
91
- "url": "expo.modules.imagemanipulator-58.0.7-sources.jar",
90
+ "name": "expo.modules.imagemanipulator-58.0.9-sources.jar",
91
+ "url": "expo.modules.imagemanipulator-58.0.9-sources.jar",
92
92
  "size": 8679,
93
93
  "sha512": "4cda13902745f76d0135333dd19c5f8ab5e953146d9340d67c46aa834fb8aa4f5deab6dcdcbd8df516ac629e05f42b4ebee165fd3b254ffd8f995c0339611995",
94
94
  "sha256": "5443d494e986ec5a39b06bf9f24e7cd9ec96f4e9d97a1b04d177ecf5d0d8162b",
@@ -0,0 +1 @@
1
+ 53eac088f002df1ce10cb51e937a2bb322f8a3c5784030ef6e2352af293f1a2d
@@ -0,0 +1 @@
1
+ d5714cd063fdc04a596d5111a86237d79a1951a9d239a53bdd671598b1b6207837b71954961bdd684face61b97e82bf2075c8f8dc98ef855ce5e6359a69c6e2b
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.imagemanipulator</artifactId>
12
- <version>58.0.7</version>
12
+ <version>58.0.9</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.imagemanipulator</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -40,7 +40,7 @@
40
40
  <dependency>
41
41
  <groupId>org.jetbrains.kotlin</groupId>
42
42
  <artifactId>kotlin-stdlib-jdk7</artifactId>
43
- <version>2.2.0</version>
43
+ <version>2.2.10</version>
44
44
  <scope>runtime</scope>
45
45
  </dependency>
46
46
  <dependency>
@@ -52,7 +52,7 @@
52
52
  <dependency>
53
53
  <groupId>io.github.expo.pika</groupId>
54
54
  <artifactId>pika-api</artifactId>
55
- <version>1.0.0</version>
55
+ <version>1.1.0</version>
56
56
  <scope>runtime</scope>
57
57
  </dependency>
58
58
  </dependencies>
@@ -0,0 +1 @@
1
+ e4dbcdb7acd2c05c0b9f361d1e3ab1c98b8689d8e19e63e713cf33f1a70cccaf
@@ -0,0 +1 @@
1
+ 455efb613ec31466801a7ef71cc5b4b6863dc1de5e5cc1b58e2234df8889660f8a5924bd59dc9bebdf50116cc4d38d35ac7e8e3b0bab8b105fa1abdd69e5920e
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.imagemanipulator</artifactId>
5
5
  <versioning>
6
- <latest>58.0.7</latest>
7
- <release>58.0.7</release>
6
+ <latest>58.0.9</latest>
7
+ <release>58.0.9</release>
8
8
  <versions>
9
- <version>58.0.7</version>
9
+ <version>58.0.9</version>
10
10
  </versions>
11
- <lastUpdated>20260923154010</lastUpdated>
11
+ <lastUpdated>20260928121115</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- ceb75b3fbdc84e28bdc7aa50c9046a98
1
+ bec6f0938aaab2a6ce1f0b893f7afc42
@@ -1 +1 @@
1
- 9622107fa4d1f59fbb36eda68f0d1953243d2bfa
1
+ 99b4de744664ee0ba6f9cfad1a9829587bde431b
@@ -1 +1 @@
1
- 2468abb828e3c5db1b2fb7db17fccd31565f53f96558810e7b812b4683c72ffa
1
+ e3955e3a5e7de511ff3a69e737577f075c74e6f613d114116d96c4c055911eba
@@ -1 +1 @@
1
- 71f6bf3dba5c72dcaf67514cafbf136c0ec147112f8c747dd7ce22194b618975c23fb206a7b53195570c777d63da6070e5536285165f893d3873ab0b6e1a4291
1
+ cb0f39a5c794f85813b129ea407bbe6410aac05af690db6a85609a473d8767cdf69ca1dd832ca5a34e9c65212a42916c89c70bec48a81d8b2477f46b8b191528
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-image-manipulator",
3
- "version": "58.0.7",
3
+ "version": "58.0.9",
4
4
  "description": "Provides functions that let you manipulation images on the local file system, eg: resize, crop.",
5
5
  "keywords": [
6
6
  "expo",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/react": "~19.3.0",
40
- "expo": "58.0.0-preview.6",
40
+ "expo": "58.0.0-preview.8",
41
41
  "expo-module-scripts": "56.0.3"
42
42
  },
43
43
  "peerDependencies": {
@@ -48,7 +48,7 @@
48
48
  "jest": {
49
49
  "preset": "expo-module-scripts"
50
50
  },
51
- "gitHead": "8aeb4368d396d2d71a2fc8c652c4d1d4d53ed858",
51
+ "gitHead": "74f6d2b90bc50bd8df7b160d6e6b2204b37a8ce7",
52
52
  "scripts": {
53
53
  "precompile-ios": "et prebuild-package-for-publish",
54
54
  "build": "expo-build src",
@@ -10,15 +10,18 @@
10
10
  <key>DebugSymbolsPath</key>
11
11
  <string>dSYMs</string>
12
12
  <key>LibraryIdentifier</key>
13
- <string>ios-arm64</string>
13
+ <string>ios-arm64_x86_64-simulator</string>
14
14
  <key>LibraryPath</key>
15
15
  <string>SDWebImageWebPCoder.framework</string>
16
16
  <key>SupportedArchitectures</key>
17
17
  <array>
18
18
  <string>arm64</string>
19
+ <string>x86_64</string>
19
20
  </array>
20
21
  <key>SupportedPlatform</key>
21
22
  <string>ios</string>
23
+ <key>SupportedPlatformVariant</key>
24
+ <string>simulator</string>
22
25
  </dict>
23
26
  <dict>
24
27
  <key>BinaryPath</key>
@@ -26,18 +29,15 @@
26
29
  <key>DebugSymbolsPath</key>
27
30
  <string>dSYMs</string>
28
31
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64_x86_64-simulator</string>
32
+ <string>ios-arm64</string>
30
33
  <key>LibraryPath</key>
31
34
  <string>SDWebImageWebPCoder.framework</string>
32
35
  <key>SupportedArchitectures</key>
33
36
  <array>
34
37
  <string>arm64</string>
35
- <string>x86_64</string>
36
38
  </array>
37
39
  <key>SupportedPlatform</key>
38
40
  <string>ios</string>
39
- <key>SupportedPlatformVariant</key>
40
- <string>simulator</string>
41
41
  </dict>
42
42
  </array>
43
43
  <key>CFBundlePackageType</key>
@@ -1 +0,0 @@
1
- 38c3d81a1e8e1b18cc58a34825291d0c848f075d570f9d64da64c2a09980cba2
@@ -1 +0,0 @@
1
- 020769842a303393c04406b7b69f3478581e654c4d5f6b6c86f37ec40b6f4f0c751b187ac266b040646749567e9a759a81651e2cebc4fb476239a1f9b9e1f2be
@@ -1 +0,0 @@
1
- 53485a0ee26e61034e57ef8c843be898add3d1cb242be124e56cf9710bbcea54
@@ -1 +0,0 @@
1
- 6c649803e10a0388b23f5bbe30d3d71f8799654c5adc407d89e059c6c161b18eb26262c0481b0658c0db323defaab9ab90e9a92f5bdcc8f9b9d70d8d6e624a10