5db541ee24
Initial implementation by Ilya Ryzhenkov Renovation, optimization, integration and removal of unused features by Pavel Talanov