Last modified August 14, 2022: added a lot of final revisions (58931f1)