(cherry picked from commit 54e67bc67c7c70fad11715a6dc29d5c5e21812fe)
(cherry picked from commit da3c6133d7ae9210dd7dcbe98470f1836cea8e33)