(cherry picked from commit 6510c9a6524a221986c246c780a64c79897c0360)
(cherry picked from commit f5cae601cd2a45982d8c56c23480e98c597e6d9a)