(cherry picked from commit 8a8baad0b68d7a8c3e2749460341643700cf6821)
(cherry picked from commit fb5bea51cdad8c74fd057ddc78ddd3f38fbd98a7)