(cherry picked from commit 8509339e76bd56b70daef434fc674911c13c5bf7)
(cherry picked from commit 7836ddcb362df79773677ccbf8c1d0854f40a295)