Copyright 2022 Andres Riofrio Licensed under the Apache License, Version 2.0 or the MIT license , at your option.