]> git.hungrycats.org Git - xscreensaver/commitdiff
From https://www.jwz.org/xscreensaver/xscreensaver-6.08.tar.gz
authorZygo Blaxell <zblaxell@waya.furryterror.org>
Wed, 11 Oct 2023 22:17:38 +0000 (18:17 -0400)
committerZygo Blaxell <xss@mirrors.furryterror.org>
Wed, 11 Oct 2023 22:18:31 +0000 (18:18 -0400)
-rw-rw-r-- 1 zblaxell zblaxell 19990058 Oct 10 20:41 xscreensaver-6.08.tar.gz
a7e75a2ae1110354ffaa639f4c38ec0506cabf2b  xscreensaver-6.08.tar.gz

691 files changed:
OSX/Makefile
OSX/PrefsReader.m
OSX/README
OSX/Randomizer.h
OSX/Randomizer.m
OSX/Randomizer.plist
OSX/SaverRunner.m
OSX/SaverRunner.plist
OSX/Sparkle.framework/Autoupdate [new symlink]
OSX/Sparkle.framework/Updater.app [new symlink]
OSX/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SPUDownloader.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUErrors.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUExport.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h [deleted file]
OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h [deleted file]
OSX/Sparkle.framework/Versions/A/Modules/module.modulemap [deleted file]
OSX/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/Info.plist [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ReleaseNotesColorStyle.css [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings [deleted file]
OSX/Sparkle.framework/Versions/A/Sparkle [deleted file]
OSX/Sparkle.framework/Versions/A/_CodeSignature/CodeResources [deleted file]
OSX/Sparkle.framework/Versions/B/Autoupdate [new file with mode: 0755]
OSX/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUpdater.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUAppcast.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUErrors.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUExport.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUUpdater.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Headers/Sparkle.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Modules/module.modulemap [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/SUStatus.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/he.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdateAlert.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Sparkle [new file with mode: 0755]
OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater [new file with mode: 0755]
OSX/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader [new file with mode: 0755]
OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer [new file with mode: 0755]
OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources [new file with mode: 0644]
OSX/Sparkle.framework/Versions/B/_CodeSignature/CodeResources [new file with mode: 0644]
OSX/Sparkle.framework/Versions/Current
OSX/Sparkle.framework/XPCServices [new symlink]
OSX/Updater.h
OSX/Updater.m
OSX/Updater.plist
OSX/XScreenSaver.plist
OSX/XScreenSaverConfigSheet.m
OSX/XScreenSaverView.m
OSX/bindist.rtf
OSX/iSaverRunner.plist
OSX/installer.rtf
OSX/installer.sh
OSX/nslog.h [new file with mode: 0644]
OSX/sparkle-bin/BinaryDelta
OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Info.plist [deleted file]
OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta [deleted file]
OSX/sparkle-bin/generate_appcast
OSX/sparkle-bin/generate_appcast.dSYM/Contents/Info.plist [deleted file]
OSX/sparkle-bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast [deleted file]
OSX/sparkle-bin/generate_keys
OSX/sparkle-bin/generate_keys.dSYM/Contents/Info.plist [deleted file]
OSX/sparkle-bin/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys [deleted file]
OSX/sparkle-bin/sign_update
OSX/sparkle-bin/sign_update.dSYM/Contents/Info.plist [deleted file]
OSX/sparkle-bin/sign_update.dSYM/Contents/Resources/DWARF/sign_update [deleted file]
OSX/tvSaverRunner.plist
OSX/update-info-plist.pl
OSX/updates.xml
OSX/xscreensaver.xcodeproj/project.pbxproj
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Abstractile.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/All Savers (OpenGL).xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/All Savers (XLockmore).xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/All Savers (XScreenSaver).xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/All Savers.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Anemone.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Anemotaxis.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Ant.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/AntInspect.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/AntMaze.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/AntSpotlight.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Apollonian.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Apple2-OSX.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Apple2-iOS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Apple2.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Atlantis.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Attraction.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Atunnel.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BSOD.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Barcode.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Beats.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BinaryHorizon.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BinaryRing.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Blaster.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BlinkBox.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BlitSpin.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BlockTube.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Boing.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Bouboule.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BouncingCow.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/BoxFit.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Boxed.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Braid.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Bubble3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Bubbles.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Bumps.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CCurve.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/COVID19.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CWaves.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Cage.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Carousel.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Celtic.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/ChompyTower.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Circuit.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Cityflow.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CloudLife.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CompanionCube.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Compass.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Coral.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Crackberg.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Critical.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Crumbler.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Crystal.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Cube21.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CubeStack.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CubeStorm.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CubeTwist.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Cubenetic.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CubicGrid.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/CuboctEversion.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Cynosure.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/DNAlogo.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/DangerBall.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/DecayScreen.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deco.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/DeepStars.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~1~ [deleted file]
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~2~ [deleted file]
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Demon.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Discoball.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Discrete.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Distort.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Drift.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Droste.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/DymaxionMap.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Endgame.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/EnergyStream.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Engine.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Epicycle.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Eruption.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Esper.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/EtruscanVenus.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Euler2D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Extrusion.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FadePlot.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Fiberlamp.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FilmLeader.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Fireworkx.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Flag.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Flame.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FlipFlop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FlipScreen3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FlipText.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Flow.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FluidBalls.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FlyingToasters.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FontGlide.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Forest.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/FuzzyFlakes.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GFlux.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLBlur.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLCells.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLForestFire.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLHanoi.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLKnots.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLMatrix.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLPlanet.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLSchool.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLSlideshow.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLSnake.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GLText.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Galaxy.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Gears.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Geodesic.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GeodesicGears.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Gibson.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Gleidescope.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GlitchPEG.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Goop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Grav.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/GravityWell.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Greynetic.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Halftone.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Halo.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Handsy.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Headroom.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Helix.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/HexTrail.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hexadrop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hexstrut.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hilbert.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hopalong.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hydrostat.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/HyperBall.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/HyperCube.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hypertorus.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Hypnowheel.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/IFS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/IMSMap.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Interaggregate.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Interference.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Intermomentary.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/JigglyPuff.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Jigsaw.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Juggle.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Juggler3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Julia.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Kaleidescope.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Kaleidocycle.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Klein.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Kumppa.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/LCDscrub.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/LMorph.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lament.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Laser.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lavalite.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lightning.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lisa.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lissie.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Lockward.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Loop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/MapScroller.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Marbling.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Maze.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Maze3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/MemScroller.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Menger.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/MetaBalls.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/MirrorBlob.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Moebius.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/MoebiusGears.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Moire.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Moire2.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Molecule.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Morph3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Mountain.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Munch.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Nakagin.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/NerveRot.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Noof.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/NoseGuy.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Obsolete.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pacman.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/PaperCube.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pedal.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Peepers.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Penetrate.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Penrose.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Petri.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Phosphor-OSX.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Phosphor-iOS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Phosphor.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Photopile.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Piecewise.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pinion.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pipes.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Polyhedra.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Polyominoes.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Polytopes.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pong.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/PopSquares.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/ProjectivePlane.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Providence.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pulsar.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Pyro.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Qix.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/QuasiCrystal.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Queens.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RDbomb.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RandomXScreenSaver.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RaverHoop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RazzleDazzle.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Ripples.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Rocks.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RomanBoy.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Rorschach.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RotZoomer.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Rotor.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Rubik.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/RubikBlocks.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SBalls.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SaverTester.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Scooter.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/ShadeBobs.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Sierpinski.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Sierpinski3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Skulloop.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SkyTentacles.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SlideScreen.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Slip.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Sonar.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SpeedMine.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Sphere.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SphereEversion.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Spheremonics.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Spiral.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/SplitFlap.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Splodesic.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Spotlight.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Sproingies.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Squiral.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Squirtorus.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Stairs.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/StarWars.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Starfish.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/StonerView.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Strange.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Substrate.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Superquadrics.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Surfaces.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Swirl.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/T3D.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Tangram.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Tessellimage.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/TestX11-iOS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/TestX11.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Thornbird.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/TimeTunnel.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/TopBlock.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Triangle.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/TronBit.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Truchet.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Twang.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Unicrud.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/UnknownPleasures.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/VFeedback.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Vermiculate.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Vigilance.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Vines.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Voronoi.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Wander.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/WebCollage.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/WhirlWindWarp.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Whirlygig.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/WindupRobot.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Worm.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Wormhole.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XAnalogTV.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XFlame.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XJack.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XLyap.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XMatrix.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XRaySwarm.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XScreenSaver-iOS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XScreenSaver-tvOS.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XScreenSaverUpdater.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/XSpirograph.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Zoom.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/enable_gc.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/images_png_h.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/jwxyz.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/m6502.h.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/m6502.xcscheme
OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/molecules.h.xcscheme
README
driver/XScreenSaver.ad.in
driver/xscreensaver-systemd.c
hacks/abstractile.c
hacks/config/README
hacks/config/gltext.xml
hacks/glx/glplanet.c
hacks/glx/handsy.c
hacks/glx/sphereeversion-analytic.c
hacks/glx/vigilance.c
hacks/glx/winduprobot.c
hacks/glx/xlock-gl-utils.c
hacks/screenhackI.h
hacks/webcollage
po/POTFILES.in
utils/version.h
xscreensaver.spec

index 33348cb9a3a6c66f648dfc6098261bbd592d6368..892fe04f391a375f146a46438d945d71c5ee281e 100644 (file)
@@ -49,12 +49,16 @@ release::
 
 Sparkle.framework:
        rm -rf bin sparkle-bin
-       tar -vxjf ../archive/Sparkle-1.27.0.tar.xz \
+       tar -vxjf ../archive/Sparkle-2.5.0.tar.xz \
          --exclude CHANGELOG \
          --exclude LICENSE \
+         --exclude INSTALL \
+         --exclude Entitlements \
          --exclude SampleAppcast.xml \
          --exclude Sparkle.framework.dSYM \
-         --exclude Sparkle\ Test\ App\*
+         --exclude Sparkle\ Test\ App\* \
+         --exclude Symbols \
+         --exclude sparkle.app
        mv bin sparkle-bin
 
 # Download and resize images from jwz.org.
@@ -103,8 +107,8 @@ $(THUMBDIR)/%.png:
        if [ ! -d $(THUMBDIR) ]; then mkdir -p $(THUMBDIR) ; fi ;       \
        rm -f "$$FILE2" "$$TMP" ;                                       \
        set +e ;                                                        \
-       if [ -f "$$HOME/www/$(BASE)/$$FILE1" ]; then                    \
-         cp -p "$$HOME/www/$(BASE)/$$FILE1" "$$TMP" ;                  \
+       if [ -f "$$HOME/www/$(BASE)$$FILE1" ]; then                     \
+         cp -p "$$HOME/www/$(BASE)$$FILE1" "$$TMP" ;                   \
        else                                                            \
          echo "downloading $$URL..." ;                                 \
          $(WGET) "$$URL" > "$$TMP" ;                                   \
@@ -494,65 +498,143 @@ staple::
   xcrun stapler validate "$$DMG" ;                                           \
 
 
-# When debugging, sometimes I have to reset the preferences for all
-# the savers.  Also I like FPS to be turned on, and them all to be
-# pointed at the same image directory.
+# When running under legacyScreenSaver or System Settings, saver preferences
+# are read from:
+#
+#   Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/\
+#   Library/Preferences/ByHost/org.jwz.xscreensaver.$NAME.$UUID.plist
+#
+# When running under SaverRunner, they are read from:
+#
+#   Library/Preferences/ByHost/org.jwz.xscreensaver.$NAME.$UUID.plist
+#
+# The "defaults read" and "defaults write" commands only access the
+# "Preferences" version, not the "Containers" version.  Some documentation
+# suggests that "defaults" should be using the "Containers" if run from
+# Terminal with "Full Disk Access" enabled, but that is not the case, at
+# least as of macOS 14.0.
+#
+# Extra kink: the "XScreenSaverUpdater.app" program, not being sandboxed
+# or by-host, writes to:
+#
+#   Library/Preferences/org.jwz.xscreensaver.XScreenSaverUpdater.plist
+#
+# but the screen savers' Settings panels, when changing the update frequency,
+# write to a sandboxed, but not by-host, plist file:
+#
+#   Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/\
+#   Library/Preferences/org.jwz.xscreensaver.XScreenSaverUpdater.plist
+#
+# XScreenSaverView checkForUpdates has a kludge to work around that.
+#
+#
+# "make show_prefs" lists both sets of preferences of each saver.
+#
+# "make reset_prefs" sets both sets of Preferences to my preferred
+# values for debugging.
 #
 show_prefs::
        @cd build/Debug ;                                                     \
+       UUID=`/usr/sbin/system_profiler SPHardwareDataType |                  \
+           sed -n 's/^ *Hardware UUID: *//p'` ;                                      \
+       DOM="org.jwz.xscreensaver" ;                                          \
+       CNT="$$HOME/Library/Containers" ;                                     \
+       CNT="$$CNT/com.apple.ScreenSaver.Engine.legacyScreenSaver" ;          \
+       CN1="$$CNT/Data/Library/Preferences/$$DOM" ;                          \
+       CN2="$$CNT/Data/Library/Preferences/ByHost/$$DOM" ;                   \
+       TMP=/tmp/$$.plist ;                                                   \
        for f in *.saver ; do                                                 \
          f=`echo "$$f" | sed 's/\..*//'` ;                                   \
          echo "########################## $$f" ;                             \
+         defaults -currentHost read "$$f" 2>&- ;                             \
+         f2="$$CN2.$$f.$$UUID.plist" ;                                       \
+         if [ -f "$$f2" ] ; then                                             \
+           cp "$$f2" "$$TMP" ;                                               \
+           defaults read "$$TMP" ;                                           \
+         fi ;                                                                \
+       done ;                                                                \
+                                                                             \
+       for f in Apple2 Phosphor ; do                                         \
+         echo "########################## $$f app" ;                         \
          defaults -currentHost read org.jwz.xscreensaver."$$f" 2>&- ;        \
        done ;                                                                \
-       for f in Apple2 Phosphor updater ; do                                 \
-         echo "########################## $$f" ;                             \
+       for f in XScreenSaverUpdater ; do                                     \
+         echo "########################## $$f app" ;                         \
          defaults read org.jwz.xscreensaver."$$f" 2>&- ;                     \
-       done
+         f2="$$CN1.$$f.plist" ;                                              \
+         if [ -f "$$f2" ] ; then                                             \
+           cp "$$f2" "$$TMP" ;                                               \
+           defaults read "$$TMP" ;                                           \
+         fi ;                                                                \
+       done ;                                                                \
+       rm "$$TMP"
 
 reset_prefs::
        @cd build/Debug ;                                                     \
-       W1='defaults' ;                                                       \
-       W2="$$W1 -currentHost write" ;                                        \
-       img='~/Pictures/Screensaver' ;                                        \
+       IMG='~/Pictures/Screensaver' ;                                        \
+       UUID=`/usr/sbin/system_profiler SPHardwareDataType |                  \
+           sed -n 's/^ *Hardware UUID: *//p'` ;                                      \
+       DOM="org.jwz.xscreensaver" ;                                          \
+       LIB="$$HOME/Library/Preferences/ByHost/$$DOM" ;                       \
+       CNT="$$HOME/Library/Containers" ;                                     \
+       CNT="$$CNT/com.apple.ScreenSaver.Engine.legacyScreenSaver" ;          \
+       CN1="$$CNT/Data/Library/Preferences/$$DOM" ;                          \
+       CN2="$$CNT/Data/Library/Preferences/ByHost/$$DOM" ;                   \
+                                                                             \
+       function ddelete() {                                                  \
+         name="$$1" ;                                                        \
+         rm -f "$$HOME/Library/Preferences/$$DOM.$$name.plist"               \
+               "$$LIB.$$name.$$UUID.plist"                                   \
+               "$$CN1.$$name.plist"                                          \
+               "$$CN2.$$name.$$UUID.plist" ;                                 \
+       } ;                                                                   \
+                                                                             \
+       function dwrite() {                                                   \
+         name="$$1" ;                                                        \
+         shift ;                                                             \
+         F1="$$LIB.$$name.$$UUID.plist" ;                                    \
+         F2="$$CN2.$$name.$$UUID.plist" ;                                    \
+         if [ -f "$$F2" ]; then mv "$$F2" "$$F1" ; fi ;                      \
+         defaults -currentHost write "$$DOM.$$name" "$$@" ;                  \
+         cp -p "$$F1" "$$F2" ;                                               \
+       } ;                                                                   \
+                                                                             \
        for f in *.saver ; do                                                 \
          name=`echo "$$f" | sed 's/\..*//'` ;                                \
+         if [ "$$name" = RandomXScreenSaver ]; then continue ; fi ;          \
          echo "########################## $$name" ;                          \
-         domain="org.jwz.xscreensaver" ;                                     \
-         dd="$$domain.$$name" ;                                              \
-         $$W1 -currentHost delete "$$dd" 2>&- ;                              \
-         $$W2 "$$dd" doFPS -bool true ;                                      \
+         ddelete $$name ;                                                    \
+         dwrite $$name doFPS -bool true ;                                    \
          if [ -f $$f/Contents/Resources/xscreensaver-text ] ; then           \
-           $$W2 "$$dd" textMode url ;                                        \
+           dwrite $$name textMode url ;                                      \
          fi ;                                                                \
          if [ -f $$f/Contents/Resources/xscreensaver-getimage-file ] ; then  \
-           $$W2 "$$dd" chooseRandomImages -bool true ;                       \
-           $$W2 "$$dd" grabDesktopImages -bool false ;                       \
-           $$W2 "$$dd" imageDirectory "$$img" ;                              \
-         fi ;                                                                \
-         if ( strings "$$f/Contents/MacOS/$$name" |                          \
-               grep NSOpenGLContext >/dev/null ) ; then                      \
-           $$W2 "$$dd" multiSample -bool true ;                              \
+           dwrite $$name chooseRandomImages -bool true ;                     \
+           dwrite $$name grabDesktopImages -bool false ;                     \
+           dwrite $$name imageDirectory "$$IMG" ;                            \
          fi ;                                                                \
        done ;                                                                \
                                                                              \
-       $$W1 delete "$$domain.Apple2" 2>&- ;                                  \
-       $$W1 delete "$$domain.Phosphor" 2>&- ;                                \
-       $$W1 delete "$$domain.updater" 2>&- ;                                 \
-       $$W1 write  "$$domain.updater" SUScheduledCheckIntervalKey 86400;     \
-                                                                             \
-       $$W2 "$$domain.BoxFit" grab -bool true ;                              \
-       $$W2 "$$domain.FlipFlop" textured -bool true ;                        \
-       $$W2 "$$domain.GLSlideshow" titles -bool true ;                       \
-       $$W2 "$$domain.Photopile" titles -bool true ;                         \
-       $$W2 "$$domain.SkyTentacles" mode cel ;                               \
-       $$W2 "$$domain.Sonar" ping                                            \
+       dwrite "Apple2"       mode basic ;                                    \
+       dwrite "BoxFit"       grab -bool true ;                               \
+       dwrite "FlipFlop"     textured -bool true ;                           \
+       dwrite "GLSlideshow"  titles -bool true ;                             \
+       dwrite "MapScroller"  mapLevel 18 ;                                   \
+       dwrite "MapScroller"  origin "37.7710,-122.4126";                     \
+       dwrite "Photopile"    titles -bool true ;                             \
+       dwrite "SkyTentacles" mode cel ;                                      \
+       dwrite "Sonar" ping                                                   \
          '/etc/hosts,$$HOME/.ssh/known_hosts,$$HOME/.ssh/known_hosts2' ;     \
-       $$W2 "$$domain.XMatrix" matrixFont small ;                            \
-       $$W2 "$$domain.XMatrix" textMode literal ;                            \
-       $$W2 "$$domain.XMatrix" textLiteral "MONKEY BUTTER" ;                 \
-
-# defaults -currentHost write org.jwz.xscreensaver.FontGlide debugMetrics -bool true
-# defaults -currentHost write org.jwz.xscreensaver.StarWars debug -bool true
-# defaults -currentHost write org.jwz.xscreensaver.StarWars textMode file
-# defaults -currentHost write org.jwz.xscreensaver.StarWars textFile ~/src/xscreensaver/hacks/glx/zalgo.txt
+       dwrite "XMatrix" matrixFont small ;                                   \
+       dwrite "XMatrix" textMode literal ;                                   \
+       dwrite "XMatrix" textLiteral "MONKEY BUTTER" ;                        \
+                                                                             \
+       name="XScreenSaverUpdater" ;                                          \
+       echo "########################## $$name" ;                            \
+       defaults delete "$$DOM.$$name" ;                                      \
+       defaults write "$$DOM.$$name" SUScheduledCheckInterval -string 86400 ;\
+       cp -p "$$HOME/Library/Preferences/$$DOM.$$name.plist"                 \
+             "$$CN1.$$name.plist" ;                                          \
+
+
+# log stream --debug --pred 'process contains[cd] "saver"'
index 8fbebffa30125d93b5746b298bcccdab3ca9d6b5..84c01f1cc9bcea174a0d3056c57f858ad183718b 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2006-2019 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright © 2006-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -23,6 +23,7 @@
 #import "PrefsReader.h"
 #import "Updater.h"
 #import "screenhackI.h"
+#import "nslog.h"
 
 #ifndef HAVE_IPHONE
 
    routines directly, while presenting the same API as NSUserDefaults.
 
    We need this so that global prefs will go into the file
-   Library/Preferences/org.jwz.xscreensaver.updater.plist instead of into
-   Library/Preferences/ByHost/org.jwz.xscreensaver.Maze.XXXXX.plist
-   with the per-saver prefs.
+   Library/Preferences/org.jwz.xscreensaver.XScreenSaverUpdater.plist
+   instead of into
+   Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/\
+   Library/Preferences/ByHost/org.jwz.xscreensaver.Maze.XXXXXXXXXXXX.plist
 
    The ScreenSaverDefaults class *almost* does this, but it always writes
    into the ByHost subdirectory, which means it's not readable by an app
       NSLog(@"warning: no preference \"%s\" [string]", name);
     return NULL;
   }
-  if (! [o isKindOfClass:[NSString class]]) {
-    // Yeah, we do this sometimes. It's fine.
-    // NSLog(@"asked for %s as a string, but it is a %@", name, [o class]);
+
+  if ([o isKindOfClass:[NSNumber class]])
     o = [(NSNumber *) o stringValue];
-  }
+  else if ([o isKindOfClass:[NSDate class]])
+    o = [(NSDate *) o description];
 
   NSString *os = (NSString *) o;
   char *result = strdup ([os cStringUsingEncoding:NSUTF8StringEncoding]);
index 6105cd0e75bfe095a111a91d629013f50706b406..7bfd62550d625c83c05390505bde9ac711158140 100644 (file)
@@ -35,9 +35,12 @@ Make sure everything works:
     - Set "Signing Certificate" to "Apple Development" for Debug and Release.
     - Change "Bundle Identifier" from "org.jwz" to "org.YOURNAME".
 
-  - There will probably be a build error related to Sonar and ICMP.
-    Click on the red error icon to see the error message and follow the
-    instructions there to fix it.
+  - If you get errors about curl being unable to download thumbnail images,
+    you need to add Xcode.app to "Full Disk Access" in System Settings.
+
+  - There might be a build error related to Sonar and ICMP.  Click on the red
+    error icon to see the error message and follow the instructions there to
+    fix it.
 
 
 To build and test a macOS saver:
index d171c57b212489938bc0d36d0a69f98f539a5e9d..190bae50ac354f41d9baa38efe6171e2a415834c 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2020 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright © 2020 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
index 095ae301a66aae80701296b42735c6996f644da6..100f87e0c2452a492942f1ec110c1b31013cd409 100644 (file)
 #import "XScreenSaverView.h"
 #import "yarandom.h"
 #include <sys/sysctl.h>
+#import "nslog.h"
 
 #define VENTURA_KLUDGE
+#define SONOMA_KLUDGE
+#undef  CATCH_SIGNALS
 
 # undef ya_rand_init
 # undef abort
@@ -223,6 +226,8 @@ resource_key_for_name (NSString *s, BOOL screen_p, NSDictionary *screen_ids)
   NSArray *bundle_paths_enabled;
   BOOL first_time_p;
   int fade_duration;
+  Bool animating_p;
+  Bool preview_p;
   NSTextField *crash_label;
   enum { JUMPCUT, FADE, CROSSFADE } crossfade_mode;
 }
@@ -234,6 +239,10 @@ static NSMutableArray *all_saver_views = NULL;
 
 - (id)initWithFrame:(NSRect)frame isPreview:(BOOL)p
 {
+  NSLog (@"%@: initWithFrame %gx%g+%g+%g, %d", [self blurb],
+         frame.size.width, frame.size.height, frame.origin.x, frame.origin.y,
+         p);
+
   // On macOS 10.15, isPreview is always YES, so if the window is big,
   // assume it should be NO.  Fixed in macOS 11.0.
   if (p && frame.size.width >= 640)
@@ -247,11 +256,10 @@ static NSMutableArray *all_saver_views = NULL;
 
   ya_rand_init (0);
 
-  first_time_p = TRUE;
-
+  preview_p      = p;
+  first_time_p   = TRUE;
   crossfade_mode = CROSSFADE;  // Maybe make this a preference?
-
-  fade_duration = 5;
+  fade_duration  = 5;
 
   NSBundle *nsb = [NSBundle bundleForClass:[self class]];
   NSAssert1 (nsb, @"no bundle for class %@", [self class]);
@@ -309,9 +317,10 @@ static NSMutableArray *all_saver_views = NULL;
   crash_label.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
   [crash_label retain];
 
+#if 0
 # ifndef __OPTIMIZE__
   // Dump the entire resource database.
-  NSLog(@"defaults for %@", name);
+  NSLog (@"%@: defaults for %@", [self blurb], name);
   NSDictionary *d = [[prefs defaults] dictionaryRepresentation];
   for (NSObject *key in [[d allKeys]
                           sortedArrayUsingSelector:@selector(compare:)]) {
@@ -320,6 +329,7 @@ static NSMutableArray *all_saver_views = NULL;
   }
     NSLog (@"---");
 # endif
+#endif
 
 #ifdef VENTURA_KLUDGE
   if (! p) {  // isPreview
@@ -336,6 +346,70 @@ static NSMutableArray *all_saver_views = NULL;
   }
 #endif  // VENTURA_KLUDGE
 
+# ifdef SONOMA_KLUDGE   // Duplicated in XScreenSaverView.m
+
+  /* Oct 2023, macOS 14.0: we get startAnimation on each screen, but
+     stopAnimation is never called, and our process (legacyScreenSaver)
+     never exits.  This means that the screen saver just keeps running
+     forever in the background on an invisible window, burning CPU!
+
+     That invisible window is both 'visible' and 'onActiveSpace', and has
+     no parentWindow, so its invisibility is not detectable.
+
+     However, there is a "com.apple.screensaver.willstop" notification and
+     from that we can intuit that we should send ourselves stopAnimation.
+
+     Except, stopAnimation() isn't great for a couple of reasons:
+
+     First: after a few days, the legacyScreenSaver module might have all
+     250+ screen saver bundles loaded.  Aside from their memory usage and
+     static code, there is also an open file handle for each bundle, and
+     each resource in each bundle.
+
+     Second: somehow, legacyScreenSaver is managing to send animateOneFrame
+     messages to savers that have already been stopped upon previous runs.
+     Maybe it is holding on to old, expired copies of Randomizer and
+     re-running those?  So, screw it, let's just exit() instead.
+
+   */
+  if (!p) {
+    [[NSDistributedNotificationCenter defaultCenter]
+        addObserverForName: @"com.apple.screensaver.willstop"
+                    object: nil
+                     queue: nil
+                usingBlock:^(NSNotification *n) {
+        if ([self isAnimating]) {
+          NSLog (@"%@: received %@", [self blurb], [n name]);
+          [self stopAnimation];
+        } else {
+          NSLog (@"%@: received %@ but already stopped",
+                 [self blurb], [n name]);
+        }
+        NSLog (@"%@: exiting", [self blurb]);
+        [[NSApplication sharedApplication] terminate:self];
+      }];
+
+    // Do it before sleeping as well.  This is redundant, I think.
+    // On macOS 14.0 we *do* receive stopAnimation before suspend, but even
+    // if we didn't, it would just mean that savers would keep running for
+    // a fraction of a second between un-suspend and un-blank.
+    //
+    [[[NSWorkspace sharedWorkspace] notificationCenter]
+        addObserverForName: NSWorkspaceWillSleepNotification
+                    object: nil
+                     queue: nil
+                usingBlock:^(NSNotification *n) {
+        if ([self isAnimating]) {
+          NSLog (@"%@: received %@", [self blurb], [n name]);
+          [self stopAnimation];
+        } else {
+          NSLog (@"%@: received %@ but already stopped",
+                 [self blurb], [n name]);
+        }
+      }];
+  }
+# endif // SONOMA_KLUDGE
+
   return self;
 }
 
@@ -379,7 +453,7 @@ static NSMutableArray *all_saver_views = NULL;
       // only take the first one seen.  $HOME overrides System.
       NSString *o = [seen objectForKey:[name lowercaseString]];
       if (o) {
-        // NSLog(@"omitting %@ for %@", p, o);
+        // NSLog(@"%@: omitting %@ for %@", [self blurb], p, o);
         continue;
       }
 
@@ -388,7 +462,7 @@ static NSMutableArray *all_saver_views = NULL;
       NSString *res = resource_key_for_name (name, FALSE, NULL);
       BOOL disabled = get_boolean (res, prefs);
       if (disabled) {
-        // NSLog(@"disabled: %@", name);
+        // NSLog(@"%@: disabled: %@", [self blurb], name);
       } else {
         [paths_enabled addObject: p];
       }
@@ -397,7 +471,7 @@ static NSMutableArray *all_saver_views = NULL;
     }
 
     if (count)
-      NSLog(@"found %d in %@", count, dir);
+      NSLog(@"%@: found %d in %@", [self blurb], count, dir);
   }
 
   [seen release];
@@ -417,12 +491,26 @@ static NSMutableArray *all_saver_views = NULL;
   BOOL enabled_p = !get_boolean (key, prefs);
   if (!enabled_p && verbose) {
     NSString *desc = [aa objectAtIndex:1];
-    NSLog (@"savers disabled on screen %@ (%@)", key, desc);
+    NSLog (@"%@: savers disabled on %@", [self blurb], desc);
   }
   return enabled_p;
 }
 
 
+- (NSString *) blurb { return [self blurb: self.window]; }
+
+- (NSString *) blurb: (NSWindow *)w
+{
+  NSString *s = @"Randomizer";
+  if (@available (macOS 10.15, *)) {
+    NSString *n = (w && w.screen ? [w.screen localizedName] : nil);
+    if (n && n.length)
+      s = [NSString stringWithFormat: @"%@: %@", s, n];
+  }
+  return s;
+}
+
+
 - (ScreenSaverView *) loadSaverWithFrame:(NSRect)frame
 {
   Class sclass = 0;
@@ -434,11 +522,11 @@ static NSMutableArray *all_saver_views = NULL;
     return nil;
 
   if ([self isPreview]) {
-    NSLog(@"loading built-in saver");
+    NSLog(@"%@: loading built-in saver", [self blurb]);
     sclass = [RandomizerAttractMode class];
   } else {
     if (! [bundle_paths_enabled count]) {
-      // NSLog(@"no savers available");
+      // NSLog(@"@: no savers available", [self blurb]);
       [[NSException exceptionWithName: NSInternalInconsistencyException
                                reason: @"no savers available"
                              userInfo: nil]
@@ -446,7 +534,7 @@ static NSMutableArray *all_saver_views = NULL;
     } else {
       path = [bundle_paths_enabled objectAtIndex:
                (random() % [bundle_paths_enabled count])];
-      NSLog(@"loading saver %@", path);
+      NSLog(@"%@: loading saver %@", [self blurb], path);
       NSBundle *bundle = [NSBundle bundleWithPath:path];
       if (bundle)
         sclass = [bundle principalClass];
@@ -454,7 +542,7 @@ static NSMutableArray *all_saver_views = NULL;
   }
 
   if (! sclass) {
-    //NSLog(@"no class in bundle: %@", path);
+    //NSLog(@"%@: no class in bundle: %@", [self blurb], path);
     [[NSException exceptionWithName: NSInternalInconsistencyException
                              reason: [NSString stringWithFormat: 
                                            @"no class in bundle: %@", path]
@@ -493,7 +581,7 @@ static NSMutableArray *all_saver_views = NULL;
   }
 
   if (! saver2) {
-    //NSLog(@"unable to instantiate: %@", path);
+    //NSLog(@"%@: unable to instantiate: %@", [self blurb], path);
     [[NSException exceptionWithName: NSInternalInconsistencyException
                              reason: [NSString stringWithFormat: 
                                            @"unable to instantiate: %@", path]
@@ -506,9 +594,11 @@ static NSMutableArray *all_saver_views = NULL;
   [saver2 retain];
   [saver2 setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
 
+# ifdef CATCH_SIGNALS
   // XScreenSaverView catches signals in initWithFrame (to log a backtrace)
   // so we have to catch our signals after that.
   [self initSignalHandlers];
+# endif
 
   return saver2;
 }
@@ -517,7 +607,8 @@ static NSMutableArray *all_saver_views = NULL;
 - (void) handleException: (NSException *)e in:(NSObject *)o
 {
   // This will catch calls to abort and exit (via jwxyz_abort) but not SEGV.
-  NSLog (@"Caught exception %@: %@",
+  NSLog (@"%@: Caught exception %@: %@",
+         [self blurb],
          (o ? [o className] : @"<null>"),
          [e reason]);
   [crash_label setStringValue:
@@ -533,46 +624,58 @@ static NSMutableArray *all_saver_views = NULL;
 }
 
 
-// Throwing an exception from a signal handler is a terrible idea, but my
-// thinking was, "it might work, and what's the worst that can happen?
-// We crash anyway?"  Well, it turns out, the exception is caught, the
-// error text shows up on the screen, and after that we're hung and you
-// can't unlock the screen.  So... that's worse.
-//
-// But let's try re-invoking the current process on signal, and just 
-// restarting legacyScreenSaver or whatever from scratch.  Maybe that
-// will work?  Nope.  The re-exec works under SaverTester, but when
-// legacyScreenSaver is re-exec'd with the same args, the savers do
-// not re-launch.
-//
-#if 1
+#ifdef CATCH_SIGNALS
 
 static int saved_argc = 0;
 static char **saved_argv, *saved_execpath;
 
-
 static void
 sighandler (int sig)
 {
   signal (sig, SIG_DFL);
 
-  const char *s = "randomizer caught signal\n";
-  write (fileno (stderr), s, strlen(s));  // no fprintf in signal handler
+  char s[100]; // no fprintf in signal handler
+  strcpy (s, "Randomizer: signal ");
+  strcat (s, sys_signame[sig]);
+  strcat (s, "\n");
+  write (fileno (stderr), s, strlen(s));
 
 # if 0
+  // Throwing an exception from a signal handler is a terrible idea, but my
+  // thinking was, "it might work, and what's the worst that can happen?
+  // We crash anyway?"  Well, it turns out, the exception is caught, the
+  // error text shows up on the screen, and after that we're hung and you
+  // can't unlock the screen.  So... that's worse.
+  //
+  // macOS 14.0 update: throwing the exception no longer hangs, but nor
+  // does it make the error message show up.
+  //
   [[NSException exceptionWithName: NSInternalInconsistencyException
                            reason: [NSString stringWithFormat: @"Signal %s",
                                              sys_signame[sig]]
                          userInfo: nil]
     raise];
-# else
+# elif 0
+  // Ok, let's try re-invoking the current process on signal, and just
+  // restarting legacyScreenSaver or whatever from scratch.  Maybe that
+  // will work?  Nope.  The re-exec works under SaverTester, but when
+  // legacyScreenSaver is re-exec'd with the same args, the savers do
+  // not re-launch.
+  //
   if (saved_argc) {
-    NSLog (@"randomizer: signal: re-executing %s", saved_execpath);
+    NSLog (@"randomizer: signal %s: re-executing %s",
+           sys_signame[sig], saved_execpath);
     execvp (saved_execpath, saved_argv);
     // Somehow after the exec, SIGTERM stops working. So that's great.
-#  undef exit
+#   undef exit
     exit (1);
   }
+# elif 0
+  // Nope, this doesn't work either.
+  system ("open -a ScreenSaverEngine");
+# else
+  // Even this doesn't work.
+  NSLog (@"%s", s);
 # endif
 }
 
@@ -584,9 +687,10 @@ catch_signal (int sig, void (*handler) (int))
   sigemptyset (&a.sa_mask);
   a.sa_flags = SA_NODEFER;
 
-# if 0                         // This isn't working
+# if 0
+  // This should allow us to handle a signal on the main stack instead of
+  // the signal stack, but it doesn't work.
   a.sa_handler = SIG_IGN;
-
   dispatch_source_t src = 
     dispatch_source_create (DISPATCH_SOURCE_TYPE_SIGNAL, sig, 0,
                             dispatch_get_global_queue (0, 0));
@@ -643,17 +747,15 @@ catch_signal (int sig, void (*handler) (int))
 //catch_signal (SIGKILL, sighandler);  // -9 untrappable
   catch_signal (SIGXCPU, sighandler);
   catch_signal (SIGXFSZ, sighandler);
-  NSLog (@"installed signal handlers for %s", saved_execpath);
+  NSLog (@"%@: installed signal handlers for %s", [self blurb], saved_execpath);
   return;
 
  ERR:
   saved_argc = 0;
-  NSLog (@"randomizer: error getting argv");
+  NSLog (@"%@: error getting argv", [self blurb]);
 }
 
-#else
-- (void) initSignalHandlers {}
-#endif
+#endif // CATCH_SIGNALS
 
 
 - (void)unloadSaver:(BOOL)firstp
@@ -662,7 +764,7 @@ catch_signal (int sig, void (*handler) (int))
   cycle_timer = 0;
   ScreenSaverView *ss = (firstp ? saver1 : saver2);
   if (!ss) return;
-  NSLog(@"unloading saver %@", [ss className]);
+  NSLog(@"%@: unloading saver %@", [self blurb], [ss className]);
 
   @try { if ([ss isAnimating]) [ss stopAnimation]; }
   @catch (NSException *e) { [self handleException:e in:ss]; }
@@ -697,12 +799,18 @@ catch_signal (int sig, void (*handler) (int))
     @catch (NSException *e) { [self handleException:e in:nil]; }
 
     if (saver1) {
-      [self addSubview: saver1];
-      saver1.alphaValue = 1;
-      [self.window makeFirstResponder: saver1];
+      @try {
+        [self addSubview: saver1];    // Sometimes gets "invalid GL context"
+        saver1.alphaValue = 1;
+        [self.window makeFirstResponder: saver1];
+      }
+      @catch (NSException *e) {
+        [self handleException:e in:saver1];
+        [self unloadSaver: TRUE];
+      }
     }
-    [self launchCycleTimer];
 
+    [self launchCycleTimer];
 
     break;
 
@@ -735,11 +843,20 @@ catch_signal (int sig, void (*handler) (int))
     }
 
     if (saver1)
-      NSLog(@"crossfade %@ to %@", [saver1 className], [saver2 className]);
+      NSLog(@"%@: crossfade %@ to %@", [self blurb],
+            [saver1 className], [saver2 className]);
     else
-      NSLog(@"fade in %@", [saver2 className]);
+      NSLog(@"%@: fade in %@", [self blurb], [saver2 className]);
 
-    [self addSubview: saver2];
+    @try {
+      [self addSubview: saver2];    // Sometimes gets "invalid GL context"
+    }
+    @catch (NSException *e) {
+      [self handleException:e in:saver2];
+      [self unloadSaver: FALSE];
+      return;
+    }
+    
     saver2.alphaValue = 0;
 
     @try { [saver2 startAnimation]; }
@@ -809,6 +926,14 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void)launchCycleTimer
 {
+  if (cycle_timer) [cycle_timer invalidate];
+  cycle_timer = 0;
+
+  if (! [self isAnimating]) {
+    NSLog (@"%@: not animating, not launching cycle timer", [self blurb]);
+    return;
+  }
+
   // Parse the cycle time out of whatever garbage is in preferences.
   //
   NSObject *o = [[prefs defaults] objectForKey: @CYCLE_TIME];
@@ -847,14 +972,13 @@ catch_signal (int sig, void (*handler) (int))
     if (t2 > max) t2 = max;
     double off = (enabled_screens ? t2 * which_enabled / enabled_screens : 0);
     interval += off;
-    if (off) NSLog(@"screen %d cycle offset: %d sec", which_screen, (int) off);
+    if (off)
+      NSLog (@"%@: screen %d cycle offset: %d sec",
+             [self blurb], which_screen, (int) off);
   }
 
-  if (cycle_timer) [cycle_timer invalidate];
-  cycle_timer = 0;
-
   if (! [self isPreview]) {
-    NSLog(@"cycle_timer %.1f", interval);
+    NSLog (@"%@: cycle_timer %.1f", [self blurb], interval);
     cycle_timer =
       [NSTimer scheduledTimerWithTimeInterval: interval
                                        target: self
@@ -867,11 +991,18 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void)cycleSaver
 {
-  NSLog(@"cycle timer");
   if (cycle_timer) [cycle_timer invalidate];
   cycle_timer = 0;
+
   [crash_label removeFromSuperview];
   [crash_label setStringValue:@""];
+
+  if (! [self isAnimating]) {
+    NSLog (@"%@: not animating, not cycling", [self blurb]);
+    return;
+  }
+
+  NSLog(@"%@: cycle timer", [self blurb]);
   [self fadeSaverOut];
 }
 
@@ -895,6 +1026,16 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void)startAnimation
 {
+  if ([self isAnimating]) {
+    NSLog (@"%@: startAnimation called while animating", [self blurb]);
+    return;
+    // [self stopAnimation];
+  } else {
+    NSLog (@"%@: startAnimation", [self blurb]);
+  }
+
+  animating_p = TRUE;
+
   // Do the initial load of the saver here rather than in initWithFrame
   // so that we have self.window and check whether this screen is disabled.
   //
@@ -923,6 +1064,13 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void)stopAnimation
 {
+  if ([self isAnimating])
+    NSLog (@"%@: stopAnimation", [self blurb]);
+  else
+    NSLog (@"%@: stopAnimation but already stopped", [self blurb]);
+
+  animating_p = FALSE;
+
   if (cycle_timer) [cycle_timer invalidate];
   cycle_timer = 0;
 
@@ -946,29 +1094,21 @@ catch_signal (int sig, void (*handler) (int))
 }
 
 
-- (BOOL)isAnimating
-{
-  BOOL a = FALSE;
-  if      (saver1) a = [saver1 isAnimating];
-  else if (saver2) a = [saver2 isAnimating];
-  return a;
-}
-
-
-- (BOOL)isPreview
-{
-  BOOL p = [super isPreview];
-  if      (saver1) p = [saver1 isPreview];
-  else if (saver2) p = [saver2 isPreview];
-  return p;
-}
+// Originally this just returned whether either saver1 or saver2 was
+// animating, but since, as of macOS 14.0, legacyScreenSaver never exits,
+// we need to track whether we *should* be animating instead, or there
+// can be a race with crossfades that results in savers running when they
+// should be dead.
+//
+- (BOOL) isAnimating { return animating_p; }
+- (BOOL) isPreview   { return preview_p;   }
 
 
 - (void)animateOneFrame
 {
 #if 0
   if (! (random() % 2000)) {
-    NSLog(@"randomizer: BOOM ####");
+    NSLog(@"%@: BOOM ####", [self blurb]);
     // int x = 123; char segv = * ((char *)x);
     #undef abort
     abort();
@@ -1004,12 +1144,13 @@ catch_signal (int sig, void (*handler) (int))
 
    June 2023, macOS 13.4: On a system with 3 screens, initWithFrame is called
    on every screen, but viewDidMoveToWindow is called only on screen 3 -- but
-   that screen's view has the frame of screen 0!  So we get only one saver
+   that screen's view has the frame of screen 1!  So we get only one saver
    running, and it is the wrong size.  We detect and correct this insanity
    with the VENTURA_KLUDGE stuff.
  */
 - (void) viewDidMoveToWindow
 {
+  NSLog (@"%@: viewDidMoveToWindow", [self blurb]);
   if (self.window &&
       self.window.frame.size.width  > 0 &&
       self.window.frame.size.height > 0)
@@ -1018,6 +1159,7 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void) viewWillMoveToWindow:(NSWindow *)window
 {
+  NSLog (@"%@: viewWillMoveToWindow", [self blurb: window]);
   if (window == nil)
     [self stopAnimation];
 }
@@ -1052,8 +1194,8 @@ catch_signal (int sig, void (*handler) (int))
     }
 
     if (!v) {
-      NSLog (@"%s: screen %d %gx%g+%g+%g had no saver view",
-             tag, i,
+      NSLog (@"%@: %s: screen %d %gx%g+%g+%g had no saver view",
+             [self blurb], tag, i,
              w.frame.size.width, w.frame.size.height,
              w.frame.origin.x,   w.frame.origin.y);
     } else {
@@ -1064,17 +1206,17 @@ catch_signal (int sig, void (*handler) (int))
           v.frame.size.height == target.size.height &&
           v.frame.origin.x    == target.origin.x    &&
           v.frame.origin.y    == target.origin.y) {
-        NSLog (@"%s: screen %d %gx%g+%g+%g had correct view frame"
+        NSLog (@"%@: %s: screen %d %gx%g+%g+%g had correct view frame"
                " %gx%g+%g+%g",
-               tag, i,
+               [self blurb], tag, i,
                w.frame.size.width, w.frame.size.height,
                w.frame.origin.x,   w.frame.origin.y,
                target.size.width,  target.size.height,
                target.origin.x,    target.origin.y);
       } else {
-        NSLog (@"%s: screen %d %gx%g+%g+%g had view frame"
+        NSLog (@"%@: %s: screen %d %gx%g+%g+%g had view frame"
                " %gx%g+%g+%g instead of %gx%g+%g+%g",
-               tag, i,
+               [self blurb], tag, i,
                w.frame.size.width, w.frame.size.height,
                w.frame.origin.x,   w.frame.origin.y,
                v.frame.size.width, v.frame.size.height,
@@ -1106,8 +1248,8 @@ catch_signal (int sig, void (*handler) (int))
       for (NSView *v1 in all_saver_views) {
         if (!v1.window) {
           v = v1;
-          NSLog (@"%s: screen %d %gx%g+%g+%g: attaching saver view",
-                 tag, i,
+          NSLog (@"%@: %s: screen %d %gx%g+%g+%g: attaching saver view",
+                 [self blurb], tag, i,
                  w.frame.size.width, w.frame.size.height,
                  w.frame.origin.x,   w.frame.origin.y);
           attached_p = TRUE;
@@ -1128,9 +1270,9 @@ catch_signal (int sig, void (*handler) (int))
           v.frame.origin.x    != target.origin.x    ||
           v.frame.origin.y    != target.origin.y) {
         if (!attached_p)
-          NSLog (@"%s: screen %d %gx%g+%g+%g: correcting frame: "
+          NSLog (@"%@: %s: screen %d %gx%g+%g+%g: correcting frame: "
                  "%gx%g+%g+%g => %gx%g+%g+%g",
-                 tag, i,
+                 [self blurb], tag, i,
                  w.frame.size.width, w.frame.size.height,
                  w.frame.origin.x,   w.frame.origin.y,
                  v.frame.size.width, v.frame.size.height,
@@ -1168,6 +1310,7 @@ catch_signal (int sig, void (*handler) (int))
 
 - (void) dealloc
 {
+  NSLog (@"%@: dealloc", [self blurb]);
   [self unloadSaver: TRUE];
   [self unloadSaver: FALSE];
   [crash_label release];
index fe88e0e259ccb1c00f8f111763dadc8c01a85794..5ad6c76f2bdd37a2fc1ed5032c23aadcb6e5cdb1 100644 (file)
@@ -17,7 +17,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSMinimumSystemVersion</key>
        <string>${MACOSX_DEPLOYMENT_TARGET}</string>
        <key>NSPrincipalClass</key>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
 </dict>
 </plist>
index 30f0b7b5ca283ad2543fb48467075dacc1fe3b9e..79e6afaf7e8703537a80ad5d19a9943dece9b3d4 100644 (file)
@@ -34,6 +34,7 @@
 #import "SaverListController.h"
 #import "XScreenSaverGLView.h"
 #import "yarandom.h"
+#import "nslog.h"
 
 #ifdef HAVE_IPHONE
 
   [self aboutOff:TRUE];  // It does goofy things if we rotate while it's up
 
 # if 1
-  NSLog(@"## orient");
   [CATransaction commit];
   [_saverView orientationChanged];
   return;
   [coordinator animateAlongsideTransition:^
                (id <UIViewControllerTransitionCoordinatorContext> context) {
     // This executes repeatedly during the rotation.
-NSLog(@"## animate %@", context);
   } completion:^(id <UIViewControllerTransitionCoordinatorContext> context) {
-NSLog(@"## completion %@", context);
     // This executes once when the rotation has finished.
     [CATransaction commit];
     [_saverView orientationChanged];
   }];
   // No code goes here, as it would execute before the above completes.
-
-  NSLog(@"## queued = %d", queued);
-
 }
 
 /* Not called
@@ -1131,9 +1126,12 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str)
                      stringByDeletingLastPathComponent]];
 
   // Finally, look in standard MacOS screensaver directories.
-//  [dirs addObject: @"~/Library/Screen Savers"];
-//  [dirs addObject: @"/Library/Screen Savers"];
-//  [dirs addObject: @"/System/Library/Screen Savers"];
+//  [dirs addObject: [@"~/Library/Screen Savers" 
+//                     stringByExpandingTildeInPath]];
+//  [dirs addObject: [@"/Library/Screen Savers"
+//                     stringByExpandingTildeInPath]];
+//  [dirs addObject: [@"/System/Library/Screen Savers"
+//                     stringByExpandingTildeInPath]];
 
 # else  // HAVE_IPHONE
 
@@ -1605,7 +1603,7 @@ FAIL:
 
   // If there's only one saver, run that.
   if (!forced && [saverNames count] == 1)
-    forced = [[saverNames allValues] objectAtIndex:0];
+    forced = [[saverNames allKeys] objectAtIndex:0];
 
 # ifdef HAVE_IPHONE
   NSString *prev = [prefs stringForKey:@"selectedSaverName"];
index 64d551ae9e3d322a4a7e36c85833cbc719b717cc..8df2256de40f1b52bf586c1bc7a179a62c0b9981 100644 (file)
@@ -17,7 +17,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSMinimumSystemVersion</key>
        <string>${MACOSX_DEPLOYMENT_TARGET}</string>
        <key>NSPrincipalClass</key>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSMainNibFile</key>
        <string>SaverRunner</string>
        <key>CFBundleIconFile</key>
diff --git a/OSX/Sparkle.framework/Autoupdate b/OSX/Sparkle.framework/Autoupdate
new file mode 120000 (symlink)
index 0000000..1a4fc02
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/Autoupdate
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Updater.app b/OSX/Sparkle.framework/Updater.app
new file mode 120000 (symlink)
index 0000000..18f3223
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/Updater.app
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h
deleted file mode 100644 (file)
index 41cd574..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-//  SPUDownloadData.h
-//  Sparkle
-//
-//  Created by Mayur Pawashe on 8/10/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-
-#import "SUExport.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*!
- * A class for containing downloaded data along with some information about it.
- */
-SU_EXPORT @interface SPUDownloadData : NSObject <NSSecureCoding>
-
-- (instancetype)initWithData:(NSData *)data textEncodingName:(NSString * _Nullable)textEncodingName MIMEType:(NSString * _Nullable)MIMEType;
-
-/*!
- * The raw data that was downloaded.
- */
-@property (nonatomic, readonly) NSData *data;
-
-/*!
- * The IANA charset encoding name if available. Eg: "utf-8"
- */
-@property (nonatomic, readonly, nullable, copy) NSString *textEncodingName;
-
-/*!
- * The MIME type if available. Eg: "text/plain"
- */
-@property (nonatomic, readonly, nullable, copy) NSString *MIMEType;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloader.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloader.h
deleted file mode 100644 (file)
index 5eee9bd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-//  SPUDownloader.h
-//  Downloader
-//
-//  Created by Mayur Pawashe on 4/1/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SPUDownloaderProtocol.h"
-
-@protocol SPUDownloaderDelegate;
-
-// This object implements the protocol which we have defined. It provides the actual behavior for the service. It is 'exported' by the service to make it available to the process hosting the service over an NSXPCConnection.
-@interface SPUDownloader : NSObject <SPUDownloaderProtocol>
-
-// Due to XPC remote object reasons, this delegate is strongly referenced
-// Invoke cleanup when done with this instance
-- (instancetype)initWithDelegate:(id <SPUDownloaderDelegate>)delegate;
-
-@end
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h
deleted file mode 100644 (file)
index 76e7e75..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-//  SPUDownloaderDelegate.h
-//  Sparkle
-//
-//  Created by Mayur Pawashe on 4/1/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class SPUDownloadData;
-
-@protocol SPUDownloaderDelegate <NSObject>
-
-// This is only invoked for persistent downloads
-- (void)downloaderDidSetDestinationName:(NSString *)destinationName temporaryDirectory:(NSString *)temporaryDirectory;
-
-// Under rare cases, this may be called more than once, in which case the current progress should be reset back to 0
-// This is only invoked for persistent downloads
-- (void)downloaderDidReceiveExpectedContentLength:(int64_t)expectedContentLength;
-
-// This is only invoked for persistent downloads
-- (void)downloaderDidReceiveDataOfLength:(uint64_t)length;
-
-// downloadData is nil if this is a persisent download, otherwise it's non-nil if it's a temporary download
-- (void)downloaderDidFinishWithTemporaryDownloadData:(SPUDownloadData * _Nullable)downloadData;
-
-- (void)downloaderDidFailWithError:(NSError *)error;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h
deleted file mode 100644 (file)
index ebe477f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-//  SPUDownloaderProtocol.h
-//  PersistentDownloader
-//
-//  Created by Mayur Pawashe on 4/1/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class SPUURLRequest;
-
-// The protocol that this service will vend as its API. This header file will also need to be visible to the process hosting the service.
-@protocol SPUDownloaderProtocol
-
-- (void)startPersistentDownloadWithRequest:(SPUURLRequest *)request bundleIdentifier:(NSString *)bundleIdentifier desiredFilename:(NSString *)desiredFilename;
-
-- (void)startTemporaryDownloadWithRequest:(SPUURLRequest *)request;
-
-- (void)downloadDidFinish;
-
-- (void)cleanup;
-
-- (void)cancel;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h
deleted file mode 100644 (file)
index 4bde75a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-//  SPUDownloaderSession.h
-//  Sparkle
-//
-//  Created by Deadpikle on 12/20/17.
-//  Copyright © 2017 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SPUDownloader.h"
-#import "SPUDownloaderProtocol.h"
-
-NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0)
-@interface SPUDownloaderSession : SPUDownloader <SPUDownloaderProtocol>
-
-@end
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h b/OSX/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h
deleted file mode 100644 (file)
index 6949614..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  SPUURLRequest.h
-//  Sparkle
-//
-//  Created by Mayur Pawashe on 5/19/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-
-NS_ASSUME_NONNULL_BEGIN
-
-// A class that wraps NSURLRequest and implements NSSecureCoding
-// This class exists because NSURLRequest did not support NSSecureCoding in macOS 10.8
-// I have not verified if NSURLRequest in 10.9 implements NSSecureCoding or not
-@interface SPUURLRequest : NSObject <NSSecureCoding>
-
-// Creates a new URL request
-// Only these properties are currently tracked:
-// * URL
-// * Cache policy
-// * Timeout interval
-// * HTTP header fields
-// * networkServiceType
-+ (instancetype)URLRequestWithRequest:(NSURLRequest *)request;
-
-@property (nonatomic, readonly) NSURLRequest *request;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h
deleted file mode 100644 (file)
index d807b93..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-//  SUAppcast.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 3/12/06.
-//  Copyright 2006 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SUAPPCAST_H
-#define SUAPPCAST_H
-
-#import <Foundation/Foundation.h>
-#import "SUExport.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class SUAppcastItem;
-SU_EXPORT @interface SUAppcast : NSObject
-
-@property (copy, nullable) NSString *userAgentString;
-@property (copy, nullable) NSDictionary<NSString *, NSString *> *httpHeaders;
-
-- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err;
-- (SUAppcast *)copyWithoutDeltaUpdates;
-
-@property (readonly, copy, nullable) NSArray *items;
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
deleted file mode 100644 (file)
index 77bcb1f..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-//  SUAppcastItem.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 3/12/06.
-//  Copyright 2006 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SUAPPCASTITEM_H
-#define SUAPPCASTITEM_H
-
-#if __has_feature(modules)
-#if __has_warning("-Watimport-in-framework-header")
-#pragma clang diagnostic ignored "-Watimport-in-framework-header"
-#endif
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-@class SUSignatures;
-
-SU_EXPORT @interface SUAppcastItem : NSObject
-@property (copy, readonly) NSString *title;
-@property (copy, readonly) NSString *dateString;
-@property (copy, readonly) NSDate *date;
-@property (copy, readonly) NSString *itemDescription;
-@property (strong, readonly) NSURL *releaseNotesURL;
-@property (strong, readonly) SUSignatures *signatures;
-@property (copy, readonly) NSString *minimumSystemVersion;
-@property (copy, readonly) NSString *maximumSystemVersion;
-@property (strong, readonly) NSURL *fileURL;
-@property (nonatomic, readonly) uint64_t contentLength;
-@property (copy, readonly) NSString *versionString;
-@property (copy, readonly) NSString *osString;
-@property (copy, readonly) NSString *displayVersionString;
-@property (copy, readonly) NSDictionary *deltaUpdates;
-@property (strong, readonly) NSURL *infoURL;
-@property (copy, readonly) NSNumber* phasedRolloutInterval;
-@property (copy, readonly) NSString *minimumAutoupdateVersion;
-
-// Initializes with data from a dictionary provided by the RSS class.
-- (instancetype)initWithDictionary:(NSDictionary *)dict;
-- (instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString **)error;
-
-@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
-@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
-@property (getter=isMacOsUpdate, readonly) BOOL macOsUpdate;
-@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;
-
-// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
-@property (readonly, copy) NSDictionary *propertiesDictionary;
-
-- (NSURL *)infoURL;
-
-@end
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h b/OSX/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h
deleted file mode 100644 (file)
index 3756a37..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-//  SUCodeSigningVerifier.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 7/5/12.
-//
-//
-
-#ifndef SUCODESIGNINGVERIFIER_H
-#define SUCODESIGNINGVERIFIER_H
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-
-SU_EXPORT @interface SUCodeSigningVerifier : NSObject
-+ (BOOL)codeSignatureAtBundleURL:(NSURL *)oldBundlePath matchesSignatureAtBundleURL:(NSURL *)newBundlePath error:(NSError  **)error;
-+ (BOOL)codeSignatureIsValidAtBundleURL:(NSURL *)bundlePath error:(NSError **)error;
-+ (BOOL)bundleAtURLIsCodeSigned:(NSURL *)bundlePath;
-+ (NSDictionary *)codeSignatureInfoAtBundleURL:(NSURL *)bundlePath;
-@end
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUErrors.h b/OSX/Sparkle.framework/Versions/A/Headers/SUErrors.h
deleted file mode 100644 (file)
index 4d00f84..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-//  SUErrors.h
-//  Sparkle
-//
-//  Created by C.W. Betts on 10/13/14.
-//  Copyright (c) 2014 Sparkle Project. All rights reserved.
-//
-
-#ifndef SUERRORS_H
-#define SUERRORS_H
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-
-/**
- * Error domain used by Sparkle
- */
-SU_EXPORT extern NSString *const SUSparkleErrorDomain;
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wc++98-compat"
-typedef NS_ENUM(OSStatus, SUError) {
-    // Appcast phase errors.
-    SUAppcastParseError = 1000,
-    SUNoUpdateError = 1001,
-    SUAppcastError = 1002,
-    SURunningFromDiskImageError = 1003,
-    SURunningTranslocated = 1004,
-    SUWebKitTerminationError = 1005,
-
-    // Download phase errors.
-    SUTemporaryDirectoryError = 2000,
-    SUDownloadError = 2001,
-
-    // Extraction phase errors.
-    SUUnarchivingError = 3000,
-    SUSignatureError = 3001,
-    
-    // Installation phase errors.
-    SUFileCopyFailure = 4000,
-    SUAuthenticationFailure = 4001,
-    SUMissingUpdateError = 4002,
-    SUMissingInstallerToolError = 4003,
-    SURelaunchError = 4004,
-    SUInstallationError = 4005,
-    SUDowngradeError = 4006,
-    SUInstallationCancelledError = 4007,
-    
-    // System phase errors
-    SUSystemPowerOffError = 5000
-};
-#pragma clang diagnostic pop
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUExport.h b/OSX/Sparkle.framework/Versions/A/Headers/SUExport.h
deleted file mode 100644 (file)
index 3e3f8a1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-//  SUExport.h
-//  Sparkle
-//
-//  Created by Jake Petroules on 2014-08-23.
-//  Copyright (c) 2014 Sparkle Project. All rights reserved.
-//
-
-#ifndef SUEXPORT_H
-#define SUEXPORT_H
-
-#ifdef BUILDING_SPARKLE
-#define SU_EXPORT __attribute__((visibility("default")))
-#else
-#define SU_EXPORT
-#endif
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h b/OSX/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h
deleted file mode 100644 (file)
index ed11921..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-//  SUStandardVersionComparator.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 12/21/07.
-//  Copyright 2007 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SUSTANDARDVERSIONCOMPARATOR_H
-#define SUSTANDARDVERSIONCOMPARATOR_H
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-#import "SUVersionComparisonProtocol.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*!
-    Sparkle's default version comparator.
-
-    This comparator is adapted from MacPAD, by Kevin Ballard.
-    It's "dumb" in that it does essentially string comparison,
-    in components split by character type.
-*/
-SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
-
-/*!
-    Initializes a new instance of the standard version comparator.
- */
-- (instancetype)init;
-
-/*!
-    Returns a singleton instance of the comparator.
-    It is usually preferred to alloc/init new a comparator instead.
-*/
-+ (SUStandardVersionComparator *)defaultComparator;
-
-/*!
-    Compares version strings through textual analysis.
-
-    See the implementation for more details.
-*/
-- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
-@end
-
-NS_ASSUME_NONNULL_END
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h
deleted file mode 100644 (file)
index 45cd984..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-//
-//  SUUpdater.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 1/4/06.
-//  Copyright 2006 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SUUPDATER_H
-#define SUUPDATER_H
-
-#if __has_feature(modules)
-@import Cocoa;
-#else
-#import <Cocoa/Cocoa.h>
-#endif
-#import "SUExport.h"
-#import "SUVersionComparisonProtocol.h"
-#import "SUVersionDisplayProtocol.h"
-
-@class SUAppcastItem, SUAppcast;
-
-@protocol SUUpdaterDelegate;
-
-/*!
-    The main API in Sparkle for controlling the update mechanism.
-
-    This class is used to configure the update paramters as well as manually
-    and automatically schedule and control checks for updates.
- */
-SU_EXPORT @interface SUUpdater : NSObject
-
-@property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate;
-
-/*!
- The shared updater for the main bundle.
- This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle:
- */
-+ (SUUpdater *)sharedUpdater;
-
-/*!
- The shared updater for a specified bundle.
-
- If an updater has already been initialized for the provided bundle, that shared instance will be returned.
- */
-+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
-
-/*!
- Designated initializer for SUUpdater.
- If an updater has already been initialized for the provided bundle, that shared instance will be returned.
- */
-- (instancetype)initForBundle:(NSBundle *)bundle;
-
-/*!
- Explicitly checks for updates and displays a progress dialog while doing so.
-
- This method is meant for a main menu item.
- Connect any menu item to this action in Interface Builder,
- and Sparkle will check for updates and report back its findings verbosely
- when it is invoked.
-
- This will find updates that the user has opted into skipping.
- */
-- (IBAction)checkForUpdates:(id)sender;
-
-/*!
- The menu item validation used for the -checkForUpdates: action
- */
-- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
-
-/*!
- Checks for updates, but does not display any UI unless an update is found.
-
- This is meant for programmatically initating a check for updates. That is,
- it will display no UI unless it actually finds an update, in which case it
- proceeds as usual.
-
- If automatic downloading of updates it turned on and allowed, however,
- this will invoke that behavior, and if an update is found, it will be downloaded
- in the background silently and will be prepped for installation.
-
- This will not find updates that the user has opted into skipping.
- */
-- (void)checkForUpdatesInBackground;
-
-/*!
- A property indicating whether or not to check for updates automatically.
-
- Setting this property will persist in the host bundle's user defaults.
- The update schedule cycle will be reset in a short delay after the property's new value is set.
- This is to allow reverting this property without kicking off a schedule change immediately
- */
-@property BOOL automaticallyChecksForUpdates;
-
-/*!
- A property indicating whether or not updates can be automatically downloaded in the background.
-
- Note that automatic downloading of updates can be disallowed by the developer
- or by the user's system if silent updates cannot be done (eg: if they require authentication).
- In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set.
-
- Setting this property will persist in the host bundle's user defaults.
- */
-@property BOOL automaticallyDownloadsUpdates;
-
-/*!
- A property indicating the current automatic update check interval.
-
- Setting this property will persist in the host bundle's user defaults.
- The update schedule cycle will be reset in a short delay after the property's new value is set.
- This is to allow reverting this property without kicking off a schedule change immediately
- */
-@property NSTimeInterval updateCheckInterval;
-
-/*!
- Begins a "probing" check for updates which will not actually offer to
- update to that version.
-
- However, the delegate methods
- SUUpdaterDelegate::updater:didFindValidUpdate: and
- SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
- so you can use that information in your UI.
-
- Updates that have been skipped by the user will not be found.
- */
-- (void)checkForUpdateInformation;
-
-/*!
- The URL of the appcast used to download update information.
-
- Setting this property will persist in the host bundle's user defaults.
- If you don't want persistence, you may want to consider instead implementing
- SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
-
- This property must be called on the main thread.
- */
-@property (copy) NSURL *feedURL;
-
-/*!
- The host bundle that is being updated.
- */
-@property (readonly, strong) NSBundle *hostBundle;
-
-/*!
- The bundle this class (SUUpdater) is loaded into.
- */
-@property (strong, readonly) NSBundle *sparkleBundle;
-
-/*!
- The user agent used when checking for and downloading updates.
-
- The default implementation can be overrided.
- */
-@property (nonatomic, copy) NSString *userAgentString;
-
-/*!
- The HTTP headers used when checking for and downloading updates.
-
- The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString)
- */
-@property (copy) NSDictionary<NSString *, NSString *> *httpHeaders;
-
-/*!
- A property indicating whether or not the user's system profile information is sent when checking for updates.
-
- Setting this property will persist in the host bundle's user defaults.
- */
-@property BOOL sendsSystemProfile;
-
-/*!
- A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg)
- */
-@property (nonatomic, copy) NSString *decryptionPassword;
-
-/*!
-    This function ignores normal update schedule, ignores user preferences,
-    and interrupts users with an unwanted immediate app update.
-
-    WARNING: this function should not be used in regular apps. This function
-    is a user-unfriendly hack only for very special cases, like unstable
-    rapidly-changing beta builds that would not run correctly if they were
-    even one day out of date.
-
-    Instead of this function you should set `SUAutomaticallyUpdate` to `YES`,
-    which will gracefully install updates when the app quits.
-
-    For UI-less/daemon apps that aren't usually quit, instead of this function,
-    you can use the delegate method
-    SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation:
-    or
-    SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationBlock:
-    to immediately start installation when an update was found.
-
-    A progress dialog is shown but the user will never be prompted to read the
-    release notes.
-
-    This function will cause update to be downloaded twice if automatic updates are
-    enabled.
-
-    You may want to respond to the userDidCancelDownload delegate method in case
-    the user clicks the "Cancel" button while the update is downloading.
- */
-- (void)installUpdatesIfAvailable __attribute__((deprecated("This method is deprecated. Please set SUAutomaticallyUpdate in your Info.plist or use automaticallyDownloadsUpdates property instead.")));
-
-/*!
-    Returns the date of last update check.
-
-    \returns \c nil if no check has been performed.
- */
-@property (readonly, copy) NSDate *lastUpdateCheckDate;
-
-/*!
-    Appropriately schedules or cancels the update checking timer according to
-    the preferences for time interval and automatic checks.
-
-    This call does not change the date of the next check,
-    but only the internal NSTimer.
- */
-- (void)resetUpdateCycle;
-
-/*!
-   A property indicating whether or not an update is in progress.
-
-   Note this property is not indicative of whether or not user initiated updates can be performed.
-   Use SUUpdater::validateMenuItem: for that instead.
- */
-@property (readonly) BOOL updateInProgress;
-
-@end
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h b/OSX/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h
deleted file mode 100644 (file)
index ec844d0..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-//
-//  SUUpdaterDelegate.h
-//  Sparkle
-//
-//  Created by Mayur Pawashe on 12/25/16.
-//  Copyright © 2016 Sparkle Project. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-
-#import "SUExport.h"
-
-@protocol SUVersionComparison, SUVersionDisplay;
-@class SUUpdater, SUAppcast, SUAppcastItem;
-
-NS_ASSUME_NONNULL_BEGIN
-
-// -----------------------------------------------------------------------------
-// SUUpdater Notifications for events that might be interesting to more than just the delegate
-// The updater will be the notification object
-// -----------------------------------------------------------------------------
-SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
-SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
-SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
-SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
-#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
-#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
-
-// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
-SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
-// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
-SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
-
-// -----------------------------------------------------------------------------
-// SUUpdater Delegate:
-// -----------------------------------------------------------------------------
-
-/*!
- Provides methods to control the behavior of an SUUpdater object.
- */
-@protocol SUUpdaterDelegate <NSObject>
-@optional
-
-/*!
- Returns whether to allow Sparkle to pop up.
- For example, this may be used to prevent Sparkle from interrupting a setup assistant.
- \param updater The SUUpdater instance.
- */
-- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
-
-/*!
- Returns additional parameters to append to the appcast URL's query string.
- This is potentially based on whether or not Sparkle will also be sending along the system profile.
- \param updater The SUUpdater instance.
- \param sendingProfile Whether the system profile will also be sent.
- \return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
- */
-- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
-
-/*!
- Returns a custom appcast URL.
- Override this to dynamically specify the entire URL.
- An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
- and let the server handle what kind of feed to provide.
- \param updater The SUUpdater instance.
- */
-- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
-
-/*!
- Returns whether Sparkle should prompt the user about automatic update checks.
- Use this to override the default behavior.
- \param updater The SUUpdater instance.
- */
-- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
-
-/*!
- Called after Sparkle has downloaded the appcast from the remote server.
- Implement this if you want to do some special handling with the appcast once it finishes loading.
- \param updater The SUUpdater instance.
- \param appcast The appcast that was downloaded from the remote server.
- */
-- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
-
-/*!
- Returns the item in the appcast corresponding to the update that should be installed.
- If you're using special logic or extensions in your appcast,
- implement this to use your own logic for finding a valid update, if any,
- in the given appcast.
- \param appcast The appcast that was downloaded from the remote server.
- \param updater The SUUpdater instance.
- */
-- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
-
-/*!
- Called when a valid update is found by the update driver.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
-
-/*!
- Called just before the scheduled update driver prompts the user to install an update.
-
- \param updater The SUUpdater instance.
-
- \return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it.
- */
-- (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item;
-
-/*!
- Called after the user dismisses the update alert.
-
- \param updater The SUUpdater instance.
- \param permanently YES if the alert will not appear again for this update; NO if it may reappear.
- */
-- (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item;
-
-/*!
- Called when a valid update is not found.
- \param updater The SUUpdater instance.
- */
-- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
-
-/*!
- Called when the user clicks the Skip This Version button.
- \param updater The SUUpdater instance.
- */
-- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item;
-
-/*!
- Called immediately before downloading the specified update.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be downloaded.
- \param request The mutable URL request that will be used to download the update.
- */
-- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
-
-/*!
- Called immediately after succesfull download of the specified update.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that has been downloaded.
- */
-- (void)updater:(SUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item;
-
-/*!
- Called after the specified update failed to download.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that failed to download.
- \param error The error generated by the failed download.
- */
-- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
-
-/*!
- Called when the user clicks the cancel button while and update is being downloaded.
- \param updater The SUUpdater instance.
- */
-- (void)userDidCancelDownload:(SUUpdater *)updater;
-
-/*!
- Called immediately before extracting the specified downloaded update.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be extracted.
- */
-- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item;
-
-/*!
- Called immediately after extracting the specified downloaded update.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that has been extracted.
- */
-- (void)updater:(SUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item;
-
-/*!
- Called immediately before installing the specified update.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
-
-/*!
- Returns whether the relaunch should be delayed in order to perform other tasks.
- This is not called if the user didn't relaunch on the previous update,
- in that case it will immediately restart.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
- \param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch.
- \return \c YES to delay the relaunch until \p invocation is invoked.
- */
-- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
-
-/*!
- Returns whether the relaunch should be delayed in order to perform other tasks.
-
- This is not called if the user didn't relaunch on the previous update,
- in that case it will immediately restart.
-
- This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments.
-
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
-
- \return \c YES to delay the relaunch.
- */
-- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item;
-
-/*!
- Returns whether the application should be relaunched at all.
- Some apps \b cannot be relaunched under certain circumstances.
- This method can be used to explicitly prevent a relaunch.
- \param updater The SUUpdater instance.
- */
-- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
-
-/*!
- Called immediately before relaunching.
- \param updater The SUUpdater instance.
- */
-- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
-
-/*!
- Called immediately after relaunching. SUUpdater delegate must be set before applicationDidFinishLaunching: to catch this event.
- \param updater The SUUpdater instance.
- */
-- (void)updaterDidRelaunchApplication:(SUUpdater *)updater;
-
-/*!
- Returns an object that compares version numbers to determine their arithmetic relation to each other.
- This method allows you to provide a custom version comparator.
- If you don't implement this method or return \c nil,
- the standard version comparator will be used.
- \sa SUStandardVersionComparator
- \param updater The SUUpdater instance.
- */
-- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
-
-/*!
- Returns an object that formats version numbers for display to the user.
- If you don't implement this method or return \c nil,
- the standard version formatter will be used.
- \sa SUUpdateAlert
- \param updater The SUUpdater instance.
- */
-- (nullable id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
-
-/*!
- Returns the path which is used to relaunch the client after the update is installed.
- The default is the path of the host bundle.
- \param updater The SUUpdater instance.
- */
-- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
-
-/*!
- Called before an updater shows a modal alert window,
- to give the host the opportunity to hide attached windows that may get in the way.
- \param updater The SUUpdater instance.
- */
-- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
-
-/*!
- Called after an updater shows a modal alert window,
- to give the host the opportunity to hide attached windows that may get in the way.
- \param updater The SUUpdater instance.
- */
-- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
-
-/*!
- Called when an update is scheduled to be silently installed on quit.
- This is after an update has been automatically downloaded in the background.
- (i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
- \param invocation Can be used to trigger an immediate silent install and relaunch.
- */
-- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
-
-/*!
- Called when an update is scheduled to be silently installed on quit.
- This is after an update has been automatically downloaded in the background.
- (i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
- This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments.
-
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that is proposed to be installed.
- \param installationBlock Can be used to trigger an immediate silent install and relaunch.
- */
-- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))installationBlock;
-
-/*!
- Calls after an update that was scheduled to be silently installed on quit has been canceled.
- \param updater The SUUpdater instance.
- \param item The appcast item corresponding to the update that was proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
-
-/*!
- Called after an update is aborted due to an error.
- \param updater The SUUpdater instance.
- \param error The error that caused the abort
- */
-- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h b/OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
deleted file mode 100644 (file)
index c654fc4..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-//  SUVersionComparisonProtocol.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 12/21/07.
-//  Copyright 2007 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SUVERSIONCOMPARISONPROTOCOL_H
-#define SUVERSIONCOMPARISONPROTOCOL_H
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*!
-    Provides version comparison facilities for Sparkle.
-*/
-@protocol SUVersionComparison
-
-/*!
-    An abstract method to compare two version strings.
-
-    Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a,
-    and NSOrderedSame if they are equivalent.
-*/
-- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD!
-
-@end
-
-NS_ASSUME_NONNULL_END
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h b/OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h
deleted file mode 100644 (file)
index 980efb3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-//  SUVersionDisplayProtocol.h
-//  EyeTV
-//
-//  Created by Uli Kusterer on 08.12.09.
-//  Copyright 2009 Elgato Systems GmbH. All rights reserved.
-//
-
-#if __has_feature(modules)
-@import Foundation;
-#else
-#import <Foundation/Foundation.h>
-#endif
-#import "SUExport.h"
-
-/*!
-    Applies special display formatting to version numbers.
-*/
-@protocol SUVersionDisplay
-
-/*!
-    Formats two version strings.
-
-    Both versions are provided so that important distinguishing information
-    can be displayed while also leaving out unnecessary/confusing parts.
-*/
-- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB;
-
-@end
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h b/OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h
deleted file mode 100644 (file)
index 94ad15f..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-//  Sparkle.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
-//  Copyright 2006 Andy Matuschak. All rights reserved.
-//
-
-#ifndef SPARKLE_H
-#define SPARKLE_H
-
-// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
-// there are name-space collisions) so we can list all of them to start with:
-
-#pragma clang diagnostic push
-// Do not use <> style includes since 2.x has two frameworks that need to work: Sparkle and SparkleCore
-#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
-
-#import "SUAppcast.h"
-#import "SUAppcastItem.h"
-#import "SUStandardVersionComparator.h"
-#import "SUUpdater.h"
-#import "SUUpdaterDelegate.h"
-#import "SUVersionComparisonProtocol.h"
-#import "SUVersionDisplayProtocol.h"
-#import "SUErrors.h"
-
-#import "SPUDownloader.h"
-#import "SPUDownloaderDelegate.h"
-#import "SPUDownloadData.h"
-#import "SPUDownloaderProtocol.h"
-#import "SPUDownloaderSession.h"
-#import "SPUURLRequest.h"
-#import "SUCodeSigningVerifier.h"
-
-#pragma clang diagnostic pop
-
-#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Modules/module.modulemap b/OSX/Sparkle.framework/Versions/A/Modules/module.modulemap
deleted file mode 100644 (file)
index af3fe6d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module Sparkle {
-  umbrella header "Sparkle.h"
-
-  export *
-  module * { export * }
-}
diff --git a/OSX/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h b/OSX/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h
deleted file mode 100644 (file)
index a52bf5a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-//  SUUnarchiver.h
-//  Sparkle
-//
-//  Created by Andy Matuschak on 3/16/06.
-//  Copyright 2006 Andy Matuschak. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@protocol SUUnarchiverProtocol;
-
-@interface SUUnarchiver : NSObject
-
-+ (nullable id <SUUnarchiverProtocol>)unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist
deleted file mode 100644 (file)
index 9844126..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>BuildMachineOSBuild</key>
-       <string>20G165</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>Autoupdate</string>
-       <key>CFBundleIconFile</key>
-       <string>AppIcon.icns</string>
-       <key>CFBundleIdentifier</key>
-       <string>org.sparkle-project.Sparkle.Autoupdate</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>APPL</string>
-       <key>CFBundleShortVersionString</key>
-       <string>1.27.0</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>MacOSX</string>
-       </array>
-       <key>CFBundleVersion</key>
-       <string>1.102</string>
-       <key>DTCompiler</key>
-       <string>com.apple.compilers.llvm.clang.1_0</string>
-       <key>DTPlatformBuild</key>
-       <string>12E507</string>
-       <key>DTPlatformName</key>
-       <string>macosx</string>
-       <key>DTPlatformVersion</key>
-       <string>11.3</string>
-       <key>DTSDKBuild</key>
-       <string>20E214</string>
-       <key>DTSDKName</key>
-       <string>macosx11.3</string>
-       <key>DTXcode</key>
-       <string>1251</string>
-       <key>DTXcodeBuild</key>
-       <string>12E507</string>
-       <key>LSApplicationCategoryType</key>
-       <string>public.app-category.utilities</string>
-       <key>LSBackgroundOnly</key>
-       <string>1</string>
-       <key>LSMinimumSystemVersion</key>
-       <string>10.9</string>
-       <key>LSUIElement</key>
-       <string>1</string>
-       <key>NSMainNibFile</key>
-       <string>MainMenu</string>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate
deleted file mode 100755 (executable)
index b001175..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop
deleted file mode 100755 (executable)
index e0512d2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo
deleted file mode 100644 (file)
index bd04210..0000000
+++ /dev/null
@@ -1 +0,0 @@
-APPL????
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns
deleted file mode 100644 (file)
index 7f2a571..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 1d70063..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib
deleted file mode 100644 (file)
index 1655dc1..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e00af34..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f2aea27..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings
deleted file mode 100644 (file)
index bc3d41f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e0957c6..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f043527..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 6ef15d4..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 8a083f8..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 773f7c9..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index a9e01b2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ce63fde..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ab8fe1a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings
deleted file mode 100644 (file)
index d30ef64..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 5f6ace2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 5b4be9e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f4685ed..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f008e1e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings
deleted file mode 100644 (file)
index fa4cd97..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 76f3556..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 4444f33..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 2a7ce29..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 18a287e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 967a441..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 28b831d..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 65aa28f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index caaf060..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e7c70db..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 058b4ba..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ffc5767..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 263326c..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 71cf325..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings
deleted file mode 100644 (file)
index b951788..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources
deleted file mode 100644 (file)
index 10824b4..0000000
+++ /dev/null
@@ -1,853 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>files</key>
-       <dict>
-               <key>Resources/AppIcon.icns</key>
-               <data>
-               4McwRDEss5BzWwUMG2Xf93+ze08=
-               </data>
-               <key>Resources/Base.lproj/Sparkle.strings</key>
-               <data>
-               cHZov5FaqzfNhnBo0XdRuTMT4SY=
-               </data>
-               <key>Resources/SUStatus.nib</key>
-               <data>
-               6I4uX0FrluZpgUjoCaB46P/0lY0=
-               </data>
-               <key>Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-       </dict>
-       <key>files2</key>
-       <dict>
-               <key>MacOS/fileop</key>
-               <dict>
-                       <key>cdhash</key>
-                       <data>
-                       3t2O1Li8HPJNk3Eo6D8qW1oP+jI=
-                       </data>
-                       <key>requirement</key>
-                       <string>cdhash H"5277ce2c56b8ebe2e122350f8de5c442d9ab3f11" or cdhash H"dedd8ed4b8bc1cf24d937128e83f2a5b5a0ffa32" or cdhash H"91d174275e1e6fef1c0bd7626af1571f0df219f0" or cdhash H"adc291671c19af670aaec29a2de4d2e33a114478"</string>
-               </dict>
-               <key>Resources/AppIcon.icns</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       4McwRDEss5BzWwUMG2Xf93+ze08=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cHZov5FaqzfNhnBo0XdRuTMT4SY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       39CdfZZ1CQQz1Gd1+Ukxo2JHl0XESoc/cqWKF091WUk=
-                       </data>
-               </dict>
-               <key>Resources/SUStatus.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6I4uX0FrluZpgUjoCaB46P/0lY0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8bmm56+lUnfMv3UQ4n/BaEp7hU1N1Wbur9BWMReUdso=
-                       </data>
-               </dict>
-               <key>Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8q22yKUhfKJVOOXteUQZAVVkhfzPQKzoSJdnVNkDPo8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bA5bxESyZuC/dG2VKfN+eQ7CVb2qAWrwfu94IpJ4Xi0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8PKuKp2lymWYfR+BqJ15UWlxOQKUl3fEveeseHBfaTw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       TwklhrooHTXgV6Q9fbvvAB3mPIh7qDbEsNtUzo2fQuU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +vCWSRbECqQcsR6Nd8erQda/7x+ku/kQSUvZtTvemyQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       zvMbFdgVGI0ls9vIRT+sie7dj2g1UjQu7iS+pOgyBo4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-       </dict>
-       <key>rules</key>
-       <dict>
-               <key>^Resources/</key>
-               <true/>
-               <key>^Resources/.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^Resources/.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Resources/Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^version.plist$</key>
-               <true/>
-       </dict>
-       <key>rules2</key>
-       <dict>
-               <key>.*\.dSYM($|/)</key>
-               <dict>
-                       <key>weight</key>
-                       <real>11</real>
-               </dict>
-               <key>^(.*/)?\.DS_Store$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>2000</real>
-               </dict>
-               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
-               <dict>
-                       <key>nested</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>10</real>
-               </dict>
-               <key>^.*</key>
-               <true/>
-               <key>^Info\.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^PkgInfo$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^Resources/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^Resources/.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^Resources/.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Resources/Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^[^/]+$</key>
-               <dict>
-                       <key>nested</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>10</real>
-               </dict>
-               <key>^embedded\.provisionprofile$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^version\.plist$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-       </dict>
-</dict>
-</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib
deleted file mode 100644 (file)
index 58337ea..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib
deleted file mode 100644 (file)
index 1f1ba51..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdateAlert.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib b/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib
deleted file mode 100644 (file)
index 2eca3a2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
deleted file mode 100644 (file)
index 57f2269..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 1d70063..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/Base.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Info.plist b/OSX/Sparkle.framework/Versions/A/Resources/Info.plist
deleted file mode 100644 (file)
index dd6a9b5..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>BuildMachineOSBuild</key>
-       <string>20G165</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>en</string>
-       <key>CFBundleExecutable</key>
-       <string>Sparkle</string>
-       <key>CFBundleIdentifier</key>
-       <string>org.sparkle-project.Sparkle</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>Sparkle</string>
-       <key>CFBundlePackageType</key>
-       <string>FMWK</string>
-       <key>CFBundleShortVersionString</key>
-       <string>1.27.0</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>MacOSX</string>
-       </array>
-       <key>CFBundleVersion</key>
-       <string>1.102</string>
-       <key>DTCompiler</key>
-       <string>com.apple.compilers.llvm.clang.1_0</string>
-       <key>DTPlatformBuild</key>
-       <string>12E507</string>
-       <key>DTPlatformName</key>
-       <string>macosx</string>
-       <key>DTPlatformVersion</key>
-       <string>11.3</string>
-       <key>DTSDKBuild</key>
-       <string>20E214</string>
-       <key>DTSDKName</key>
-       <string>macosx11.3</string>
-       <key>DTXcode</key>
-       <string>1251</string>
-       <key>DTXcodeBuild</key>
-       <string>12E507</string>
-       <key>LSMinimumSystemVersion</key>
-       <string>10.9</string>
-</dict>
-</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ReleaseNotesColorStyle.css b/OSX/Sparkle.framework/Versions/A/Resources/ReleaseNotesColorStyle.css
deleted file mode 100644 (file)
index ac5dc3f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-@media (prefers-color-scheme: dark) {
-    html {
-        color: white;
-        background: transparent;
-    }
-    :link {
-        color: #419CFF;
-    }
-    :link:active {
-        color: #FF1919;
-    }
-}
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist b/OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
deleted file mode 100644 (file)
index 1f75b24..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>ADP2,1</key>
-       <string>Developer Transition Kit</string>
-       <key>iMac1,1</key>
-       <string>iMac G3 (Rev A-D)</string>
-       <key>iMac4,1</key>
-       <string>iMac (Core Duo)</string>
-       <key>iMac4,2</key>
-       <string>iMac for Education (17 inch, Core Duo)</string>
-       <key>iMac5,1</key>
-       <string>iMac (Core 2 Duo, 17 or 20 inch, SuperDrive)</string>
-       <key>iMac5,2</key>
-       <string>iMac (Core 2 Duo, 17 inch, Combo Drive)</string>
-       <key>iMac6,1</key>
-       <string>iMac (Core 2 Duo, 24 inch, SuperDrive)</string>
-       <key>iMac7,1</key>
-       <string>iMac Intel Core 2 Duo (aluminum enclosure)</string>
-       <key>iMac8,1</key>
-       <string>iMac (Core 2 Duo, 20 or 24 inch, Early 2008 )</string>
-       <key>iMac9,1</key>
-       <string>iMac (Core 2 Duo, 20 or 24 inch, Early or Mid 2009 )</string>
-       <key>iMac10,1</key>
-       <string>iMac (Core 2 Duo, 21.5 or 27 inch, Late 2009 )</string>
-       <key>iMac11,1</key>
-       <string>iMac (Core i5 or i7, 27 inch Late 2009)</string>
-       <key>iMac11,2</key>
-       <string>21.5&quot; iMac (mid 2010)</string>
-       <key>iMac11,3</key>
-       <string>iMac (Core i5 or i7, 27 inch Mid 2010)</string>
-       <key>iMac12,1</key>
-       <string>iMac (Core i3 or i5 or i7, 21.5 inch Mid 2010 or Late 2011)</string>
-       <key>iMac12,2</key>
-       <string>iMac (Core i5 or i7, 27 inch Mid 2011)</string>
-       <key>iMac13,1</key>
-       <string>iMac (Core i3 or i5 or i7, 21.5 inch Late 2012 or Early 2013)</string>
-       <key>iMac13,2</key>
-       <string>iMac (Core i5 or i7, 27 inch Late 2012)</string>
-       <key>iMac14,1</key>
-       <string>iMac (Core i5, 21.5 inch Late 2013)</string>
-       <key>iMac14,2</key>
-       <string>iMac (Core i5 or i7, 27 inch Late 2013)</string>
-       <key>iMac14,3</key>
-       <string>iMac (Core i5 or i7, 21.5 inch Late 2013)</string>
-       <key>iMac14,4</key>
-       <string>iMac (Core i5, 21.5 inch Mid 2014)</string>
-       <key>iMac15,1</key>
-       <string>iMac (Retina 5K Core i5 or i7, 27 inch Late 2014 or Mid 2015)</string>
-       <key>iMac16,1</key>
-       <string>iMac (Core i5, 21,5 inch Late 2015)</string>
-       <key>iMac16,2</key>
-       <string>iMac (Retina 4K Core i5 or i7, 21.5 inch Late 2015)</string>
-       <key>iMac17,1</key>
-       <string>iMac (Retina 5K Core i5 or i7, 27 inch Late 2015)</string>
-       <key>MacBook1,1</key>
-       <string>MacBook (Core Duo)</string>
-       <key>MacBook2,1</key>
-       <string>MacBook (Core 2 Duo)</string>
-       <key>MacBook4,1</key>
-       <string>MacBook (Core 2 Duo Feb 2008)</string>
-       <key>MacBook5,1</key>
-       <string>MacBook (Core 2 Duo, Late 2008, Unibody)</string>
-       <key>MacBook5,2</key>
-       <string>MacBook (Core 2 Duo, Early 2009, White)</string>
-       <key>MacBook6,1</key>
-       <string>MacBook (Core 2 Duo, Late 2009, Unibody)</string>
-       <key>MacBook7,1</key>
-       <string>MacBook (Core 2 Duo, Mid 2010, White)</string>
-       <key>MacBook8,1</key>
-       <string>MacBook (Core M, 12 inch, Early 2015)</string>
-       <key>MacBookAir1,1</key>
-       <string>MacBook Air (Core 2 Duo, 13 inch, Early 2008)</string>
-       <key>MacBookAir2,1</key>
-       <string>MacBook Air (Core 2 Duo, 13 inch, Mid 2009)</string>
-       <key>MacBookAir3,1</key>
-       <string>MacBook Air (Core 2 Duo, 11 inch, Late 2010)</string>
-       <key>MacBookAir3,2</key>
-       <string>MacBook Air (Core 2 Duo, 13 inch, Late 2010)</string>
-       <key>MacBookAir4,1</key>
-       <string>MacBook Air (Core i5 or i7, 11 inch, Mid 2011)</string>
-       <key>MacBookAir4,2</key>
-       <string>MacBook Air (Core i5 or i7, 13 inch, Mid 2011)</string>
-       <key>MacBookAir5,1</key>
-       <string>MacBook Air (Core i5 or i7, 11 inch, Mid 2012)</string>
-       <key>MacBookAir5,2</key>
-       <string>MacBook Air (Core i5 or i7, 13 inch, Mid 2012)</string>
-       <key>MacBookAir6,1</key>
-       <string>MacBook Air (Core i5 or i7, 11 inch, Mid 2013 or Early 2014)</string>
-       <key>MacBookAir6,2</key>
-       <string>MacBook Air (Core i5 or i7, 13 inch, Mid 2013 or Early 2014)</string>
-       <key>MacBookAir7,1</key>
-       <string>MacBook Air (Core i5 or i7, 11 inch, Early 2015)</string>
-       <key>MacBookAir7,2</key>
-       <string>MacBook Air (Core i5 or i7, 13 inch, Early 2015)</string>
-       <key>MacBookPro1,1</key>
-       <string>MacBook Pro Core Duo (15-inch)</string>
-       <key>MacBookPro1,2</key>
-       <string>MacBook Pro Core Duo (17-inch)</string>
-       <key>MacBookPro2,1</key>
-       <string>MacBook Pro Core 2 Duo (17-inch)</string>
-       <key>MacBookPro2,2</key>
-       <string>MacBook Pro Core 2 Duo (15-inch)</string>
-       <key>MacBookPro3,1</key>
-       <string>MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo)</string>
-       <key>MacBookPro3,2</key>
-       <string>MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo)</string>
-       <key>MacBookPro4,1</key>
-       <string>MacBook Pro (Core 2 Duo Feb 2008)</string>
-       <key>MacBookPro5,1</key>
-       <string>MacBook Pro Intel Core 2 Duo (aluminum unibody)</string>
-       <key>MacBookPro5,2</key>
-       <string>MacBook Pro Intel Core 2 Duo (aluminum unibody)</string>
-       <key>MacBookPro5,3</key>
-       <string>MacBook Pro Intel Core 2 Duo (aluminum unibody)</string>
-       <key>MacBookPro5,4</key>
-       <string>MacBook Pro Intel Core 2 Duo (aluminum unibody)</string>
-       <key>MacBookPro5,5</key>
-       <string>MacBook Pro Intel Core 2 Duo (aluminum unibody)</string>
-       <key>MacBookPro6,1</key>
-       <string>MacBook Pro Intel Core i5, Intel Core i7 (mid 2010)</string>
-       <key>MacBookPro6,2</key>
-       <string>MacBook Pro Intel Core i5, Intel Core i7 (mid 2010)</string>
-       <key>MacBookPro7,1</key>
-       <string>MacBook Pro Intel Core 2 Duo (mid 2010)</string>
-       <key>MacBookPro8,1</key>
-       <string>MacBook Pro Intel Core i5, Intel Core i7, 13&quot; (early 2011)</string>
-       <key>MacBookPro8,2</key>
-       <string>MacBook Pro Intel Core i7, 15&quot; (early 2011)</string>
-       <key>MacBookPro8,3</key>
-       <string>MacBook Pro Intel Core i7, 17&quot; (early 2011)</string>
-       <key>MacBookPro9,1</key>
-       <string>MacBook Pro (15-inch, Mid 2012)</string>
-       <key>MacBookPro9,2</key>
-       <string>MacBook Pro (13-inch, Mid 2012)</string>
-       <key>MacBookPro10,1</key>
-       <string>MacBook Pro (Retina, Mid 2012)</string>
-       <key>MacBookPro10,2</key>
-       <string>MacBook Pro (Retina, 13-inch, Late 2012)</string>
-       <key>MacBookPro11,1</key>
-       <string>MacBook Pro (Retina, 13-inch, Late 2013)</string>
-       <key>MacBookPro11,2</key>
-       <string>MacBook Pro (Retina, 15-inch, Late 2013)</string>
-       <key>MacBookPro11,3</key>
-       <string>MacBook Pro (Retina, 15-inch, Late 2013)</string>
-       <key>MacbookPro11,4</key>
-       <string>MacBook Pro (Retina, 15-inch, Mid 2015)</string>
-       <key>MacbookPro11,5</key>
-       <string>MacBook Pro (Retina, 15-inch, Mid 2015)</string>
-       <key>MacbookPro12,1 </key>
-       <string>MacBook Pro (Retina, 13-inch, Early 2015)</string>
-       <key>Macmini1,1</key>
-       <string>Mac Mini (Core Solo/Duo)</string>
-       <key>Macmini2,1</key>
-       <string>Mac mini Intel Core</string>
-       <key>Macmini3,1</key>
-       <string>Mac mini Intel Core</string>
-       <key>Macmini4,1</key>
-       <string>Mac mini Intel Core (Mid 2010)</string>
-       <key>Macmini5,1</key>
-       <string>Mac mini (Core i5, Mid 2011)</string>
-       <key>Macmini5,2</key>
-       <string>Mac mini (Core i5 or Core i7, Mid 2011)</string>
-       <key>Macmini5,3</key>
-       <string>Mac mini (Core i7, Server, Mid 2011)</string>
-       <key>Macmini6,1</key>
-       <string>Mac mini (Core i5, Late 2012)</string>
-       <key>Macmini6,2</key>
-       <string>Mac mini (Core i7, Normal or Server, Late 2012)</string>
-       <key>Macmini7,1</key>
-       <string>Mac mini (Core i5 or Core i7, Late 2014)</string>
-       <key>MacPro1,1,Quad</key>
-       <string>Mac Pro</string>
-       <key>MacPro1,1</key>
-       <string>Mac Pro (four-core)</string>
-       <key>MacPro2,1</key>
-       <string>Mac Pro (eight-core)</string>
-       <key>MacPro3,1</key>
-       <string>Mac Pro (January 2008 4- or 8- core &quot;Harpertown&quot;)</string>
-       <key>MacPro4,1</key>
-       <string>Mac Pro (March 2009)</string>
-       <key>MacPro5,1</key>
-       <string>Mac Pro (2010 or 2012)</string>
-       <key>MacPro6,1</key>
-       <string>Mac Pro (Late 2013)</string>
-       <key>PowerBook1,1</key>
-       <string>PowerBook G3</string>
-       <key>PowerBook2,1</key>
-       <string>iBook G3</string>
-       <key>PowerBook2,2</key>
-       <string>iBook G3 (FireWire)</string>
-       <key>PowerBook2,3</key>
-       <string>iBook G3</string>
-       <key>PowerBook2,4</key>
-       <string>iBook G3</string>
-       <key>PowerBook3,1</key>
-       <string>PowerBook G3 (FireWire)</string>
-       <key>PowerBook3,2</key>
-       <string>PowerBook G4</string>
-       <key>PowerBook3,3</key>
-       <string>PowerBook G4 (Gigabit Ethernet)</string>
-       <key>PowerBook3,4</key>
-       <string>PowerBook G4 (DVI)</string>
-       <key>PowerBook3,5</key>
-       <string>PowerBook G4 (1GHz / 867MHz)</string>
-       <key>PowerBook4,1</key>
-       <string>iBook G3 (Dual USB, Late 2001)</string>
-       <key>PowerBook4,2</key>
-       <string>iBook G3 (16MB VRAM)</string>
-       <key>PowerBook4,3</key>
-       <string>iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003)</string>
-       <key>PowerBook5,1</key>
-       <string>PowerBook G4 (17 inch)</string>
-       <key>PowerBook5,2</key>
-       <string>PowerBook G4 (15 inch FW 800)</string>
-       <key>PowerBook5,3</key>
-       <string>PowerBook G4 (17-inch 1.33GHz)</string>
-       <key>PowerBook5,4</key>
-       <string>PowerBook G4 (15 inch 1.5/1.33GHz)</string>
-       <key>PowerBook5,5</key>
-       <string>PowerBook G4 (17-inch 1.5GHz)</string>
-       <key>PowerBook5,6</key>
-       <string>PowerBook G4 (15 inch 1.67GHz/1.5GHz)</string>
-       <key>PowerBook5,7</key>
-       <string>PowerBook G4 (17-inch 1.67GHz)</string>
-       <key>PowerBook5,8</key>
-       <string>PowerBook G4 (Double layer SD, 15 inch)</string>
-       <key>PowerBook5,9</key>
-       <string>PowerBook G4 (Double layer SD, 17 inch)</string>
-       <key>PowerBook6,1</key>
-       <string>PowerBook G4 (12 inch)</string>
-       <key>PowerBook6,2</key>
-       <string>PowerBook G4 (12 inch, DVI)</string>
-       <key>PowerBook6,3</key>
-       <string>iBook G4</string>
-       <key>PowerBook6,4</key>
-       <string>PowerBook G4 (12 inch 1.33GHz)</string>
-       <key>PowerBook6,5</key>
-       <string>iBook G4 (Early-Late 2004)</string>
-       <key>PowerBook6,7</key>
-       <string>iBook G4 (Mid 2005)</string>
-       <key>PowerBook6,8</key>
-       <string>PowerBook G4 (12 inch 1.5GHz)</string>
-       <key>PowerMac1,1</key>
-       <string>Power Macintosh G3 (Blue &amp; White)</string>
-       <key>PowerMac1,2</key>
-       <string>Power Macintosh G4 (PCI Graphics)</string>
-       <key>PowerMac2,1</key>
-       <string>iMac G3 (Slot-loading CD-ROM)</string>
-       <key>PowerMac2,2</key>
-       <string>iMac G3 (Summer 2000)</string>
-       <key>PowerMac3,1</key>
-       <string>Power Macintosh G4 (AGP Graphics)</string>
-       <key>PowerMac3,2</key>
-       <string>Power Macintosh G4 (AGP Graphics)</string>
-       <key>PowerMac3,3</key>
-       <string>Power Macintosh G4 (Gigabit Ethernet)</string>
-       <key>PowerMac3,4</key>
-       <string>Power Macintosh G4 (Digital Audio)</string>
-       <key>PowerMac3,5</key>
-       <string>Power Macintosh G4 (Quick Silver)</string>
-       <key>PowerMac3,6</key>
-       <string>Power Macintosh G4 (Mirrored Drive Door)</string>
-       <key>PowerMac4,1</key>
-       <string>iMac G3 (Early/Summer 2001)</string>
-       <key>PowerMac4,2</key>
-       <string>iMac G4 (Flat Panel)</string>
-       <key>PowerMac4,4</key>
-       <string>eMac</string>
-       <key>PowerMac4,5</key>
-       <string>iMac G4 (17-inch Flat Panel)</string>
-       <key>PowerMac5,1</key>
-       <string>Power Macintosh G4 Cube</string>
-       <key>PowerMac5,2</key>
-       <string>Power Mac G4 Cube</string>
-       <key>PowerMac6,1</key>
-       <string>iMac G4 (USB 2.0)</string>
-       <key>PowerMac6,3</key>
-       <string>iMac G4 (20-inch Flat Panel)</string>
-       <key>PowerMac6,4</key>
-       <string>eMac (USB 2.0, 2005)</string>
-       <key>PowerMac7,2</key>
-       <string>Power Macintosh G5</string>
-       <key>PowerMac7,3</key>
-       <string>Power Macintosh G5</string>
-       <key>PowerMac8,1</key>
-       <string>iMac G5</string>
-       <key>PowerMac8,2</key>
-       <string>iMac G5 (Ambient Light Sensor)</string>
-       <key>PowerMac9,1</key>
-       <string>Power Macintosh G5 (Late 2005)</string>
-       <key>PowerMac10,1</key>
-       <string>Mac Mini G4</string>
-       <key>PowerMac10,2</key>
-       <string>Mac Mini (Late 2005)</string>
-       <key>PowerMac11,2</key>
-       <string>Power Macintosh G5 (Late 2005)</string>
-       <key>PowerMac12,1</key>
-       <string>iMac G5 (iSight)</string>
-       <key>RackMac1,1</key>
-       <string>Xserve G4</string>
-       <key>RackMac1,2</key>
-       <string>Xserve G4 (slot-loading, cluster node)</string>
-       <key>RackMac3,1</key>
-       <string>Xserve G5</string>
-       <key>Xserve1,1</key>
-       <string>Xserve (Intel Xeon)</string>
-       <key>Xserve2,1</key>
-       <string>Xserve (January 2008 quad-core)</string>
-       <key>Xserve3,1</key>
-       <string>Xserve (early 2009)</string>
-</dict>
-</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib
deleted file mode 100644 (file)
index 1655dc1..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index d3cd902..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index c1e9c99..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 51a4dbd..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e00af34..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 64c1883..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Class = "NSButtonCell"; title = "Install and Relaunch"; ObjectID = "41"; */
-"41.title" = "Reinicia el programa ara";
-
-/* Class = "NSButtonCell"; title = "Install on Quit"; ObjectID = "42"; */
-"42.title" = "Reinicia el programa més tard";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "43"; */
-"43.title" = "Baixa i instal·la les actualitzacions automàticament en el futur";
-
-/* Class = "NSButtonCell"; title = "Don't Install"; ObjectID = "44"; */
-"44.title" = "Don't Install";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 284cf6d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
-"5.title" = "Actualització del programari";
-
-/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
-"170.title" = "Notes d'aquesta versió:";
-
-/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
-"171.title" = "Recorda-m'ho més tard";
-
-/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
-"172.title" = "Omet aquesta versió";
-
-/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
-"173.title" = "Instal·la l'actualització";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
-"175.title" = "Descarrega i instal·la les actualitzacions automàticament en el futur";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f2aea27..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index e1014a0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Class = "NSButtonCell"; title = "Install and Relaunch"; ObjectID = "41"; */
-"41.title" = "Instalovat a znovu spustit";
-
-/* Class = "NSButtonCell"; title = "Install on Quit"; ObjectID = "42"; */
-"42.title" = "Instalovat a ukončit";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "43"; */
-"43.title" = "V budoucnu stahovat a instalovat aktualizace automaticky";
-
-/* Class = "NSButtonCell"; title = "Don't Install"; ObjectID = "44"; */
-"44.title" = "Neinstalovat";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index ff7d56f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
-"5.title" = "Aktualizace aplikace";
-
-/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
-"170.title" = "Poznámky k vydání:";
-
-/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
-"171.title" = "Připomenout později";
-
-/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
-"172.title" = "Přeskočit tuto verzi";
-
-/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
-"173.title" = "Instalovat aktualizaci";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
-"175.title" = "V budoucnu stahovat a instalovat aktualizace automaticky";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 3c24459..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
-"43.title" = "Text Cell";
-
-/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
-"45.title" = "Text Cell";
-
-/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */
-"176.title" = "Automaticky vyhledávat";
-
-/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */
-"177.title" = "Nevyhledávat";
-
-/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */
-"178.title" = "Vyhledávat aktualizace automaticky?";
-
-/* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "179"; */
-"179.title" = "DO NOT LOCALIZE";
-
-/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */
-"180.title" = "Odeslat anonymní systémový profil";
-
-/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work.\nPlease contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
-"183.title" = "Informace z anonymního systémového profilu pomáhají vývojářům lépe plánovat budoucí vývoj aplikace.\nBudete-li mít nějaký dotaz, obraťte se na nás.\n\nToto jsou informace, které budou odeslány:";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings
deleted file mode 100644 (file)
index bc3d41f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index af70727..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 4ef2b1b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 0a0a998..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e0957c6..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 931667c..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 02d7c02..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 47b0005..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f043527..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 2054e10..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 79bc930..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index a84a913..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 6ef15d4..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 4532f02..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-/* Class = "NSButtonCell"; title = "Install and Relaunch"; ObjectID = "41"; */
-"41.title" = "Install and Relaunch";
-
-/* Class = "NSButtonCell"; title = "Install on Quit"; ObjectID = "42"; */
-"42.title" = "Install on Quit";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "43"; */
-"43.title" = "Automatically download and install updates in the future";
-
-/* Class = "NSButtonCell"; title = "Don't Install"; ObjectID = "44"; */
-"44.title" = "Don't Install";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 45a4cfc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
-"5.title" = "Software Update";
-
-/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
-"170.title" = "Release Notes:";
-
-/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
-"171.title" = "Remind Me Later";
-
-/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
-"172.title" = "Skip This Version";
-
-/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
-"173.title" = "Install Update";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
-"175.title" = "Automatically download and install updates in the future";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 40408e5..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
-"43.title" = "Text Cell";
-
-/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
-"45.title" = "Text Cell";
-
-/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */
-"176.title" = "Check Automatically";
-
-/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */
-"177.title" = "Don’t Check";
-
-/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */
-"178.title" = "Check for updates automatically?";
-
-/* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "179"; */
-"179.title" = "DO NOT LOCALIZE";
-
-/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */
-"180.title" = "Include anonymous system profile";
-
-/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
-"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 2bfeeeb..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 048305e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index ed12e17..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 8a083f8..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 68d567f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 12c3890..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 7746e68..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 773f7c9..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 12c205b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 53f8a46..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 2ec1555..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index a9e01b2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index ebf6332..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Class = "NSButtonCell"; title = "Install and Relaunch"; ObjectID = "41"; */
-"41.title" = "אתחל עכשיו";
-
-/* Class = "NSButtonCell"; title = "Install on Quit"; ObjectID = "42"; */
-"42.title" = "אתחל מאוחר יותר";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "43"; */
-"43.title" = "הורד והתקן עדכונים אוטומטית גם בעתיד";
-
-/* Class = "NSButtonCell"; title = "Don't Install"; ObjectID = "44"; */
-"44.title" = "Don't Install";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index a49c5a9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
-"5.title" = "עדכון תכנה";
-
-/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
-"170.title" = "פרטי גרסה:";
-
-/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
-"171.title" = "הזכר לי מאוחר יותר";
-
-/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
-"172.title" = "דלג על גרסה זו";
-
-/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
-"173.title" = "התקן עדכון";
-
-/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
-"175.title" = "הורד והתקן עדכונים אוטומטית גם בעתיד";
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ce63fde..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 6dab620..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index e8cd911..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index e351dee..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ab8fe1a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 21520d6..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 5bcfb40..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index a44717a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings
deleted file mode 100644 (file)
index d30ef64..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index b3df857..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 35605b0..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 1b2ae2e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 5f6ace2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index df3cc7a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 28b08bf..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 55b623b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 5b4be9e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index b9a12fa..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 7aaa662..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 117c57b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f4685ed..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 13fcae8..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index ae964ed..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index ba51fac..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings
deleted file mode 100644 (file)
index f008e1e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index b56be4f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 4f7f719..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 71a68bc..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings
deleted file mode 100644 (file)
index fa4cd97..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 49a56b6..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index a4797b8..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 73d5f5e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 76f3556..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index c65a629..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 94fd5cf..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 16591dd..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 4444f33..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index a8d613c..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index ba19134..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 5eca895..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 2a7ce29..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 40a45db..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index f744d46..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 18a287e..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index a4c5ced..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 4fc4e8b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index e9075e5..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 967a441..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 19acb2f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 9fce421..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index acf4be1..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 28b831d..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index f2df734..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 20de454..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 83ebfa9..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 65aa28f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index a9321a7..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 8f1d8d2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index c1cf84a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings
deleted file mode 100644 (file)
index caaf060..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 4fc0a15..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index dc57d7b..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 29647d7..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
deleted file mode 100644 (file)
index e7c70db..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 9c1a96f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index ab08588..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 56a8d38..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 058b4ba..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 22f55c2..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 35fa320..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 7d46eeb..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings
deleted file mode 100644 (file)
index ffc5767..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 580048f..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 6076fcd..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 263326c..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 5df10cc..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index 3264916..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index 52ddc42..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings
deleted file mode 100644 (file)
index 71cf325..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings
deleted file mode 100644 (file)
index 195c7dd..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.strings
deleted file mode 100644 (file)
index a2e8e66..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings
deleted file mode 100644 (file)
index a7d3911..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings
deleted file mode 100644 (file)
index b951788..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/Sparkle b/OSX/Sparkle.framework/Versions/A/Sparkle
deleted file mode 100755 (executable)
index 471eb8a..0000000
Binary files a/OSX/Sparkle.framework/Versions/A/Sparkle and /dev/null differ
diff --git a/OSX/Sparkle.framework/Versions/A/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/A/_CodeSignature/CodeResources
deleted file mode 100644 (file)
index f83c2d8..0000000
+++ /dev/null
@@ -1,3976 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>files</key>
-       <dict>
-               <key>Resources/Autoupdate.app/Contents/Info.plist</key>
-               <data>
-               p52Tc2SIfA7izoenzdLvHMinB5o=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/MacOS/Autoupdate</key>
-               <data>
-               ACzGW2U3uYVUhXotLQCXO5RLLGk=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/MacOS/fileop</key>
-               <data>
-               tTUobsPsRgi70C/UoEGR5x+A/PU=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/PkgInfo</key>
-               <data>
-               n57qDP4tZfLD1rCS43W0B4LQjzE=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/Resources/AppIcon.icns</key>
-               <data>
-               4McwRDEss5BzWwUMG2Xf93+ze08=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cHZov5FaqzfNhnBo0XdRuTMT4SY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/SUStatus.nib</key>
-               <data>
-               6I4uX0FrluZpgUjoCaB46P/0lY0=
-               </data>
-               <key>Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources</key>
-               <data>
-               v0QA+kkQGw9okTq801tvxpB7aeI=
-               </data>
-               <key>Resources/Base.lproj/SUAutomaticUpdateAlert.nib</key>
-               <data>
-               l5KRdkey8A+be1W07Fhr06if6cs=
-               </data>
-               <key>Resources/Base.lproj/SUUpdateAlert.nib</key>
-               <data>
-               /5NdqXefzh9fVmTWRKVz/dz7pdw=
-               </data>
-               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key>
-               <data>
-               JB54prg8VvKpDEetrrMtMBK+5iA=
-               </data>
-               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib</key>
-               <data>
-               6pTb8Z8gXml+rdQ5fUvN/d9xQJQ=
-               </data>
-               <key>Resources/Base.lproj/Sparkle.strings</key>
-               <data>
-               cHZov5FaqzfNhnBo0XdRuTMT4SY=
-               </data>
-               <key>Resources/Info.plist</key>
-               <data>
-               rQ/FRiyYYO6F/U6yfXPV2kBnyjk=
-               </data>
-               <key>Resources/ReleaseNotesColorStyle.css</key>
-               <data>
-               IOA6sGO744sbLxfJB3d3qfO4A9c=
-               </data>
-               <key>Resources/SUModelTranslation.plist</key>
-               <data>
-               iD2Ex40Usc4ZE6IAhRePqgwK/xw=
-               </data>
-               <key>Resources/SUStatus.nib</key>
-               <data>
-               6I4uX0FrluZpgUjoCaB46P/0lY0=
-               </data>
-               <key>Resources/ar.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gc/+6p+JGq05Dr2lHXQa6fUgUYg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       3i0bFULMGTvevM7VgyCgzSEKwv8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       TsXfb0PxtoasCcH9iA899TrlQS0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       mXA5B1SwJO1dYyfy4H7ji6+Bnh4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       l9CaCmAXFcs+Z+8rRt7PX9onkf8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       q7RtvrY0T4KQ49y6xP17YL/QVXw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       G9Wgf14zMhU2alRSZvqclMmlTCA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       iUcJO6Oa4RdO3RM4xkx7VH0fEYs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       pjGE/D46Oz4q6UmORxOJs+G29Eg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       K/KCW6Ua+P3VcI3SMxkAxLmJhcA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IwkdeONJSO8+bNOj/x/5U6Gh960=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       p1AUay57hNweYVXQRbKhF9JBiOs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hQet+8ztnlTGDqiaGgGRTuC7tzQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bA9NYJIUB6btvBf0Eyl8Hf4PxAo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cCsxa29K0thPsbGJvXr7GOm6UGQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       E3H8KwboutH9TcO/tzeWqmhmuEw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Ku1XJbSAsfKftCMDR5rYF/djH7g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       b5yicoj+K8VgzOfcWBb8K7iHDxQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FSez7jCd0gDTFFGHiWL1QXY8OUU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       EaC80n7+UINShc7jqOj5ZftVz60=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       VOOzavNjCse4aSMvFX8NobiHlNs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       axEKPX5h8sFGOTSOnasjD3OHXc8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       g9KwrSpJGw27GN5BzGZi84AHrQo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9MHx5J2l4V4dMcwtvuxkR81JyhE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HAZee52kwb4xj+XU0NT+e83gnRY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bb5HTRQUQFUqoDnBKBIR6A2WKc4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       X8zqBBnkDgZynGth66q0p/cK+FE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Hz89lX88i5x+vi6K2xEseJrz4HU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       +qEeqjQfxQ3oHNz1Dr1KL3as4xc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       LAf4FNGLnXtTlmpgkNNK8OPcrkQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       TFRQPnW/KziPaszAKC9UTpKcQYY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       q9CJFlxBeZCtj5Vzvbp2D1GYXUU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yV8ppSHVPstpruV3OfrIoGFa/ns=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cQW3+4P52+950dJauRBOXzQyptQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fukrrwph1xaiPF8tN+mq1/rgU74=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IExsy6/OJ+mhFR1UJNlWGqB4Cv0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U6PSRQd/AETVeVyeuRndr/vH9fE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       O8XLdJlTHdjof6ooWfylemzcEnw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       D4qANBB2xz3qNDiEMNRweN9uYfs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       38/GOZCRTtnAb8rr9rm6A8UWCpo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Kqx7iO3wwCE5Ojck8YSFYHjaakw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       GYqMkm5hawyrjBBffKBxomiS2PI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       58lwR0dz1jJ4ArSN9XIg11Id9/Q=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       a7zFYYUWMLPIuA04Zmi8FQFH850=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       zWrs1GohM3YdeIFqqXbuVUPMaDI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       w2jUcEIoxzvvhZILlplpe+Gnxb0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       77Uv9cUpoDI1wuNKmaaDCD/MqVA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vgph4Q9zSsugo4E+oxPH0QE8Be8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       3/JhngfaJnQx4NfATly/co2PY2c=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       btPdapILACUFGJGKFdryIKW0x1o=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       4yetlWmWsSlNv5350fa3OeelhqA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       67GVEq48FUJvhQmYO0K/ZR6Gbi8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qhViK9IgFG4yzvMSpM1JVZf+iVc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7j38ljWbfTrXLwLhKFC5j6Iu5+M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       dvD7snDX0+ggop6cVfW3ToS2ppY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       41WUAtM+WRHzMsEwhhvTBBszqX8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7kEOWR6DKRm/L2AdK5CcdFgZyjM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       MzvV3vngIjz9ucrt2lqZDEu50rg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vJqAMzWpUfro0nhXvTt+rslhjk0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7pwMJx+KI0UUVgaWikfU46yFL0M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bfQIVc4cteu0uiRt0X+nGmHgXgg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       orjgXcWUkmXc8stKTCkoSDssVZQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       l0nqQJsUsqJUnCb/rpxPQDkZK1c=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Q/BK/7uMSUmhVH9PGDtfGs0gmyE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ikQC1DV0PMrPFqUeoIvI9WC2hhM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       oWbTqm+BA0K7mg6zTkDGn4fUpAs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1u1xUfPaX76iHdRCnLN4N+rQbbk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7C5BXulU9j7lmP8wWY8l0JAzSng=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vnna1nf1l2kpdx+slsDSWmc1zHI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       mcacHFF+DP1x6QEEwDdgih5KLf0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       eG17GzSlQfjC4/mU1++Op/P4oPc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2/AO+eg1l0Sahng/AjXChXlTc4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kA94ozF0qi31vtUuGgZ2ZMzu1DY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Jl19StfYmbiByPDrMQazCsH9SuM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       k/IJsVcHctZ2UbOtiQsTvHx74lc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       s7VqsrI40vJFZ3QHlJ8rAQLPQJc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ZJ/cyOSNuqJUjyR3eclaPRASOhE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       YbrfE5/QvbK0LNrSLHAY3/S4fFM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Hh55mq2azZNGsXUfsQ+aslIexIU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       BnhGQ74iKGYaENEK9iLaiAiXjDg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0X0Yu67oweP0yQLjPMLQ5/SdrIY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6o5w0pqVbKmd5bWoiH9659+zRFM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       +moR0Pq4x/xokjAcOmpUUIakSGc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UPPnsRQdJuqMXNbSfZyi4cXSFys=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UiYYV9jAIRc042ADR7KGxmBYLGM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       XO2ZqR7re0XFlFOjom3hqe8QYLQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xuNfFlqaorqUnIg4Vud+VtY2ld8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       nv5vdtxa5px73vaGNZLva8Ke6/8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hsxf2OFnnjPvD0J6Txmtbqn0HEY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sK1HJbeQlnXwC/iWB2qCFdS3kJM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       V3vtjphOC+UWkuM/uqrEHt0jiWY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       pieF1GpcUXW3VO30sjCT6YmCZ3Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-       </dict>
-       <key>files2</key>
-       <dict>
-               <key>Headers/SPUDownloadData.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0uirAEMDYuzqSh3dbtfncvlTpvo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       DkOXqPnwmXR6QeDI4ja3DtFxDW5L3Dcjf21hEPWImoY=
-                       </data>
-               </dict>
-               <key>Headers/SPUDownloader.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OAA6tKxz1g4V1SQZaj3RPNmNMzo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       OEDz5kY4WgtWuZ8SApjyqvVDEf3iEj7Sg2uhl+3J+jk=
-                       </data>
-               </dict>
-               <key>Headers/SPUDownloaderDelegate.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UkBvHxzNYA/YON0ImE8m/8g4vkg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8D6RyR2aziRQIiRN3e7qxlEM9jfgkwBBTWmSjDhLqm8=
-                       </data>
-               </dict>
-               <key>Headers/SPUDownloaderProtocol.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       VsD58zsMmnH4mVuK456ekiJcYFU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       02oqvyfRCQp5SMSBQNzYZaz1/0VTso0GKnOSbuDEAVo=
-                       </data>
-               </dict>
-               <key>Headers/SPUDownloaderSession.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IeDSEpUGRwB9HcDVlqbxb6k19A8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       ZFXLQz90P2h4rR2v1VqRAKzrSSlItkO5cW/0AFy7eYQ=
-                       </data>
-               </dict>
-               <key>Headers/SPUURLRequest.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       588/W6GUNXYFVar9nygqHNYeTX8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4EG4qYbJgM0wBJCoSPD1lbbDTLHlm85m4xNehyXyU74=
-                       </data>
-               </dict>
-               <key>Headers/SUAppcast.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ijXg01wWM4PILv43/oVmilWSAR4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       ODFhNuPB3a4Fc78v/H05oPl68Tn8hfStF6MtTOK1I/E=
-                       </data>
-               </dict>
-               <key>Headers/SUAppcastItem.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hqAwTuGRw81S+ItxJNRJIFmv0oI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       3MKAA7S3EurLj+bjIjEyqiF5j09qBjd5i+koenojh20=
-                       </data>
-               </dict>
-               <key>Headers/SUCodeSigningVerifier.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Wj90pgADRte0DhyUmlOXWORp830=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       PPwqqlfaR8hxIfD2YEKdVzyDN4kBVdul55HDAELxQ7U=
-                       </data>
-               </dict>
-               <key>Headers/SUErrors.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vATt/NB1xz4PgfueN6n3fzlBngY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       vXhq8HnaoILfAupZ7Ha75XziGXEB0sYF5p+Y2j0xiek=
-                       </data>
-               </dict>
-               <key>Headers/SUExport.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       G2w3uU/V7JzIupuOjQ2LyPVGdo4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       XO8CQmbFThLbYg949NEGhg3g+iouIw3/3+BCCLtEdFE=
-                       </data>
-               </dict>
-               <key>Headers/SUStandardVersionComparator.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6L4GrA8i1OjMLIGc/sFvEUeSfso=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       5HrjOlX+uJHOw1ma+1BtG5tlYx/75N/gVzt+BX/GOxg=
-                       </data>
-               </dict>
-               <key>Headers/SUUpdater.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hUNhH96Bj0MbSvKXj4f0isWzHRg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Rc6NU8sWFXMeMimSvY/YSrtrVxA/wdbJk8C/4MnJuOY=
-                       </data>
-               </dict>
-               <key>Headers/SUUpdaterDelegate.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       MHw1NrGxR116E8+4fIwJlj7xhlU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       I9h48457oU5WcQiRBj2su4zWt34+hDtHwnoeLWmZ7Ko=
-                       </data>
-               </dict>
-               <key>Headers/SUVersionComparisonProtocol.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       pin8CrEV9eYWF9sdDu0N1YixWOE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       rsm3T+GsIhDgSqY8EtkBpIxYgSZCZxf4HE9a/FcTRCc=
-                       </data>
-               </dict>
-               <key>Headers/SUVersionDisplayProtocol.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       D3yVFnts0j1IacN9dSN7iZSVlZg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       AQITUMp8aq1UAOrmksAKmGFpgI24u9rDSBBZrgDqdN4=
-                       </data>
-               </dict>
-               <key>Headers/Sparkle.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FalUv9itQku7sZxHxlTv7agG7uc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       QQUpD7vjCNffXnBTGI8P0g9Ow25VZAZtNPsb+Tb94Ik=
-                       </data>
-               </dict>
-               <key>Modules/module.modulemap</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /2jgDcgH5+EG9ojcVskajfVo4yg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       1TF+JZkzFr6n8oH4WItto+C5Vf3K12f0H9KjqD0A5QU=
-                       </data>
-               </dict>
-               <key>PrivateHeaders/SUUnarchiver.h</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7mTpmnTkJ97DZQQzK/hdl2aZmXU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       SQYAanTtlyX15CJapj5tDbhBEMtgQ7ZNdmpSij0+tD4=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Info.plist</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       p52Tc2SIfA7izoenzdLvHMinB5o=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nC8PesOBETpTgifDv6Oe6FS4BjW/3+YsXnSOFyxImqs=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/MacOS/Autoupdate</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ACzGW2U3uYVUhXotLQCXO5RLLGk=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       YK63O8fQx6eooD88A+RwTszA3hCZXuD1WbILlGIOphc=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/MacOS/fileop</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       tTUobsPsRgi70C/UoEGR5x+A/PU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       e1uRp0QNdqqccLatoBLtHsi/ffmWe9dwrLZRyXDZAdg=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/PkgInfo</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       n57qDP4tZfLD1rCS43W0B4LQjzE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       glAhkclISwTWhTdPmHmgBmBpxJuKyuegSwHTjQfo7KA=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/AppIcon.icns</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       4McwRDEss5BzWwUMG2Xf93+ze08=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/Base.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cHZov5FaqzfNhnBo0XdRuTMT4SY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       39CdfZZ1CQQz1Gd1+Ukxo2JHl0XESoc/cqWKF091WUk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/SUStatus.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6I4uX0FrluZpgUjoCaB46P/0lY0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8bmm56+lUnfMv3UQ4n/BaEp7hU1N1Wbur9BWMReUdso=
-                       </data>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8q22yKUhfKJVOOXteUQZAVVkhfzPQKzoSJdnVNkDPo8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bA5bxESyZuC/dG2VKfN+eQ7CVb2qAWrwfu94IpJ4Xi0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8PKuKp2lymWYfR+BqJ15UWlxOQKUl3fEveeseHBfaTw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       TwklhrooHTXgV6Q9fbvvAB3mPIh7qDbEsNtUzo2fQuU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +vCWSRbECqQcsR6Nd8erQda/7x+ku/kQSUvZtTvemyQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       zvMbFdgVGI0ls9vIRT+sie7dj2g1UjQu7iS+pOgyBo4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       v0QA+kkQGw9okTq801tvxpB7aeI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4HHWMdAkw+NSiE4fNbRTyosQktLQPTt7FquDU28FQ1o=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/SUAutomaticUpdateAlert.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       l5KRdkey8A+be1W07Fhr06if6cs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       CNKETBNQKGCdiaGXTNHfZryvPen1njeBiogv+qwcxYY=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/SUUpdateAlert.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /5NdqXefzh9fVmTWRKVz/dz7pdw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       3qCp7RlRzgBr+2sKYCwi8HHNgyd4o/oux+xOrVjbnyM=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JB54prg8VvKpDEetrrMtMBK+5iA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lxaUGopoUbuPN1mnss8eZ6JutMXQEv1umhh47DPfVTw=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6pTb8Z8gXml+rdQ5fUvN/d9xQJQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       QC/9aYToBvX/3YC46ZCApZuD8HxeXUttgYSdE5/Eghw=
-                       </data>
-               </dict>
-               <key>Resources/Base.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cHZov5FaqzfNhnBo0XdRuTMT4SY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       39CdfZZ1CQQz1Gd1+Ukxo2JHl0XESoc/cqWKF091WUk=
-                       </data>
-               </dict>
-               <key>Resources/Info.plist</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       rQ/FRiyYYO6F/U6yfXPV2kBnyjk=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nAG/XbpMyDfMCrQD+CeQnfRXhCtHS519Px7PI/tjIyA=
-                       </data>
-               </dict>
-               <key>Resources/ReleaseNotesColorStyle.css</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IOA6sGO744sbLxfJB3d3qfO4A9c=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       z45Huj96ZDVNdbo/PVVvlt/9FbA1bwSEWqzEhZsupbM=
-                       </data>
-               </dict>
-               <key>Resources/SUModelTranslation.plist</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       iD2Ex40Usc4ZE6IAhRePqgwK/xw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bxnpRQhROJXTL2xuIeffR3p+hOuuji7eOoDeNqSYqTg=
-                       </data>
-               </dict>
-               <key>Resources/SUStatus.nib</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6I4uX0FrluZpgUjoCaB46P/0lY0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8bmm56+lUnfMv3UQ4n/BaEp7hU1N1Wbur9BWMReUdso=
-                       </data>
-               </dict>
-               <key>Resources/ar.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gc/+6p+JGq05Dr2lHXQa6fUgUYg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Pn5LWe7wZHCPW2nyy42kz4A1Kr6+cCrKFAL9OTgRs9w=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       3i0bFULMGTvevM7VgyCgzSEKwv8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       uRx5CQ0pw+aW4jIM0qom55BNq5nGnqLSIn0c+MN29lU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       TsXfb0PxtoasCcH9iA899TrlQS0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Rl2XvCAvfnqAnOZ0FYrvAoQ/JH/mm2SKfjy7oBng0BU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ar.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Rf4jjdgTqvfw5JO/6f9jHMURv/U=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       mXA5B1SwJO1dYyfy4H7ji6+Bnh4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       vbl+iYvcn2f9VqF3iMndW+G654yNsT9LPV9xMkzjSLQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       l9CaCmAXFcs+Z+8rRt7PX9onkf8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       18qLsTRnJfi0wDf6A85XbiMXGORSmuo9Ul3IK4m5gq0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ca.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       wGGx+QzPg/20zZTq7jwCTgf/Ubc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       q7RtvrY0T4KQ49y6xP17YL/QVXw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       GoRT5lNBly37VKkTK0WanCxNNTXEQtfaPzwAu+2UCRs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       G9Wgf14zMhU2alRSZvqclMmlTCA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       qSoDl0PIYv+OrSxtJfUYk9xeQihmzfaxAf+egKyw4y4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       iUcJO6Oa4RdO3RM4xkx7VH0fEYs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       9IB5sPkYYGwB/nkU/FQJk6JaGs3GNGvoyqgGnHX8Ka0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/cs.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Gyp0nPqNvS5KdfMw+6ieF0yUTnI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8q22yKUhfKJVOOXteUQZAVVkhfzPQKzoSJdnVNkDPo8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       pjGE/D46Oz4q6UmORxOJs+G29Eg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       p0zrut+VgPpTyIM2vQbR1RRU/gmSkYqC8A321d7XkkQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       K/KCW6Ua+P3VcI3SMxkAxLmJhcA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       /azcJwQrxz1fwI1CIAbhLCnfVH5BqGdQCCyra8Av9pc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IwkdeONJSO8+bNOj/x/5U6Gh960=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       tP1dv9ZUdEeAn4XulcSOuf8fVd7XsvVgC9EGUo7NWMQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/da.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0t7SuLDMBZVsY240PAEsVfH/1qw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       p1AUay57hNweYVXQRbKhF9JBiOs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       3mTPgCcFCJmepFAcSTnIFglblz4gGZsSfSk3A4gzejE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hQet+8ztnlTGDqiaGgGRTuC7tzQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       MwHlm9tgJSWhQ+8bj0EjeYXGOQmSNAfZRAQoMfxo6v8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bA9NYJIUB6btvBf0Eyl8Hf4PxAo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mNxOzQrKaCG1gQnnM8mpI0FasULtLdna0GQ/OOeYD1g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/de.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fXH7MjrA6hDT/k/8B6Vwgntt2lw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bA5bxESyZuC/dG2VKfN+eQ7CVb2qAWrwfu94IpJ4Xi0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cCsxa29K0thPsbGJvXr7GOm6UGQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bh5q2+KfGE9/icd4izLrNShMPO7do/DXfpjorIXn+tY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       E3H8KwboutH9TcO/tzeWqmhmuEw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       iZKCihFafXt61skZGQo5dK0MOrJ8+dX1jPmZaGb69r4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Ku1XJbSAsfKftCMDR5rYF/djH7g=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       fy+XXQCqEybznJg8OkbOjLZmNSSNP1Tfmcpkma+X4dU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/el.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       NbIN+TRHORCL5Gfj68VRq4KdPXo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       b5yicoj+K8VgzOfcWBb8K7iHDxQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       6C2hJUCj1chXSJrjcHSdN4mhOBSnSCKLpdGMu4PTclI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FSez7jCd0gDTFFGHiWL1QXY8OUU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       EBVS8ZfEIJxGSghO17emwoHQo0LVWWzBJMFs8RwvKWg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/en.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       EaC80n7+UINShc7jqOj5ZftVz60=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Dg7bYYtrYYDFVCUeJ3nJQbLKPFuwTwd0MoOzwLIgvkU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       VOOzavNjCse4aSMvFX8NobiHlNs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       t6ufoIzHZ4NlVSU1wZ21WYEiHECKq12r3bRcMFz5rZI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       axEKPX5h8sFGOTSOnasjD3OHXc8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       964PsHMz6RYRzHjmD4aHbNfnY0BZGw3ZakxYCb71ae0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       g9KwrSpJGw27GN5BzGZi84AHrQo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       suNHmE7WRJZq8mNFLp9QYfVV964BDzRz2pRhHLgNrZo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/es.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       QPG88BN+x/l2Qk1NLLe3wRa26mQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9MHx5J2l4V4dMcwtvuxkR81JyhE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       pkAiRhBgRqKODWvT04bUmEhoXM//OwzLMMacHVCkLHk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HAZee52kwb4xj+XU0NT+e83gnRY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       ByEJSZxbPqB52PM74lywQGxYfs3wfNbQQiUiXwshavQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bb5HTRQUQFUqoDnBKBIR6A2WKc4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       9dvePYLJT6vqQZlwmfJx+mliaSJV+CVHJ0O4SYP9Sag=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fi.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yd6pIoSj19HMDIUos4Td1Fch7bs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       X8zqBBnkDgZynGth66q0p/cK+FE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       XY+/W7oB862CPJlWBCm6yoVoxIMukQv5xAzm0brzCoo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Hz89lX88i5x+vi6K2xEseJrz4HU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       5HyLxNXA6rhr/jBtPvnw0+yJJL9XVe+Ct76L0BIk3vk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       +qEeqjQfxQ3oHNz1Dr1KL3as4xc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       uu2YORcUdz/rkkEYWS729pRWZW6oJHPon1QScUfAMSo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/fr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xFBTJYPjf7rlbYdkRKNTsPYz5JA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8PKuKp2lymWYfR+BqJ15UWlxOQKUl3fEveeseHBfaTw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       LAf4FNGLnXtTlmpgkNNK8OPcrkQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       G8M6LggmVBGvs8bR9Qq82Bs8/cEQVnl6iW8ehjd2TqA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       TFRQPnW/KziPaszAKC9UTpKcQYY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       FgPs07QNaPy/5AFYQ6Ez38I7cIf5M9dT9uDnglG4WpA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/he.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2WmlYGYmeeIlSW66R8awwmNXIE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       q9CJFlxBeZCtj5Vzvbp2D1GYXUU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       3/H+HwIyJBhxprDpKsPhZHyWqjVT02EkxxKapnLtUcM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       yV8ppSHVPstpruV3OfrIoGFa/ns=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       06i/9O7wG6LGC572R+3wowpqSb3P+MwYSTLFnFFyvP4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       cQW3+4P52+950dJauRBOXzQyptQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       l2Qk6qfprQOK0oXeZz24jATW77v8hYQAkVvU9lou+kE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7LLOVs76ioMwEDV8Gah+6sV/5No=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       TwklhrooHTXgV6Q9fbvvAB3mPIh7qDbEsNtUzo2fQuU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       fukrrwph1xaiPF8tN+mq1/rgU74=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lRiL3r4oDYHRi9tfwKJABAJqkP3mPseAf9GMIEqPPGg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       IExsy6/OJ+mhFR1UJNlWGqB4Cv0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mpjPrIAVU7SpZo+X+xrcD1+y4pB0o5KxAeYNrXO2HuI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U6PSRQd/AETVeVyeuRndr/vH9fE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       ussA/dWXDOop1UC6tIxk4We9mZtaORWfqBXcrYbLwYA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/hu.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bNEmsO2LyUsMjTESH1I42V9sAOo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       O8XLdJlTHdjof6ooWfylemzcEnw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xS0YZKRIT5udTM322k+vgh1zBkHeCcUtWqzbH5H8SH4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       D4qANBB2xz3qNDiEMNRweN9uYfs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xGxSjuuEaKDyxmQ5FhdG94YqAovO+fWnV689UaKtUC0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       38/GOZCRTtnAb8rr9rm6A8UWCpo=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       5Y/UWtsS8SEszwvwXFHYCqqbczoiPy1WB9iZ8b2HQ6o=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/is.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       8fxzD9ZhrvIZVZB1+QSJaPzg80M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Kqx7iO3wwCE5Ojck8YSFYHjaakw=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       eIJCznk6o3zNiOyBHIbnvttKN2fK9Vj4fujqnC1Dq74=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       GYqMkm5hawyrjBBffKBxomiS2PI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       SAuXAvsN6neYXWRSPpR1aEUIsLy6i5c0eo2ncKMsDPs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       58lwR0dz1jJ4ArSN9XIg11Id9/Q=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       jRFUfBngnxbbdrbawfdx1XNMi01drBLGNQPqSSmvxXg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/it.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bk1J6vpZjWeUFhBYWuWZf8TDv1A=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       a7zFYYUWMLPIuA04Zmi8FQFH850=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xTVYLjDXI3HdbgRlRm5bYcln1ALexjtDLj5nX4sXUPo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       zWrs1GohM3YdeIFqqXbuVUPMaDI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       usXBqD8J4yH4po/bYyHHd1hm5MYOPnOs1d9UbHQsW4I=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       w2jUcEIoxzvvhZILlplpe+Gnxb0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       9VuzMZyGA4nn7DDCXwV/mvtvlKYv54r3lRqPpgMERZg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ja.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       f4EbR/GfMsKeWJ5DN/vhwg/lUoE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       77Uv9cUpoDI1wuNKmaaDCD/MqVA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       k+mhv00biQbcEfPhoS8EzzL0a2xssbYYjkwal5uFhws=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vgph4Q9zSsugo4E+oxPH0QE8Be8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       yUqNvLchhyJ2BH3Yq3U1NnL46CL0w6VRB4JVNuwz6g4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       3/JhngfaJnQx4NfATly/co2PY2c=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       PX2SvKcIkhP2ceyLZ2SpeFMzE4EP3DTUTcm91DdgQYc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ko.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       FRHRQPCWEk9GdJawYTuccg+E2tA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       btPdapILACUFGJGKFdryIKW0x1o=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wRrYlbNYYYkbst9kIwBw4AQfym5Y0QeSl7iPMfNLk1g=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       4yetlWmWsSlNv5350fa3OeelhqA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       URYhnZIMa8OvF8sBU+FUPdFH7BiNM2vVTiVvLZzG3XY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       67GVEq48FUJvhQmYO0K/ZR6Gbi8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Ji6pJY7BSHDIiNkn+DRMvwBlz12RhEIs+HHppiX1i7E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nb.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sgrDElwUxXtzdw8WaUFWyK3pG9Y=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qhViK9IgFG4yzvMSpM1JVZf+iVc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       VqNgtlGijMc75Nu3i6+sTfnoKM57Ieh4ixuJF0r9+tA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7j38ljWbfTrXLwLhKFC5j6Iu5+M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       LCYKnuISnccrUE8I4IJUuT4+uDk/zIrlOpQ+/vuvSZA=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       dvD7snDX0+ggop6cVfW3ToS2ppY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       SC4zWPQZqy6aYTOskFCtuHU0XNGcB9e+Yr6YIC+7s5Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/nl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       PWbC08zHFLROqivY2MAklDh6gkA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       41WUAtM+WRHzMsEwhhvTBBszqX8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       YlPxlqp8YP9XUIjzX7MajVf03GdiiM4EeSjqLYMFl00=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7kEOWR6DKRm/L2AdK5CcdFgZyjM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       m1IOQ49UHfw7ir1AaDv2LSO0vU3EFuQhFuaYqhi3O+Y=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       MzvV3vngIjz9ucrt2lqZDEu50rg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       PsI1hAsjVN0ZbAdxuuQVdIeKU6xrPd3XKjP8vn75jU4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       o7deBXE2Ct8/vQxouej5KkwTcUA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vJqAMzWpUfro0nhXvTt+rslhjk0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       eHjkAKVprQaDVNe+3pYqhaV1qQCEh4UbfhLLtov2SPE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7pwMJx+KI0UUVgaWikfU46yFL0M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       q/BSio3dMuunv6BC58Sv2l/gvp+2wJzsf2e56PcQEbU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       bfQIVc4cteu0uiRt0X+nGmHgXgg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       CM7a1F51+YrR66BI0QVnobbIbGwxTi66PN9PICnrehU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_BR.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       /adUv04OXQkCFv+Oed6qktFVQ3E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       orjgXcWUkmXc8stKTCkoSDssVZQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       cDzXADa1OfkSPmrj9sY+aVritLldoGNyvias1MRsq+w=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       l0nqQJsUsqJUnCb/rpxPQDkZK1c=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       yMNAuD53isB2hRFis8L0xy+9/0uoey+l7K6fh4pBKN8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/pt_PT.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Mji9loJOJvuDY9hz3FhQ4H+HY5E=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Q/BK/7uMSUmhVH9PGDtfGs0gmyE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       wxAPjjUnXGsG49heQfa+eQ2mnedCfkHAky1AwtQ7fDM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ikQC1DV0PMrPFqUeoIvI9WC2hhM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       XYQjdLS490eNt3Ax/kzFSLyKa78HkMKQk4Br9kwogoU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       oWbTqm+BA0K7mg6zTkDGn4fUpAs=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       NvmMHW0iH3YQ1n4YtSVEFX86UTl1R+D1U16OFDMXh0A=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ro.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       9U+OTz29kXKZHY/nmvbtemMsB3g=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1u1xUfPaX76iHdRCnLN4N+rQbbk=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mxnfG/PzVnIrquNtxz9xilHzGSLULnqiUjmy4wPr1IY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       7C5BXulU9j7lmP8wWY8l0JAzSng=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lfzx/TY3AUVw2O/EEdIhDlVThSVpdFiZln/hkMw6msE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       vnna1nf1l2kpdx+slsDSWmc1zHI=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8jOWo4oxwiF5d5L8CZk/HZcPcylp+OXSPOJfws65DcI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/ru.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       x6JdY7WL2dHnGXX6PHJl5da7WKE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       +vCWSRbECqQcsR6Nd8erQda/7x+ku/kQSUvZtTvemyQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       mcacHFF+DP1x6QEEwDdgih5KLf0=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       YW4YAVzd9dxoTpTCrjm8hqDWe4CnuYdws10w/+jo6R8=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       eG17GzSlQfjC4/mU1++Op/P4oPc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       2yJUxJBPRrnYu199ssT/FDZPYYAcTVIlBTNcJlg7qok=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       U2/AO+eg1l0Sahng/AjXChXlTc4=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       qNaz6OV60LKqJPoUXFcG7IbEPZbOzdNy0U9E3c1Y6Mk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       qn/mo2EFOyw6keezS64Wo5ZGZXU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kA94ozF0qi31vtUuGgZ2ZMzu1DY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       x7tcti47AfpXmhXtisJ3RZB09lViBpHE0zSVQFhmWBo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Jl19StfYmbiByPDrMQazCsH9SuM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       bxB9INNteyLOVcT6y9aLkMoHcpFfB8BbLFxvP2wI/ZU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       k/IJsVcHctZ2UbOtiQsTvHx74lc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       T21OgIyn9uMdQlz4iMJ4zwhQp0HL7/t4VwrVJGbq3OE=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sl.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       kwvdisufBenuQzrVg8tYKTX+qgg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       s7VqsrI40vJFZ3QHlJ8rAQLPQJc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       24Tcx4srno5b5X3jPdzJf51UB3Y7rYxLI3yo/txJv4E=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       ZJ/cyOSNuqJUjyR3eclaPRASOhE=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       EqY2I/Kubso7K1QNVN6iFqAxdrs9r1S06T3LQmT4sCM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       YbrfE5/QvbK0LNrSLHAY3/S4fFM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       u3ViwNFjHDH1L0YwAbMBhk4jSuEgW1i1wVkicS122Ho=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/sv.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       98/sk+A2Ew1fmKpuKZ3rq8eS1EM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       Hh55mq2azZNGsXUfsQ+aslIexIU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       1gh4erbRdlTGz2ajzN6/r1eOejqrrm4tEBGkLCJvPjU=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       BnhGQ74iKGYaENEK9iLaiAiXjDg=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       JAuH/Dirjof04rrKK8tF0KzqQPI8yo6Dj+WRvGaNAyo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       0X0Yu67oweP0yQLjPMLQ5/SdrIY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       X7g6AAJg3M2Cy+HshNeo0WAAkrmH5rSOaPcOr8xpMs4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/th.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       HQwGW1Ebf0i+Bl4synks3x2SY2M=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       6o5w0pqVbKmd5bWoiH9659+zRFM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       GoFKCUw+US53C0EXSRtwG8Ljtv3HJ5QmqRgiFyyG8MI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       +moR0Pq4x/xokjAcOmpUUIakSGc=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       PeGI77CSsUYrhbQHQ7ylkIhieERyLeW8WMDz53rjpKQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UPPnsRQdJuqMXNbSfZyi4cXSFys=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       lg2uMs57Rr5KJOLqljZSrsXAVrFpnG05rnSsf9CqnRs=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/tr.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       whUQco5F2wcYdjc+cPKlk+mtx7Q=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       UiYYV9jAIRc042ADR7KGxmBYLGM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Dz6ERGgnwwW49ykkHcS5Q6Y6dRU9JcddFjxKiXm/oJI=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       XO2ZqR7re0XFlFOjom3hqe8QYLQ=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Vpg51BfZvUx1OWKqmYaB+fmwg0wmx0qLiyqyWIr6SAk=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/uk.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       JXhpqvLkX0yDWjbWgsk2wbSObKU=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       xuNfFlqaorqUnIg4Vud+VtY2ld8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       McBU5WSIt98n0A8NU1+QJa2mKplpuYUiVf1aavTm3qM=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       nv5vdtxa5px73vaGNZLva8Ke6/8=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       nywOtEBT/zcM2/SlqjYfLMvBDGjTf3cEDQtLF+xuIKw=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       hsxf2OFnnjPvD0J6Txmtbqn0HEY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       jL1OTrMvd2n/kU6fTg1VTdy/Hg6yMwUYRLB+q8kD6Fo=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       OnR96Z9tB0noODRSYssSs63+zGA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       zvMbFdgVGI0ls9vIRT+sie7dj2g1UjQu7iS+pOgyBo4=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUAutomaticUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       sK1HJbeQlnXwC/iWB2qCFdS3kJM=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Hvq78gKiBaI14eCHIBF1qWtNFLRBp4YFc06TlWHuhy0=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUUpdateAlert.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       V3vtjphOC+UWkuM/uqrEHt0jiWY=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       GrVyadHrs+NNZ3QRE0zGFKRagBAxd6TG4GwIpwO/XJY=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       pieF1GpcUXW3VO30sjCT6YmCZ3Y=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       8itKqMvZINz63qbK47TTKn/mmeINjU7ITPNQ0tB/8js=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
-               <dict>
-                       <key>hash</key>
-                       <data>
-                       1FLKoM5jZ8JGBG/nmyEIA+/aalA=
-                       </data>
-                       <key>hash2</key>
-                       <data>
-                       Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ=
-                       </data>
-                       <key>optional</key>
-                       <true/>
-               </dict>
-       </dict>
-       <key>rules</key>
-       <dict>
-               <key>^Resources/</key>
-               <true/>
-               <key>^Resources/.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^Resources/.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Resources/Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^version.plist$</key>
-               <true/>
-       </dict>
-       <key>rules2</key>
-       <dict>
-               <key>.*\.dSYM($|/)</key>
-               <dict>
-                       <key>weight</key>
-                       <real>11</real>
-               </dict>
-               <key>^(.*/)?\.DS_Store$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>2000</real>
-               </dict>
-               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
-               <dict>
-                       <key>nested</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>10</real>
-               </dict>
-               <key>^.*</key>
-               <true/>
-               <key>^Info\.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^PkgInfo$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^Resources/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^Resources/.*\.lproj/</key>
-               <dict>
-                       <key>optional</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1000</real>
-               </dict>
-               <key>^Resources/.*\.lproj/locversion.plist$</key>
-               <dict>
-                       <key>omit</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>1100</real>
-               </dict>
-               <key>^Resources/Base\.lproj/</key>
-               <dict>
-                       <key>weight</key>
-                       <real>1010</real>
-               </dict>
-               <key>^[^/]+$</key>
-               <dict>
-                       <key>nested</key>
-                       <true/>
-                       <key>weight</key>
-                       <real>10</real>
-               </dict>
-               <key>^embedded\.provisionprofile$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-               <key>^version\.plist$</key>
-               <dict>
-                       <key>weight</key>
-                       <real>20</real>
-               </dict>
-       </dict>
-</dict>
-</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/Autoupdate b/OSX/Sparkle.framework/Versions/B/Autoupdate
new file mode 100755 (executable)
index 0000000..a4d07ca
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Autoupdate differ
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h
new file mode 100644 (file)
index 0000000..d33ab01
--- /dev/null
@@ -0,0 +1,52 @@
+//
+//  SPUDownloadData.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 8/10/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A class for containing downloaded data along with some information about it.
+ */
+SU_EXPORT @interface SPUDownloadData : NSObject <NSSecureCoding>
+
+/**
+ * The raw data that was downloaded.
+ */
+@property (nonatomic, readonly) NSData *data;
+
+/**
+ * The URL that was fetched from.
+ *
+ * This may be different from the URL in the request if there were redirects involved.
+ */
+@property (nonatomic, readonly, copy) NSURL *URL;
+
+/**
+ * The IANA charset encoding name if available. Eg: "utf-8"
+ */
+@property (nonatomic, readonly, nullable, copy) NSString *textEncodingName;
+
+/**
+ * The MIME type if available. Eg: "text/plain"
+ */
+@property (nonatomic, readonly, nullable, copy) NSString *MIMEType;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h
new file mode 100644 (file)
index 0000000..2ebce1a
--- /dev/null
@@ -0,0 +1,121 @@
+//
+//  SPUStandardUpdaterController.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 2/28/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SPUUpdater;
+@class SPUStandardUserDriver;
+@class NSMenuItem;
+@protocol SPUUserDriver, SPUUpdaterDelegate, SPUStandardUserDriverDelegate;
+
+/**
+ A controller class that instantiates a `SPUUpdater` and allows binding UI to its updater settings.
+ This class can be instantiated in a nib or created programatically using `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:`.
+ The controller's updater targets the application's main bundle and uses Sparkle's standard user interface.
+ Typically, this class is used by sticking it as a custom NSObject subclass in an Interface Builder nib (probably in MainMenu) but it works well programatically too.
+ The controller creates an `SPUUpdater` instance using a `SPUStandardUserDriver` and allows hooking up the check for updates action and handling menu item validation.
+ It also allows hooking up the updater's and user driver's delegates.
+ If you need more control over what bundle you want to update, or you want to provide a custom user interface (via `SPUUserDriver`), please use `SPUUpdater` directly instead.
+  */
+SU_EXPORT @interface SPUStandardUpdaterController : NSObject
+{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wobjc-interface-ivars"
+    /**
+     * Interface builder outlet for the updater's delegate.
+     */
+    IBOutlet __weak id<SPUUpdaterDelegate> updaterDelegate;
+    
+    /**
+     * Interface builder outlet for the user driver's delegate.
+     */
+    IBOutlet __weak id<SPUStandardUserDriverDelegate> userDriverDelegate;
+#pragma clang diagnostic pop
+}
+
+/**
+ Accessible property for the updater. Some properties on the updater can be binded via KVO
+ When instantiated from a nib, don't perform update checks before the application has finished launching in a MainMenu nib (i.e applicationDidFinishLaunching:) or before the corresponding window/view controller has been loaded (i.e, windowDidLoad or viewDidLoad). The updater is not guaranteed to be started yet before these points.
+ */
+@property (nonatomic, readonly) SPUUpdater *updater;
+
+/**
+ Accessible property for the updater's user driver.
+ */
+@property (nonatomic, readonly) SPUStandardUserDriver *userDriver;
+
+/**
+ Create a new `SPUStandardUpdaterController` from a nib.
+ You cannot call this initializer directly. You must instantiate a `SPUStandardUpdaterController` inside of a nib (typically the MainMenu nib) to use it.
+ To create a `SPUStandardUpdaterController` programatically, use `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:` instead.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ Create a new `SPUStandardUpdaterController` programmatically.
+ The updater is started automatically. See `-startUpdater`  for more information.
+ */
+- (instancetype)initWithUpdaterDelegate:(nullable id<SPUUpdaterDelegate>)updaterDelegate userDriverDelegate:(nullable id<SPUStandardUserDriverDelegate>)userDriverDelegate;
+
+/**
+ Create a new `SPUStandardUpdaterController` programmatically allowing you to specify whether or not to start the updater immediately.
+ You can specify whether or not you want to start the updater immediately.
+ If you do not start the updater, you must invoke `-startUpdater` at a later time to start it.
+ */
+- (instancetype)initWithStartingUpdater:(BOOL)startUpdater updaterDelegate:(nullable id<SPUUpdaterDelegate>)updaterDelegate userDriverDelegate:(nullable id<SPUStandardUserDriverDelegate>)userDriverDelegate;
+
+/**
+ Starts the updater if it has not already been started.
+ You should only call this method yourself if you opted out of starting the updater on initialization.
+ Hence, do not call this yourself if you are instantiating this controller from a nib.
+ This invokes  `-[SPUUpdater startUpdater:]`. If the application is misconfigured with Sparkle, an error is logged and an alert is shown to the user (after a few seconds) to contact the developer.
+ If you want more control over this behavior, you can create your own `SPUUpdater` instead of using `SPUStandardUpdaterController`.
+ */
+- (void)startUpdater;
+
+/**
+ Explicitly checks for updates and displays a progress dialog while doing so.
+ This method is meant for a main menu item.
+ Connect any NSMenuItem to this action in Interface Builder or programmatically,
+ and Sparkle will check for updates and report back its findings verbosely when it is invoked.
+ When the target/action of the menu item is set to this controller and this method,
+ this controller also handles enabling/disabling the menu item by checking
+ `-[SPUUpdater canCheckForUpdates]`
+ This action checks updates by invoking `-[SPUUpdater checkForUpdates]`
+ */
+- (IBAction)checkForUpdates:(nullable id)sender;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h
new file mode 100644 (file)
index 0000000..f8d5ef0
--- /dev/null
@@ -0,0 +1,47 @@
+//
+//  SPUStandardUserDriver.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 2/14/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SPUUserDriver.h"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SPUUserDriver.h>
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol SPUStandardUserDriverDelegate;
+
+/**
+ Sparkle's standard built-in user driver for updater interactions
+ */
+SU_EXPORT @interface SPUStandardUserDriver : NSObject <SPUUserDriver>
+
+/**
+ Initializes a Sparkle's standard user driver for user update interactions
+ @param hostBundle The target bundle of the host that is being updated.
+ @param delegate The optional delegate to this user driver.
+ */
+- (instancetype)initWithHostBundle:(NSBundle *)hostBundle delegate:(nullable id<SPUStandardUserDriverDelegate>)delegate;
+
+/**
+ Use initWithHostBundle:delegate: instead.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h
new file mode 100644 (file)
index 0000000..7ed3bff
--- /dev/null
@@ -0,0 +1,193 @@
+//
+//  SPUStandardUserDriverDelegate.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 3/3/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol SUVersionDisplay;
+@class SUAppcastItem;
+@class SPUUserUpdateState;
+
+/**
+ A protocol for Sparkle's standard user driver's delegate
+ This includes methods related to UI interactions
+ */
+SU_EXPORT @protocol SPUStandardUserDriverDelegate <NSObject>
+
+@optional
+
+/**
+ Called before showing a modal alert window,
+ to give the opportunity to hide attached windows that may get in the way.
+ */
+- (void)standardUserDriverWillShowModalAlert;
+
+/**
+ Called after showing a modal alert window,
+ to give the opportunity to hide attached windows that may get in the way.
+ */
+- (void)standardUserDriverDidShowModalAlert;
+
+/**
+ Returns an object that formats version numbers for display to the user.
+ If you don't implement this method or return @c nil, the standard version formatter will be used.
+ */
+- (_Nullable id <SUVersionDisplay>)standardUserDriverRequestsVersionDisplayer;
+
+/**
+ Decides whether or not the standard user driver should provide an option to show full release notes to the user.
+ When a user checks for new updates and no new update is found, Sparkle by default will offer to show the application's version history to the user
+ by providing a "Version History" button in the no new update available alert.
+ If this delegate method is implemented to return `NO`, then Sparkle will not provide an option to show full release notes to the user.
+ @param item The appcast item corresponding to the latest version available.
+ @return @c YES to allow Sparkle to show full release notes to the user, otherwise @c NO to disallow this.
+ */
+- (BOOL)standardUserDriverShouldShowVersionHistoryForAppcastItem:(SUAppcastItem *)item;
+
+/**
+ Handles showing the full release notes to the user.
+ When a user checks for new updates and no new update is found, Sparkle will offer to show the application's version history to the user
+ by providing a "Version History" button in the no new update available alert.
+ If this delegate method is not implemented, Sparkle will instead offer to open the
+ `fullReleaseNotesLink` (or `releaseNotesLink` if the former is unavailable) from the appcast's latest `item` in the user's web browser.
+ If this delegate method is implemented, Sparkle will instead ask the delegate to show the full release notes to the user.
+ A delegate may want to implement this method if they want to show in-app or offline release notes.
+ @param item The appcast item corresponding to the latest version available.
+ */
+- (void)standardUserDriverShowVersionHistoryForAppcastItem:(SUAppcastItem *)item;
+
+/**
+ Specifies whether or not the download, extraction, and installing status windows allows to be minimized.
+ By default, the status window showing the current status of the update (download, extraction, ready to install) is allowed to be minimized
+ for regular application bundle updates.
+ @return @c YES if the status window is allowed to be minimized (default behavior), otherwise @c NO.
+ */
+- (BOOL)standardUserDriverAllowsMinimizableStatusWindow;
+
+/**
+ Declares whether or not gentle scheduled update reminders are supported.
+ The delegate may implement scheduled update reminders that are presented in a gentle manner by implementing one or both of:
+ `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` and `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:`
+ Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples.
+ @return @c YES if gentle scheduled update reminders are implemented by standard user driver delegate, otherwise @c NO (default).
+ */
+@property (nonatomic, readonly) BOOL supportsGentleScheduledUpdateReminders;
+
+/**
+ Specifies if the standard user driver should handle showing a new scheduled update, or if its delegate should handle showing the update instead.
+ If you implement this method and return @c NO the delegate is then responsible for showing the update,
+ which must be implemented and done in `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:`
+ The motivation for the delegate being responsible for showing updates is to override Sparkle's default behavior
+ and add gentle reminders for new updates.
+ Returning @c YES is the default behavior and allows the standard user driver to handle showing the update.
+ If the standard user driver handles showing the update, `immediateFocus` reflects whether or not it will show the update in immediate and utmost focus.
+ The standard user driver may choose to show the update in immediate and utmost focus when the app was launched recently
+ or the system has been idle for some time.
+ If `immediateFocus` is @c NO the standard user driver may want to defer showing the update until the user comes back to the app.
+ For background running applications, when `immediateFocus` is  @c NO the standard user driver will always want to show
+ the update alert immediately, but behind other running applications or behind the app's own windows if it's currently active.
+ There should be no side effects made when implementing this method so you should just return @c YES or @c NO
+ You will also want to implement `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` for adding additional update reminders.
+ This method is not called for user-initiated update checks. The standard user driver always handles those.
+ Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples.
+ @param update The update the standard user driver should show.
+ @param immediateFocus If @c immediateFocus is @c YES, then the standard user driver proposes to show the update in immediate and utmost focus. See discussion for more details.
+ @return @c YES if the standard user should handle showing the scheduled update (default behavior), otherwise @c NO if the delegate handles showing it.
+ */
+- (BOOL)standardUserDriverShouldHandleShowingScheduledUpdate:(SUAppcastItem *)update andInImmediateFocus:(BOOL)immediateFocus;
+
+/**
+ Called before an update will be shown to the user.
+ If the standard user driver handles showing the update, `handleShowingUpdate` will be `YES`.
+ Please see `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:` for how the standard user driver
+ may handle showing scheduled updates when `handleShowingUpdate` is `YES` and `state.userInitiated` is `NO`.
+ If the delegate declared it handles showing the update by returning @c NO in `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:`
+ then the delegate should handle showing update reminders in this method, or at some later point.
+ In this case, `handleShowingUpdate` will be @c NO.
+ To bring the update alert in focus, you may call `-[SPUStandardUpdaterController checkForUpdates:]` or `-[SPUUpdater checkForUpdates]`.
+ You may want to show additional UI indicators in your application that will show this update in focus
+ and want to dismiss additional UI indicators in `-standardUserDriverWillFinishUpdateSession` or `-standardUserDriverDidReceiveUserAttentionForUpdate:`
+  
+ If `state.userInitiated` is @c YES then the standard user driver always handles showing the new update and `handleShowingUpdate` will be @c YES.
+ In this case, it may still be useful for the delegate to intercept this method right before a new update will be shown.
+ This method is not called when bringing an update that has already been presented back in focus.
+ Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples.
+ @param handleShowingUpdate @c YES if the standard user driver handles showing the update, otherwise @c NO if the delegate handles showing the update.
+ @param update The update that will be shown.
+ @param state The user state of the update which includes if the update check was initiated by the user.
+ */
+- (void)standardUserDriverWillHandleShowingUpdate:(BOOL)handleShowingUpdate forUpdate:(SUAppcastItem *)update state:(SPUUserUpdateState *)state;
+
+/**
+ Called when a new update first receives attention from the user.
+ This occurs either when the user first brings the update alert in utmost focus or when the user makes a choice to install an update or dismiss/skip it.
+ This may be useful to intercept for dismissing custom attention-based UI indicators (e.g, user notifications) introduced when implementing
+ `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:`
+ For custom UI indicators that need to still be on screen after the user has started to install an update, please see `-standardUserDriverWillFinishUpdateSession`.
+ @param update The new update that the user gave attention to.
+ */
+- (void)standardUserDriverDidReceiveUserAttentionForUpdate:(SUAppcastItem *)update;
+
+/**
+ Called before the standard user driver session will finish its current update session.
+ This may occur after the user has dismissed / skipped a new update or after an update error has occurred.
+ For updaters updating external/other bundles, this may also be called after an update has been successfully installed.
+ This may be useful to intercept for dismissing custom UI indicators introduced when implementing
+ `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:`
+ For UI indicators that need to be dismissed when the user has given attention to a new update alert,
+ please see `-standardUserDriverDidReceiveUserAttentionForUpdate:`
+ */
+- (void)standardUserDriverWillFinishUpdateSession;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h
new file mode 100644 (file)
index 0000000..80a2001
--- /dev/null
@@ -0,0 +1,33 @@
+//
+//  SPUUpdateCheck.h
+//  SPUUpdateCheck
+//
+//  Created by Mayur Pawashe on 8/28/21.
+//  Copyright © 2021 Sparkle Project. All rights reserved.
+//
+
+#ifndef SPUUpdateCheck_h
+#define SPUUpdateCheck_h
+
+/**
+ Describes the type of update check being performed.
+ Each update check corresponds to an update check method on `SPUUpdater`.
+ */
+typedef NS_ENUM(NSInteger, SPUUpdateCheck)
+{
+    /**
+     The user-initiated update check corresponding to `-[SPUUpdater checkForUpdates]`.
+     */
+    SPUUpdateCheckUpdates = 0,
+    /**
+     The background scheduled update check corresponding to `-[SPUUpdater checkForUpdatesInBackground]`.
+     */
+    SPUUpdateCheckUpdatesInBackground = 1,
+    /**
+     The informational probe update check corresponding to `-[SPUUpdater checkForUpdateInformation]`.
+     */
+    SPUUpdateCheckUpdateInformation = 2
+};
+
+#endif /* SPUUpdateCheck_h */
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h
new file mode 100644 (file)
index 0000000..c1a362c
--- /dev/null
@@ -0,0 +1,42 @@
+//
+//  SPUUpdatePermissionRequest.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 8/14/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ This class represents information needed to make a permission request for checking updates.
+ */
+SU_EXPORT @interface SPUUpdatePermissionRequest : NSObject<NSSecureCoding>
+
+/**
+ Initializes a new update permission request instance.
+ @param systemProfile The system profile information.
+ */
+- (instancetype)initWithSystemProfile:(NSArray<NSDictionary<NSString *, NSString *> *> *)systemProfile;
+
+/**
+ A read-only property for the user's system profile.
+ */
+@property (nonatomic, readonly) NSArray<NSDictionary<NSString *, NSString *> *> *systemProfile;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdater.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdater.h
new file mode 100644 (file)
index 0000000..e2f8dca
--- /dev/null
@@ -0,0 +1,368 @@
+//
+//  SPUUpdater.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 1/4/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#import "SPUUserDriver.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#import <Sparkle/SPUUserDriver.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SUAppcastItem, SUAppcast;
+
+@protocol SPUUpdaterDelegate;
+
+/**
+ The main API in Sparkle for controlling the update mechanism.
+
+ This class is used to configure the update parameters as well as manually and automatically schedule and control checks for updates.
+ For convenience, you can create a standard or nib instantiable updater by using `SPUStandardUpdaterController`.
+ Prefer to set initial properties in your bundle's Info.plist as described in [Customizing Sparkle](https://sparkle-project.org/documentation/customization/).
+ Otherwise only if you need dynamic behavior for user settings should you set properties on the updater such as:
+ - `automaticallyChecksForUpdates`
+ - `updateCheckInterval`
+ - `automaticallyDownloadsUpdates`
+ - `feedURL`
+ Please view the documentation on each of these properties for more detail if you are to configure them dynamically.
+ */
+SU_EXPORT @interface SPUUpdater : NSObject
+
+/**
+ Initializes a new `SPUUpdater` instance
+ This creates an updater, but to start it and schedule update checks `-startUpdater:` needs to be invoked first.
+ Related: See `SPUStandardUpdaterController` which wraps a `SPUUpdater` instance and is suitable for instantiating inside of nib files.
+ @param hostBundle The bundle that should be targetted for updating.
+ @param applicationBundle The application bundle that should be waited for termination and relaunched (unless overridden). Usually this can be the same as hostBundle. This may differ when updating a plug-in or other non-application bundle.
+ @param userDriver The user driver that Sparkle uses for user update interaction.
+ @param delegate The delegate for `SPUUpdater`.
+ */
+- (instancetype)initWithHostBundle:(NSBundle *)hostBundle applicationBundle:(NSBundle *)applicationBundle userDriver:(id <SPUUserDriver>)userDriver delegate:(nullable id<SPUUpdaterDelegate>)delegate;
+
+/**
+ Use `-initWithHostBundle:applicationBundle:userDriver:delegate:` or `SPUStandardUpdaterController` standard adapter instead.
+ If you want to drop an updater into a nib, use `SPUStandardUpdaterController`.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ Starts the updater.
+
+ This method first checks if Sparkle is configured properly. A valid feed URL should be set before this method is invoked.
+
+ If the configuration is valid, an update cycle is started in the next main runloop cycle.
+ During this cycle, a permission prompt may be brought up (if needed) for checking if the user wants automatic update checking.
+ Otherwise if automatic update checks are enabled, a scheduled update alert may be brought up if enough time has elapsed since the last check.
+ See `automaticallyChecksForUpdates` for more information.
+
+ After starting the updater and before the next runloop cycle, one of `-checkForUpdates`, `-checkForUpdatesInBackground`, or `-checkForUpdateInformation` can be invoked.
+ This may be useful if you want to check for updates immediately or without showing a potential permission prompt.
+ If the updater cannot be started (i.e, due to a configuration issue in the application), you may want to fall back appropriately.
+ For example, the standard updater controller (`SPUStandardUpdaterController`) alerts the user that the app is misconfigured and to contact the developer.
+
+ This must be called on the main thread.
+
+ @param error The error that is populated if this method fails. Pass NULL if not interested in the error information.
+ @return YES if the updater started otherwise NO with a populated error
+ */
+- (BOOL)startUpdater:(NSError * __autoreleasing *)error;
+
+/**
+ Checks for updates, and displays progress while doing so if needed.
+ This is meant for users initiating a new update check or checking the current update progress.
+ If an update hasn't started, the user may be shown that a new check for updates is occurring.
+ If an update has already been downloaded or begun installing from a previous session, the user may be presented to install that update.
+ If the user is already being presented with an update, that update will be shown to the user in active focus.
+ This will find updates that the user has previously opted into skipping.
+ See `canCheckForUpdates` property which can determine when this method may be invoked.
+ */
+- (void)checkForUpdates;
+
+/**
+ Checks for updates, but does not show any UI unless an update is found.
+ You usually do not need to call this method directly. If `automaticallyChecksForUpdates` is @c YES,
+ Sparkle calls this method automatically according to its update schedule using the `updateCheckInterval`
+ and the `lastUpdateCheckDate`. Therefore, you should typically only consider calling this method directly if you
+ opt out of automatic update checks. Calling this method when updating your own bundle is invalid if Sparkle is configured
+ to ask the user's permission to check for updates automatically and `automaticallyChecksForUpdates` is `NO`.
+ If you want to reset the updater's cycle after an updater setting change, see `resetUpdateCycle` or `resetUpdateCycleAfterShortDelay` instead.
+ This is meant for programmatically initating a check for updates in the background without the user initiating it.
+ This check will not show UI if no new updates are found.
+ If a new update is found, the updater's user driver may handle showing it at an appropriate (but not necessarily immediate) time.
+ If you want control over when and how a new update is shown, please see https://sparkle-project.org/documentation/gentle-reminders/
+ Note if automated downloading/installing is turned on, either a new update may be downloaded in the background to be installed silently,
+ or an already downloaded update may be shown.
+ This will not find updates that the user has opted into skipping.
+ This method does not do anything if there is a `sessionInProgress`.
+ */
+- (void)checkForUpdatesInBackground;
+
+/**
+ Begins a "probing" check for updates which will not actually offer to
+ update to that version.
+ However, the delegate methods
+ `-[SPUUpdaterDelegate updater:didFindValidUpdate:]` and
+ `-[SPUUpdaterDelegate updaterDidNotFindUpdate:]` will be called,
+ so you can use that information in your UI.
+ `-[SPUUpdaterDelegate updater:didFinishUpdateCycleForUpdateCheck:error:]` will be called when
+ this probing check is completed.
+ Updates that have been skipped by the user will not be found.
+ This method does not do anything if there is a `sessionInProgress`.
+ */
+- (void)checkForUpdateInformation;
+
+/**
+ A property indicating whether or not updates can be checked by the user.
+ An update check can be made by the user when an update session isn't in progress, or when an update or its progress is being shown to the user.
+ A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background.
+ This property is suitable to use for menu item validation for seeing if `-checkForUpdates` can be invoked.
+ This property is also KVO-compliant.
+ Note this property does not reflect whether or not an update session is in progress. Please see `sessionInProgress` property instead.
+ */
+@property (nonatomic, readonly) BOOL canCheckForUpdates;
+
+/**
+ A property indicating whether or not an update session is in progress.
+ An update session is in progress when the appcast is being downloaded, an update is being downloaded,
+ an update is being shown, update permission is being requested, or the installer is being started.
+ An active session is when Sparkle's fired scheduler is running.
+ Note an update session may not be running even though Sparkle's installer (ran as a separate process) may be running,
+ or even though the update has been downloaded but the installation has been deferred. In both of these cases, a new update session
+ may be activated with the update resumed at a later point (automatically or manually).
+ See also:
+ - `canCheckForUpdates` property which is more suited for menu item validation and deciding if the user can initiate update checks.
+ -  `-[SPUUpdaterDelegate updater:didFinishUpdateCycleForUpdateCheck:error:]` which lets the updater delegate know when an update cycle and session finishes.
+ */
+@property (nonatomic, readonly) BOOL sessionInProgress;
+
+/**
+ A property indicating whether or not to check for updates automatically.
+ By default, Sparkle asks users on second launch for permission if they want automatic update checks enabled
+ and sets this property based on their response. If `SUEnableAutomaticChecks` is set in the Info.plist,
+ this permission request is not performed however.
+ Setting this property will persist in the host bundle's user defaults.
+ Hence developers shouldn't maintain an additional user default for this property.
+ Only set this property if the user wants to change the default via a user settings option.
+ Do not always set it on launch unless you want to ignore the user's preference.
+ For testing environments, you can disable update checks by passing `-SUEnableAutomaticChecks NO`
+ to your app's command line arguments instead of setting this property.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property (nonatomic) BOOL automaticallyChecksForUpdates;
+
+/**
+ A property indicating the current automatic update check interval in seconds.
+ Prefer to set SUScheduledCheckInterval directly in your Info.plist for setting the initial value.
+ Setting this property will persist in the host bundle's user defaults.
+ Hence developers shouldn't maintain an additional user default for this property.
+ Only set this property if the user wants to change the default via a user settings option.
+ Do not always set it on launch unless you want to ignore the user's preference.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property (nonatomic) NSTimeInterval updateCheckInterval;
+
+/**
+ A property indicating whether or not updates can be automatically downloaded in the background.
+ By default, updates are not automatically downloaded.
+ By default starting from Sparkle 2.4, users are provided an option to opt in to automatically downloading and installing updates when they are asked if they want automatic update checks enabled.
+ The default value for this option is based on what the developer sets `SUAutomaticallyUpdate` in their Info.plist.
+ This is not done if `SUEnableAutomaticChecks` is set in the Info.plist however. Please check `automaticallyChecksForUpdates` property for more details.
+ Note that the developer can disallow automatic downloading of updates from being enabled (via `SUAllowsAutomaticUpdates` Info.plist key).
+ In this case, this property will return NO regardless of how this property is set.
+ Prefer to set `SUAutomaticallyUpdate` directly in your Info.plist for setting the initial value.
+ Setting this property will persist in the host bundle's user defaults.
+ Hence developers shouldn't maintain an additional user default for this property.
+ Only set this property if the user wants to change the default via a user settings option.
+ Do not always set it on launch unless you want to ignore the user's preference.
+ */
+@property (nonatomic) BOOL automaticallyDownloadsUpdates;
+
+/**
+ The URL of the appcast used to download update information.
+ If the updater's delegate implements `-[SPUUpdaterDelegate feedURLStringForUpdater:]`, this will return that feed URL.
+ Otherwise if the feed URL has been set before using `-[SPUUpdater setFeedURL:]`, the feed URL returned will be retrieved from the host bundle's user defaults.
+ Otherwise the feed URL in the host bundle's Info.plist will be returned.
+ If no feed URL can be retrieved, returns nil.
+ For setting a primary feed URL, please set the `SUFeedURL` property in your Info.plist.
+ For setting an alternative feed URL, please prefer `-[SPUUpdaterDelegate feedURLStringForUpdater:]` over `-setFeedURL:`.
+ Please see the documentation for `-setFeedURL:` for migrating away from that API.
+ This property must be called on the main thread; calls from background threads will return nil.
+ */
+@property (nonatomic, readonly, nullable) NSURL *feedURL;
+
+/**
+ Set the URL of the appcast used to download update information. This method is deprecated.
+ Setting this property will persist in the host bundle's user defaults.
+ To avoid this undesirable behavior, please consider implementing
+ `-[SPUUpdaterDelegate feedURLStringForUpdater:]` instead of using this method.
+ Calling `-clearFeedURLFromUserDefaults` will remove any feed URL that has been set in the host bundle's user defaults.
+ Passing nil to this method can also do this, but using `-clearFeedURLFromUserDefaults` is preferred.
+ To migrate away from using this API, you must clear and remove any feed URLs set in the user defaults through this API.
+ If you do not need to alternate between multiple feeds, set the SUFeedURL in your Info.plist instead of invoking this method.
+ For beta updates, you may consider migrating to `-[SPUUpdaterDelegate allowedChannelsForUpdater:]` in the future.
+ Updaters that update other developer's bundles should not call this method.
+ This method must be called on the main thread; calls from background threads will have no effect.
+ */
+- (void)setFeedURL:(nullable NSURL *)feedURL __deprecated_msg("Please call -[SPUUpdater clearFeedURLFromUserDefaults] to migrate away from using this API and transition to either specifying the feed URL in your Info.plist, using channels in Sparkle 2, or using -[SPUUpdaterDelegate feedURLStringForUpdater:] to specify the dynamic feed URL at runtime");
+
+/**
+ Clears any feed URL from the host bundle's user defaults that was set via `-setFeedURL:`
+ You should call this method if you have used `-setFeedURL:` in the past and want to stop using that API.
+ Otherwise for compatibility Sparkle will prefer to use the feed URL that was set in the user defaults over the one that was specified in the host bundle's Info.plist,
+ which is often undesirable (except for testing purposes).
+ If a feed URL is found stored in the host bundle's user defaults (from calling `-setFeedURL:`) before it gets cleared,
+ then that previously set URL is returned from this method.
+ This method should be called as soon as possible, after your application finished launching or right after the updater has been started
+ if you manually manage starting the updater.
+ Updaters that update other developer's bundles should not call this method.
+ This method must be called on the main thread.
+ @return A previously set feed URL in the host bundle's user defaults, if available, otherwise this returns `nil`
+ */
+- (nullable NSURL *)clearFeedURLFromUserDefaults;
+
+/**
+ The host bundle that is being updated.
+ */
+@property (nonatomic, readonly) NSBundle *hostBundle;
+
+/**
+ The user agent used when checking for updates.
+ By default the user agent string returned is in the format:
+ `$(BundleDisplayName)/$(BundleDisplayVersion) Sparkle/$(SparkleDisplayVersion)`
+ BundleDisplayVersion is derived from the main application's Info.plist's CFBundleShortVersionString.
+ Note if Sparkle is being used to update another application, the bundle information retrieved is from the main application performing the updating.
+ This default implementation can be overrided.
+ */
+@property (nonatomic, copy) NSString *userAgentString;
+
+/**
+ The HTTP headers used when checking for updates, downloading release notes, and downloading updates.
+ The keys of this dictionary are HTTP header fields and values are corresponding values.
+ */
+@property (nonatomic, copy, nullable) NSDictionary<NSString *, NSString *> *httpHeaders;
+
+/**
+ A property indicating whether or not the user's system profile information is sent when checking for updates.
+
+ Setting this property will persist in the host bundle's user defaults.
+ */
+@property (nonatomic) BOOL sendsSystemProfile;
+
+/**
+ The date of the last update check or nil if no check has been performed yet.
+ For testing purposes, the last update check is stored in the `SULastCheckTime` key in the host bundle's user defaults.
+ For example, `defaults delete my-bundle-id SULastCheckTime` can be invoked to clear the last update check time and test
+ if update checks are automatically scheduled.
+ */
+@property (nonatomic, readonly, copy, nullable) NSDate *lastUpdateCheckDate;
+
+/**
+ Appropriately re-schedules the update checking timer according to the current updater settings.
+ This method should only be called in response to a user changing updater settings. This method may trigger a new update check to occur in the background if an updater setting such as the updater's feed or allowed channels has changed.
+ If the `updateCheckInterval` or `automaticallyChecksForUpdates` properties are changed, this method is automatically invoked after a short delay using `-resetUpdateCycleAfterShortDelay`. In these cases, manually resetting the update cycle is not necessary.
+ See also `-resetUpdateCycleAfterShortDelay` which gives the user a short delay before triggering a cycle reset.
+ */
+- (void)resetUpdateCycle;
+
+/**
+ Appropriately re-schedules the update checking timer according to the current updater settings after a short cancellable delay.
+ This method calls `resetUpdateCycle` after a short delay to give the user a short amount of time to cancel changing an updater setting.
+ If this method is called again, any previous reset request that is still inflight will be cancelled.
+ For example, if the user changes the `automaticallyChecksForUpdates` setting to `YES`, but quickly undoes their change then
+ no cycle reset will be done.
+ If the `updateCheckInterval` or `automaticallyChecksForUpdates` properties are changed, this method is automatically invoked. In these cases, manually resetting the update cycle is not necessary.
+ */
+- (void)resetUpdateCycleAfterShortDelay;
+
+/**
+ The system profile information that is sent when checking for updates.
+ */
+@property (nonatomic, readonly, copy) NSArray<NSDictionary<NSString *, NSString *> *> *systemProfileArray;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h
new file mode 100644 (file)
index 0000000..c879e8f
--- /dev/null
@@ -0,0 +1,476 @@
+//
+//  SPUUpdaterDelegate.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 8/12/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#import "SPUUpdateCheck.h"
+#import "SPUUserUpdateState.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#import <Sparkle/SPUUpdateCheck.h>
+#import <Sparkle/SPUUserUpdateState.h>
+#endif
+
+@protocol SUVersionComparison;
+@class SPUUpdater, SUAppcast, SUAppcastItem, SPUUserUpdateState;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// -----------------------------------------------------------------------------
+// SUUpdater Notifications for events that might be interesting to more than just the delegate
+// The updater will be the notification object
+// -----------------------------------------------------------------------------
+SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
+#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
+#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
+
+// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
+// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
+
+// -----------------------------------------------------------------------------
+//    System Profile Keys
+// -----------------------------------------------------------------------------
+
+SU_EXPORT extern NSString *const SUSystemProfilerApplicationNameKey;
+SU_EXPORT extern NSString *const SUSystemProfilerApplicationVersionKey;
+SU_EXPORT extern NSString *const SUSystemProfilerCPU64bitKey;
+SU_EXPORT extern NSString *const SUSystemProfilerCPUCountKey;
+SU_EXPORT extern NSString *const SUSystemProfilerCPUFrequencyKey;
+SU_EXPORT extern NSString *const SUSystemProfilerCPUTypeKey;
+SU_EXPORT extern NSString *const SUSystemProfilerCPUSubtypeKey;
+SU_EXPORT extern NSString *const SUSystemProfilerHardwareModelKey;
+SU_EXPORT extern NSString *const SUSystemProfilerMemoryKey;
+SU_EXPORT extern NSString *const SUSystemProfilerOperatingSystemVersionKey;
+SU_EXPORT extern NSString *const SUSystemProfilerPreferredLanguageKey;
+
+// -----------------------------------------------------------------------------
+//     SPUUpdater Delegate:
+// -----------------------------------------------------------------------------
+
+/**
+ Provides delegation methods to control the behavior of an `SPUUpdater` object.
+ */
+@protocol SPUUpdaterDelegate <NSObject>
+@optional
+
+/**
+ Returns whether to allow Sparkle to check for updates.
+ For example, this may be used to prevent Sparkle from interrupting a setup assistant.
+ Alternatively, you may want to consider starting the updater after eg: the setup assistant finishes.
+ Note in Swift, this method returns Void and is marked with the throws keyword. If this method
+ doesn't throw an error, the updater may perform an update check. Otherwise if an error is thrown (we recommend using an NSError),
+ then the updater may not perform an update check.
+ @param updater The updater instance.
+ @param updateCheck The type of update check that will be performed if the updater is allowed to check for updates.
+ @param error The  populated error object if the updater may not perform a new update check. The @c NSLocalizedDescriptionKey user info key should be populated indicating a description of the error.
+ @return @c YES if the updater is allowed to check for updates, otherwise @c NO
+*/
+- (BOOL)updater:(SPUUpdater *)updater mayPerformUpdateCheck:(SPUUpdateCheck)updateCheck error:(NSError * __autoreleasing *)error;
+
+/**
+ Returns the set of Sparkle channels the updater is allowed to find new updates from.
+ An appcast item can specify a channel the update is posted to. Without specifying a channel, the appcast item is posted to the default channel.
+ For instance:
+ ```
+ <item>
+    <sparkle:version>2.0 Beta 1</sparkle:version>
+    <sparkle:channel>beta</sparkle:channel>
+ </item>
+ ```
+ This example posts an update to the @c beta channel, so only updaters that are allowed to use the @c beta channel can find this update.
+ If the @c <sparkle:channel> element is not present, the update item is posted to the default channel and can be found by any updater.
+ You can pick any name you'd like for the channel. The valid characters for channel names are letters, numbers, dashes, underscores, and periods.
+ Note to use this feature, all app versions that your users may update from in your feed must use a version of Sparkle that supports this feature.
+ This feature was added in Sparkle 2.
+ @return The set of channel names the updater is allowed to find new updates in. An empty set is the default behavior,
+         which means the updater will only look for updates in the default channel.
+ */
+- (NSSet<NSString *> *)allowedChannelsForUpdater:(SPUUpdater *)updater;
+
+/**
+ Returns a custom appcast URL used for checking for new updates.
+ Override this to dynamically specify the feed URL.
+ @param updater The updater instance.
+ @return An appcast feed URL to check for new updates in, or  @c nil for the default behavior and if you don't want to be delegated this task.
+ */
+- (nullable NSString *)feedURLStringForUpdater:(SPUUpdater *)updater;
+
+/**
+ Returns additional parameters to append to the appcast URL's query string.
+ This is potentially based on whether or not Sparkle will also be sending along the system profile.
+ @param updater The updater instance.
+ @param sendingProfile Whether the system profile will also be sent.
+ @return An array of dictionaries with keys: `key`, `value`, `displayKey`, `displayValue`, the latter two being specifically for display to the user.
+ */
+- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SPUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+
+/**
+ Returns whether Sparkle should prompt the user about checking for new updates automatically.
+ Use this to override the default behavior.
+ @param updater The updater instance.
+ @return @c YES if the updater should prompt for permission to check for new updates automatically, otherwise @c NO
+ */
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SPUUpdater *)updater;
+
+/**
+ Returns an allowed list of system profile keys to be appended to the appcast URL's query string.
+
+ By default all keys will be included. This method allows overriding which keys should only be allowed.
+
+ @param updater The updater instance.
+
+ @return An array of system profile keys to include in the appcast URL's query string. Elements must be one of the `SUSystemProfiler*Key` constants. Return @c nil for the default behavior and if you don't want to be delegated this task.
+ */
+- (nullable NSArray<NSString *> *)allowedSystemProfileKeysForUpdater:(SPUUpdater *)updater;
+
+/**
+ Called after Sparkle has downloaded the appcast from the remote server.
+ Implement this if you want to do some special handling with the appcast once it finishes loading.
+ @param updater The updater instance.
+ @param appcast The appcast that was downloaded from the remote server.
+ */
+- (void)updater:(SPUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
+
+/**
+ Called when a new valid update is found by the update driver.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SPUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
+
+/**
+ Called when a valid new update is not found.
+ There are various reasons a new update is unavailable and can't be installed.
+ The userInfo dictionary on the error is populated with three keys:
+ - `SPULatestAppcastItemFoundKey`: if available, this may provide the latest `SUAppcastItem` that was found. This will be @c nil if it's unavailable.
+ - `SPUNoUpdateFoundReasonKey`: This will provide the `SPUNoUpdateFoundReason`.
+ For example the reason could be because the latest version in the feed requires a newer OS version or could be because the user is already on the latest version.
+ - `SPUNoUpdateFoundUserInitiatedKey`: A boolean that indicates if a new update was not found when the user intitiated an update check manually.
+ @param updater The updater instance.
+ @param error An error containing information on why a new valid update was not found
+ */
+- (void)updaterDidNotFindUpdate:(SPUUpdater *)updater error:(NSError *)error;
+
+/**
+ Called when a valid new update is not found.
+ If more information is needed on why an update was not found, use `-[SPUUpdaterDelegate updaterDidNotFindUpdate:error:]` instead.
+ @param updater The updater instance.
+ */
+- (void)updaterDidNotFindUpdate:(SPUUpdater *)updater;
+
+/**
+ Returns the item in the appcast corresponding to the update that should be installed.
+ Please consider using or migrating to other supported features before adopting this method.
+ Specifically:
+ - If you want to filter out certain tagged updates (like beta updates), consider `-[SPUUpdaterDelegate allowedChannelsForUpdater:]` instead.
+ - If you want to treat certain updates as informational-only, consider supplying @c <sparkle:informationalUpdate> with a set of affected versions users are updating from.
+ If you're using special logic or extensions in your appcast, implement this to use your own logic for finding a valid update, if any, in the given appcast.
+ Do not base your logic by filtering out items with a minimum or maximum OS version or minimum autoupdate version
+ because Sparkle already has logic for determining whether or not those items should be filtered out.
+ Also do not return a non-top level item from the appcast such as a delta item. Delta items will be ignored.
+ Sparkle picks the delta item from your selection if the appropriate one is available.
+ This method will not be invoked with an appcast that has zero items. Pick the best item from the appcast.
+ If an item is available that has the same version as the application or bundle to update, do not pick an item that is worse than that version.
+ This method may be called multiple times for different selections and filters. This method should be efficient.
+ Return `+[SUAppcastItem emptyAppcastItem]` if no appcast item is valid.
+ Return @c nil if you don't want to be delegated this task and want to let Sparkle handle picking the best valid update.
+ @param appcast The appcast that was downloaded from the remote server.
+ @param updater The updater instance.
+ @return The best valid appcast item.
+ */
+- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SPUUpdater *)updater;
+
+/**
+ Returns whether or not the updater should proceed with the new chosen update from the appcast.
+ By default, the updater will always proceed with the best selected update found in an appcast. Override this to override this behavior.
+ If you return @c NO and populate the @c error, the user is not shown this @c updateItem nor is the update downloaded or installed.
+ Note in Swift, this method returns Void and is marked with the throws keyword. If this method doesn't throw an error, the updater will proceed with the update.
+ Otherwise if an error is thrown (we recommend using an NSError), then the will not proceed with the update.
+ @param updater The updater instance.
+ @param updateItem The selected update item to proceed with.
+ @param updateCheck The type of update check that would be performed if proceeded.
+ @param error An error object that must be populated by the delegate if the updater should not proceed with the update. The @c NSLocalizedDescriptionKey user info key should be populated indicating a description of the error.
+ @return @c YES if the updater should proceed with @c updateItem, otherwise @c NO if the updater should not proceed with the update with an @c error populated.
+ */
+- (BOOL)updater:(SPUUpdater *)updater shouldProceedWithUpdate:(SUAppcastItem *)updateItem updateCheck:(SPUUpdateCheck)updateCheck error:(NSError * __autoreleasing *)error;
+
+/**
+ Called when a user makes a choice to install, dismiss, or skip an update.
+ If the @c choice is `SPUUserUpdateChoiceDismiss` and @c state.stage is `SPUUserUpdateStageDownloaded` the downloaded update is kept
+ around until the next time Sparkle reminds the user of the update.
+ If the @c choice is `SPUUserUpdateChoiceDismiss` and  @c state.stage is `SPUUserUpdateStageInstalling` the update is still set to install on application termination.
+ If the @c choice is `SPUUserUpdateChoiceSkip` the user will not be reminded in the future for this update unless they initiate an update check themselves.
+ If @c updateItem.isInformationOnlyUpdate is @c YES the @c choice cannot be `SPUUserUpdateChoiceInstall`.
+ @param updater The updater instance.
+ @param choice The choice (install, dismiss, or skip) the user made for this @c updateItem
+ @param updateItem The appcast item corresponding to the update that the user made a choice on.
+ @param state The current state for the update which includes if the update has already been downloaded or already installing.
+ */
+- (void)updater:(SPUUpdater *)updater userDidMakeChoice:(SPUUserUpdateChoice)choice forUpdate:(SUAppcastItem *)updateItem state:(SPUUserUpdateState *)state;
+
+/**
+ Returns whether the release notes (if available) should be downloaded after an update is found and shown.
+ This is specifically for the @c <releaseNotesLink> element in the appcast item.
+ @param updater The updater instance.
+ @param updateItem The update item to download and show release notes from.
+ @return @c YES to download and show the release notes if available, otherwise @c NO. The default behavior is @c YES.
+ */
+- (BOOL)updater:(SPUUpdater *)updater shouldDownloadReleaseNotesForUpdate:(SUAppcastItem *)updateItem;
+
+/**
+ Called immediately before downloading the specified update.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that is proposed to be downloaded.
+ @param request The mutable URL request that will be used to download the update.
+ */
+- (void)updater:(SPUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
+
+/**
+ Called immediately after succesfull download of the specified update.
+ @param updater The SUUpdater instance.
+ @param item The appcast item corresponding to the update that has been downloaded.
+ */
+- (void)updater:(SPUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item;
+
+/**
+ Called after the specified update failed to download.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that failed to download.
+ @param error The error generated by the failed download.
+ */
+- (void)updater:(SPUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
+
+/**
+ Called when the user cancels an update while it is being downloaded.
+ @param updater The updater instance.
+ */
+- (void)userDidCancelDownload:(SPUUpdater *)updater;
+
+/**
+ Called immediately before extracting the specified downloaded update.
+ @param updater The SUUpdater instance.
+ @param item The appcast item corresponding to the update that is proposed to be extracted.
+ */
+- (void)updater:(SPUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item;
+
+/**
+ Called immediately after extracting the specified downloaded update.
+ @param updater The SUUpdater instance.
+ @param item The appcast item corresponding to the update that has been extracted.
+ */
+- (void)updater:(SPUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item;
+
+/**
+ Called immediately before installing the specified update.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SPUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
+
+/**
+ Returns whether the relaunch should be delayed in order to perform other tasks.
+ This is not called if the user didn't relaunch on the previous update,
+ in that case it will immediately restart.
+ This may also not be called if the application is not going to relaunch after it terminates.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that is proposed to be installed.
+ @param installHandler The install handler that must be completed before continuing with the relaunch.
+ @return @c YES to delay the relaunch until @c installHandler is invoked.
+ */
+- (BOOL)updater:(SPUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvokingBlock:(void (^)(void))installHandler;
+
+/**
+ Returns whether the application should be relaunched at all.
+ Some apps **cannot** be relaunched under certain circumstances.
+ This method can be used to explicitly prevent a relaunch.
+ @param updater The updater instance.
+ @return @c YES if the updater should be relaunched, otherwise @c NO if it shouldn't.
+ */
+- (BOOL)updaterShouldRelaunchApplication:(SPUUpdater *)updater;
+
+/**
+ Called immediately before relaunching.
+ @param updater The updater instance.
+ */
+- (void)updaterWillRelaunchApplication:(SPUUpdater *)updater;
+
+/**
+ Returns an object that compares version numbers to determine their arithmetic relation to each other.
+ This method allows you to provide a custom version comparator.
+ If you don't implement this method or return @c nil,
+ the standard version comparator will be used.
+ Note that the standard version comparator may be used during installation for preventing a downgrade,
+ even if you provide a custom comparator here.
+ @param updater The updater instance.
+ @return The custom version comparator or @c nil if you don't want to be delegated this task.
+ */
+- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SPUUpdater *)updater;
+
+/**
+ Called when a background update will be scheduled after a delay.
+ Automatic update checks need to be enabled for this to trigger.
+ @param delay The delay in seconds until the next scheduled update will occur. This is an approximation and may vary due to system state.
+ @param updater The updater instance.
+ */
+- (void)updater:(SPUUpdater *)updater willScheduleUpdateCheckAfterDelay:(NSTimeInterval)delay;
+
+/**
+ Called when no update checks will be scheduled in the future.
+ This may later change if automatic update checks become enabled.
+ @param updater The updater instance.
+ */
+- (void)updaterWillNotScheduleUpdateCheck:(SPUUpdater *)updater;
+
+/**
+ Returns the decryption password (if any) which is used to extract the update archive DMG.
+ Return @c nil if no password should be used.
+ @param updater The updater instance.
+ @return The password used for decrypting the archive, or @c nil if no password should be used.
+ */
+- (nullable NSString *)decryptionPasswordForUpdater:(SPUUpdater *)updater;
+
+/**
+ Called when an update is scheduled to be silently installed on quit after downloading the update automatically.
+ If the updater is given responsibility, it can later remind the user an update is available if they have not terminated the application for a long time.
+ Also if the updater is given responsibility and the update item is marked critical, the new update will be presented to the user immediately after.
+ Even if the @c immediateInstallHandler is not invoked, the installer will attempt to install the update on termination.
+ @param updater The updater instance.
+ @param item The appcast item corresponding to the update that is proposed to be installed.
+ @param immediateInstallHandler The install handler for the delegate to immediately install the update. No UI interaction will be shown and the application will be relaunched after installation. This handler can only be used if @c YES is returned and the delegate handles installing the update. For Sparkle 2.3 onwards, this handler can be invoked multiple times in case the application cancels the termination request.
+ @return @c YES if the delegate will handle installing the update or @c NO if the updater should be given responsibility.
+ */
+- (BOOL)updater:(SPUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))immediateInstallHandler;
+
+/**
+ Called after the update driver aborts due to an error.
+ The update driver runs when checking for updates. This delegate method is called an error occurs during this process.
+ Some special possible values of `error.code` are:
+ - `SUNoUpdateError`: No new update was found.
+ - `SUInstallationCanceledError`: The user canceled installing the update when requested for authorization.
+ @param updater The updater instance.
+ @param error The error that caused the update driver to abort.
+ */
+- (void)updater:(SPUUpdater *)updater didAbortWithError:(NSError *)error;
+
+/**
+ Called after the update driver finishes.
+ The update driver runs when checking for updates. This delegate method is called when that check is finished.
+ An update may be scheduled to be installed during the update cycle, or no updates may be found, or an available update may be dismissed or skipped (which is the same as no error).
+ If the @c error is @c nil, no error has occurred.
+ Some special possible values of `error.code` are:
+ - `SUNoUpdateError`: No new update was found.
+ - `SUInstallationCanceledError`: The user canceled installing the update when requested for authorization.
+ @param updater The updater instance.
+ @param updateCheck The type of update check was performed.
+ @param error The error that caused the update driver to abort. This is @c nil if the update driver finished normally and there is no error.
+ */
+- (void)updater:(SPUUpdater *)updater didFinishUpdateCycleForUpdateCheck:(SPUUpdateCheck)updateCheck error:(nullable NSError *)error;
+
+/* Deprecated methods */
+
+- (BOOL)updaterMayCheckForUpdates:(SPUUpdater *)updater __deprecated_msg("Please use -[SPUUpdaterDelegate updater:mayPerformUpdateCheck:error:] instead.");
+
+- (void)updater:(SPUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item __deprecated_msg("Please use -[SPUUpdaterDelegate updater:userDidMakeChoice:forUpdate:state:] instead.");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h
new file mode 100644 (file)
index 0000000..8b69e96
--- /dev/null
@@ -0,0 +1,69 @@
+//
+//  SPUUpdaterSettings.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 3/27/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ This class can be used for reading certain updater settings.
+ It retrieves the settings by first looking into the host's user defaults.
+ If the setting is not found in there, then the host's Info.plist file is looked at.
+ */
+SU_EXPORT @interface SPUUpdaterSettings : NSObject
+
+- (instancetype)initWithHostBundle:(NSBundle *)hostBundle;
+
+/**
+ * Indicates whether or not automatic update checks are enabled.
+ */
+@property (readonly, nonatomic) BOOL automaticallyChecksForUpdates;
+
+/**
+ * The regular update check interval.
+ */
+@property (readonly, nonatomic) NSTimeInterval updateCheckInterval;
+
+/**
+ * Indicates whether or not automatically downloading updates is allowed to be turned on by the user.
+ * If this value is nil, the developer has not explicitly specified this option.
+ */
+@property (readonly, nonatomic, nullable) NSNumber *allowsAutomaticUpdatesOption;
+
+/**
+ * Indicates whether or not automatically downloading updates is allowed to be turned on by the user.
+ */
+@property (readonly, nonatomic) BOOL allowsAutomaticUpdates;
+
+/**
+ * Indicates whether or not automatically downloading updates is enabled by the user or developer.
+ *
+ * Note this does not indicate whether or not automatic downloading of updates is allowable.
+ * See `-allowsAutomaticUpdates` property for that.
+ */
+@property (readonly, nonatomic) BOOL automaticallyDownloadsUpdates;
+
+/**
+ * Indicates whether or not anonymous system profile information is sent when checking for updates.
+ */
+@property (readonly, nonatomic) BOOL sendsSystemProfile;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h
new file mode 100644 (file)
index 0000000..c43003f
--- /dev/null
@@ -0,0 +1,296 @@
+//
+//  SPUUserDriver.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 2/14/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SPUUserUpdateState.h"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SPUUserUpdateState.h>
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SPUUpdatePermissionRequest, SUUpdatePermissionResponse, SUAppcastItem, SPUDownloadData;
+
+/**
+ The API in Sparkle for controlling the user interaction.
+ This protocol is used for implementing a user interface for the Sparkle updater. Sparkle's internal drivers tell
+ an object that implements this protocol what actions to take and show to the user.
+ Every method in this protocol can be assumed to be called from the main thread.
+ */
+SU_EXPORT @protocol SPUUserDriver <NSObject>
+
+/**
+ * Show an updater permission request to the user
+ *
+ * Ask the user for their permission regarding update checks.
+ * This is typically only called once per app installation.
+ *
+ * @param request The update permission request.
+ * @param reply A reply with a update permission response.
+ */
+- (void)showUpdatePermissionRequest:(SPUUpdatePermissionRequest *)request reply:(void (^)(SUUpdatePermissionResponse *))reply;
+
+/**
+ * Show the user initating an update check
+ *
+ * Respond to the user initiating an update check. Sparkle uses this to show the user a window with an indeterminate progress bar.
+ *
+ * @param cancellation Invoke this cancellation block to cancel the update check before the update check is completed.
+ */
+- (void)showUserInitiatedUpdateCheckWithCancellation:(void (^)(void))cancellation;
+
+/**
+ * Show the user a new update is found.
+ *
+ * Let the user know a new update is found and ask them what they want to do.
+ * Before this point, `-showUserInitiatedUpdateCheckWithCancellation:` may be called.
+ *
+ *  The potential  `stage`s on the updater @c state are:
+ *
+ *  `SPUUpdateStateNotDownloaded` - Update has not been downloaded yet.
+ *
+ *  `SPUUpdateStateDownloaded` - Update has already been downloaded but not started installing yet.
+ *
+ *  `SPUUpdateStateInstalling` - Update has been downloaded and already started installing.
+ *
+ *  The `userIntiated` property on the @c state indicates if the update was initiated by the user or if it was automatically scheduled in the background.
+ *
+ *  Additionally, these properties on the @c appcastItem are of importance:
+ *
+ *  @c appcastItem.informationOnlyUpdate indicates if the update is only informational and should not be downloaded. You can direct the user to the infoURL property of the appcastItem in their web browser. Sometimes information only updates are used as a fallback in case a bad update is shipped, so you'll want to support this case.
+ *
+ *  @c appcastItem.majorUpgrade indicates if the update is a major or paid upgrade.
+ *
+ *  @c appcastItem.criticalUpdate indicates if the update is a critical update.
+ *
+ * A reply of `SPUUserUpdateChoiceInstall` begins or resumes downloading or installing the update.
+ * If the state.stage is `SPUUserUpdateStateInstalling`, this may send a quit event to the application and relaunch it immediately (in this state, this behaves as a fast "install and Relaunch").
+ * Do not use this reply if @c appcastItem.informationOnlyUpdate is YES.
+ *
+ * A reply of `SPUUserUpdateChoiceDismiss` dismisses the update for the time being. The user may be reminded of the update at a later point.
+ * If the state.stage is `SPUUserUpdateStateDownloaded`, the downloaded update is kept after dismissing until the next time an update is shown to the user.
+ * If the state.stage is `SPUUserUpdateStateInstalling`, the installing update is also preserved after dismissing. In this state however, the update will also still be installed after the application is terminated.
+ *
+ * A reply of `SPUUserUpdateChoiceSkip` skips this particular version and won't notify the user again, unless they initiate an update check themselves.
+ * If @c appcastItem.majorUpgrade is YES, the major update and any future minor updates to that major release are skipped, unless a future minor update specifies a `<sparkle:ignoreSkippedUpgradesBelowVersion>` requirement.
+ * If the state.stage is `SPUUpdateStateInstalling`, the installation is also canceled when the update is skipped.
+ *
+ * @param appcastItem The Appcast Item containing information that reflects the new update.
+ * @param state The current state of the user update. See above discussion for notable properties.
+ * @param reply The reply which indicates if the update should be installed, dismissed, or skipped. See above discussion for more details.
+ */
+- (void)showUpdateFoundWithAppcastItem:(SUAppcastItem *)appcastItem state:(SPUUserUpdateState *)state reply:(void (^)(SPUUserUpdateChoice))reply;
+
+/**
+ * Show the user the release notes for the new update
+ *
+ * Display the release notes to the user. This will be called after showing the new update.
+ * This is only applicable if the release notes are linked from the appcast, and are not directly embedded inside of the appcast file.
+ * That is, this may be invoked if the releaseNotesURL from the appcast item is non-nil.
+ *
+ * @param downloadData The data for the release notes that was downloaded from the new update's appcast.
+ */
+- (void)showUpdateReleaseNotesWithDownloadData:(SPUDownloadData *)downloadData;
+
+/**
+ * Show the user that the new update's release notes could not be downloaded
+ *
+ * This will be called after showing the new update.
+ * This is only applicable if the release notes are linked from the appcast, and are not directly embedded inside of the appcast file.
+ * That is, this may be invoked if the releaseNotesURL from the appcast item is non-nil.
+ *
+ * @param error The error associated with why the new update's release notes could not be downloaded.
+ */
+- (void)showUpdateReleaseNotesFailedToDownloadWithError:(NSError *)error;
+
+/**
+ * Show the user a new update was not found
+ *
+ * Let the user know a new update was not found after they tried initiating an update check.
+ * Before this point, `-showUserInitiatedUpdateCheckWithCancellation:` may be called.
+ *
+ * There are various reasons a new update is unavailable and can't be installed.
+ * The @c error object is populated with recovery and suggestion strings suitable to be shown in an alert.
+ *
+ * The @c userInfo dictionary on the @c error is also populated with two keys:
+ *
+ * `SPULatestAppcastItemFoundKey`: if available, this may provide the latest SUAppcastItem that was found.
+ *
+ * `SPUNoUpdateFoundReasonKey`: if available, this will provide the `SUNoUpdateFoundReason`. For example the reason could be because
+ * the latest version in the feed requires a newer OS version or could be because the user is already on the latest version.
+ *
+ * @param error The error associated with why a new update was not found. See above discussion for more details.
+ * @param acknowledgement Acknowledge to the updater that no update found error was shown.
+ */
+- (void)showUpdateNotFoundWithError:(NSError *)error acknowledgement:(void (^)(void))acknowledgement;
+
+/**
+ * Show the user an update error occurred
+ *
+ * Let the user know that the updater failed with an error. This will not be invoked without the user having been
+ * aware that an update was in progress.
+ *
+ * Before this point, any of the non-error user driver methods may have been invoked.
+ *
+ * @param error The error associated with what update error occurred.
+ * @param acknowledgement Acknowledge to the updater that the error was shown.
+ */
+- (void)showUpdaterError:(NSError *)error acknowledgement:(void (^)(void))acknowledgement;
+
+/**
+ * Show the user that downloading the new update initiated
+ *
+ * Let the user know that downloading the new update started.
+ *
+ * @param cancellation Invoke this cancellation block to cancel the download at any point before `-showDownloadDidStartExtractingUpdate` is invoked.
+ */
+- (void)showDownloadInitiatedWithCancellation:(void (^)(void))cancellation;
+
+/**
+ * Show the user the content length of the new update that will be downloaded
+ *
+ * @param expectedContentLength The expected content length of the new update being downloaded.
+ * An implementor should be able to handle if this value is invalid (more or less than actual content length downloaded).
+ * Additionally, this method may be called more than once for the same download in rare scenarios.
+ */
+- (void)showDownloadDidReceiveExpectedContentLength:(uint64_t)expectedContentLength;
+
+/**
+ * Show the user that the update download received more data
+ *
+ * This may be an appropriate time to advance a visible progress indicator of the download
+ * @param length The length of the data that was just downloaded
+ */
+- (void)showDownloadDidReceiveDataOfLength:(uint64_t)length;
+
+/**
+ * Show the user that the update finished downloading and started extracting
+ *
+ * Sparkle uses this to show an indeterminate progress bar.
+ *
+ * Note that an update can resume at this point after having been downloaded before,
+ * so this may be called without any of the download callbacks being invoked prior.
+ */
+- (void)showDownloadDidStartExtractingUpdate;
+
+/**
+ * Show the user that the update is extracting with progress
+ *
+ * Let the user know how far along the update extraction is.
+ *
+ * Before this point, `-showDownloadDidStartExtractingUpdate` is called.
+ *
+ * @param progress The progress of the extraction from a 0.0 to 1.0 scale
+ */
+- (void)showExtractionReceivedProgress:(double)progress;
+
+/**
+ * Show the user that the update is ready to install & relaunch
+ *
+ * Let the user know that the update is ready to install and relaunch, and ask them whether they want to proceed.
+ * Note if the target application has already terminated, this method may not be invoked.
+ *
+ * A reply of `SPUUserUpdateChoiceInstall` installs the update the new update immediately. The application is relaunched only if it is still running by the time this reply is invoked. If the application terminates on its own, Sparkle will attempt to automatically install the update.
+ *
+ * A reply of `SPUUserUpdateChoiceDismiss` dismisses the update installation for the time being. Note the update may still be installed automatically after the application terminates.
+ *
+ * A reply of `SPUUserUpdateChoiceSkip` cancels the current update that has begun installing and dismisses the update. In this circumstance, the update is canceled but this update version is not skipped in the future.
+ *
+ * Before this point, `-showExtractionReceivedProgress:` or  `-showUpdateFoundWithAppcastItem:state:reply:` may be called.
+ *
+ * @param reply The reply which indicates if the update should be installed, dismissed, or skipped. See above discussion for more details.
+ */
+- (void)showReadyToInstallAndRelaunch:(void (^)(SPUUserUpdateChoice))reply;
+
+/**
+ * Show the user that the update is installing
+ *
+ * Let the user know that the update is currently installing.
+ *
+ * Before this point, `-showReadyToInstallAndRelaunch:` or  `-showUpdateFoundWithAppcastItem:state:reply:` will be called.
+ *
+ * @param applicationTerminated Indicates if the application has been terminated already.
+ * If the application hasn't been terminated, a quit event is sent to the running application before installing the update.
+ * If the application or user delays or cancels termination, there may be an indefinite period of time before the application fully quits.
+ * It is up to the implementor whether or not to decide to continue showing installation progress in this case.
+ *
+ * @param retryTerminatingApplication This handler gives a chance for the application to re-try sending a quit event to the running application before installing the update.
+ * The application may cancel or delay termination. This handler gives the user driver another chance to allow the user to try terminating the application again.
+ * If the application does not delay or cancel application termination, there is no need to invoke this handler. This handler may be invoked multiple times.
+ * Note this handler should not be invoked if @c applicationTerminated is already @c YES
+ */
+- (void)showInstallingUpdateWithApplicationTerminated:(BOOL)applicationTerminated retryTerminatingApplication:(void (^)(void))retryTerminatingApplication;
+
+/**
+ * Show the user that the update installation finished
+ *
+ * Let the user know that the update finished installing.
+ *
+ * This will only be invoked if the updater process is still alive, which is typically not the case if
+ * the updater's lifetime is tied to the application it is updating. This implementation must not try to reference
+ * the old bundle prior to the installation, which will no longer be around.
+ *
+ * Before this point, `-showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication:` will be called.
+ *
+ * @param relaunched Indicates if the update was relaunched.
+ * @param acknowledgement Acknowledge to the updater that the finished installation was shown.
+ */
+- (void)showUpdateInstalledAndRelaunched:(BOOL)relaunched acknowledgement:(void (^)(void))acknowledgement;
+
+/**
+ * Show the user the current presented update or its progress in utmost focus
+ *
+ * The user wishes to check for updates while the user is being shown update progress.
+ * Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc).
+ */
+- (void)showUpdateInFocus;
+
+/**
+ * Dismiss the current update installation
+ *
+ * Stop and tear down everything.
+ * Dismiss all update windows, alerts, progress, etc from the user.
+ * Basically, stop everything that could have been started. Sparkle may invoke this when aborting or finishing an update.
+ */
+- (void)dismissUpdateInstallation;
+
+/*
+ * Below are deprecated methods that have been replaced by better alternatives.
+ * The deprecated methods will be used if the alternatives have not been implemented yet.
+ * In the future support for using these deprecated methods may be removed however.
+ */
+@optional
+
+// Clients should move to non-deprecated methods
+// Deprecated methods are only (temporarily) kept around for compatibility reasons
+
+- (void)showUpdateNotFoundWithAcknowledgement:(void (^)(void))acknowledgement __deprecated_msg("Implement -showUpdateNotFoundWithError:acknowledgement: instead");
+
+- (void)showUpdateInstallationDidFinishWithAcknowledgement:(void (^)(void))acknowledgement __deprecated_msg("Implement -showUpdateInstalledAndRelaunched:acknowledgement: instead");
+
+- (void)dismissUserInitiatedUpdateCheck __deprecated_msg("Transition to new UI appropriately when a new update is shown, when no update is found, or when an update error occurs.");
+
+- (void)showInstallingUpdate __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead.");
+
+- (void)showSendingTerminationSignal __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead.");
+
+- (void)showInstallingUpdateWithApplicationTerminated:(BOOL)applicationTerminated __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead.");;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h b/OSX/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h
new file mode 100644 (file)
index 0000000..06725cc
--- /dev/null
@@ -0,0 +1,85 @@
+//
+//  SPUUserUpdateState.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 2/29/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#ifndef SPUUserUpdateState_h
+#define SPUUserUpdateState_h
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ A choice made by the user when prompted with a new update.
+ */
+typedef NS_ENUM(NSInteger, SPUUserUpdateChoice) {
+    /**
+     Dismisses the update and skips being notified of it in the future.
+     */
+    SPUUserUpdateChoiceSkip,
+    /**
+     Downloads (if needed) and installs the update.
+     */
+    SPUUserUpdateChoiceInstall,
+    /**
+     Dismisses the update until Sparkle reminds the user of it at a later time.
+     */
+    SPUUserUpdateChoiceDismiss,
+};
+
+/**
+ Describes the current stage an update is undergoing.
+ */
+typedef NS_ENUM(NSInteger, SPUUserUpdateStage) {
+    /**
+     The update has not been downloaded.
+     */
+    SPUUserUpdateStageNotDownloaded,
+    /**
+     The update has already been downloaded but not begun installing.
+     */
+    SPUUserUpdateStageDownloaded,
+    /**
+     The update has already been downloaded and began installing in the background.
+     */
+    SPUUserUpdateStageInstalling
+};
+
+/**
+ This represents the user's current update state.
+ */
+SU_EXPORT @interface SPUUserUpdateState : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ The current update stage.
+ This stage indicates if data has been already downloaded or not, or if an update is currently being installed.
+ */
+@property (nonatomic, readonly) SPUUserUpdateStage stage;
+
+/**
+ Indicates whether or not the update check was initiated by the user.
+ */
+@property (nonatomic, readonly) BOOL userInitiated;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* SPUUserUpdateState_h */
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUAppcast.h b/OSX/Sparkle.framework/Versions/B/Headers/SUAppcast.h
new file mode 100644 (file)
index 0000000..4f8e3cb
--- /dev/null
@@ -0,0 +1,45 @@
+//
+//  SUAppcast.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/12/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCAST_H
+#define SUAPPCAST_H
+
+#import <Foundation/Foundation.h>
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SUAppcastItem;
+
+/**
+ The appcast representing a collection of `SUAppcastItem` items in the feed.
+ */
+SU_EXPORT @interface SUAppcast : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ The collection of update items.
+ These `SUAppcastItem` items are in the same order as specified in the appcast XML feed and are thus not sorted by version.
+ */
+@property (readonly, nonatomic, copy) NSArray<SUAppcastItem *> *items;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h b/OSX/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h
new file mode 100644 (file)
index 0000000..e875e50
--- /dev/null
@@ -0,0 +1,406 @@
+//
+//  SUAppcastItem.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/12/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCASTITEM_H
+#define SUAPPCASTITEM_H
+
+#import <Foundation/Foundation.h>
+
+#ifdef BUILDING_SPARKLE_SOURCES_EXTERNALLY
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ The appcast item describing an update in the application's appcast feed.
+
+ An appcast item represents a single update item in the `SUAppcast`  contained within the @c <item> element.
+ Every appcast item must have a `versionString`, and either a `fileURL` or an `infoURL`.
+ All the remaining properties describing an update to the application are optional.
+ Extended documentation and examples on using appcast item features are available at:
+ https://sparkle-project.org/documentation/publishing/
+ */
+SU_EXPORT @interface SUAppcastItem : NSObject<NSSecureCoding>
+
+/**
+ The version of the update item.
+ Sparkle uses this property to compare update items and determine the best available update item in the `SUAppcast`.
+ This corresponds to the application update's @c CFBundleVersion
+ This is extracted from the @c <sparkle:version> element, or the @c sparkle:version attribute from the @c <enclosure> element.
+ */
+@property (nonatomic, copy, readonly) NSString *versionString;
+
+/**
+ The human-readable display version of the update item if provided.
+ This is the version string shown to the user when they are notified of a new update.
+ This corresponds to the application update's @c CFBundleShortVersionString
+ This is extracted from the @c <sparkle:shortVersionString> element,  or the @c sparkle:shortVersionString attribute from the @c <enclosure> element.
+ If no short version string is available, this falls back to the update's `versionString`.
+ */
+@property (nonatomic, copy, readonly) NSString *displayVersionString;
+
+/**
+ The file URL to the update item if provided.
+ This download contains the actual update Sparkle will attempt to install.
+ In cases where a download cannot be provided, an `infoURL` must be provided instead.
+ A file URL should have an accompanying `contentLength` provided.
+ This is extracted from the @c url attribute in the @c <enclosure> element.
+ */
+@property (nonatomic, readonly, nullable) NSURL *fileURL;
+
+/**
+ The content length of the download in bytes.
+ This property is used as a fallback when the server doesn't report the content length of the download.
+ In that case, it is used to report progress of the downloading update to the user.
+ A warning is outputted if this property is not equal the server's expected content length (if provided).
+ This is extracted from the @c length attribute in the @c <enclosure> element.
+ It should be specified if a `fileURL` is provided.
+ */
+@property (nonatomic, readonly) uint64_t contentLength;
+
+/**
+ The info URL to the update item if provided.
+ This informational link is used to direct the user to learn more about an update they cannot download/install directly from within the application.
+ The link should point to the product's web page.
+ The informational link will be used if `informationOnlyUpdate` is @c YES
+ This is extracted from the @c <link> element.
+ */
+@property (nonatomic, readonly, nullable) NSURL *infoURL;
+
+/**
+ Indicates whether or not the update item is only informational and has no download.
+ If `infoURL` is not present, this is @c NO
+ If `fileURL` is not present, this is @c YES
+ Otherwise this is determined based on the contents extracted from the @c <sparkle:informationalUpdate> element.
+ */
+@property (nonatomic, getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;
+
+/**
+ The title of the appcast item if provided.
+ This is extracted from the @c <title> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *title;
+
+/**
+ The date string of the appcast item if provided.
+ The `date` property is constructed from this property and expects this string to comply with the following date format:
+ `E, dd MMM yyyy HH:mm:ss Z`
+ This is extracted from the @c <pubDate> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *dateString;
+
+/**
+ The date constructed from the `dateString` property if provided.
+ Sparkle by itself only uses this property for phased group rollouts specified via `phasedRolloutInterval`, but clients may query this property too.
+ This date is constructed using the  @c en_US locale.
+ */
+@property (nonatomic, copy, readonly, nullable) NSDate *date;
+
+/**
+ The release notes URL of the appcast item if provided.
+ This external link points to an HTML file that Sparkle downloads and renders to show the user a new or old update item's changelog.
+ An alternative to using an external release notes link is providing an embedded `itemDescription`.
+ This is extracted from the @c <sparkle:releaseNotesLink> element.
+ */
+@property (nonatomic, readonly, nullable) NSURL *releaseNotesURL;
+
+/**
+ The description of the appcast item if provided.
+ A description may be provided for inline/embedded release notes for new updates using @c <![CDATA[...]]>
+ This is an alternative to providing a `releaseNotesURL`.
+ This is extracted from the @c <description> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *itemDescription;
+
+/**
+ The format of the `itemDescription` for inline/embedded release notes if provided.
+ This may be:
+ - @c html
+ - @c plain-text
+ This is extracted from the @c sparkle:descriptionFormat attribute in the @c <description> element.
+ If the format is not provided in the @c <description> element of the appcast item, then this property may default to `html`.
+ If the @c <description> element of the appcast item is not available, this property is `nil`.
+ */
+@property (nonatomic, readonly, nullable) NSString *itemDescriptionFormat;
+
+/**
+ The full release notes URL of the appcast item if provided.
+ The link should point to the product's full changelog.
+ Sparkle's standard user interface offers to show these full release notes when a user checks for a new update and no new update is available.
+ This is extracted from the @c <sparkle:fullReleaseNotesLink> element.
+ */
+@property (nonatomic, readonly, nullable) NSURL *fullReleaseNotesURL;
+
+/**
+ The required minimum system operating version string for this update if provided.
+ This version string should contain three period-separated components.
+ Example: @c 10.13.0
+ Use `minimumOperatingSystemVersionIsOK` property to test if the current running system passes this requirement.
+ This is extracted from the @c <sparkle:minimumSystemVersion> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *minimumSystemVersion;
+
+/**
+ Indicates whether or not the current running system passes the `minimumSystemVersion` requirement.
+ */
+@property (nonatomic, readonly) BOOL minimumOperatingSystemVersionIsOK;
+
+/**
+ The required maximum system operating version string for this update if provided.
+ A maximum system operating version requirement should only be made in unusual scenarios.
+ This version string should contain three period-separated components.
+ Example: @c 10.14.0
+ Use `maximumOperatingSystemVersionIsOK` property  to test if the current running system passes this requirement.
+ This is extracted from the @c <sparkle:maximumSystemVersion> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *maximumSystemVersion;
+
+/**
+ Indicates whether or not the current running system passes the `maximumSystemVersion` requirement.
+ */
+@property (nonatomic, readonly) BOOL maximumOperatingSystemVersionIsOK;
+
+/**
+ The channel the update item is on if provided.
+ An update item may specify a custom channel name (such as @c beta) that can only be found by updaters that filter for that channel.
+ If no channel is provided, the update item is assumed to be on the default channel.
+ This is extracted from the @c <sparkle:channel> element.
+ Old applications must be using Sparkle 2 or later to interpret the channel element and to ignore unmatched channels.
+ */
+@property (nonatomic, readonly, nullable) NSString *channel;
+
+/**
+ The installation type of the update at `fileURL`
+ This may be:
+ - @c application - indicates this is a regular application update.
+ - @c package - indicates this is a guided package installer update.
+ - @c interactive-package - indicates this is an interactive package installer update (deprecated; use "package" instead)
+ This is extracted from the @c sparkle:installationType attribute in the @c <enclosure> element.
+ If no installation type is provided in the enclosure, the installation type is inferred from the `fileURL` file extension instead.
+ If the file extension is @c pkg or @c mpkg, the installation type is @c package otherwise it is @c application
+ Hence, the installation type in the enclosure element only needs to be specified for package based updates distributed inside of a @c zip or other archive format.
+ Old applications must be using Sparkle 1.26 or later to support downloading bare package updates (`pkg` or `mpkg`) that are not additionally archived inside of a @c zip or other archive format.
+ */
+@property (nonatomic, copy, readonly) NSString *installationType;
+
+/**
+ The phased rollout interval of the update item in seconds if provided.
+ This is the interval between when different groups of users are notified of a new update.
+ For this property to be used by Sparkle, the published `date` on the update item must be present as well.
+ After each interval after the update item's `date`, a new group of users become eligible for being notified of the new update.
+ This is extracted from the @c <sparkle:phasedRolloutInterval> element.
+ Old applications must be using Sparkle 1.25 or later to support phased rollout intervals, otherwise they may assume updates are immediately available.
+ */
+@property (nonatomic, copy, readonly, nullable) NSNumber* phasedRolloutInterval;
+
+/**
+ The minimum bundle version string this update requires for automatically downloading and installing updates if provided.
+ If an application's bundle version meets this version requirement, it can install the new update item in the background automatically.
+ Otherwise if the requirement is not met, the user is always  prompted to install the update. In this case, the update is assumed to be a `majorUpgrade`.
+ If the update is a `majorUpgrade` and the update is skipped by the user, other future update alerts with the same `minimumAutoupdateVersion` will also be skipped automatically unless an update specifies `ignoreSkippedUpgradesBelowVersion`.
+ This version string corresponds to the application's @c CFBundleVersion
+ This is extracted from the @c <sparkle:minimumAutoupdateVersion> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *minimumAutoupdateVersion;
+
+/**
+ Indicates whether or not the update item is a major upgrade.
+ An update is a major upgrade if the application's bundle version doesn't meet the `minimumAutoupdateVersion` requirement.
+ */
+@property (nonatomic, getter=isMajorUpgrade, readonly) BOOL majorUpgrade;
+
+/**
+ Previously skipped upgrades by the user will be ignored if they skipped an update whose version precedes this version.
+ This can only be applied if the update is a `majorUpgrade`.
+ This version string corresponds to the application's @c CFBundleVersion
+ This is extracted from the @c <sparkle:ignoreSkippedUpgradesBelowVersion> element.
+ Old applications must be using Sparkle 2.1 or later, otherwise this property will be ignored.
+ */
+@property (nonatomic, readonly, nullable) NSString *ignoreSkippedUpgradesBelowVersion;
+
+/**
+ Indicates whether or not the update item is critical.
+ Critical updates are shown to the user more promptly. Sparkle's standard user interface also does not allow them to be skipped.
+ This is determined and extracted from a top-level @c <sparkle:criticalUpdate> element or a @c sparkle:criticalUpdate element inside of a @c sparkle:tags element.
+ Old applications must be using Sparkle 2 or later to support the top-level @c <sparkle:criticalUpdate> element.
+ */
+@property (nonatomic, getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
+
+/**
+ Specifies the operating system the download update is available for if provided.
+ If this property is not provided, then the supported operating system is assumed to be macOS.
+ Known potential values for this string are @c macos and @c windows
+ Sparkle on Mac ignores update items that are for other operating systems.
+ This is only useful for sharing appcasts between Sparkle on Mac and Sparkle on other operating systems.
+ Use `macOsUpdate` property to test if this update item is for macOS.
+ This is extracted from the @c sparkle:os attribute in the @c <enclosure> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *osString;
+
+/**
+ Indicates whether or not this update item is for macOS.
+ This is determined from the `osString` property.
+ */
+@property (nonatomic, getter=isMacOsUpdate, readonly) BOOL macOsUpdate;
+
+/**
+ The delta updates for this update item.
+ Sparkle uses these to download and apply a smaller update based on the version the user is updating from.
+ The key is based on the @c sparkle:version of the update.
+ The value is an update item that will have `deltaUpdate` be @c YES
+ Clients typically should not need to examine the contents of the delta updates.
+ This is extracted from the @c <sparkle:deltas> element.
+ */
+@property (nonatomic, copy, readonly, nullable) NSDictionary<NSString *, SUAppcastItem *> *deltaUpdates;
+
+/**
+ The expected size of the Sparkle executable file before applying this delta update.
+ This attribute is used to test if the delta item can still be applied. If Sparkle's executable file has changed (e.g. from having an architecture stripped),
+ then the delta item cannot be applied.
+ This is extracted from the @c sparkle:deltaFromSparkleExecutableSize attribute from the @c <enclosure> element of a @c sparkle:deltas item.
+ This attribute is optional for delta update items.
+ */
+@property (nonatomic, nonatomic, readonly, nullable) NSNumber *deltaFromSparkleExecutableSize;
+
+/**
+ An expected set of Sparkle's locales present on disk before applying this delta update.
+ This attribute is used to test if the delta item can still be applied. If Sparkle's list of locales present on disk  (.lproj directories) do not contain any items from this set,
+ (e.g. from having localization files stripped) then the delta item cannot be applied. This set does not need to be a complete list of locales. Sparkle may even decide
+ to not process all them. 1-10 should be a decent amount.
+ This is extracted from the @c sparkle:deltaFromSparkleLocales attribute from the @c <enclosure> element of a @c sparkle:deltas item.
+ The locales extracted from this attribute are delimited by a comma (e.g. "en,ca,fr,hr,hu"). This attribute is optional for delta update items.
+ */
+@property (nonatomic, nonatomic, readonly, nullable) NSSet<NSString *> *deltaFromSparkleLocales;
+
+/**
+ Indicates whether or not the update item is a delta update.
+ An update item is a delta update if it is in the `deltaUpdates` of another update item.
+ */
+@property (nonatomic, getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
+
+/**
+ The dictionary representing the entire appcast item.
+ This is useful for querying custom extensions or elements from the appcast item.
+ */
+@property (nonatomic, readonly, copy) NSDictionary *propertiesDictionary;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ An empty appcast item.
+ This may be used as a potential return value in `-[SPUUpdaterDelegate bestValidUpdateInAppcast:forUpdater:]`
+ */
++ (instancetype)emptyAppcastItem;
+
+// Deprecated initializers
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dict __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case.");
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case.");
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case.");
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUErrors.h b/OSX/Sparkle.framework/Versions/B/Headers/SUErrors.h
new file mode 100644 (file)
index 0000000..2211c17
--- /dev/null
@@ -0,0 +1,107 @@
+//
+//  SUErrors.h
+//  Sparkle
+//
+//  Created by C.W. Betts on 10/13/14.
+//  Copyright (c) 2014 Sparkle Project. All rights reserved.
+//
+
+#ifndef SUERRORS_H
+#define SUERRORS_H
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+/**
+ * Error domain used by Sparkle
+ */
+SU_EXPORT extern NSString *const SUSparkleErrorDomain;
+
+typedef NS_ENUM(OSStatus, SUError) {
+    // Configuration phase errors
+    SUNoPublicDSAFoundError = 0001,
+    SUInsufficientSigningError = 0002,
+    SUInsecureFeedURLError = 0003,
+    SUInvalidFeedURLError = 0004,
+    SUInvalidUpdaterError = 0005,
+    SUInvalidHostBundleIdentifierError = 0006,
+    SUInvalidHostVersionError = 0007,
+    
+    // Appcast phase errors.
+    SUAppcastParseError = 1000,
+    SUNoUpdateError = 1001,
+    SUAppcastError = 1002,
+    SURunningFromDiskImageError = 1003,
+    SUResumeAppcastError = 1004,
+    SURunningTranslocated = 1005,
+    SUWebKitTerminationError = 1006,
+    SUReleaseNotesError = 1007,
+
+    // Download phase errors.
+    SUTemporaryDirectoryError = 2000,
+    SUDownloadError = 2001,
+
+    // Extraction phase errors.
+    SUUnarchivingError = 3000,
+    SUSignatureError = 3001,
+    SUValidationError = 3002,
+    
+    // Installation phase errors.
+    SUFileCopyFailure = 4000,
+    SUAuthenticationFailure = 4001,
+    SUMissingUpdateError = 4002,
+    SUMissingInstallerToolError = 4003,
+    SURelaunchError = 4004,
+    SUInstallationError = 4005,
+    SUDowngradeError = 4006,
+    SUInstallationCanceledError = 4007,
+    SUInstallationAuthorizeLaterError = 4008,
+    SUNotValidUpdateError = 4009,
+    SUAgentInvalidationError = 4010,
+    SUInstallationRootInteractiveError = 4011,
+    SUInstallationWriteNoPermissionError = 4012,
+    
+    // API misuse errors.
+    SUIncorrectAPIUsageError = 5000
+};
+
+/**
+ The reason why a new update is not available.
+ */
+typedef NS_ENUM(OSStatus, SPUNoUpdateFoundReason) {
+    /**
+     A new update is unavailable for an unknown reason.
+     */
+    SPUNoUpdateFoundReasonUnknown,
+    /**
+     A new update is unavailable because the user is on the latest known version in the appcast feed.
+     */
+    SPUNoUpdateFoundReasonOnLatestVersion,
+    /**
+     A new update is unavailable because the user is on a version newer than the latest known version in the appcast feed.
+     */
+    SPUNoUpdateFoundReasonOnNewerThanLatestVersion,
+    /**
+     A new update is unavailable because the user's operating system version is too old for the update.
+     */
+    SPUNoUpdateFoundReasonSystemIsTooOld,
+    /**
+     A new update is unavailable because the user's operating system version is too new for the update.
+     */
+    SPUNoUpdateFoundReasonSystemIsTooNew
+};
+
+SU_EXPORT extern NSString *const SPUNoUpdateFoundReasonKey;
+SU_EXPORT extern NSString *const SPULatestAppcastItemFoundKey;
+SU_EXPORT extern NSString *const SPUNoUpdateFoundUserInitiatedKey;
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUExport.h b/OSX/Sparkle.framework/Versions/B/Headers/SUExport.h
new file mode 100644 (file)
index 0000000..3e3f8a1
--- /dev/null
@@ -0,0 +1,18 @@
+//
+//  SUExport.h
+//  Sparkle
+//
+//  Created by Jake Petroules on 2014-08-23.
+//  Copyright (c) 2014 Sparkle Project. All rights reserved.
+//
+
+#ifndef SUEXPORT_H
+#define SUEXPORT_H
+
+#ifdef BUILDING_SPARKLE
+#define SU_EXPORT __attribute__((visibility("default")))
+#else
+#define SU_EXPORT
+#endif
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h b/OSX/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h
new file mode 100644 (file)
index 0000000..1316819
--- /dev/null
@@ -0,0 +1,63 @@
+//
+//  SUStandardVersionComparator.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 12/21/07.
+//  Copyright 2007 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUSTANDARDVERSIONCOMPARATOR_H
+#define SUSTANDARDVERSIONCOMPARATOR_H
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#import "SUVersionComparisonProtocol.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#import <Sparkle/SUVersionComparisonProtocol.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+    Sparkle's default version comparator.
+
+    This comparator is adapted from MacPAD, by Kevin Ballard.
+    It's "dumb" in that it does essentially string comparison,
+    in components split by character type.
+*/
+SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
+
+/**
+    Initializes a new instance of the standard version comparator.
+*/
+- (instancetype)init;
+
+/**
+    A singleton instance of the comparator.
+ */
+@property (nonatomic, class, readonly) SUStandardVersionComparator *defaultComparator;
+
+/**
+    Compares two version strings through textual analysis.
+    These version strings should be in the format of x, x.y, or x.y.z where each component is a number.
+    For example, valid version strings include "1.5.3", "500", or "4000.1"
+    These versions that are compared correspond to the @c CFBundleVersion values of the updates.
+    @param versionA The first version string to compare.
+    @param versionB The second version string to compare.
+    @return A comparison result between @c versionA and @c versionB
+*/
+- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
+
+@end
+
+NS_ASSUME_NONNULL_END
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h b/OSX/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h
new file mode 100644 (file)
index 0000000..d2a50ae
--- /dev/null
@@ -0,0 +1,73 @@
+//
+//  SUUpdatePermissionResponse.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 2/8/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ This class represents a response for permission to check updates.
+*/
+SU_EXPORT @interface SUUpdatePermissionResponse : NSObject<NSSecureCoding>
+
+/**
+ Initializes a new update permission response instance.
+ @param automaticUpdateChecks Flag to enable automatic update checks.
+ @param sendSystemProfile Flag for if system profile information should be sent to the server hosting the appcast.
+ */
+- (instancetype)initWithAutomaticUpdateChecks:(BOOL)automaticUpdateChecks sendSystemProfile:(BOOL)sendSystemProfile;
+
+/**
+ Initializes a new update permission response instance.
+ @param automaticUpdateChecks Flag to enable automatic update checks.
+ @param automaticUpdateDownloading Flag to enable automatic downloading and installing of updates. If this is nil, this option will be ignored.
+ @param sendSystemProfile Flag for if system profile information should be sent to the server hosting the appcast.
+ */
+- (instancetype)initWithAutomaticUpdateChecks:(BOOL)automaticUpdateChecks automaticUpdateDownloading:(NSNumber * _Nullable)automaticUpdateDownloading sendSystemProfile:(BOOL)sendSystemProfile;
+
+/*
+ Use -initWithAutomaticUpdateChecks:sendSystemProfile: instead.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ A read-only property indicating if update checks should be done automatically.
+ */
+@property (nonatomic, readonly) BOOL automaticUpdateChecks;
+
+/**
+ A read-only property indicating if updates should be automatically downloaded and installed.
+ If this property is `nil`, then no user choice was made for this option.
+ If  `automaticUpdateChecks` is `NO` then this property should not be `@(YES)`.
+ Set it to `NO` if the user was given the choice of automatically downloading and installing updates,
+ otherwise set it to `nil`.
+ */
+@property (nonatomic, readonly, nullable) NSNumber *automaticUpdateDownloading;
+
+/**
+ A read-only property indicating if system profile should be sent or not.
+ */
+@property (nonatomic, readonly) BOOL sendSystemProfile;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUUpdater.h b/OSX/Sparkle.framework/Versions/B/Headers/SUUpdater.h
new file mode 100644 (file)
index 0000000..5bc7d68
--- /dev/null
@@ -0,0 +1,212 @@
+//
+//  SUUpdater.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 1/4/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUUPDATER_H
+#define SUUPDATER_H
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#import "SUVersionComparisonProtocol.h"
+#import "SUVersionDisplayProtocol.h"
+#import "SUUpdaterDelegate.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#import <Sparkle/SUVersionComparisonProtocol.h>
+#import <Sparkle/SUVersionDisplayProtocol.h>
+#import <Sparkle/SUUpdaterDelegate.h>
+#endif
+
+@class SUAppcastItem, SUAppcast, NSMenuItem;
+
+@protocol SUUpdaterDelegate;
+
+/**
+ The legacy API in Sparkle for controlling the update mechanism.
+
+ This class is now deprecated and acts as a thin wrapper around `SPUUpdater` and `SPUStandardUserDriver`.
+ If you are migrating to Sparkle 2, use `SPUStandardUpdaterController` instead, or `SPUUpdater` if you need more control.
+ */
+__deprecated_msg("Deprecated in Sparkle 2. Use SPUStandardUpdaterController instead, or SPUUpdater if you need more control.")
+SU_EXPORT @interface SUUpdater : NSObject
+
+@property (unsafe_unretained, nonatomic) IBOutlet id<SUUpdaterDelegate> delegate;
+
+/*!
+ The shared updater for the main bundle.
+ This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle:
+ */
++ (SUUpdater *)sharedUpdater;
+
+/*!
+ The shared updater for a specified bundle.
+ If an updater has already been initialized for the provided bundle, that shared instance will be returned.
+ */
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
+
+/*!
+ Designated initializer for SUUpdater.
+ If an updater has already been initialized for the provided bundle, that shared instance will be returned.
+ */
+- (instancetype)initForBundle:(NSBundle *)bundle;
+
+/*!
+ Explicitly checks for updates and displays a progress dialog while doing so.
+
+ This method is meant for a main menu item.
+ Connect any menu item to this action in Interface Builder,
+ and Sparkle will check for updates and report back its findings verbosely
+ when it is invoked.
+
+ This will find updates that the user has opted into skipping.
+ */
+- (IBAction)checkForUpdates:(id)sender;
+
+/*!
+ The menu item validation used for the -checkForUpdates: action
+ */
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
+
+/*!
+ Checks for updates, but does not display any UI unless an update is found.
+
+ This is meant for programmatically initating a check for updates. That is,
+ it will display no UI unless it actually finds an update, in which case it
+ proceeds as usual.
+
+ If automatic downloading of updates it turned on and allowed, however,
+ this will invoke that behavior, and if an update is found, it will be downloaded
+ in the background silently and will be prepped for installation.
+
+ This will not find updates that the user has opted into skipping.
+ */
+- (void)checkForUpdatesInBackground;
+
+/*!
+ A property indicating whether or not to check for updates automatically.
+
+ Setting this property will persist in the host bundle's user defaults.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property (nonatomic) BOOL automaticallyChecksForUpdates;
+
+/*!
+ A property indicating whether or not updates can be automatically downloaded in the background.
+
+ Note that automatic downloading of updates can be disallowed by the developer.
+ In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set.
+
+ Setting this property will persist in the host bundle's user defaults.
+ */
+@property (nonatomic) BOOL automaticallyDownloadsUpdates;
+
+/*!
+ A property indicating the current automatic update check interval.
+
+ Setting this property will persist in the host bundle's user defaults.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property (nonatomic) NSTimeInterval updateCheckInterval;
+
+/*!
+ Begins a "probing" check for updates which will not actually offer to
+ update to that version.
+
+ However, the delegate methods
+ SUUpdaterDelegate::updater:didFindValidUpdate: and
+ SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
+ so you can use that information in your UI.
+
+ Updates that have been skipped by the user will not be found.
+ */
+- (void)checkForUpdateInformation;
+
+/*!
+ The URL of the appcast used to download update information.
+
+ Setting this property will persist in the host bundle's user defaults.
+ If you don't want persistence, you may want to consider instead implementing
+ SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
+
+ This property must be called on the main thread.
+ */
+@property (nonatomic, copy) NSURL *feedURL;
+
+/*!
+ The host bundle that is being updated.
+ */
+@property (readonly, nonatomic) NSBundle *hostBundle;
+
+/*!
+ The bundle this class (SUUpdater) is loaded into.
+ */
+@property (nonatomic, readonly) NSBundle *sparkleBundle;
+
+/*!
+ The user agent used when checking for and downloading updates.
+
+ The default implementation can be overrided.
+ */
+@property (nonatomic, copy) NSString *userAgentString;
+
+/*!
+ The HTTP headers used when checking for and downloading updates.
+
+ The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString)
+ */
+@property (copy, nonatomic) NSDictionary<NSString *, NSString *> *httpHeaders;
+
+/*!
+ A property indicating whether or not the user's system profile information is sent when checking for updates.
+
+ Setting this property will persist in the host bundle's user defaults.
+ */
+@property (nonatomic) BOOL sendsSystemProfile;
+
+/*!
+ A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg)
+ */
+@property (nonatomic, copy) NSString *decryptionPassword;
+
+/*!
+ Returns the date of last update check.
+
+ \returns \c nil if no check has been performed.
+ */
+@property (nonatomic, readonly, copy) NSDate *lastUpdateCheckDate;
+
+/*!
+ Appropriately schedules or cancels the update checking timer according to
+ the preferences for time interval and automatic checks.
+
+ This call does not change the date of the next check,
+ but only the internal NSTimer.
+ */
+- (void)resetUpdateCycle;
+
+/*!
+ A property indicating whether or not an update is in progress.
+
+ Note this property is not indicative of whether or not user initiated updates can be performed.
+ Use SUUpdater::validateMenuItem: for that instead.
+ */
+@property (nonatomic, readonly) BOOL updateInProgress;
+
+@end
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h b/OSX/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h
new file mode 100644 (file)
index 0000000..42edf33
--- /dev/null
@@ -0,0 +1,363 @@
+//
+//  SUUpdaterDelegate.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 3/12/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+@protocol SUVersionComparison, SUVersionDisplay;
+@class SUUpdater, SUAppcast, SUAppcastItem;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// -----------------------------------------------------------------------------
+// SUUpdater Notifications for events that might be interesting to more than just the delegate
+// The updater will be the notification object
+// -----------------------------------------------------------------------------
+SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
+#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
+#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
+
+// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
+// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
+
+// -----------------------------------------------------------------------------
+//     SUUpdater Delegate:
+// -----------------------------------------------------------------------------
+
+/*!
+ Provides methods to control the behavior of an SUUpdater object.
+ */
+__deprecated_msg("Deprecated in Sparkle 2. See SPUUpdaterDelegate instead")
+@protocol SUUpdaterDelegate <NSObject>
+@optional
+
+/*!
+ Returns whether to allow Sparkle to pop up.
+ For example, this may be used to prevent Sparkle from interrupting a setup assistant.
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
+
+/*!
+ Returns additional parameters to append to the appcast URL's query string.
+ This is potentially based on whether or not Sparkle will also be sending along the system profile.
+ \param updater The SUUpdater instance.
+ \param sendingProfile Whether the system profile will also be sent.
+ \return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
+ */
+- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+
+/*!
+ Returns a custom appcast URL.
+ Override this to dynamically specify the entire URL.
+ An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
+ and let the server handle what kind of feed to provide.
+ \param updater The SUUpdater instance.
+ */
+- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns whether Sparkle should prompt the user about automatic update checks.
+ Use this to override the default behavior.
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
+
+/*!
+ Called after Sparkle has downloaded the appcast from the remote server.
+ Implement this if you want to do some special handling with the appcast once it finishes loading.
+ \param updater The SUUpdater instance.
+ \param appcast The appcast that was downloaded from the remote server.
+ */
+- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
+
+/*!
+ Returns the item in the appcast corresponding to the update that should be installed.
+ If you're using special logic or extensions in your appcast,
+ implement this to use your own logic for finding a valid update, if any,
+ in the given appcast.
+ \param appcast The appcast that was downloaded from the remote server.
+ \param updater The SUUpdater instance.
+ */
+- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
+
+/*!
+ Called when a valid update is found by the update driver.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called when a valid update is not found.
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
+
+/*!
+  Called just before the scheduled update driver prompts the user to install an update.
+
+  \param updater The SUUpdater instance.
+
+  \return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it.
+  */
+ - (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item;
+
+ /*!
+  Called after the user dismisses the update alert.
+
+  \param updater The SUUpdater instance.
+  \param permanently YES if the alert will not appear again for this update; NO if it may reappear.
+  */
+ - (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item;
+
+/*!
+ Called immediately before downloading the specified update.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be downloaded.
+ \param request The mutable URL request that will be used to download the update.
+ */
+- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
+
+/*!
+ Called immediately after succesfull download of the specified update.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that has been downloaded.
+ */
+- (void)updater:(SUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called after the specified update failed to download.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that failed to download.
+ \param error The error generated by the failed download.
+ */
+- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
+
+/*!
+ Called when the user clicks the cancel button while and update is being downloaded.
+ \param updater The SUUpdater instance.
+ */
+- (void)userDidCancelDownload:(SUUpdater *)updater;
+
+/*!
+ Called immediately before extracting the specified downloaded update.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be extracted.
+ */
+- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called immediately after extracting the specified downloaded update.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that has been extracted.
+ */
+- (void)updater:(SUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called immediately before installing the specified update.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called when an update is skipped by the user.
+ \param updater The updater instance.
+ \param item The appcast item corresponding to the update that the user skipped.
+ */
+- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item;
+
+/*!
+ Returns whether the relaunch should be delayed in order to perform other tasks.
+ This is not called if the user didn't relaunch on the previous update,
+ in that case it will immediately restart.
+ This may also not be called if the application is not going to relaunch after it terminates.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch.
+ \return \c YES to delay the relaunch until \p invocation is invoked.
+ */
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
+
+/*!
+ Returns whether the relaunch should be delayed in order to perform other tasks.
+ This is not called if the user didn't relaunch on the previous update,
+ in that case it will immediately restart.
+ This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \return \c YES to delay the relaunch.
+ */
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item;
+
+/*!
+ Returns whether the application should be relaunched at all.
+ Some apps \b cannot be relaunched under certain circumstances.
+ This method can be used to explicitly prevent a relaunch.
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
+
+/*!
+ Called immediately before relaunching.
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
+
+/*!
+ Called immediately after relaunching. SUUpdater delegate must be set before applicationDidFinishLaunching: to catch this event.
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterDidRelaunchApplication:(SUUpdater *)updater;
+
+/*!
+ Returns an object that compares version numbers to determine their arithmetic relation to each other.
+ This method allows you to provide a custom version comparator.
+ If you don't implement this method or return \c nil,
+ the standard version comparator will be used. Note that the
+ standard version comparator may be used during installation for preventing
+ a downgrade, even if you provide a custom comparator here.
+ \sa SUStandardVersionComparator
+ \param updater The SUUpdater instance.
+ */
+- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns an object that formats version numbers for display to the user.
+ If you don't implement this method or return \c nil, the standard version formatter will be used.
+ \sa SUUpdateAlert
+ \param updater The SUUpdater instance.
+ */
+- (nullable id <SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns the path to the application which is used to relaunch after the update is installed.
+ The installer also waits for the termination of the application at this path.
+ The default is the path of the host bundle.
+ \param updater The SUUpdater instance.
+ */
+- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
+
+/*!
+ Called before an updater shows a modal alert window,
+ to give the host the opportunity to hide attached windows that may get in the way.
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
+
+/*!
+ Called after an updater shows a modal alert window,
+ to give the host the opportunity to hide attached windows that may get in the way.
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
+
+/*!
+ Called when an update is scheduled to be silently installed on quit.
+ This is after an update has been automatically downloaded in the background.
+ (i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \param invocation Can be used to trigger an immediate silent install and relaunch.
+ */
+- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
+
+/*!
+ Called when an update is scheduled to be silently installed on quit.
+ This is after an update has been automatically downloaded in the background.
+ (i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
+ This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \param installationBlock Can be used to trigger an immediate silent install and relaunch.
+ */
+- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))installationBlock;
+
+/*!
+ Calls after an update that was scheduled to be silently installed on quit has been canceled.
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that was proposed to be installed.
+  \deprecated This method is no longer invoked. The installer will try to its best ability to install the update.
+ */
+- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item __deprecated;
+
+/*!
+ Called after an update is aborted due to an error.
+ \param updater The SUUpdater instance.
+ \param error The error that caused the abort
+ */
+- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h b/OSX/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h
new file mode 100644 (file)
index 0000000..8d22d7a
--- /dev/null
@@ -0,0 +1,42 @@
+//
+//  SUVersionComparisonProtocol.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 12/21/07.
+//  Copyright 2007 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUVERSIONCOMPARISONPROTOCOL_H
+#define SUVERSIONCOMPARISONPROTOCOL_H
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+    Provides version comparison facilities for Sparkle.
+*/
+@protocol SUVersionComparison
+
+/**
+    An abstract method to compare two version strings.
+
+    Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a,
+    and NSOrderedSame if they are equivalent.
+*/
+- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD!
+
+@end
+
+NS_ASSUME_NONNULL_END
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h b/OSX/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h
new file mode 100644 (file)
index 0000000..2874706
--- /dev/null
@@ -0,0 +1,78 @@
+//
+//  SUVersionDisplayProtocol.h
+//  EyeTV
+//
+//  Created by Uli Kusterer on 08.12.09.
+//  Copyright 2009 Elgato Systems GmbH. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+@class SUAppcastItem;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Applies special display formatting to version numbers of the bundle to update and the update before presenting them to the user.
+*/
+SU_EXPORT @protocol SUVersionDisplay <NSObject>
+
+/**
+ Formats an update's version string and bundle's version string for display.
+ This method is used to format both the display version of the update and the display version of the bundle to update.
+ The display versions returned by this method are then used for presenting to the user when a new update is available,
+ or when the user cannot download/install the latest update for a specific reason, or when the user has a newer version
+ installed than the latest known version in the update feed.
+ On input, the `update.displayVersionString` and `*inOutBundleDisplayVersion` may be the same, but the
+ `update.versionString` and `bundleVersion` will differ. To differentiate between these display versions, you may
+ choose to return different display version strings for the update and bundle.
+ @param update The update to format the update display version from. You can query `update.displayVersionString` and `update.versionString` to retrieve the update's version information.
+ @param inOutBundleDisplayVersion On input, the display version string (or `CFBundleShortVersionString`) of the bundle to update. On output, this is the display version string of the bundle to show to the user.
+ @param bundleVersion The version (or CFBundleVersion) of the bundle to update.
+ @return A new display version string of the `update.displayVersionString` to show to the user.
+ */
+- (NSString *)formatUpdateDisplayVersionFromUpdate:(SUAppcastItem *)update andBundleDisplayVersion:(NSString * _Nonnull __autoreleasing * _Nonnull)inOutBundleDisplayVersion withBundleVersion:(NSString *)bundleVersion;
+
+@optional
+
+/**
+ Formats a bundle's version string for display.
+ This method is used to format the display version of the bundle.
+ This method may be used when no new update is available and the user is already on the latest known version.
+ In this case, no new update version is shown to the user.
+ This method is optional. If it's not implemented, Sparkle will default to using the `bundleDisplayVersion` passed to this method.
+ @param bundleDisplayVersion The display version string (or `CFBundleShortVersionString`) of the bundle to update.
+ @param bundleVersion The version (or `CFBundleVersion`) of the bundle to update.
+ @param matchingUpdate The update in the feed that corresponds to the current bundle, or `nil` if no matching update item could be found in the feed.
+ @return A new display version string of the bundle to show to the user.
+ */
+- (NSString *)formatBundleDisplayVersion:(NSString *)bundleDisplayVersion withBundleVersion:(NSString *)bundleVersion matchingUpdate:(SUAppcastItem * _Nullable)matchingUpdate;
+
+/**
+ Formats two version strings.
+ Both versions are provided so that important distinguishing information
+ can be displayed while also leaving out unnecessary/confusing parts.
+*/
+- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB __deprecated_msg("Please use -formatUpdateDisplayVersionFromUpdate:andBundleDisplayVersion:withBundleVersion:");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/Headers/Sparkle.h b/OSX/Sparkle.framework/Versions/B/Headers/Sparkle.h
new file mode 100644 (file)
index 0000000..a048d26
--- /dev/null
@@ -0,0 +1,39 @@
+//
+//  Sparkle.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SPARKLE_H
+#define SPARKLE_H
+
+// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
+// there are name-space collisions) so we can list all of them to start with:
+
+#import <Sparkle/SUExport.h>
+#import <Sparkle/SUAppcast.h>
+#import <Sparkle/SUAppcastItem.h>
+#import <Sparkle/SUStandardVersionComparator.h>
+#import <Sparkle/SPUUpdater.h>
+#import <Sparkle/SPUUpdaterDelegate.h>
+#import <Sparkle/SPUUpdaterSettings.h>
+#import <Sparkle/SUVersionComparisonProtocol.h>
+#import <Sparkle/SUVersionDisplayProtocol.h>
+#import <Sparkle/SUErrors.h>
+#import <Sparkle/SPUUpdatePermissionRequest.h>
+#import <Sparkle/SUUpdatePermissionResponse.h>
+#import <Sparkle/SPUUserDriver.h>
+#import <Sparkle/SPUDownloadData.h>
+
+// UI bits
+#import <Sparkle/SPUStandardUpdaterController.h>
+#import <Sparkle/SPUStandardUserDriver.h>
+#import <Sparkle/SPUStandardUserDriverDelegate.h>
+
+// Deprecated bits
+#import <Sparkle/SUUpdater.h>
+#import <Sparkle/SUUpdaterDelegate.h>
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/B/Modules/module.modulemap b/OSX/Sparkle.framework/Versions/B/Modules/module.modulemap
new file mode 100644 (file)
index 0000000..af3fe6d
--- /dev/null
@@ -0,0 +1,6 @@
+framework module Sparkle {
+  umbrella header "Sparkle.h"
+
+  export *
+  module * { export * }
+}
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h
new file mode 100644 (file)
index 0000000..929d3f1
--- /dev/null
@@ -0,0 +1,38 @@
+//
+//  SPUAppcastItemStateResolver.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 5/31/21.
+//  Copyright © 2021 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SUStandardVersionComparator, SPUAppcastItemState;
+@protocol SUVersionComparison;
+
+/**
+ Private exposed class used to resolve Appcast Item properties that rely on external factors such as a host.
+ This resolver is used for constructing appcast items.
+ */
+SU_EXPORT @interface SPUAppcastItemStateResolver : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+- (instancetype)initWithHostVersion:(NSString *)hostVersion applicationVersionComparator:(id<SUVersionComparison>)applicationVersionComparator standardVersionComparator:(SUStandardVersionComparator *)standardVersionComparator;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h
new file mode 100644 (file)
index 0000000..a509e0e
--- /dev/null
@@ -0,0 +1,22 @@
+//
+//  SPUGentleUserDriverReminders.h
+//  Sparkle
+//
+//  Copyright © 2022 Sparkle Project. All rights reserved.
+//
+
+#ifndef SPUGentleUserDriverReminders_h
+#define SPUGentleUserDriverReminders_h
+
+/**
+ A private protocol for user drivers implementing gentle scheduled reminders
+ */
+@protocol SPUGentleUserDriverReminders
+
+- (void)logGentleScheduledUpdateReminderWarningIfNeeded;
+
+- (void)resetTimeSinceOpportuneUpdateNotice;
+
+@end
+
+#endif /* SPUGentleUserDriverReminders_h */
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h
new file mode 100644 (file)
index 0000000..2c6e556
--- /dev/null
@@ -0,0 +1,19 @@
+//
+//  SPUInstallationType.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 7/24/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#ifndef SPUInstallationType_h
+#define SPUInstallationType_h
+
+#define SPUInstallationTypeApplication @"application" // the default installation type for ordinary application updates
+#define SPUInstallationTypeGuidedPackage @"package" // the preferred installation type for package installations
+#define SPUInstallationTypeInteractivePackage @"interactive-package" // the deprecated installation type; use guided package instead
+
+#define SPUInstallationTypesArray (@[SPUInstallationTypeApplication, SPUInstallationTypeGuidedPackage, SPUInstallationTypeInteractivePackage])
+#define SPUValidInstallationType(x) ((x != nil) && [SPUInstallationTypesArray containsObject:(NSString * _Nonnull)x])
+
+#endif /* SPUInstallationType_h */
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h
new file mode 100644 (file)
index 0000000..45bd43f
--- /dev/null
@@ -0,0 +1,40 @@
+//
+//  SPUStandardUserDriver+Private.h
+//  Sparkle
+//
+//  Copyright © 2022 Sparkle Project. All rights reserved.
+//
+
+#ifndef SPUStandardUserDriver_Private_h
+#define SPUStandardUserDriver_Private_h
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SPUStandardUserDriver.h"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SPUStandardUserDriver.h>
+#import <Sparkle/SUExport.h>
+#endif
+
+@class NSWindowController;
+
+NS_ASSUME_NONNULL_BEGIN
+
+SU_EXPORT @interface SPUStandardUserDriver (Private)
+
+/**
+ Private API for accessing the active update alert's window controller.
+ This is the window controller that shows the update's release notes and install choices.
+ This can be accessed in -[SPUStandardUserDriverDelegate standardUserDriverWillHandleShowingUpdate:forUpdate:state:]
+ */
+@property (nonatomic, readonly, nullable) NSWindowController *activeUpdateAlert;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* SPUStandardUserDriver_Private_h */
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h
new file mode 100644 (file)
index 0000000..392fccb
--- /dev/null
@@ -0,0 +1,29 @@
+//
+//  SPUUserAgent+Private.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 11/12/21.
+//  Copyright © 2021 Sparkle Project. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class SUHost;
+
+SU_EXPORT NSString *SPUMakeUserAgentWithHost(SUHost *responsibleHost, NSString * _Nullable displayNameSuffix);
+
+SU_EXPORT NSString *SPUMakeUserAgentWithBundle(NSBundle *responsibleBundle, NSString * _Nullable displayNameSuffix);
+
+NS_ASSUME_NONNULL_END
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h
new file mode 100644 (file)
index 0000000..1005ded
--- /dev/null
@@ -0,0 +1,39 @@
+//
+//  SUAppcastItem+Private.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 4/30/21.
+//  Copyright © 2021 Sparkle Project. All rights reserved.
+//
+
+#ifndef SUAppcastItem_Private_h
+#define SUAppcastItem_Private_h
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+// Available in SPUAppcastItemStateResolver.h (a private exposed header)
+@class SPUAppcastItemStateResolver;
+@class SUSignatures;
+
+@interface SUAppcastItem (Private) <NSSecureCoding>
+
+/**
+ Initializes with data from a dictionary provided by the RSS class and state resolver
+
+ This initializer method is intended to be marked "private" and discouraged from public usage.
+ This method is available however. Talk to us to describe your use case and if you need to construct appcast items yourself.
+ */
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL stateResolver:(SPUAppcastItemStateResolver *)stateResolver failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error;
+
+/**
+ The EdDSA and DSA signatures along with their statuses.
+ */
+@property (readonly, nonatomic, nullable) SUSignatures *signatures;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* SUAppcastItem_Private_h */
diff --git a/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h b/OSX/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h
new file mode 100644 (file)
index 0000000..8922e18
--- /dev/null
@@ -0,0 +1,37 @@
+//
+//  SUInstallerLauncher+Private.h
+//  SUInstallerLauncher+Private
+//
+//  Created by Mayur Pawashe on 8/21/21.
+//  Copyright © 2021 Sparkle Project. All rights reserved.
+//
+
+#ifndef SUInstallerLauncher_Private_h
+#define SUInstallerLauncher_Private_h
+
+#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
+// Ignore incorrect warning
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
+#import "SUExport.h"
+#import "SPUInstallationType.h"
+#pragma clang diagnostic pop
+#else
+#import <Sparkle/SUExport.h>
+// Chances are clients will need this too
+#import <Sparkle/SPUInstallationType.h>
+#endif
+
+@class NSString;
+
+/**
+ Private API for determining if the system needs authorization access to update a bundle path
+ This API is not supported when used directly from a Sandboxed applications and will always return @c YES in that case.
+ @param bundlePath The bundle path to test if authorization is needed when performing an update that replaces this bundle.
+ @return @c YES if Sparkle thinks authorization is needed to update the @c bundlePath, otherwise @c NO.
+ */
+SU_EXPORT BOOL SPUSystemNeedsAuthorizationAccessForBundlePath(NSString *bundlePath);
+
+#endif /* SUInstallerLauncher_Private_h */
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..ce9f4cb
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib
new file mode 100644 (file)
index 0000000..d1a64e0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib
new file mode 100644 (file)
index 0000000..01210ef
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..4f44fbc
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/Info.plist b/OSX/Sparkle.framework/Versions/B/Resources/Info.plist
new file mode 100644 (file)
index 0000000..2300fdb
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>22G90</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleExecutable</key>
+       <string>Sparkle</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.sparkle-project.Sparkle</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>Sparkle</string>
+       <key>CFBundlePackageType</key>
+       <string>FMWK</string>
+       <key>CFBundleShortVersionString</key>
+       <string>2.5.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleSupportedPlatforms</key>
+       <array>
+               <string>MacOSX</string>
+       </array>
+       <key>CFBundleVersion</key>
+       <string>2031</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string></string>
+       <key>DTPlatformName</key>
+       <string>macosx</string>
+       <key>DTPlatformVersion</key>
+       <string>13.3</string>
+       <key>DTSDKBuild</key>
+       <string>22E245</string>
+       <key>DTSDKName</key>
+       <string>macosx13.3</string>
+       <key>DTXcode</key>
+       <string>1431</string>
+       <key>DTXcodeBuild</key>
+       <string>14E300c</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.13</string>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css b/OSX/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css
new file mode 100644 (file)
index 0000000..bcd84a2
--- /dev/null
@@ -0,0 +1,13 @@
+@media (prefers-color-scheme: dark) {
+    html {
+        color-scheme: dark;
+        color: white;
+        background: transparent;
+    }
+    :link {
+        color: #419CFF;
+    }
+    :link:active {
+        color: #FF1919;
+    }
+}
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/B/Resources/SUStatus.nib
new file mode 100644 (file)
index 0000000..a5bb5ac
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/SUStatus.nib differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..55b0230
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "محدث البرنامج";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "معلومات عن الإصدار:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "تذكيري لاحقًا";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "تخطي هذا الإصدار";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "تثبيت التحديث";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "تنزيل التحديثات وتثبيتها تلقائيًا في المستقبل";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..dcd6dde
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "عدم التحقق";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "هل تريد أن يتم التحقق من وجود تحديثات تلقائيًا؟";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "تضمين تقرير عن النظام دون ذكر معلومات عن المستخدم";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "تنزيل التحديثات وتثبيتها تلقائيًا في المست";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "التحقق تلقائيًا";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7ba248a
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..284cf6d
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Actualització del programari";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Notes d'aquesta versió:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Recorda-m'ho més tard";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Omet aquesta versió";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instal·la l'actualització";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Descarrega i instal·la les actualitzacions automàticament en el futur";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..1a8d279
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..ff7d56f
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Aktualizace aplikace";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Poznámky k vydání:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Připomenout později";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Přeskočit tuto verzi";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instalovat aktualizaci";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "V budoucnu stahovat a instalovat aktualizace automaticky";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..6c971d1
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Informace z anonymního systémového profilu pomáhají vývojářům lépe plánovat budoucí vývoj aplikace.\nBudete-li mít nějaký dotaz, obraťte se na nás.\n\nToto jsou informace, které budou odeslány:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nevyhledávat";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Vyhledávat aktualizace automaticky?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Odeslat anonymní systémový profil";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Stahovat a instalovat aktualizace automaticky";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Automaticky vyhledávat";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..8025bac
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..271ae30
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Software Update";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Om denne udgivelse:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Påmind mig senere";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Spring over";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installer";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Hent og installer opdateringer automatisk i fremtiden";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..0bc75d7
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Søg ikke";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Søg efter opdateringer automatisk?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Vedhæft anonym systemprofil";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Hent og installer opdateringer automatisk";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Søg automatisk";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..07b5827
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..93e067a
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Softwareupdate";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Versionshinweise:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Später erinnern";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Diese Version überspringen";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installieren";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Updates in Zukunft automatisch laden und installieren";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..b34f5a4
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Das anonymisierte Systemprofil unterstützt uns bei der zukünftigen Entwicklung. Bitte kontaktiere uns, wenn du Fragen hierzu hast.\n\nDiese Informationen würden an uns gesendet werden:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nicht suchen";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Automatisch nach Updates suchen?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Anonymisiertes Systemprofil übertragen";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Updates automatisch laden und installieren";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Automatisch suchen";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..d551282
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..fc8679d
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Ενημέρωση προγράμματος";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Σημειώσεις Έκδοσης:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Υπενθύμιση Αργότερα";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Παράλειψη Έκδοσης";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Εγκατάσταση Ενημέρωσης";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Αυτόματη λήψη και εγκατάσταση ενημερώσεων στο μέλλον";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..febfca2
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Οι ανώνυμες πληροφορίες του προφίλ του συστήματός σας, μας βοηθούν στο σχεδιασμό της μελλοντικής ανάπτυξης του προγράμματος. Παρακαλώ επικοινωνήστε μαζί μας άν έχετε ερωτήσεις.\n\nΑυτές είναι οι πληροφορίες που θα σταλούν σε εμάς:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Κανένας έλεγχος";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Αυτόματος έλεγχος για ενημερώσεις;";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Συμπερίληψη του ανώνυμου προφίλ του συστήματός σας";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Αυτόματη λήψη και εγκατάσταση ενημερώσεων";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Αυτόματος Ελεγχος";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..805e407
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..45a4cfc
--- /dev/null
@@ -0,0 +1,18 @@
+
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Software Update";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Release Notes:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Remind Me Later";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Skip This Version";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Install Update";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Automatically download and install updates in the future";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..fe430d9
--- /dev/null
@@ -0,0 +1,27 @@
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */
+"OhZ-1K-DmA.title" = "Check Automatically";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */
+"cCJ-V0-aTi.title" = "Don’t Check";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */
+"gmh-T4-BO0.title" = "Check for updates automatically?";
+
+/* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "179"; */
+"179.title" = "DO NOT LOCALIZE";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */
+"gz7-LM-gNf.title" = "Include anonymous system profile";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Automatically download and install updates";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..ab59ec2
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Actualización de software";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Notas de la versión:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Recordármelo";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "No instalar esta versión";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instalar actualización";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Descargar e instalar actualizaciones automáticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..885bf29
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "La información de perfil de sistema anónimo se usa para ayudarnos a planear el trabajo de desarrollo futuro. Por favor, póngase en contacto con nosotros si tiene preguntas sobre esto.\n\nEsta es la información que nos enviaría:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "No comprobar";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "¿Comprobar si hay actualizaciones automáticamente?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Incluir perfil de sistema anónimo";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Descargar e instalar actualizaciones automáticamente";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Comprobar automáticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..a79fc47
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..342f658
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..dca6e2e
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Ohjelmiston pävitys";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Tietoa päivityksestä:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Muistuta myöhemmin";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Ohita tämä versio";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Asenna päivitys";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Hae ja asenna päivitykset jatkossa automaattisesti";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..04bf32b
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Älä tarkista";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Tarkista päivitykset käynnistyksen yhteydessä?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Sisällytä nimetön järjestelmäprofiili";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Hae ja asenna päivitykset automaattisesti";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Tarkista automaattisesti";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..974473a
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..fd8042e
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Mise à jour logiciel";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Notes de version :";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Pas maintenant";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Ignorer cette version";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installer";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Télécharger et installer automatiquement les mises à jour";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..c059f18
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Les informations anonymes de profil système nous aident à planifier les futurs développements. Contactez-nous pour toute question à ce sujet.\n\nCi-dessous figurent les informations qui seront transmises :";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Ne pas vérifier";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Rechercher automatiquement les mises à jour ?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Avec transmission anonyme de mon profil système";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Télécharger et installer automatiquement les mises à jour";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Vérifier automatiquement";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..8a9ee04
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/he.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/he.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..dc8fa21
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "עדכון תכנה";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "פרטי גרסה:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "הזכר לי מאוחר יותר";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "דלג על גרסה זו";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "התקן עדכון";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "הורד והתקן עדכונים אוטומטית גם בעתיד";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..8a29dbe
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..60525af
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Aktualiziranje softvera";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Napomene uz izdanje:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Podsjeti me kasnije";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Zanemari ovu verziju";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instaliraj nadogradnju";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Ubuduće preuzmi i instaliraj nadogradnje automatski";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..665e3a1
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonimizirani podaci profila susatava pomažu nam planirati budući razvoj. Kontaktiraj nas, ako imaš pitanja o tome.\n\nŠalju se sljedeći podaci:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nemoj provjeravati";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Automatski provjeriti nadogradnje?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Uključi anonimizirane podatke o profilu sustava";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Preuzmi i instaliraj nadogradnje automatski";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Provjeri automatski";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..2dc1a91
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..841a542
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Szoftverfrissítés";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Változások az előző verzióhoz képest:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Emlékeztessen később";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Verzió kihagyása";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Telepítés";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "A jövőben automatikusan töltse le és telepítse a frissítéseket";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..d1a121f
--- /dev/null
@@ -0,0 +1,20 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Manuális keresés";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Keresse automatikusan a frissítéseket?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Anonim rendszerinformáció küldése";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Automatikus keresés";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6b397d4
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..314a8ca
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Hugbúnaðaruppfærsla";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Útgáfupunktar:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Áminntu mig síðar";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Sleppa þessari útgáfu";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Innsetja";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Sækja og innsetja uppfærslur sjálfkrafa framvegis";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..66dc318
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Upplýsingar úr nafnlausum kerfisskýrslum eru notaðar til að hjálpa okkur við framtíðarþróun hugbúnaðarins. Ekki hika við að hafa samband ef spurningar vakna um þetta.\n\nÞetta eru upplýsingarnar sem yrðu sendar:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Ekki kanna";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Athuga sjálfkrafa með uppfærslur?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Innifela nafnlausa kerfisskýrslu";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Sækja og innsetja uppfærslur sjálfkrafa";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Kanna sjálfkrafa";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..1b18581
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..cc0d7c3
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Aggiornamento Software";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Note di rilascio:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Ricordamelo più tardi";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Ignora questa versione";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installa";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "In futuro scarica e installa automaticamente gli aggiornamenti";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..a051914
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Le informazioni del profilo di sistema anomino sono utilizzate per aiutarci in futuri lavori di sviluppo. Contattaci se hai dei quesiti sull’argomento.\n\nQueste sono le informazioni che verrebbero inviate:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Non controllare";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Controllo automaticamente gli aggiornamenti?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Include profilo di sistema anonimo";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Scarica e installa automaticamente gli aggiornamenti";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Controlla Automaticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..27f0834
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..6ac6410
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "ソフトウェア・アップデート";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "リリースノート:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "後で通知";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "このバージョンはスキップ";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "アップデートをインストール";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "今後はアップデートのダウンロードとインストールを自動で行う";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..cff48a2
--- /dev/null
@@ -0,0 +1,20 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "匿名のシステムプロファイル情報は、今後の開発の参考にさせていただきます。この件に関してご質問があればご連絡下さい。\n\n以下の情報が送信されます:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "確認しない";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "アップデートを自動で確認しますか?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "匿名のシステム情報を含める";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "自動で確認";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..903adfc
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..ee92bf2
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Software Update";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "배포 정보:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "나중에";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "이 버전 건너뛰기";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "업데이트 설치";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "나중에 업데이트 자동으로 다운로드 및 설치";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..472ef43
--- /dev/null
@@ -0,0 +1,20 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "익명으로 보내지는 시스템 정보로 차후 프로그램 개발에 도움이 될 수 있습니다. 질문이 있으시면 연락 주십시오.\n\n아래 정보가 전송될 것입니다.";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "취소";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "자동으로 업데이트 확인할까요?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "익명 시스템 정보 포함";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "자동으로 확인";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..fe2190e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..bd58fbb
--- /dev/null
@@ -0,0 +1,18 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Programoppdatering";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Om oppdateringen:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Utsett";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Hopp over";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installer";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Last ned og installer automatisk i fremtiden";
+
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..c921f62
--- /dev/null
@@ -0,0 +1,24 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Den anonyme systemprofilen hjelper oss med å planlegge fremtidig utviklingsarbeid. Ta gjerne kontakt med oss hvis du har spørsmål om dette.
\nFølgende innhold vil bli sendt:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Ikke søk";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Søk etter oppdateringer automatisk?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Inkluder anonym systemprofil";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Last ned og installer automatisk";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Søk automatisk";
+
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..3d8e2aa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..3edac36
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Software-update";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Versiegegevens:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Herinner mij later";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Sla deze versie over";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installeer update";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Download en installeer updates voortaan automatisch";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..8995361
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Aan de hand van anonieme informatie over het systeemprofiel kunnen wij toekomstige ontwikkelingswerkzaamheden beter plannen. Neem contact met ons op als je hierover vragen hebt.\n\nDit is de informatie die wordt verzonden:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Zoek niet";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Automatisch zoeken naar updates?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Voeg anoniem systeemprofiel bij";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Download en installeer updates automatisch";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Zoek automatisch";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..3c4c92b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..4092fd0
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Uaktualnienie oprogramowania";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Szczegóły wydania:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Przypomnij później";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Pomiń tę wersję";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Zainstaluj teraz";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Automatycznie pobierz i zainstaluj przyszłe uaktualnienia";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..ca85ca8
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nie sprawdzaj";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Sprawdzać automatycznie uaktualnienia?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Załącz anonimowe informacje o systemie";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Automatycznie pobierz i zainstaluj uaktualnienia";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Sprawdzaj automatycznie";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..33226f2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..65aab08
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Atualização de Software";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Notas do Lançamento:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Mais Tarde";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Ignorar Esta Versão";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instalar Atualização";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Baixar e instalar atualizações futuras automaticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..a435270
--- /dev/null
@@ -0,0 +1,26 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "As informações anônimas do sistema são usadas para nos ajudar a planejar o desenvolvimento futuro do aplicativo. Contate-nos caso tenha dúvidas sobre este procedimento.\n\nAs seguintes informações seriam enviadas:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Não Buscar";
+
+/* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "cfa-j0-Ya4"; */
+"cfa-j0-Ya4.title" = "";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Buscar atualizações automaticamente?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Incluir perfil anônimo do sistema";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Baixar e instalar atualizações automaticamente";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Buscar Automaticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6c393ab
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..ae805c4
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Actualização de Software";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Notas de lançamento:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Lembrar mais tarde";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Saltar esta versão";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instalar actualização";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "No futuro, transferir e instalar actualizações automaticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..cb41028
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "A informação anónima do perfil de sistema é usada para no futuro nos ajudar a planear o trabalho de desenvolvimento. Por favor contacte-nos se tiver alguma questão acerca deste assunto.\n\nEsta é a informação que seria enviada:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Não procurar";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Procurar actualizações automaticamente?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Incluir perfil de sistema anónimo";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Transferir e instalar actualizações automaticamente";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Procurar automaticamente";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..fddae71
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..37e9bc7
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Actualizarea aplicației";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Note de ediție:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Amintește-mi mai târziu";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Sari peste…";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Instalează actualizarea";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "În viitor descarcă și instalează în automat actualizările";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..c9d3813
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nu verifica";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Verifică pentru actualizări în mod automat?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Include profil anomin de sistem";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Descarcă și instalează în automat actualizările";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Verifică în mod automat";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..f08fba0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..137fd57
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Обновление программного обеспечения";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Заметки о выпуске:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Напоминать позже";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Пропустить эту версию";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Установить обновление";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Автоматически загружать и устанавливать обновления в будущем";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..99f1596
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Использование анонимного профиля системы помогает нам в планировании будущей работы по разработке. Если у вас есть какие-либо вопросы по этой теме, обращайтесь к нам.\n\nЭто информация, предназначенная для отправления:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Не проверять";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Выполнять автоматическую проверку наличия обновлений?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Включить анонимный профиль системы";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Автоматически загружать и устанавливать обновления";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Проверять автоматически";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..1ce90e8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..266f0fb
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Aktualizácia softvéru";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Poznámky k vydaniu:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Pripomenúť neskôr";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Vynechať túto verziu";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Nainštalovať";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "V budúcnosti aktualizácie preberať a inštalovať automaticky";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..25c836d
--- /dev/null
@@ -0,0 +1,20 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonymný profil systému nám umožní zlepšiť plánovanie budúceho vývoja aplikácie. Ak máte ohľadom tohto akékoľvek otázky, neváhajte a kontaktujte nás.\n\nOdosielané budú nasledujúce informácie:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Nekontrolovať";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Kontrolovať aktualizácie automaticky?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Zahrnúť anonymný profil systému";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Kontrolovať automaticky";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..9e3444e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..d106021
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Posodabljanje programske opreme";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Opombe ob izdaji:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Spomni me kasneje";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Preskoči to verzijo";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Namesti posodobitev";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "V prihodnje samodejno nameščaj posodobitve";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..03b141c
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonimni profil sistema se uporablja za načrtovanje nadaljnega razvoja programa. V primeru vprašanj nas lahko kontaktirate.\n\nPošljejo se sledeče informacije:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Ne preverjaj";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Naj občasno preverjam, če so na voljo posodobitve?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Vključi anonimni profil sistema";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Samodejno namestite posodobitve";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Samodejno preverjaj";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..2e64a63
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..382b634
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Programuppdatering";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Versionsinformation:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Påminn mig senare";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Hoppa över denna version";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Installera uppdatering";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Hämta och installera nya uppdateringar automatiskt i framtiden.";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..b26b32e
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Textcell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Textcell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Anonym systemprofilinformation används för att hjälpa oss att planera framtida utvecklingsarbete. Vänligen kontakta oss ifall du har några frågot om detta.\n\nDetta är informationen som skulle sändas:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Kontrollera inte";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Leta efter uppdateringar automatiskt?\n";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Inkludera anonym systemprofil";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Hämta och installera nya uppdateringar automatiskt.";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Kontrollera automatiskt";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..df36ec1
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..c57e3d3
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "อัพเดทซอฟต์แวร์";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Release Notes:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "เตือนในภายหลัง";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "ข้ามเวอร์ชั่นนี้";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "ติดตั้งอัพเดท";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "ดาวน์โหลดและติดตั้งอัพเดทโดยอัตโนมัติในอนาคต";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..b755d03
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "ข้อมูลระบบแบบนิรนามช่วยในการวางแผนพัฒนาแอปพลิเคชันของเราในอนาคต กรุณาติดต่อเราถ้าคุณมีข้อสงสัยในเรื่องนี้\n\nนี่คือข้อมูลที่จะถูกส่งไป:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "ไม่ต้องตรวจสอบ";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "ตรวจสอบอัพเดทอัตโนมัติ?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "ส่งข้อมูลระบบแบบนิรนาม";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "ดาวน์โหลดและติดตั้งอัพเดทโดยอัตโนมัติ";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "ตรวจสอบโดยอัตโนมัติ";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6b8c878
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..7f67ed6
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Software-Aktualisierung";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Sürüm Hakkında:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Sonra Hatırlat";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Bu Sürümü Geç";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Kur";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Bundan sonra güncellemeleri kendiliğinden indir ve kur";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..4901fad
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Gönderdiğiniz anonim sistem bilgileri bu yazılımın geliştirilmesi için kullanılacaktır. Konu ile ilgili ayrıntılı bilgi için lütfen bizimle bağlantıya geçiniz. Göndereceğiniz Bilgiler:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Arama";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Güncellemeler otomatik olarak aransın mı?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Sistem bilgilerini kimlik gizlenmiş olarak gönder";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Güncellemeleri kendiliğinden indir ve kur";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Otomatik Olarak Ara";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..5496cbb
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..ece6670
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "Оновлення програмного забезпечення";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "Примітки про нову версію:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "Нагадати пізніше";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "Пропустити цю версію";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "Встановити оновлення";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "Автоматично завантажувати та встановлювати оновлення у майбутньому";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..27451a3
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "Використання анонімного профілю системи допомагає нам у планування майбутньої розробки. Якщо у вас виникли питання щодо цього, звертайтесь до нас.\n\nІнформація, що буде надіслано:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "Не перервіряти";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "Виконувати автоматичну перевірку оновлень?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "Автоматично надсилати профіль системи";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "Автоматично завантажувати та встановлювати оновлення";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "Перевіряти автоматично";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..e3f0791
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..5772fc6
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "软件更新";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "更新信息:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "稍后提示我";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "跳过这个版本";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "安装更新";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "以后自动下载并安装更新";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..bdf7d69
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "无记名系统概况信息被用于帮助我们安排将来的开发工作。如果对此存在疑问请联系我们。\n\n这是将要被发送的信息::";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "不核查";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "自动核查更新?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "包括无记名系统概况";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "自动下载并安装更新";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "自动核查";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..3acf2a0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..d7cb6fe
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "軟體更新";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "更新事項:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "稍後提醒我";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "跳過此版本";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "安裝更新";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "以後自動下載並安裝更新";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..b40c572
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "匿名系統概況資訊可用來協助我等計畫未來開發工作。若對此有任何疑問,請聯繫我等。\n\n以下係會傳送嘅資訊:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "毋檢查";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "自動檢查更新?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "包含匿名系統概況";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "自動下載並安裝更新";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "自動檢查";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..4d758a3
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdateAlert.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdateAlert.strings
new file mode 100644 (file)
index 0000000..d53374d
--- /dev/null
@@ -0,0 +1,17 @@
+/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
+"5.title" = "軟體更新";
+
+/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
+"170.title" = "更新事項:";
+
+/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
+"171.title" = "暫緩提醒";
+
+/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
+"172.title" = "跳過此版本";
+
+/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
+"173.title" = "安裝更新項目";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
+"175.title" = "自動下載並安裝未來的更新項目";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings
new file mode 100644 (file)
index 0000000..635b453
--- /dev/null
@@ -0,0 +1,23 @@
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
+"43.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
+"45.title" = "Text Cell";
+
+/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
+"183.title" = "匿名系統描述資訊可用來協助我們計畫未來的開發工作。若您有任何相關問題,請與我們聯繫。\n\n以下是會傳送的資訊:";
+
+/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
+"cCJ-V0-aTi.title" = "不要檢查";
+
+/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
+"gmh-T4-BO0.title" = "自動檢查更新項目?";
+
+/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
+"gz7-LM-gNf.title" = "包含匿名的系統描述資料";
+
+/* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
+"AUc-33-qGN.title" = "自動下載並安裝更新項目";
+
+/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
+"OhZ-1K-DmA.title" = "自動檢查";
diff --git a/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6018e8b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/B/Sparkle b/OSX/Sparkle.framework/Versions/B/Sparkle
new file mode 100755 (executable)
index 0000000..2039bf7
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Sparkle differ
diff --git a/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist
new file mode 100644 (file)
index 0000000..8f7af20
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>22G90</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleExecutable</key>
+       <string>Updater</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.sparkle-project.Sparkle.Updater</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleLocalizations</key>
+       <array>
+               <string>en</string>
+               <string>ca</string>
+               <string>ar</string>
+               <string>cs</string>
+               <string>da</string>
+               <string>de</string>
+               <string>el</string>
+               <string>en</string>
+               <string>es</string>
+               <string>fa</string>
+               <string>fi</string>
+               <string>fr</string>
+               <string>he</string>
+               <string>hr</string>
+               <string>hu</string>
+               <string>is</string>
+               <string>it</string>
+               <string>ja</string>
+               <string>ko</string>
+               <string>nb</string>
+               <string>nl</string>
+               <string>pl</string>
+               <string>pt-BR</string>
+               <string>pt-PT</string>
+               <string>ro</string>
+               <string>ru</string>
+               <string>sk</string>
+               <string>sl</string>
+               <string>sv</string>
+               <string>th</string>
+               <string>tr</string>
+               <string>uk</string>
+               <string>zh_CN</string>
+               <string>zh_HK</string>
+               <string>zh_TW</string>
+       </array>
+       <key>CFBundleName</key>
+       <string>Updater</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>2.5.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleSupportedPlatforms</key>
+       <array>
+               <string>MacOSX</string>
+       </array>
+       <key>CFBundleVersion</key>
+       <string>2031</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string></string>
+       <key>DTPlatformName</key>
+       <string>macosx</string>
+       <key>DTPlatformVersion</key>
+       <string>13.3</string>
+       <key>DTSDKBuild</key>
+       <string>22E245</string>
+       <key>DTSDKName</key>
+       <string>macosx13.3</string>
+       <key>DTXcode</key>
+       <string>1431</string>
+       <key>DTXcodeBuild</key>
+       <string>14E300c</string>
+       <key>LSApplicationCategoryType</key>
+       <string>public.app-category.utilities</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.13</string>
+       <key>LSUIElement</key>
+       <string>1</string>
+       <key>NSPrincipalClass</key>
+       <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater
new file mode 100755 (executable)
index 0000000..e43bdc8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater differ
diff --git a/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo
new file mode 100644 (file)
index 0000000..bd04210
--- /dev/null
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib
new file mode 100644 (file)
index 0000000..a5bb5ac
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib differ
diff --git a/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources
new file mode 100644 (file)
index 0000000..a7bc0d1
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>files</key>
+       <dict>
+               <key>Resources/SUStatus.nib</key>
+               <data>
+               C+A5AK9r0wh2EeQDmcX3eh5QGr8=
+               </data>
+       </dict>
+       <key>files2</key>
+       <dict>
+               <key>Resources/SUStatus.nib</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       V7nQA4E39SW5aUzqhBVsXTFN0jH5W2mdJr74xs58fWU=
+                       </data>
+               </dict>
+       </dict>
+       <key>rules</key>
+       <dict>
+               <key>^Resources/</key>
+               <true/>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^version.plist$</key>
+               <true/>
+       </dict>
+       <key>rules2</key>
+       <dict>
+               <key>.*\.dSYM($|/)</key>
+               <dict>
+                       <key>weight</key>
+                       <real>11</real>
+               </dict>
+               <key>^(.*/)?\.DS_Store$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>2000</real>
+               </dict>
+               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^.*</key>
+               <true/>
+               <key>^Info\.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^PkgInfo$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^[^/]+$</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^embedded\.provisionprofile$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^version\.plist$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+       </dict>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist b/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist
new file mode 100644 (file)
index 0000000..0ae6a40
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>22G90</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleExecutable</key>
+       <string>Downloader</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.sparkle-project.Downloader</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>Downloader</string>
+       <key>CFBundlePackageType</key>
+       <string>XPC!</string>
+       <key>CFBundleShortVersionString</key>
+       <string>2.5.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleSupportedPlatforms</key>
+       <array>
+               <string>MacOSX</string>
+       </array>
+       <key>CFBundleVersion</key>
+       <string>2031</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string></string>
+       <key>DTPlatformName</key>
+       <string>macosx</string>
+       <key>DTPlatformVersion</key>
+       <string>13.3</string>
+       <key>DTSDKBuild</key>
+       <string>22E245</string>
+       <key>DTSDKName</key>
+       <string>macosx13.3</string>
+       <key>DTXcode</key>
+       <string>1431</string>
+       <key>DTXcodeBuild</key>
+       <string>14E300c</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.13</string>
+       <key>NSAppTransportSecurity</key>
+       <dict>
+               <key>NSAllowsArbitraryLoads</key>
+               <false/>
+       </dict>
+       <key>NSHumanReadableCopyright</key>
+       <string>Copyright © 2016 Sparkle Project. All rights reserved.</string>
+       <key>XPCService</key>
+       <dict>
+               <key>RunLoopType</key>
+               <string>NSRunLoop</string>
+               <key>ServiceType</key>
+               <string>Application</string>
+       </dict>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader b/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader
new file mode 100755 (executable)
index 0000000..8cf246d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader differ
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources
new file mode 100644 (file)
index 0000000..d5d0fd7
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>files</key>
+       <dict/>
+       <key>files2</key>
+       <dict/>
+       <key>rules</key>
+       <dict>
+               <key>^Resources/</key>
+               <true/>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^version.plist$</key>
+               <true/>
+       </dict>
+       <key>rules2</key>
+       <dict>
+               <key>.*\.dSYM($|/)</key>
+               <dict>
+                       <key>weight</key>
+                       <real>11</real>
+               </dict>
+               <key>^(.*/)?\.DS_Store$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>2000</real>
+               </dict>
+               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^.*</key>
+               <true/>
+               <key>^Info\.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^PkgInfo$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^[^/]+$</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^embedded\.provisionprofile$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^version\.plist$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+       </dict>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist b/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist
new file mode 100644 (file)
index 0000000..3e4288c
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>22G90</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleExecutable</key>
+       <string>Installer</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.sparkle-project.InstallerLauncher</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>Installer</string>
+       <key>CFBundlePackageType</key>
+       <string>XPC!</string>
+       <key>CFBundleShortVersionString</key>
+       <string>2.5.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleSupportedPlatforms</key>
+       <array>
+               <string>MacOSX</string>
+       </array>
+       <key>CFBundleVersion</key>
+       <string>2031</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string></string>
+       <key>DTPlatformName</key>
+       <string>macosx</string>
+       <key>DTPlatformVersion</key>
+       <string>13.3</string>
+       <key>DTSDKBuild</key>
+       <string>22E245</string>
+       <key>DTSDKName</key>
+       <string>macosx13.3</string>
+       <key>DTXcode</key>
+       <string>1431</string>
+       <key>DTXcodeBuild</key>
+       <string>14E300c</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.13</string>
+       <key>NSHumanReadableCopyright</key>
+       <string>Copyright © 2016 Sparkle Project. All rights reserved.</string>
+       <key>XPCService</key>
+       <dict>
+               <key>JoinExistingSession</key>
+               <true/>
+               <key>ServiceType</key>
+               <string>Application</string>
+       </dict>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer b/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer
new file mode 100755 (executable)
index 0000000..65e0fe2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer differ
diff --git a/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources
new file mode 100644 (file)
index 0000000..d5d0fd7
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>files</key>
+       <dict/>
+       <key>files2</key>
+       <dict/>
+       <key>rules</key>
+       <dict>
+               <key>^Resources/</key>
+               <true/>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^version.plist$</key>
+               <true/>
+       </dict>
+       <key>rules2</key>
+       <dict>
+               <key>.*\.dSYM($|/)</key>
+               <dict>
+                       <key>weight</key>
+                       <real>11</real>
+               </dict>
+               <key>^(.*/)?\.DS_Store$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>2000</real>
+               </dict>
+               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^.*</key>
+               <true/>
+               <key>^Info\.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^PkgInfo$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^[^/]+$</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^embedded\.provisionprofile$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^version\.plist$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+       </dict>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/B/_CodeSignature/CodeResources b/OSX/Sparkle.framework/Versions/B/_CodeSignature/CodeResources
new file mode 100644 (file)
index 0000000..76f57cd
--- /dev/null
@@ -0,0 +1,2186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>files</key>
+       <dict>
+               <key>Resources/Base.lproj/SUUpdateAlert.nib</key>
+               <data>
+               CcSGUnHshFRNbXNCax4Fk/Ar3sk=
+               </data>
+               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib</key>
+               <data>
+               kQCQnExWsd4UN/XCwMWsdBo8rmU=
+               </data>
+               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key>
+               <data>
+               ShA7h1IUUX/SyuDWg6JseOHtNHo=
+               </data>
+               <key>Resources/Base.lproj/Sparkle.strings</key>
+               <data>
+               yENpjnRY3Io5iY3w/nXBi2P2CFc=
+               </data>
+               <key>Resources/Info.plist</key>
+               <data>
+               inXDNNZsCBUSiN/ib9t/0pgmdBo=
+               </data>
+               <key>Resources/ReleaseNotesColorStyle.css</key>
+               <data>
+               NjIvb1z7eJuLCKf9HS15O5heg50=
+               </data>
+               <key>Resources/SUStatus.nib</key>
+               <data>
+               C+A5AK9r0wh2EeQDmcX3eh5QGr8=
+               </data>
+               <key>Resources/ar.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       qTOMJ1P/HhCcJQi4qSJV9l/b7q0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ar.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       zZ/0sjHdlPnBGe10CetKo1kF1xQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ar.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       5Ukin0TnIF0ot6Daz8OSgIoDZJ0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ca.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       l9CaCmAXFcs+Z+8rRt7PX9onkf8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ca.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       DL6k3g2A8CPQPkykQht4w+H/xYc=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       G9Wgf14zMhU2alRSZvqclMmlTCA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       rhsuTqRoVAfmLW+GJ1vvxJPRJ0U=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       KTLNyu97zLvTNgaUfYWqc8nB9C4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       NEt5JVKz+OoMSynKxJC18KXMGaA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       s6oFpgOPENk+LCyXJoLfVqZauVQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       7MO7J38OUDrmZMLJiNSeNRATia8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       YLQxXHDo3e3Udzaj8LHDIjotWzE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       W8+shbfn38JAPBpgHTMWuU0oHfQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       FcFO4FvZjeiHQb9cbZI1wh1jHT4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       BS+NpAFPK7X/XzX+n99gJLhlNKU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       TNa05IunzylN4fz2uHvkj5EnyRk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       6VadVc0qrgmUnWfL3FgiI6TzchM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/en.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       FSez7jCd0gDTFFGHiWL1QXY8OUU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/en.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       7+SiSQLU1hqbN74YfiBS1cQFVqU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Q36SuanjGk70efU6liei3uz+Uds=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       kNfRs9Pgn30BdjtuNzhRvKXcqu0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       08cvLbzKYXVy2xMw/nxid5JOK7o=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fa.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       IySTqO8MqmOO/IHR5WBZdf0jYaA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       My5YiAuNV+4oR1vPL1np+nMMMOI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       NcjaY8nD4cpjcpK4M878R5JDK1s=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       KRoZrUbgs7+EwIxs18H121Szw+0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       ffz6ccHMgxcBdH6by1YAYX1jpOQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       p4tAU3Ek6hEWqW9e8+C1L8WMQIM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       BS6wdN+n1R2u/skiaNGAfrXwcKA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/he.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       nZXhvxaoacIflCBRrHxQ4NDkeKg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/he.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       +bhO5LfEJtbZlq+wfPs/WUEO2ic=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       b/ru54Y0QwvH9Kz9sfRPEoP5z5k=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       rdv7bU5k1tUG/tyNsQ1i/Rniypk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       70rdfUc3cUNcMed6Hq4zQBWoGrk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       VD/QPXFfEHRW7ksDLYiiO1xl1LQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       PMarJZpNhDysjzZuBuyKv8KBTXQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       5CCN2xKgiom6y3+mcWd48RVdX48=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       bQiB5tUCaD24QKubEYeBTXsAF1g=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       vGNXtUX/4qNYIzE89IO7e4GxS60=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       tplLwN1kGq9MoWLnyPQhozI6c54=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Yev0Ro2PsLfgCLoY7JNED63PnqM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       IGMzQ4TCQgpEQaOcESzlhe8ny9I=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       HvJh7rlxinaVRX3rGu84YDTq5j8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       vl6gP7QCeuFYsNYdgVYYUcm0S/4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       vmA8scrUnfvMygrsa76QF557nDU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       qUoPouJsSuujtYJeA1Jn1M6d+CA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       xZjyKASZdwg70f4m29uGtJjFUgQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       d+ifBccX26E56rM7eOY72BKC5aY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       vidckNwrgXZkzwbptfj9ycGywxE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       fck+vL9Sgcx19X7HthrjizRGhu8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       eiq9zVX/y56Q0ymxVNFnYahFbxs=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Xm8t/g53ktlmyq8w1aI29nEiGO8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       5ZpTsHPgV4inhhYiISGjC03BMG4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       LgvDZbmPK7Ox9+gNe7zXN3egxlM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       HUFefTfqhwJx6nNNmACg3qxtHKo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       HX2RXVrN+fpwO4I60/UDyNuGj5Y=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       abNyxpda7OkXoR5Ok35XgMr9eBc=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       MXjhjMKrcFaSZhXYssMrBTXPu80=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       YFXY6v+45ptf8TuBq2MsKKdhfQ8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       2iCpI0fy7Tm1zxR19dV1iCYW3bo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       mVP9x5C0h0Q+njDLXhZXmDsOjWM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       pWRHcAJRvjUt7BOLr/gd+IupcGA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Om//DOu8+gBjHYrCHVmxKxBDvPs=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       6IY8J7Jbjd3eG/BMld5iJSwZZvM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       a/RNqEdkehva+SwGWz11MktFGWA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       JDMBsS6fp2v5X+C0d1EJAREHIkA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       rihcAKPJ1j7EoW5B+lq7Dpci/Zo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Lmn0e5MDPfan55gnani1dQbR10Q=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       z+XqvyZR2X6cb0PioKpfYDCF3YY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       ZtVq/Mf1qT9j8xdhz9ULfJ1O05k=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       8o3l6mjHafwy5sLMMO2rZIe7xiQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       s3Cllq+eYT+urMLfXvnwsMkboWQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       gqdvwKoHMg+gDZ4MZVVqbV4yqI8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Ny5EoZGpd5UK5c3eMIUKLR8x4/I=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       vbP9bj0jn5GKz9uEu3amXnozkWo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       hz8NwYxW1d0aWPQDMF8/c4lJRwU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       YWicg3ZZLCEoiJ9WOUUZ6WoTZJY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       JKbTlT+iKE5KOwvLD9N/Go2K+q0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       UH7udC5C4WHwnnx4Eg6Io23rBzk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Cd6guArNrSoJO3e2ntd1Eys3bok=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       L4ZWMKTKnMsbMsL8V2V6OLySKLE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       O9PZTdxbP4Y306ym/2sJ6p5klE0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       wl9JoCOsqKgCSgMpFzhwObUUdh8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       7lGd5uiq64Gdix4ymGi5MrjTtjs=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       L+JSm1Y1SMSRVqore5+HlcHCyew=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       6/WdcAg1mJs1/HT5krHhOxqyMWk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       I4B4qXPwnMhj/A+yU0vvngP7oak=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       3YLrl/aRzoPCubIKa873XDZeU1w=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       DjCjxSor6wnKAz8bFLcPCnW1Kw0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       xeCj4c1ifxxhDFeLtNsSc4NgBFw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       Q18TnLdR6a0E72xXP6ETh0FF4CY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       +9prrb68fl57+m9WFQ+8Ay6XjRk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       5Pazf5ErH02Ny5mFB+R+dwCWPVM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       v2NQCc/vUJacBpqiLL5yANtiGc4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       167IbTfOhYu699bxXBhaGehjrco=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       SNJz+3Rb1AJ2cKstnbGWL6Q8OW8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash</key>
+                       <data>
+                       48nGyIkkDrsDKSq77pFReYsumCA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+       </dict>
+       <key>files2</key>
+       <dict>
+               <key>Autoupdate</key>
+               <dict>
+                       <key>cdhash</key>
+                       <data>
+                       o5T5EkaC+CwlU729GYNYKmqetao=
+                       </data>
+                       <key>requirement</key>
+                       <string>cdhash H"a394f9124682f82c2553bdbd1983582a6a9eb5aa" or cdhash H"0e6dcaf18ca843031d6c7395f90f2c430ced6967"</string>
+               </dict>
+               <key>Headers/SPUDownloadData.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       yhS+aH6hPb1hSOt0tT6Rej2kQoPz6wrtntLOBuoIIJs=
+                       </data>
+               </dict>
+               <key>Headers/SPUStandardUpdaterController.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       +3I+CmUwJuOPUMU9MsBJW4BZNzMkjeJjyYVSGAFGKh8=
+                       </data>
+               </dict>
+               <key>Headers/SPUStandardUserDriver.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Y4fOofv2Ua1TAI9qM7wL8CalQGHLa1spvUNg9JB71NE=
+                       </data>
+               </dict>
+               <key>Headers/SPUStandardUserDriverDelegate.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Y1CXvdztYvr7TNU5uykV9jSjdvcpl2aCQPwjVHZe+IQ=
+                       </data>
+               </dict>
+               <key>Headers/SPUUpdateCheck.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       H30F2i5GYmOu/j4JEw5WsuZbiGJXnge5gpyb9e2SHAM=
+                       </data>
+               </dict>
+               <key>Headers/SPUUpdatePermissionRequest.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       hnRNYPeaK0NWoKPXEYs2AoyD6QOE0CHDJWJxKM5Ma24=
+                       </data>
+               </dict>
+               <key>Headers/SPUUpdater.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       2RfJYG0mMGzLSAP82wi9XHEFSfkoBc22JiIik4SObd0=
+                       </data>
+               </dict>
+               <key>Headers/SPUUpdaterDelegate.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       LHjSN/efNGASgXqi8P76eNivCLV2QZxP2/rvDMLcKyU=
+                       </data>
+               </dict>
+               <key>Headers/SPUUpdaterSettings.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Nnk1lMwSl/z+ugdM8ovU0U/bQUoOWG6zjYQHXPF+kCU=
+                       </data>
+               </dict>
+               <key>Headers/SPUUserDriver.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       FZyzRoNn6SIm0ugYRKGMzlmq0C60WknB8YHjZtfmmYw=
+                       </data>
+               </dict>
+               <key>Headers/SPUUserUpdateState.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Z4UKJcXMF/bUmSkIiM+D8jTiS8i5x1CLqoo4uG4aQvg=
+                       </data>
+               </dict>
+               <key>Headers/SUAppcast.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       M3KUgO+Ud/n5t/rXjFYzQMUTPDA8fK7W46QQfuh5DnA=
+                       </data>
+               </dict>
+               <key>Headers/SUAppcastItem.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       imKkb6r+8fp+9enH9Xlnh0VZ5S12ZkwmU53UHTx/Tdo=
+                       </data>
+               </dict>
+               <key>Headers/SUErrors.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       fmP8Y0mI10K5McjVGtVKtgzae36JLxmqLw3sr7vdBGY=
+                       </data>
+               </dict>
+               <key>Headers/SUExport.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       XO8CQmbFThLbYg949NEGhg3g+iouIw3/3+BCCLtEdFE=
+                       </data>
+               </dict>
+               <key>Headers/SUStandardVersionComparator.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       fUB7nOch1cZQ50HstpLnfxLvO14Y6oE29yRI6NcgjGw=
+                       </data>
+               </dict>
+               <key>Headers/SUUpdatePermissionResponse.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       HScQok/zuc704lNfwGl1Csr6nigQLAsjeRJXG1HTuks=
+                       </data>
+               </dict>
+               <key>Headers/SUUpdater.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       8BXIwn75UYazfTyDZklTch+t6AlsOxNdTI/bNj/qx1I=
+                       </data>
+               </dict>
+               <key>Headers/SUUpdaterDelegate.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       XRFzmZB3ShVUFY8JAvcjptVwxLmD/VL5rwnFoy5rSlc=
+                       </data>
+               </dict>
+               <key>Headers/SUVersionComparisonProtocol.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       KLu0JKx6uB4rk/YeNZ/vo+0J1qONCyZQBNIQPA9GvbQ=
+                       </data>
+               </dict>
+               <key>Headers/SUVersionDisplayProtocol.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       PyPE+5u9vBlxRYDuTdf3P/wxQ26nM8m7MIw/dOerUSw=
+                       </data>
+               </dict>
+               <key>Headers/Sparkle.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       OkQqMusip3u1oI5hrGeNr/32xpfTMCC4Kmg7r0Aijgw=
+                       </data>
+               </dict>
+               <key>Modules/module.modulemap</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       1TF+JZkzFr6n8oH4WItto+C5Vf3K12f0H9KjqD0A5QU=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SPUAppcastItemStateResolver.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       HDvimACMGXV647Jwg2IqAFvOgJoB8G0sdPbeoW8yFO4=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SPUGentleUserDriverReminders.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       9W2dJ38WQX151mpIS0r8/EfCqZV6jEh621xwna2JVAI=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SPUInstallationType.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       hj9Br7Gf1Y8X1dqNvSUHMP70K+Q+S9xZAyPYMqKthFQ=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SPUStandardUserDriver+Private.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       rMdk5zH+nm0wf+Mt6k0GtFGWQiXCsql0WiPwNanN6q0=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SPUUserAgent+Private.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       DD6nxqq6syhA5BxWuyLPq03uTd4zAmA7b0q6msG1hQw=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SUAppcastItem+Private.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       760gwh52KqECJ9eZ1qZ6YyaaFHNHaEFf9mel5xnG4aE=
+                       </data>
+               </dict>
+               <key>PrivateHeaders/SUInstallerLauncher+Private.h</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       yy6cRl8IqwMJwr86TS98NdnHb/WkSAaUcAoiKYUg3ZQ=
+                       </data>
+               </dict>
+               <key>Resources/Base.lproj/SUUpdateAlert.nib</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       rNJnQOQk5Kw1RR/pFDaL/mDaQ6JBYFTTBPMmbSZRWD8=
+                       </data>
+               </dict>
+               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       JKjxgN6h8KUeAa51gY+o3UrMEEEIvZUG3qN6jSF8jZk=
+                       </data>
+               </dict>
+               <key>Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       bwYMQkHPDvn3lBABOZ6BxAcwSpZ3Lrl1YyvMRkNWt6U=
+                       </data>
+               </dict>
+               <key>Resources/Base.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       aZ6hIsTY6mApb4yL8CxqMHw0W1sTdp71lBqcEBR5ATk=
+                       </data>
+               </dict>
+               <key>Resources/Info.plist</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       As2ncnEr+6Q0chlVgQ1A/2o+An2IpNJGUM54KpAbokE=
+                       </data>
+               </dict>
+               <key>Resources/ReleaseNotesColorStyle.css</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       dr1pmXWP2OUdF+a0gttDT5tHaMArA3r2vS46AAzoy8E=
+                       </data>
+               </dict>
+               <key>Resources/SUStatus.nib</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       V7nQA4E39SW5aUzqhBVsXTFN0jH5W2mdJr74xs58fWU=
+                       </data>
+               </dict>
+               <key>Resources/ar.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       33nOBJb6OPaZt3PKT2iUJ3RfF/c59DAGmt9TCQVn74A=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ar.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       ku6BdTbNrkSmKEdwyNA1hmoKbQ3uRv8JR4LK4cjqgpA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ar.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       yx9tkKjj3aOHvgdYCWXM89uhlyVeNb4oqcAenJxibwI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ca.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       18qLsTRnJfi0wDf6A85XbiMXGORSmuo9Ul3IK4m5gq0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ca.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       3iHHzb3P1DvR6KaXp59ybrj1JySnfOgPbOigOIgI7es=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       qSoDl0PIYv+OrSxtJfUYk9xeQihmzfaxAf+egKyw4y4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       obkk1c1EawdfEyPHqo5ddIzsUcWfClFUbg895zj3/Ag=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/cs.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       2Nm0MQj4WgMucaSuEdljuTIGS/oceXEuVWi2kDgjRq0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       aKNcPadrNnf7wuYmBAxoRzES9XhxXRHMrW/+9MtZBQs=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       xremLoAOqEfufOFyjOrH8S8ZkWwRklRhGCGB/igGD38=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/da.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       BOUi5PfyUb/ZRM6WZOuFC34IOic4+XPJkLikDtwhZIw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       A6JiLH5c4UX2iobAPXPHv7TLiBInrdHvtvqnnsTBxLI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       GPjZbm0EAKfj0CK7Pb1UITo5WoDzNpf4m2XELfj3eio=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/de.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Wv+mo8RfxojepYE9GcBeYwUNycpqkk9qo/BjYGwb08M=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       utAXO7a8Od4ICYV3R0WQBa8ncUQ30SfruZACTuvyDxk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       V0h7tXPJI0b1Z0FEMxe7RJIn2oWGg9QUhF/cRSz7aWE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/el.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Bl2oDZnDwbj55sSp/MNoHmcSbiOW5kxY1OGcL3k5scY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/en.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       EBVS8ZfEIJxGSghO17emwoHQo0LVWWzBJMFs8RwvKWg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/en.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       MN0HeTdXIxqALqUMUoLnVkRcDcvnDXqjsifU07tV3a8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       8KSmmlZHYEiMGUwXQRV+ZDxs07XmaeH4XIYI+di1ono=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       GEtUsrVDWqXyHAV8lWPrEUWQm30jetvOjJZdlI7egwQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/es.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       OaVgz8LiS96ZT2vfsJKv7bM+mwC0DT7Px6A1rIxboYg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fa.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Ue4NSlcLQL9OAOrD5Ibul1RaIwZOl6vcIv7DsffzQMA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       O+ja0EMKj5RxMmW3TRALc9XTpMJ7Y7dwXm706E33rUA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       MfjVC0QQ0Dxvz6Rt03EhMaahM5Gh5rhqMSJFEqzSRLo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fi.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       O6+s8+GKGX06x08WB1v526jOSl30MEoNnzjhYKe4IA0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Avyaxx14FRXq/CTIDvvF7uww42SRhYgNSc960h7MCfc=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       qlNtkoH6vAA93/yxp8Stav74m46gvKb+3R26QDMSsXs=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/fr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       O5To7z4frtvm1D6zwFzz6rpleVtia2BFro3bElXznDg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/he.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       SmfKGCNVK9M61LCNGqWk4/FZInlcKG2U9uD5ajPVobw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/he.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       dWNbn7k2fHYYtPta1WhZ1DvglupayXIaQjBYK/8G7cQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       L7shRNgdZIfbt5y5pioLEIo+A9I7VtgIUFpzoCFkB1I=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       5x5zRCWzWYlbd7MkUcbPs5ZWrWQRDZnj3s9K2LmsnBw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Nmip9NgB014UDYN3yOsmsOFa9D3wED0L56Mve3WIVQg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       8LbsWTkMSczHFa4Rh9XZDRo0uCOyrV9VXUYEiEvnG7I=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       twHi8JXysxao7MlTGr178ZpB8yz1mXkij2V5n8NJWSQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/hu.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       0UBqgjXjtRG51lEacNaLTmNvj5aFUeJ7oo1J4WYkrCw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       04Q9PpqtuYz6kfVhf6eI9XBxJn0LQB9Ck/ceBq1ztGU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       heK63dQF7YJvehrOEQk1jesq6v3bQBJy2jL+w5jjMlE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/is.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       5/4A+HgH/PhUAQ3NVnURPeiIJsQYJyZ28sAObmxJlVU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       1zxkJlohqYtSJb0pj93fJXlPkedYm2IllbilGRDFo90=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       XjyG4RGvcVUZia4jJHGYQEfgocs1iEx7iljn+vue5xY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/it.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       2Glm2TwT78wZfe8iqBg8z/oCgrmtzqthnzNlHvHt5ls=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       vFagmq7Xdp80v7/plWY/m3PBNbxFsCeu0x8wDzZQRT4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       zYuOp6owctTI6zIFWac7yKqGLEglaXnTlNOnh/n7mow=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ja.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       ND5iilhwr65bkm+YhqLGqKEISY1I2td3Ncn8D8Vdass=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       shkQwYfF0rI+GzhWoVLqI7A1hKTnRr/o4wnUFb3Vhik=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       lqPQJYKtJlVGV2/UpetCpxTEpb4u5aUUU9CjmZO2OaI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ko.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       YqbMnU7mRpPLmsdD7YIXgMZkaxkkL5aaeoiv4bLN93I=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       RQbKlvLGnVjjVMP5eHHNUCv5kLJl4EA6zNGdDKatbH0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       F85iUA2aHbvo23Z0jJ/T/pwJ2HOQdYD5eRyAow9cSgY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nb.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       6sl0vlKoRBQtvGvC7oGwtHA8/B+fNdwBGwN2AyISsXQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       tp3fY8ogv+xcQOFkz5BkDNTZHIaRrhGgT9uKfCjDB70=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Yrwc9ESTayZoqv2JWm0nD1IHGLeAiBncPc2OeaVz8J8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/nl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       tBjWBavMtayqool9JGs+xH56A2Kui/7dRQX27xG2jx0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       oB2rGM/SPnJLdvhUz2CJfm8TS6XhrhmHD2gFyrVSq8U=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       ubFfFWaG2RKXgeGR4DRtvbY0fH+SNJZzBebSPCo6K5c=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       KwctPd8Y+mrsEYWALAkKXeCfY4celUbA3MVn+Ye4Imc=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       hDN04zbJliR6KRqEv4lEuAVNTjbkmyYUpKjCbWKaKdU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       6NvKj6GmzGQLAsGBC6IUvRBoLSRfEJuWi7ZitoTyoTk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-BR.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Kcwam/xq0V6VzMD4+rbUrDyAtrsl186J6lEeu5K2qD4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       gto4ribWYRWZl0Eez6/7XZg3EesExPlGb5Nz1YVTuzE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       st4wdNoLjj5sVIFHqDAh3cjRFhxhpzkcFP7AJSXjYkw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/pt-PT.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       RLdbB4cQnps2k/crFyvGScdjmGE3KSkG448wTbYi4vY=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       PZZnueQNOLmQuEtkELhzxhnG+MDu7RyeOaySHSoHmYU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       IkIaDJ/HgpnBNNkP+MF2JGSd+rNgAI+o9c2aNor+ewo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ro.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       w2L0Ki7vhlIa92HDkDRmDExmCXIGkOWil+ROXr+6I+k=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       wdiMmOcek4MJvdl1u2OoccWD56zCu2lKDGUd40bnMb8=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       /uARbwIQFupNOZvlyWgeE722GAsKcu4/QooLAEGHCBQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/ru.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       INHL+VHSTd0hjYmUXHPShl3l4xTB4C3KcCLgVn/AHGw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       FDJ/dTwG5X34BF9lDDkFVGJUwpLeKi1MUbF072nYass=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       xa+UPXIC+og1IpGE6bA/+51E2uR9ZG+HGWKFA83tTNU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sk.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       VmLLF6tJBA+j9jFby3BVx9GagD//qx4ETRywoU71PVQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       OAq7ojI6K/xR4nFEK1OBTiJeNaHqgb8xCgzZ5Y3P7Uo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       ik4klDAQYgMT5hrecUkfi+K/tuGyvOYk96xp+z98l74=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sl.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       VTtzpxCnkPCO1yB2GviO6AkaZFKPpcUh530dTdqFcQE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       LYXEBB7MF82Ig5MgIM9pTtJJAYJL51nzYzbVW1kdSGI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       XDORKepHKWfDihFVMFnshPW/qjSLPLoU/zHqJQbRoBk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/sv.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       nidShaf5BKX1wQntkXeQhcGQoWUzNgVQhfHSM44GXVM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       dvWO9t2NYZ+cQoe/9B3Tib+EPOdPp4wgatHaVVhu8gQ=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       mxCL8k437ikdUpl3px2Ii/2fZqL85x1Fn/xe7h1YI6E=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/th.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       vj4h7104vuQqis9NXvSgrgQNz9czX6lMJqdvem4VCUk=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       Eas+RUaJ03H05UVqHIhONcr5aa06Oj3g21RnNac5od4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       D3zqZ6c91YzDkgT4Vs+/SM98tCcw+qDhY/eKhohBfZg=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/tr.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       noD1zsNtx5u2wHPX8rarT7YPn+H09/DgvHb2553BnDo=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       lR6DOvFkMHpmbtXQJNE1aXtRXgBbd0siVMoq01D4dhM=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       +MphWMKEy2hsIqrjroJQcq+x1mytcNeZm+z3Lv+ll6A=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/uk.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       gvuLzOKGahqSQtAwSCb9CuBAYuDVwfj+lwwSv/NPq8s=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       NXEAoNAKcjI5GBtGxYcUXmtz+rP06ocJSSVlaR/lnMA=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       8co96MJCMuKNvaPFe13uh2d028P/Cgpa8iOiNml9rfE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_CN.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       nKdLa3IQhWTKipj6MF+VwRUugjpvTVuGIpzQF/QDUYI=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       zegYIhIFwtdJa87mjTlkalyYSz31LrnhiwNWDJDPqBU=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       54ogzTvsgJOl4aSWIQRzRzky1TddmGlpamTLhHMJWb0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_HK.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       AKEvYEi8FGZbbYnhpr2nqeUWrBQaj7wJjo8/KjED1U0=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/SUUpdateAlert.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       jdmB9inrJUf1OmYmVnORSMfdz5z1SWmBtdv39I776K4=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       4tCLZKKcNuOJ1up1IgFXUeEp7s5U5BOBGHC1EZMyrhE=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Resources/zh_TW.lproj/Sparkle.strings</key>
+               <dict>
+                       <key>hash2</key>
+                       <data>
+                       NhrxIO01cQJckmOoEhEbQ73y2RcEy8drXCHDvsvcLEw=
+                       </data>
+                       <key>optional</key>
+                       <true/>
+               </dict>
+               <key>Updater.app</key>
+               <dict>
+                       <key>cdhash</key>
+                       <data>
+                       bwydMD30i3XJLgdaSJaOKvGHWNw=
+                       </data>
+                       <key>requirement</key>
+                       <string>cdhash H"6f0c9d303df48b75c92e075a48968e2af18758dc" or cdhash H"ccf6be6a2321e5fca26c2d4e18a84a7b88335410"</string>
+               </dict>
+               <key>XPCServices/Downloader.xpc</key>
+               <dict>
+                       <key>cdhash</key>
+                       <data>
+                       JGT6QWfBdYaNLDT53M7XH6CMf9w=
+                       </data>
+                       <key>requirement</key>
+                       <string>cdhash H"2464fa4167c175868d2c34f9dcced71fa08c7fdc" or cdhash H"4d0238ab298ac7844cc4c060c8d0e44fdb6c199a"</string>
+               </dict>
+               <key>XPCServices/Installer.xpc</key>
+               <dict>
+                       <key>cdhash</key>
+                       <data>
+                       7skE4fG1Lz/R9Xo6olqHNFAC5VE=
+                       </data>
+                       <key>requirement</key>
+                       <string>cdhash H"eec904e1f1b52f3fd1f57a3aa25a87345002e551" or cdhash H"ab805e9c434dc9a04e995ff82949a5338e9e0be2"</string>
+               </dict>
+       </dict>
+       <key>rules</key>
+       <dict>
+               <key>^Resources/</key>
+               <true/>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^version.plist$</key>
+               <true/>
+       </dict>
+       <key>rules2</key>
+       <dict>
+               <key>.*\.dSYM($|/)</key>
+               <dict>
+                       <key>weight</key>
+                       <real>11</real>
+               </dict>
+               <key>^(.*/)?\.DS_Store$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>2000</real>
+               </dict>
+               <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^.*</key>
+               <true/>
+               <key>^Info\.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^PkgInfo$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^Resources/.*\.lproj/</key>
+               <dict>
+                       <key>optional</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1000</real>
+               </dict>
+               <key>^Resources/.*\.lproj/locversion.plist$</key>
+               <dict>
+                       <key>omit</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>1100</real>
+               </dict>
+               <key>^Resources/Base\.lproj/</key>
+               <dict>
+                       <key>weight</key>
+                       <real>1010</real>
+               </dict>
+               <key>^[^/]+$</key>
+               <dict>
+                       <key>nested</key>
+                       <true/>
+                       <key>weight</key>
+                       <real>10</real>
+               </dict>
+               <key>^embedded\.provisionprofile$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+               <key>^version\.plist$</key>
+               <dict>
+                       <key>weight</key>
+                       <real>20</real>
+               </dict>
+       </dict>
+</dict>
+</plist>
index 8c7e5a667f1b771847fe88c01c3de34413a1b220..7371f47a6f8bd23a8fa1a8b2a9479cdd76380e54 120000 (symlink)
@@ -1 +1 @@
-A
\ No newline at end of file
+B
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/XPCServices b/OSX/Sparkle.framework/XPCServices
new file mode 120000 (symlink)
index 0000000..99c46ea
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/XPCServices
\ No newline at end of file
index 3b5683028eed5d564966e59f3180be801bbf160e..50f34d886a10014493ee3c8d373797454c5eb2e0 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2013-2018 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright © 2013-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
 
 #ifdef IN_UPDATER
 # import <Cocoa/Cocoa.h>
-# import <Sparkle/SUUpdaterDelegate.h>
+# import <Sparkle/SPUUpdaterDelegate.h>
+# import <Sparkle/SPUStandardUserDriverDelegate.h>
 
 @interface XScreenSaverUpdater : NSObject <NSApplicationDelegate,
-                                           SUUpdaterDelegate>
+                                           SPUUpdaterDelegate,
+                                           SPUStandardUserDriverDelegate>
 {
-  NSTimer *timer;
 }
 @end
 #endif // IN_UPDATER
 
-#define UPDATER_DOMAIN "org.jwz.xscreensaver.updater"
+#define UPDATER_DOMAIN "org.jwz.xscreensaver.XScreenSaverUpdater"
 
 // Strings must match Sparkle/SUConstants.m
 #define SUSUEnableAutomaticChecksKey   "SUEnableAutomaticChecks"
 #define SUAutomaticallyUpdateDef       NO
 #define SUSendProfileInfoKey           "SUSendProfileInfo"
 #define SUSendProfileInfoDef           YES
-#define SUScheduledCheckIntervalKey    "SUScheduledCheckInterval"
-#define SUScheduledCheckIntervalDef    604800
 #define SULastCheckTimeKey             "SULastCheckTime"
+#define SULastCheckTimeDef             "1992-08-17 19:00:00 +0000"
+
+#define SUScheduledCheckIntervalKey    "SUScheduledCheckInterval"
+#ifdef IN_UPDATER
+# define SUScheduledCheckIntervalDef   86400   // Updater: 1 day
+#else
+# define SUScheduledCheckIntervalDef   604800  // Savers: 2 weeks
+#endif
 
 #define UPDATER_DEFAULTS @{                                    \
   @SUSUEnableAutomaticChecksKey: @SUSUEnableAutomaticChecksDef,        \
   @SUAutomaticallyUpdateKey:    @SUAutomaticallyUpdateDef,     \
   @SUSendProfileInfoKey:         @SUSendProfileInfoDef,                \
-  @SUScheduledCheckIntervalKey:  @SUScheduledCheckIntervalDef  \
+  @SULastCheckTimeKey:          @SULastCheckTimeDef,           \
+  @SUScheduledCheckIntervalKey:  @SUScheduledCheckIntervalDef, \
 }
index d689133f7b9eb772fc526f83474f00c5971ddde5..1af0fb44e4c5f258abaf6e55282980e1a7bffb79 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright © 2013-2021 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright © 2013-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  * via Sparkle.framework.
  *
  * Created: 7-Dec-2013
- *
- * NOTE: This does not work with Sparkle 1.5b6 -- it requires the "HEAD"
- *       version 4-Dec-2013 or later.
  */
 
 #define IN_UPDATER
 
-#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
-
 #import "Updater.h"
-#import "Sparkle/SUUpdater.h"
+#import "Sparkle/SPUUpdater.h"
+#import "Sparkle/SPUStandardUpdaterController.h"
+#import "nslog.h"
 
-@implementation XScreenSaverUpdater : NSObject
+@implementation XScreenSaverUpdater
+{
+  NSTimer *timer;
+  SPUStandardUpdaterController *updater;
+}
 
 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
 {
   NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
   [defs registerDefaults:UPDATER_DEFAULTS];
 
-  // If it's not time to run the updater, then bail immediately.
-  // I'm not sure why this is necessary, but Sparkle seems to be
-  // checking too often.
-  //
-  if (! [self timeToCheck])
-    [[NSApplication sharedApplication] terminate:self];
+  updater = [[[SPUStandardUpdaterController alloc]
+               initWithUpdaterDelegate: self
+                    userDriverDelegate: self]
+              retain];
 
-  // If the screen saver is not running, then launch the updater now.
-  // Otherwise, wait until the screen saver deactivates, and then do
-  // it.  This is because if the updater tries to pop up a dialog box
-  // while the screen saver is active, everything goes to hell and it
-  // never shows up.  You'd expect the dialog to just map below the
-  // screen saver window, but no.
+  if (! [self timeToCheck]) {
+    NSLog (@"updater: not checking");
+    [[NSApplication sharedApplication] terminate:self];
+  }
 
+  // On macOS 10.15, if we tried to pop up the Sparkle dialog while the
+  // screen was blanked, the dialog never showed up.  So on such systems,
+  // we wait until the screen becomes un-blanked before running the updater.
+  //
+  // On macOS 14.0, it works just fine to pop up the dialog while the screen
+  // is blanked: it becomes visible once the screen un-blanks, as you'd
+  // expect.  Which is good, because we also have no way of knowing whether
+  // the screen is blanked.
+  //
   if (! [self screenSaverActive]) {
+    NSLog (@"updater: running immediately");
     [self runUpdater];
   } else {
+    NSLog (@"updater: waiting for screen to unblank");
     // Run the updater when the "screensaver.didstop" notification arrives.
     [[NSDistributedNotificationCenter defaultCenter]
       addObserver:self
 }
 
 
+// This is mostly informational now, since XScreenSaverView checkForUpdates
+// also does this test, and only invokes us if it is time.
+//
 - (BOOL) timeToCheck
 {
   NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
-  NSTimeInterval interval = [defs doubleForKey:@SUScheduledCheckIntervalKey];
-  NSDate *last = [defs objectForKey:@SULastCheckTimeKey];
-  if (!interval || !last)
+
+  // This must always be small so we do an update each-ish time we're launched.
+  // We check it here but so does the Sparkle bundle.
+  NSTimeInterval interval = 60 * 60 * 24;
+  [defs setObject: [NSNumber numberWithInt: interval]
+           forKey: @SUScheduledCheckIntervalKey];
+  updater.updater.updateCheckInterval = interval;
+
+  NSDate *last_check = [defs objectForKey:@SULastCheckTimeKey];
+  if ([last_check isKindOfClass:[NSString class]]) {
+    NSString *s = (NSString *) last_check;
+    if (!s.length) {
+      last_check = nil;
+    } else {
+      NSDateFormatter *f = [[NSDateFormatter alloc] init];
+      [f setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZZZ"];
+      [f setTimeZone: [NSTimeZone timeZoneForSecondsFromGMT: 0]];
+      last_check = [f dateFromString: s];
+    }
+  }
+
+  if (!last_check) {
+    NSLog (@"updater: never checked for updates (interval %d days)",
+           (int) (interval / (60 * 60 * 24)));
     return YES;
-  NSTimeInterval since = [[NSDate date] timeIntervalSinceDate:last];
-  return (since > interval);
+  } else {
+    NSTimeInterval elapsed = -[last_check timeIntervalSinceNow];
+    if (elapsed < interval) {
+      NSLog (@"updater: last checked for updates %d days ago, skipping check"
+             " (interval %d days)",
+             (int) (elapsed / (60 * 60 * 24)),
+             (int) (interval / (60 * 60 * 24)));
+      return NO;
+    } else {
+      NSLog (@"updater: last checked for updates %d days ago"
+             " (interval %d days)",
+             (int) (elapsed / (60 * 60 * 24)),
+             (int) (interval / (60 * 60 * 24)));
+      return YES;
+    }
+  }
 }
 
 
 // Whether ScreenSaverEngine is currently running, meaning screen is blanked.
 // There's no easy way to determine this other than scanning the process table.
+// This always returns false as of macOS 14.0.
 //
 - (BOOL) screenSaverActive
 {
 
 - (void) saverStoppedNotification:(NSNotification *)note
 {
+  NSLog (@"updater: screen unblanked");
   [self runUpdater];
 }
 
 
 - (void) pollSaverTermination:(NSTimer *)t
 {
-  if (! [self screenSaverActive])
+  if (! [self screenSaverActive]) {
+    NSLog (@"updater: screen unblanked, polled");
     [self runUpdater];
+  }
 }
 
 
     timer = nil;
   }
 
-  SUUpdater *updater = [SUUpdater updaterForBundle:
-                                    [NSBundle bundleForClass:[self class]]];
-  [updater setDelegate:self];
-
   // Launch the updater thread.
-  [updater checkForUpdatesInBackground];
+  [updater.updater checkForUpdatesInBackground];
 
   // Now we need to wait for the Sparkle thread to finish before we can
   // exit, so just poll waiting for it.
   //
-  [NSTimer scheduledTimerWithTimeInterval:1
-           target:self
-           selector:@selector(pollUpdaterTermination:)
-           userInfo:updater
-           repeats:YES];
+  NSLog (@"updater: waiting for sparkle");
+  [NSTimer scheduledTimerWithTimeInterval: 1
+                                   target: self
+                                 selector: @selector(pollUpdaterTermination:)
+                                 userInfo: nil
+                                  repeats: YES];
+}
+
+
+- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app
+{
+  return YES;
+}
+
+- (void) pollUpdaterTermination:(NSTimer *)t
+{
+  if ([updater.updater sessionInProgress]) {
+    // NSLog (@"updater: waiting for sparkle");
+  } else {
+    NSLog (@"updater: sparkle finished (polled)");
+    [[NSApplication sharedApplication] terminate:self];
+  }
+}
+
+- (void) updater: (SPUUpdater *) updater
+         didFinishUpdateCycleForUpdateCheck: (SPUUpdateCheck) uc
+           error: (NSError *) err
+{
+  if (err)
+    NSLog (@"updater: finished with error: %@", err);
+  else
+    NSLog (@"updater: finished");
+  [[NSApplication sharedApplication] terminate:self];
 }
 
 
-// Delegate method that lets us append extra info to the system-info URL.
 //
-- (NSArray *) feedParametersForUpdater:(SUUpdater *)updater
+// Sparkle configuration
+//
+
+- (BOOL) updaterShouldRelaunchApplication: (SPUStandardUpdaterController *) u
+{
+  return NO;  // No need for Sparkle to re-launch XScreenSaverUpdater
+}
+
+// Append extra info to the system-info URL.
+//
+- (NSArray *) feedParametersForUpdater:(SPUStandardUpdaterController *) u
                   sendingSystemProfile:(BOOL)sending
 {
   // Get the name of the saver that invoked us, and include that in the
 }
 
 
-- (void) pollUpdaterTermination:(NSTimer *)t
+// Just add some more logging to various delegate hooks.
+
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         didFinishLoadingAppcast: (SUAppcast *) appcast
 {
-  SUUpdater *updater = [t userInfo];
-  if (![updater updateInProgress])
-    [[NSApplication sharedApplication] terminate:self];
+  NSLog (@"updater: sparkle finished loading %@", appcast);
 }
 
-
-- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app
+- (BOOL) updaterShouldShowUpdateAlertForScheduledUpdate:
+         (SPUStandardUpdaterController *) u
+         forItem: (SUAppcastItem *) item
 {
+  NSLog (@"updater: update alert: %@", item);
   return YES;
 }
 
+- (void) updater: (SPUStandardUpdaterController *) u
+         didDismissUpdateAlertPermanently: (BOOL) permanently
+         forItem: (SUAppcastItem *) item
+{
+  NSLog (@"updater: dismissed: %@", item);
+}
+
+- (void) updaterDidNotFindUpdate:(SPUStandardUpdaterController *) u
+{
+  NSLog (@"updater: no updates");
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         willDownloadUpdate: (SUAppcastItem *) item
+         withRequest: (NSMutableURLRequest *) request
+{
+  NSLog (@"updater: downloading %@", item);
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         didDownloadUpdate: (SUAppcastItem *) item
+{
+  NSLog (@"updater: downloaded %@", item);
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         failedToDownloadUpdate: (SUAppcastItem *) item
+         error: (NSError *) error
+{
+  NSLog (@"updater: download failed: %@ %@", item, error);
+}
+
+- (void) userDidCancelDownload: (SPUStandardUpdaterController *) u
+{
+  NSLog (@"updater: download cancelled");
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         willExtractUpdate: (SUAppcastItem *) item
+{
+  NSLog (@"updater: extracting %@", item);
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         didExtractUpdate: (SUAppcastItem *) item
+{
+  NSLog (@"updater: extracted %@", item);
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         willInstallUpdate: (SUAppcastItem *) item
+{
+  NSLog (@"updater: installing %@", item);
+}
+
+- (void) updater: (SPUStandardUpdaterController *) u
+         didAbortWithError: (NSError *) error
+{
+  NSLog (@"updater: failed: %@", error);
+}
+
 @end
index 1c501132906e1c1c9b98f43944c3ce6d1e141415..7aa26c013dfac4f112cae2fa7b551e955522d65c 100644 (file)
@@ -17,7 +17,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSMinimumSystemVersion</key>
        <string>${MACOSX_DEPLOYMENT_TARGET}</string>
        <key>NSPrincipalClass</key>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSMainNibFile</key>
        <string>Updater</string>
        <key>CFBundleIconFile</key>
@@ -47,6 +47,6 @@
        <key>SUPublicEDKey</key>
        <string>D5YfJDsnJeiG/OhmYBGrPytPDxPsq8p0lholwaueaBo=</string>
        <key>SUScheduledCheckInterval</key>
-       <integer>604800</integer>
+       <integer>86400</integer>
 </dict>
 </plist>
index 82cf0286cc2cffc8bd1e6efe990eee3f087d4abc..bbffa9ca71c299fed87b9f607c47c2920c373e26 100644 (file)
@@ -17,7 +17,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSMinimumSystemVersion</key>
        <string>${MACOSX_DEPLOYMENT_TARGET}</string>
        <key>NSPrincipalClass</key>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSMainNibFile</key>
        <string>SaverRunner</string>
 </dict>
index 15a2a7414546efb425c0c9611a54f966524e1e10..4ef31fb234bbfe8ec63e0c27c19098cd1f3c8895 100644 (file)
@@ -28,6 +28,7 @@
 
 #import "jwxyz.h"
 #import "InvertedSlider.h"
+#import "nslog.h"
 
 #ifdef HAVE_IPHONE
 # define NSView      UIView
@@ -2842,14 +2843,14 @@ find_text_field_of_button (NSButton *button)
     [x]  Check for Updates  [ Monthly ]
 
   <hgroup>
-   <boolean id="automaticallyChecksForUpdates"
+   <boolean id="SUAutomaticallyUpdate"
             _label="Automatically check for updates"
-            arg-unset="-no-automaticallyChecksForUpdates" />
-   <select id="updateCheckInterval">
-    <option="hourly"  _label="Hourly" arg-set="-updateCheckInterval 3600"/>
-    <option="daily"   _label="Daily"  arg-set="-updateCheckInterval 86400"/>
-    <option="weekly"  _label="Weekly" arg-set="-updateCheckInterval 604800"/>
-    <option="monthly" _label="Monthly" arg-set="-updateCheckInterval 2629800"/>
+            arg-unset="-no-SUAutomaticallyUpdate" />
+   <select id="SUScheduledCheckInterval">
+    <option="hourly" _label="Hourly" arg-set="-SUScheduledCheckInterval 3600"/>
+    <option="daily"  _label="Daily"  arg-set="-SUScheduledCheckInterval 86400"/>
+    <option="weekly" _label="Weekly" arg-set="-SUScheduledCheckInterval 604800"/>
+    <option="monthly" _label="Monthly" arg-set="-SUScheduledCheckInterval 2629800"/>
    </select>
   </hgroup>
    */
index f8f3bdcd01ab4cdff68f1e55772ff40d859c7619..aeceb540a8238a41583354957448003fa2db889f 100644 (file)
@@ -29,6 +29,7 @@
 #import "jwxyzI.h"
 #import "jwxyz-cocoa.h"
 #import "jwxyz-timers.h"
+#import "nslog.h"
 
 #ifdef HAVE_IPHONE
 // XScreenSaverView.m speaks OpenGL ES just fine, but enableBackbuffer does
@@ -40,7 +41,9 @@
 
 #ifndef HAVE_IPHONE
 # define VENTURA_KLUDGE
+# define SONOMA_KLUDGE
 #endif
+#undef CATCH_SIGNALS
 
 #undef countof
 #define countof(x) (sizeof((x))/sizeof((*x)))
@@ -58,7 +61,6 @@ const char *progname;
 const char *progclass;
 int mono_p = 0;
 
-
 # ifdef HAVE_IPHONE
 
 #  define NSSizeToCGSize(x) (x)
@@ -396,6 +398,11 @@ add_default_options (const XrmOptionDescRec *opts,
 }
 
 
+#ifdef CATCH_SIGNALS
+//
+// This doesn't work.  We display backtraces for exceptions, but not for
+// signals, including for abort() unless it was wrapped with jwxyz_abort().
+//
 static void sighandler (int sig)
 {
   const char *s = strsignal(sig);
@@ -460,6 +467,8 @@ static void catch_signals (void)
   NSLog (@"installed signal handlers");
 }
 
+#endif // CATCH_SIGNALS
+
 #ifdef VENTURA_KLUDGE   // Duplicated in Randomizer.m
 static NSMutableArray *all_saver_views = NULL;
 #endif
@@ -474,7 +483,9 @@ static NSMutableArray *all_saver_views = NULL;
     return 0;
   
   saver_title = [_title retain];
+# ifdef CATCH_SIGNALS
   catch_signals();
+# endif
   xsft = [self findFunctionTable: saver_title];
   if (! xsft) {
     [self release];
@@ -550,6 +561,49 @@ static NSMutableArray *all_saver_views = NULL;
   }
 #endif  // VENTURA_KLUDGE
 
+# ifdef SONOMA_KLUDGE   // Duplicated in Randomizer.m
+
+  /* Oct 2023, macOS 14.0: we get startAnimation on each screen, but
+     stopAnimation is never called, and our process (legacyScreenSaver)
+     never exits.  This means that the screen saver just keeps running
+     forever in the background on an invisible window, burning CPU!
+
+     That invisible window is both 'visible' and 'onActiveSpace', and has
+     no parentWindow, so its invisibility is not detectable.
+
+     However, there is a "com.apple.screensaver.willstop" notification and
+     from that we can intuit that we should send ourselves stopAnimation.
+
+     Except, stopAnimation() isn't great, because it seems that sometimes
+     legacyScreenSaver holds on to old copies of this bundle and begins
+     animating them again -- so we have multiple invisible copies of the
+     same saver running, which burns CPU uselessly and kills our frame rate.
+     So let's just exit() instead.
+   */
+  if (!p && !randomizer_p) {
+    [[NSDistributedNotificationCenter defaultCenter]
+        addObserverForName: @"com.apple.screensaver.willstop"
+                    object: nil
+                     queue: nil
+                usingBlock:^(NSNotification *n) {
+        NSLog (@"received %@", [n name]);
+        [self stopAnimation];
+        NSLog (@"exiting");
+        [[NSApplication sharedApplication] terminate:self];
+      }];
+
+    /* Do it before sleeping as well, I guess? */
+    [[[NSWorkspace sharedWorkspace] notificationCenter]
+        addObserverForName: NSWorkspaceWillSleepNotification
+                    object: nil
+                     queue: nil
+                usingBlock:^(NSNotification *n) {
+        NSLog (@"received %@", [n name]);
+        [self stopAnimation];
+      }];
+  }
+# endif // SONOMA_KLUDGE
+
   return self;
 }
 
@@ -567,7 +621,7 @@ static NSMutableArray *all_saver_views = NULL;
 
    June 2023, macOS 13.4: On a system with 3 screens, initWithFrame is called
    on every screen, but viewDidMoveToWindow is called only on screen 3 -- but
-   that screen's view has the frame of screen 0!  So we get only one saver
+   that screen's view has the frame of screen 1!  So we get only one saver
    running, and it is the wrong size.  We detect and correct this insanity
    with the VENTURA_KLUDGE stuff.
  */
@@ -1300,6 +1354,11 @@ gl_check_ver (const struct gl_version *caps,
   {
     const char *version_str = (const char *)glGetString (GL_VERSION);
 
+    if (! version_str) {
+      NSLog (@"no GL_VERSION?");
+      version_str = "";
+    }
+
     /* iPhone is always OpenGL ES 1.1. */
     if (sscanf ((const char *)version_str, "%u.%u",
                 &version.major, &version.minor) < 2)
@@ -1463,8 +1522,7 @@ gl_check_ver (const struct gl_version *caps,
   GLsizei olen = backbuffer_len;
 
 # if !defined __OPTIMIZE__ || TARGET_IPHONE_SIMULATOR
-  NSLog(@"backbuffer %.0fx%.0f",
-        new_size.width, new_size.height);
+  NSLog(@"backbuffer %.0fx%.0f", new_size.width, new_size.height);
 # endif
 
   /* OS X uses APPLE_client_storage and APPLE_texture_range, as described in
@@ -1941,7 +1999,13 @@ gl_check_ver (const struct gl_version *caps,
       resized_p = YES;
 # endif
 
-    [self checkForUpdates];
+# ifndef HAVE_IPHONE
+    [NSTimer scheduledTimerWithTimeInterval: 10 + frand(10)
+                                     target: self
+                                   selector: @selector(checkForUpdates)
+                                   userInfo: nil
+                                    repeats: NO];
+# endif // !HAVE_IPHONE
 
 # ifdef HAVE_IPHONE
     BOOL cyclep = get_boolean_resource (xdpy, "globalCycle", "GlobalCycle");
@@ -2079,7 +2143,6 @@ gl_check_ver (const struct gl_version *caps,
     static int frame = 0;
     if (++frame == 100) {
       fprintf(stderr,"BOOM\n");
-      int y = 0;
       //    int aa = *((int*)y);
       int x = 30/y;
     }
@@ -3285,6 +3348,48 @@ gl_check_ver (const struct gl_version *caps,
 
 # ifndef HAVE_IPHONE
 
+/* Hooooooboy, is checking for updates a mess!
+
+   The various screen savers, via XScreenSaverConfigSheet, normally store
+   their preferences into NSUserDefaultsController and ScreenSaverDefaults,
+   which (when running under legacyScreenSaver, which is sandboxed) writes
+   those preferences into:
+
+     Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/\
+     Library/Preferences/ByHost/org.jwz.xscreensaver.$NAME.$UUID.plist
+
+   The exception to this is the two global preferences controlling whether
+   and how often we should check for updates.  Those two preferences,
+   "SUAutomaticallyUpdate" and "SUScheduledCheckInterval", are instead
+   written into NSUserDefaultsController / GlobalDefaults, which means
+   those end up in:
+
+     Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/\
+     Library/Preferences/org.jwz.xscreensaver.XScreenSaverUpdater.plist
+
+   However, XScreenSaverUpdater.app, which is not sandboxed, expects to
+   read those preferences from:
+
+     Library/Preferences/org.jwz.xscreensaver.XScreenSaverUpdater.plist
+
+   which cannot be written by a sandboxed .saver bundle.
+
+   Also a sandboxed app cannot pass command-line args to a launched
+   application.
+
+   How we resolve this is by moving the "when to check" logic into
+   XScreenSaverView.  We examine the sandboxed versions of the Sparkle
+   preferences and use those to decide when and whether to launch
+   XScreenSaverUpdater.app.  And we arrange for XScreenSaverUpdater.app
+   to always check if it has been launched, by having these settings as
+   its defaults:
+
+       SUAutomaticallyUpdate: yes
+       SUScheduledCheckInterval: daily
+ */
+
+
+
 // Returns the full pathname to the Sparkle updater app.
 //
 - (NSString *) updaterPath
@@ -3321,26 +3426,72 @@ gl_check_ver (const struct gl_version *caps,
 
   return app_path;
 }
-# endif // !HAVE_IPHONE
+
+
+// Upon successful launch of the updater, record the date.
+//
+- (void) updaterLaunched
+{
+  NSUserDefaultsController *def = [prefsReader globalDefaultsController];
+  NSAssert (def, @"no globalDefaultsController");
+
+  // SULastCheckTime = "2023-10-09 17:01:59 +0000";
+
+  NSDateFormatter *f = [[NSDateFormatter alloc] init];
+  [f setDateFormat:@"yyyy-MM-dd HH:mm:ss +0000"];
+  [f setTimeZone: [NSTimeZone timeZoneForSecondsFromGMT: 0]];
+  NSString *date = [f stringFromDate: [NSDate date]];
+
+  NSString *old = [[def defaults] objectForKey: @SULastCheckTimeKey];
+  NSLog (@"%@: \"%@\" => \"%@\"", @SULastCheckTimeKey, old, date);
+
+  [[def defaults] setObject: date forKey: @SULastCheckTimeKey];
+  [def commitEditing];
+  [def save: self];
+}
 
 
 - (void) checkForUpdates
 {
-# ifndef HAVE_IPHONE
-  // We only check once at startup, even if there are multiple screens,
-  // and even if this saver is running for many days.
-  // (Uh, except this doesn't work because this static isn't shared,
-  // even if we make it an exported global. Not sure why. Oh well.)
-  static BOOL checked_p = NO;
-  if (checked_p) return;
-  checked_p = YES;
-
-  // If it's off, don't bother running the updater.  Otherwise, the
-  // updater will decide if it's time to hit the network.
   if (! get_boolean_resource (xdpy,
                               SUSUEnableAutomaticChecksKey,
-                              SUSUEnableAutomaticChecksKey))
+                              SUSUEnableAutomaticChecksKey)) {
+    NSLog (@"update checks disbled");
     return;
+  }
+
+  int interval = get_integer_resource (xdpy,
+                                       SUScheduledCheckIntervalKey,
+                                       SUScheduledCheckIntervalKey);
+  if (interval <= 0)
+    interval = 60 * 60 * 24;
+
+  const char *last_check = get_string_resource (xdpy,
+                                                SULastCheckTimeKey,
+                                                SULastCheckTimeKey);
+  if (!last_check || !*last_check) {
+    NSLog (@"never checked for updates (interval %d days)",
+           (int) (interval / (60 * 60 * 24)));
+  } else {
+    NSDateFormatter *f = [[NSDateFormatter alloc] init];
+    [f setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZZZ"];
+    [f setTimeZone: [NSTimeZone timeZoneForSecondsFromGMT: 0]];
+    NSDate *last_check2 =
+      [f dateFromString: [NSString stringWithCString: last_check
+                                            encoding: NSUTF8StringEncoding]];
+    NSTimeInterval elapsed = -[last_check2 timeIntervalSinceNow];
+    if (elapsed < interval) {
+      NSLog (@"last checked for updates %d days ago, skipping check"
+             " (interval %d days)",
+             (int) (elapsed / (60 * 60 * 24)),
+             (int) (interval / (60 * 60 * 24)));
+      return;
+    } else {
+      NSLog (@"last checked for updates %d days ago (interval %d days)",
+             (int) (elapsed / (60 * 60 * 24)),
+             (int) (interval / (60 * 60 * 24)));
+    }
+  }
 
   NSString *app_path = [self updaterPath];
 
@@ -3350,18 +3501,44 @@ gl_check_ver (const struct gl_version *caps,
   }
 
   NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
+
+#  if 1  // Deprecated as of macOS 11.0:
   NSError *err = nil;
-  if (! [workspace launchApplicationAtURL:[NSURL fileURLWithPath:app_path]
-                   options:(NSWorkspaceLaunchWithoutAddingToRecents |
-                            NSWorkspaceLaunchWithoutActivation |
-                            NSWorkspaceLaunchAndHide)
-                   configuration:[NSMutableDictionary dictionary]
-                   error:&err]) {
-    NSLog(@"Unable to launch %@: %@", app_path, err);
+  if ([workspace launchApplicationAtURL: [NSURL fileURLWithPath:app_path]
+                           options: (NSWorkspaceLaunchWithoutAddingToRecents |
+                                     NSWorkspaceLaunchWithoutActivation |
+                                     NSWorkspaceLaunchAndHide)
+                          configuration: [NSMutableDictionary dictionary]
+                                  error: &err]) {
+    NSLog (@"Launched %@", app_path);
+    [self updaterLaunched];
+  } else {
+    NSLog (@"Unable to launch %@: %@", app_path, err);
   }
+#  else  // Available in macOS 10.15 or newer:
+  NSWorkspaceOpenConfiguration *conf =
+    [NSWorkspaceOpenConfiguration configuration];
+  conf.activates = NO;
+  conf.addsToRecentItems = NO;
+  conf.allowsRunningApplicationSubstitution = YES;
+  conf.createsNewApplicationInstance = NO;
+  conf.hides = NO;
+  conf.hidesOthers = NO;
+  conf.promptsUserIfNeeded = YES;
+  [workspace openApplicationAtURL: [NSURL fileURLWithPath:app_path]
+                    configuration: conf
+                completionHandler: ^(NSRunningApplication *app, NSError *err) {
+      if (err) {
+        NSLog(@"Unable to launch %@: %@", app, err);
+      }  else {
+        NSLog(@"Launched %@", app);
+        [self updaterLaunched];
+      }
+    } ];
+#  endif
+}
 
 # endif // !HAVE_IPHONE
-}
 
 
 @end
index ff703f3b737bb92a55c44cd694883f4557430c49..624ee43b117b65c638267bcb36716f495347f565 100644 (file)
@@ -16,8 +16,8 @@
 \b0 by Jamie Zawinski\
 and many others\
 \
-version 6.07\
-29-Aug-2023\
+version 6.08\
+10-Oct-2023\
 \
 {\field{\*\fldinst{HYPERLINK "https://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 https://www.jwz.org/xscreensaver/}}\
 \pard\pardeftab720
@@ -29,11 +29,22 @@ version 6.07\
 \b0 \cf0 \
 Just double-click on \i Install Everything\i0.\
 \
-If it won't open because of your security settings, just control-click and 
+If it won't open because of your security settings, control-click and 
 select \i Open \i0 from the context menu.\
 \
 \pard\pardeftab720
 
+\b \cf0 For best variety:\
+\pard\pardeftab720\li360
+
+\b0 \cf0 \
+Select the screen saver at the bottom of the list that is called 
+\i "Random XScreenSaver" \i0 instead of the built-in one called just 
+\i "Random" \i0 -- you can choose how long a saver should run before a new 
+one is selected, and you can un-check the ones that you don't like.\
+\
+\pard\pardeftab720
+
 \b \cf0 To install only some of them:\
 \pard\pardeftab720\li360
 
index 89e168ba5d150bf2acbc0090d3c7df3d808af89d..3c6e39ff26f4bce32a8b4c94980d1649562d619c 100644 (file)
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSMainNibFile</key>
        <string>iSaverRunner</string>
        <key>CFBundleDisplayName</key>
index 4c5959609a3648dc6622bdf11f42c2d22c3d9750..2ac081784515591fe47190900e8f0abea271045f 100644 (file)
 
 \fs28 \cf0
 This will install all of the screen savers system-wide. 
-If you prefer, you can instead install them one at a time by opening 
-the \i "Screen Savers" \i0 folder in this disk image and double-clicking 
-on only the ones that you want.\
-\
-The full installation will take around 220 MB.\
+It will take around 360 MB.\
 \
 \b Installation will take several minutes, and the progress bar will not 
 move for most of that time. Just wait it out! \b0 \
 \
+After installation, select the screen saver at the bottom of the list that is 
+called \i "Random XScreenSaver" \i0 instead of the built-in one called just 
+\i "Random" \i0 -- you can choose how long a saver should run before a new 
+one is selected, and you can un-check the ones that you don't like.\
+\
 XScreenSaver also runs on iOS and Android. Free downloads in the 
 {\field{\*\fldinst{HYPERLINK 
  "https://itunes.apple.com/app/xscreensaver/id539014593?mt=8"}}
index 83d6253b3a6960aa2e5a47f636303ae89b88dabb..62e15cc0b36f1d438c38e6711a098dc6c4351609 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# XScreenSaver, Copyright © 2013-2022 Jamie Zawinski <jwz@jwz.org>
+# XScreenSaver, Copyright © 2013-2023 Jamie Zawinski <jwz@jwz.org>
 #
 # Permission to use, copy, modify, distribute, and sell this software and its
 # documentation for any purpose is hereby granted without fee, provided that
@@ -20,7 +20,7 @@
 #set -x
 
 DEBUG=0
-REQUIRED_SPACE=220     # MB. Highly approximate.
+REQUIRED_SPACE=360     # MB. Highly approximate; updated 6.07.
 
 export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
 
@@ -185,6 +185,19 @@ if [ "$V0" -ge 11 -o \
 fi
 
 
+# As of macOS 14.0, legacyScreenSaver remains running even while the screen
+# is unblanked.  It might have already loaded saver bundles from a previous
+# installation of XScreenSaver, so we must kill it to get it to load the
+# new versions.
+# 
+pid=`ps -Ac -o pid,comm | grep legacyScreenSaver | \
+     sed -e 's/^ *//' -e 's/ .*//'`
+if [ ! -z "$pid" ]; then
+  kill $pid   # Sometimes it will not die.
+  ( sleep 5 ; kill -9 $pid ) &
+fi
+
+
 # Launch the updater so that the user gets these dialogs now, instead of them
 # happening the first time a screen saver activates, and that screen saver
 # failing to run and showing up black.  (I'm not sure if this is working.)
@@ -196,6 +209,16 @@ su "$USER" -c "open \"$DST1/$UPDATER_DST\"" &
 sleep 5
 
 
+# If System Preferences is running, it might have old saver bundles loaded
+# into it.  Kill it so we pick up the new ones.
+#
+pid=`ps -Ac -o pid,comm | grep 'System Settings' | \
+     sed -e 's/^ *//' -e 's/ .*//'`
+if [ ! -z "$pid" ]; then
+  kill $pid
+fi
+
+
 # Launch System Preferences with the "Desktop" pane selected.  In the olden
 # days, this was a single pane with two tabs, "Desktop" and "Screen Saver",
 # and it would always come up with "Desktop" selected.  As of macOS 13, these
diff --git a/OSX/nslog.h b/OSX/nslog.h
new file mode 100644 (file)
index 0000000..424a081
--- /dev/null
@@ -0,0 +1,52 @@
+/* xscreensaver, Copyright © 2023 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+#ifndef __XSCREENSAVER_NSLOG__
+#define __XSCREENSAVER_NSLOG__
+
+#ifndef HAVE_IPHONE
+
+/* WTF! On macOS 14.0, NSLog "%.02f" prints like "1,234.0000"
+   But both sprintf and stringWithFormat work correctly!
+ */
+static void
+xscreensaver_nslog (NSString *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_end (args);
+  NSString *s = [[NSString alloc] initWithFormat:format arguments:args];
+  NSLog (@"%@", s);
+
+# if 0
+  // Debugging legacyScreenSaver without the /usr/bin/log quagmire.
+  NSDateFormatter *f = [[NSDateFormatter alloc] init];
+  [f setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+  NSString *date = [f stringFromDate: [NSDate date]];
+  s = [NSString stringWithFormat:@"%@ %@\n", date, s];
+  NSString *file = @"/tmp/log.txt";
+  NSFileHandle *out = [NSFileHandle fileHandleForWritingAtPath: file];
+  if (! out) {
+    [[NSFileManager defaultManager] createFileAtPath:file
+                                            contents:nil attributes:nil];
+    out = [NSFileHandle fileHandleForWritingAtPath: file];
+    // if (!out) abort();
+  }
+  [out seekToEndOfFile];
+  [out writeData: [s dataUsingEncoding:NSUTF8StringEncoding]];
+  [out closeFile];
+# endif // 0
+}
+
+#define NSLog xscreensaver_nslog
+
+#endif // HAVE_IPHONE
+#endif // __XSCREENSAVER_NSLOG__
index 2030fabbc5c7e21199a93927e1fa7e9b5597f218..2625c625d13faf6a18952779b215c631e8e5e894 100755 (executable)
Binary files a/OSX/sparkle-bin/BinaryDelta and b/OSX/sparkle-bin/BinaryDelta differ
diff --git a/OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Info.plist b/OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Info.plist
deleted file mode 100644 (file)
index 325809b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-       <dict>
-               <key>CFBundleDevelopmentRegion</key>
-               <string>English</string>
-               <key>CFBundleIdentifier</key>
-               <string>com.apple.xcode.dsym.BinaryDelta</string>
-               <key>CFBundleInfoDictionaryVersion</key>
-               <string>6.0</string>
-               <key>CFBundlePackageType</key>
-               <string>dSYM</string>
-               <key>CFBundleSignature</key>
-               <string>????</string>
-               <key>CFBundleShortVersionString</key>
-               <string>1.0</string>
-               <key>CFBundleVersion</key>
-               <string>1</string>
-       </dict>
-</plist>
diff --git a/OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta b/OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta
deleted file mode 100644 (file)
index 5d618cc..0000000
Binary files a/OSX/sparkle-bin/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta and /dev/null differ
index 13c6e424310e79dad2df9d01c5a0ce40059ecf3c..8284108d0cec97250cc9d667977e5e1018b76a82 100755 (executable)
Binary files a/OSX/sparkle-bin/generate_appcast and b/OSX/sparkle-bin/generate_appcast differ
diff --git a/OSX/sparkle-bin/generate_appcast.dSYM/Contents/Info.plist b/OSX/sparkle-bin/generate_appcast.dSYM/Contents/Info.plist
deleted file mode 100644 (file)
index 85e4783..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-       <dict>
-               <key>CFBundleDevelopmentRegion</key>
-               <string>English</string>
-               <key>CFBundleIdentifier</key>
-               <string>com.apple.xcode.dsym.generate_appcast</string>
-               <key>CFBundleInfoDictionaryVersion</key>
-               <string>6.0</string>
-               <key>CFBundlePackageType</key>
-               <string>dSYM</string>
-               <key>CFBundleSignature</key>
-               <string>????</string>
-               <key>CFBundleShortVersionString</key>
-               <string>1.0</string>
-               <key>CFBundleVersion</key>
-               <string>1</string>
-       </dict>
-</plist>
diff --git a/OSX/sparkle-bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast b/OSX/sparkle-bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast
deleted file mode 100644 (file)
index 1d5602e..0000000
Binary files a/OSX/sparkle-bin/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast and /dev/null differ
index 66f669792ab64bc12d0695fbed695f552b3468e9..4d776af1ce703242d168b7a6440191c2b19a9b2a 100755 (executable)
Binary files a/OSX/sparkle-bin/generate_keys and b/OSX/sparkle-bin/generate_keys differ
diff --git a/OSX/sparkle-bin/generate_keys.dSYM/Contents/Info.plist b/OSX/sparkle-bin/generate_keys.dSYM/Contents/Info.plist
deleted file mode 100644 (file)
index 3caf890..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-       <dict>
-               <key>CFBundleDevelopmentRegion</key>
-               <string>English</string>
-               <key>CFBundleIdentifier</key>
-               <string>com.apple.xcode.dsym.generate_keys</string>
-               <key>CFBundleInfoDictionaryVersion</key>
-               <string>6.0</string>
-               <key>CFBundlePackageType</key>
-               <string>dSYM</string>
-               <key>CFBundleSignature</key>
-               <string>????</string>
-               <key>CFBundleShortVersionString</key>
-               <string>1.0</string>
-               <key>CFBundleVersion</key>
-               <string>1</string>
-       </dict>
-</plist>
diff --git a/OSX/sparkle-bin/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys b/OSX/sparkle-bin/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys
deleted file mode 100644 (file)
index 022323c..0000000
Binary files a/OSX/sparkle-bin/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys and /dev/null differ
index 359668fa154d9a83b1dbba5d3c81ddaebff34586..90bd66bdda4ad56ab87b0c81dce5954ecb67cd4a 100755 (executable)
Binary files a/OSX/sparkle-bin/sign_update and b/OSX/sparkle-bin/sign_update differ
diff --git a/OSX/sparkle-bin/sign_update.dSYM/Contents/Info.plist b/OSX/sparkle-bin/sign_update.dSYM/Contents/Info.plist
deleted file mode 100644 (file)
index 0739389..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-       <dict>
-               <key>CFBundleDevelopmentRegion</key>
-               <string>English</string>
-               <key>CFBundleIdentifier</key>
-               <string>com.apple.xcode.dsym.sign_update</string>
-               <key>CFBundleInfoDictionaryVersion</key>
-               <string>6.0</string>
-               <key>CFBundlePackageType</key>
-               <string>dSYM</string>
-               <key>CFBundleSignature</key>
-               <string>????</string>
-               <key>CFBundleShortVersionString</key>
-               <string>1.0</string>
-               <key>CFBundleVersion</key>
-               <string>1</string>
-       </dict>
-</plist>
diff --git a/OSX/sparkle-bin/sign_update.dSYM/Contents/Resources/DWARF/sign_update b/OSX/sparkle-bin/sign_update.dSYM/Contents/Resources/DWARF/sign_update
deleted file mode 100644 (file)
index 2437f8a..0000000
Binary files a/OSX/sparkle-bin/sign_update.dSYM/Contents/Resources/DWARF/sign_update and /dev/null differ
index 0178ac33a83c14a8014c0c5cedb12675559fdddc..ddf54710fd45b7eb781244876c02fa2f3227e4be 100644 (file)
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.entertainment</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleLongVersionString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleGetInfoString</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>NSHumanReadableCopyright</key>
-       <string>6.07</string>
+       <string>6.08</string>
        <key>CFBundleDisplayName</key>
        <string>${PRODUCT_NAME}</string>
        <key>CFBundleIcons</key>
index b709b08205301cf73aa03dc36862bccade64cdbb..ccb86a2cf710c84d2995b76f614b4fe297a4a04d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright © 2006-2021 Jamie Zawinski <jwz@jwz.org>
+# Copyright © 2006-2023 Jamie Zawinski <jwz@jwz.org>
 #
 # Permission to use, copy, modify, distribute, and sell this software and its
 # documentation for any purpose is hereby granted without fee, provided that
@@ -27,7 +27,7 @@ use IO::Compress::Gzip qw(gzip $GzipError);
 
 my ($exec_dir, $progname) = ($0 =~ m@^(.*?)/([^/]+)$@);
 
-my ($version) = ('$Revision: 1.57 $' =~ m/\s(\d[.\d]+)\s/s);
+my ($version) = ('$Revision: 1.58 $' =~ m/\s(\d[.\d]+)\s/s);
 
 $ENV{PATH} = "/usr/local/bin:$ENV{PATH}";   # for seticon
 $ENV{PATH} = "/opt/local/bin:$ENV{PATH}";   # for macports wget
@@ -234,6 +234,18 @@ sub update_saver_xml($$) {
   # so we convert these to UTF8 when embedding them in the .saver bundle.
   $body =~ s@encoding="ISO-8859-1"@encoding="UTF-8"@gsi;
 
+  # Make sure "xscreensaver-text" is included if and only if the XML 
+  # contains "<xscreensaver-text>".
+  #
+  my $text_p  = ($body =~ m/<xscreensaver-text/s);
+  my $image_p = ($body =~ m/<xscreensaver-image/s);
+  my $textf   = "$app_dir/Contents/Resources/xscreensaver-text";
+  my $imagef  = "$app_dir/Contents/Resources/xscreensaver-getimage-file";
+  error ($text_p ? "$textf does not exist" : "$textf should not exist")
+    if (!!$text_p != !!(-f $textf));
+  error ($image_p ? "$imagef does not exist" : "$imagef should not exist")
+    if (!!$image_p != !!(-f $imagef));
+
   if ($obody eq $body && $was_compressed_p) {
     print STDERR "$progname: $filename: unchanged\n" if ($verbose > 1);
   } else {
index 7cf63b3ef76352724aadf2663c14a1d9849cd0e7..0a5df4b2547ac8a21e7cc337b5b96aa2eddd8ba6 100644 (file)
@@ -7,6 +7,17 @@
   <link>https://www.jwz.org/xscreensaver/updates.xml</link>
   <description>Updates to xscreensaver.</description>
   <language>en</language>
+  <item>
+   <title>Version 6.08</title>
+   <link>https://www.jwz.org/xscreensaver/xscreensaver-6.08.dmg</link>
+   <description><![CDATA[&bull; Worked around a macOS 14.0 bug where savers would continue running invisibly in the background after un-blanking. <BR>&bull; Upgraded Sparkle (the "Check for Updates" library) for macOS 14.0 compatibility.]]></description>
+   <pubDate>Tue, 10 Oct 2023 17:34:41 -0700</pubDate>
+   <enclosure url="https://www.jwz.org/xscreensaver/xscreensaver-6.08.dmg"
+    sparkle:version="6.08"
+    sparkle:edSignature="vdbfhkrzWTmduHv32WYACq/ubR6ZPITx6GvsJs9VCMUYO05SwOlUH0FF+yPwX4fkN/N6dfJrmn6YSW4VAZSxAw=="
+    length="89061022"
+    type="application/octet-stream" />
+  </item>
   <item>
    <title>Version 6.07</title>
    <link>https://www.jwz.org/xscreensaver/xscreensaver-6.07.dmg</link>
     length="80828727"
     type="application/octet-stream" />
   </item>
-  <item>
-   <title>Version 6.04</title>
-   <link>https://www.jwz.org/xscreensaver/xscreensaver-6.04.dmg</link>
-   <description><![CDATA[&bull; New hacks, `nakagin' and `chompytower'. <BR>&bull; Settings dialog shows diagnostics for bad image folders and feeds. <BR>&bull; URLs for `imageDirectory' can now point at archive.org collections. <BR>&bull; Sliders for various "Speed" preferences are easier to use. <BR>&bull; Updated `webcollage'.]]></description>
-   <pubDate>Sun, 29 May 2022 12:37:00 -0700</pubDate>
-   <enclosure url="https://www.jwz.org/xscreensaver/xscreensaver-6.04.dmg"
-    sparkle:version="6.04"
-    sparkle:edSignature="ZSeW3fPX/xe8x/I/VVYBKZYm3WWZpf8kqUepdX/VlAhWxk6Q5ALtNqQg7vU0DqpHyROr3q6bHQhutCeu4HceDg=="
-    length="85181483"
-    type="application/octet-stream" />
-  </item>
  </channel>
 </rss>
index c899b45bea703aeadf66572b39c37293a25bc2a7..6347be51ccf1ff5b52db2f9ae10bcc478f706a0e 100644 (file)
                AF75110B1782B5B900380EA1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
                AF75110C1782B5B900380EA1 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
                AF7511151782B64300380EA1 /* kaleidocycle.c in Sources */ = {isa = PBXBuildFile; fileRef = AF7511141782B64300380EA1 /* kaleidocycle.c */; };
+               AF7602542A9FBD7800460454 /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
                AF7776EA09B63ABF00EA3033 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF77770209B63B3900EA3033 /* phosphor.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258F30988A469000655EE /* phosphor.xml */; };
                AF77770409B63B5F00EA3033 /* phosphor.c in Sources */ = {isa = PBXBuildFile; fileRef = AF77770309B63B5F00EA3033 /* phosphor.c */; };
                AF3582211433318500E09C51 /* tronbit.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = tronbit.xml; sourceTree = "<group>"; };
                AF35E8A00E63823600691F2F /* Jigsaw.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Jigsaw.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF35EB250E6382BA00691F2F /* jigsaw.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = jigsaw.c; path = hacks/glx/jigsaw.c; sourceTree = "<group>"; };
-               AF3633F918530DD90086A439 /* sparkle_dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = sparkle_dsa_pub.pem; sourceTree = "<group>"; };
                AF3633FA18530DD90086A439 /* Updater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Updater.h; sourceTree = "<group>"; };
                AF3633FB18530DD90086A439 /* Updater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Updater.m; sourceTree = "<group>"; };
                AF3633FE18530DFF0086A439 /* Updater.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Updater.plist; sourceTree = "<group>"; };
                AF1AD9E818500FA000932759 /* Updater */ = {
                        isa = PBXGroup;
                        children = (
-                               AF3633F918530DD90086A439 /* sparkle_dsa_pub.pem */,
                                AF3633FA18530DD90086A439 /* Updater.h */,
                                AF3633FB18530DD90086A439 /* Updater.m */,
                                AF3633FE18530DFF0086A439 /* Updater.plist */,
                                AF08399209930B6B00277BE9 /* Resources */,
                                AF08399409930B6B00277BE9 /* Sources */,
                                AF08399709930B6B00277BE9 /* Frameworks */,
-                               AF08399E09930B6B00277BE9 /* Rez */,
                                AFA3D95309C03D9800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF083A35099311D700277BE9 /* Resources */,
                                AF083A37099311D700277BE9 /* Sources */,
                                AF083A3D099311D700277BE9 /* Frameworks */,
-                               AF083A44099311D700277BE9 /* Rez */,
                                AFA3D95509C03D9C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF0BF6D029456B2E000D9473 /* Resources */,
                                AF0BF6D229456B2E000D9473 /* Sources */,
                                AF0BF6D529456B2E000D9473 /* Frameworks */,
-                               AF0BF6DD29456B2E000D9473 /* Rez */,
                                AF0BF6DE29456B2E000D9473 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF0DC7AE0C4C73F600D76972 /* Resources */,
                                AF0DC7B00C4C73F600D76972 /* Sources */,
                                AF0DC7B40C4C73F600D76972 /* Frameworks */,
-                               AF0DC7B80C4C73F600D76972 /* Rez */,
                                AF0DC7B90C4C73F600D76972 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF0DCA450C4CBB0D00D76972 /* Resources */,
                                AF0DCA470C4CBB0D00D76972 /* Sources */,
                                AF0DCA4A0C4CBB0D00D76972 /* Frameworks */,
-                               AF0DCA510C4CBB0D00D76972 /* Rez */,
                                AF0DCA520C4CBB0D00D76972 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF1A17640D6D6EE3008AF328 /* Resources */,
                                AF1A17670D6D6EE3008AF328 /* Sources */,
                                AF1A176A0D6D6EE3008AF328 /* Frameworks */,
-                               AF1A176E0D6D6EE3008AF328 /* Rez */,
                                AF1A176F0D6D6EE3008AF328 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF1B0FAA1D7AB4740011DBE4 /* Resources */,
                                AF1B0FAC1D7AB4740011DBE4 /* Sources */,
                                AF1B0FAF1D7AB4740011DBE4 /* Frameworks */,
-                               AF1B0FB71D7AB4740011DBE4 /* Rez */,
                                AF1B0FB81D7AB4740011DBE4 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF2107741FD23BDD00B61EA9 /* Resources */,
                                AF2107761FD23BDD00B61EA9 /* Sources */,
                                AF2107791FD23BDD00B61EA9 /* Frameworks */,
-                               AF2107811FD23BDD00B61EA9 /* Rez */,
                                AF2107821FD23BDD00B61EA9 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF296A582A5A776D007441BF /* Resources */,
                                AF296A5A2A5A776D007441BF /* Sources */,
                                AF296A5D2A5A776D007441BF /* Frameworks */,
-                               AF296A652A5A776D007441BF /* Rez */,
                                AF296A662A5A776D007441BF /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF2A634428401496003791B4 /* Resources */,
                                AF2A634628401496003791B4 /* Sources */,
                                AF2A634928401496003791B4 /* Frameworks */,
-                               AF2A635128401496003791B4 /* Rez */,
                                AF2A635228401496003791B4 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF2D0D28241D7C870001D8B8 /* Resources */,
                                AF2D0D2A241D7C870001D8B8 /* Sources */,
                                AF2D0D2D241D7C870001D8B8 /* Frameworks */,
-                               AF2D0D35241D7C870001D8B8 /* Rez */,
                                AF2D0D36241D7C870001D8B8 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF32D9E30F3AD0B40080F535 /* Resources */,
                                AF32D9E50F3AD0B40080F535 /* Sources */,
                                AF32D9E80F3AD0B40080F535 /* Frameworks */,
-                               AF32D9EF0F3AD0B40080F535 /* Rez */,
                                AF32D9F00F3AD0B40080F535 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF3581C21431D47B00E09C51 /* Resources */,
                                AF3581C51431D47B00E09C51 /* Sources */,
                                AF3581C91431D47B00E09C51 /* Frameworks */,
-                               AF3581D01431D47B00E09C51 /* Rez */,
                                AF3581D11431D47B00E09C51 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF3581FE143330F900E09C51 /* Resources */,
                                AF358202143330F900E09C51 /* Sources */,
                                AF35820A143330F900E09C51 /* Frameworks */,
-                               AF358211143330F900E09C51 /* Rez */,
                                AF358212143330F900E09C51 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF35E88D0E63823600691F2F /* Resources */,
                                AF35E88F0E63823600691F2F /* Sources */,
                                AF35E8940E63823600691F2F /* Frameworks */,
-                               AF35E89B0E63823600691F2F /* Rez */,
                                AF35E89C0E63823600691F2F /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF39381D1D0FBD6A00205406 /* Resources */,
                                AF39381F1D0FBD6A00205406 /* Sources */,
                                AF3938221D0FBD6A00205406 /* Frameworks */,
-                               AF39382A1D0FBD6A00205406 /* Rez */,
                                AF39382B1D0FBD6A00205406 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF39E285198A11F60064A58D /* Resources */,
                                AF39E287198A11F60064A58D /* Sources */,
                                AF39E28A198A11F60064A58D /* Frameworks */,
-                               AF39E291198A11F60064A58D /* Rez */,
                                AF39E292198A11F60064A58D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF3C71480D624BF50030CC0D /* Resources */,
                                AF3C714A0D624BF50030CC0D /* Sources */,
                                AF3C714D0D624BF50030CC0D /* Frameworks */,
-                               AF3C71540D624BF50030CC0D /* Rez */,
                                AF3C71550D624BF50030CC0D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF3EC97B2035154C00180A35 /* Resources */,
                                AF3EC97D2035154C00180A35 /* Sources */,
                                AF3EC9802035154C00180A35 /* Frameworks */,
-                               AF3EC9882035154C00180A35 /* Rez */,
                                AF3EC9892035154C00180A35 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF41E955201D49DB0098E253 /* Resources */,
                                AF41E957201D49DB0098E253 /* Sources */,
                                AF41E95A201D49DB0098E253 /* Frameworks */,
-                               AF41E962201D49DB0098E253 /* Rez */,
                                AF41E963201D49DB0098E253 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4363FF241D84CE00966603 /* Resources */,
                                AF436401241D84CE00966603 /* Sources */,
                                AF436404241D84CE00966603 /* Frameworks */,
-                               AF43640C241D84CE00966603 /* Rez */,
                                AF43640D241D84CE00966603 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF46E9D21CBBA2B300240FBC /* Resources */,
                                AF46E9D41CBBA2B300240FBC /* Sources */,
                                AF46E9D71CBBA2B300240FBC /* Frameworks */,
-                               AF46E9DF1CBBA2B300240FBC /* Rez */,
                                AF46E9E01CBBA2B300240FBC /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF476FB8099D154F001F091E /* Resources */,
                                AF476FBB099D154F001F091E /* Sources */,
                                AF476FBE099D154F001F091E /* Frameworks */,
-                               AF476FC2099D154F001F091E /* Rez */,
                                AFA3D89509C03C4400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF476FDD099D1686001F091E /* Resources */,
                                AF476FE0099D1686001F091E /* Sources */,
                                AF476FE3099D1686001F091E /* Frameworks */,
-                               AF476FE7099D1686001F091E /* Rez */,
                                AFA3D8E309C03CCA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47704F099D4385001F091E /* Resources */,
                                AF477051099D4385001F091E /* Sources */,
                                AF477054099D4385001F091E /* Frameworks */,
-                               AF477058099D4385001F091E /* Rez */,
                                AFA3D86F09C03BF700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47716C099D4786001F091E /* Resources */,
                                AF47716E099D4786001F091E /* Sources */,
                                AF477171099D4786001F091E /* Frameworks */,
-                               AF477175099D4786001F091E /* Rez */,
                                AFA3D86309C03BE200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477182099D4803001F091E /* Resources */,
                                AF477184099D4803001F091E /* Sources */,
                                AF477187099D4803001F091E /* Frameworks */,
-                               AF47718B099D4803001F091E /* Rez */,
                                AFA3D8E909C03CD500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4771AA099D4949001F091E /* Resources */,
                                AF4771AC099D4949001F091E /* Sources */,
                                AF4771AF099D4949001F091E /* Frameworks */,
-                               AF4771B3099D4949001F091E /* Rez */,
                                AFA3D8E109C03CC400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4771DE099D4D9A001F091E /* Resources */,
                                AF4771E0099D4D9A001F091E /* Sources */,
                                AF4771E3099D4D9A001F091E /* Frameworks */,
-                               AF4771E7099D4D9A001F091E /* Rez */,
                                AFA3D85D09C03BD700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4771F5099D4E63001F091E /* Resources */,
                                AF4771F7099D4E63001F091E /* Sources */,
                                AF4771FA099D4E63001F091E /* Frameworks */,
-                               AF4771FE099D4E63001F091E /* Rez */,
                                AFA3D8AF09C03C7300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47720B099D4EE8001F091E /* Resources */,
                                AF47720D099D4EE8001F091E /* Sources */,
                                AF477210099D4EE8001F091E /* Frameworks */,
-                               AF477214099D4EE8001F091E /* Rez */,
                                AFA3D8ED09C03CDB00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477221099D4F67001F091E /* Resources */,
                                AF477223099D4F67001F091E /* Sources */,
                                AF477226099D4F67001F091E /* Frameworks */,
-                               AF47722A099D4F67001F091E /* Rez */,
                                AFCCCBB509C033DF00353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477256099D5717001F091E /* Resources */,
                                AF477258099D5717001F091E /* Sources */,
                                AF47725B099D5717001F091E /* Frameworks */,
-                               AF47725F099D5717001F091E /* Rez */,
                                AFA3D88509C03C2700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47726E099D57B9001F091E /* Resources */,
                                AF477270099D57B9001F091E /* Sources */,
                                AF477273099D57B9001F091E /* Frameworks */,
-                               AF477277099D57B9001F091E /* Rez */,
                                AFA3D8BF09C03C8D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477286099D5926001F091E /* Resources */,
                                AF477288099D5926001F091E /* Sources */,
                                AF47728B099D5926001F091E /* Frameworks */,
-                               AF47728F099D5926001F091E /* Rez */,
                                AFA3D8BB09C03C8600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477385099D65A1001F091E /* Resources */,
                                AF477387099D65A1001F091E /* Sources */,
                                AF47738A099D65A1001F091E /* Frameworks */,
-                               AF47738E099D65A1001F091E /* Rez */,
                                AFA3D8EF09C03CDE00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47739D099D6648001F091E /* Resources */,
                                AF47739F099D6648001F091E /* Sources */,
                                AF4773A2099D6648001F091E /* Frameworks */,
-                               AF4773A6099D6648001F091E /* Rez */,
                                AFA3D87F09C03C1E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4773C4099D67B9001F091E /* Resources */,
                                AF4773C6099D67B9001F091E /* Sources */,
                                AF4773C9099D67B9001F091E /* Frameworks */,
-                               AF4773CD099D67B9001F091E /* Rez */,
                                AFCCCBC709C03AAF00353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477404099D69E7001F091E /* Resources */,
                                AF477407099D69E7001F091E /* Sources */,
                                AF47740A099D69E7001F091E /* Frameworks */,
-                               AF47740E099D69E7001F091E /* Rez */,
                                AFA3D89709C03C4700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477429099D7C70001F091E /* Resources */,
                                AF47742C099D7C70001F091E /* Sources */,
                                AF47742F099D7C70001F091E /* Frameworks */,
-                               AF477433099D7C70001F091E /* Rez */,
                                AFA3D88F09C03C3900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477445099D7D33001F091E /* Resources */,
                                AF477447099D7D33001F091E /* Sources */,
                                AF47744A099D7D33001F091E /* Frameworks */,
-                               AF47744E099D7D33001F091E /* Rez */,
                                AFA3D8F909C03CED00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477486099D89E4001F091E /* Resources */,
                                AF477488099D89E4001F091E /* Sources */,
                                AF47748B099D89E4001F091E /* Frameworks */,
-                               AF47748F099D89E4001F091E /* Rez */,
                                AFA3D87909C03C1200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47749C099D8A74001F091E /* Resources */,
                                AF47749E099D8A74001F091E /* Sources */,
                                AF4774A1099D8A74001F091E /* Frameworks */,
-                               AF4774A5099D8A74001F091E /* Rez */,
                                AFA3D89B09C03C4D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4774B7099D8B5F001F091E /* Resources */,
                                AF4774B9099D8B5F001F091E /* Sources */,
                                AF4774BC099D8B5F001F091E /* Frameworks */,
-                               AF4774C0099D8B5F001F091E /* Rez */,
                                AFA3D89F09C03C5300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4774D1099D8BFF001F091E /* Resources */,
                                AF4774D3099D8BFF001F091E /* Sources */,
                                AF4774D6099D8BFF001F091E /* Frameworks */,
-                               AF4774DA099D8BFF001F091E /* Rez */,
                                AFA3D8A109C03C5600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477560099D9A1A001F091E /* Resources */,
                                AF477562099D9A1A001F091E /* Sources */,
                                AF477565099D9A1A001F091E /* Frameworks */,
-                               AF477569099D9A1A001F091E /* Rez */,
                                AFA3D8B309C03C7900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477586099D9C28001F091E /* Resources */,
                                AF477588099D9C28001F091E /* Sources */,
                                AF47758B099D9C28001F091E /* Frameworks */,
-                               AF47758F099D9C28001F091E /* Rez */,
                                AFA3D8C109C03C9000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4775A2099D9CF7001F091E /* Resources */,
                                AF4775A4099D9CF7001F091E /* Sources */,
                                AF4775A7099D9CF7001F091E /* Frameworks */,
-                               AF4775AB099D9CF7001F091E /* Rez */,
                                AFA3D8DD09C03CBD00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4775DB099D9F69001F091E /* Resources */,
                                AF4775DD099D9F69001F091E /* Sources */,
                                AF4775E0099D9F69001F091E /* Frameworks */,
-                               AF4775E4099D9F69001F091E /* Rez */,
                                AFA3D86509C03BE500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4775F5099DA030001F091E /* Resources */,
                                AF4775F7099DA030001F091E /* Sources */,
                                AF4775FA099DA030001F091E /* Frameworks */,
-                               AF4775FE099DA030001F091E /* Rez */,
                                AFA3D87309C03C0000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477616099DA26C001F091E /* Resources */,
                                AF477618099DA26C001F091E /* Sources */,
                                AF47761B099DA26C001F091E /* Frameworks */,
-                               AF47761F099DA26C001F091E /* Rez */,
                                AFA3D89D09C03C5000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477647099DA6D0001F091E /* Resources */,
                                AF477649099DA6D0001F091E /* Sources */,
                                AF47764C099DA6D0001F091E /* Frameworks */,
-                               AF477650099DA6D0001F091E /* Rez */,
                                AFA3D8DB09C03CBA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47765D099DA78E001F091E /* Resources */,
                                AF47765F099DA78E001F091E /* Sources */,
                                AF477662099DA78E001F091E /* Frameworks */,
-                               AF477666099DA78E001F091E /* Rez */,
                                AFA3D86709C03BE800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477673099DA849001F091E /* Resources */,
                                AF477675099DA849001F091E /* Sources */,
                                AF477678099DA849001F091E /* Frameworks */,
-                               AF47767C099DA849001F091E /* Rez */,
                                AFA3D8B709C03C7F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477692099DAA6F001F091E /* Resources */,
                                AF477694099DAA6F001F091E /* Sources */,
                                AF477697099DAA6F001F091E /* Frameworks */,
-                               AF47769B099DAA6F001F091E /* Rez */,
                                AFCCCBD109C03AFC00353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4776AD099DABDD001F091E /* Resources */,
                                AF4776AF099DABDD001F091E /* Sources */,
                                AF4776B2099DABDD001F091E /* Frameworks */,
-                               AF4776B6099DABDD001F091E /* Rez */,
                                AFA3D8FD09C03CF400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4776C3099DAC8A001F091E /* Resources */,
                                AF4776C5099DAC8A001F091E /* Sources */,
                                AF4776C8099DAC8A001F091E /* Frameworks */,
-                               AF4776CC099DAC8A001F091E /* Rez */,
                                AFA3D8FB09C03CF100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4776DE099DADDF001F091E /* Resources */,
                                AF4776E0099DADDF001F091E /* Sources */,
                                AF4776E3099DADDF001F091E /* Frameworks */,
-                               AF4776E7099DADDF001F091E /* Rez */,
                                AFA3D8EB09C03CD800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4776F4099DAE7A001F091E /* Resources */,
                                AF4776F6099DAE7A001F091E /* Sources */,
                                AF4776F9099DAE7A001F091E /* Frameworks */,
-                               AF4776FD099DAE7A001F091E /* Rez */,
                                AFA3D8E709C03CD100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477710099DAF9F001F091E /* Resources */,
                                AF477712099DAF9F001F091E /* Sources */,
                                AF477715099DAF9F001F091E /* Frameworks */,
-                               AF477719099DAF9F001F091E /* Rez */,
                                AFA3D86109C03BDE00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477726099DB044001F091E /* Resources */,
                                AF477728099DB044001F091E /* Sources */,
                                AF47772B099DB044001F091E /* Frameworks */,
-                               AF47772F099DB044001F091E /* Rez */,
                                AFA3D8DF09C03CC000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477755099DB61E001F091E /* Resources */,
                                AF477757099DB61E001F091E /* Sources */,
                                AF47775A099DB61E001F091E /* Frameworks */,
-                               AF47775E099DB61E001F091E /* Rez */,
                                AFA3D89309C03C4000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477777099DB965001F091E /* Resources */,
                                AF477779099DB965001F091E /* Sources */,
                                AF47777C099DB965001F091E /* Frameworks */,
-                               AF477780099DB965001F091E /* Rez */,
                                AFA3D85F09C03BDA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF477793099DBA90001F091E /* Resources */,
                                AF477795099DBA90001F091E /* Sources */,
                                AF477798099DBA90001F091E /* Frameworks */,
-                               AF47779C099DBA90001F091E /* Rez */,
                                AFA3D87B09C03C1700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4777D4099DC183001F091E /* Resources */,
                                AF4777D6099DC183001F091E /* Sources */,
                                AF4777D9099DC183001F091E /* Frameworks */,
-                               AF4777DD099DC183001F091E /* Rez */,
                                AFCCCBD509C03B0500353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4778AE099DDB79001F091E /* Resources */,
                                AF4778B0099DDB79001F091E /* Sources */,
                                AF4778B3099DDB79001F091E /* Frameworks */,
-                               AF4778B7099DDB79001F091E /* Rez */,
                                AFA3D8B509C03C7C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4778CA099DDCAE001F091E /* Resources */,
                                AF4778CC099DDCAE001F091E /* Sources */,
                                AF4778CF099DDCAE001F091E /* Frameworks */,
-                               AF4778D3099DDCAE001F091E /* Rez */,
                                AFA3D8F509C03CE800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4778EB099DDDC8001F091E /* Resources */,
                                AF4778ED099DDDC8001F091E /* Sources */,
                                AF4778F0099DDDC8001F091E /* Frameworks */,
-                               AF4778F4099DDDC8001F091E /* Rez */,
                                AFA3D86909C03BEC00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47790C099DE379001F091E /* Resources */,
                                AF47790E099DE379001F091E /* Sources */,
                                AF477911099DE379001F091E /* Frameworks */,
-                               AF477915099DE379001F091E /* Rez */,
                                AFA3D91709C03D2400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF47792D099DE4C7001F091E /* Resources */,
                                AF47792F099DE4C7001F091E /* Sources */,
                                AF477932099DE4C7001F091E /* Frameworks */,
-                               AF477936099DE4C7001F091E /* Rez */,
                                AFA3D8D309C03CAE00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF480C4C098E301400FB32B8 /* Resources */,
                                AF480C4E098E301400FB32B8 /* Sources */,
                                AF480C50098E301400FB32B8 /* Frameworks */,
-                               AF480C54098E301400FB32B8 /* Rez */,
                                AFA3D88909C03C2E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF480D75098EEDDE00FB32B8 /* Resources */,
                                AF480D77098EEDDE00FB32B8 /* Sources */,
                                AF480D79098EEDDE00FB32B8 /* Frameworks */,
-                               AF480D7D098EEDDE00FB32B8 /* Rez */,
                                AFA3D90F09C03D1800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4810EE09909FBA00FB32B8 /* Resources */,
                                AF4810F009909FBA00FB32B8 /* Sources */,
                                AF4810F309909FBA00FB32B8 /* Frameworks */,
-                               AF4810F709909FBA00FB32B8 /* Rez */,
                                AFA3D97109C03DD000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4812530990CE2700FB32B8 /* Resources */,
                                AF4812550990CE2700FB32B8 /* Sources */,
                                AF4812590990CE2700FB32B8 /* Frameworks */,
-                               AF4812600990CE2700FB32B8 /* Rez */,
                                AFA3D98309C03DEE00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4812B60990D3D900FB32B8 /* Resources */,
                                AF4812B80990D3D900FB32B8 /* Sources */,
                                AF4812BB0990D3D900FB32B8 /* Frameworks */,
-                               AF4812C20990D3D900FB32B8 /* Rez */,
                                AFA3D9B509C03E5700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF48DEF20A0C25E000F94CF9 /* Resources */,
                                AF48DEF40A0C25E000F94CF9 /* Sources */,
                                AF48DEF70A0C25E000F94CF9 /* Frameworks */,
-                               AF48DEFE0A0C25E000F94CF9 /* Rez */,
                                AF48DEFF0A0C25E000F94CF9 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4A344C102A593600A81B2A /* Resources */,
                                AF4A344E102A593600A81B2A /* Sources */,
                                AF4A3451102A593600A81B2A /* Frameworks */,
-                               AF4A3458102A593600A81B2A /* Rez */,
                                AF4A3459102A593600A81B2A /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4FD6E90CE7A486005EE58E /* Resources */,
                                AF4FD6EB0CE7A486005EE58E /* Sources */,
                                AF4FD6EE0CE7A486005EE58E /* Frameworks */,
-                               AF4FD6F50CE7A486005EE58E /* Rez */,
                                AF4FD6F60CE7A486005EE58E /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF4FF4BD0D52CBDE00666F98 /* Resources */,
                                AF4FF4BF0D52CBDE00666F98 /* Sources */,
                                AF4FF4C20D52CBDE00666F98 /* Frameworks */,
-                               AF4FF4C90D52CBDE00666F98 /* Rez */,
                                AF4FF4CA0D52CBDE00666F98 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF5C9AFC1A0CCE6E00B0147A /* Resources */,
                                AF5C9AFE1A0CCE6E00B0147A /* Sources */,
                                AF5C9B011A0CCE6E00B0147A /* Frameworks */,
-                               AF5C9B081A0CCE6E00B0147A /* Rez */,
                                AF5C9B091A0CCE6E00B0147A /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF5ECEAC2116B1A400069433 /* Resources */,
                                AF5ECEAF2116B1A400069433 /* Sources */,
                                AF5ECEB32116B1A400069433 /* Frameworks */,
-                               AF5ECEBB2116B1A400069433 /* Rez */,
                                AF5ECEBC2116B1A400069433 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF62D61B2180070600C57C42 /* Resources */,
                                AF62D61D2180070600C57C42 /* Sources */,
                                AF62D6202180070600C57C42 /* Frameworks */,
-                               AF62D6282180070600C57C42 /* Rez */,
                                AF62D6292180070600C57C42 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF633C041EE0BA6F00AB33BD /* Resources */,
                                AF633C061EE0BA6F00AB33BD /* Sources */,
                                AF633C091EE0BA6F00AB33BD /* Frameworks */,
-                               AF633C111EE0BA6F00AB33BD /* Rez */,
                                AF633C121EE0BA6F00AB33BD /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF63A7F41AB4EDDB00593C75 /* Resources */,
                                AF63A7F61AB4EDDB00593C75 /* Sources */,
                                AF63A7F91AB4EDDB00593C75 /* Frameworks */,
-                               AF63A8011AB4EDDB00593C75 /* Rez */,
                                AF63A8021AB4EDDB00593C75 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6423F5099FF9C2000F4CD4 /* Resources */,
                                AF6423F7099FF9C2000F4CD4 /* Sources */,
                                AF6423FA099FF9C2000F4CD4 /* Frameworks */,
-                               AF642401099FF9C2000F4CD4 /* Rez */,
                                AFA3D97909C03DDD00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6425CF09A18855000F4CD4 /* Resources */,
                                AF6425D109A18855000F4CD4 /* Sources */,
                                AF6425D409A18855000F4CD4 /* Frameworks */,
-                               AF6425D809A18855000F4CD4 /* Rez */,
                                AFA3D88D09C03C3600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6425EF09A189EC000F4CD4 /* Resources */,
                                AF6425F109A189EC000F4CD4 /* Sources */,
                                AF6425F409A189EC000F4CD4 /* Frameworks */,
-                               AF6425F809A189EC000F4CD4 /* Rez */,
                                AFA3D8C309C03C9300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF64261209A18D6C000F4CD4 /* Resources */,
                                AF64261409A18D6C000F4CD4 /* Sources */,
                                AF64261709A18D6C000F4CD4 /* Frameworks */,
-                               AF64261B09A18D6C000F4CD4 /* Rez */,
                                AFA3D88B09C03C3200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF64262F09A18F54000F4CD4 /* Resources */,
                                AF64263109A18F54000F4CD4 /* Sources */,
                                AF64263409A18F54000F4CD4 /* Frameworks */,
-                               AF64263809A18F54000F4CD4 /* Rez */,
                                AFA3D8AB09C03C6D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF64265209A19229000F4CD4 /* Resources */,
                                AF64265409A19229000F4CD4 /* Sources */,
                                AF64265709A19229000F4CD4 /* Frameworks */,
-                               AF64265B09A19229000F4CD4 /* Rez */,
                                AFA3D8AD09C03C7000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF64267E09A194B0000F4CD4 /* Resources */,
                                AF64268009A194B0000F4CD4 /* Sources */,
                                AF64268309A194B0000F4CD4 /* Frameworks */,
-                               AF64268709A194B0000F4CD4 /* Rez */,
                                AFA3D88109C03C2100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF64277409A1D37A000F4CD4 /* Resources */,
                                AF64277609A1D37A000F4CD4 /* Sources */,
                                AF64277909A1D37A000F4CD4 /* Frameworks */,
-                               AF64277D09A1D37A000F4CD4 /* Rez */,
                                AFA3D8D709C03CB400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6427AB09A2DE36000F4CD4 /* Resources */,
                                AF6427AD09A2DE36000F4CD4 /* Sources */,
                                AF6427B009A2DE36000F4CD4 /* Frameworks */,
-                               AF6427B409A2DE36000F4CD4 /* Rez */,
                                AFA3D69409C03B6200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF688ABC257C04D200C91EAE /* Resources */,
                                AF688ABE257C04D200C91EAE /* Sources */,
                                AF688AC1257C04D200C91EAE /* Frameworks */,
-                               AF688AC9257C04D200C91EAE /* Rez */,
                                AF688ACA257C04D200C91EAE /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF68A48119196CF800D41CD1 /* Resources */,
                                AF68A48319196CF800D41CD1 /* Sources */,
                                AF68A48619196CF800D41CD1 /* Frameworks */,
-                               AF68A48D19196CF800D41CD1 /* Rez */,
                                AF68A48E19196CF800D41CD1 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF69E1F4270BA54600358595 /* Resources */,
                                AF69E1F6270BA54600358595 /* Sources */,
                                AF69E1F9270BA54600358595 /* Frameworks */,
-                               AF69E201270BA54600358595 /* Rez */,
                                AF69E202270BA54600358595 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6C6D77226AE4FC0065A748 /* Resources */,
                                AF6C6D79226AE4FC0065A748 /* Sources */,
                                AF6C6D7C226AE4FC0065A748 /* Frameworks */,
-                               AF6C6D84226AE4FC0065A748 /* Rez */,
                                AF6C6D85226AE4FC0065A748 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF6E25B5276C3F030032E38F /* Resources */,
                                AF6E25B7276C3F030032E38F /* Sources */,
                                AF6E25BA276C3F030032E38F /* Frameworks */,
-                               AF6E25C2276C3F030032E38F /* Rez */,
                                AF6E25C3276C3F030032E38F /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF70B7702A81D025007C1EB8 /* Resources */,
                                AF70B7722A81D025007C1EB8 /* Sources */,
                                AF70B7752A81D025007C1EB8 /* Frameworks */,
-                               AF70B77D2A81D025007C1EB8 /* Rez */,
                                AF70B77E2A81D025007C1EB8 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF70B7912A8320A6007C1EB8 /* Resources */,
                                AF70B7932A8320A6007C1EB8 /* Sources */,
                                AF70B7962A8320A6007C1EB8 /* Frameworks */,
-                               AF70B79E2A8320A6007C1EB8 /* Rez */,
                                AF70B79F2A8320A6007C1EB8 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF73FF251A09877F00E485E9 /* Resources */,
                                AF73FF271A09877F00E485E9 /* Sources */,
                                AF73FF2A1A09877F00E485E9 /* Frameworks */,
-                               AF73FF311A09877F00E485E9 /* Rez */,
                                AF73FF321A09877F00E485E9 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7511021782B5B900380EA1 /* Resources */,
                                AF7511041782B5B900380EA1 /* Sources */,
                                AF7511071782B5B900380EA1 /* Frameworks */,
-                               AF75110D1782B5B900380EA1 /* Rez */,
                                AF75110E1782B5B900380EA1 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7776E709B63ABF00EA3033 /* Resources */,
                                AF7776E909B63ABF00EA3033 /* Sources */,
                                AF7776EE09B63ABF00EA3033 /* Frameworks */,
-                               AF7776F209B63ABF00EA3033 /* Rez */,
                                AFA3D8B909C03C8200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77771D09B6416100EA3033 /* Resources */,
                                AF77771F09B6416100EA3033 /* Sources */,
                                AF77772209B6416100EA3033 /* Frameworks */,
-                               AF77772609B6416100EA3033 /* Rez */,
                                AFA3D93509C03D5700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77774109B6446500EA3033 /* Resources */,
                                AF77774309B6446500EA3033 /* Sources */,
                                AF77774609B6446500EA3033 /* Frameworks */,
-                               AF77774D09B6446500EA3033 /* Rez */,
                                AFA3D97D09C03DE400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77777709B6497800EA3033 /* Resources */,
                                AF77777909B6497800EA3033 /* Sources */,
                                AF77777D09B6497800EA3033 /* Frameworks */,
-                               AF77778409B6497800EA3033 /* Rez */,
                                AFA3D98509C03DF100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77779109B64A5200EA3033 /* Resources */,
                                AF77779309B64A5200EA3033 /* Sources */,
                                AF77779709B64A5200EA3033 /* Frameworks */,
-                               AF77779E09B64A5200EA3033 /* Rez */,
                                AFA3D9A909C03E3D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7777AB09B64B2600EA3033 /* Resources */,
                                AF7777AD09B64B2600EA3033 /* Sources */,
                                AF7777B109B64B2600EA3033 /* Frameworks */,
-                               AF7777B809B64B2600EA3033 /* Rez */,
                                AFA3D9CF09C03E8700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7777D309B64C6B00EA3033 /* Resources */,
                                AF7777D509B64C6B00EA3033 /* Sources */,
                                AF7777D909B64C6B00EA3033 /* Frameworks */,
-                               AF7777E009B64C6B00EA3033 /* Rez */,
                                AFA3D99509C03E1900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7777ED09B64E3100EA3033 /* Resources */,
                                AF7777EF09B64E3100EA3033 /* Sources */,
                                AF7777F309B64E3100EA3033 /* Frameworks */,
-                               AF7777FA09B64E3100EA3033 /* Rez */,
                                AFA3D97F09C03DE700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77781309B6504400EA3033 /* Resources */,
                                AF77781509B6504400EA3033 /* Sources */,
                                AF77781A09B6504400EA3033 /* Frameworks */,
-                               AF77782109B6504400EA3033 /* Rez */,
                                AFA3D9CD09C03E8400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77784709B6528100EA3033 /* Resources */,
                                AF77784A09B6528100EA3033 /* Sources */,
                                AF77784D09B6528100EA3033 /* Frameworks */,
-                               AF77785409B6528100EA3033 /* Rez */,
                                AFA3D96509C03DB900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77786409B6536000EA3033 /* Resources */,
                                AF77786609B6536000EA3033 /* Sources */,
                                AF77786909B6536000EA3033 /* Frameworks */,
-                               AF77787009B6536000EA3033 /* Rez */,
                                AFA3D97309C03DD300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF77788209B6563500EA3033 /* Resources */,
                                AF77788409B6563500EA3033 /* Sources */,
                                AF77788709B6563500EA3033 /* Frameworks */,
-                               AF77788B09B6563500EA3033 /* Rez */,
                                AFA3D87D09C03C1B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7778A809B659C800EA3033 /* Resources */,
                                AF7778AA09B659C800EA3033 /* Sources */,
                                AF7778AD09B659C800EA3033 /* Frameworks */,
-                               AF7778B109B659C800EA3033 /* Rez */,
                                AFCCCBD309C03B0000353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF78D178142DD8F3002AAF77 /* Resources */,
                                AF78D17A142DD8F3002AAF77 /* Sources */,
                                AF78D17D142DD8F3002AAF77 /* Frameworks */,
-                               AF78D184142DD8F3002AAF77 /* Rez */,
                                AF78D185142DD8F3002AAF77 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF794F67099748450059A8B0 /* Resources */,
                                AF794F69099748450059A8B0 /* Sources */,
                                AF794F6C099748450059A8B0 /* Frameworks */,
-                               AF794F70099748450059A8B0 /* Rez */,
                                AFA3D90B09C03D1100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF794F9109974A320059A8B0 /* Resources */,
                                AF794F9309974A320059A8B0 /* Sources */,
                                AF794F9609974A320059A8B0 /* Frameworks */,
-                               AF794F9A09974A320059A8B0 /* Rez */,
                                AFA3D91509C03D2100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF794FD009974FA60059A8B0 /* Resources */,
                                AF794FD209974FA60059A8B0 /* Sources */,
                                AF794FD509974FA60059A8B0 /* Frameworks */,
-                               AF794FD909974FA60059A8B0 /* Rez */,
                                AFA3D93109C03D5100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF796D1D26E5C10700DA6562 /* Resources */,
                                AF796D1F26E5C10700DA6562 /* Sources */,
                                AF796D2226E5C10700DA6562 /* Frameworks */,
-                               AF796D2A26E5C10700DA6562 /* Rez */,
                                AF796D2B26E5C10700DA6562 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7ACFC319FF0A9200BD752B /* Resources */,
                                AF7ACFC519FF0A9200BD752B /* Sources */,
                                AF7ACFC819FF0A9200BD752B /* Frameworks */,
-                               AF7ACFCF19FF0A9200BD752B /* Rez */,
                                AF7ACFD019FF0A9200BD752B /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF7F05FC2A50BFAB00E35B45 /* Resources */,
                                AF7F05FE2A50BFAB00E35B45 /* Sources */,
                                AF7F06012A50BFAB00E35B45 /* Frameworks */,
-                               AF7F06092A50BFAB00E35B45 /* Rez */,
                                AF7F060A2A50BFAB00E35B45 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF81E00325845C2A00CFC475 /* Resources */,
                                AF81E00525845C2A00CFC475 /* Sources */,
                                AF81E00825845C2A00CFC475 /* Frameworks */,
-                               AF81E01025845C2A00CFC475 /* Rez */,
                                AF81E01125845C2A00CFC475 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF95058725670ECC00C1F257 /* Resources */,
                                AF95058925670ECC00C1F257 /* Sources */,
                                AF95058C25670ECC00C1F257 /* Frameworks */,
-                               AF95059425670ECC00C1F257 /* Rez */,
                                AF95059525670ECC00C1F257 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF96014125758F9F007FA31B /* Resources */,
                                AF96014325758F9F007FA31B /* Sources */,
                                AF96014625758F9F007FA31B /* Frameworks */,
-                               AF96014E25758F9F007FA31B /* Rez */,
                                AF96014F25758F9F007FA31B /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975730099C317000B05160 /* Resources */,
                                AF975732099C317000B05160 /* Sources */,
                                AF975735099C317000B05160 /* Frameworks */,
-                               AF975739099C317000B05160 /* Rez */,
                                AFA3D89109C03C3C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975778099C374A00B05160 /* Resources */,
                                AF97577A099C374A00B05160 /* Sources */,
                                AF97577D099C374A00B05160 /* Frameworks */,
-                               AF975781099C374A00B05160 /* Rez */,
                                AFA3D8A909C03C6900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9757C5099C3E6300B05160 /* Resources */,
                                AF9757C7099C3E6300B05160 /* Sources */,
                                AF9757CA099C3E6300B05160 /* Frameworks */,
-                               AF9757CE099C3E6300B05160 /* Rez */,
                                AFA3D8C509C03C9600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF97580B099C41D500B05160 /* Resources */,
                                AF97580D099C41D500B05160 /* Sources */,
                                AF975810099C41D500B05160 /* Frameworks */,
-                               AF975814099C41D500B05160 /* Rez */,
                                AFA3D8F109C03CE100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975868099C475900B05160 /* Resources */,
                                AF97586A099C475900B05160 /* Sources */,
                                AF97586D099C475900B05160 /* Frameworks */,
-                               AF975871099C475900B05160 /* Rez */,
                                AFA3D8CF09C03CA800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975A39099C681F00B05160 /* Resources */,
                                AF975A3B099C681F00B05160 /* Sources */,
                                AF975A3E099C681F00B05160 /* Frameworks */,
-                               AF975A42099C681F00B05160 /* Rez */,
                                AFA3D8A509C03C6200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975A6F099C6AB200B05160 /* Resources */,
                                AF975A71099C6AB200B05160 /* Sources */,
                                AF975A74099C6AB200B05160 /* Frameworks */,
-                               AF975A78099C6AB200B05160 /* Rez */,
                                AFA3D87509C03C0400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975A89099C6BC300B05160 /* Resources */,
                                AF975A8B099C6BC300B05160 /* Sources */,
                                AF975A8E099C6BC300B05160 /* Frameworks */,
-                               AF975A92099C6BC300B05160 /* Rez */,
                                AFCCCBCF09C03AF800353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975ADA099C6EB100B05160 /* Resources */,
                                AF975ADC099C6EB100B05160 /* Sources */,
                                AF975ADF099C6EB100B05160 /* Frameworks */,
-                               AF975AE3099C6EB100B05160 /* Rez */,
                                AFA3D87709C03C0A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975AFF099C6FE400B05160 /* Resources */,
                                AF975B01099C6FE400B05160 /* Sources */,
                                AF975B04099C6FE400B05160 /* Frameworks */,
-                               AF975B08099C6FE400B05160 /* Rez */,
                                AFA3D8A309C03C5F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975C15099C8C1500B05160 /* Resources */,
                                AF975C17099C8C1500B05160 /* Sources */,
                                AF975C1A099C8C1500B05160 /* Frameworks */,
-                               AF975C1E099C8C1500B05160 /* Rez */,
                                AFA3D88709C03C2A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975C40099C8DCF00B05160 /* Resources */,
                                AF975C43099C8DCF00B05160 /* Sources */,
                                AF975C46099C8DCF00B05160 /* Frameworks */,
-                               AF975C4A099C8DCF00B05160 /* Rez */,
                                AFA3D88309C03C2400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975C60099C8F3F00B05160 /* Resources */,
                                AF975C63099C8F3F00B05160 /* Sources */,
                                AF975C66099C8F3F00B05160 /* Frameworks */,
-                               AF975C6A099C8F3F00B05160 /* Rez */,
                                AFA3D8B109C03C7600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF975D55099CA0F000B05160 /* Resources */,
                                AF975D58099CA0F000B05160 /* Sources */,
                                AF975D5B099CA0F000B05160 /* Frameworks */,
-                               AF975D5F099CA0F000B05160 /* Rez */,
                                AFA3D8C909C03C9E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF976FB80989CAA2001F8B92 /* Resources */,
                                AF976FB90989CAA2001F8B92 /* Sources */,
                                AF976FBA0989CAA2001F8B92 /* Frameworks */,
-                               AF9770150989D0F6001F8B92 /* Rez */,
                                AFA3D86D09C03BF300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF97702A0989D1E6001F8B92 /* Resources */,
                                AF97702C0989D1E6001F8B92 /* Sources */,
                                AF9770390989D1E6001F8B92 /* Frameworks */,
-                               AF97703C0989D1E6001F8B92 /* Rez */,
                                AFA3D8CB09C03CA100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9770670989D2F6001F8B92 /* Resources */,
                                AF9770690989D2F6001F8B92 /* Sources */,
                                AF9770760989D2F6001F8B92 /* Frameworks */,
-                               AF9770790989D2F6001F8B92 /* Rez */,
                                AFCCCBCD09C03AF400353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF998EDD0A083DB30051049D /* Resources */,
                                AF998EDF0A083DB30051049D /* Sources */,
                                AF998EE20A083DB30051049D /* Frameworks */,
-                               AF998EE90A083DB30051049D /* Rez */,
                                AF998EEA0A083DB30051049D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D466909B5109C006E59CF /* Resources */,
                                AF9D466B09B5109C006E59CF /* Sources */,
                                AF9D466E09B5109C006E59CF /* Frameworks */,
-                               AF9D467209B5109C006E59CF /* Rez */,
                                AFA3D86B09C03BEF00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D474709B5300A006E59CF /* Resources */,
                                AF9D474909B5300A006E59CF /* Sources */,
                                AF9D474C09B5300A006E59CF /* Frameworks */,
-                               AF9D475009B5300A006E59CF /* Rez */,
                                AFA3D8D109C03CAB00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D476209B53166006E59CF /* Resources */,
                                AF9D476409B53166006E59CF /* Sources */,
                                AF9D476709B53166006E59CF /* Frameworks */,
-                               AF9D476B09B53166006E59CF /* Rez */,
                                AFA3D8FF09C03CF700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D48DE09B53322006E59CF /* Resources */,
                                AF9D48E009B53322006E59CF /* Sources */,
                                AF9D48E309B53322006E59CF /* Frameworks */,
-                               AF9D48E709B53322006E59CF /* Rez */,
                                AFA3D85B09C03BD300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D48F709B535DA006E59CF /* Resources */,
                                AF9D48F909B535DA006E59CF /* Sources */,
                                AF9D48FC09B535DA006E59CF /* Frameworks */,
-                               AF9D490009B535DA006E59CF /* Rez */,
                                AFA3D87109C03BFB00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D492E09B53CBA006E59CF /* Resources */,
                                AF9D493009B53CBA006E59CF /* Sources */,
                                AF9D493309B53CBA006E59CF /* Frameworks */,
-                               AF9D493709B53CBA006E59CF /* Rez */,
                                AFA3D8C709C03C9900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D495709B53FC9006E59CF /* Resources */,
                                AF9D495909B53FC9006E59CF /* Sources */,
                                AF9D495C09B53FC9006E59CF /* Frameworks */,
-                               AF9D496009B53FC9006E59CF /* Rez */,
                                AFA3D8CD09C03CA400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D496F09B5411D006E59CF /* Resources */,
                                AF9D497109B5411D006E59CF /* Sources */,
                                AF9D497409B5411D006E59CF /* Frameworks */,
-                               AF9D497809B5411D006E59CF /* Rez */,
                                AFA3D8E509C03CCD00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D499A09B544C2006E59CF /* Resources */,
                                AF9D499C09B544C2006E59CF /* Sources */,
                                AF9D499F09B544C2006E59CF /* Frameworks */,
-                               AF9D49A309B544C2006E59CF /* Rez */,
                                AFA3D8D909C03CB700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D4C6C09B59F27006E59CF /* Resources */,
                                AF9D4C6E09B59F27006E59CF /* Sources */,
                                AF9D4C7109B59F27006E59CF /* Frameworks */,
-                               AF9D4C7509B59F27006E59CF /* Rez */,
                                AFA3D8F709C03CEA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D4CEA09B5AA8E006E59CF /* Resources */,
                                AF9D4CEC09B5AA8E006E59CF /* Sources */,
                                AF9D4CEF09B5AA8E006E59CF /* Frameworks */,
-                               AF9D4CF309B5AA8E006E59CF /* Rez */,
                                AFA3D8BD09C03C8900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D4D8109B5B2DC006E59CF /* Resources */,
                                AF9D4D8309B5B2DC006E59CF /* Sources */,
                                AF9D4D8709B5B2DC006E59CF /* Frameworks */,
-                               AF9D4D8B09B5B2DC006E59CF /* Rez */,
                                AFA3D8F309C03CE400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D4DB209B5B71E006E59CF /* Resources */,
                                AF9D4DB409B5B71E006E59CF /* Sources */,
                                AF9D4DB809B5B71E006E59CF /* Frameworks */,
-                               AF9D4DBC09B5B71E006E59CF /* Rez */,
                                AFA3D69209C03B5C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AF9D4DEF09B5BB19006E59CF /* Resources */,
                                AF9D4DF109B5BB19006E59CF /* Sources */,
                                AF9D4DF609B5BB19006E59CF /* Frameworks */,
-                               AF9D4DFA09B5BB19006E59CF /* Rez */,
                                AFCCCBCB09C03AEE00353F4D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA0B121241CE69E0071E35D /* Resources */,
                                AFA0B123241CE69E0071E35D /* Sources */,
                                AFA0B126241CE69E0071E35D /* Frameworks */,
-                               AFA0B12E241CE69E0071E35D /* Rez */,
                                AFA0B12F241CE69E0071E35D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA2118F1CD59DAF00C0D2A1 /* Resources */,
                                AFA211911CD59DAF00C0D2A1 /* Sources */,
                                AFA211941CD59DAF00C0D2A1 /* Frameworks */,
-                               AFA2119C1CD59DAF00C0D2A1 /* Rez */,
                                AFA2119D1CD59DAF00C0D2A1 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFB9B5C024269AF900A5740D /* CopyFiles */,
                                AFA339340B058505002B0E7D /* Sources */,
                                AFA339370B058505002B0E7D /* Frameworks */,
-                               AFA3393B0B058505002B0E7D /* Rez */,
                                AFA3393C0B058505002B0E7D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55949099330B000F3E977 /* Resources */,
                                AFA5594B099330B000F3E977 /* Sources */,
                                AFA5594F099330B000F3E977 /* Frameworks */,
-                               AFA55956099330B000F3E977 /* Rez */,
                                AFA3D96309C03DB500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA559700993317900F3E977 /* Resources */,
                                AFA559720993317900F3E977 /* Sources */,
                                AFA559740993317900F3E977 /* Frameworks */,
-                               AFA5597B0993317900F3E977 /* Rez */,
                                AFA3D9AB09C03E4200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA559950993322100F3E977 /* Resources */,
                                AFA559970993322100F3E977 /* Sources */,
                                AFA559990993322100F3E977 /* Frameworks */,
-                               AFA559A00993322100F3E977 /* Rez */,
                                AFA3D9D109C03E8B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA559B80993328000F3E977 /* Resources */,
                                AFA559BA0993328000F3E977 /* Sources */,
                                AFA559BC0993328000F3E977 /* Frameworks */,
-                               AFA559C30993328000F3E977 /* Rez */,
                                AFA3D9AF09C03E4B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA559D20993330600F3E977 /* Resources */,
                                AFA559D40993330600F3E977 /* Sources */,
                                AFA559D60993330600F3E977 /* Frameworks */,
-                               AFA559DD0993330600F3E977 /* Rez */,
                                AFA3D9C109C03E6E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55A060993340300F3E977 /* Resources */,
                                AFA55A080993340300F3E977 /* Sources */,
                                AFA55A0A0993340300F3E977 /* Frameworks */,
-                               AFA55A110993340300F3E977 /* Rez */,
                                AFA3D9CB09C03E7F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55A23099334A000F3E977 /* Resources */,
                                AFA55A25099334A000F3E977 /* Sources */,
                                AFA55A27099334A000F3E977 /* Frameworks */,
-                               AFA55A2E099334A000F3E977 /* Rez */,
                                AFA3D9C909C03E7C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55A7C0993364300F3E977 /* Resources */,
                                AFA55A7E0993364300F3E977 /* Sources */,
                                AFA55A800993364300F3E977 /* Frameworks */,
-                               AFA55A870993364300F3E977 /* Rez */,
                                AFA3D9A309C03E3200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55AD209933CEF00F3E977 /* Resources */,
                                AFA55AD409933CEF00F3E977 /* Sources */,
                                AFA55AD609933CEF00F3E977 /* Frameworks */,
-                               AFA55ADD09933CEF00F3E977 /* Rez */,
                                AFA3D96109C03DB100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55B0C09933E0500F3E977 /* Resources */,
                                AFA55B0E09933E0500F3E977 /* Sources */,
                                AFA55B1309933E0500F3E977 /* Frameworks */,
-                               AFA55B1A09933E0500F3E977 /* Rez */,
                                AFA3D99309C03E1600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55B2809933E8D00F3E977 /* Resources */,
                                AFA55B2A09933E8D00F3E977 /* Sources */,
                                AFA55B2C09933E8D00F3E977 /* Frameworks */,
-                               AFA55B3309933E8D00F3E977 /* Rez */,
                                AFA3D9BD09C03E6500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55B7C09933F7200F3E977 /* Resources */,
                                AFA55B7E09933F7200F3E977 /* Sources */,
                                AFA55B8009933F7200F3E977 /* Frameworks */,
-                               AFA55B8709933F7200F3E977 /* Rez */,
                                AFA3D9C509C03E7400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55B9409933FDA00F3E977 /* Resources */,
                                AFA55B9609933FDA00F3E977 /* Sources */,
                                AFA55B9809933FDA00F3E977 /* Frameworks */,
-                               AFA55B9F09933FDA00F3E977 /* Rez */,
                                AFA3D98709C03DF400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55BAE099340CE00F3E977 /* Resources */,
                                AFA55BB0099340CE00F3E977 /* Sources */,
                                AFA55BB2099340CE00F3E977 /* Frameworks */,
-                               AFA55BB9099340CE00F3E977 /* Rez */,
                                AFA3D96709C03DBC00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55BE70993429100F3E977 /* Resources */,
                                AFA55BE90993429100F3E977 /* Sources */,
                                AFA55BEB0993429100F3E977 /* Frameworks */,
-                               AFA55BF20993429100F3E977 /* Rez */,
                                AFA3D9A709C03E3A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55C110993431300F3E977 /* Resources */,
                                AFA55C130993431300F3E977 /* Sources */,
                                AFA55C150993431300F3E977 /* Frameworks */,
-                               AFA55C1C0993431300F3E977 /* Rez */,
                                AFA3D97709C03DDA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55C7A099349A600F3E977 /* Resources */,
                                AFA55C7C099349A600F3E977 /* Sources */,
                                AFA55C7E099349A600F3E977 /* Frameworks */,
-                               AFA55C85099349A600F3E977 /* Rez */,
                                AFA3D99709C03E1C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55CAC09934BB200F3E977 /* Resources */,
                                AFA55CAE09934BB200F3E977 /* Sources */,
                                AFA55CB009934BB200F3E977 /* Frameworks */,
-                               AFA55CB709934BB200F3E977 /* Rez */,
                                AFA3D95F09C03DAE00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55CCF09934CE400F3E977 /* Resources */,
                                AFA55CD109934CE400F3E977 /* Sources */,
                                AFA55CD309934CE400F3E977 /* Frameworks */,
-                               AFA55CDA09934CE400F3E977 /* Rez */,
                                AFA3D98B09C03DFC00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55D3F0993565300F3E977 /* Resources */,
                                AFA55D410993565300F3E977 /* Sources */,
                                AFA55D430993565300F3E977 /* Frameworks */,
-                               AFA55D4A0993565300F3E977 /* Rez */,
                                AFA3D9C309C03E7100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55D650993584B00F3E977 /* Resources */,
                                AFA55D670993584B00F3E977 /* Sources */,
                                AFA55D690993584B00F3E977 /* Frameworks */,
-                               AFA55D700993584B00F3E977 /* Rez */,
                                AFA3D96D09C03DCA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55D82099358C400F3E977 /* Resources */,
                                AFA55D84099358C400F3E977 /* Sources */,
                                AFA55D86099358C400F3E977 /* Frameworks */,
-                               AFA55D8D099358C400F3E977 /* Rez */,
                                AFA3D9C709C03E7800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55DCB09935D7000F3E977 /* Resources */,
                                AFA55DCD09935D7000F3E977 /* Sources */,
                                AFA55DCF09935D7000F3E977 /* Frameworks */,
-                               AFA55DD609935D7000F3E977 /* Rez */,
                                AFA3D9A509C03E3600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55DF309935E4900F3E977 /* Resources */,
                                AFA55DF509935E4900F3E977 /* Sources */,
                                AFA55DF809935E4900F3E977 /* Frameworks */,
-                               AFA55DFF09935E4900F3E977 /* Rez */,
                                AFA3D9BF09C03E6900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55E1009935EDC00F3E977 /* Resources */,
                                AFA55E1209935EDC00F3E977 /* Sources */,
                                AFA55E1409935EDC00F3E977 /* Frameworks */,
-                               AFA55E1B09935EDC00F3E977 /* Rez */,
                                AFA3D97509C03DD700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55E3209935F8E00F3E977 /* Resources */,
                                AFA55E3409935F8E00F3E977 /* Sources */,
                                AFA55E3709935F8E00F3E977 /* Frameworks */,
-                               AFA55E3E09935F8E00F3E977 /* Rez */,
                                AFA3D98909C03DF700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55E5109935FF900F3E977 /* Resources */,
                                AFA55E5309935FF900F3E977 /* Sources */,
                                AFA55E5509935FF900F3E977 /* Frameworks */,
-                               AFA55E5C09935FF900F3E977 /* Rez */,
                                AFA3D98109C03DEA00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55ECA099360E300F3E977 /* Resources */,
                                AFA55ECC099360E300F3E977 /* Sources */,
                                AFA55ED8099360E300F3E977 /* Frameworks */,
-                               AFA55EDF099360E300F3E977 /* Rez */,
                                AFA3D95D09C03DAB00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55F09099361B700F3E977 /* Resources */,
                                AFA55F0B099361B700F3E977 /* Sources */,
                                AFA55F13099361B700F3E977 /* Frameworks */,
-                               AFA55F1A099361B700F3E977 /* Rez */,
                                AFA3D99D09C03E2600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55F2D0993622F00F3E977 /* Resources */,
                                AFA55F2F0993622F00F3E977 /* Sources */,
                                AFA55F310993622F00F3E977 /* Frameworks */,
-                               AFA55F380993622F00F3E977 /* Rez */,
                                AFA3D9A109C03E2E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55F450993629000F3E977 /* Resources */,
                                AFA55F470993629000F3E977 /* Sources */,
                                AFA55F490993629000F3E977 /* Frameworks */,
-                               AFA55F500993629000F3E977 /* Rez */,
                                AFA3D99B09C03E2300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55F750993643600F3E977 /* Resources */,
                                AFA55F770993643600F3E977 /* Sources */,
                                AFA55F790993643600F3E977 /* Frameworks */,
-                               AFA55F800993643600F3E977 /* Rez */,
                                AFA3D99109C03E1200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55FD609936BFA00F3E977 /* Resources */,
                                AFA55FD809936BFA00F3E977 /* Sources */,
                                AFA55FDA09936BFA00F3E977 /* Frameworks */,
-                               AFA55FE109936BFA00F3E977 /* Rez */,
                                AFA3D96F09C03DCD00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA55FFC09936C6D00F3E977 /* Resources */,
                                AFA55FFE09936C6D00F3E977 /* Sources */,
                                AFA5600009936C6D00F3E977 /* Frameworks */,
-                               AFA5600709936C6D00F3E977 /* Rez */,
                                AFA3D98F09C03E0F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5601709936CC800F3E977 /* Resources */,
                                AFA5601909936CC800F3E977 /* Sources */,
                                AFA5601B09936CC800F3E977 /* Frameworks */,
-                               AFA5602209936CC800F3E977 /* Rez */,
                                AFA3D95909C03DA400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5603509936D5100F3E977 /* Resources */,
                                AFA5603709936D5100F3E977 /* Sources */,
                                AFA5603909936D5100F3E977 /* Frameworks */,
-                               AFA5604009936D5100F3E977 /* Rez */,
                                AFA3D97B09C03DE000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5604D09936E2100F3E977 /* Resources */,
                                AFA5604F09936E2100F3E977 /* Sources */,
                                AFA5605109936E2100F3E977 /* Frameworks */,
-                               AFA5605809936E2100F3E977 /* Rez */,
                                AFA3D94D09C03D8D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5606509936F3800F3E977 /* Resources */,
                                AFA5606709936F3800F3E977 /* Sources */,
                                AFA5606909936F3800F3E977 /* Frameworks */,
-                               AFA5607009936F3800F3E977 /* Rez */,
                                AFA3D95109C03D9400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA560B10993718D00F3E977 /* Resources */,
                                AFA560B30993718D00F3E977 /* Sources */,
                                AFA560B50993718D00F3E977 /* Frameworks */,
-                               AFA560BC0993718D00F3E977 /* Rez */,
                                AFA3D9B909C03E5E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA561000993781600F3E977 /* Resources */,
                                AFA561020993781600F3E977 /* Sources */,
                                AFA561040993781600F3E977 /* Frameworks */,
-                               AFA5610B0993781600F3E977 /* Rez */,
                                AFA3D9AD09C03E4600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5615B09937C0D00F3E977 /* Resources */,
                                AFA5615D09937C0D00F3E977 /* Sources */,
                                AFA5615F09937C0D00F3E977 /* Frameworks */,
-                               AFA5616609937C0D00F3E977 /* Rez */,
                                AFA3D95709C03DA100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5617E09937CF100F3E977 /* Resources */,
                                AFA5618009937CF100F3E977 /* Sources */,
                                AFA5618209937CF100F3E977 /* Frameworks */,
-                               AFA5618909937CF100F3E977 /* Rez */,
                                AFA3D9B109C03E4E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA561A009937D7E00F3E977 /* Resources */,
                                AFA561A209937D7E00F3E977 /* Sources */,
                                AFA561A409937D7E00F3E977 /* Frameworks */,
-                               AFA561AB09937D7E00F3E977 /* Rez */,
                                AFA3D9B709C03E5B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA562090993849F00F3E977 /* Resources */,
                                AFA5620B0993849F00F3E977 /* Sources */,
                                AFA5620E0993849F00F3E977 /* Frameworks */,
-                               AFA562150993849F00F3E977 /* Rez */,
                                AFA3D9BB09C03E6200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA562220993852500F3E977 /* Resources */,
                                AFA562240993852500F3E977 /* Sources */,
                                AFA562260993852500F3E977 /* Frameworks */,
-                               AFA5622D0993852500F3E977 /* Rez */,
                                AFA3D9B309C03E5100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA562C2099392C600F3E977 /* Resources */,
                                AFA562C4099392C600F3E977 /* Sources */,
                                AFA562C6099392C600F3E977 /* Frameworks */,
-                               AFA562CD099392C600F3E977 /* Rez */,
                                AFA3D95B09C03DA800E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA562DD099393C900F3E977 /* Resources */,
                                AFA562DF099393C900F3E977 /* Sources */,
                                AFA562E1099393C900F3E977 /* Frameworks */,
-                               AFA562E8099393C900F3E977 /* Rez */,
                                AFA3D94F09C03D9100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA562F50993943B00F3E977 /* Resources */,
                                AFA562F70993943B00F3E977 /* Sources */,
                                AFA562F90993943B00F3E977 /* Frameworks */,
-                               AFA563000993943B00F3E977 /* Rez */,
                                AFA3D9D309C03E8F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA563160993951000F3E977 /* Resources */,
                                AFA563180993951000F3E977 /* Sources */,
                                AFA5631B0993951000F3E977 /* Frameworks */,
-                               AFA563220993951000F3E977 /* Rez */,
                                AFA3D96909C03DBF00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA56334099395ED00F3E977 /* Resources */,
                                AFA56336099395ED00F3E977 /* Sources */,
                                AFA56338099395ED00F3E977 /* Frameworks */,
-                               AFA5633F099395ED00F3E977 /* Rez */,
                                AFA3D98D09C03E0500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA56354099396C000F3E977 /* Resources */,
                                AFA56356099396C000F3E977 /* Sources */,
                                AFA56358099396C000F3E977 /* Frameworks */,
-                               AFA5635F099396C000F3E977 /* Rez */,
                                AFA3D96B09C03DC600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA5637C099397B300F3E977 /* Resources */,
                                AFA5637E099397B300F3E977 /* Sources */,
                                AFA56380099397B300F3E977 /* Frameworks */,
-                               AFA56387099397B300F3E977 /* Rez */,
                                AFA3D9D509C03E9300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA563A7099398BB00F3E977 /* Resources */,
                                AFA563A9099398BB00F3E977 /* Sources */,
                                AFA563AB099398BB00F3E977 /* Frameworks */,
-                               AFA563B2099398BB00F3E977 /* Rez */,
                                AFA3D99F09C03E2900E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFA6AAF320999950006D2685 /* Resources */,
                                AFA6AAF520999950006D2685 /* Sources */,
                                AFA6AAF820999950006D2685 /* Frameworks */,
-                               AFA6AB0020999950006D2685 /* Rez */,
                                AFA6AB0120999950006D2685 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFAAE38A207D6343007A515C /* Resources */,
                                AFAAE38C207D6343007A515C /* Sources */,
                                AFAAE38F207D6343007A515C /* Frameworks */,
-                               AFAAE397207D6343007A515C /* Rez */,
                                AFAAE398207D6343007A515C /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFACE8761CC83458008B24CD /* Resources */,
                                AFACE8781CC83458008B24CD /* Sources */,
                                AFACE87B1CC83458008B24CD /* Frameworks */,
-                               AFACE8831CC83458008B24CD /* Rez */,
                                AFACE8841CC83458008B24CD /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFADD32E24B67100005456DC /* Resources */,
                                AFADD33024B67100005456DC /* Sources */,
                                AFADD33324B67100005456DC /* Frameworks */,
-                               AFADD33B24B67100005456DC /* Rez */,
                                AFADD33C24B67100005456DC /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFAE1472279275BE00C62683 /* Resources */,
                                AFAE1474279275BE00C62683 /* Sources */,
                                AFAE1477279275BE00C62683 /* Frameworks */,
-                               AFAE147F279275BE00C62683 /* Rez */,
                                AFAE1480279275BE00C62683 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFB591AA178B812C00EA4005 /* Resources */,
                                AFB591AC178B812C00EA4005 /* Sources */,
                                AFB591AF178B812C00EA4005 /* Frameworks */,
-                               AFB591B5178B812C00EA4005 /* Rez */,
                                AFB591B6178B812C00EA4005 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFC0E8AE1CDC601A008CAFAC /* Resources */,
                                AFC0E8B01CDC601A008CAFAC /* Sources */,
                                AFC0E8B31CDC601A008CAFAC /* Frameworks */,
-                               AFC0E8BB1CDC601A008CAFAC /* Rez */,
                                AFC0E8BC1CDC601A008CAFAC /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFC5CFD92044AA23004CEB5E /* Resources */,
                                AFC5CFDB2044AA23004CEB5E /* Sources */,
                                AFC5CFDE2044AA23004CEB5E /* Frameworks */,
-                               AFC5CFE62044AA23004CEB5E /* Rez */,
                                AFC5CFE72044AA23004CEB5E /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFCF833E1AF5B515008BB7E1 /* Resources */,
                                AFCF83401AF5B515008BB7E1 /* Sources */,
                                AFCF83431AF5B515008BB7E1 /* Frameworks */,
-                               AFCF834B1AF5B515008BB7E1 /* Rez */,
                                AFCF834C1AF5B515008BB7E1 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD51B1E0F063B4A00471C02 /* Resources */,
                                AFD51B210F063B4A00471C02 /* Sources */,
                                AFD51B240F063B4A00471C02 /* Frameworks */,
-                               AFD51B2B0F063B4A00471C02 /* Rez */,
                                AFD51B2C0F063B4A00471C02 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56DF40996A03800BA26F7 /* Resources */,
                                AFD56DF60996A03800BA26F7 /* Sources */,
                                AFD56DF90996A03800BA26F7 /* Frameworks */,
-                               AFD56E000996A03800BA26F7 /* Rez */,
                                AFA3D99909C03E2000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56EB10996A72600BA26F7 /* Resources */,
                                AFD56EB30996A72600BA26F7 /* Sources */,
                                AFD56EB60996A72600BA26F7 /* Frameworks */,
-                               AFD56EBA0996A72600BA26F7 /* Rez */,
                                AFA3D90709C03D0B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56EDD0996A95700BA26F7 /* Resources */,
                                AFD56EDF0996A95700BA26F7 /* Sources */,
                                AFD56EE20996A95700BA26F7 /* Frameworks */,
-                               AFD56EE60996A95700BA26F7 /* Rez */,
                                AFA3D91D09C03D3000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56F0E0996AAFA00BA26F7 /* Resources */,
                                AFD56F100996AAFA00BA26F7 /* Sources */,
                                AFD56F130996AAFA00BA26F7 /* Frameworks */,
-                               AFD56F170996AAFA00BA26F7 /* Rez */,
                                AFA3D94909C03D8100E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56F260996AB8A00BA26F7 /* Resources */,
                                AFD56F280996AB8A00BA26F7 /* Sources */,
                                AFD56F2B0996AB8A00BA26F7 /* Frameworks */,
-                               AFD56F2F0996AB8A00BA26F7 /* Rez */,
                                AFA3D91F09C03D3300E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56F520996AEEE00BA26F7 /* Resources */,
                                AFD56F540996AEEE00BA26F7 /* Sources */,
                                AFD56F570996AEEE00BA26F7 /* Frameworks */,
-                               AFD56F5B0996AEEE00BA26F7 /* Rez */,
                                AFA3D92109C03D3600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56F6E0996B01600BA26F7 /* Resources */,
                                AFD56F700996B01600BA26F7 /* Sources */,
                                AFD56F730996B01600BA26F7 /* Frameworks */,
-                               AFD56F770996B01600BA26F7 /* Rez */,
                                AFA3D92309C03D3A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56F8F0996B09400BA26F7 /* Resources */,
                                AFD56F910996B09400BA26F7 /* Sources */,
                                AFD56F940996B09400BA26F7 /* Frameworks */,
-                               AFD56F980996B09400BA26F7 /* Rez */,
                                AFA3D92909C03D4400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56FA60996B10F00BA26F7 /* Resources */,
                                AFD56FA80996B10F00BA26F7 /* Sources */,
                                AFD56FAB0996B10F00BA26F7 /* Frameworks */,
-                               AFD56FAF0996B10F00BA26F7 /* Rez */,
                                AFA3D92B09C03D4700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56FBC0996B18F00BA26F7 /* Resources */,
                                AFD56FBE0996B18F00BA26F7 /* Sources */,
                                AFD56FC10996B18F00BA26F7 /* Frameworks */,
-                               AFD56FC50996B18F00BA26F7 /* Rez */,
                                AFA3D92D09C03D4A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56FD20996B20900BA26F7 /* Resources */,
                                AFD56FD40996B20900BA26F7 /* Sources */,
                                AFD56FD70996B20900BA26F7 /* Frameworks */,
-                               AFD56FDB0996B20900BA26F7 /* Rez */,
                                AFA3D92F09C03D4E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD56FFB0996B43800BA26F7 /* Resources */,
                                AFD56FFD0996B43800BA26F7 /* Sources */,
                                AFD570000996B43800BA26F7 /* Frameworks */,
-                               AFD570040996B43800BA26F7 /* Rez */,
                                AFA3D93709C03D5B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570120996B4CC00BA26F7 /* Resources */,
                                AFD570140996B4CC00BA26F7 /* Sources */,
                                AFD570170996B4CC00BA26F7 /* Frameworks */,
-                               AFD5701B0996B4CC00BA26F7 /* Rez */,
                                AFA3DBA209C0424C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570290996B56D00BA26F7 /* Resources */,
                                AFD5702B0996B56D00BA26F7 /* Sources */,
                                AFD5702E0996B56D00BA26F7 /* Frameworks */,
-                               AFD570320996B56D00BA26F7 /* Rez */,
                                AFA3D93D09C03D6C00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570460996B61600BA26F7 /* Resources */,
                                AFD570480996B61600BA26F7 /* Sources */,
                                AFD5704B0996B61600BA26F7 /* Frameworks */,
-                               AFD5704F0996B61600BA26F7 /* Rez */,
                                AFA3D93F09C03D6F00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD5705C0996B6A300BA26F7 /* Resources */,
                                AFD5705E0996B6A300BA26F7 /* Sources */,
                                AFD570610996B6A300BA26F7 /* Frameworks */,
-                               AFD570650996B6A300BA26F7 /* Rez */,
                                AFA3D91309C03D1E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570720996B72700BA26F7 /* Resources */,
                                AFD570740996B72700BA26F7 /* Sources */,
                                AFD570770996B72700BA26F7 /* Frameworks */,
-                               AFD5707B0996B72700BA26F7 /* Rez */,
                                AFA3D93309C03D5400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570880996B80300BA26F7 /* Resources */,
                                AFD5708A0996B80300BA26F7 /* Sources */,
                                AFD5708D0996B80300BA26F7 /* Frameworks */,
-                               AFD570910996B80300BA26F7 /* Rez */,
                                AFA3D94709C03D7E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD5709E0996B88E00BA26F7 /* Resources */,
                                AFD570A00996B88E00BA26F7 /* Sources */,
                                AFD570A30996B88E00BA26F7 /* Frameworks */,
-                               AFD570A70996B88E00BA26F7 /* Rez */,
                                AFA3D94B09C03D8500E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570B40996B93000BA26F7 /* Resources */,
                                AFD570B60996B93000BA26F7 /* Sources */,
                                AFD570B90996B93000BA26F7 /* Frameworks */,
-                               AFD570BD0996B93000BA26F7 /* Rez */,
                                AFA3D93B09C03D6200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570CC0996B9F800BA26F7 /* Resources */,
                                AFD570CE0996B9F800BA26F7 /* Sources */,
                                AFD570D10996B9F800BA26F7 /* Frameworks */,
-                               AFD570D50996B9F800BA26F7 /* Rez */,
                                AFA3D90109C03D0000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD570ED0996BBBF00BA26F7 /* Resources */,
                                AFD570EF0996BBBF00BA26F7 /* Sources */,
                                AFD570F20996BBBF00BA26F7 /* Frameworks */,
-                               AFD570F60996BBBF00BA26F7 /* Rez */,
                                AFA3D91909C03D2700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD571160996BE9300BA26F7 /* Resources */,
                                AFD571180996BE9300BA26F7 /* Sources */,
                                AFD5711B0996BE9300BA26F7 /* Frameworks */,
-                               AFD5711F0996BE9300BA26F7 /* Rez */,
                                AFA3D90D09C03D1400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD5712F0996BF2E00BA26F7 /* Resources */,
                                AFD571310996BF2E00BA26F7 /* Sources */,
                                AFD571340996BF2E00BA26F7 /* Frameworks */,
-                               AFD571380996BF2E00BA26F7 /* Rez */,
                                AFA3D90309C03D0400E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD571460996C01700BA26F7 /* Resources */,
                                AFD571480996C01700BA26F7 /* Sources */,
                                AFD5714B0996C01700BA26F7 /* Frameworks */,
-                               AFD5714F0996C01700BA26F7 /* Rez */,
                                AFA3D91109C03D1B00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD5715C0996C0CE00BA26F7 /* Resources */,
                                AFD5715E0996C0CE00BA26F7 /* Sources */,
                                AFD571610996C0CE00BA26F7 /* Frameworks */,
-                               AFD571650996C0CE00BA26F7 /* Rez */,
                                AFA3D94509C03D7A00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD571B80996D9DC00BA26F7 /* Resources */,
                                AFD571BA0996D9DC00BA26F7 /* Sources */,
                                AFD571BD0996D9DC00BA26F7 /* Frameworks */,
-                               AFD571C10996D9DC00BA26F7 /* Rez */,
                                AFA3D92509C03D3D00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD572250996E4A300BA26F7 /* Resources */,
                                AFD572270996E4A300BA26F7 /* Sources */,
                                AFD5722A0996E4A300BA26F7 /* Frameworks */,
-                               AFD5722E0996E4A300BA26F7 /* Rez */,
                                AFA3D94309C03D7600E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD572700996EE8500BA26F7 /* Resources */,
                                AFD572720996EE8500BA26F7 /* Sources */,
                                AFD572750996EE8500BA26F7 /* Frameworks */,
-                               AFD572790996EE8500BA26F7 /* Rez */,
                                AFA3D93909C03D5E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD572A80996F99600BA26F7 /* Resources */,
                                AFD572AA0996F99600BA26F7 /* Sources */,
                                AFD572AD0996F99600BA26F7 /* Frameworks */,
-                               AFD572B10996F99600BA26F7 /* Rez */,
                                AFA3D90509C03D0700E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD572C50996FC0F00BA26F7 /* Resources */,
                                AFD572C70996FC0F00BA26F7 /* Sources */,
                                AFD572CA0996FC0F00BA26F7 /* Frameworks */,
-                               AFD572CE0996FC0F00BA26F7 /* Rez */,
                                AFA3D90909C03D0E00E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD572FC099701C000BA26F7 /* Resources */,
                                AFD572FE099701C000BA26F7 /* Sources */,
                                AFD57301099701C000BA26F7 /* Frameworks */,
-                               AFD57305099701C000BA26F7 /* Rez */,
                                AFA3D92709C03D4000E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD573600997411200BA26F7 /* Resources */,
                                AFD573620997411200BA26F7 /* Sources */,
                                AFD573650997411200BA26F7 /* Frameworks */,
-                               AFD573690997411200BA26F7 /* Rez */,
                                AFA3D94109C03D7200E4CFCA /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD704C528308724002A8EB0 /* Resources */,
                                AFD704C728308724002A8EB0 /* Sources */,
                                AFD704CA28308724002A8EB0 /* Frameworks */,
-                               AFD704D228308724002A8EB0 /* Rez */,
                                AFD704D328308724002A8EB0 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFD77E5E20C23F8600A3638D /* Resources */,
                                AFD77E6020C23F8600A3638D /* Sources */,
                                AFD77E6320C23F8600A3638D /* Frameworks */,
-                               AFD77E6B20C23F8600A3638D /* Rez */,
                                AFD77E6C20C23F8600A3638D /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFDA6591178A52B70070D24B /* Resources */,
                                AFDA6593178A52B70070D24B /* Sources */,
                                AFDA6596178A52B70070D24B /* Frameworks */,
-                               AFDA659C178A52B70070D24B /* Rez */,
                                AFDA659D178A52B70070D24B /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFE2A4590E2E904600ADB298 /* Resources */,
                                AFE2A45B0E2E904600ADB298 /* Sources */,
                                AFE2A45E0E2E904600ADB298 /* Frameworks */,
-                               AFE2A4650E2E904600ADB298 /* Rez */,
                                AFE2A4660E2E904600ADB298 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFE30BEB0E52B14700CCF4A5 /* Resources */,
                                AFE30BED0E52B14700CCF4A5 /* Sources */,
                                AFE30BF00E52B14700CCF4A5 /* Frameworks */,
-                               AFE30BF70E52B14700CCF4A5 /* Rez */,
                                AFE30BF80E52B14700CCF4A5 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFE6A1850CDD7B2E002805BF /* Resources */,
                                AFE6A1870CDD7B2E002805BF /* Sources */,
                                AFE6A18B0CDD7B2E002805BF /* Frameworks */,
-                               AFE6A1920CDD7B2E002805BF /* Rez */,
                                AFE6A1930CDD7B2E002805BF /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFE6A41E0CDD7FAA002805BF /* Resources */,
                                AFE6A4210CDD7FAA002805BF /* Sources */,
                                AFE6A4240CDD7FAA002805BF /* Frameworks */,
-                               AFE6A4280CDD7FAA002805BF /* Rez */,
                                AFE6A4290CDD7FAA002805BF /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFEC23D01CB6EAE100DE138F /* Resources */,
                                AFEC23D21CB6EAE100DE138F /* Sources */,
                                AFEC23D51CB6EAE100DE138F /* Frameworks */,
-                               AFEC23DD1CB6EAE100DE138F /* Rez */,
                                AFEC23DE1CB6EAE100DE138F /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFEE10501D13406000AAC8F7 /* Resources */,
                                AFEE10521D13406000AAC8F7 /* Sources */,
                                AFEE10551D13406000AAC8F7 /* Frameworks */,
-                               AFEE105D1D13406000AAC8F7 /* Rez */,
                                AFEE105E1D13406000AAC8F7 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFEE106F1D15EB0800AAC8F7 /* Resources */,
                                AFEE10711D15EB0800AAC8F7 /* Sources */,
                                AFEE10741D15EB0800AAC8F7 /* Frameworks */,
-                               AFEE107C1D15EB0800AAC8F7 /* Rez */,
                                AFEE107D1D15EB0800AAC8F7 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFEE108E1D17E20B00AAC8F7 /* Resources */,
                                AFEE10901D17E20B00AAC8F7 /* Sources */,
                                AFEE10931D17E20B00AAC8F7 /* Frameworks */,
-                               AFEE109B1D17E20B00AAC8F7 /* Rez */,
                                AFEE109C1D17E20B00AAC8F7 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFF2868217860E830050A578 /* Resources */,
                                AFF2868417860E830050A578 /* Sources */,
                                AFF2868717860E830050A578 /* Frameworks */,
-                               AFF2868D17860E830050A578 /* Rez */,
                                AFF2868E17860E830050A578 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFF3C9EB17CCAC440028F240 /* Resources */,
                                AFF3C9ED17CCAC440028F240 /* Sources */,
                                AFF3C9F017CCAC440028F240 /* Frameworks */,
-                               AFF3C9F617CCAC440028F240 /* Rez */,
                                AFF3C9F717CCAC440028F240 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFF449E32275494400DB8EDB /* Resources */,
                                AFF449E52275494400DB8EDB /* Sources */,
                                AFF449E82275494400DB8EDB /* Frameworks */,
-                               AFF449F02275494400DB8EDB /* Rez */,
                                AFF449F12275494400DB8EDB /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFF463390C4403E400EE6509 /* Resources */,
                                AFF4633B0C4403E400EE6509 /* Sources */,
                                AFF4633E0C4403E400EE6509 /* Frameworks */,
-                               AFF463420C4403E400EE6509 /* Rez */,
                                AFF463430C4403E400EE6509 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFF4635B0C440AEF00EE6509 /* Resources */,
                                AFF4635D0C440AEF00EE6509 /* Sources */,
                                AFF463600C440AEF00EE6509 /* Frameworks */,
-                               AFF463670C440AEF00EE6509 /* Rez */,
                                AFF463680C440AEF00EE6509 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                AFFAB31819158CE40020F021 /* Resources */,
                                AFFAB31A19158CE40020F021 /* Sources */,
                                AFFAB31D19158CE40020F021 /* Frameworks */,
-                               AFFAB32419158CE40020F021 /* Rez */,
                                AFFAB32519158CE40020F021 /* Run Update Info Plist */,
                        );
                        buildRules = (
                                CE3D01541B76F4C100993C75 /* Resources */,
                                CE3D01561B76F4C100993C75 /* Sources */,
                                CE3D01591B76F4C100993C75 /* Frameworks */,
-                               CE3D01611B76F4C100993C75 /* Rez */,
                                CE3D01621B76F4C100993C75 /* Run Update Info Plist */,
                        );
                        buildRules = (
                        isa = PBXProject;
                        attributes = {
                                BuildIndependentTargetsInParallel = YES;
-                               LastUpgradeCheck = 1430;
+                               LastUpgradeCheck = 1500;
                                TargetAttributes = {
                                        AF08398F09930B6B00277BE9 = {
                                                DevelopmentTeam = 4627ATJELP;
                        buildActionMask = 2147483647;
                        files = (
                                AF7F06152A50C18C00E35B45 /* droste.xml in Resources */,
+                               AF7602542A9FBD7800460454 /* xscreensaver-getimage-file in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                };
 /* End PBXResourcesBuildPhase section */
 
-/* Begin PBXRezBuildPhase section */
-               AF08399E09930B6B00277BE9 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF083A44099311D700277BE9 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF0BF6DD29456B2E000D9473 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF0DC7B80C4C73F600D76972 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF0DCA510C4CBB0D00D76972 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF1A176E0D6D6EE3008AF328 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF1B0FB71D7AB4740011DBE4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF2107811FD23BDD00B61EA9 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF296A652A5A776D007441BF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF2A635128401496003791B4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF2D0D35241D7C870001D8B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF32D9EF0F3AD0B40080F535 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF3581D01431D47B00E09C51 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF358211143330F900E09C51 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF35E89B0E63823600691F2F /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF39382A1D0FBD6A00205406 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF39E291198A11F60064A58D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF3C71540D624BF50030CC0D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF3EC9882035154C00180A35 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF41E962201D49DB0098E253 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF43640C241D84CE00966603 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF46E9DF1CBBA2B300240FBC /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF476FC2099D154F001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF476FE7099D1686001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477058099D4385001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477175099D4786001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47718B099D4803001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4771B3099D4949001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4771E7099D4D9A001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4771FE099D4E63001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477214099D4EE8001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47722A099D4F67001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47725F099D5717001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477277099D57B9001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47728F099D5926001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47738E099D65A1001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4773A6099D6648001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4773CD099D67B9001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47740E099D69E7001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477433099D7C70001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47744E099D7D33001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47748F099D89E4001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4774A5099D8A74001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4774C0099D8B5F001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4774DA099D8BFF001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477569099D9A1A001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47758F099D9C28001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4775AB099D9CF7001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4775E4099D9F69001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4775FE099DA030001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47761F099DA26C001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477650099DA6D0001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477666099DA78E001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47767C099DA849001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47769B099DAA6F001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4776B6099DABDD001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4776CC099DAC8A001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4776E7099DADDF001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4776FD099DAE7A001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477719099DAF9F001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47772F099DB044001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47775E099DB61E001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477780099DB965001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF47779C099DBA90001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4777DD099DC183001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4778B7099DDB79001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4778D3099DDCAE001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4778F4099DDDC8001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477915099DE379001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF477936099DE4C7001F091E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF480C54098E301400FB32B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF480D7D098EEDDE00FB32B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4810F709909FBA00FB32B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4812600990CE2700FB32B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4812C20990D3D900FB32B8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF48DEFE0A0C25E000F94CF9 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4A3458102A593600A81B2A /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4FD6F50CE7A486005EE58E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF4FF4C90D52CBDE00666F98 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF5C9B081A0CCE6E00B0147A /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF5ECEBB2116B1A400069433 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF62D6282180070600C57C42 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF633C111EE0BA6F00AB33BD /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF63A8011AB4EDDB00593C75 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF642401099FF9C2000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF6425D809A18855000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF6425F809A189EC000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF64261B09A18D6C000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF64263809A18F54000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF64265B09A19229000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF64268709A194B0000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF64277D09A1D37A000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF6427B409A2DE36000F4CD4 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF688AC9257C04D200C91EAE /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF68A48D19196CF800D41CD1 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF69E201270BA54600358595 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF6C6D84226AE4FC0065A748 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF6E25C2276C3F030032E38F /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF70B77D2A81D025007C1EB8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF70B79E2A8320A6007C1EB8 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF73FF311A09877F00E485E9 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF75110D1782B5B900380EA1 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7776F209B63ABF00EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77772609B6416100EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77774D09B6446500EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77778409B6497800EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77779E09B64A5200EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7777B809B64B2600EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7777E009B64C6B00EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7777FA09B64E3100EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77782109B6504400EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77785409B6528100EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77787009B6536000EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF77788B09B6563500EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7778B109B659C800EA3033 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF78D184142DD8F3002AAF77 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF794F70099748450059A8B0 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF794F9A09974A320059A8B0 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF794FD909974FA60059A8B0 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF796D2A26E5C10700DA6562 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7ACFCF19FF0A9200BD752B /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF7F06092A50BFAB00E35B45 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF81E01025845C2A00CFC475 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF95059425670ECC00C1F257 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF96014E25758F9F007FA31B /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975739099C317000B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975781099C374A00B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9757CE099C3E6300B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975814099C41D500B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975871099C475900B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975A42099C681F00B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975A78099C6AB200B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975A92099C6BC300B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975AE3099C6EB100B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975B08099C6FE400B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975C1E099C8C1500B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975C4A099C8DCF00B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975C6A099C8F3F00B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF975D5F099CA0F000B05160 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9770150989D0F6001F8B92 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF97703C0989D1E6001F8B92 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9770790989D2F6001F8B92 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF998EE90A083DB30051049D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D467209B5109C006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D475009B5300A006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D476B09B53166006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D48E709B53322006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D490009B535DA006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D493709B53CBA006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D496009B53FC9006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D497809B5411D006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D49A309B544C2006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D4C7509B59F27006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D4CF309B5AA8E006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D4D8B09B5B2DC006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D4DBC09B5B71E006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AF9D4DFA09B5BB19006E59CF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA0B12E241CE69E0071E35D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA2119C1CD59DAF00C0D2A1 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA3393B0B058505002B0E7D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55956099330B000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5597B0993317900F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA559A00993322100F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA559C30993328000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA559DD0993330600F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55A110993340300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55A2E099334A000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55A870993364300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55ADD09933CEF00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55B1A09933E0500F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55B3309933E8D00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55B8709933F7200F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55B9F09933FDA00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55BB9099340CE00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55BF20993429100F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55C1C0993431300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55C85099349A600F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55CB709934BB200F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55CDA09934CE400F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55D4A0993565300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55D700993584B00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55D8D099358C400F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55DD609935D7000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55DFF09935E4900F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55E1B09935EDC00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55E3E09935F8E00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55E5C09935FF900F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55EDF099360E300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55F1A099361B700F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55F380993622F00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55F500993629000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55F800993643600F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA55FE109936BFA00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5600709936C6D00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5602209936CC800F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5604009936D5100F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5605809936E2100F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5607009936F3800F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA560BC0993718D00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5610B0993781600F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5616609937C0D00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5618909937CF100F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA561AB09937D7E00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA562150993849F00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5622D0993852500F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA562CD099392C600F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA562E8099393C900F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA563000993943B00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA563220993951000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5633F099395ED00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA5635F099396C000F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA56387099397B300F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA563B2099398BB00F3E977 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFA6AB0020999950006D2685 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFAAE397207D6343007A515C /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFACE8831CC83458008B24CD /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFADD33B24B67100005456DC /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFAE147F279275BE00C62683 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFB591B5178B812C00EA4005 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFC0E8BB1CDC601A008CAFAC /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFC5CFE62044AA23004CEB5E /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFCF834B1AF5B515008BB7E1 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD51B2B0F063B4A00471C02 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56E000996A03800BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56EBA0996A72600BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56EE60996A95700BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56F170996AAFA00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56F2F0996AB8A00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56F5B0996AEEE00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56F770996B01600BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56F980996B09400BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56FAF0996B10F00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56FC50996B18F00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD56FDB0996B20900BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570040996B43800BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5701B0996B4CC00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570320996B56D00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5704F0996B61600BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570650996B6A300BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5707B0996B72700BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570910996B80300BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570A70996B88E00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570BD0996B93000BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570D50996B9F800BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD570F60996BBBF00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5711F0996BE9300BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD571380996BF2E00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5714F0996C01700BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD571650996C0CE00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD571C10996D9DC00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD5722E0996E4A300BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD572790996EE8500BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD572B10996F99600BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD572CE0996FC0F00BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD57305099701C000BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD573690997411200BA26F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD704D228308724002A8EB0 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFD77E6B20C23F8600A3638D /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFDA659C178A52B70070D24B /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFE2A4650E2E904600ADB298 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFE30BF70E52B14700CCF4A5 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFE6A1920CDD7B2E002805BF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFE6A4280CDD7FAA002805BF /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFEC23DD1CB6EAE100DE138F /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFEE105D1D13406000AAC8F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFEE107C1D15EB0800AAC8F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFEE109B1D17E20B00AAC8F7 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFF2868D17860E830050A578 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFF3C9F617CCAC440028F240 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFF449F02275494400DB8EDB /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFF463420C4403E400EE6509 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFF463670C440AEF00EE6509 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               AFFAB32419158CE40020F021 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               CE3D01611B76F4C100993C75 /* Rez */ = {
-                       isa = PBXRezBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXRezBuildPhase section */
-
 /* Begin PBXShellScriptBuildPhase section */
                AF0BF6DE29456B2E000D9473 /* Run Update Info Plist */ = {
                        isa = PBXShellScriptBuildPhase;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "codesign -v --force --deep -o runtime --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework/Versions/A/Resources/Autoupdate.app\ncodesign -v --force -o runtime --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework/Versions/A\n";
+                       shellScript = "codesign -v --force --deep -o runtime --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework/Versions/B/Updater.app\ncodesign -v --force -o runtime --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework/Versions/B\n";
                        showEnvVarsInLog = 0;
                };
                AF1A176F0D6D6EE3008AF328 /* Run Update Info Plist */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                BUNDLE_IDENTIFIER = "org.jwz.${PROJECT_NAME:rfc1034identifier}.updater";
+                               CODE_SIGN_STYLE = Manual;
+                               COPY_PHASE_STRIP = NO;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(SRCROOT)",
                                "OTHER_CFLAGS[sdk=macosx*]" = "${OBJC_NO_GC_CFLAGS}";
                                PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
                                PRODUCT_NAME = "$(TARGET_NAME)";
+                               STRIP_INSTALLED_PRODUCT = NO;
                                WRAPPER_EXTENSION = app;
                        };
                        name = Debug;
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                BUNDLE_IDENTIFIER = "org.jwz.${PROJECT_NAME:rfc1034identifier}.updater";
+                               CODE_SIGN_STYLE = Manual;
+                               COPY_PHASE_STRIP = NO;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(SRCROOT)",
                                "OTHER_CFLAGS[sdk=macosx*]" = "${OBJC_NO_GC_CFLAGS}";
                                PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_IDENTIFIER)";
                                PRODUCT_NAME = "$(TARGET_NAME)";
+                               STRIP_INSTALLED_PRODUCT = NO;
                                WRAPPER_EXTENSION = app;
                        };
                        name = Release;
index a19bb40f4a5431eb4fe0fa60e0bb63ea6cd08d09..21949a56410c7e57b1a530dcb20d2ab5425496b2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
             isEnabled = "YES">
          </EnvironmentVariable>
       </EnvironmentVariables>
-      <AdditionalOptions>
-         <AdditionalOption
-            key = "NSZombieEnabled"
-            value = "YES"
-            isEnabled = "YES">
-         </AdditionalOption>
-         <AdditionalOption
-            key = "MallocScribble"
-            value = ""
-            isEnabled = "YES">
-         </AdditionalOption>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       displayScaleIsEnabled = "NO"
index b59c69e9d8f0e9b675b08ca91d4e9ab588775907..e77f00d4fac25016797db81bddbfcf695e8e7ded 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a8f0da5504a92c72ddaee2e685cdd2dc7757980a..aa3aa8e5d29dd73dbdef598b0e8ff1ca93e49626 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1c3ba8f37a13e44b349e92b17a59b37e4b4e0671..9ab4b300799646a3773fcbfcd0ff9455d55277af 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 0c3dde0111632bd17bac27e192d1ea90d87c353f..c3c4f6a099127a33d3f8ac03aa9a59309ac90d8b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 540a8a5694e0951150b2adf7335b03508d2cb924..4a41e31a45075ff6c11e16b3c28ece3b8339df55 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ea5eee01a2bd5fc19fec4fa54be7c8092c3bbe09..6f0277384bbe6dadfd06f7a3d6a0f953d7f5c07e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3e348554a4b8305894e57e4c010ba4750ed9dce2..5f14be9ee6a4ae9ed18b40afacb4c4c3cdbf19dd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1cbd93a151f1b2d031cd8d44ef22c5acaf768ae1..25d3fa2eab98e1c12ca979f82a6b371e6a5cac6e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index db6c403e8e4f23c1346ac100a5b5426b405970b0..a9d6b25ed75929b79db2b8bb9ab9d5b7d37ca205 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 203a703f855c6c95b28dcc05c85f834d763c97a9..fdd9da9dec38572c5b0a918b58d53a378bb75467 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index af1c9a9f273613a23fceeae4117c7c31c63bbf08..1fa61e6027bc5b3fd847d70298add489c0853b97 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3e5239bd0d607ff343f041501ca1c2d0877928e1..69de81cf96102ce52803fdad3a86e94743950d5e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 1d67f25e701992769fe246831e8e0772e1e7a066..cb88049e0b4e903a213a4b68a952a2579395a252 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index e679a1cd816c063c44bee1ef3b8f9fd8b3f8d1df..4cf80208c6f115b29564210694fd43bbea117b44 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 9bfd677de1790ee97f38652500fffc25491abb8b..ffc9723c1beb648844d93958df6f6fc7ed5ff1b3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4fe04f4b25e5a72ffa03217f0929b65a55402075..4cdf432d7dd0447afc77002d62d1921e801a2020 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 00fcf7c7463fe896b27a45799d7502dd67282889..fcee992dcc81538884045f5be4d2fbd52d196b64 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 074ae2983d8770babaaa4c1659185264bc7d4ccb..dfca4bf71c46e76b110df78abcb5c9b8c5e53d61 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 28dd04f499e120bacd06f650781ab7def32ce6d1..83d8165c41ebc7f5d4215ba074f5d5f0f6378711 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2ec23ad34e9092f8a2a6a55bce5e2e2545c9ffbb..cda2201728f915ffd90869a52e8493c409952b00 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 22ead1935c74b2f6414e2e9702edb66d306ed357..dc2c6f004a8c025a61303d2af2ad2ae96d55d2af 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 9c93591ca4ebada7548f1ff1946a33f901fd8805..0eccdec851e78a1493b9717cdea5e37cb39878e1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 31e04fc72f151249dd9d287ed3b97710132c3946..53839015db38e0984ae4eb4d935e619298447b98 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6c49f66818329b551d5c72bde071c0287510009b..9c0759a9db200cff619cc3f66efd2537bd7d2fdd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 13494b2790c0ef899149e06882ebdb0aa49c8a44..4a67b3641e13409577ecc0a97acfe24c2fc33071 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 07de77a92008f93493785f30989d0cb429409cc0..8a69c626de802ad6bee12eb32f03eaae80cdc042 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e200e3d1c09a5a8efcbd6116a8f3864a9d6a1810..7389ca8ce5ba9b30d74e2504bfac4f846b0faa5a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3530138254fc6a1a3c352f01b03a6fd688ff950f..c1109de0d70abd8eb3636d36dedffdde8048843e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index fc6d50ecf8ce8381538a7e11a1df6fee12f3ab88..ecfe35ee43f1246583de1922cf6e2bb15238d314 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index fab3ec3178e9021a5d627732ef328d1b3e5230e6..e460653f1d7ccf09839fa0b077ff074b65b548e5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 289ca9447a8d0f3a62aa6e2cea78c3c4f9a9f998..2acae77440cfa3c10d44ed0bc468c80e65132460 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f256e9a2a025737590eb9dc9f440ddb42d178914..7e2b80b6a6b253530d4499c506c44bdf19209005 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3267415a2bc77775fdc429eb83e27040e1ebbb84..f3abafa34046013c77359b856c5a46c7e91a964d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d957bc6231b125d87fea691b1a2c381a8e785bbc..d1c4769b70b2f96c41ff79362c2c20c232c63437 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e513f09c1c6b5e2b0a7a10baef9b847aefcc0a4d..e853227f67b1ceb9998da5dd16b1bfdf9b27e246 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 86367fc0a3b0ce90f83bc72dbc07b6d890b5593b..c60f915310ded3e934f727e860e135290e8fb407 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7011f9e9f51a156872de1977154c726872a5aa73..fa9356cb29d855de6eb358452bd9ad71bd0f3a77 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index c0a06193820c03259492c8a7e4c03eaa4e9025db..fb666b1f10bf99bc8b26d274251bd3ba2dfec970 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4b8162d897fbb82584ecf16ae130972221d4c4e7..236371dbdac851eb8498b28e8cc090b2c959236d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ae72958706326053805940cdef1c0c3e781c7b93..7338add85a0b4567c21fea7b6b3bec5a017ef57c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 095590dd3e0414abe046c1e8dbda8d4724d29244..b198bd5604df6e93754a5d6312e2ef401f2cf8eb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a4fb367061113f570bb056829556479d6e8dfc14..99810affff4fa00c73cc590c0ccec6c8ae8314c9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 860208a56d49b54d374d6b662bf1cbe6eeb755be..824a8f270cd88bb1d8a18e672b2540a5602a9d5f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b242e567e99bc64247be57ef378f8387090978e2..225f091c0db5e58a39d36db720d07b82046edb29 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 936681c7aa6ce4ca6c554d7d08322178b25318ca..ebf08e6d712ee1ed084d805f50572d642fb719f9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e11e2906383e64d85cf239133ba6bcd6313ec28e..137470c8d7c53b6e489f7bee3b1befac452d8453 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b3dcc04b4dc05d84f182a91b7f082c0d80fd5be6..1fc01408f077a4133250c93f9ae9f73cf57237fe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 78dd87b05e2b985048240d451a1d981f7b2e40e4..9e3a49d43dd89ada62a17c63ac8c4c32f5777aa6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6db077870472cf5d5129b41879ee9b2ecc183023..5561968d578f692a499161d0bd1054c0dbca9ece 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 039e89695c4cf5fd6c137d5d522aef859c59452a..0b839bcdc50387b3839bfa651aeb2e9fe5c8d3e0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index fe33fdec6e6aec0507161581a1ce916b7bf196d6..7397db62833830e93fe596fd8bbf3885603b3a8f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 26317cb2aeaae80f21c883cdd58adc786e1dc441..176f43ac1fbd829ebd4ac081574d4f75601e3205 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 62316f7d05757c70612ccd39c200543cddaae0c2..6188c4c8d4603fb1a6b4ab5080224387a13b1657 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index c2cc97902b440c7e9c3ce202149d26503caac237..2eb5be61cf0513233ee02672ae2545c7471440d6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index ab3508094dd32d043c412baa62676eb57743e009..bb6a7cddd732bec0d530be7dccdd48dc3d8143b8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f469e86cca81ac89b10ebdff9ddbb74a75fdedfc..4ef62f5fba8032c9d3bfc8982c1ddf4f4add7d53 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index ed3b628922202e97963b9646aa2bb23c00effe50..050cf77f5d869619c462f007ff544699b8e83c0f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index da70b20eeb427406aff70b5447b82bc2870157c7..6670c3328a2760e649f66550e1419e5f2a5a28bb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ae577290ead3ef6f5155721f50faf9ade046dbd8..4b133f553cd449839cfd6d30a8b96a0e31f79d97 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.7">
    <BuildAction
       parallelizeBuildables = "YES"
index 27774fc626561b3f8306c2593169ab86e850ec31..adbc160bba6f5458c4e0e2c166b55fc4cf13cb89 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ae4635f7f2819816f0e4ff5a64377e94574142ea..c488cd3fce14120243a9a39594099b908edadea1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a4923f4a8054111492842c6720435920093f3436..f4f4a081824285987357dfc691ed13b9770dd892 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index be7b5ccd7a7cf3ebe993a30c657be675ffcbf89a..24bb9cf1f68537e2246515db3c058eb72dd709fd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d8bda27ed451b46ea74061bd7f47d67f42621449..15e2a05653d5ee2cd745759f702e3f00f5ae8ca3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index c590f6ceda261e288f5f2774b9719f892f5fe47b..1a91b10dc351ce1d224fa44b523bc03d5ee104ea 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index e77e6a66c1b70be703fcaa7584d6f23ad2000ba7..17e18be84c293afc2df6ee5ce2c64d59f1a251b9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~1~ b/OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~1~
deleted file mode 100644 (file)
index 1afd5ac..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1430"
-   version = "1.8">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <PreActions>
-         <ExecutionAction
-            ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-            <ActionContent
-               title = "Run Script"
-               scriptText = "">
-            </ActionContent>
-         </ExecutionAction>
-      </PreActions>
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "AF47704C099D4385001F091E"
-               BuildableName = "Deluxe.saver"
-               BlueprintName = "Deluxe"
-               ReferencedContainer = "container:xscreensaver.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      displayScaleIsEnabled = "NO"
-      displayScale = "1.00"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "AF9771D60989DC4A001F8B92"
-            BuildableName = "SaverTester.app"
-            BlueprintName = "SaverTester"
-            ReferencedContainer = "container:xscreensaver.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-      <EnvironmentVariables>
-         <EnvironmentVariable
-            key = "SELECTED_SAVER"
-            value = "Deluxe"
-            isEnabled = "YES">
-         </EnvironmentVariable>
-      </EnvironmentVariables>
-   </LaunchAction>
-   <ProfileAction
-      displayScaleIsEnabled = "NO"
-      displayScale = "1.00"
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "AF9771D60989DC4A001F8B92"
-            BuildableName = "SaverTester.app"
-            BlueprintName = "SaverTester"
-            ReferencedContainer = "container:xscreensaver.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git a/OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~2~ b/OSX/xscreensaver.xcodeproj/xcshareddata/xcschemes/Deluxe.xcscheme.~2~
deleted file mode 100644 (file)
index 1afd5ac..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1430"
-   version = "1.8">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <PreActions>
-         <ExecutionAction
-            ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-            <ActionContent
-               title = "Run Script"
-               scriptText = "">
-            </ActionContent>
-         </ExecutionAction>
-      </PreActions>
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "AF47704C099D4385001F091E"
-               BuildableName = "Deluxe.saver"
-               BlueprintName = "Deluxe"
-               ReferencedContainer = "container:xscreensaver.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      displayScaleIsEnabled = "NO"
-      displayScale = "1.00"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "AF9771D60989DC4A001F8B92"
-            BuildableName = "SaverTester.app"
-            BlueprintName = "SaverTester"
-            ReferencedContainer = "container:xscreensaver.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-      <EnvironmentVariables>
-         <EnvironmentVariable
-            key = "SELECTED_SAVER"
-            value = "Deluxe"
-            isEnabled = "YES">
-         </EnvironmentVariable>
-      </EnvironmentVariables>
-   </LaunchAction>
-   <ProfileAction
-      displayScaleIsEnabled = "NO"
-      displayScale = "1.00"
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "AF9771D60989DC4A001F8B92"
-            BuildableName = "SaverTester.app"
-            BlueprintName = "SaverTester"
-            ReferencedContainer = "container:xscreensaver.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
index d9f7587765e9c34c76d55eea858b3a1923d0aa7c..4627ce0c23a486fbace2c1447c58f5c26e634a76 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1053eb1b1c287e37e8e33ea3f0bbfb0bec6b1ab8..85c2317cfcdfb668c9559c0ad570a9a92b6d2303 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 484a4e7e1b0af48032a7046ca0cfec1d9845157d..a847c8c5cdf7ffc4aeb0937b8d093c97d3ad5260 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b0d0e3f28bd81e84296cf66af3bcedbbc77c85b8..ede0489aac7f702315f881cc9e8083819d1bad29 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 9578ce3668299fb5739160a89bd172ec98c305a0..8a702a2f7cb0c24d528a6641d3eae4438965532f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index c14b45ce9eaffd1b0c5c483bba313980894d59a5..c321061503a08674e2dcfd91b10bd95eee4eb493 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 2aadaeed6a32f4e8b5104e8bb4ed3385fa82baa3..0db594b303e13be19c4551dce819dc79fe4c78f6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 12cd0e26aa560baa70346ab20f8087a9856a5151..29893985eb52ebd5f2a448b4fa91045ed0e3a667 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 07021b8290dd8158f6cc606def55e57808dcb488..64ba0eec950c6b4613e44c47d87ca4f60854bb25 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 20cbbf8b44070d6e182b836de685bd44a6cdd271..111a1fa534071775c6b6669c7271f2238ce00079 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 50d7bf15d4b0448fda4fddd75f143fb2fa240712..95cc763186d0d82ca753964c59f911ac9cfe5a05 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 70adfe495487035e4561e177751055b080c8f888..c840c5dd893e9a19583990f9c20d8e2bf2314347 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a8340d372bceadfd634ba7f8a3582cbf78a141f2..feb47586b27475fc0bf68830b0d43ea72888f511 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index c006e886082ddab641be9acb06138f81042d132a..73169d4f66005796378ca0d1bc07ce65724f6cca 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 3dba33dda5506b8c5844bd0251909b2592c76712..d34491215e86601a2447ddd17057c3229611b823 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 76865b8f00d5215929e65c90ea57b0f68ddcc04c..fb27800624537afbbe2e3da250812ebc6db47b33 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 22eff3a308cc698147cc5d11a8fbea8804fe0968..ed250520cb404b262c2cd63d8d39d7fed48c9f15 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4dc8d7c328e4b61802595343edd2246d6098facc..8ca1bd7a4ac65e0602ef61f782fa04c01052f0c8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index fa2db320b165691de86ddd59b70515e0a873b1df..78bc7f33b7b47cc5c647f061568cc88e7e70d4fc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 612d3b700db2219cbb7fc0ffadd768bc45765e52..c267fb47363b62f0d57e7c16896077ceb414dc69 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5db2ce36a8dd4d2e275e9df7a23f5b7591b62070..d4e43ab98dcf9fcfe285c5fc505eab5eebba7f6a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ca478b61a584df6a88a8e6f87a9cbf8a56e23c49..0e604d8f7d8ff76cb2b58c62a3056afdacaafd48 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7d480f23481b4dd19d4e8a33e04c85f2bf7b2676..0e9ff6df2c4d08fdf663a7e856a3bfaad88f10bd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6559af68dcca198af5cf22e0a51ea9c62210f709..153090058d183f770e0a896cc896262e13f99ddd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 839bb3c87c45fe40e106ca90300708f87d3a186f..d92307b74d4d29330cdeb357ba0f7eb5ab064a49 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 71e6bfa6b44cd6b4b302612593fabb660a941ded..847c4a04fbb9559128bf562b7b192bc83f0603f3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a1e7e8018a2e48409affb9ebcba752bdeae7e5db..87a625ff68609e55140924491a8d0e25c98bf9e5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4b21da872fe3ec1e4bb05824941fe2de1bef67e0..6870957661964b5e658211619304e9d8e8b5cf65 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 85f3bf7c81abeef17e647fe1e9b4b571bd63785f..651c35848e2d77988ef54d713955523c1f89d946 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 98e95bed2919f90ac897d7a722ab2fbcee2afdf0..f005ecf94aaae2b75770281699496c45ced358b3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3ed4ce7db22e5690ec1b04a87282456f10b08158..73d1ac90a36343dc8279335745a0507b16a497ad 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d6ba8bc8ee6913cbddef639a5879cea3f6ae2f59..ee9d024ebc97a641c75716b0ffa469fd5d80bc62 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index cdce6a836920f6f6e4e17d2b8ffa7f50769ebb65..dc366aac9e25843316763a2f53be961e2c8a3bcc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 488f673e054251d1b0f0af265504a60853387425..8a0b0c0261304c3445eeb235dc2f5ca50d57e2b1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index cd3d02589703e195069242bcb2c19b95c5836089..cc833ab02fff61558da9202345c66c942bfccfbf 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 04cbd0710ebbc89db8fe6f299a5ce30746083689..b0f000876079df3eae1c4ca5f7df1ddac2ea7b4b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index feef90ee6b158ed7b423e8e3baa4b7264d767cf0..165a893e29d5ca59b5ef7d37723f4cf1e21315ee 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1e5c32bac5dfdb9194e2fd26c9e7e821b70298ea..2282117e0febd6d00ba08cff2480e6a1b7752703 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 474a8fedcfda5276ac08d3329a5088fcc9d3bcc6..58c6ba019fb1555ec2b058e2a75c62d6e4e1cdd8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 04cde34d94f479268694a55fe953fb3a58ceda05..a323b706718a3b7005c13e5cece2bef5c43868d6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 37bd09f29f65f0730ca7fce5a0d8747f2ad9f593..7972f38a3de35493a004833978e129f92d07a154 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 59e8cd4d0e732ecfaadc9af2d289319aa1eb3f02..6278a54459bf8ef5fc5b5ea1c1de14c8cd596f24 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2050eb184e2356dcfbce462a3c482ca06e3c1d22..1dac26204a90c2f8543cc38e808e4182c8efd2a0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 404d5f878a67ebc27341654e8e5b7ac624f1cced..73e994870e9b65986598f65b9c834de751930510 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 37ce5cbd34bb30e1f505f16c2c25d106c6b7a306..8ff0314714c23e080ad725c76f72a98a96f08a82 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d4e49604c04a099c01c24a22ca3cfeecd16cc9ac..e59ca004310782ce3d0b103b278805158eab7bc5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index adb00cc982cec63bf471ddbd4927b5f5363dded3..ca0f293ae9ff9d8abe91f138439bef2ee787026e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index d2dbfdcbf5bd0c28787462fc7349f511ef729260..abab3cf44cbb63874cb76bbb7840230ae4e87d33 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index adcd6afd2b46a027496a1270cb2b963a88b3166d..d12228133328384619b2a2a0df11549bb5432350 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3fb8c95616cdd321b09a7429a1a4d4a21b0a31dc..c931e5e8d1a519ced84c047bc94816c827ce538b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 0204f7b420af2e61597ca07a7666ddebd18bbcf2..3cb514f4ac581a1cdb6f0461e719ee147cfa2d32 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ce02f05b753d31be9ffe02022c9d69c18df02a1f..13746e4c67515f4ce239dcb8e6b2951cd5fd4ee1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5cee1254d70b36e530080bade77190eadae00fd0..8736dc6a99e87789d2faf10a8f89a738202d1553 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 6d77c0735c86780ff05dc3b2895be9fba471fe23..62c911d0d78bdd2291ee54924b6e1643928fefbc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 49bcc91057f8c71e1691f69dded2edee036d46f4..10509960da30a64fffd4bc38b66270bda5817d60 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index cf1f74d4ba298db22bfd789059c858c4ac22240a..739c37521cfe507ee3dcba7e3738d578efd64dbd 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index be5b09428b54a7f375b8c1ba936d13a46328ebce..09d1bf78abbb441f6fac46e199ca6734d3150a20 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 43c79d3d539ed9fc0e2b489dfe3717eabb7af6ca..b54c755aac8d2419d1b4b8d2a8f0e612296f563f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index ec99dfb0b1e16523b16c54de603b4b5225f9eb02..681f64d79b66a3cdb74ccf7206fba544061a888f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 8919f4583dd9de1e1e61332e3e36b5584051b675..d51af35f458d97eced1cf597299ece41c0509a4a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 7ed2aa5a5d7d27f684516ea3f007dcab9d17e21f..ac3643079cd8599c6111b1bc0acd19b762b208b3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 3d1f225b59c56f2ce41998b63a08ddfb026469a8..558e68a4b5fbf0962406ac380cd89d8b2bb5707f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index b4e41a83519037aca199a63b1e070cba25eaeb7a..a0e2ab2a279e597e039503ed415f0991f6e79b3c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f5e67fb2c3bf79278b7cb8cf04008126abd35031..c854a270c7045f9281a11ece6a00ae854afec072 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 8af2e0a43e8626228a3de5516506ff6ce870fbb2..514ac239bc35f6c5ef7814c5eac4d7059d4a2588 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 749d794b7a9b79c537cacab0074a51fd40cefb82..cd0f5999936d922d128c141b770aec6afe5dd1c5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1142ce340d3ba7155a1c6c2e4cf8b498ecfae209..4b1741eb0b1a96c8ea02b9987c97cd489bbd051a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4a00fc9813f75d4e14ba7bc1ede00a7714d139fc..2bd1a8944664ab7a7028240368527b4be2b02f49 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index af6c7c1097503eae0279712e0fc7b9e73f63691d..6509481f4f3278d10a77531164d160cedf3db7a9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 41d536f4149cc8cca023f3afea4bc8a33df91ccb..a8a62fd13671344279d6fefe308915961a1aeecc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ad88e98af48d099ecf19c19d4cc65b7a0a380401..a338e684bacfa69d6dd4d3813fa282ac8f2b9c48 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f92ee422af2eff6fbf6d13137bb23191359368a9..e495ac870ea64299315c1ef6f912200aea27a536 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 00ccbb9939f72d08287cb4a0cf81d9f7a6c692a2..857eee39598cd8819f5b762a09969523025c576c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 094d25ca49b636cf269e6681c96efae2ad20706f..cd832e2c13b4195f67fc1deb167bc0e2f52a37f3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d24dc29f5870bd1f24270b56edeabae1af9f45df..3a8c919c1e54628f75c3732e3a622937f566b5ce 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f8653e5dd4ae52e93a46b875e4a1906a70f594cf..448f0222a45f9d6b5b042fc41961dd650895e932 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5be014b4c4729adb5c463b2ba5063ba65d7b1bf5..e86012cb56639fd4e5a6619738721c2d12346081 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3ed3b458080e937aa0293d02d5c043861decd0fa..ee00d8ee7613874bc23c80449e2aa993ac0f7fef 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3f45fff6d9a6892b9f42269eff45c90f4a6fe05c..694a78897735d9f92d6a79506a1a37d75f564325 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 616887f41d8a52c2d7dd492b046693a5990ed2a7..cec32c12c1cc2d6aaa69c7ac25730c356f52f933 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 668723acdf88d1b26c0719fb29a46b6f840c475a..d9f8fe011ea0877dd93f9fb9516a926babbb25a0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 88ec7a4165251915dd1d698f0de90f43f29f23e0..c44a430867c42fef68c03ba6066aa22f6fe703b9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ad544563daad4a41553529397c604f790add2f88..16b598158f52a847573c2e4d9a1678b381ee1402 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 58138940d7733d7234db41fcc8f4dd9d0fe1b991..91f936f32f7c4bd1f7b069bf81c2c9439c5b0b39 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f41d09cbd5afe86a3bd4800cf94a53f578eb5632..5bff5964e0d45a71433e549bed373c65decc30ee 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 006ad34baa4e658d03100a3877bbb0d6265ee41f..19dbba0f0a0be623d0585f587e1429ce1689bf94 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 913d675d991435915970ae141b980eec9ee7e1a1..212fdd042ff620ecbaa8dee7f4011114c421ec7b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 62993eaf25febb3e109e42ffe0977a4d5f2f4936..ac42d955770e60ebb47d1da327b6151be7532e0c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6efbce63a6a43ff351b44829f9ba1290dc8f0497..a24af089929eea27006cab36a6ef0a57db04f5ce 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4a1945190b52a3213b8d8b01115377d661fbf2cf..e20234e22068c28774095f723be889bcc1c81e08 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index adf3bf0bd998bdd8c58c560503a11875863909e9..7e69adc29834f179b4968797a4e10d201a7db101 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f6ce55349767bdf44e537ac856026def4ee42828..ef4eb87fe462ea8ee2b5e0757d97c067682856c7 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index be3f887d765959509f5ba844cd3eb3b2ad353380..9b9ef9249edbcd2abf30c854b5ef98cccf7d4849 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ed36d800ae321afe288057d3105892fa29791762..876388015f9a30fb9b58ee17215914dc57faa578 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 132822d4df6ab95f8e6f8baeac3374c138682baa..b7a6b398b7561e85ac6c623fda99cdcabe7b1bae 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index d35a4ecb83ef72866d3cf73cd19e84cf73b82e8f..b7886c9a73f6370f30a5dd5a72435f49bca651f5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index eec579f7dfd7bd340efec030f8b659697f9ab4b9..c7f7044bb5093c05ddff14eef13b48b952256b3c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 0070e1881b7479cfe5d01fe0cbb07a6da086ffd6..68d448e0f355ff2153eb34973dc1c753d1b200a5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 840f5331079064f0065408387a4b6eabe4ecd4e6..ff3e49fc1b6164389d8aa18e1c1189c65fab6e6c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 8c1fb330308fb0a495ffae2e9b8c2aa7572bd43e..939299504f8f0a03a6696e6c8d28c8e8e5d4e186 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e20417ccc27e4cede6d32098aca8db6ddedc8f6d..adcf4111241dbafeacfad2c82a6a1bf3b60a0ffe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 864f4c1ebd6ad3a69783cf7636f0c3de49654422..57d8f0707d893c8d649ad19505eaa1a6a2941bcc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b67806d86589db2b033bdace1a4ad3716daeaf8f..2ca3afbbc87804b3d7516acc7a116477a98b7195 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 95695fdbcfafb1888033aef5af400ea0f7699c77..30d7d42160514070d37df475f388f79b6fa7a143 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 413b3d4ed88647f57244985f9a5fdf31344c9e08..506e2881f0e3ead894898a03850c7f1ddf9ac0f0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 26155da85477319e432d7d2a980c56a941679cee..c198d5789fdf3140e82cce450e49caa8e845c5e9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 862b5b78756da9f5e12e16f100baf430faefddff..bb9beb809d34660614e47b38f2b569c5c30e2edb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5ddbb31c838b3234d1afd85418e558c0601c1d01..f563598798c32f63d05254d8a87cb0f6f6a4a1a0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 8b56055f60f8baadb7695589cd11f897b66b3072..28f50a4a34439c7dfddd7de722977b2399689fca 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d3e5bdd383213f32b061a86d939bcd85c32e2de0..443e6aa5990183e006751e0ab0985741fab1daeb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 1f72a98a1c5ef6513cfee8bf1de7977ea6612e24..32bb070693b4dc25680e953c2861bfb567c6f6ab 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2c8291089f6826acd648e344310ca803035c0445..736a7bdf675b72682406e427eeee68cd956fa193 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7ed61cbdc1ec59ec72dca3bb1f172c8477fed2fe..e871fc2306f32c011ec910cde5974b513981320c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 1605da4d42563863b99a21343e862f4ce8589d47..54af332f03be54a76616ba75b04e5202e229fa76 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b833caf478a9f2df40a512684784a833495d28da..28c692629c05b1cf7a35815a80c9e5fa392ad482 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f1a0cac5636afa453552f89d5220c09bb1fd2190..873afada3b0a9825cec8824b6c472e659fc56749 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.7">
    <BuildAction
       parallelizeBuildables = "YES"
index 3d86e0c052ae9cf10c5727ab4c9b2d2dcf5923a6..a0d533dabdf46fdd223a1403e7ca77265d1e45b0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3f545529df03366dbf9b40a62d76e8e148c4d4e5..498e643051b580ecbaadd4eee563baf5654888e2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index f7d855144c44f485c5d898da708d7ec529613f28..aa8271b3fc41f362bad196a11515c5e3db3360bb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index efe236857541fe66f8567d9610a93dbdf1a2eb88..65e6f2be78ba4841bf7955e1a4674753b9859fd2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7de2fe9a03bdd98dab15f57d3bf14fb7fa8b67eb..72668853cdc568945bdf1283c6689052083eced8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b27f33f55ff68714230096b62fa88dd31548ba17..53b30392b7bcc612b1b6628a13cb6ee760dd2cb1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 82cf38740dfb90a80913e37c71bcf86e23b64333..d3e160e5c50467b2ee813920be155919a6bb0ed3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 999986a4a7fc954beebf65facebe18ed41817485..d3a7504f1f86186554a105a3769583c6d94bd9ad 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 08465aa403124763c623bc05c1e96b84d8d5d87a..ef6dad2bdd99ca670c2a80f63d312fc944b2af9c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6f4c9d2deecb934702829de2a145691243dc6e68..75e8694e3678305ec5d51747cd523dcb4330e525 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7e8ab1dddd85b0b3cab6c804f69bb0cd6007cfcc..965edf71d0db69276cfe759759be225107f28e0a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 395246cbf076fe5c73e68b3396bb0d8aff133f45..e9c1e0ea2d3ef2321bffb5b46ccbf857cc8e7fab 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 726d3cdf79aa61fd360f94a51906cddf3572989a..cd9ae25e922e690cc2359c8ffa30877cdf8289c1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 3f4db206c7f4387055f3aac0e9ca137d2bebe423..9d8348ffb90cd57d5943465292a9f4138b5d1c67 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 48e02a9211f0a8145a01033a951c5edb8328c128..9c97a2a916b3294c29bcbec477d0f80b913c5616 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "NO"
index b5e600fc5da1c64d369c9aaadacc9c3d6f908077..0446985b166de5de7f5dfa00f46931dd25ffb92a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7a496c1c5b1ff34f82bae3c445918b4c6acea9f6..390b0282a2b9cd8593ff8924d90855225fd1b8a9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4a07b544e5c705625bbfa876ab0b9c532245a82a..533dd30f2906bbb5ccb12cb88bd68167ca829bdb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 3d71020541070c5b796e26e03145850b4d408243..af560802d0480826a4b424caa3eb94ec12d6962f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 0517c227eb5e80ac2b9589f7e0bda71b9cbd88e3..967c6d387ecbfb85679a7a43b838cb11faa1c427 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 269b40f292d403e412a6b3e2e25c685318e4b944..07b270d5a055a096141a808d0a34d740dbc7bbdf 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 559d13616c0fc11fa1bd47233c99c6db32ae119e..96345ab949e4a8baec4ef3e87f86bc313577ed96 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 18c00b9eced4e8294af832f62c5b96e30a7e6d4b..191acd597dfd9fe3d43d51e974e0a365e3428fa8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 876b4608dbc3fbf05f2a4a9855be2c27b0d390c3..1fcf82e5b2c3d47e9413a4e36fbdc31383d70129 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 0797607dc978649ca52b010a02d3deb49576edc8..97f0809ec2d28e988f3254c9a36c22a172324748 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4808ae3a3c66759b1d6cccf1fdc1cd25460c4c5c..007b4e86c8bfaa891060152b7adffc1fbc97df3d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 703f58549646cd528df9af92d334499709a4ed7f..ec9c11d927e3a381195bcd523699ed470c863d3b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 61c50e2553d333e3e85541bf39664b3046ebfeb3..ee3a822a99b864f382f334f0f72c8e1088f87ecb 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 8408e9524cf316702ce2323886355f513bc405a4..9911df232ec351b40973fa0b0007840c836a3d1b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2b18b3511f57ac9867f2a80e193d09aa05644a60..59bfacbc0cc18d89b04f648bb592e1f0e2d16782 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 009072f941cc3d66a0c456405afa22f351aa702c..1ee00511f6e096a7e0f226921e2804da691ee4e6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index a084b36bed823834c32f4a88779598e99a6c695e..672a42a911c68e687972b91e02cd5912981b9329 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 12ec4bc4453bfd607b6cae86c630718878d760e4..d2c52dfd11daf34881a46006b3d4a42589585d57 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e6b782c76fe1b315de6758e2781f42c884fb4ba5..f5812a8bbdd5a39683e0798960750a92456ba026 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4d1562a76ac87a27c65249a0b251822b77da751f..79aa92af9c908f7aa2ef9cc2f47f0d5fedc45f9f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index be69a36e31f30b15db26835fd127d700212a04c1..b51e45f1da12196f470db5ef91a8c1c13f3941fe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 326641f1f65b8ec5ebc40e760cbdcfaa5c1ebab2..29983b5f8394a44ae414ab6195e89b4a907b34f9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 64bb5afdd98ebfdc90eef01f87dbe481cd5490f8..06ef9d9a7d052a5700f6a9abc320dc506c3b999d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 8189043be43729b1cebc623a643011ef43e55e41..656e67cfd78344e8c702e6e2080ae957458539fe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 40b6179a34fbc769fa1673b31b820d66d7f33d99..a54299e6d758e46891b983bdf8a5d1a06c19d165 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b67b4a36faef75e6aa1379ee7a9d99271f24425a..a08b0d41fac7e177436952e10cbf7b5df346824a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b770bfe2d994feb08838931c2a637c485b21de09..5e66c59023ad99e76fd71837e330fc83a7824788 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 18dd30084b9daa16eda2a8426f656e2fad8bc916..83cf83d7d5944c3b9b87dd1edf585bccbb9a25fe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.7">
    <BuildAction
       parallelizeBuildables = "YES"
index e6bbb66fd2a9f64ac370661c1333be74165223ca..ba67dbc316b7b85da34990ee6eb379a564ab1d51 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4e1bf0c9ab1992157ebac1c9ddb967443eea9be1..2b94827ccdb1968e185f65d3f7b07be18e91fc9e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index cacddf876e14e8eee47b795ab22e5c98b770f67b..9b9abee9d994d803ddcb6eed11b1855885b150b4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b05f7da18b70e91856d2e15a42c8cddbad85a448..aa18cb31bee577680cb494d0c16f9cc9790a2e20 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e91e5e48169ecab764585be37cfacebcb6240ad3..53809e77b77cd71dbf827ea58afb64c584ebb6e2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a28c7826bc88bddb39ac3625235e4384e0690566..b624ed7a37d54f4d4942f136fd30c868eea9786c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 60aae1caba0f8e1cf1d925a73a41092f229f5e0b..6cf01a3ee479d61da6609082640b534ce5b6c3b9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 01e6691b3c83869b0e7836b0d703d7fee5055bca..1d769c47a36be014b13d38774d196e1b28d44b93 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 96130847b06a0cae88d5a15f42d14441eb7d37d7..5b9a97d16b78f277d5803efffc4f3bd8df553d43 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 01b62bbbc2d58757ad32520517255768fa265ee0..fd611d1a8f033b7139fce6bb1f691547e8d99187 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 534603f6f93984d4c29ff9e72ce1dd0538e859e2..6fd430c51625ac937785b9f8d0be9624d9d3e4f0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 036848425c2f9c5a9216908e051867fb8984ef00..54a5a1e87d9204efa04296857920a1f5bf6c7ce8 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 577deae283090f02665f981fe66012d9c2041ff3..d5a2a4d7a491345d2e9b897bd24fb995872edb04 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 4bdec1243fe5b756b6504e78dcc9bf3a63f85cad..f2738e6736eaa5a245588126b0aa2157c019be9d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b211ec867f91bf36db6c794d0f951a4ef4302a20..e33773126d3b220ff1fa4f930baa19d4f799ca99 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 48ab78877a99f4b4db5f4bd1b181f001a2a08ed0..27a9fe9003194ab0bd5af3ef799fe38ed282712d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e5e359a7ac0b69d938b1a1aba6ed33cb0106e875..77118f357c12658423f9c894a53b99e9433854f6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index d3bf3f88d3a0db713b8898a2bc7e80d05b3bc590..b47e875db53e2304243e147b51ccbf43ff6fc260 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ab55c0ff22b8752613c36b4cc8813e87913294ef..a9e6374c8c7d9b58cd1ce42b34e6b31f4a65f72e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e97e3dbc7bdfdcce50944391fef0a7af2d5feca7..f220d32793e9162909e091c2b4311e47f2c027ab 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6d20c462a9a41bf926a0e9766b2d8d561dc17a72..303ed19646180b7baee9def720d3a3bfbc512156 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 10f2cc841340aa6f5d78a1aee3cecae782ba9109..0be38b3e7d41b38a9a9fc4a5895b2b942a00833f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 461d177b0c0f3fa9b774a43d8aa3b1c854457c34..35f7506d9e0bcd150350dad86bbdd45d40c9d586 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 7c96b99150cab7823c1e3300efde374368035651..0348eeb9b5d0c3933b8c1ff2ec360b3e455bf242 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 6ffa6270966fddd9a521c30a291e2b5965a98ff9..66713ec36f3958589683b545cca6ee8e20d3e994 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2fa989f67b82b2bfb95eabe034ae535a1b0abc6d..d0c89b44f44f2617e77e00752d8bdf4571e1e992 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 208c4a237525e3e640812d412baa3b7923919411..d614a42efe32e49d4780ee3efdf5b611e9f9d3d2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 4a449a62bcbac080d87bb222de2c2ccccf125686..03a5e7196d81bd5ebc4db381a960d544575ad661 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 94f67b4348d3734b602a5cd452e9b9cdb7ae0812..8279409913e428973a00ae18c3b61b0a8d17196d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 44f3dc74ce1adc646fdfdcfc698686d88c1b387a..d75ad2f99d887160baa74f1b169c975f7be57dc9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ee9625ccc426c1aad5341d08f8e8668b9d6d4be9..e82d873b42252b5be959d16b0d4e1819abc98ac6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index a3c5a576033b5fe4454df814a9456229f0c5e6a2..866d567047420643a7a0bc771d8d1472ba9bbb80 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index fa0e7e32417cd6283dceeeabee60170295511746..5e18f5662e5262ed1075556ae105867a7cc5104d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index be7c09aa82fb5156186329b80e379105748090db..c89c5554a3187f3340438700587e46cb74ae47a4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ce24b8983b34e8e3bbd7c24bde1a568ca70a710c..c4930070c82f89ceccbb345235696b424fadd8a3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ca153f084fbf8f59adb9fe33e9cd52c59e7985a2..afa5b11090385ceb617e24999e7907532a494870 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 9daf0c22b3434507a677bcee292f3cea477c720c..c7db5b0ac80b3c5c0fc8a95f23adb2b2efca9003 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 77c6c58112448a7866f13e513b78315b47bfe464..621a52916fa37bd1406b761a6770d2f31823fafe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 6d416b56bac5bfe0ca13a1fc597ef5154eaa2f87..fcf28265db8a20034b7ac2f441e7d6a2325542d9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 420ee1f4cdf7d29277852935d39fb2baebd5dd21..43fc618677159a9e2551a279758aee0d19093258 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 83155b8fcef50f54c4888add43427a1dfcdf3703..09b0a57e538b6618c253052b283fcd8568238d3a 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index e3081c641b31a9495788583c29485f60add8dc94..7234a599f7b4dd2c27a828c4a83bb539ac6e9fbe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 2ef391506b4c1886da97675ae0ff91af2b598c64..89efbd00790487050487c85cc36ffe1456f610ac 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 22072efd7e92cb8722b39bd7db353e6796625bca..c04a132969bc97ce8ec25e8d3170a1c6bb49aaca 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index ed02dc3bc140d8f1577c6fc213c3ea768865f09c..6824f512e6f4687b14f20a5f2d97cbd0be77aba5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 73a90dc24f52ef04bcc13a41fdc01e29520f7818..32276cedf964c97bc7d3e3c516921985f95e9033 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index bb744971bf96065c5f97969b66b91a829bcb6850..532a7ab6e344d12ede61e00ca8121c348408baad 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 0b59560db0ec7b91718ac26ae33f169cecf79f85..1400d44ae0cdadec9ddcf4c32a1775e6811b34d0 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 6e81f78d68ff2d7be4614174e754c8dd2d5fb742..b96d40074309256ed83a8660df5b7a21d82946e2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 833fa5ed9da790b7d708f52841a37ebb584ea297..5daf7c1939b2e29b818c17a9080f94e0e6bfed72 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b7eedef90a2b8495161f7bf3918437a781b00803..90017a5f8b1b5d0921b16b091fcb193471459268 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f5f162368465bd92f64950869adfdd3d693600a1..64f8cc1816b5c6020cde33977975cca3965598d2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 36868e6fd14ad34760c4fc8235156382c16ae351..944401d5d3bf7e04e93dc78a7fd569755ffe4a44 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index f4bf7b284ce41438a6b55502c632ab932d8c09d9..4bb7a231f0e15bc75313a72e50701c0fa87f42d3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index aafe273280027793876b9ee80adf256cf22d670c..de27cfe22432119ce8cbe7cd378f46e1653a0b3e 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5e3fad1d372b3f0c8aeebdcdd87a28350e0e4b3b..840a1cd730fbbfb64739d4ad4231906b12fe7882 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index b7156360e2b7288c781e196a56dee0f199657963..ed2c0854af1df8d91318138aef4a88f7a7df6576 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index ee1458efbe289144cb35623968cf9b5e0399d7a7..4b950c03aac34f8109ed0d7c40003fef631d0f45 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index ee1d0c4fd32d5239bc02ae634843f3d1997a5a4e..a7b97b18804b637a566f944ccebe67c7714ad8a3 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 00ac8a9a313bd6b914a1a88fda607b9e20db2d83..bd54c35e2c0b5851f32c4977e08496c5b1bc03be 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 5703b60ba7bea536e6d378e1c5f416ed7aee67cf..ff9686b69522ea8a7a0bebeea82ca5895b9e8b40 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 9a3e0f93046f594c70f4fd50e35e31b502a1acf4..028f2915fd83facfd5a914cac5b6d45ae6e718b6 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index 72dd397cc4fbeb7b73d0ab0b46b3a9fc00a46018..0e18d16338468320e7d5dd324a1b918b1759dee2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
index f29d51ddae21e743f1fdeca2667937b2b785f756..00500c128eee93083d18077fca1198b9a66011ea 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 95441f3067b07736f960d1f03636277e7e5079bc..4fc27860a9a4537b1add4ea7bdbf3741f723f7e1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index e795d134d83273e7b6e94299e7bea910d3b402ab..4fd6aa52a05ce2313a7b515da9e413dfdbcde905 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
index 87fe06e0c2a22f40dc441f0b8bebc3eedae13786..2f62f5b47faaa97d977282555a471bb996a83eb5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1430"
+   LastUpgradeVersion = "1500"
    version = "1.8">
    <BuildAction
       parallelizeBuildables = "YES"
diff --git a/README b/README
index e0a98d41d5179ed5fd5f7ac32c3b1db8bc239d9d..4262d5688c9d168b871da9df11d47ee9f6a8b481 100644 (file)
--- a/README
+++ b/README
@@ -69,6 +69,11 @@ Interested in writing a new screen saver?
 Version History
 ===============================================================================
 
+6.08   * macOS: Worked around a macOS 14.0 bug where savers would continue
+          running invisibly in the background after un-blanking.
+       * macOS: Upgraded Sparkle (the "Check for Updates" library) for
+         macOS 14.0 compatibility.
+
 6.07   * New hacks, `droste', `skulloop', `papercube' and `cubocteversion'.
        * `xscreensaver-settings' was sometimes turning off the DPMS checkbox.
        * Log pid of caller of `deactivate' command, to give a hint about who
index fd78ab6dde0216b3a5ebebd0c4ad850c35a6075b..fefa97cd2958e2ae0704acb3c7b6dd7029b892a1 100644 (file)
@@ -4,8 +4,8 @@
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
-!                              version 6.07
-!                              29-Aug-2023
+!                              version 6.08
+!                              10-Oct-2023
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at https://www.jwz.org/xscreensaver/
index 31daf2dce9f9010d676dc427f402ac780ee108b3..2e174b24654639bd136b9175401b96336d565913 100644 (file)
  *
  *     Apparently makes no attempt to inhibit the screen saver.
  *
+ *     Update, Sep 2023: rumor has it that this works with some versions.
+ *     I have not verified this:
+ *
+ *       ~/.mplayer/config:
+ *       heartbeat-cmd="xscreensaver-command -deactivate >&- 2>&- &"
+ *
  *
  *****************************************************************************
  *
  *
  *****************************************************************************
  *
+ * Kodi / XMBC:
+ *
+ *     Apparently makes no attempt to inhibit the screen saver.
+ *     There are some third party extensions that fix that, e.g.
+ *     "kodi-prevent-xscreensaver".
+ *
+ *
+ *****************************************************************************
+ *
  *
  * TO DO:
  *
@@ -623,6 +638,10 @@ xscreensaver_unlock_cb (sd_bus_message *m, void *arg, sd_bus_error *ret_error)
 /* Is this "reason" string one that means we should inhibit blanking?
    If the string is e.g. "audio-playing", (Firefox) the answer is no.
    If the string is "Download in progress", (Chromium) the answer is no.
+   Likewise, GEdit sends "There are unsaved documents", which is apparently
+   an attempt for it to inhibit *logout*, which is reasonable, rather than
+   an attempt to inhibit *blanking*, which is not.  I don't know how to tell
+   them apart.
  */
 static Bool
 good_reason_p (const char *s)
@@ -631,6 +650,7 @@ good_reason_p (const char *s)
   if (strcasestr (s, "video")) return True;
   if (strcasestr (s, "audio")) return False;
   if (strcasestr (s, "download")) return False;
+  if (strcasestr (s, "unsaved")) return False;
   return True;
 }
 
index 67c5e1dd84a9b2d13c091e39c326da85b8427e04..551c8d317a94de7d60910d0b8c2351e853b3d3ca 100644 (file)
@@ -279,6 +279,13 @@ _init_colors(struct state *st)
     /* 28 lpurple */  {0x9999,0x9999,0xFFFF},
     /* 29 pink */     {0xFFFF,0x9999,0xFFFF}};
 
+  {
+    int i;
+    memset (st->colors, 0, sizeof(st->colors));
+    for (i = 0; i < countof(st->colors); i++)
+      st->colors[i].pixel = BlackPixelOfScreen (st->xgwa.screen);
+  }
+
   if (st->d3d) {
     st->shades = (st->d3d==D3D_TILED) ? 5 : st->lwid/2+1;
     st->ncolors=4+random()%4;
index 26ae0aaabdd508773977ec12a1aefe15ecf36654..468a29fdd4cb85ead4e01de8c480869a1d7fe319 100644 (file)
@@ -4,8 +4,8 @@
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
-                              version 6.07
-                               29-Aug-2023
+                              version 6.08
+                               10-Oct-2023
 
                      https://www.jwz.org/xscreensaver/
 
index df821e4a8a33dff185996ed49092d220d9142990..1176b9c41a841bde319989043401a2777c096756 100644 (file)
   <boolean id="wire"    _label="Wireframe"              arg-set="--wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="--fps"/>
 
+  <!-- This line must be here for error checking in update-info-plist.pl
+  <xscreensaver-text />
+  -->
+
   <xscreensaver-updater />
 
   <_description>
index 454b9ebc466e228025dcb211413e50eed22ca86f..7f446e5e3b733fa617424103ae033c78edc4e37f 100644 (file)
@@ -835,10 +835,8 @@ draw_planet (ModeInfo * mi)
       if (gp->z < 0) gp->z += 1;
     }
 
-# ifndef GL_LINE_SMOOTH_BROKEN
   glEnable(GL_LINE_SMOOTH);
   glEnable(GL_POINT_SMOOTH);
-# endif
   glEnable(GL_DEPTH_TEST);
   glEnable(GL_CULL_FACE);
   glCullFace(GL_BACK); 
@@ -1049,9 +1047,7 @@ draw_planet (ModeInfo * mi)
       glScalef (1.02, 1.02, 1.02);
       glDisable (GL_TEXTURE_2D);
       glDisable (GL_LIGHTING);
-# ifndef GL_LINE_SMOOTH_BROKEN
       glDisable (GL_LINE_SMOOTH);
-# endif
       glColor3f (0.1, 0.3, 0.1);
       glCallList (gp->latlonglist);
       mi->polygon_count += 24*24;
@@ -1067,9 +1063,7 @@ draw_planet (ModeInfo * mi)
       glScalef (1.02, 1.02, 1.02);
       glDisable (GL_TEXTURE_2D);
       glDisable (GL_LIGHTING);
-# ifndef GL_LINE_SMOOTH_BROKEN
       glDisable (GL_LINE_SMOOTH);
-# endif
       glColor3f (0.1, 0.3, 0.1);
       glCallList (gp->tzlist);
       mi->polygon_count += gp->tzpoints;
index e943b65ec1fa2fe5181bac313c4fdc5553aa6372..f03c7084302b3a40a7f0e8790eaac317e1190ead 100644 (file)
@@ -1,4 +1,4 @@
-/* handsy, Copyright (c) 2018 Jamie Zawinski <jwz@jwz.org>
+/* handsy, Copyright © 2018-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -460,9 +460,7 @@ draw_ground (ModeInfo *mi)
       GLfloat fog_color[4] = { 0, 0, 0, 1 };
 
       glLineWidth (4);
-# ifndef GL_LINE_SMOOTH_BROKEN
       glEnable (GL_LINE_SMOOTH);
-# endif
       glHint (GL_LINE_SMOOTH_HINT, GL_NICEST);
       glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
       glEnable (GL_BLEND);
@@ -502,9 +500,7 @@ draw_ground (ModeInfo *mi)
 
   if (!wire)
     {
-# ifndef GL_LINE_SMOOTH_BROKEN
       glDisable (GL_LINE_SMOOTH);
-# endif
       glDisable (GL_BLEND);
       glDisable (GL_FOG);
     }
index 42eb63246f229352d515637faa765e880ed2eba9..267ab30aaed5ee1b3c18f5b438736ea43fb823c2 100644 (file)
@@ -1374,9 +1374,7 @@ static int bednorz_sphere_eversion_ff(ModeInfo *mi, float phi_min,
   {
     glColor4f(1.0f,1.0f,1.0f,1.0f);
     glLineWidth(2.0f);
-# ifndef GL_LINE_SMOOTH_BROKEN
     glEnable(GL_LINE_SMOOTH);
-# endif
     glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
     glDisable(GL_LIGHTING);
     glDisable(GL_LIGHT0);
@@ -1426,9 +1424,7 @@ static int bednorz_sphere_eversion_ff(ModeInfo *mi, float phi_min,
     }
     glLineWidth(1.0f);
     glPolygonOffset(0.0f,0.0f);
-# ifndef GL_LINE_SMOOTH_BROKEN
     glDisable(GL_LINE_SMOOTH);
-# endif
     glBlendFunc(GL_SRC_ALPHA,GL_ONE);
     glEnable(GL_LIGHTING);
     glEnable(GL_LIGHT0);
index e809f424cecb5f88faa53ffee4183d3274b8fa1f..eb882fe361f6e41a07882e387df643249844119b 100644 (file)
@@ -1,4 +1,4 @@
-/* vigilance, Copyright (c) 2017-2018 Jamie Zawinski <jwz@jwz.org>
+/* vigilance, Copyright © 2017-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -986,9 +986,7 @@ draw_ground (ModeInfo *mi, GLfloat color[4])
       GLfloat fog_color[4] = { 0, 0, 0, 1 };
 
       glLineWidth (2);
-# ifndef GL_LINE_SMOOTH_BROKEN
       glEnable (GL_LINE_SMOOTH);
-# endif
       glHint (GL_LINE_SMOOTH_HINT, GL_NICEST);
       glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
       glEnable (GL_BLEND);
@@ -1031,10 +1029,8 @@ draw_ground (ModeInfo *mi, GLfloat color[4])
       glRotatef (90, 1, 0, 0);
     }
 
-# ifndef GL_LINE_SMOOTH_BROKEN
   if (!wire)
     glDisable (GL_LINE_SMOOTH);
-# endif
 
   glPopMatrix();
 
index 36121fc284056604bf32933a661ff11636a96cb3..5a17c72448c3e2521e605a43819663e125d96e8b 100644 (file)
@@ -1,4 +1,4 @@
-/* winduprobot, Copyright (c) 2014-2018 Jamie Zawinski <jwz@jwz.org>
+/* winduprobot, Copyright © 2014-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -1675,9 +1675,7 @@ draw_ground (ModeInfo *mi, GLfloat color[4])
       GLfloat fog_color[4] = { 0, 0, 0, 1 };
 
       glLineWidth (4);
-# ifndef GL_LINE_SMOOTH_BROKEN
       glEnable (GL_LINE_SMOOTH);
-# endif
       glHint (GL_LINE_SMOOTH_HINT, GL_NICEST);
       glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
       glEnable (GL_BLEND);
@@ -1717,9 +1715,7 @@ draw_ground (ModeInfo *mi, GLfloat color[4])
 
   if (!wire)
     {
-# ifndef GL_LINE_SMOOTH_BROKEN
       glDisable (GL_LINE_SMOOTH);
-# endif
       glDisable (GL_BLEND);
       glDisable (GL_FOG);
     }
index e4505ab1d025f30b093482e0d7a4115704a1a0cf..ebddf8f9a5bd5654f1284d8fd86a1c2250ca1952 100644 (file)
@@ -1,5 +1,5 @@
 /* xlock-gl.c --- xscreensaver compatibility layer for xlockmore GL modules.
- * xscreensaver, Copyright (c) 1997-2021 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright © 1997-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -49,6 +49,20 @@ BadValue_ehandler (Display *dpy, XErrorEvent *error)
 #endif /* !HAVE_EGL */
 
 
+#undef glEnable
+void (* glEnable_fn) (GLuint) = glEnable;
+
+#if defined(__linux__) && defined(__arm__)  /* Raspberry Pi-adjacent */
+# define PI_LIKE
+static void
+glEnable_bad_line_smooth (GLuint cap)
+{
+  if (cap != GL_LINE_SMOOTH)
+    glEnable (cap);
+}
+#endif
+
+
 GLXContext *
 init_GL(ModeInfo * mi)
 {
@@ -260,6 +274,18 @@ init_GL(ModeInfo * mi)
 
   glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
+   /* Sep 2022, Sep 2023: The Raspberry Pi 4b Broadcom driver doesn't do
+      GL_LINE_SMOOTH properly: lines show up as barely-visible static noise.
+      If we're on ARM, check the GL vendor and maybe disable GL_LINE_SMOOTH.
+    */
+# ifdef PI_LIKE
+  {
+    const char *s = (const char *) glGetString (GL_VENDOR);
+    if (s && !strcmp (s, "Broadcom"))
+      glEnable_fn = glEnable_bad_line_smooth;
+  }
+# endif
+
   /* GLXContext is already a pointer type.
      Why this function returns a pointer to a pointer, I have no idea...
    */
index 0517651c92bd8f23d0c2208e829f97c52c8d1031..11a9d7d40519dab0e8f82b8f11aabaa8ca39d97d 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright © 1992-2022 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright © 1992-2023 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
 #   include <GL/glx.h>
 #  endif
 
-   /* Sep 2022: The current Raspberry Pi 4b drivers don't do GL_LINE_SMOOTH
-      properly: lines show up as barely-visible static noise.  So disable
-      it globally by just aliasing it to something mostly harmless. */
-#  if defined(__linux__) && defined(__aarch64__)
-#   undef GL_LINE_SMOOTH
-#   define GL_LINE_SMOOTH GL_NORMALIZE
-#   define GL_LINE_SMOOTH_BROKEN  /* To protect glDiable(GL_LINE_SMOOTH) */
-#  endif
+   /* Sep 2022, Sep 2023: The Raspberry Pi 4b Broadcom driver doesn't do
+      GL_LINE_SMOOTH properly, so we must disable it. See init_GL(). */
+   extern void (* glEnable_fn) (GLuint);
+#  define glEnable (* glEnable_fn)
 
 # endif /* real X11 */
 
index 1e0474a87be55495dc7ca720f075ca5a9c0dc0e7..274f535e3bac54c88ef36ba55be420fcaaf9b15f 100755 (executable)
@@ -47,7 +47,7 @@ use LWP::UserAgent;
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my ($version) = ('$Revision: 1.191 $' =~ m/\s(\d[.\d]+)\s/s);
+my ($version) = ('$Revision: 1.192 $' =~ m/\s(\d[.\d]+)\s/s);
 my $copyright = "WebCollage $version, Copyright (c) 1999-2022" .
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "                  https://www.jwz.org/webcollage/\n";
@@ -106,8 +106,8 @@ my @search_methods = (
                       # So let's try Bing instead. No rate limiting yet!
                       #
                        13, "bingphotos",    \&pick_from_bing_image_photos,
-                       11, "bingimgs",      \&pick_from_bing_images,
-                       10, "bingnums",      \&pick_from_bing_image_numbers,
+                       10, "bingimgs",      \&pick_from_bing_images,
+                        9, "bingnums",      \&pick_from_bing_image_numbers,
 
                        20, "flickr_recent", \&pick_from_flickr_recent,
                        15, "flickr_random", \&pick_from_flickr_random,
@@ -128,13 +128,9 @@ my @search_methods = (
                      #  0, "twitpic",       \&pick_from_twitpic_images,
                      #  0, "twitter",       \&pick_from_twitter_images,
 
-                     # This is a cute way to search for a certain webcams.
-                     # Not included in default methods, since these images
-                     # aren't terribly interesting by themselves.
-                     # See also "SurveillanceSaver".
-                     # Stopped working some time in before 2022
-                     #
-                     #  0, "securitycam",   \&pick_from_security_camera,
+                     # Images from random unsecured surveillance cameras,
+                     # via insecam.org.
+                        2, "securitycam",   \&pick_from_security_camera,
 
                      # Nonfunctional as of June 2011.
                      #  0, "altavista",     \&pick_from_alta_vista_random_link,
@@ -1306,53 +1302,139 @@ sub pick_image_from_pages($$$$@) {
 \f
 ############################################################################
 #
-# Pick images from Aptix security cameras
-# Cribbed liberally from google image search code.
-# By Jason Sullivan <jasonsul@us.ibm.com>
+# Pick security camera images from the insecam website.
+# Grab a random page from the "byrating" and the "bynew" list of pages.
+# Push all the image urls into the cache array (after converting to single
+# image if necessary), then return image URLs until the cache is empty.
+# By Jason Sullivan <jason0x21@gmail.com>
 #
 ############################################################################
 
-# Stopped working some time in before 2022
-#my $aptix_images_url = ("http://www.google.com/search" .
-#                        "?q=inurl:%22jpg/image.jpg%3Fr%3D%22");
-#
-## securitycam
-#sub pick_from_security_camera($) {
-#  my ($timeout) = @_;
-#
-#  my $page = (int(rand(9)) + 1);
-#  my $num = 20;                                       # 20 images per page
-#  my $search_url = $aptix_images_url;
-#
-#  if ($page > 1) {
-#    $search_url .= "&start=" . $page*$num;    # page number
-#    $search_url .= "&num="   . $num;          #images per page
-#  }
-#
-#  my ($search_hit_count, @subpages) =
-#    pick_from_search_engine ($timeout, $search_url, '');
-#
-#  my @candidates = ();
-#  my %referers;
-#  foreach my $u (@subpages) {
-#    next if ($u =~ m@[/.]google\.com\b@i); # skip google builtins (most links)
-#    next unless ($u =~ m@jpg/image.jpg\?r=@i);    #  All pics contain this
-#
-#    LOG ($verbose_filter, "  candidate: $u");
-#    push @candidates, $u;
-#    $referers{$u} = $u;
-#    }
-#
-#  @candidates = depoison (@candidates);
-#  return () if ($#candidates < 0);
-#  my $i = int(rand($#candidates+1));
-#  my $img = $candidates[$i];
-#  my $ref = $referers{$img};
-#
-#  LOG ($verbose_load, "picked image " . ($i+1) . ": $img (on $ref)");
-#  return ($ref, $img);
-#}
+my @insecam_urls = ("http://insecam.org/en/byrating/", "http://insecam.org/en/bynew/");
+my @insecam_cache = ();
+my @insecam_match_regex = map { qr{$_} } (
+  '(^.*\/webcapture\.jpg).*',
+  '(^.*cgi-bin\/viewer\/video\.jpg).*',
+  '(^.*cgi-bin)\/faststream\.jpg.*',
+  '(^.*\/GetOneShot).*',
+  '(^.*\/cgi-bin\/camera).*',
+  '(^.*\/cam_1)\.cgi.*',
+  '(^.*)\/mjpg\/video\.mjpg',
+  '(^.*\/jpg\/image\.jpg).*',
+  '(^.*\/jpgmulreq\/1\/image\.jpg.*)',
+  '(^.*\/onvif\/snapshot\/.*)',
+  '(^.*\/snap.jpg).*',
+  '(^.*\/SnapshotJPEG\?Resolution=\d+x\d+)\&.*',
+  '(^.*\/asp)\/video\.cgi.*',
+  '(^.*\/cgi-bin\/snapshot\.cgi\?chn=\d+),*',
+  '(^.*\/img)\/video\.mjpeg.*',
+  '(^.*)\/videostream\.cgi.*',
+  '(^.*\/oneshotimage1).*',
+  '(^.*)\/mjpeg\.cgi.*',
+  '(^.*\/__live\.jpg.*)',
+  '(^.*\/out\.jpg).*',
+  '(^.*\/cgi-bin\/CGIProxy\.fcgi\?cmd=snapPicture.*)',
+  '(^.*\/tmpfs\/auto\.jpg.*)',
+  '(^.*\/cgi-bin\/snapshot\.cgi.*)',
+  '(^.*)\/GetData.cgi\?.*',
+  '(^.*\/IMAGE\.JPG.*)',
+  '(^.*\/nph-jpeg\.cgi.*)',
+  '(^.*\/axis-cgi)/mjpg/video\.cgi.*',
+  '(^.*\/image\/Index.*)',
+  '(^.*)\/image\?speed.*',
+  '(^.*\/shot\.jpg\?rnd=.*)',
+  '(^.*)\/video\/mjpg\.cgi.*',
+  '(^.*\/\?action=)stream.*',
+  );
+my @insecam_match_replace = (
+  "?command=snap&channel=1",
+  "",
+  "/image.jpg",
+  "",
+  "",
+  ".jpg",
+  "/jpg/image.jpg",
+  "",
+  "",
+  "",
+  "",
+  "",
+  "/image.cgi",
+  "/image.cgi",
+  "/snapshot.cgi",
+  "/snapshot.cgi",
+  "",
+  "image/jpeg.cgi",
+  "",
+  "",
+  "",
+  "",
+  "",
+  "/Webcam.jpg",
+  "",
+  "",
+  "/jpg/image.cgi",
+  "",
+  "/oneshotimage.jpg",
+  "",
+  "/image/jpeg.cgi",
+  "SKIP",
+  );
+
+# securitycam
+sub pick_from_security_camera($) {
+  my ($timeout) = @_;
 
+  if(scalar(@insecam_cache) == 0) {
+    foreach my $oneURL (@insecam_urls) {
+      my $page = (int(rand(1000)) + 1);
+      my $cam_page_url = $oneURL . "?page=$page";
+    
+      my ( $base, $body ) = get_document ($cam_page_url, undef, $timeout);
+      if (!$base || !$body) {
+        $body = undef;
+        return;
+      }
+      
+      # Can't use pick_image_from_body because it wants actual images and we
+      # kinda have to massage the links here depending on the camera referenced.
+      # Most of this is just trimming off the ends.
+      foreach my $s (split (/\n/, $body)) {
+        if($s =~ /img\s+id=".*"\s+class=".*"\s+src="(.*)"/i) {
+          my($full) = $1;
+          my($match) = 0;
+          $full =~ s/\?COUNTER//;
+          $full =~ s/\?r=COUNTER//;
+          $full =~ s/(\&amp)?\;COUNTER//;
+          $full =~ s/(\&amp)?\;r(and)?=COUNTER//;
+          if($full =~ /COUNTER/) {
+            LOG($verbose_warnings, "Webcam source line unrecognized! $full");
+          }
+          LOG ($verbose_filter, "FOUND URL $full");
+          for(my $i = 0; $i < scalar(@insecam_match_regex); $i++) {
+            if($full =~ m{$insecam_match_regex[$i]}) {
+              if($insecam_match_replace[$i] ne "SKIP") {
+                push(@insecam_cache,$1 . $insecam_match_replace[$i]);
+              }
+              $match = 1;
+              last;
+            }
+          }
+          if($match == 0) {
+            LOG($verbose_warnings, "Webcam conversion unrecognized! $full");
+          }
+        }
+      }
+    }
+  }
+    
+  if (scalar(@insecam_cache) != 0) {
+    my $img = shift(@insecam_cache);
+    LOG ($verbose_load, "picked image $img");
+    return ($img, $img);
+  }
+  else {  return ();  }
+}
 \f
 ############################################################################
 #
index 7dda4d29973aba2ab7bec2e915d8afca8ba27704..bc1cd834ee50440b4d5b8a90e785ccf2fff7267d 100644 (file)
@@ -1,4 +1,4 @@
-# Auto-generated: Tue Aug 29 18:21:20 PDT 2023
+# Auto-generated: Tue Oct 10 17:37:06 PDT 2023
 driver/demo-Gtk-conf.c
 driver/demo-Gtk.c
 driver/demo.ui
index 4df6c22e61f4382e048c5a606cefcf98060d19e4..c7f32c586c3d2b457fd48a86a237a49adb67444e 100644 (file)
@@ -1,4 +1,4 @@
 static const char screensaver_id[] =
-       "@(#)xscreensaver 6.07 (29-Aug-2023), by Jamie Zawinski (jwz@jwz.org)";
-#define XSCREENSAVER_VERSION "6.07"
-#define XSCREENSAVER_RELEASED 1693335600
+       "@(#)xscreensaver 6.08 (10-Oct-2023), by Jamie Zawinski (jwz@jwz.org)";
+#define XSCREENSAVER_VERSION "6.08"
+#define XSCREENSAVER_RELEASED 1696964400
index fe179787247c013bd236e6e7e382c079d1102378..65d9f2276b0323be360b6f0b23d0d8590126295a 100644 (file)
@@ -1,5 +1,5 @@
 %define        name xscreensaver
-%define        version 6.07
+%define        version 6.08
 
 Summary:       X screen saver and locker
 Name:          %{name}