(cherry picked from commit 8781387065c8667c2646c3345a2d6d03c14ac9f0)
(cherry picked from commit 18e4b1f33eb5bb803bc35100f80b61fd82642645)