Copyright (c) 2023, 2024 Robert V. Harlander and Magnus C. Schaaf
