Copyright (c) 2018 Nikita Skovoroda <chalkerx@gmail.com>