(cherry picked from commit 4c1a4f956e736ae1cfae529018d798448ec44812)
(cherry picked from commit f3bd3de81ce6078151223075cc61c01d197cc070)