Copyright 2020 Linus Björnstam Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all source copies. The software is provided "as is", without any express or implied warranties.