(cherry picked from commit 2635014717198158c44604f6c8c8e6e642dec8a7)
(cherry picked from commit fdf305c17aa7436682f8e56cb82e7aa0aebb211b)