diff --git a/osxphotos/photoinfo/template.py b/osxphotos/template.py
similarity index 100%
rename from osxphotos/photoinfo/template.py
rename to osxphotos/template.py
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite
index 9865c0e3..32b64430 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm
index b9b4b3ab..34c3650e 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal
index e69de29b..94751d5b 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
index c8f3c09b..d6aad5e1 100644
--- a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
+++ b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
@@ -7,7 +7,7 @@
hostuuid
9575E48B-8D5F-5654-ABAC-4431B1167324
pid
- 869
+ 725
processname
photolibraryd
uid
diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite
index 86034830..0f72cdaf 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite and b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index fe9ac284..3d5d2ccc 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db
index 50503eef..258a10e9 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db and b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm
index 4b9b6275..facab9c5 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm
index 9da70f59..f2945c36 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal
index 24c69413..4e511313 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm
index d2344656..427f22cd 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal
index 47b23bef..3892cbff 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite
index 0cc21f98..3361b726 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm
index 60663a28..c8d13ffc 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal
index 35010fd9..48a9311e 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm
index 4c6f1219..4b6b8ba3 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal
index 2ca4bd84..ee4b7e98 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist
index 17ec6a8e..5a74827a 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
index 7c75cbc7..b1d90f7c 100644
--- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
+++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
@@ -3,24 +3,24 @@
BackgroundHighlightCollection
- 2020-05-04T23:54:07Z
+ 2020-05-01T23:03:12Z
BackgroundHighlightEnrichment
- 2020-05-04T23:54:06Z
+ 2020-05-01T23:03:11Z
BackgroundJobAssetRevGeocode
- 2020-05-04T23:54:08Z
+ 2020-05-02T01:35:19Z
BackgroundJobSearch
- 2020-05-04T23:54:08Z
+ 2020-05-01T23:03:12Z
BackgroundPeopleSuggestion
- 2020-05-04T23:54:06Z
+ 2020-05-01T23:03:11Z
BackgroundUserBehaviorProcessor
- 2020-05-04T23:54:08Z
+ 2020-05-01T23:03:13Z
PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey
- 2020-05-04T23:58:40Z
+ 2020-05-02T01:35:36Z
PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate
- 2020-05-04T23:54:05Z
+ 2020-05-01T23:03:11Z
PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate
- 2020-05-04T23:54:09Z
+ 2020-05-02T01:35:19Z
SiriPortraitDonation
- 2020-05-04T23:54:08Z
+ 2020-05-01T23:03:13Z
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm
index ca5a3e01..fe9ac284 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm
index ca5a3e01..fe9ac284 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb
index e01aa5c5..2c32774f 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
index 2efb9ca3..e6dee62e 100644
--- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
+++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
@@ -3,8 +3,8 @@
FaceIDModelLastGenerationKey
- 2020-05-04T23:54:10Z
+ 2020-05-01T23:03:14Z
LastContactClassificationKey
- 2020-05-04T23:54:13Z
+ 2020-05-01T23:03:18Z
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin
index 6c273841..c3a6c0e5 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite
index 8c8ba5e0..20b022cc 100644
Binary files a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite and b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm
new file mode 100644
index 00000000..5004dce5
Binary files /dev/null and b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal
new file mode 100644
index 00000000..37a26aee
Binary files /dev/null and b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm
index fe9ac284..06265969 100644
Binary files a/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite
index 474f8c8d..bbd6c0cf 100644
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite and b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm
new file mode 100644
index 00000000..59fcf58f
Binary files /dev/null and b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal
new file mode 100644
index 00000000..b2f7e920
Binary files /dev/null and b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index fe9ac284..5ec2b795 100644
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm
index dc51884b..4b67f917 100644
Binary files a/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm
index b05ed24c..91e4e9bd 100644
Binary files a/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index 62dc1f04..73025c50 100644
Binary files a/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index 5c7cf34e..e76cba04 100644
Binary files a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ