* Based on a version submitted by Andrew Romanenko. PR: 221482 Submitted by: Andrew Romanenko <melanhit@gmail.com> (initial version)