(cherry picked from commit fadd3bfc05c40d1a77b4cfa17b981a7b18918e56)
(cherry picked from commit f00cbf88061c98a7557e99f5bcb8979abf271b0d)