()
var entity = fileDao.getFileByEncryptedRemotePath(file.remotePath, user.accountName)
diff --git a/app/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java b/app/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java
index d7b2982b1940..9978005ef2a0 100644
--- a/app/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java
+++ b/app/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java
@@ -414,6 +414,7 @@ public OCUpload getPendingCurrentOrFailedUpload(OCUpload upload) {
return null;
}
+ @Nullable
public OCUpload getUploadByRemotePath(String remotePath) {
OCUpload result = null;
try (Cursor cursor = getDB().query(
@@ -797,7 +798,7 @@ public void updateDatabaseUploadResult(RemoteOperationResult uploadResult, Uploa
upload.getRemotePath(),
localPath
);
- } else {
+ } else if (uploadResult.getCode() != RemoteOperationResult.ResultCode.USER_CANCELLED){
updateUploadStatus(
upload.getOCUploadId(),
UploadStatus.UPLOAD_FAILED,
diff --git a/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java b/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java
index 3b9199e95be5..6665598c0a4b 100644
--- a/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java
+++ b/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java
@@ -434,7 +434,7 @@ private boolean anyFileDownloading() {
private boolean anyFileUploading() {
for (OCFile file : files) {
- if (FileUploadHelper.Companion.instance().isUploading(user, file)) {
+ if (FileUploadHelper.Companion.instance().isUploading(file.getRemotePath(), user.getAccountName())) {
return true;
}
}
diff --git a/app/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java b/app/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java
index 20a75f51cf48..2b5829675385 100644
--- a/app/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java
+++ b/app/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java
@@ -28,7 +28,6 @@
import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation;
import com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation;
import com.owncloud.android.lib.resources.files.model.RemoteFile;
-import com.owncloud.android.lib.resources.status.E2EVersion;
import com.owncloud.android.operations.common.SyncOperation;
import com.owncloud.android.services.OperationsService;
import com.owncloud.android.utils.FileStorageUtils;
@@ -485,7 +484,7 @@ private void startDirectDownloads() {
Log_OC.d(TAG, "Exception caught at startDirectDownloads" + e);
}
} else {
- mFilesForDirectDownload.forEach(file -> fileDownloadHelper.downloadFile(user, file));
+ fileDownloadHelper.downloadFolder(mLocalFolder, user.getAccountName());
}
}
diff --git a/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java b/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java
index ed422d506309..65a32ff8cab1 100644
--- a/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java
+++ b/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java
@@ -79,12 +79,11 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.OverlappingFileLockException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -1435,21 +1434,37 @@ private static boolean existsFile(OwnCloudClient client,
}
/**
- * Allows to cancel the actual upload operation. If actual upload operating is in progress it is cancelled, if
- * upload preparation is being performed upload will not take place.
+ * Cancels the current upload process.
+ *
+ *
+ * Behavior depends on the current state of the upload:
+ *
+ * - Upload in preparation: Upload will not start and a cancellation flag is set.
+ * - Upload in progress: The ongoing upload operation is cancelled via
+ * {@link UploadFileRemoteOperation#cancel(ResultCode)}.
+ * - No upload operation: A cancellation flag is still set, but this situation is unexpected
+ * and logged as an error.
+ *
+ *
+ *
+ * Once cancelled, the database will be updated through
+ * {@link UploadsStorageManager#updateDatabaseUploadResult(RemoteOperationResult, UploadFileOperation)}.
+ *
+ * @param cancellationReason the reason for cancellation
*/
public void cancel(ResultCode cancellationReason) {
- if (mUploadOperation == null) {
+ if (mUploadOperation != null) {
+ // Cancel an active upload
+ Log_OC.d(TAG, "Cancelling upload during actual upload operation.");
+ mUploadOperation.cancel(cancellationReason);
+ } else {
+ // Cancel while preparing or when no upload exists
+ mCancellationRequested.set(true);
if (mUploadStarted.get()) {
- Log_OC.d(TAG, "Cancelling upload during upload preparations.");
- mCancellationRequested.set(true);
+ Log_OC.d(TAG, "Cancelling upload during preparation.");
} else {
- mCancellationRequested.set(true);
Log_OC.e(TAG, "No upload in progress. This should not happen.");
}
- } else {
- Log_OC.d(TAG, "Cancelling upload during actual upload operation.");
- mUploadOperation.cancel(cancellationReason);
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java
index 6c1037324b92..f61121e8721e 100644
--- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java
@@ -189,7 +189,7 @@ public void showActivitiesLoadError(String error) {
} else {
showEmptyContent(getString(R.string.server_not_reachable),
getString(R.string.server_not_reachable_content));
- binding.emptyList.emptyListIcon.setImageResource(R.drawable.ic_cloud_sync_off);
+ binding.emptyList.emptyListIcon.setImageResource(R.drawable.ic_sync_off);
}
});
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
index 29aa804614f2..2b0d1c0d2c2e 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
@@ -31,6 +31,7 @@
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
+import android.os.PersistableBundle;
import android.os.SystemClock;
import android.text.TextUtils;
import android.view.Menu;
@@ -115,6 +116,7 @@
import javax.inject.Inject;
+import androidx.activity.OnBackPressedCallback;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -206,6 +208,12 @@ public abstract class DrawerActivity extends ToolbarActivity
@Inject
ClientFactory clientFactory;
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
+ super.onCreate(savedInstanceState, persistentState);
+ addOnBackPressedCallback();
+ }
+
/**
* Initializes the drawer and its content. This method needs to be called after the content view has been set.
*/
@@ -1153,19 +1161,24 @@ public void onConfigurationChanged(@NonNull Configuration newConfig) {
}
}
- @Override
- public void onBackPressed() {
- if (isDrawerOpen()) {
- closeDrawer();
- return;
- }
- Fragment fileDetailsSharingProcessFragment =
- getSupportFragmentManager().findFragmentByTag(FileDetailsSharingProcessFragment.TAG);
- if (fileDetailsSharingProcessFragment != null) {
- ((FileDetailsSharingProcessFragment) fileDetailsSharingProcessFragment).onBackPressed();
- } else {
- super.onBackPressed();
- }
+ public void addOnBackPressedCallback() {
+ getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) {
+ @Override
+ public void handleOnBackPressed() {
+ if (isDrawerOpen()) {
+ closeDrawer();
+ return;
+ }
+
+ final var fragment = getSupportFragmentManager().findFragmentByTag(FileDetailsSharingProcessFragment.TAG);
+ if (fragment instanceof FileDetailsSharingProcessFragment fileDetailsSharingProcessFragment) {
+ fileDetailsSharingProcessFragment.onBackPressed();
+ } else {
+ setEnabled(false);
+ getOnBackPressedDispatcher().onBackPressed();
+ }
+ }
+ });
}
@Override
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
index 301c4e6d67a2..88807ba9fc82 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
@@ -40,6 +40,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewTreeObserver.OnGlobalLayoutListener
import android.view.WindowManager.BadTokenException
+import androidx.activity.OnBackPressedCallback
import androidx.annotation.VisibleForTesting
import androidx.appcompat.widget.SearchView
import androidx.core.view.MenuItemCompat
@@ -82,6 +83,7 @@ import com.nextcloud.utils.extensions.getParcelableArgument
import com.nextcloud.utils.extensions.isActive
import com.nextcloud.utils.extensions.lastFragment
import com.nextcloud.utils.extensions.logFileSize
+import com.nextcloud.utils.extensions.navigateToAllFiles
import com.nextcloud.utils.fileNameValidator.FileNameValidator.checkFolderPath
import com.nextcloud.utils.view.FastScrollUtils
import com.owncloud.android.MainApp
@@ -155,7 +157,6 @@ import com.owncloud.android.utils.PermissionUtil.requestNotificationPermission
import com.owncloud.android.utils.PushUtils
import com.owncloud.android.utils.StringUtils
import com.owncloud.android.utils.theme.CapabilityUtils
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -278,6 +279,7 @@ class FileDisplayActivity :
initSyncBroadcastReceiver()
observeWorkerState()
startMetadataSyncForRoot()
+ handleBackPress()
}
private fun loadSavedInstanceState(savedInstanceState: Bundle?) {
@@ -935,7 +937,7 @@ class FileDisplayActivity :
) {
openDrawer()
} else {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
} else if (itemId == R.id.action_select_all) {
val fragment = this.listOfFilesFragment
@@ -1136,40 +1138,59 @@ class FileDisplayActivity :
}
}
- private val isRootDirectory: Boolean
- get() {
- val currentDir = getCurrentDir()
- return (currentDir == null || currentDir.parentId == FileDataStorageManager.ROOT_PARENT_ID.toLong())
- }
-
- /*
- * BackPressed priority/hierarchy:
- * 1. close search view if opened
- * 2. close drawer if opened
- * 3. if it is OCFileListFragment and it's in Root -> (finish Activity) or it's not Root -> (browse up)
- * 4. otherwise pop up the fragment and sortGroup view visibility and call super.onBackPressed()
+ /**
+ * Sets up a custom back-press handler for this activity.
+ *
+ * This callback determines how the back button behaves based on the current UI state:
+ * - If the search view is open, it closes it.
+ * - If the navigation drawer is open, it closes it.
+ * - If the left fragment is an [OCFileListFragment]:
+ * - If in the root directory, it either navigates to "All Files" or finishes the activity.
+ * - Otherwise, it navigates one level up.
+ * - Otherwise, it pops the current fragment from the back stack.
+ *
+ * ### About `isEnabled`
+ * `isEnabled` is a property of [OnBackPressedCallback].
+ * When `isEnabled = false`, this callback is **temporarily disabled**,
+ * allowing the system or other callbacks to handle the back press instead.
*/
- @SuppressFBWarnings("ITC_INHERITANCE_TYPE_CHECKING") // TODO Apply fail fast principle
- override fun onBackPressed() {
- if (isSearchOpen()) {
- resetSearchAction()
- return
- }
+ private fun handleBackPress() {
+ onBackPressedDispatcher.addCallback(
+ this,
+ object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ when {
+ isSearchOpen() -> {
+ isEnabled = false
+ resetSearchAction()
+ }
- if (isDrawerOpen) {
- super.onBackPressed()
- return
- }
+ isDrawerOpen -> {
+ isEnabled = false
+ onBackPressedDispatcher.onBackPressed()
+ }
- if (this.leftFragment is OCFileListFragment) {
- if (isRoot(getCurrentDir())) {
- finish()
- } else {
- browseUp(leftFragment as OCFileListFragment)
+ leftFragment is OCFileListFragment -> {
+ val fragment = leftFragment as OCFileListFragment
+ if (isRoot(getCurrentDir())) {
+ if (fragment.shouldNavigateBackToAllFiles()) {
+ navigateToAllFiles()
+ } else {
+ finish()
+ }
+ } else {
+ browseUp(fragment)
+ }
+ }
+
+ else -> {
+ isEnabled = false
+ popBack()
+ }
+ }
+ }
}
- } else {
- popBack()
- }
+ )
}
private fun browseUp(listOfFiles: OCFileListFragment) {
@@ -1210,20 +1231,20 @@ class FileDisplayActivity :
if (leftFragment is UnifiedSearchFragment) {
showSortListGroup(false)
- super.onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
}
/**
* Use this method when want to pop the fragment on back press. It resets Scrolling (See
* [with true][.resetScrolling] and pop the visibility for sortListGroup (See
- * [with false][.showSortListGroup]. At last call to super.onBackPressed()
+ * [with false][.showSortListGroup]. At last call to onBackPressedDispatcher.onBackPressed()
*/
private fun popBack() {
binding.fabMain.setImageResource(R.drawable.ic_plus)
resetScrolling(true)
showSortListGroup(false)
- super.onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
override fun onSaveInstanceState(outState: Bundle) {
@@ -1645,7 +1666,7 @@ class FileDisplayActivity :
if (uploadWasFine || file != null && file.fileExists()) {
fileDetailFragment.updateFileDetails(false, true)
} else {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
// Force the preview if the file is an image or text file
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt
index 85ead7b2c9b8..a9a2a2adfb13 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt
@@ -106,7 +106,7 @@ open class FolderPickerActivity :
updateActionBarTitleAndHomeButtonByString(captionText)
setBackgroundText()
- handleOnBackPressed()
+ handleBackPress()
}
override fun onDestroy() {
@@ -151,7 +151,7 @@ open class FolderPickerActivity :
}
}
- private fun handleOnBackPressed() {
+ private fun handleBackPress() {
onBackPressedDispatcher.addCallback(
this,
object : OnBackPressedCallback(true) {
@@ -327,7 +327,7 @@ open class FolderPickerActivity :
} else if (itemId == android.R.id.home) {
val currentDir = currentFolder
if (currentDir != null && currentDir.parentId != 0L) {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
} else {
retval = super.onOptionsItemSelected(item)
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/InternalTwoWaySyncActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/InternalTwoWaySyncActivity.kt
index 8ae77e6986bf..89d37b84da4d 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/InternalTwoWaySyncActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/activity/InternalTwoWaySyncActivity.kt
@@ -201,7 +201,7 @@ class InternalTwoWaySyncActivity :
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
R.id.action_dismiss_two_way_sync -> {
disableTwoWaySyncAndWorkers()
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.kt
index 65c4d0715bb1..ef3526ecdcfd 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.kt
@@ -91,7 +91,7 @@ class ManageAccountsActivity :
multipleAccountsSupported = multiAccountSupport(this)
setupUserList()
- handleOnBackPressed()
+ handleBackPress()
}
private fun setupUsers() {
@@ -149,7 +149,7 @@ class ManageAccountsActivity :
performAccountRemoval(user)
}
- private fun handleOnBackPressed() {
+ private fun handleBackPress() {
onBackPressedDispatcher.addCallback(
this,
onBackPressedCallback
@@ -160,13 +160,13 @@ class ManageAccountsActivity :
override fun handleOnBackPressed() {
val resultIntent = Intent()
- if (accountManager.allUsers.size > 0) {
+ if (accountManager.allUsers.isNotEmpty()) {
resultIntent.putExtra(KEY_ACCOUNT_LIST_CHANGED, hasAccountListChanged())
resultIntent.putExtra(KEY_CURRENT_ACCOUNT_CHANGED, hasCurrentAccountChanged())
setResult(RESULT_OK, resultIntent)
} else {
val intent = Intent(this@ManageAccountsActivity, AuthenticatorActivity::class.java)
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)
}
@@ -229,7 +229,7 @@ class ManageAccountsActivity :
var result = true
if (item.itemId == android.R.id.home) {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
} else {
result = super.onOptionsItemSelected(item)
}
@@ -331,7 +331,7 @@ class ManageAccountsActivity :
)
recyclerView?.adapter = userListAdapter
} else {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
}
@@ -393,8 +393,7 @@ class ManageAccountsActivity :
resultIntent.putExtra(KEY_ACCOUNT_LIST_CHANGED, true)
resultIntent.putExtra(KEY_CURRENT_ACCOUNT_CHANGED, true)
setResult(RESULT_OK, resultIntent)
-
- super.onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java
index c9b4be929b4d..5148c10f52ec 100755
--- a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java
@@ -103,6 +103,7 @@
import javax.inject.Inject;
+import androidx.activity.OnBackPressedCallback;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -203,6 +204,8 @@ protected void onCreate(Bundle savedInstanceState) {
fm.beginTransaction()
.add(taskRetainerFragment, TaskRetainerFragment.FTAG_TASK_RETAINER_FRAGMENT).commit();
} // else, Fragment already created and retained across configuration change
+
+ handleBackPress();
}
@Override
@@ -656,14 +659,19 @@ private File createTempFile(String text) {
}
}
- @Override
- public void onBackPressed() {
- if (mParents.size() <= SINGLE_PARENT) {
- super.onBackPressed();
- } else {
- mParents.pop();
- browseToFolderIfItExists();
- }
+ private void handleBackPress() {
+ getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
+ @Override
+ public void handleOnBackPressed() {
+ if (mParents.size() <= SINGLE_PARENT) {
+ setEnabled(false);
+ getOnBackPressedDispatcher().onBackPressed();
+ } else {
+ mParents.pop();
+ browseToFolderIfItExists();
+ }
+ }
+ });
}
@Override
@@ -1097,7 +1105,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
dialog.show(getSupportFragmentManager(), CreateFolderDialogFragment.CREATE_FOLDER_FRAGMENT);
} else if (itemId == android.R.id.home) {
if (mParents.size() > SINGLE_PARENT) {
- onBackPressed();
+ getOnBackPressedDispatcher().onBackPressed();
}
} else if (itemId == R.id.action_switch_account) {
showAccountChooserDialog();
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
index bcbed6b84d77..0790160d7edb 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
@@ -15,6 +15,7 @@
*/
package com.owncloud.android.ui.activity;
+import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -354,6 +355,7 @@ private void setupAboutCategory(String appVersion) {
}
}
+ @SuppressLint("GestureBackNavigation")
@Override
public void onBackPressed() {
DrawerActivity.menuItemId = R.id.nav_all_files;
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java
index 226bb6d294b2..375458b4bbe4 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java
@@ -238,7 +238,7 @@ public void onCreate(Bundle savedInstanceState) {
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
int i = position;
while (i-- != 0) {
- onBackPressed();
+ getOnBackPressedDispatcher().onBackPressed();
}
// the next operation triggers a new call to this method, but it's necessary to
// ensure that the name exposed in the action bar is the current directory when the
@@ -311,7 +311,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
if (itemId == android.R.id.home) {
if (mCurrentDir != null && mCurrentDir.getParentFile() != null) {
- onBackPressed();
+ getOnBackPressedDispatcher().onBackPressed();
}
} else if (itemId == R.id.action_select_all) {
mSelectAll = !item.isChecked();
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java
index 613437a25133..44bdca6655b7 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java
@@ -158,7 +158,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
if (itemId == android.R.id.home) {
- onBackPressed();
+ getOnBackPressedDispatcher().onBackPressed();
} else if (itemId == R.id.action_open_account) {
accountClicked(user.hashCode());
} else if (itemId == R.id.action_delete_account) {
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java
index 5740936c2977..867c8a351f32 100644
--- a/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java
@@ -9,6 +9,7 @@
*/
package com.owncloud.android.ui.adapter;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -23,6 +24,7 @@
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
import com.nextcloud.client.preferences.AppPreferences;
+import com.nextcloud.utils.FileHelper;
import com.owncloud.android.R;
import com.owncloud.android.datamodel.ThumbnailsCacheManager;
import com.owncloud.android.lib.common.utils.Log_OC;
@@ -34,8 +36,6 @@
import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -69,8 +69,10 @@ public class LocalFileListAdapter extends RecyclerView.Adapter();
this.viewThemeUtils = viewThemeUtils;
this.isWithinEncryptedFolder = isWithinEncryptedFolder;
-
- swapDirectory(directory);
+ setHasStableIds(true);
}
- @Override
- public int getItemCount() {
- return mFiles.size() + 1;
- }
-
public int getFilesCount() {
return mFiles.size();
}
@@ -129,30 +125,39 @@ public int getItemPosition(File file) {
}
public String[] getCheckedFilesPath() {
- List result = listFilesRecursive(checkedFiles);
+ List result = FileHelper.INSTANCE.listFilesRecursive(checkedFiles);
Log_OC.d(TAG, "Returning " + result.size() + " selected files");
return result.toArray(new String[0]);
}
- public List listFilesRecursive(Collection files) {
- List result = new ArrayList<>();
+ @Override
+ public int getItemCount() {
+ return mFiles.size() + 1;
+ }
- for (File file : files) {
- if (file.isDirectory()) {
- result.addAll(listFilesRecursive(getFiles(file)));
- } else {
- result.add(file.getAbsolutePath());
- }
+ @Override
+ public long getItemId(int position) {
+ if (position >= mFiles.size()) {
+ return RecyclerView.NO_ID;
}
- return result;
+ File file = mFiles.get(position);
+ return file.getAbsolutePath().hashCode();
}
@Override
- public long getItemId(int position) {
- return mFiles.size() <= position ? position : -1;
+ public int getItemViewType(int position) {
+ if (position == mFiles.size()) {
+ return VIEWTYPE_FOOTER;
+ } else {
+ if (MimeTypeUtil.isImageOrVideo(getItem(position))) {
+ return VIEWTYPE_IMAGE;
+ } else {
+ return VIEWTYPE_ITEM;
+ }
+ }
}
@Override
@@ -271,19 +276,6 @@ public static void setThumbnail(File file,
}
}
- @Override
- public int getItemViewType(int position) {
- if (position == mFiles.size()) {
- return VIEWTYPE_FOOTER;
- } else {
- if (MimeTypeUtil.isImageOrVideo(getItem(position))) {
- return VIEWTYPE_IMAGE;
- } else {
- return VIEWTYPE_ITEM;
- }
- }
- }
-
private File getItem(int position) {
return mFiles.get(position);
}
@@ -317,43 +309,81 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
*/
public void swapDirectory(final File directory) {
localFileListFragmentInterface.setLoading(true);
- final Handler uiHandler = new Handler(Looper.getMainLooper());
+ currentOffset = 0;
+ mFiles.clear();
+ mFilesAll.clear();
+
Executors.newSingleThreadExecutor().execute(() -> {
- List fileList;
- if (directory == null) {
- fileList = new ArrayList<>();
- } else {
- if (mLocalFolderPicker) {
- fileList = getFolders(directory);
- } else {
- fileList = getFiles(directory);
- }
+ // Load first page of folders
+ List firstPage = FileHelper.INSTANCE.listDirectoryEntries(directory, currentOffset, PAGE_SIZE, true);
+
+ if (!firstPage.isEmpty()) {
+ firstPage = sortAndFilterHiddenEntries(firstPage);
}
- if (!fileList.isEmpty()) {
- FileSortOrder sortOrder = preferences.getSortOrderByType(FileSortOrder.Type.localFileListView);
- fileList = sortOrder.sortLocalFiles(fileList);
+ currentOffset += PAGE_SIZE;
+ updateUIForFirstPage(firstPage);
- // Fetch preferences for showing hidden files
- boolean showHiddenFiles = preferences.isShowHiddenFilesEnabled();
- if (!showHiddenFiles) {
- fileList = filterHiddenFiles(fileList);
- }
- }
- final List newFiles = fileList;
+ // Load remaining folders, then all files
+ loadRemainingEntries(directory, true);
- uiHandler.post(() -> {
- mFiles = newFiles;
- mFilesAll = new ArrayList<>();
- mFilesAll.addAll(mFiles);
+ // Reset for files
+ currentOffset = 0;
- notifyDataSetChanged();
- localFileListFragmentInterface.setLoading(false);
- });
+ loadRemainingEntries(directory, false);
});
+ }
+
+ @SuppressLint("NotifyDataSetChanged")
+ private void updateUIForFirstPage(List firstPage) {
+ new Handler(Looper.getMainLooper()).post(() -> {
+ mFiles = new ArrayList<>(firstPage);
+ mFilesAll = new ArrayList<>(firstPage);
+ notifyDataSetChanged();
+ localFileListFragmentInterface.setLoading(false);
+ });
+ }
+
+ private List sortAndFilterHiddenEntries(List nextPage) {
+ boolean showHiddenFiles = preferences.isShowHiddenFilesEnabled();
+ FileSortOrder sortOrder = preferences.getSortOrderByType(FileSortOrder.Type.localFileListView);
+
+ if (!showHiddenFiles) {
+ nextPage = filterHiddenFiles(nextPage);
+ }
+
+ return sortOrder.sortLocalFiles(nextPage);
+ }
+
+ private void loadRemainingEntries(File directory, boolean fetchFolders) {
+ while (true) {
+ List nextPage = FileHelper.INSTANCE.listDirectoryEntries(directory, currentOffset, PAGE_SIZE, fetchFolders);
+ if (nextPage.isEmpty()) {
+ break;
+ }
+
+ nextPage = sortAndFilterHiddenEntries(nextPage);
+ currentOffset += PAGE_SIZE;
+ notifyItemRange(nextPage);
+ }
}
+ private void notifyItemRange(List updatedList) {
+ new Handler(Looper.getMainLooper()).post(() -> {
+ int from = mFiles.size();
+ int to = updatedList.size();
+
+ mFiles.addAll(updatedList);
+ mFilesAll.addAll(updatedList);
+
+ Log_OC.d(TAG, "notifyItemRange, item size: " + mFilesAll.size());
+
+ notifyItemRangeInserted(from, to);
+ });
+ }
+
+ @SuppressLint("NotifyDataSetChanged")
public void setSortOrder(FileSortOrder sortOrder) {
localFileListFragmentInterface.setLoading(true);
final Handler uiHandler = new Handler(Looper.getMainLooper());
@@ -366,30 +396,9 @@ public void setSortOrder(FileSortOrder sortOrder) {
localFileListFragmentInterface.setLoading(false);
});
});
-
-
- }
-
- private List getFolders(final File directory) {
- File[] folders = directory.listFiles(File::isDirectory);
-
- if (folders != null && folders.length > 0) {
- return new ArrayList<>(Arrays.asList(folders));
- } else {
- return new ArrayList<>();
- }
- }
-
- private List getFiles(File directory) {
- File[] files = directory.listFiles();
-
- if (files != null && files.length > 0) {
- return new ArrayList<>(Arrays.asList(files));
- } else {
- return new ArrayList<>();
- }
}
+ @SuppressLint("NotifyDataSetChanged")
public void filter(String text) {
if (text.isEmpty()) {
mFiles = mFilesAll;
@@ -514,11 +523,11 @@ private LocalFileListFooterViewHolder(View itemView) {
}
}
+ @SuppressLint("NotifyDataSetChanged")
@VisibleForTesting
public void setFiles(List newFiles) {
mFiles = newFiles;
- mFilesAll = new ArrayList<>();
- mFilesAll.addAll(mFiles);
+ mFilesAll = new ArrayList<>(mFiles);
notifyDataSetChanged();
localFileListFragmentInterface.setLoading(false);
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt
index 1a11fe7a3251..c2e2c435ebbe 100644
--- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt
@@ -380,7 +380,7 @@ class OCFileListDelegate(
return operationsServiceBinder?.isSynchronizing(user, file) == true ||
fileDownloadHelper.isDownloading(user, file) ||
- fileUploadHelper.isUploading(user, file)
+ fileUploadHelper.isUploading(file.remotePath, user.accountName)
}
private fun showLocalFileIndicator(file: OCFile, holder: ListViewHolder) {
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java
index 9872deb38d47..b06a2b0a5d2d 100755
--- a/app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java
@@ -67,6 +67,8 @@
import java.util.concurrent.TimeUnit;
import androidx.annotation.NonNull;
+import kotlin.Unit;
+import kotlin.jvm.functions.Function0;
/**
* This Adapter populates a ListView with following types of uploads: pending, active, completed. Filtering possible.
@@ -144,7 +146,10 @@ public void onBindHeaderViewHolder(SectionedViewHolder holder, int section, bool
return;
}
- uploadHelper.cancelFileUploads(Arrays.asList(group.items), accountName);
+ for (OCUpload upload: group.items) {
+ uploadHelper.setStatusOfUploadToCancel(upload.getRemotePath());
+ FileUploadWorker.Companion.cancelCurrentUpload(upload.getRemotePath(), accountName, () -> Unit.INSTANCE);
+ }
loadUploadItemsFromDb();
}).start();
case FINISHED -> {
@@ -427,7 +432,8 @@ public void onBindViewHolder(SectionedViewHolder holder, int section, int relati
itemViewHolder.binding.uploadRightButton.setImageResource(R.drawable.ic_action_cancel_grey);
itemViewHolder.binding.uploadRightButton.setVisibility(View.VISIBLE);
itemViewHolder.binding.uploadRightButton.setOnClickListener(v -> {
- uploadHelper.cancelFileUpload(item.getRemotePath(), item.getAccountName());
+ uploadHelper.setStatusOfUploadToCancel(item.getRemotePath());
+ FileUploadWorker.Companion.cancelCurrentUpload(item.getRemotePath(), item.getAccountName(), () -> Unit.INSTANCE);
loadUploadItemsFromDb();
});
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt b/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt
index a88da8904661..6224420f5256 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt
@@ -25,7 +25,6 @@ import android.os.Handler
import android.os.Looper
import android.os.Parcelable
import android.util.DisplayMetrics
-import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuInflater
@@ -57,7 +56,6 @@ import com.nextcloud.client.di.Injectable
import com.nextcloud.client.preferences.AppPreferences
import com.nextcloud.client.preferences.AppPreferencesImpl
import com.nextcloud.utils.extensions.getTypedActivity
-import com.nextcloud.utils.extensions.handleBackButtonEvent
import com.owncloud.android.MainApp
import com.owncloud.android.R
import com.owncloud.android.databinding.ListFragmentBinding
@@ -65,7 +63,6 @@ import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.resources.files.SearchRemoteOperation
import com.owncloud.android.lib.resources.status.OwnCloudVersion
import com.owncloud.android.ui.EmptyRecyclerView
-import com.owncloud.android.ui.activity.FileActivity
import com.owncloud.android.ui.activity.FileDisplayActivity
import com.owncloud.android.ui.activity.FolderPickerActivity
import com.owncloud.android.ui.activity.OnEnforceableRefreshListener
@@ -767,19 +764,6 @@ open class ExtendedListFragment :
}
}
- protected fun setupBackButtonRedirectToAllFiles() {
- view?.isFocusableInTouchMode = true
- view?.requestFocus()
- view?.setOnKeyListener { _: View, keyCode: Int, event: KeyEvent ->
- if (event.action == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
- val fda = getTypedActivity(FileActivity::class.java)
- val currentDir = fda?.currentDir ?: return@setOnKeyListener false
- return@setOnKeyListener fda.handleBackButtonEvent(currentDir)
- }
- false
- }
- }
-
private data class EmptyListData(val headline: Int, val message: Int, val icon: Int?, val tintIcon: Boolean)
companion object {
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
index 858c02ec128a..2aaa0b4f9139 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
@@ -197,7 +197,7 @@ public FileDetailActivitiesFragment getFileDetailActivitiesFragment() {
}
public void goBackToOCFileListFragment() {
- requireActivity().onBackPressed();
+ requireActivity().getOnBackPressedDispatcher().onBackPressed();
}
@Override
@@ -574,7 +574,7 @@ public void updateFileDetails(boolean transferring, boolean refresh) {
// configure UI for depending upon local state of the file
if (transferring
|| (FileDownloadHelper.Companion.instance().isDownloading(user, file))
- || (FileUploadHelper.Companion.instance().isUploading(user, file))) {
+ || (FileUploadHelper.Companion.instance().isUploading(file.getRemotePath(), user.getAccountName()))) {
setButtonsForTransferring();
} else if (file.isDown()) {
@@ -736,7 +736,7 @@ private void setButtonsForTransferring() {
if (FileDownloadHelper.Companion.instance().isDownloading(user, getFile())) {
binding.progressText.setText(R.string.downloader_download_in_progress_ticker);
} else {
- if (FileUploadHelper.Companion.instance().isUploading(user, getFile())) {
+ if (FileUploadHelper.Companion.instance().isUploading(getFile().getRemotePath(), user.getAccountName())) {
binding.progressText.setText(R.string.uploader_upload_in_progress_ticker);
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java
index 672ca0f2ae64..c44c12168a2a 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java
@@ -234,12 +234,6 @@ public void onResume() {
}
}
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- setupBackButtonRedirectToAllFiles();
- }
-
@Override
public void onMessageEvent(ChangeMenuEvent changeMenuEvent) {
super.onMessageEvent(changeMenuEvent);
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java
index 25fa7842fc1c..87ce628db242 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java
@@ -112,7 +112,6 @@ public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new LocalFileListAdapter(mContainerActivity.isFolderPickerMode(),
- mContainerActivity.getInitialDirectory(),
this,
preferences,
getActivity(),
@@ -256,28 +255,21 @@ public void listDirectory() {
* @param directory Directory to be listed
*/
public void listDirectory(File directory) {
-
- // Check input parameters for null
if (directory == null) {
- if (mDirectory != null) {
- directory = mDirectory;
- } else {
- directory = Environment.getExternalStorageDirectory();
- // TODO be careful with the state of the storage; could not be available
- if (directory == null) {
- return; // no files to show
- }
- }
+ directory = (mDirectory != null) ? mDirectory : Environment.getExternalStorageDirectory();
+ if (directory == null) return;
}
-
- // if that's not a directory -> List its parent
+ // If input is not a directory, list its parent
if (!directory.isDirectory()) {
Log_OC.w(TAG, "You see, that is not a directory -> " + directory);
directory = directory.getParentFile();
+ if (directory == null) {
+ Log_OC.w(TAG, "parent directory is null, cannot swap directory");
+ return;
+ }
}
- // by now, only files in the same directory will be kept as selected
mAdapter.removeAllFilesFromCheckedFiles();
mAdapter.swapDirectory(directory);
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
index 8961b2fdbbcf..8623c5420cb4 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
@@ -277,12 +277,6 @@ public void onResume() {
super.onResume();
}
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- setupBackButtonRedirectToAllFiles();
- }
-
@Override
public void onDestroyView() {
super.onDestroyView();
@@ -2325,4 +2319,15 @@ public boolean isEmpty() {
public SearchEvent getSearchEvent() {
return searchEvent;
}
+
+ public boolean isSearchEventFavorite() {
+ if (searchEvent == null) {
+ return false;
+ }
+ return searchEvent.getSearchType() == SearchRemoteOperation.SearchType.FAVORITE_SEARCH;
+ }
+
+ public boolean shouldNavigateBackToAllFiles() {
+ return ((this instanceof GalleryFragment) || isSearchEventFavorite() || DrawerActivity.menuItemId == R.id.nav_favorites);
+ }
}
diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupListFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupListFragment.java
index 03c8f0e52786..99ff53f53368 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupListFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupListFragment.java
@@ -404,7 +404,7 @@ private void importCalendar() {
private void closeFragment() {
ContactsPreferenceActivity contactsPreferenceActivity = (ContactsPreferenceActivity) getActivity();
if (contactsPreferenceActivity != null) {
- contactsPreferenceActivity.onBackPressed();
+ contactsPreferenceActivity.getOnBackPressedDispatcher().onBackPressed();
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java b/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
index 283e191e60c5..268abd74aefa 100755
--- a/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
+++ b/app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
@@ -34,6 +34,7 @@
import com.nextcloud.client.jobs.BackgroundJobManager;
import com.nextcloud.client.jobs.download.FileDownloadHelper;
import com.nextcloud.client.jobs.upload.FileUploadHelper;
+import com.nextcloud.client.jobs.upload.FileUploadWorker;
import com.nextcloud.client.network.ConnectivityService;
import com.nextcloud.utils.EditorUtils;
import com.owncloud.android.MainApp;
@@ -86,7 +87,6 @@
import java.util.Date;
import java.util.List;
import java.util.Locale;
-import java.util.NoSuchElementException;
import java.util.Optional;
import java.util.Set;
import java.util.regex.Matcher;
@@ -97,6 +97,7 @@
import androidx.core.content.FileProvider;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
+import kotlin.Unit;
/**
* Helper implementation for file operations locally and remote.
@@ -1006,17 +1007,22 @@ public void cancelTransference(OCFile file) {
}
}
- if (FileDownloadHelper.Companion.instance().isDownloading(currentUser, file)) {
+ final var fileDownloadHelper = FileDownloadHelper.Companion.instance();
+ if (fileDownloadHelper.isDownloading(currentUser, file)) {
List files = fileActivity.getStorageManager().getAllFilesRecursivelyInsideFolder(file);
- FileDownloadHelper.Companion.instance().cancelPendingOrCurrentDownloads(currentUser, files);
+ fileDownloadHelper.cancelPendingOrCurrentDownloads(currentUser, files);
}
- if (FileUploadHelper.Companion.instance().isUploading(currentUser, file)) {
- try {
- FileUploadHelper.Companion.instance().cancelFileUpload(file.getRemotePath(), currentUser.getAccountName());
- } catch (NoSuchElementException e) {
- Log_OC.e(TAG, "Error cancelling current upload because user does not exist!");
- }
+ if (file.isFolder()) {
+ fileDownloadHelper.cancelFolderDownload();
+ }
+
+ final var fileUploadHelper = FileUploadHelper.Companion.instance();
+ if (fileUploadHelper.isUploading(file.getRemotePath(), currentUser.getAccountName())) {
+ FileUploadWorker.Companion.cancelCurrentUpload(file.getRemotePath(), currentUser.getAccountName(), () -> {
+ fileUploadHelper.setStatusOfUploadToCancel(file.getRemotePath());
+ return Unit.INSTANCE;
+ });
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewBitmapActivity.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewBitmapActivity.kt
index c5265015bb21..b6c9e86c2d16 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewBitmapActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewBitmapActivity.kt
@@ -54,7 +54,7 @@ class PreviewBitmapActivity :
}
override fun onSupportNavigateUp(): Boolean {
- onBackPressed()
+ onBackPressedDispatcher.onBackPressed()
return true
}
}
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.kt
index c71c86bd2930..1d575dd32f5a 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.kt
@@ -14,6 +14,7 @@ import android.os.Build
import android.os.Bundle
import android.view.MenuItem
import android.view.View
+import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.ActionBar
import androidx.core.content.ContextCompat
import androidx.drawerlayout.widget.DrawerLayout
@@ -123,6 +124,7 @@ class PreviewImageActivity :
observeWorkerState()
applyDisplayCutOutTopPadding()
+ handleBackPress()
}
private fun applyDisplayCutOutTopPadding() {
@@ -214,9 +216,14 @@ class PreviewImageActivity :
}
}
- override fun onBackPressed() {
- sendRefreshSearchEventBroadcast()
- super.onBackPressed()
+ private fun handleBackPress() {
+ onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ sendRefreshSearchEventBroadcast()
+ isEnabled = false
+ onBackPressedDispatcher.onBackPressed()
+ }
+ })
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.kt
index a3aec178ad48..99b0bffc4bf3 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.kt
@@ -165,7 +165,7 @@ abstract class PreviewTextFragment :
* Finishes the preview
*/
protected fun finish() {
- requireActivity().runOnUiThread { requireActivity().onBackPressed() }
+ requireActivity().runOnUiThread { requireActivity().onBackPressedDispatcher.onBackPressed() }
}
companion object {
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewVideoFullscreenDialog.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewVideoFullscreenDialog.kt
index 30b9da6a53cb..dd1e6814eccc 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewVideoFullscreenDialog.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewVideoFullscreenDialog.kt
@@ -7,15 +7,16 @@
*/
package com.owncloud.android.ui.preview
-import android.app.Activity
import android.app.Dialog
import android.os.Build
import android.view.ViewGroup
import android.view.Window
+import androidx.activity.addCallback
import androidx.annotation.OptIn
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
+import androidx.fragment.app.FragmentActivity
import androidx.media3.common.util.UnstableApi
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.ui.PlayerView
@@ -35,7 +36,7 @@ import com.owncloud.android.lib.common.utils.Log_OC
*/
@OptIn(UnstableApi::class)
class PreviewVideoFullscreenDialog(
- private val activity: Activity,
+ private val activity: FragmentActivity,
nextcloudClient: NextcloudClient,
private val sourceExoPlayer: ExoPlayer,
private val sourceView: PlayerView
@@ -69,6 +70,7 @@ class PreviewVideoFullscreenDialog(
binding.videoPlayer.player = mExoPlayer
mExoPlayer.prepare()
}
+ handleOnBackPressed()
}
private fun isRotatedVideo(): Boolean {
@@ -95,7 +97,7 @@ class PreviewVideoFullscreenDialog(
setOnShowListener {
enableImmersiveMode()
switchTargetViewFromSource()
- binding.videoPlayer.setFullscreenButtonClickListener { onBackPressed() }
+ binding.videoPlayer.setFullscreenButtonClickListener { activity.onBackPressedDispatcher.onBackPressed() }
if (isPlaying) {
mExoPlayer.play()
}
@@ -111,23 +113,25 @@ class PreviewVideoFullscreenDialog(
}
}
- override fun onBackPressed() {
- val isPlaying = mExoPlayer.isPlaying
- if (isPlaying) {
- mExoPlayer.pause()
- }
- setOnDismissListener {
- disableImmersiveMode()
- playingStateListener?.let {
- mExoPlayer.removeListener(it)
- }
- switchTargetViewToSource()
+ private fun handleOnBackPressed() {
+ activity.onBackPressedDispatcher.addCallback(activity) {
+ val isPlaying = mExoPlayer.isPlaying
if (isPlaying) {
- sourceExoPlayer.play()
+ mExoPlayer.pause()
+ }
+ setOnDismissListener {
+ disableImmersiveMode()
+ playingStateListener?.let {
+ mExoPlayer.removeListener(it)
+ }
+ switchTargetViewToSource()
+ if (isPlaying) {
+ sourceExoPlayer.play()
+ }
+ sourceView.showController()
}
- sourceView.showController()
+ dismiss()
}
- dismiss()
}
private fun switchTargetViewToSource() {
diff --git a/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt b/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt
index 64a103bce539..2ceef02b13e3 100644
--- a/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt
+++ b/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt
@@ -128,6 +128,7 @@ class TrashbinActivity :
updateActionBarTitleAndHomeButtonByString(getString(R.string.trashbin_activity_title))
setupDrawer()
+ handleBackPress()
}
override fun onStart() {
@@ -179,8 +180,6 @@ class TrashbinActivity :
loadFolder()
- handleOnBackPressed()
-
mMultiChoiceModeListener = MultiChoiceModeListener(
this,
trashbinListAdapter,
@@ -189,7 +188,7 @@ class TrashbinActivity :
addDrawerListener(mMultiChoiceModeListener)
}
- private fun handleOnBackPressed() {
+ private fun handleBackPress() {
onBackPressedDispatcher.addCallback(
this,
onBackPressedCallback
@@ -390,7 +389,7 @@ class TrashbinActivity :
binding.emptyList.emptyListViewHeadline.visibility = View.VISIBLE
binding.emptyList.emptyListViewText.visibility = View.VISIBLE
binding.emptyList.emptyListView.visibility = View.VISIBLE
- binding.emptyList.emptyListIcon.setImageResource(R.drawable.ic_cloud_sync_off)
+ binding.emptyList.emptyListIcon.setImageResource(R.drawable.ic_sync_off)
}
private fun openActionsMenu(filesCount: Int, checkedFiles: Set) {
diff --git a/app/src/main/res/drawable/ic_sync_off.xml b/app/src/main/res/drawable/ic_sync_off.xml
new file mode 100644
index 000000000000..2f3d628373db
--- /dev/null
+++ b/app/src/main/res/drawable/ic_sync_off.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 0749208326e4..b8bae67252a7 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -15,7 +15,7 @@
List visning
Gendan kontakter og kalender
Ny mappe
- Flyt eller kopier
+ Flyt eller kopiér
Åbn med
Søg
Detaljer
@@ -211,7 +211,7 @@
Det er ikke muligt at kopiere en mappe til en af dens egne undermapper
Filen findes allerede i destinationsmappen
Ikke muligt at kopiere. Undersøg venligst om filen eksisterer.
- Kopier link
+ Kopiér link
Kopier/flyt til krypteret mappe endnu ikke understøttet.
Kunne ikke hente hele billedet
Kunne ikke hente delte drev
@@ -460,9 +460,9 @@
Succes ved genskabning af fil version!
Detaljer
Download
- Eksporter
+ Eksportér
File omdøbt %1$sunder overførelse
- Synkroniser
+ Synkronisér
Ingen fil valgt
Filnavnet kan ikke stå tomt.
Ugyldige tegn: / \\ < > : \" | ? *
@@ -479,7 +479,7 @@
Mappenavnet må ikke være tomt
Vælg
Vælg destinationsmappe
- Kopier
+ Kopiér
Flyt
Du har ikke tilladelse %s
til at kopiere denne fil
@@ -819,7 +819,7 @@
Del
Tillad download og synkronisering
Vi kunne ikke opdatere delingen. Tilføj en note og prøv igen.
- Del og kopier link
+ Del og kopiér link
Opret
Brugerdefinerede rettigheder
Slet
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 86a6fec218cd..67ce59cf0322 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -209,6 +209,7 @@
Der Import konnte nicht gestartet werden. Bitte erneut versuchen
Keine Datei gefunden
Wir können Ihr letztes Backup nicht finden!
+ Erkennen von Inhaltsänderungen
In die Zwischenablage kopiert
Es ist ein Fehler beim Kopieren der Datei oder des Ordners aufgetreten.
Es ist nicht möglich, einen Ordner in einen seiner Unterordner zu kopieren
@@ -614,6 +615,8 @@
Aktion konnte nicht ausgeführt werden
Benachrichtigungen anzeigen, um auf die Ergebnisse von Hintergrundoperationen zu reagieren
Hintergrundvorgänge
+ Erkennt lokale Dateiänderungen
+ Inhaltsmonitor
Zeigt den Herunterlade-Fortschritt an
Downloads
Zeigt den Fortschritt der Dateisynchronisierung und die Ergebnisse an
diff --git a/app/src/main/res/values-et-rEE/strings.xml b/app/src/main/res/values-et-rEE/strings.xml
index 9d421214aee7..857351ea9d63 100644
--- a/app/src/main/res/values-et-rEE/strings.xml
+++ b/app/src/main/res/values-et-rEE/strings.xml
@@ -100,9 +100,11 @@
Palun lõpeta sisselogimisprotsess oma veebibrauseris
Kuna akukasutuse optimeerimine on lülitatud sisse, siis automaatne üleslaadimine pole töös.
säilitatud lugemisõigustega algkaustas
+ Aku on üsna tühi, üleslaadimine võib kesta kauem
Laadi üles ainult mahupiiranguta WiFi võrgus
/AutoUpload
Kuna ülalpool asuv kaust kuulub sünkroonimisele, siis see kaust on juba kaasatud ning nii võivad tekkida topelt üleslaadimised
+ Ootan sünkroonimiseks WiFi ühenduse loomist
Laadin faile üles: %s kuni %s
Seadista
Loo uus kohandatud kausta seadistus
@@ -207,6 +209,7 @@
Ei õnnestunud käivitada importimist. Palun proovi uuesti
Faili ei leitud
Sinu viimast varukoopiat ei leidu!
+ Tuvastan sisu muudatusi
Kopeeritud lõikepuhvrisse
Selle faili või kausta kopeerimisel tekkis tõrge
Kausta ei saa kopeerida tema enda alamkausta
@@ -612,6 +615,8 @@
Ei õnnestunud käivitada tegevust.
Näita teavitusi, mis võimaldavad suhelda taustal tehtud toimingutega
Toimingud taustal
+ Tuvastab kohalike failide muudatused
+ Sisuvaatleja
Näitab allalaadimise edenemist
Allalaadimised
Näitab failide sünkroniseerimise edenemist ja tulemusi
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 2e0bf14468b8..74435ca16f57 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -209,6 +209,7 @@
Importación fallou ao iniciar. Ténteo de novo
Non se atopou ningún ficheiro
Non foi posíbel atopar a súa última copia de seguranza!
+ Detección de cambios no contido
Copiado no portapapeis
Produciuse un erro ao tentar copiar este ficheiro ou cartafol.
Non é posíbel copiar un cartafol nun dos seus propios subcartafoles
@@ -614,6 +615,8 @@
Produciuse un fallo ao executar a acción.
Amosar notificacións para interactuar co resultado das operacións en segundo plano
Operacións en segundo plano
+ Detecta os cambios nos ficheiros locais
+ Observador do contido
Amosa o progreso da descarga
Descargas
Amosa o progreso e os resultados da sincronización de ficheiros
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index ffea016f1285..dd62d2034b94 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -98,10 +98,13 @@
Houve um problema ao processar sua solicitação de login. Tente novamente mais tarde.
Não há nenhum navegador disponível para abrir este link.
Por favor, conclua o processo de login no seu navegador
+ O upload automático está pausado porque o Economizador de Bateria está ativado.
mantido na pasta original, já que é somente leitura
+ Bateria fraca, o upload pode demorar mais tempo
Enviar só por WiFi não medida
/UploadAutomático
Esta pasta já está incluída na sincronização da pasta pai, o que pode causar uploads duplicados
+ Aguardando o Wi-Fi para iniciar o upload
Fazendo upload de arquivos de %s a %s
Configurar
Criar nova configuração de pasta personalizada
@@ -206,6 +209,7 @@
Falha ao iniciar a importação. Por favor, tente novamente.
Nenhum arquivo encontrado
Não foi possível encontrar seu último backup!
+ Detectando alterações no conteúdo
Copiado para a área de transferência
Ocorreu um erro ao tentar copiar este arquivo ou pasta
Não é possível copiar uma pasta para uma das suas próprias pastas subjacentes
@@ -611,6 +615,8 @@
Erro ao executar a ação.
Mostrar notificações para interagir com o resultado de operações em segundo plano
Operações em segundo plano
+ Detecta alterações em arquivos locais
+ Observador de conteúdo
Mostra o progresso de download
Downloads
Mostra o progresso sincronização de arquivo e resultados
@@ -988,6 +994,7 @@
Evento não encontrado, você sempre pode sincronizar para atualizar. Redirecionando para a web…
Contato não encontrado, você sempre pode sincronizar para atualizar. Redirecionando para web…
São necessárias permissões para abrir o resultado da pesquisa, caso contrário, ele será redirecionado para a web…
+ Nesta pasta
Desconhecido
Destrancar arquivo
Existem comentários não lidos
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index ba9dbc63569a..bd81d09b23a0 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -209,6 +209,7 @@
Importen kunde inte startas. Försök igen
Ingen fil funnen
Vi kunde inte hitta din senaste backup!
+ Upptäcker innehållsförändringar
Kopierat till urklipp
Ett fel uppstod, kunde inte kopiera filen eller mappen
Det är inte möjligt att kopiera mappen till en av dess undermappar
@@ -614,6 +615,8 @@
Misslyckades utföra åtgärd.
Visa aviseringar för att interagera resultatet av bakgrundsoperationer
Bakgrundsoperationer
+ Upptäcker lokala filändringar
+ Innehållsövervakare
Visar hämtningsförloppet
Nerladdningar
Visar filsynkroniserings förlopp och resultat
diff --git a/app/src/main/res/values-sw/strings.xml b/app/src/main/res/values-sw/strings.xml
index 8b039fea458b..744b01361288 100644
--- a/app/src/main/res/values-sw/strings.xml
+++ b/app/src/main/res/values-sw/strings.xml
@@ -100,9 +100,11 @@
Tafadhali kamilisha mchakato wa kuingia katika kivinjari chako
Upakiaji otomatiki umesitishwa kwa sababu Kiokoa Betri kimewashwa.
iliyohifadhiwa kwenye folda asili, kwani inasomwa tu
+ Betri iko chini, upakiaji unaweza kuchukua muda mrefu
Pakia kwenye Wi-Fi isiyopimwa pekee
/Pakia Kiotomatiki
Folda hii tayari imejumuishwa katika usawazishaji wa folda kuu, ambayo inaweza kusababisha upakiaji unaorudiwa
+ Inasubiri Wi-Fi kuanza kupakia
Inapakia faili kutoka %s hadi %s
Sanidi
Unda usanidi mpya wa folda maalum
@@ -207,6 +209,7 @@
Imeshindwa kuanza kuleta. Tafadhali jaribu tena
Hakuna faili iliyopatikana
Haikuweza kupata nakala yako ya mwisho!
+ Inagundua mabadiliko ya maudhui
Nakili katika ubao wa kunakili
Hitilafu ilitokea wakati wa kujaribu kunakili faili au folda hii
Haiwezekani kunakili folda kwenye mojawapo ya folda zake za msingi
@@ -612,6 +615,8 @@
Imeshindwa kutekeleza kitendo.
Onyesha arifa ili kuingiliana na matokeo ya shughuli za usuli
Shughuli za usuli
+ Hutambua mabadiliko ya faili za ndani
+ Mtazamaji wa maudhui
Inaonyesha maendeleo ya upakuaji
Vipakuliwa
Inaonyesha maendeleo ya usawazishaji wa faili na matokeo
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 49a800a774f9..e0717900a1bb 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -209,6 +209,7 @@
İçe aktarım başlatılamadı. Lütfen yeniden deneyin
Herhangi bir dosya bulunamadı
Son yedeğiniz bulunamadı!
+ İçerik değişiklikleri denetleniyor
Panoya kopyalandı
Bu dosya ya da klasör kopyalanmaya çalışılırken bir sorun çıktı
Bir klasör kendi alt klasörü olarak kopyalanamaz
@@ -614,6 +615,8 @@
İşlem yapılamadı.
Arka plan işlemlerinin sonucuyla etkileşim kurmak için bildirimleri görüntüle
Arka plan işlemleri
+ Yerel dosya değişikliklerini algılar
+ İçerik izleyici
İndirme ilerlemesini görüntüler
İndirmeler
Dosya eşitleme ilerlemesi ve sonuçlarını görüntüler
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index e079082c2a6f..8d16575542a0 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -209,6 +209,7 @@
匯入無法開始。請再試一次
找不到檔案
找不到您最新的備份!
+ 偵測內容變更
已複製到剪貼簿
嘗試複製此檔案或資料夾時發生錯誤
無法將資料夾複製到自己的子資料夾中
@@ -614,6 +615,8 @@
執行動作失敗。
顯示通知以與背景操作的結果互動
背景操作
+ 偵測本機檔案變更
+ 內容觀察器
顯示下載進度
下載
顯示檔案同步進度和結果
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 768ffc8ab538..7b1e111f2361 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -237,6 +237,12 @@
%1$d / %2$d - %3$s
+ Syncing…
+ %s folder successfully synchronized
+ An error occurred during synchronization of the %s folder
+ %1$d of %2$d · %3$s
+ Insufficient disk space, synchronization canceled
+
Uploading…
%1$d%% Uploading %2$s
%1$s uploaded
diff --git a/appscan/build.gradle b/appscan/build.gradle
deleted file mode 100644
index 2dd65e4eabb9..000000000000
--- a/appscan/build.gradle
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-FileCopyrightText: 2023 Álvaro Brey
- * SPDX-FileCopyrightText: 2023 Andy Scherzinger
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-buildscript {
- dependencies {
- classpath "com.android.tools.build:gradle:$androidPluginVersion"
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
-apply plugin: "com.android.library"
-apply plugin: "kotlin-android"
-
-android {
- namespace = "com.nextcloud.appscan"
-
- defaultConfig {
- minSdk = 27
- targetSdk = 35
- compileSdk = 35
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
-
- buildTypes {
- release {
- minifyEnabled = false
- }
- }
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
-
- kotlinOptions {
- jvmTarget = "17"
- }
-}
-
-dependencies {
- implementation "androidx.appcompat:appcompat:$appCompatVersion"
- implementation "com.github.Hazzatur:Document-Scanning-Android-SDK:$documentScannerVersion"
- implementation "com.github.nextcloud.android-common:ui:$androidCommonLibraryVersion"
-}
diff --git a/appscan/build.gradle.kts b/appscan/build.gradle.kts
new file mode 100644
index 000000000000..9f2471cdc4b8
--- /dev/null
+++ b/appscan/build.gradle.kts
@@ -0,0 +1,50 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2023 Álvaro Brey
+ * SPDX-FileCopyrightText: 2023 Andy Scherzinger
+ * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ */
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+
+plugins {
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.jetbrains.kotlin.android)
+}
+
+android {
+ namespace = "com.nextcloud.appscan"
+
+ defaultConfig {
+ minSdk = 27
+ compileSdk = 36
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+
+ lint.targetSdk = 35
+ testOptions.targetSdk = 35
+}
+
+kotlin.compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_17)
+ freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
+}
+
+dependencies {
+ implementation(libs.appcompat)
+ implementation(libs.document.scanning.android.sdk)
+ implementation(libs.ui)
+}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 14482f6f01d7..000000000000
--- a/build.gradle
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-FileCopyrightText: 2023 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2022 Álvaro Brey Vilas
- * SPDX-FileCopyrightText: 2016 Andy Scherzinger
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-buildscript {
- ext {
- androidLibraryVersion ="5da34c70da4068ff976cf931b7716fc7a337f32d"
- androidCommonLibraryVersion = "0.28.0"
- androidPluginVersion = '8.13.0'
- androidxMediaVersion = "1.5.1"
- androidxTestVersion = "1.7.0"
- appCompatVersion = "1.7.1"
- checkerVersion = "3.21.2"
- daggerVersion = "2.57.1"
- documentScannerVersion = "1.2.3"
- espressoVersion = "3.6.1"
- jacoco_version = "0.8.13"
- kotlin_version = "2.2.20"
- markwonVersion = "4.6.2"
- mockitoVersion = "4.11.0"
- mockitoKotlinVersion = "4.1.0"
- mockkVersion = "1.14.5"
- prismVersion = "2.0.0"
- roomVersion = "2.8.0"
- workRuntime = "2.10.3"
-
- ciBuild = System.getenv("CI") == "true"
- shotTest = System.getenv("SHOT_TEST") == "true"
- }
-}
-
-subprojects {
- buildscript {
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
- }
- repositories {
- google()
- mavenCentral()
- maven { url = "https://jitpack.io" }
- }
-}
-
-tasks.register("clean", Delete) {
- delete rootProject.layout.buildDirectory
-}
-
-tasks.register("installGitHooks", Copy) {
- def sourceFolder = "${rootProject.projectDir}/scripts/hooks"
- def destFolder = "${rootProject.projectDir}/.git/hooks"
-
- description = "Install git hooks"
-
- from(sourceFolder) {
- include "*"
- }
- into destFolder
-
- eachFile { file ->
- println "${sourceFolder}/${file.relativeSourcePath} -> ${destFolder}/${file.path}"
- }
-}
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 000000000000..f60e76ea9386
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,41 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2023 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2022 Álvaro Brey Vilas
+ * SPDX-FileCopyrightText: 2016 Andy Scherzinger
+ * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ */
+plugins {
+ alias(libs.plugins.android.application) apply false
+ alias(libs.plugins.android.library) apply false
+ alias(libs.plugins.jetbrains.kotlin.android) apply false
+ alias(libs.plugins.kotlin.compose) apply false
+ alias(libs.plugins.spotless) apply false
+ alias(libs.plugins.kapt) apply false
+ alias(libs.plugins.ksp) apply false
+ alias(libs.plugins.kotlin.serialization) apply false
+ alias(libs.plugins.kotlin.parcelize) apply false
+ alias(libs.plugins.spotbugs) apply false
+ alias(libs.plugins.detekt) apply false
+ // needed to make renovate run without shot, as shot requires Android SDK
+ // https://github.com/pedrovgs/Shot/issues/300
+ alias(libs.plugins.shot) apply false
+}
+
+tasks.register("clean") {
+ delete(rootProject.layout.buildDirectory)
+}
+
+tasks.register("installGitHooks") {
+ description = "Install git hooks"
+
+ val sourceFolder = "${rootProject.projectDir}/scripts/hooks"
+ val destFolder = "${rootProject.projectDir}/.git/hooks"
+
+ from(sourceFolder) { include("*") }
+ into(destFolder)
+ eachFile { println("${sourceFolder}/${file.path} -> ${destFolder}/${file.path}") }
+}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index a7ff115f83ba..622531d0a9b5 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -5,23 +5,30 @@
androidCommonLibraryVersion = "0.28.0"
androidGifDrawableVersion = "1.2.29"
androidImageCropperVersion = "4.6.0"
+androidLibraryVersion = "3546bd82fc"
+androidPluginVersion = '8.13.0'
androidsvgVersion = "1.4"
+androidxMediaVersion = "1.5.1"
androidxTestVersion = "1.7.0"
-annotationsVersion = "3.0.1u2"
annotationVersion = "1.9.1"
+annotationsVersion = "3.0.1u2"
appCompatVersion = "1.7.1"
bcpkixJdk18onVersion = "1.81"
cardviewVersion = "1.0.0"
+checker = "3.21.2"
coilVersion = "2.7.0"
commonsHttpclient = "3.1"
commonsIoVersion = "2.20.0"
+composeBom = "2025.09.00"
conscryptAndroidVersion = "2.5.3"
constraintlayoutVersion = "2.2.1"
coreTestingVersion = "2.2.0"
coreVersion = "0.15.0"
daggerVersion = "2.57.1"
+detektGradlePlugin = "1.23.8"
dexopenerVersion = "2.0.5"
disklrucacheVersion = "2.0.2"
+documentScannerVersion = "1.2.3"
emojiGoogleVersion = "0.21.0"
espressoVersion = "3.7.0"
eventbusVersion = "3.3.1"
@@ -36,10 +43,13 @@ glide = "5.0.5"
gsonVersion = "2.13.2"
ical4jVersion = "3.2.19"
jackrabbitWebdavVersion = "2.13.5"
+jacoco = "0.8.13"
jsonVersion = "20250517"
junit = "4.13.2"
junitVersion = "1.3.0"
juniversalchardetVersion = "2.5.0"
+kotlinxSerializationJson = "1.9.0"
+leakcanary = "2.14"
legacySupportV4Version = "1.0.0"
libraryVersion = "1.3.0"
lifecycleViewmodelKtxVersion = "2.9.4"
@@ -64,14 +74,13 @@ screengrabVersion = "2.1.1"
sectionedRecyclerviewVersion = "0.6.1"
shotVersion = "6.1.0"
splash-screen = "1.0.1"
-composeBom = "2025.09.00"
spotbugsGradlePlugin = "6.4.2"
-detektGradlePlugin = "1.23.8"
spotless = "7.2.1"
stateless4jVersion = "2.6.0"
webkitVersion = "1.14.0"
workRuntime = "2.10.4"
-kotlinxSerializationJson = "1.9.0"
+objenesis = "3.4"
+slfj = "1.7.36"
kotlin = "2.2.20"
ksp = "2.2.20-2.0.3"
@@ -79,6 +88,7 @@ ksp = "2.2.20-2.0.3"
[libraries]
# Crypto
+android-library = { module = "com.github.nextcloud:android-library", version.ref = "androidLibraryVersion" }
conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscryptAndroidVersion" }
bcpkix-jdk18on = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bcpkixJdk18onVersion" }
@@ -86,6 +96,7 @@ bcpkix-jdk18on = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bc
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appCompatVersion" }
cardview = { module = "androidx.cardview:cardview", version.ref = "cardviewVersion" }
core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTestVersion" }
+document-scanning-android-sdk = { module = "com.github.Hazzatur:Document-Scanning-Android-SDK", version.ref = "documentScannerVersion" }
fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragmentKtxVersion" }
exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "exifinterfaceVersion" }
webkit = { module = "androidx.webkit:webkit", version.ref = "webkitVersion" }
@@ -129,20 +140,26 @@ jackrabbit-webdav = { module = "org.apache.jackrabbit:jackrabbit-webdav", versio
json = { module = "org.json:json", version.ref = "jsonVersion" }
juniversalchardet = { module = "com.github.albfernandez:juniversalchardet", version.ref = "juniversalchardetVersion" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
+leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
nnio = { module = "org.lukhnos:nnio", version.ref = "nnioVersion" }
org-jbundle-util-osgi-wrapped-org-apache-http-client = { module = "org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client", version.ref = "orgJbundleUtilOsgiWrappedOrgApacheHttpClientVersion" }
osmdroid-android = { module = "org.osmdroid:osmdroid-android", version.ref = "osmdroidAndroidVersion" }
+objenesis = { module = "org.objenesis:objenesis", version.ref = "objenesis" }
play-services-base = { module = "com.google.android.gms:play-services-base", version.ref = "playServicesBaseVersion" }
review-ktx = { module = "com.google.android.play:review-ktx", version.ref = "reviewKtxVersion" }
+slfj = { module = "org.slf4j:jcl-over-slf4j", version.ref = "slfj" }
# Mockito
mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockitoVersion" }
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoVersion" }
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlinVersion" }
mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockkVersion" }
+mockk = { module = "io.mockk:mockk", version.ref = "mockkVersion" }
# Dagger
dagger = { module = "com.google.dagger:dagger", version.ref = "daggerVersion" }
+dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "daggerVersion" }
+dagger-processor = { module = "com.google.dagger:dagger-android-processor", version.ref = "daggerVersion" }
dagger-android = { module = "com.google.dagger:dagger-android", version.ref = "daggerVersion" }
dagger-android-support = { module = "com.google.dagger:dagger-android-support", version.ref = "daggerVersion" }
@@ -173,6 +190,7 @@ media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
# Room
room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomVersion" }
+room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomVersion" }
room-testing = { module = "androidx.room:room-testing", version.ref = "roomVersion" }
# Espresso
@@ -185,6 +203,7 @@ espresso-web = { module = "androidx.test.espresso:espresso-web", version.ref = "
# Test
junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
+
core-testing = { module = "androidx.arch.core:core-testing", version.ref = "coreTestingVersion" }
orchestrator = { module = "androidx.test:orchestrator", version.ref = "orchestratorVersion" }
rules = { module = "androidx.test:rules", version.ref = "androidxTestVersion" }
@@ -208,6 +227,7 @@ stateless4j = { module = "com.github.stateless4j:stateless4j", version.ref = "st
syntax-highlight = { module = "io.noties.markwon:syntax-highlight", version.ref = "markwonVersion" }
core = { module = "io.noties.markwon:core", version.ref = "markwonVersion" }
prism4j = { module = "io.noties:prism4j", version.ref = "prismVersion" }
+prism4j-bundler = { module = "io.noties:prism4j-bundler", version.ref = "prismVersion" }
# Nextcloud libraries
ui = { module = "com.github.nextcloud.android-common:ui", version.ref = "androidCommonLibraryVersion" }
@@ -217,9 +237,55 @@ qrcodescanner = { module = "com.github.nextcloud-deps:qrcodescanner", version.re
work-runtime = { module = "androidx.work:work-runtime", version.ref = "workRuntime" }
work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntime" }
+[bundles]
+media3 = ["media3-ui", "media3-session", "media3-exoplayer", "media3-datasource"]
+espresso = ["espresso-core", "espresso-contrib", "espresso-web", "espresso-accessibility", "espresso-intents", "espresso-idling-resource"]
+ui = ["appcompat", "webkit", "cardview", "exifinterface", "fragment-ktx"]
+markdown-rendering = [
+ "core",
+ "ext-strikethrough",
+ "ext-tables",
+ "ext-tasklist",
+ "html",
+ "syntax-highlight",
+ "prism4j"
+]
+unit-test = [
+ "junit-junit",
+ "test-core",
+ "json",
+ "mockito-kotlin",
+ "mockk",
+ "mockk-android",
+ "mockito-core",
+ "mockito-android",
+ "core-testing"
+]
+mocking = [
+ "dexopener", # required to allow mocking on API 27 and older
+ "mockito-kotlin",
+ "mockk",
+ "mockk-android",
+ "mockito-core",
+ "mockito-android",
+ "screenshot-core"
+]
+gplay = [
+ "firebase-messaging",
+ "play-services-base",
+ "review-ktx"
+]
+
[plugins]
+android-application = { id = "com.android.application", version.ref = "androidPluginVersion" }
+android-library = { id = "com.android.library", version.ref = "androidPluginVersion" }
+kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
+spotbugs = { id = "com.github.spotbugs", version.ref = "spotbugsGradlePlugin" }
+jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
+detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detektGradlePlugin" }
+shot = { id = "shot", version.ref = "shotVersion" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
\ No newline at end of file
diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys
index 56a931fe87be..e89a6eafc0e4 100644
--- a/gradle/verification-keyring.keys
+++ b/gradle/verification-keyring.keys
@@ -4305,12 +4305,12 @@ LvP3QTunylbyi7d08StavF/ke859RDaPfzxjyFabx8IX/tHw0L7rPz2B+TA=
pub 0729A0AFF8999A87
uid Kotlin Release
-sub 6005789E24E5AD1E
-sub 6A0975F8B1127B83
sub 3FF44D37464BBB7E
+sub 6A0975F8B1127B83
+sub 6005789E24E5AD1E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBFzy4ngBDAC4mz6ELMWjfJ8GZtolq3E96T7qjfp4J9FxGVxdbJxkEDnn6MTg
+xsDNBFzy4ngBDAC4mz6ELMWjfJ8GZtolq3E96T7qjfp4J9FxGVxdbJxkEDnn6MTg
V8zhD7yeSZcUSvwzPiDlB/b4RYnh+5LjzKHTsrtr9ja0SupuCkVGkMGWeHhpIGV9
BekEY50RClpOvZktu/sSao6cGe9n/TQ9MrWwDDDwdUdZyain1xLoWVvLRxqk36+O
kbND5RvwfHLquyxbbmQPNbXZTDmhBq38dfnH6QPogVZHR3XaEg/izbRdT2Z0mk/W
@@ -4319,181 +4319,218 @@ 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
-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
-YRZkBBq4sx89ZzMKWyalsQ8=
-=CSQc
+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
+KzsH9fpdPeIAPxCxefNNz4CkoQ==
+=rF7i
-----END PGP PUBLIC KEY BLOCK-----
pub 07AB29E5E5EE5FCF
@@ -4502,7 +4539,7 @@ uid Zhang Hai
sub 81BBB32F3472C748
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFV5A8gBEADau5RoDVKJOtRj/Ww/4Whdjwn+GMPfFOD4KaHfco5vPtxkgCDm
+xsFNBFV5A8gBEADau5RoDVKJOtRj/Ww/4Whdjwn+GMPfFOD4KaHfco5vPtxkgCDm
jHqC9FvLElNSPYqnrw2xfRPGYUAtVHSkBWOtZTknEm+S/HKuXwkAlKzEvR/drplR
RRSdNOVhYVy97Fzay/MEFAmaqrr5xwas/3YGeeEwkFPsPCOToSTTP/qtjyvQZCw4
mrpXB8dlcise00dD/pxlpPIu/2rSBqjUVWlKgT7AdCBYIKtdOM/cgCcHIZ+pzuU+
@@ -4513,7 +4550,7 @@ dm6x7vA+ksbhOOkQL138zUY1cHoDTUeVn+MxQC1Ve/oJc+anmUkBuw8Y2jL6wOp6
JdKUElRx4hM0rFIpPePSufHFHm/UsGadHE+qkp35fWYfoA298m2MRwsB9yX80F4T
0OvFd3mJbIfv9uraVxxaiK9dCn6bbUJV4j5YJV/UGyZyjEUG1gqSoCIb6B3O79a7
xO5S/L7Aiu1vuDn/j7R7ZOvvfJMJKkBEoO0yeAyHKhgu+7ucYi4O9i5t7QARAQAB
-tClaaGFuZyBIYWkgPGRyZWFtaW5nLmluLmNvZGUuemhAZ21haWwuY29tPrkCDQRV
+tClaaGFuZyBIYWkgPGRyZWFtaW5nLmluLmNvZGUuemhAZ21haWwuY29tPs7BTQRV
eQPIARAAu5WVS3iKj/RM37TFK2Zgy3b42c6xsoiFdDWhRUAdXCmgkgNYt5kMf/PQ
y5xOmaDzDcTqNlGh6Gj4iFbqghYrrDHazN37SBhL7D9ALLd3QYExAq9mpIWBTtQe
aTjXxqF6UP65Sxl/ZmrdyJsAKv7/df7/SRYpMbcoHMMtUUIw95j7nNNeF0PhM9nE
@@ -4524,7 +4561,7 @@ er6DO2TfGn3rl3OulAf84TfzmJMkspm+PX/Uxqsf2LeXkaOjJlYoLyJ0fuHDQuo6
aWx6mJziaYuidf93uBznwMTfhEB1KemAhkbhk6DAKaBylLhrkERTE6O2nu3R+eaR
laLCCYj4iRm1REppbM1F3TtLv4YRToBD0QYtzbxE/g6hsWSRUzGJrF8BaDp3fz9M
u+CkwbfFPqE/CKw1Oqj5wxnraz4DEDm0CNeQGykV1ofMPuXWTi9BCk5iSZ7PINi+
-RrLwJOTtJrOsYMB5+X1trRYG7ypkQ7og+UUdN1cPoY+3tRlFvx0AEQEAAYkCHwQY
+RrLwJOTtJrOsYMB5+X1trRYG7ypkQ7og+UUdN1cPoY+3tRlFvx0AEQEAAcLBXwQY
AQgACQUCVXkDyAIbDAAKCRAHqynl5e5fz0tGEADWUd7b5UP9t5/PfLaHJEijuNs+
JO3VuugvTACtkjaeS9F4VDh+PslIMsWRg+c7pvUG8m8T7UQ3gjaTYj1iDsitxxmh
e4QL+gDw+I7cV33CV/3C0b0gm5vO69ivPPQoLajwGUI8Pmy3U6u6BDy2jpt3fO2d
@@ -4537,7 +4574,7 @@ GvsRXgfotWcFGT7o72y9hCVRoBUz7cxWzEGjy1iN+PbZm+CCFtqLafomxzDZo3GV
iJIxnTtD9q8i15hXLGdPNAztO5s5+/YgUCNneqTSWfjRhgpCATl0UPXXkGwUqv+G
T5e1yHzx28h4PeqqIjmHMugTvR4oXvAeVPNqPDZL6yrlcAXA3GtHjxSinMARFFR+
nRKcOypIrvfzqeXhsQ==
-=5MLd
+=pAix
-----END PGP PUBLIC KEY BLOCK-----
pub 07D3516820BCF6B1
@@ -4568,66 +4605,13 @@ i6QmtRdrToqqt1n1jGq9Ka7lRjq0xJHAZak=
=7mDz
-----END PGP PUBLIC KEY BLOCK-----
-pub 083891AD4774845A
-sub 8118B3BCDB1A5000
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-=T2aE
------END PGP PUBLIC KEY BLOCK-----
-
pub 08A4A4958D61FC3D
uid sksamuel
sub 54EB00732104EF7A
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBF7ByYMBEADHxAxXj4u914xQb5fJ+sBvk0rKpqOZPFMIiuyNMD72Dk2jZbvW
+xsFNBF7ByYMBEADHxAxXj4u914xQb5fJ+sBvk0rKpqOZPFMIiuyNMD72Dk2jZbvW
ESuRlzp9MObyylGTsxeX+f+Fq+piqqgAAFWyXx+JNV4UkDLSt8g6n0phW97Wj89b
ybWFDUnvgr+IeNZ0pBX2MPRPXrtZhayk8ahY84fps8CFJN/NMi0HExYP9Ttt59/b
njWFDy9NI5/CzgRB9e4sv/mHPNwZOA8fonG3xQ0eBHbnl+Wv7wnnUixbtZt92ZEf
@@ -4638,7 +4622,7 @@ eu2w4eTCIRCYtEr/LzVQVo/HYJDmRwoUI30A/IfrgNIDWjHkrG7uVpynt6dAddSh
JfEWUFsjw4Oi+yHWWxeSjlLc/Uf9vt2GNjjpMXpp8r+VQsKqDbzKWOA9yrpIwhs9
Mu+qBOsBgCy6sPsJpZ7Qqr4gnh5vrBGZaRA5WRjdSlP5yzsYyCYnSCquKMy+Uk8n
54sRGRxcNjDVJVVlZuiFVbbX2f1OEgVNbnp0PMUym+QbJdPI//xjKYU2wQARAQAB
-tBtza3NhbXVlbCA8c2FtQHNrc2FtdWVsLmNvbT65Ag0EXsHJgwEQANU52hl+lBeg
+tBtza3NhbXVlbCA8c2FtQHNrc2FtdWVsLmNvbT7OwU0EXsHJgwEQANU52hl+lBeg
+Z90jcTYOs8wU9beW+4jJ1WsbxpE+XOj6Nx5GhahpgVsZGt7fSgParuu/cEj6Vaf
6UL+dsu/jeSLgzQfEQ+W94MRgA6OMsl/g57T0Zj/Rgd8yhNOLBOUgVD/OVr56lEG
/xPZGX0tJvBXaoJVoPDzS/sviYMEZurfA7yraa1NZw/n4GtKR2Gzl1Vejgpmpx5Q
@@ -4649,7 +4633,7 @@ RDDY9LH3yRg5BcoQOr8JVmKJu+CoPwOfeadzOwzYtfTzBdvPyJkNaH+JsJc8hTYf
M3rVE+F1rFSNxLfbjRpGOK1x9QW+/VY3gvywoMK/69JgiKkeFKO9EZGULmE02+KD
jq+VC5bP/YblNdX12H8LV6sSV2QEcgpdIVevWv5Pro9b4yfhq5DmuKVU/HvNzkSY
Q3fiOhhm2MSoqhNSOP+Gjt7w8YOUjmACR86yQ0982PIlBG4WGCO5vkSpfA8QMcYx
-qicQ7wWelSY+gzPvUxJmeNiMJwhisd7TABEBAAGJAjYEGAEKACAWIQRcuhnlYUHn
+qicQ7wWelSY+gzPvUxJmeNiMJwhisd7TABEBAAHCwXYEGAEKACAWIQRcuhnlYUHn
jVS/cW8IpKSVjWH8PQUCXsHJgwIbDAAKCRAIpKSVjWH8PVfbD/4hpPgOe4RdC1cW
hgcxXn7Ht2HOIFUbU5lDpucURdJWqarWVzUknfqwMzJpeQdRfgkckT0EB8nfgwkd
wNbo9YPuWJ/hezYrCTVFDVk8ZAXIdy7b1A3l1NF+7y47b9p3PqfHg42EY2GU3tsZ
@@ -4662,7 +4646,7 @@ RJxZc6/OpkguTbrCKrCpqIeoSfc7/HDUNnjUMj7CI/TQP0G0gcNJCnuWLfwbvM+y
brNrUHgnWk7a0SwBYLSu3I74gPMEJ+4t12Eh7vlyMZ7i5E8+rcNkR4Fq/8XM6YvR
HcnooxOWfd3bDjFBb6R5JpOPFPt2tBBvqTlxQFTz59eQmCu71EBYg/a4TKESlm7Y
tE3KtJP0/IOVuzK22tPjBdeoI9FptQ==
-=c4O7
+=9Eua
-----END PGP PUBLIC KEY BLOCK-----
pub 0B45DDD344B5FFD1
@@ -4701,45 +4685,13 @@ mZ1K7PFMlihijolHjIzECuaX2q+fJdK4RjxauGYUy0rQuklJxN14BWsjfoNxPzz2
=Gu6j
-----END PGP PUBLIC KEY BLOCK-----
-pub 0C907617691418AE
-uid Markus Junginger (artifact signing)
-
-sub 0BD96E9C45AFAF0E
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGiBFEhRX0RBAC9Fi/D2LPh2K3BAqLQLf2T9uQDimZFWSj0SzRN36ha6yRjCKO/
-yRQ5RgtY0E+ZMHl56sfvSSO9Kvkd+IWYAn4MJeMA2aAoXGwJ44JQNgvAizY9eZO1
-BKcCW2lvSFhzljp9ltzCx+pevbzZLJb/AlEV5kddwZHO4LyDIzVSYrK84wCgp3df
-UycGM2uwq3VzeNMOd7IKS1kD/1IxPw+wTmcNLDEv5xXbWO3aIAek7UP9cMJzWSHH
-j7PuVs8Vxh2vLSzOJp7yM5e0kcjlTK3jtCrdazbQCIN7M5AWN6stWN3zUy+/QypY
-Bpn3aatNN+N68V2g/JAa3V0lbW7R+KuvYRW0Kjf1WrmARI6PDgHH8WIrcjr8TNzN
-7xl4BACpRNrAFEp/sBeJ/Ofz7H4MDgy9Q7a8pubWy+G2tJHw+lCyybhi9U43RQxT
-gNwnwHmq2SNr4ZQF6ZWcijf8GNqvchIpehv1/dlCnOysDKdFPtKNLsBygCrSNvs+
-mh/nacEz0VivrGExIAJpA+FQxYEUfsuEuz/QjM+kDoOdGEtlYrQ6TWFya3VzIEp1
-bmdpbmdlciAoYXJ0aWZhY3Qgc2lnbmluZykgPG1hcmt1c0BncmVlbnJvYm90LmRl
-PrkCDQRRIUV9EAgAkPHfvOSxVHeBUrm6rn4hJ+r5MgYJRASH/tFZqjENR3b+470R
-62s+y1NkiCrL5JJSbdnX43gt9s6gtGdX355xRyKfkSESWDc5rfTRRb18xmMiWV6D
-MzNMXIyhTpZwDyuh9meN/MhXfKgJLTQqwgGESBhwrqfBrGffTnCyP3bpCFgJZs51
-CLYxDVAHtnNYUtsWBqbgxJ1Ay3SOi9zzI6BwvLzQ98Ikh8VSv6lNrqVVL/0Usv7Q
-CMeahhdpHu0ZRAO/ZM1UAkjBpXtxkcwAK1zmNyovzQL/M+MPvUCQdBHYZbkTSuH9
-cxrLk9qFobMHHQSYpfXZ5PGs42plMkAsFP23BwADBQf/SdSJiEhQsZXle1dBvap4
-IvezcMfeqb+gh/K7UZmSFZu4dBAUi0apDpr/Y1Z2Meo2lgQo/oFQ12eedRgwpJZh
-j3EY6a50XcvWkT3zFJLq92eEEQrtBHG/0BSAq3jNGPgj8sM/+cbw2eCqH4FQ+q3o
-WBBDELzFKRTWs3Wl6sRw1xTIt7OBAHSDIApIVzlAkfL9aPrSlvB7LLGulqAFXsT+
-auoaeEMAmKNkg4AcJRv13hBBwLGTMoQ/R/sPFxyEh/mQCy3baZcbL30WeRp+1lA0
-F5gBPq1J3vk5/KlwXpMuZQBbao2SGTSQLeWhgzBcCpwYeQGMyJIt/N7tKO5Npqc4
-54hJBBgRAgAJBQJRIUV9AhsMAAoJEAyQdhdpFBiuk7wAnRGeGULQ52vSlNDhwZHh
-9dVbfql5AJ0bDDsu84BtR8KT0LLx2TA4UpHuSg==
-=dGO/
------END PGP PUBLIC KEY BLOCK-----
-
pub 0DA8A5EC02D11EAD
uid Paul Holser
sub 71499A87DC1FF84B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBE3LMfMRBAD90h69D8yyPWaSoAyh2mOOOZ/XH0isuBpDZCWptemlMHgImqdQ
+xsDiBE3LMfMRBAD90h69D8yyPWaSoAyh2mOOOZ/XH0isuBpDZCWptemlMHgImqdQ
2sXLXYT1bJKmSaMw+yKjp8J/NYk69EbmSK1C2nypLQtWhUmXXd3XVYw6hrG/dGvi
gjkS5eq8L04f5CSuXO7r1eLTOch9iDl/ESaI5Nhq9A3mRQIhQalum+FjzwCgx0PK
hoC4MVPVGXzOQPc5sG4jzAUD/0OX9c/yKQqjHUs38HTCgrjseM40iPhp8NfbWenP
@@ -4748,7 +4700,7 @@ IwUMSWXE3lz0MMeKrGcEOcZOGWsjyepkLHXwj8DDOeGxhfh9bhFRJssdfzOCKBpf
Aq6eBACyywfwuVoY6lfNz70ZZqYjYuUkbKnKqpG0XmI+m5LYrUW7QuKJqaNdg+ZL
vVgX/TdkWVSIoSRS5+eYm3fRD++cg3ZgoR6ZY4WEa7SRSp2zoidtQijWOzp8WeHs
30rIaXBrb5wHR4GQ4FYsBGRuWkmIaferusllUmHCHFJI4ldvgbQlUGF1bCBIb2xz
-ZXIgPHBob2xzZXJAYWx1bW5pLnJpY2UuZWR1PrkCDQRNyzHzEAgA1rD70DvCcy91
+ZXIgPHBob2xzZXJAYWx1bW5pLnJpY2UuZWR1Ps7BTQRNyzHzEAgA1rD70DvCcy91
ShQKP2snZ4cLJnFwKArulDUcxoBZ0AG0qMbaE8jiiJTHIwgVrqsKaS1JENv6tVdU
S8xHswu30zvd0obaj+4IGXlMVdc6052Y4SLAGNbGVw99Ah1OkQ7ov92gmYAYfqpp
OtRt1tylz7Jf+F6er0umdVBZm8fJ+QjzTw36AwERj2bjVbc6ogM7OsTyru5oZGOJ
@@ -4759,38 +4711,10 @@ k0kGDmZWcbinZWnybypili9ihYSHlp3EYzCNTbUMWlbhc/ffYHuvrZsIT2DxMPb2
iCnjPu5HMGegTM8iTTotW4xYmJUsEDIvgQUz0/UNsPHTX5XU09SocL3YOP5MxcEb
gO0Fpjny3X76rc+ETAd9TmDJi7HOm24grKdOQXHQJr65j7nTc9M3zWnTxOP3fL9j
cVnGTnLGRVoR7kedDpa5FsoFqtY8YMaFvNPVvI4+m+jozjNwTg2dGG6nU2dEC0qg
-DEeKMSJwF1wgO3Fe6mXHvxratgNrqfdY/rtEGYhJBBgRAgAJBQJNyzHzAhsMAAoJ
+DEeKMSJwF1wgO3Fe6mXHvxratgNrqfdY/rtEGcJJBBgRAgAJBQJNyzHzAhsMAAoJ
EA2opewC0R6tNKgAnigkHDCNu7Owm8x01E9+aL73JmDXAKCj7ROh7Wu1iZQbjeJf
ypM6CQ+fdw==
-=5ywb
------END PGP PUBLIC KEY BLOCK-----
-
-pub 0E91C2DE43B72BB1
-uid Peter Palaga
-
-sub 83552A552A0D431C
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFBIm/wBCACgqvegptBhfKbyBXZiW+7XchIJCOpwq0/9QgSehKMwELbUKqNM
-sIVrywANqYn32S9hNRvBiKGm/KY7VwN9p1Cr6Ey3XuGSbRo/xN6tqfV/rV5YClL5
-6sMc67BlnEaCZRNuB9ATeUE/4wCO7fWg79jJuNl8tKQ8EYIrVGizzjmZHt76OwAi
-hQtD6A19+qjQ02SyPUJS6a2lKx+gwaHNxv4L2FqImCFGOOEToyRb12GD18Mgbf5o
-OtQVVtr3qbT07odFQt8Iyy1DiNUJbOfC+YO2wO7eMTr5xaFr1HejsTvKZiTDC0Nr
-EjtctqGxrjxPmoUPNwtxwEDTEh1lyKMhnqgJABEBAAG0H1BldGVyIFBhbGFnYSA8
-cGV0ZXJAcGFsYWdhLm9yZz65AQ0EUEib/AEIAMDUgjnPKBeHIN0KNmXTS/uXXC4L
-TGltnQJ57OG2kmPz/JjAjYLoLvINY+xtghehMhRY3DmQDy/ufZsgO9oH8PztcC8Q
-L5/dV6VTYf4U3FndbiSKgikaBX7yu5Qcrtkv8XgkJ+awIEUgTGDXn2VT1hH6yEG1
-tA97iT/d7ZUxLEBsVgbxz9VtPellTNK5x/8NGY4NW+fM6+yGFpjr5juZVYRLa8u5
-65vGBQO5FU7bg/69DftmL7vO4KRLs154VpsfAsTeo1rmU/8kIjgCVeKFClJG+Sg+
-m9rsJNYgiKy9dGfD/qDmVlEeWBuhtlAfqM7pHTv1Mu8mv5/DheBwvlwheg8AEQEA
-AYkBHwQYAQIACQUCUEib/AIbDAAKCRAOkcLeQ7crsaE0B/4/+ZcjdUfLPlKk/8BH
-0tMafEWOGvqY8bG4YpxGoJZHT/Lb/cnWDLvZzs98FVaQ3DKHZwQhhtnQIhnupvxS
-HX5wLeBZMtAANGQLauGp+A3S1WBVRHs0mzOdlVDbzJu7RW72mnkRMSoVd018fh4e
-Q0+VpZh0Pf9KfKJDwpEuESP1+6JcLLBvQXlEJYHOk7Up5eRkhljdIwz3TlSuJ9sC
-scTgM0PI7/L1eFP/iCgZIBHhpllVV6v5IGXx3P5Q7YQUy32zCrht4t9fdtdLct1j
-6eNaAQdPAU91auSbYhuVCpjgKNpwOv1ULoSWLUUPMNW5Qc4ZDKq+ywOElvONMnX4
-oaQ1
-=bkWq
+=uZwU
-----END PGP PUBLIC KEY BLOCK-----
pub 0F9FE62F88E938D8
@@ -4799,7 +4723,7 @@ uid Brad Corso
sub BF6D15D3F1BF7BCF
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGGNmd8BDADSpbdIfqzkUNAeYlP0nUw/HFU/v+/aydtjUioAi/KxYt2FOMi6
+xsDNBGGNmd8BDADSpbdIfqzkUNAeYlP0nUw/HFU/v+/aydtjUioAi/KxYt2FOMi6
gk1LOJzHBubv8bF79mlN6sXrnq2lV/MuqvN9DrTAQ4u4Dh0pgbLK6jbxDWPGrYIo
ov24dU+1SXCInq/7X71M3RT3/1L1kTL5WNCqKkhxLNi0bwjyAHR+xOdhPqkeTrZK
xZB4KvIzI3cIYoSw2tFn/iAlzzaUyQY+JkqBbcObbzyMt8ai7TdXKHM5mAiuMt8k
@@ -4808,7 +4732,7 @@ Iw4/UrnJi4qzEN8vrEJpnDgfS5Ey+io9xcqd9P66dFbVHvMl4uTo4hLZVz8dkWSt
CkCtAfntHAp4Zf+1vIZzbAgseO52D1mP7wO0QccgqdX0w5Jboc2kkM67VsWskRXL
FO+c25gXdtZk26d0P3f1j3XuDm3pPWbgAk17HMyMpqla3xBQiLA7J2l41YwblV21
uzJnqAoChPJhP6cAEQEAAbQeQnJhZCBDb3JzbyA8YmNvcnNvQGdvb2dsZS5jb20+
-uQGNBGGNmd8BDADVtB8O1uCVcw6DOKpJ1YBDmOw1a4hxMApwnoGDV3dr8HqybYi8
+zsDNBGGNmd8BDADVtB8O1uCVcw6DOKpJ1YBDmOw1a4hxMApwnoGDV3dr8HqybYi8
InNp7TTuGcZ/rpGCSIMEqmqwyNvnJfIZUv2Wr4oeA/DcfxMxGJUrFeqv5Daz1jTQ
9Hk+Cpxxktm5StsEnArve7f69+Ebi6C5tA+dF3yw/BNf849e66rbkW5lvlPjRiH5
mM2y2cE4SlZnpuryHaQxabrvOtjAp0E6gdFTo2e7Z87wK4vjaVCaS+lMi7i22Nsv
@@ -4816,7 +4740,7 @@ JhkxiMec746krTXgf0HcOxG+ABBPtCfmmDLHAX4C6IKp1E/68XM7vyC8NGlQRCnT
dmwErcslVepBjw2T3MI8PPRPT/XMvlkcVd3OnFU/Ewj1ym6ATRCvjmqHmGS3P5yM
Tr8Nhsa7xb9uoNHNePHP0VQDkD+y/+Gz49nRBVEUBFFyih79qvOK3HERzVfn0gEJ
CJ4f3FXMLqAR4jqM+CJaj6AQEi1C3/VR/gJc6BK1NunMz8YIl0HhVJBd6Ew0ojTM
-EKwS0FaAM+ACXBUAEQEAAYkBvAQYAQoAJgIbDBYhBJURUZfFInwIhymdAA+f5i+I
+EKwS0FaAM+ACXBUAEQEAAcLA/AQYAQoAJgIbDBYhBJURUZfFInwIhymdAA+f5i+I
6TjYBQJlaOQXBQkJfuS4AAoJEA+f5i+I6TjYLPUMAKhSDd9V7A3901gv20/izs+v
DA2ysg+eZ5O68FgGss95+0hgWhZOGsa/9yMwU9KqRRHo6V+ZhQmwvh3bpfOZXpza
+OE1f0JgKpPlVgfbH51DrvwYRwRyPDkG1+72vGzaBlE4gUEaGgjxPVuOrqVcNZtV
@@ -4825,7 +4749,7 @@ D0dy+8EoeHgPIQAHLA17ZwvO9ZYwA8uW/r8soWWfhy6M5ojN9T+hYwUbr2P3wzba
E62iUqpt/eAC3cIOCU9BXeGhiH9uOyE/GqKJwUuDCYtWrgss39EqfoI9lLqFg+iv
rZzxcrnDRhqFNbpaE105ggYtrTWIJnT/GidvrNOmOSkBxfphfR9H82KQa7PvplOb
/qh3zzJIozFjdILPRPyUcw6pfvOcFtVkJO0TkSuKdx0MiGS74bULHf+FSfWKg2Xa
-ZHkCkcFy2UVGc1k3Vd/5GHsKf7Kx2BYlQVm8vlkwEokBvAQYAQoAJhYhBJURUZfF
+ZHkCkcFy2UVGc1k3Vd/5GHsKf7Kx2BYlQVm8vlkwEsLA/AQYAQoAJhYhBJURUZfF
InwIhymdAA+f5i+I6TjYBQJhjZnfAhsMBQkDwmcAAAoJEA+f5i+I6TjY0AMMAK0E
esMWOG59+JziAGgySBIeYbbF9atKj+OjnryEl1S/BQqUuLH2jeKqY8bLSMuRoZnj
D+3d4WtMZ00+4l3rNDV8M2btqUKfJRjOjFy3jI67uaYjXTsc+7EA0a+ZX2F/If5R
@@ -4835,44 +4759,39 @@ McRMj06zxZBUZtT2xLVvhh05dkQ5LhZLw1ApHMt6ajZiJQ0h0jpBpFYK8nJkJ8R5
ZagQmg8wpmV1IiFTlQy1Nozt/afXywKf2tcGxxLN47oyVzJpRCcwj0pqLgLr635O
siFmtIlBAytH2UX7M/9gkq9bbAkHDyOEmvTh2Be3gbtWuaFLj8du2YuNCyXptvvL
xV+8+asS+ID6jUp5FJ4izH6U90j4iiBfqIu+UEw+0gvD+TVqpqcj5pNlgU45HA==
-=Cl60
+=GCk6
-----END PGP PUBLIC KEY BLOCK-----
pub 1063FE98BCECB758
-uid Roman Ivanov
-
sub 25A93B1970C22A7F
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFOpAXABCACsTEEMlNJ65WN4hGR+y3Dy80YQoI6oFivmf2kjOz5JqsBkoDaA
+xsBNBFOpAXABCACsTEEMlNJ65WN4hGR+y3Dy80YQoI6oFivmf2kjOz5JqsBkoDaA
vKl+OqLNIeYu4YXBFBe6t9YZvcBKAU660bTVuiiC50PNL2z9ZU6GrLNP34uKvyhP
tQnZdiS+qPBn8X5Cl7XtPqlwUNRFrtqHiBgymwGGTLfhVZKJXXB0xU/UsShSHYyS
YESrH89xe7LfdW5QAKv+4MxMDDZi/kBWSGGfdgWBvYYlsVmRv4JbKahBMmpM7qH5
RbTw6km6AO7kOxcM2BfdwmVncUhj532zXgwS6q8ipv9jzuHCeALEzKNHr68dTq5D
-WAnJT764ovyOJ9yQ80wGmzYRyfp7Wctq80KnABEBAAG0IFJvbWFuIEl2YW5vdiA8
-aXZhbm92LWpyQG1haWwucnU+uQENBFOpAXABCACy+tNhlC1NHpAKihGKn21/Ytdu
-Syfdbf7E4dzBQf0gan09/6tIw4rhOAPPXkbXRf6MfUmFet2AIO9cBce+p1ipv4gC
-vCPWT4iklhdfswRhcF7SoPHppOqG0/SmWHps0q716c14syNNwnxOHzKpOoiRk4iS
-g4q0Nt9XwfNM4Bv1YR3SC7uKpz/s1jw3yoWwTA9MxQ2y2ouOmvuSc9yJPJj8Z1N5
-vSGIHEfDvq12rCUBUCHsF0SdQoRgJyxIsmRpmk0NY1Nj9nkI5W6koghUhECEFdZi
-XjMaUGrzH2ELEFUTWtOZo0ooubbVkSgtMVNIExWCYzCJ3JeohYp0itzi+XANABEB
-AAGJAR4EGAECAAkFAlOpAXACGwwACgkQEGP+mLzst1g2VQf43jMRonbGeUUtYW2r
-dGmdlyOuLgSfdRhGck8mMAq5wjMWFVRrXLUlfkZQRtvQEzHDBwyipIDcE6O2+dpf
-Yr7A0BW5U4MsluMJMlsXCxwOe/wD5vOBVcDIftSQnPAtT+Tby1McSzKd7orN/MAn
-pvwK1/YJqH/1LL+1MM/os1srb6BzZRjMGC6VDOY9h0PcasAhE1sepKzF0pCeQ9MD
-e2bCKMw8eGMNmsG9yxvsuftUGTJU0C/FPd1tp0bAird11+bfmN9qBvZDGgauCGBo
-YUJua1yjrc9c2VBhq64V0ocrOfvZf6IAlCCJW2Ue3nHGbwOcK3xEZ0r2iG4EKYTj
-GSJf
-=L+Xu
+WAnJT764ovyOJ9yQ80wGmzYRyfp7Wctq80KnABEBAAHOwE0EU6kBcAEIALL602GU
+LU0ekAqKEYqfbX9i125LJ91t/sTh3MFB/SBqfT3/q0jDiuE4A89eRtdF/ox9SYV6
+3YAg71wFx76nWKm/iAK8I9ZPiKSWF1+zBGFwXtKg8emk6obT9KZYemzSrvXpzXiz
+I03CfE4fMqk6iJGTiJKDirQ231fB80zgG/VhHdILu4qnP+zWPDfKhbBMD0zFDbLa
+i46a+5Jz3Ik8mPxnU3m9IYgcR8O+rXasJQFQIewXRJ1ChGAnLEiyZGmaTQ1jU2P2
+eQjlbqSiCFSEQIQV1mJeMxpQavMfYQsQVRNa05mjSii5ttWRKC0xU0gTFYJjMInc
+l6iFinSK3OL5cA0AEQEAAcLAdQQYAQIACQUCU6kBcAIbDAAhCRAQY/6YvOy3WBYh
+BAbTTtb/c942incqeBBj/pi87LdYNlUH+N4zEaJ2xnlFLWFtq3RpnZcjri4En3UY
+RnJPJjAKucIzFhVUa1y1JX5GUEbb0BMxwwcMoqSA3BOjtvnaX2K+wNAVuVODLJbj
+CTJbFwscDnv8A+bzgVXAyH7UkJzwLU/k28tTHEsyne6KzfzAJ6b8Ctf2Cah/9Sy/
+tTDP6LNbK2+gc2UYzBgulQzmPYdD3GrAIRNbHqSsxdKQnkPTA3tmwijMPHhjDZrB
+vcsb7Ln7VBkyVNAvxT3dbadGwIq3ddfm35jfagb2QxoGrghgaGFCbmtco63PXNlQ
+YauuFdKHKzn72X+iAJQgiVtlHt5xxm8DnCt8RGdK9ohuBCmE4xkiXw==
+=cyV9
-----END PGP PUBLIC KEY BLOCK-----
pub 15C71C0A4E0B8EDD
-uid Matthias Bl?sing
-
sub 891E4C2D471515FE
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFcyNOoBEACj0zTN3GkRNAY3jihHZdGvi70i4R8mUfcQUwWGRsGGlzSwyJfe
+xsFNBFcyNOoBEACj0zTN3GkRNAY3jihHZdGvi70i4R8mUfcQUwWGRsGGlzSwyJfe
20qNOHqwHaxVCAIp4e5paNf9cEKepOv5IqMkmaRdiC2W+BHDxcJgBot/IrC81ube
y5M9gIc0yCynC4Cnmg2DmRWuafVvqogz0vDKUG3ADvPgRyaItzh0xO/PsWPZvIHD
SlCX9Ny/RT1vZ741tBUm1flGUzxs0zAPt0I+ievjwOeKw8OeUb59sc98U3XpVOVQ
@@ -4883,110 +4802,30 @@ yLjz38gwLCIuVrSFeHtHJKdPPsnWVsA65o3iCQyEO5lp38cjDE1hkHzXGO34LiPX
AlDHU2YzoWvAHPqSppppjPJmz1tgHqx146tukezuzoRXuEUTmDAjbpLEHxvKQuBr
DcSfWqe4zfKKqH/CfhxlPGilUcVyLmhaHjs1ti1Bnj4YmQuWo9BR3rPdLi1gQFlp
wZfzytmmK6Zy4Ek89la7cgt6AF3eXjNmpVtGZlAb7lr3xne9DTp98IW3iwARAQAB
-tC1NYXR0aGlhcyBCbMOkc2luZyA8bWJsYWVzaW5nQGRvcHBlbC1oZWxpeC5ldT65
-Ag0EVzI06gEQAMfgdIiOy73j97TMYElvKsUUITwhIZMjscA19RB4vQKmXsRulA2M
-gYVsS290+F55rPmEnmyDd23+iDd9D2gEBeSTHrleZGewvBi53m4jhtLbjRRX4dcM
-EEBVMT+W5B8inoJYiZJjd2l9JFlZqteRTe8O1mCPd2tKtjwNssE9ToH17tCpOjLe
-qZlD39U3tARdH4DI0NHZqMRsLOGRbK9cP7tUmD6XOEOfN6kjGYOaluLCaxP0nWL4
-GgbwWs375lFVdo4SyUBE/T6u+kgrpFkb3B0G1vT1Ek4MGe5/Kmtg/T/8aZxnI5kJ
-vIsF8mo4ju9Ri7vzHIFxvBCBu6XAyinew38iDEJMYVjhHjBoeaB8x1qAE2hsK/lu
-M4N96AB4qYj9OaDiyml8ffX5hqGe1hn4xkLGBsJZGk4O63omVn8pbTXkj8ECOvFy
-P9aigMzEaCrztIBgXr4qX9mbh42nx6Z24h8tCC5nKYCvLNZCLFbBkV+SKz8NVgA6
-FlZi+VdqjVE8AwwcWGG37nvxq0qkljMxxrpbMZflO4tKKna1dFHljyTu9YxURBpO
-VDIdACXePDrZJzhYju7u8Dd51tb77XAfyRC+gdMiN1QekYSQaI0O5WLZ2WvQsfXI
-ShXKhli76xJ5GEEp7Me0+w53TaJUF68khemdUD3P8WVMQ4F9zPigUrKJABEBAAGJ
-Ah8EGAEIAAkFAlcyNOoCGwwACgkQFcccCk4Ljt3t8hAAmfRLEBwnmJIp6cgcLOJ6
-kM/1nreGOq6ECCYOhXFzWynhjgwxSteq6dK43mLZFc1gfY508IK/I6O3++OMjSk+
-sDGL4PqccTr68UBowLTN4oV0rIfJtp+D3LN3R7rS/j+9c6Sy0GrzX5ebxrAPbQnD
-j2sEAW76myDENpKjyMp5nnfqeL16tNNnUVP55EbygguWFFtdfo8pIl9hu/EzrwtY
-l4/Ifx+N4vgN9l94CpsPkzK38rBTmIXMTGd8iUbQV7XYl078ZiDKqT2XYehu6BF3
-nhIFb6CzI0IbmDbZoGTdJ51pZ8u2swZt//bDRRd1pFPhBkCRC+EbnH/oBadgVTx4
-3F7p/jixoWXqX+ZvTZCnoWA1MC1QVLzfvf7D6Rw5vNtA8mtlEqMKzx5Kf3YeUN2F
-IvkDbCfX51QlJC4Oe9J5vdFjnooWVKgiBPAar689Y4C7tzpGM2KOcl0+io/g9ANk
-Sm6cpRCTZKwgOXl0DVebeWjsdt6/bqHKOPLhLn0UNbUmMzzrPo71y7qiMDmv5D8K
-/aVgxiX7roDSv9PSqwsZ3mw+EV4LQr12Aw2WG2uNijO99r02xqNU6vvHEglWH/f5
-gT4eYNEtGTqyp5PNTuYkI7GKybBgEPtLjZykvvWJNn/P6KdmcsxQthX3XnbCIRq2
-LDL7A4GNor2DcqTyOw3cjy0=
-=pzVO
------END PGP PUBLIC KEY BLOCK-----
-
-pub 164779204E106A76
-uid Shigeru Chiba (Javassist Developer)
-
-sub 0E26A79FFE07A3A7
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-YM0/Z4ojbX/WFQ==
-=AKY2
------END PGP PUBLIC KEY BLOCK-----
-
-pub 164BD2247B936711
-uid Marc Philipp (JUnit Development, 2014)
-
-sub EFE8086F9E93774E
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFPU8TIBCADGNvExYTJpVuNGCF9NuWw+IkitjAD7WzF7QkvFCSw9VftzgTUZ
-3PYrThRiaDdmHQAke4Sp+nYyAJ7iUcQqg/5/ONiMdzXEv5Kwy5WJN8+o2aXSunIT
-PALIw29DemZdVerw8Xc9jcdNYGxbPgtfSjr/DBCBs5Guq+RuuwsBvyTGLiHpc6hb
-91D/wX6Y0NQB4UlY9f3k6AgqiR5OGq602hXYvL10pH6eT3gSmCvxp1WvNJDBmaRi
-ZdgW76Y+bGQkmygWdAb3Q2DUEQHVH30YTBx5VFoiCfx1Jud4mD90Tv1hhPn0fS50
-oLGqI6f+VB14iJ4XLaSfyk/UMl343iF9PAg9ABEBAAG0PE1hcmMgUGhpbGlwcCAo
-SlVuaXQgRGV2ZWxvcG1lbnQsIDIwMTQpIDxtYWlsQG1hcmNwaGlsaXBwLmRlPrkB
-DQRT1PEyAQgA0A5RG31MshHFziVkue970s1KNN7eDzww5KgIj8SzI5Hi20yZzs2o
-2ALBhfK42VqT6NIa6ktuJQJoWr6KhhY+kMaZlkt+I0U+Llmby4l2jlG6lFPNZYIa
-vLOFvU8eWvU934fgLutK4HimBNo8HTqn+jsfoNTf8cpvcASQnjQVOElf5xTYQ6RW
-z331ZDpfJpuPyPWK9/GMHQrurhK4QYSla9sYdYIZM27OmNxdi9haPLSkaAmeYF9p
-ng0CoPqanI3HfIN9W9Uu7kPczW3Zr1DgXq4pto7rlK69M01GewKMVuTS2MJqzWza
-P9BCMj0jI+icpSRV0696A/1eZCR7Vab9NwARAQABiQI+BBgBAgAJBQJT1PEyAhsu
-ASkJEBZL0iR7k2cRwF0gBBkBAgAGBQJT1PEyAAoJEO/oCG+ek3dOenoH/1vTfHTz
-f4Z1odIE7lC98k0zF7jtvPHndsUysKp3zMOtruEb8CE0cuw9Z0rYzIBzVTzNm305
-So7G1xv3HVOd6rVcMtpsZpo2dAyFEbBTyOqbDKfWrGx4T9e61m7syNCCjadGlTAE
-r7XLkJwLgjhHGwTN9/VEWz207JfL6u1XdfaGGSxPgZRqDw7c+kKax1fU10wV9wv5
-bs6t/fnPqJppZSR607BiHNUAt8Cpn7kEC3Rm8mS2ufqg5LX+quLlgl4K7L+EYecq
-5Ox/UG4lRCNGa6e1TM/LyoM8GpMC0OOK079GceNjR+r1Jx5fxD8Qi04rKo8U4LZd
-8Kig//NPGjBx2ytpcQf+J0linycedx3OyhGifM1j7SfrWpeQT/TJZG08qVw7mr7e
-LzYgtPfz7YzsxCAcGo+IvxSaxVF8c3BMe0liwwcSDL3SF5XWYt+3X04e9YTODKim
-D4bqhZto/DsJHR2Md8m8Q8Za+V1bS8clogD1f6Wbo3adzy2w+braL+KDyjm2NQsB
-SuLNBqcK/ztXGqxK3bhWH2wT541djd98y/jB52X+eVoeCEEPZi21wW6UDCgHqfC1
-Xxhsq70BbH5RCwIMx2iyVVoKEyxNhaOgApSfq9mko0NAlpAuT9HbTm6GPVgoEzTA
-HBhD37R+PsUfSEPep+pmyBlX2nrKxxoRNsl5KWNiQw==
-=Phg6
+zsFNBFcyNOoBEADH4HSIjsu94/e0zGBJbyrFFCE8ISGTI7HANfUQeL0Cpl7EbpQN
+jIGFbEtvdPheeaz5hJ5sg3dt/og3fQ9oBAXkkx65XmRnsLwYud5uI4bS240UV+HX
+DBBAVTE/luQfIp6CWImSY3dpfSRZWarXkU3vDtZgj3drSrY8DbLBPU6B9e7QqToy
+3qmZQ9/VN7QEXR+AyNDR2ajEbCzhkWyvXD+7VJg+lzhDnzepIxmDmpbiwmsT9J1i
++BoG8FrN++ZRVXaOEslARP0+rvpIK6RZG9wdBtb09RJODBnufyprYP0//GmcZyOZ
+CbyLBfJqOI7vUYu78xyBcbwQgbulwMop3sN/IgxCTGFY4R4waHmgfMdagBNobCv5
+bjODfegAeKmI/Tmg4sppfH31+YahntYZ+MZCxgbCWRpODut6JlZ/KW015I/BAjrx
+cj/WooDMxGgq87SAYF6+Kl/Zm4eNp8emduIfLQguZymAryzWQixWwZFfkis/DVYA
+OhZWYvlXao1RPAMMHFhht+578atKpJYzMca6WzGX5TuLSip2tXRR5Y8k7vWMVEQa
+TlQyHQAl3jw62Sc4WI7u7vA3edbW++1wH8kQvoHTIjdUHpGEkGiNDuVi2dlr0LH1
+yEoVyoZYu+sSeRhBKezHtPsOd02iVBevJIXpnVA9z/FlTEOBfcz4oFKyiQARAQAB
+wsF2BBgBCAAJBQJXMjTqAhsMACEJEBXHHApOC47dFiEE+nkp+DrUTEWQ9sxoFccc
+Ck4Ljt3t8hAAmfRLEBwnmJIp6cgcLOJ6kM/1nreGOq6ECCYOhXFzWynhjgwxSteq
+6dK43mLZFc1gfY508IK/I6O3++OMjSk+sDGL4PqccTr68UBowLTN4oV0rIfJtp+D
+3LN3R7rS/j+9c6Sy0GrzX5ebxrAPbQnDj2sEAW76myDENpKjyMp5nnfqeL16tNNn
+UVP55EbygguWFFtdfo8pIl9hu/EzrwtYl4/Ifx+N4vgN9l94CpsPkzK38rBTmIXM
+TGd8iUbQV7XYl078ZiDKqT2XYehu6BF3nhIFb6CzI0IbmDbZoGTdJ51pZ8u2swZt
+//bDRRd1pFPhBkCRC+EbnH/oBadgVTx43F7p/jixoWXqX+ZvTZCnoWA1MC1QVLzf
+vf7D6Rw5vNtA8mtlEqMKzx5Kf3YeUN2FIvkDbCfX51QlJC4Oe9J5vdFjnooWVKgi
+BPAar689Y4C7tzpGM2KOcl0+io/g9ANkSm6cpRCTZKwgOXl0DVebeWjsdt6/bqHK
+OPLhLn0UNbUmMzzrPo71y7qiMDmv5D8K/aVgxiX7roDSv9PSqwsZ3mw+EV4LQr12
+Aw2WG2uNijO99r02xqNU6vvHEglWH/f5gT4eYNEtGTqyp5PNTuYkI7GKybBgEPtL
+jZykvvWJNn/P6KdmcsxQthX3XnbCIRq2LDL7A4GNor2DcqTyOw3cjy0=
+=LjnX
-----END PGP PUBLIC KEY BLOCK-----
pub 1669C4BB543E0445
@@ -4995,7 +4834,7 @@ uid Emily Johnston
sub 5F6BA89D4B0869B9
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBF3TQCcBDAD177B+Btl8XBEkBQ5jFSezFrpEl4arwCEa7htCp6T3h55HvYwz
+xsDNBF3TQCcBDAD177B+Btl8XBEkBQ5jFSezFrpEl4arwCEa7htCp6T3h55HvYwz
P7Y9zWYXfhAC8XJlPQJYpqaQiiYtdlmOrOS4wbp5Lr+z/0XpFlJFzdKglxKYcdfP
ntnGyoj7Dz03v+SitL9Ct1YZmOGz6onlifXsCTkWraSJTqR6/y2dL0Beu7dLZp94
fgf+FAfr77bwGhUhOh0pPI6ZK2VwNMiQN92jS/RYb6i7QjzO654ALTBR6R2sqx26
@@ -5004,7 +4843,7 @@ itFIh6efV75W9nDqp9QB/1G808oYx1rglUstOCI0axSgSNyazbInW9qOI58rLQ4v
wnCSTWvesVNq+uO6aVrfpXIO3uUTI3t4mpBZgVYZ+g30BlCPRx52YofvQzYbbk9d
wCMUDQAzKGJi+mazkgBhcz+neEuNUlR/0fBMObzb7cAT4gGo/sSzYVNN5oT3u/Mi
J4hfzYUTFMsJBp0AEQEAAbQnRW1pbHkgSm9obnN0b24gPGVwbWpvaG5zdG9uQGdv
-b2dsZS5jb20+uQGNBF3TQCcBDADJ17PQ4z5UVGBVUefEkTXeVlGX4oc+vUOVn8Z9
+b2dsZS5jb20+zsDNBF3TQCcBDADJ17PQ4z5UVGBVUefEkTXeVlGX4oc+vUOVn8Z9
B34sQkFmgsORuwm+/1rGthrMatro1Jka4UXSxYFMCt6XBz4/OdJbquxs6D85iuda
Id9aozCOJypkfprp+ez2PK7pWeOq6DQ/lqqNGyoHxA703wshI38sNcKRcypn/vf1
VJlO3ZjfLCVDQw4+yNrdWiwklb4QS0xwjK9Bw9m8g6HiQGil8V/kL9Avpa76rGqa
@@ -5012,7 +4851,7 @@ P9YnkTo7NQG0cwEbpcxNUrkO7fFKjTOMTmfPkh5pHAHVS+FsrCsxhRs6Eb6u/qes
tHjpYj6qtMJ5V7oXeUI3OZ9nAPctSxoNVn6f0otsaatoBwcJNNhO/6ZIFH7NlgYQ
NN3a5Pz6NrU13+zMGbsxYzlL4/nVwhdn/kHPQ2tl4e2R79da7ModAjeafimikA3n
GZj1Zvo1iXKLfguM+U90kTrPKSxcJqwgV4QvrO9Z9llRTzhdBmrFePFhlxN3JdpS
-KYXFInq6JwncmOAeIDhNYYcVXhcAEQEAAYkBvAQYAQoAJhYhBHYVrVYUTfI3b0nZ
+KYXFInq6JwncmOAeIDhNYYcVXhcAEQEAAcLA/AQYAQoAJhYhBHYVrVYUTfI3b0nZ
ixZpxLtUPgRFBQJd00AnAhsMBQkDwmcAAAoJEBZpxLtUPgRF32gMAJoI+6dvnT7G
OJB4S0HAB2qhizmQ5MWiO7QE1HKQ6ShylihJfAIMnAMlLPhorr1ITZXaNMFO+rWN
O76BdsBxAkd0rKIIjMTU5r1HuS+XCGFzitffkJ2TgQ2K4vKnSgEpCsBilgCJzdJe
@@ -5022,7 +4861,7 @@ x/p+ePpIj6J05TM0BR9KLrk3avMIK+eKwcvm+nCyYA1jKr7c9E4bg+6sRbc6igvV
L4QeKzjeGll3vjifmghVXVKVBOW1fk10cMNKaTEkGng8OfLhJDQDXuNz4m8/pMA/
wyGfH3HBGSx+F3GZUb00kU0HbxV2Vt0QlyjwT9vJfVGQ4Y+GhnMF6qErtdX8cBIW
FJXLEW77wWHN+QpRD6BShYZDvUA2mtO0zlB8reU+VCxgnFfm66DkUg==
-=jYDe
+=9BE2
-----END PGP PUBLIC KEY BLOCK-----
pub 16F71868F1D3A389
@@ -5031,19 +4870,19 @@ uid Lukhnos Liu
sub 0433AFA915028B02
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFAE85IBCAC5mX3pJvQPtKbrbBwZ0H8HUyjJfEYWORWVHXQR071eD9Qf8ZCH
+xsBNBFAE85IBCAC5mX3pJvQPtKbrbBwZ0H8HUyjJfEYWORWVHXQR071eD9Qf8ZCH
3i6k0HnVBrYUl5XiBQmyolemnigGTpdMWZyirDPQmyzkPZcrdBrzcfU12QrJJtiZ
b7ck6IN66YVdKByAB5qtdEVzoA//oWTRiBaEa+HmaNyuF9A9NLH/ZNz/A0bF8BuR
aXAXzBAcXEA8cvhKrk5X8SHsJTqdrCfzdaUinRUqTF+Ya2rKvd0iB8knWaJFJqx4
x4vq+6oVt9R0dhRAGy+vpaQqdCHnI0P7OzySgBSgChttP0//6kl2DCJSUIt0rJbO
4trnj0MUyX3c93DFNH9CElW4wACPoTFTbQrDABEBAAG0IUx1a2hub3MgTGl1IDxs
-dWtobm9zQGx1a2hub3Mub3JnPrkBDQRQBPOSAQgA3Y+SC/bRHaFZGBMQYbYNJHC5
+dWtobm9zQGx1a2hub3Mub3JnPs7ATQRQBPOSAQgA3Y+SC/bRHaFZGBMQYbYNJHC5
37xOtusvJSXdrQ2Bg8u6C4vJvhhy9oEy8TQKiiCewXGv/xkTrLYz8wiTR5ovT7tt
5blRT2uvIGmChz7VgUCyyx+jyRzFfBUZvZIaBJphJk2uTHMFNkfJ/zhNXtHYH7HQ
I/YRxcMY5YoRnlQiGyg0zzPvgyMXcSmIw3kS9TINzYlRUgVv6dfO6NTmXD7bqO2E
XHPo7xGYJYYR0y4hl5meHqIu1YnCKFaIxuRDq3Pap82a3b7ZPcKqHwA5GvTKnDmF
TUFjPPw24cPbfDiAf1/3erHXLx4DdBpjkPL70oWurZjX52XS0TgEvug0VrUnYwAR
-AQABiQJEBBgBAgAPAhsuBQJWlgVPBQkIjKMMASnAXSAEGQECAAYFAlAE85IACgkQ
+AQABwsGEBBgBAgAPAhsuBQJWlgVPBQkIjKMMASnAXSAEGQECAAYFAlAE85IACgkQ
BDOvqRUCiwIZZAgAiYbQVGPLexnh1txfAQlH2kBE5MTFHQfhB4xu2PHlzIaBg6QW
25B2M3AusRnR5Wftrw5Nql66Jz0kuAIOW+5znHbToWXaV8IzSY8lTcpbv/jmysoL
dvPCaSqsriaEmUkpZ6fA/3pqmqfhmzVzSYyQh08R6fArqFRW5Pm3o0oNpKXcj+Yy
@@ -5055,7 +4894,7 @@ e+Mwl5YnQdo2EwWo/tTvfZaeTpENGk3hOuO+PTft6KLwslhuPYIct0hzla38GbcO
nv/XV/3tMb71WdoY9OmqNU2qQFbOLAmh5SnJTeZ4/fkfqugKItga+4StRM9nUjO3
SL8RLgzis15xLTcptqwApXUn1KC8BlJS917731R3vaP3D5aoeBNwTDPrek79BlDh
1Dk89gomYQq37Lfg1ZIhRqtbsB+rCbKTUUQfZQBxjLEIdRa5ajsSJwZqDaWrjEID
-nakOSaWG89IlkYkCRAQYAQIADwIbLgUCUjSVIAUJBfIIjgEpwF0gBBkBAgAGBQJQ
+nakOSaWG89IlkcLBhAQYAQIADwIbLgUCUjSVIAUJBfIIjgEpwF0gBBkBAgAGBQJQ
BPOSAAoJEAQzr6kVAosCGWQIAImG0FRjy3sZ4dbcXwEJR9pAROTExR0H4QeMbtjx
5cyGgYOkFtuQdjNwLrEZ0eVn7a8OTapeuic9JLgCDlvuc5x206Fl2lfCM0mPJU3K
W7/45srKC3bzwmkqrK4mhJlJKWenwP96apqn4Zs1c0mMkIdPEenwK6hUVuT5t6NK
@@ -5067,7 +4906,7 @@ dlgMbYUEHbFDZn8qAmAIbL28Ro8u1iCbXl+75GvXacrRrJ76xVPV5GrV4Mx2ooI/
pPwHPBcn5li3bpXat0oHBHVS/Txcpo/K4gTPxq2FVzICqTlb4vIdx5dQDnhkF3cC
ZW5ixtis/BdVZ52gvmJeLV+mVZRgl+dsvZZWarbYISbgMFYQqWwr/q1Zlcirgvis
eOQZVdQXk3YgiFsb1TrlKCgwZl/t++z04xfuhDdXNVgQfPncVvMldP4uqWv+M0HT
-VggI3jyRs5L/MBwU9dP5hbuJAkQEGAECAA8FAlAE85ICGy4FCQPCZwABKQkQFvcY
+VggI3jyRs5L/MBwU9dP5hbvCwYQEGAECAA8FAlAE85ICGy4FCQPCZwABKQkQFvcY
aPHTo4nAXSAEGQECAAYFAlAE85IACgkQBDOvqRUCiwIZZAgAiYbQVGPLexnh1txf
AQlH2kBE5MTFHQfhB4xu2PHlzIaBg6QW25B2M3AusRnR5Wftrw5Nql66Jz0kuAIO
W+5znHbToWXaV8IzSY8lTcpbv/jmysoLdvPCaSqsriaEmUkpZ6fA/3pqmqfhmzVz
@@ -5080,7 +4919,7 @@ bd4W5m+SH8ZAc4mi21DMblDkLb5Sj1qxr2BkGLH7zokb7ywCtrx7V//iHPKQP8sQ
demaU3xynpU5pcT4Y+b/uWyuVYpUq453qN/520JDQ8xHeS5qkWqLqexBOD+sR2kT
U9hmnwFl8myOhgt1LEYmH32K14fXhzFxml8EOJ7lHjKENtdfVZE+VqCrcTAlUS9A
M7vHSATfq9HEjBWfuYYdvlqj8VLoAVOk
-=9IhP
+=6POl
-----END PGP PUBLIC KEY BLOCK-----
pub 17A27CE7A60FF5F0
@@ -5114,82 +4953,116 @@ uid Daniel Dekany
sub D068F0D7B6A63980
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFHNxM8BCADYmt+HKkEwu89KQbwV7XIbgwZSfWc7y1HvA2YJpJRXJQsU/Pzv
+xsBNBFHNxM8BCADYmt+HKkEwu89KQbwV7XIbgwZSfWc7y1HvA2YJpJRXJQsU/Pzv
BhsHnm9ZIScBLIlgE5OUnMNz8ktPDdsFg3j/L0HREXOAqkOFxWx2kANsRo2HmkM3
67RAu42fJqJcjD2Rs37wMxlSRRGQ+/bp+Bw2HNO1pw7GwrSgmZwzwT4+1pE/TvXQ
Wl+Nhdf3swLyBaSuWHJZT3+JOR0kEGSQuurR+57r6fKDmouWSwAKn1z97JelHuXj
HKZeueCkQvX7dayPP4a1zpoXPcoZhYekFarLWJl411EA3aHIIV8whknsZx/lGGC5
yF9AVIzHHnhqFC/Fr+GJbwa9oMFXj0pY06ZNABEBAAG0IkRhbmllbCBEZWthbnkg
-PGRkZWthbnlAYXBhY2hlLm9yZz65AQ0EUc3EzwEIAK6rZ7kRp3uj0CrhvuTnLHU7
+PGRkZWthbnlAYXBhY2hlLm9yZz7OwE0EUc3EzwEIAK6rZ7kRp3uj0CrhvuTnLHU7
nEs+KvoUZKLyhcIys76sJQ7cnhEygcG7tng/EtK8bI6skLwUaF4fnPliDj/yIigY
08p7TvFL/6HL4cLrIXR9uZe5IdvBKYhy23Ie2JXdLk6zH6jq5+vBE0IA7ljJUQj0
PgiIL92kB73Bn6dPayvtApzctajXvGajYNfOLTYc3n1L/Kqay+/UwjB5MJVlmFtZ
1a/EAxyb5yHld/s3RKEaeEIpjaoPSJwXKOWNAcLdtgcPcsyfrV4bkgjx7ABzPvf8
2gYucthyIx4zPZ29hZfktSV61h7cbJL5HGrk39UcSgfstHbfBQiTY/1kVN9tuHkA
-EQEAAYkBHwQYAQIACQUCUc3EzwIbDAAKCRAZOaJSC6sdkEFjCADEzcJtTbykHeSP
+EQEAAcLAXwQYAQIACQUCUc3EzwIbDAAKCRAZOaJSC6sdkEFjCADEzcJtTbykHeSP
GykEtUnApHYM8oZixHWFvDdjkGhePMTvBRJpByS/hdS4Mnb2AfBoV696eCFAtm+D
6iuOA1OYgc1CnGhilxRVpzjgbD0S6bG0tyiKz1dk0HKkGh36wumST1bU2qdA/UN0
CoRIA9Csb+mg+h8c+y3QixjbpTSS4shhXpzfj8QsZmPn38S1amaSTEv8zqF8pArP
U93184TQfJBPrjAShTEitAmX3FQlSL5v5sZms7T5S/kOHkcHm4zNlwXRJ9avqb8k
q2rcDJX4sCe7PjoMX3y2mTk2YezY4LrYbhEeOGcMNg7XOXlhtBBJ4OuqQtXo65Lc
T7dK1Uyb
-=9sp3
+=/U6G
-----END PGP PUBLIC KEY BLOCK-----
pub 1A2A1C94BDE89688
+uid Michael Osipov
+
sub A3F393B5D034A0A3
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
+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
-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
-zTU22/559YQ9Bb9kRR9Rqg==
-=GVBF
+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
+=t0Nx
-----END PGP PUBLIC KEY BLOCK-----
pub 1AAAA7AB37293D3E
@@ -5198,7 +5071,7 @@ uid DiffPlug LLC (release signing key)
sub 2C7F998F4272C851
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGg1XNwBEADEE1ZUVTNJjPwE793zDJp579cWfPiWO99z8f5RE6776NQvmCcJ
+xsFNBGg1XNwBEADEE1ZUVTNJjPwE793zDJp579cWfPiWO99z8f5RE6776NQvmCcJ
Dgag0HP9abPxjPzBLQCMJGJVbKbto8O7Hh1jlwOK6IjM6O38AFobL+3RSBMcYAq6
NEY1xveL7wPoBKHeVbfe6VlKQwY0cORM/0dxvtcSxdR5qvw0X2JJhql+mxzv32GR
NLvav8a5vNsJcSJfWW/rmqFkOjRpuG5xzxsoXFFghwnSagiqANFOdw71mU0/rC9r
@@ -5210,7 +5083,7 @@ qSiXfBfKEqTfJC0KD7Li2xx9WfZRfOEd3lpAcY3nLXXAzGEYJrFlGlPsoh0P+LbQ
M85CFCpuIthYSj2lLdS2QdD2iVrUXbXyIs/kTeDFzoQX1qRA6LTCP/53BiV3axfl
jeOCHU05W8yUxq6zoP1uVJL2BYlse14efwthfKt52cDji1fKoLEZY75Y2QARAQAB
tDpEaWZmUGx1ZyBMTEMgKHJlbGVhc2Ugc2lnbmluZyBrZXkpIDxzZWN1cml0eUBk
-aWZmcGx1Zy5jb20+uQINBGg1XcgBEACzj+5ge89B05BqRUofQAvbjQWXHU1w74EU
+aWZmcGx1Zy5jb20+zsFNBGg1XcgBEACzj+5ge89B05BqRUofQAvbjQWXHU1w74EU
TrUxd3GAnvEMSjWPXDJWGDTAnsTcM/BxqnXBCTONGvWeyaodL9QlnPoG9E5fUjhV
5KX2wpGqZUznfvmDkrEwrde1yR81pStAdY2ZEtA69U1jCp3VJt24FHQxz71hMQqY
Npos2crklGOuluLir1It83JKjlXrF6VqDfpqJSjr80H/JzYDJ91fgY8KISyESeZT
@@ -5221,7 +5094,7 @@ N2MHTfF8pdMbuHh4ZSldS0lG83sLtawYqrykeAD/Oca8sML39BtuYsLYXDKtj05I
yN3Bf6jEg8PliJg9gwQrd4IND1vInD8yCAXtcKFaSDiwz/WUs3NKZEvSoZhSrl8/
mMdCXB/ILL3dLdYtEjvk9AlmGdVSdA7I4pkLDDS6nH+eZqCpXHyS3zf5IVUOUrX7
H/U6S6aZDHNKjOEXJGMtat7Xe4wtYQxvUQ+0rI3Za7pxM1NS3eKDFrg00025F5fl
-8x/SbZnI1QARAQABiQRyBBgBCAAmFiEEJylEgvLS+aMYygQbGqqnqzcpPT4FAmg1
+8x/SbZnI1QARAQABwsOyBBgBCAAmFiEEJylEgvLS+aMYygQbGqqnqzcpPT4FAmg1
XcgCGwIFCQlmAYACQAkQGqqnqzcpPT7BdCAEGQEIAB0WIQSjHd6IHD48TJhb0NAs
f5mPQnLIUQUCaDVdyAAKCRAsf5mPQnLIUfcnD/4rxWsH1UMZq90AekxOjcg0ZXlk
2Ei/ufGVAGWdIt3rKoXuwpVFFIQYIjmcHP2EFpjWkOuaG1+iyAKr+S2bEN/StjdW
@@ -5246,10 +5119,12 @@ GLViJ2LzBrmdJyAlzPwktHbh+0n6kbq8ysVnxUV+aLSEVjHsQRQxD+nSV71A4WNq
g2jRvph10jbVWvoy4pOSmpTH5jG9TO2SlVBETjrHMVVY5GiRliFDzvPLRV9HoVye
TnPH0XeWTNKTUK9MUC3NOZHlc0HzbD/hU4oLRJILcKt7YOEmzt/p6ZGH6J7jb/NB
Eg==
-=k22w
+=PrQD
-----END PGP PUBLIC KEY BLOCK-----
pub 1AE999FF489B55CB
+uid Alberto Fern?ndez Mart?nez
+
sub 8905EB7D0913BFB2
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -5264,30 +5139,31 @@ isefDPQPN/AyIwsG2BqqXeag70yRGCjWYnWvLU43mSc8p3Lex211jWd9EBomP2TP
ArFbeaXv9H/ypPeL2hasdUh2qBd3O+G/IR7gvsfTySZ//E/7tu6MBMzd1AIDCqEA
Jctrg1mFlDXgQRugvQ3DmDmTphTODwnl+ECfP7hvAMr+4zUKf3RHK3LZzqQtqxK0
0uCYToh4WiVFmrPC50pXAhF/xmZcU+REdDofT0TGW2JQP+rfLooGZnChJwARAQAB
-uQINBEzPUuABEAD5aYN1pi5qgdBrQZcCn0KAZqlLuod7qQXyWBkstj7MMJNA4TBy
-MvYRNqIFhs8SoARtVYJw8K7dHiP8Kr58Sy7U21LYYtF7GAVHKoMY8vyy66ii98/b
-//VdMkhU1xpB8HtjEkcvMfizsphplQTvYdjSVcg7OntcJlpOFrIdWmsJ805+H4bx
-sm0hAboEJgH96WSU/tcvBYGyt5kForJGl7ZP1S+gNI6VTMhWb2OHwQPgUBlLGE/k
-6xoUbc7pJf7ZzJwwJfcdvVmt4qZyGd1QbDU+wfxiMtZpiL20IlfUlAfejF/LTuXy
-U8i0TGC7QT+FVGvt961soghNh+E1kMa1GgbeoDnnqHQ+k/3Z1dY26jw8qKIpjAN4
-qdzYQl48Bn8CDzw1Z3gACt0oj15MvK3u5ylzyuxWdPsOsBCuew8eKkgKStFgQMxg
-zss4vqOGZEetvWhluVZZPbOIX9cp1UtPSdxbJ5Wf2z5DbYN0ENTjA6saLJDFp/iG
-H8B64qzNzXu/fvvVFqId2TkRBUaqoEdJ7oWxh2cZAG9Vwj8bRLI8wwYCTOq8+/EB
-2gbTlMyDPhHvbd9eo7zRP7FpjgKvKZx0c8QVEp9VOs7VU/L1Ims2H3+quFdZltCV
-Es294wGVN7G8cWfLuZuy85F0zbZU+8grd+eLS0XY3/sKrPtcbLnqlq39cwARAQAB
-iQIfBBgBCAAJBQJMz1LgAhsMAAoJEBrpmf9Im1XLvc0QAIY4jb5sFRkht6PkMH5I
-pai/rsWvnWJE+UV4Kr/RM8ML81XZ/5/Z5iwM0HyjNZu7/O6LP+bez/BoVu3z3cR2
-PcLZzw4FyOHvQTyimt+UwGQmf3Mq/Kz7J+L6mWP55jT8Kjd4RNDLMvLj5z9v9kle
-yNFbS/RLL0ES17jZT7UW9Bkj7+xuyU5Mydg4APkiqisqDkcUct9SO+BdNisFjf1X
-Cl5irS2d1M2cSpZ74NWTQYUIVKOliukEhLvLY2HITjGfaeRui6V+dQiuvTpV30IC
-m1jIZfARC2sl9KIHCGKHtxzibsWv0Kk3KggzcpEC4YoAD+8ts/HbYw1uzWzM11Q7
-VamK8hpNl3hK8I0hu2vfUT1CT/EeIEBPwhelP+4pa6fDwGs5LW7ugs/FBdNqEV3Z
-61mX12Kf4pywCd6yUiPVqeaif7H/z7W5t32x6erIqM3xoW/SIU9ff3XuiFIkQ2Gu
-ZmkvSBs6gRDrH6wQi4K8eJKxyMb3MRgy1CaeVvyj3FU5Cb2XBXn80Q7mzeXOg0Q+
-iqjl/OuM6ezpsOXYAJrvgnkW6btYxxdOf5vqeDqbwRo42jOhI7leKQq0sG90Bbho
-0JttbnQiJxOq+jwKNXOwGIHQww7E9djGnHzfRrM7hKJ98WtHBljLb5/sKz45kb2Z
-j3w6SC+J+9ry69YcV2UWc5Rr
-=A1S9
+tC9BbGJlcnRvIEZlcm7DoW5kZXogTWFydMOtbmV6IDxpbmZqYWZAZ21haWwuY29t
+PrkCDQRMz1LgARAA+WmDdaYuaoHQa0GXAp9CgGapS7qHe6kF8lgZLLY+zDCTQOEw
+cjL2ETaiBYbPEqAEbVWCcPCu3R4j/Cq+fEsu1NtS2GLRexgFRyqDGPL8suuoovfP
+2//1XTJIVNcaQfB7YxJHLzH4s7KYaZUE72HY0lXIOzp7XCZaThayHVprCfNOfh+G
+8bJtIQG6BCYB/elklP7XLwWBsreZBaKyRpe2T9UvoDSOlUzIVm9jh8ED4FAZSxhP
+5OsaFG3O6SX+2cycMCX3Hb1ZreKmchndUGw1PsH8YjLWaYi9tCJX1JQH3oxfy07l
+8lPItExgu0E/hVRr7fetbKIITYfhNZDGtRoG3qA556h0PpP92dXWNuo8PKiiKYwD
+eKnc2EJePAZ/Ag88NWd4AArdKI9eTLyt7ucpc8rsVnT7DrAQrnsPHipICkrRYEDM
+YM7LOL6jhmRHrb1oZblWWT2ziF/XKdVLT0ncWyeVn9s+Q22DdBDU4wOrGiyQxaf4
+hh/AeuKszc17v3771RaiHdk5EQVGqqBHSe6FsYdnGQBvVcI/G0SyPMMGAkzqvPvx
+AdoG05TMgz4R723fXqO80T+xaY4CrymcdHPEFRKfVTrO1VPy9SJrNh9/qrhXWZbQ
+lRLNveMBlTexvHFny7mbsvORdM22VPvIK3fni0tF2N/7Cqz7XGy56pat/XMAEQEA
+AYkCHwQYAQgACQUCTM9S4AIbDAAKCRAa6Zn/SJtVy73NEACGOI2+bBUZIbej5DB+
+SKWov67Fr51iRPlFeCq/0TPDC/NV2f+f2eYsDNB8ozWbu/zuiz/m3s/waFbt893E
+dj3C2c8OBcjh70E8oprflMBkJn9zKvys+yfi+plj+eY0/Co3eETQyzLy4+c/b/ZJ
+XsjRW0v0Sy9BEte42U+1FvQZI+/sbslOTMnYOAD5IqorKg5HFHLfUjvgXTYrBY39
+VwpeYq0tndTNnEqWe+DVk0GFCFSjpYrpBIS7y2NhyE4xn2nkboulfnUIrr06Vd9C
+AptYyGXwEQtrJfSiBwhih7cc4m7Fr9CpNyoIM3KRAuGKAA/vLbPx22MNbs1szNdU
+O1WpivIaTZd4SvCNIbtr31E9Qk/xHiBAT8IXpT/uKWunw8BrOS1u7oLPxQXTahFd
+2etZl9din+KcsAneslIj1anmon+x/8+1ubd9senqyKjN8aFv0iFPX3917ohSJENh
+rmZpL0gbOoEQ6x+sEIuCvHiSscjG9zEYMtQmnlb8o9xVOQm9lwV5/NEO5s3lzoNE
+Poqo5fzrjOns6bDl2ACa74J5Fum7WMcXTn+b6ng6m8EaONozoSO5XikKtLBvdAW4
+aNCbbW50IicTqvo8CjVzsBiB0MMOxPXYxpx830azO4SiffFrRwZYy2+f7Cs+OZG9
+mY98Okgvifva8uvWHFdlFnOUaw==
+=NVFM
-----END PGP PUBLIC KEY BLOCK-----
pub 1DA784CCB5C46DD5
@@ -5297,7 +5173,7 @@ sub 7999BEFBA1039E8B
sub A7E989B0634097AC
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBF3Ep5QBEADZfs6o1IpZbZ1qlBkoJ7oWL0vFCcdPUgF/PRFXWKlsuFHVVV/N
+xsFNBF3Ep5QBEADZfs6o1IpZbZ1qlBkoJ7oWL0vFCcdPUgF/PRFXWKlsuFHVVV/N
oZF9SDiCJxfvsVXmI+IHTVMR2SszU2xDF2SlScRfZQwrLhBsDP9nv9N1eGIoA5Ny
e3WOxOwAvMuPowP+jdGMP7sC5PhdLRYfqalHQWjdqE/pvAEozIgLe3Bc/CoEee1/
TGCaclFrYTPJz09tdD2knvuY95F6WAKpJ8M7Msf0sdQkAf4yStZ3IWPeL9WVgp9w
@@ -5308,7 +5184,7 @@ wZRdGMvEt7nRCtEMb75RiMmrwWtCqz2DWLRByNvaEmw6J1W94HLoh3C9Pw0pqoKN
ZafLc4+NONHm8bQIzn6BhoN0ZjMmEBvLM6apA8AkV06noo5ET26VxoJze5MerO2Z
lrSLUBHIdgUmwztCep8AdqE38v9G3ie8qMgRLq8gePIdQdegva/urmb6Y5A16gFE
3/vTI3M9UbAaRy7oXwO6Qw7O+AD4etiuODW4NP9vDnRHV4ihlvDdwadY8wARAQAB
-tCpSYWZhZWwgV2ludGVyaGFsdGVyIDxyYWZhZWwud3RoQGdtYWlsLmNvbT65Ag0E
+tCpSYWZhZWwgV2ludGVyaGFsdGVyIDxyYWZhZWwud3RoQGdtYWlsLmNvbT7OwU0E
XcVTLwEQANX1UBfDab9DrU9htikuWt+vRWJm50CLI6HvlstxnL5GQ7Xpz0SK8pPT
idIDayUoigNsByB81QkSBFNvL7TftI0iHQJ/CoplLs/SAdVd/sN40aE/TH54QDMk
coKwG+i6cGhm4XHhjUlo0eSY8V0fxCVmNrAEEzB4QE3wD2dU2rYunNkY0w0hdKf+
@@ -5319,7 +5195,7 @@ lftW8JL5+OM7Vd1b5+wAUTGWXABGotR7gKl+rh4CXykLY90+H9lUXJiLaqFYhKKb
2reTtU7GXSQkfrwnqPjtYOHcUSDGknaH2ChHVkGTFyRI3xIxcJjmuFJyGG12qj8J
+7v17wd+ek5LyfzL7jvHTkyJ7NZ61R94fBzm+EhNzdByO6tdSuz+C5pqj5J27Qm2
fbv+z3B0ZqOMpNDUDqKe9VSl8J+h1osUJ1UMbM4IG3ADKSY8GTSxPNEBfzregNCm
-ursaFFB4NADqQjLQqNtphzRiZLN2w92FvOFQbNtP8qnwdkggos3pABEBAAGJBD4E
+ursaFFB4NADqQjLQqNtphzRiZLN2w92FvOFQbNtP8qnwdkggos3pABEBAAHCw34E
GAECAAkFAl3FUy8CGwICKQkQHaeEzLXEbdXBXSAEGQECAAYFAl3FUy8ACgkQeZm+
+6EDnov65BAAtjQptG1GxIE64t1u7BV5zNqJ1ytIV/jYPRznWGPwGfdzYTzkjjSw
pE8iWydvlpktpa07OkjUWY8DMCN51aYIuvLzmmtRla+EpBj/mY5mMfhWZE7mR00J
@@ -5342,7 +5218,7 @@ i3gd1+o96Ls1ZrmKt6yRXIIpLcS5/2M6HUJ88rN+lIQk5P/97fSDx2hlQ7zoF1e9
CYeqL7aCpp7sFJ7MdDu3WcVJzmDAZVVe8IbpyP1HkYcJJPMkmO3owKFWuf29b8A3
xJ0xWCN3rd0z1+o8WhHBIrMDF1W+MaZ7yKtwqg5KwSS8WeLTxj6XaM/TOS/rOdxE
NUH0GaTV5P8pDPS4tTCI34it8Lq901+l4rHDo70IUU5ftn7IdE5jqxldTjAVmBAZ
-sdhl/CfAsXMWSIYATNL/mexN2jiZeDIyPOCs2ce5Ag0EXcSnlAEQAMe4lWFXlf/p
+sdhl/CfAsXMWSIYATNL/mexN2jiZeDIyPOCs2cfOwU0EXcSnlAEQAMe4lWFXlf/p
8S7jp6os1D9d6fK8Uyl0RiIQNOrhGWYlyC3PMbSaLxt/MZ0BPqgUf6mtxNTiwL1j
5HxSsszX8kiPavGS3uskRcB3VooNIERBlaiNaVXDZ5edYUNo+Hwnlzqs69Ol5qC4
xyGeHCcQGR85qTZDMqRRxn/Xv3+lhlQk3X+Ykc03unr2/y6NXALgucPdhB/BNs7R
@@ -5353,7 +5229,7 @@ RaKla6wW9QOpNQ3E2geyjYCpJyb11sK5MmuCoBvGGM93pwQ8AjIZihA/hLoS3blP
rpEKCKhMLAx5AldC6Lst4vzlCdAOzOtVh9QVmx/BPmGam/nuvLQVaYLYqUn66hJ3
SsmxD1umm76zbXpdIoSxGIJP+nLL+y4s9vWwOh+TTmvC1mzSCs4H+HPAj7klkNL1
EIji/RFQ4bB1RvI1HH2nm0+drLyu+u8CZmMecDgHx8uYra0Yabj6VpOtyp/BTfkm
-fshK2YU99ZBW7RxdhTRSTEsGr/l9tG//ABEBAAGJAjYEGAEKACAWIQS0rIzcFBrw
+fshK2YU99ZBW7RxdhTRSTEsGr/l9tG//ABEBAAHCwXYEGAEKACAWIQS0rIzcFBrw
rkaNFpIdp4TMtcRt1QUCXcSnlAIbDAAKCRAdp4TMtcRt1X+tEACs5n8tWiv3gaVO
ByMCschGwJOg/j2uokjCi16s180bNVerOZaPhTaaUC2S+8w0ugv1gh4RmqCPIrxD
kYlDRgYzqF41B52mBv1SSfBlzl6jiAa63bf+pVV5N0QAiTo/MEX3naiFBISf9N5I
@@ -5366,14 +5242,16 @@ FtvfI15rXhkXrz/SM1fVXEqIWkTrEnxuUj1mFQ0ire1GU4+6MV9hFy44DBWqtgWz
yTy3p/VsYhIAbyIbB07tG7i2+eTjMCwEbt1MsgQufrXuioDKnQ85n4P0UX4Ohsa4
j32Xxht3w83NYdrSC2KEK1/GTzrVE7EzxI836bHHvqKuFdXFQ5eJNzZ1pt3cRZz+
pIXjPlQ0i6kV0h8KapE1Uo005JYgeg==
-=ASmD
+=/SKc
-----END PGP PUBLIC KEY BLOCK-----
pub 1DE461528F1F1B2A
+uid Julian Reschke (CODE SIGNING KEY)
+
sub D4569BDF799A59AB
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFd7wYcBEAC1jmtowY8q/BXHFr4bOvA4WtniUcECC36dHmQzd3LrG8zdDPK4
+xsFNBFd7wYcBEAC1jmtowY8q/BXHFr4bOvA4WtniUcECC36dHmQzd3LrG8zdDPK4
DgO/5w8xdilEe7BRD9etCV/uKXVM3KsKjFDHgh2puge4JElbePQL5l1oMmDUIGpK
cj+O7REa8fSAh8MOKRYTBQ6C8z3S4iEJuiiO73gvoe8XvAdoM9tN6G8lh8HBcpIZ
OT552jofRcStDw5WRKWj/MFYnqacReFo4ni6i+A733P+vtU5ZzWqtvhza6YNy4YA
@@ -5384,30 +5262,31 @@ Ya1Qvt4oGijY+BKNnoiKBBJnQuay4y0dgfolpdmFZf7BR2wmh4Svzttwt00v2OEB
6Qs+caUz4uoa6mzDpuFaZaIpdP4kTSwsGdwqemHsjLaAYcdWssTOi9oS+ioUNjLa
sIPGtI8pZ0WuN1X/IRSGSA6d/S+efqDGGyRligMtxuUicCk7+ew0fQ4dNxettN0B
/wKRJ0ZP9TClw1jdLHDcuonI+8gxdxiT6dNOzCjMssQ1D4qfV56SenTNAQARAQAB
-uQINBFd7wYcBEACXz5jc7lBQgd4KyQT6vl08QNuYRQFCScoLji3J7zElyqo0+jty
-FXrQNwuTxKdbhcKrT1eiqlo7/ZBYzDMB/YQwbJ/sK6zgyrLdo8+e1G1SAWjlvoQR
-ggmNIMHy67RjZC3lB2dkyLwWwaXNMuyyOGXJrhnCGvvpMFbHAFutLs5Dh4qfA+XI
-dVgdO9JDOmZiMemltg4MR3Kd0vkNDB/B81JGTykZ4jbWiZjSYHl3hYxCWXu9hBiR
-AgHJ7snp0vOwbLn/+pYSDfE4bripMBp3NEmsUEsCPaogh74COrOt8/nk9tT0SROD
-+9/uM80oMJhMi2HkFPqtUfQ6iKDhs1AIhF6hEzDsAz1xaeVlfyvhKXAr8z1pJ/KI
-43vReSYxkc8RRb+x4LSC7q5i6x7RBDGjvYTezFcofHJ24B2aVZOWCfWN0s5tw7TG
-JY4VWvfo/yv9PPO8k+F75LVF9Y0C49SLYJQN7y1Hljf/In55mxKn0zZzFw6b1Bjc
-W1GrB3Bo1fNZBMW1QZjPTx9NoOsG/CvcdXajhdaMA+8287LG5D9VUhV/UZ6sEQi2
-XbVMkJnj49hEvxfp5uBp7OJCPjtFakKhgpMmaGG2kqZy/yc/OlEirMVdXQ21TCsx
-Q5LJW8V9V+c+2XigOB0b6n3AHzM5eu85XBvGn+jbubk55xQxOJhfAC18ewARAQAB
-iQIfBBgBAgAJBQJXe8GHAhsMAAoJEB3kYVKPHxsqyfgQAIdy/pHm5xd9zdfYsFSN
-nRHXQ4oGbrROy6tika9gULZ+d3iDUOxbxLJ18t+X2T7v7I2hLGE+N83yurlwsePg
-z9MkjzJd63S7joyfIa1mFl9UfcqkCAHS+ADqjF+nl1kwktpcMaBac9HQiKJ2nZ/M
-cH7Wh4HB3m4wLQAoXfNHJCpPcDGwUcXYt4uvvGnqgEX/0mbebaMW5s14PqAxQ5wo
-oLWu8ZEdqJXO9sVoYpowVDDLqELonKc+OobkEQqnOX4e/Smyh72lKNnhDoTfZhhQ
-H5giSYqXvRA8S32JZ55pWaQGD0pEC333BDyvadUPvr6EpG/+PBqQe5Vvkn+8slXY
-qoW1DKcu0rl+XNHDqb9YbnGj7NK4qSo70UjL4Th+ZD6ELalxquAHEThJcrLWXF+1
-RLjWWRcppVSVpQKPTNBxVVnLgGUSxgGSFjNrj4YXm6nhJQziTkVNwd7CkI7XSmNc
-4ncj7I7Crk3qtqpKumyU2yZGZrv+0l/6gD9UNHxL7BYRn9KLukRcXkZbuWeDefSu
-pZF6PfhiwFrnPfZml1rmIqJZ+TnKD+8U2hWcKg5Rfmffz8c7tX6EFgfCq6j18Iae
-/2dyZlv+4z+BHolyoAOa+LWwY2Z7oDoZHkb+fM9CCpSy6NHOK2oriWQLLYHbxKhS
-x4dcl+CPon+VTgw9pxM1xQ8x
-=Ozmu
+tDZKdWxpYW4gUmVzY2hrZSAoQ09ERSBTSUdOSU5HIEtFWSkgPHJlc2Noa2VAYXBh
+Y2hlLm9yZz7OwU0EV3vBhwEQAJfPmNzuUFCB3grJBPq+XTxA25hFAUJJyguOLcnv
+MSXKqjT6O3IVetA3C5PEp1uFwqtPV6KqWjv9kFjMMwH9hDBsn+wrrODKst2jz57U
+bVIBaOW+hBGCCY0gwfLrtGNkLeUHZ2TIvBbBpc0y7LI4ZcmuGcIa++kwVscAW60u
+zkOHip8D5ch1WB070kM6ZmIx6aW2DgxHcp3S+Q0MH8HzUkZPKRniNtaJmNJgeXeF
+jEJZe72EGJECAcnuyenS87Bsuf/6lhIN8ThuuKkwGnc0SaxQSwI9qiCHvgI6s63z
++eT21PRJE4P73+4zzSgwmEyLYeQU+q1R9DqIoOGzUAiEXqETMOwDPXFp5WV/K+Ep
+cCvzPWkn8ojje9F5JjGRzxFFv7HgtILurmLrHtEEMaO9hN7MVyh8cnbgHZpVk5YJ
+9Y3Szm3DtMYljhVa9+j/K/0887yT4XvktUX1jQLj1ItglA3vLUeWN/8ifnmbEqfT
+NnMXDpvUGNxbUasHcGjV81kExbVBmM9PH02g6wb8K9x1dqOF1owD7zbzssbkP1VS
+FX9RnqwRCLZdtUyQmePj2ES/F+nm4Gns4kI+O0VqQqGCkyZoYbaSpnL/Jz86USKs
+xV1dDbVMKzFDkslbxX1X5z7ZeKA4HRvqfcAfMzl67zlcG8af6Nu5uTnnFDE4mF8A
+LXx7ABEBAAHCwV8EGAECAAkFAld7wYcCGwwACgkQHeRhUo8fGyrJ+BAAh3L+kebn
+F33N19iwVI2dEddDigZutE7Lq2KRr2BQtn53eINQ7FvEsnXy35fZPu/sjaEsYT43
+zfK6uXCx4+DP0ySPMl3rdLuOjJ8hrWYWX1R9yqQIAdL4AOqMX6eXWTCS2lwxoFpz
+0dCIonadn8xwftaHgcHebjAtAChd80ckKk9wMbBRxdi3i6+8aeqARf/SZt5toxbm
+zXg+oDFDnCigta7xkR2olc72xWhimjBUMMuoQuicpz46huQRCqc5fh79KbKHvaUo
+2eEOhN9mGFAfmCJJipe9EDxLfYlnnmlZpAYPSkQLffcEPK9p1Q++voSkb/48GpB7
+lW+Sf7yyVdiqhbUMpy7SuX5c0cOpv1hucaPs0ripKjvRSMvhOH5kPoQtqXGq4AcR
+OElystZcX7VEuNZZFymlVJWlAo9M0HFVWcuAZRLGAZIWM2uPhhebqeElDOJORU3B
+3sKQjtdKY1zidyPsjsKuTeq2qkq6bJTbJkZmu/7SX/qAP1Q0fEvsFhGf0ou6RFxe
+Rlu5Z4N59K6lkXo9+GLAWuc99maXWuYioln5OcoP7xTaFZwqDlF+Z9/Pxzu1foQW
+B8KrqPXwhp7/Z3JmW/7jP4EeiXKgA5r4tbBjZnugOhkeRv58z0IKlLLo0c4raiuJ
+ZAstgdvEqFLHh1yX4I+if5VODD2nEzXFDzE=
+=DMRv
-----END PGP PUBLIC KEY BLOCK-----
pub 1F012999BF55C33C
@@ -5416,37 +5295,37 @@ uid Hernan J Gonzalez
sub 24E86B8F7B66511E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFIDA20BCADMep/wCKREt6NsQ+r7rqgIhlHazBndaS955izID79etP6DsE0W
+xsBNBFIDA20BCADMep/wCKREt6NsQ+r7rqgIhlHazBndaS955izID79etP6DsE0W
YhguJrLGyuD8Ro4U8HMS+R09qdfYC4kp8WKC1Iky+tSzJ4WrUcvvA9i0U6DMVZDj
rJ/z+89BwgUvI2Iyt+APBXK37VCeAgztjKNXxT4S0pTKxf/k7fpc6QH2gkAoHM5u
xdwR8mAHyzyONwvyIG4LOAPE5kXRM/+UQq6/GP8Vwa1F0Sp8Woha8wAkd+644Gcl
peiTfRm1fj77rtU2vOfZ0MQXUsI5Q/gfRyRSXGMSHkmv1vQN+G7/Q0iRLrMefO8B
tFu1m2j5uSB0uI5LTiH2DDzYfGIivHZqMa5XABEBAAG0KEhlcm5hbiBKIEdvbnph
-bGV6IDxoamcuY29tLmFyQGdtYWlsLmNvbT65AQ0EUgMDbQEIAKL2WkHZbpSuFT1d
+bGV6IDxoamcuY29tLmFyQGdtYWlsLmNvbT7OwE0EUgMDbQEIAKL2WkHZbpSuFT1d
7Vrv5FoKyod9XQV23AXvKI/lbv0w9wgLNYzhNyC6dw5Ih4dKphwoyqRPM9GKSZ2v
xBrZ524K+ewTwHFb1uoTXsfHOH6jLRYAsUzNhDdlxs+Cdnff4Ja2aZ7dUUKGpTyh
kJPEe6+AMMQ7Fl6Bwekotx0iyaBNk8dsxitFk2gwg+3sPFF1kwMaehQ7SNqPKrvg
k0rUEJMr/e0yvgMFgw8+0S100TjCzVUXbS6BYg/YnEPdV0CXrlBMqA0Dj8SziZNR
wD4xBxMTYUskWITNr9YcctrBKfss300IV1YTATp6f9U6/9JFksF7ZZLNkbpJdbq+
-sEQcEtUAEQEAAYkBHwQYAQIACQUCUgMDbQIbDAAKCRAfASmZv1XDPBCBCACzXhri
+sEQcEtUAEQEAAcLAXwQYAQIACQUCUgMDbQIbDAAKCRAfASmZv1XDPBCBCACzXhri
XGIBHrmbL3GfQuYZiLLHWh6h9o81CgE/gxO83BU/4bizrFRECPJChsHRcX09xSap
4KpMls2teCtPIKOhAocoZlBK38z062dUrmN943ZEFM9WBaex3XDQfmVvPh1ZX3UX
3LaG3r7nfqX3Vwb+dEa88lk5nA9DboCUghrM8CsAtfsQkuxQ3k8jFlJchyORKCQv
s2sSKksBIuj6RxTGCC9zeY7RQ/ZoCYrzMjGx6oQBkU8KJ7kOXRS+P5vhxqgYLCAA
itpeywR0F5n7ZI8lW4+3ksl/XXhLEPc2tDqB0joehhxxSeeFi36hq1EA3aOx055V
hb44P/aDkzCoDOzx
-=mIEN
+=ZWKi
-----END PGP PUBLIC KEY BLOCK-----
pub 1F7A8F87B9D8F501
uid Download
-sub 7D1BE4480B61E2A7
-sub C2148900BCD3C2AF
sub CFF46EE3C17E53E9
+sub C2148900BCD3C2AF
+sub 7D1BE4480B61E2A7
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGBP58sBDADYRZmxLOkqrz0QZ/yESRpv7IeHGLqDE1a8QfFtFb14MJCLSAAS
+xsDNBGBP58sBDADYRZmxLOkqrz0QZ/yESRpv7IeHGLqDE1a8QfFtFb14MJCLSAAS
3nMD6Szi9mEjEqYdJURRcMjbUBhePgbhzGa3FYkjAB8lj6IKbu+ogCwVm1S8+caZ
C6HNP1CIefa1wQgi/6FNWEBKbKefUr/DoG1fBAWUvTPC2BjiYOHDaU1xFWwhF3Np
p0gEoK2KNgGgy/aSCi9Rb1M1ynPF7CcY8vKpAo6YfJpoNnput3t5FoF0uPnIac0F
@@ -5455,34 +5334,34 @@ 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
-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
+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
@@ -5490,17 +5369,17 @@ Je0ykdlUHQNKZpCf+RrW7tZ1p5bvJyxxa0Lile4c4Nncjbr8K3tVRQEm8dBvdxjz
sv5sBUF+hMbJK2B9cFiOjvS9koqrxpC4hz6iJZJDeA25q8fD2Q0iEbys9ROUhW+8
McVzZ/gvLrsw7OUzoHkDsZxYqj/7+CqqpN+Al3Rj/AwPb8GieZBKgPSaqEzdFZ7F
2ljMrr3KC3USNBJzd0JZ3ami7F6h/sThqDqzC2TASDkkdHSnEDbUN15m2jP5x9EV
-h/ei42lwwwet2KFLABEBAAGJA3IEGAEKACYCGwIWIQS0bcceA/7rf4nR8kkfeo+H
-udj1AQUCZA5BEwUJCWc1PQHACRAfeo+Hudj1AcD0IAQZAQoAHRYhBDP9S/0zVUY0
-BT1zwMIUiQC808KvBQJgT+xWAAoJEMIUiQC808KvLiEL/RD5ksGyNWhPu1qoP+PS
-l5myWniQgVKb5IxR83scsoUU4w+qlp5CNGMpFznQexdL48Ai8B6khpUO3Si9kU/Z
-zvKLKf0xI+oIbUX+FaTvR9KoKTGWu3I705pFSshmo8lqZLMfpbxt8Gkz3SkZghRD
-RggkHcJKxV0OISZMxTwZS/+xTIQW+rp/GKBRKpMEjcKnw4n0hYHSBI1B5Bi5gG9A
-5GFebc2w7GoxjrwFDoDs7jRYICF0zn32tKPLs1r4W3oMcG0x6pGM4A+VGde7iTYf
-6d7bDMYIETSkWHujLtxVR+zIsguJxoOuL7Zy68EA5QmuJTsdIwuHNC1ZwcKJ1Xvb
-1CgeYys+MaDQrtEYHelq7QJ2iFvz8e71udzdTZqs9+NMTkQ+9pemab24nj4nGcUW
-78WI9M5vVaI6+ETygAYEQ+A3iny7Al8UehNdWK/pqND4bXDplewHdwf+tgAElFP5
-MrPhU6icdqY4L1kN8AJql0StPGdgMiQiWw59oBUBiIZC3Z3WC/0frtV1m0UtBxau
+h/ei42lwwwet2KFLABEBAAHCwrIEGAEKACYCGwIWIQS0bcceA/7rf4nR8kkfeo+H
+udj1AQUCZA5BEwUJCWc1PQHAwPQgBBkBCgAdFiEEM/1L/TNVRjQFPXPAwhSJALzT
+wq8FAmBP7FYACgkQwhSJALzTwq8uIQv9EPmSwbI1aE+7Wqg/49KXmbJaeJCBUpvk
+jFHzexyyhRTjD6qWnkI0YykXOdB7F0vjwCLwHqSGlQ7dKL2RT9nO8osp/TEj6ght
+Rf4VpO9H0qgpMZa7cjvTmkVKyGajyWpksx+lvG3waTPdKRmCFENGCCQdwkrFXQ4h
+JkzFPBlL/7FMhBb6un8YoFEqkwSNwqfDifSFgdIEjUHkGLmAb0DkYV5tzbDsajGO
+vAUOgOzuNFggIXTOffa0o8uzWvhbegxwbTHqkYzgD5UZ17uJNh/p3tsMxggRNKRY
+e6Mu3FVH7MiyC4nGg64vtnLrwQDlCa4lOx0jC4c0LVnBwonVe9vUKB5jKz4xoNCu
+0Rgd6WrtAnaIW/Px7vW53N1Nmqz340xORD72l6ZpvbiePicZxRbvxYj0zm9Vojr4
+RPKABgRD4DeKfLsCXxR6E11Yr+mo0PhtcOmV7Ad3B/62AASUU/kys+FTqJx2pjgv
+WQ3wAmqXRK08Z2AyJCJbDn2gFQGIhkLdCRAfeo+Hudj1AZ3WC/0frtV1m0UtBxau
oLie4unVSlmUzL51Ukdb9OQFySLrV9Fa++lGWXF7qjeNYe0VpGK9WqDX0stdnzDB
ui3AA/rjk62VOf92m9Dw7niEjMtUu1+letgc2j5dWbzlAQ4EgDyEZoAMhEAWyqiM
bNJB1XMJbWZu4tqc2z0/GRFPVVhBREcKVz9jfzYcMl/lG0FLrlbFqHPD5yhcIdGg
@@ -5508,7 +5387,7 @@ kx3K6HdcRNKZ/SvTMtXbwYWGRRHGzybFBlB3cPRQ17PiKPxSgOvmySoEGR0NNskI
dHlEFtOGKfYpd3LXanD97j12ccBPvFL04P2sOyBiSOYS6K0jSARa6AZu2OSJ64Cg
7Zfphvg4y/W+qGE6JUP0ui3s/TvmW640PVxqqN5dsWrjczLn+2wNzDSCsAdGayfJ
RO1k9jc1B48hfJj0Jglrv1JdZXPPW96vaM00oy5OCnOAiWD+Z92arjBSjY+hkFxw
-eM8m6Jr0N+U4i/wP2g4iUWj/eE4CBPKi28thsPoeMav6UIO9XDuJA3IEGAEKACYW
+eM8m6Jr0N+U4i/wP2g4iUWj/eE4CBPKi28thsPoeMav6UIO9XDvCwrIEGAEKACYW
IQS0bcceA/7rf4nR8kkfeo+Hudj1AQUCYE/sVgIbAgUJA8JnAAHACRAfeo+Hudj1
AcD0IAQZAQoAHRYhBDP9S/0zVUY0BT1zwMIUiQC808KvBQJgT+xWAAoJEMIUiQC8
08KvLiEL/RD5ksGyNWhPu1qoP+PSl5myWniQgVKb5IxR83scsoUU4w+qlp5CNGMp
@@ -5527,70 +5406,44 @@ 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
-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
-a3HXnE2l2ony
-=gs9m
------END PGP PUBLIC KEY BLOCK-----
-
-pub 1F8CF885D537A431
-uid Niek Haarman
-
-sub B7D9C5C3EEC4A9A9
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-xsBNBFkyw7oBCACtGFos6g11ycruiWMuXwrE4+XbU85+1jR99AN5PcKjgXo/J3T9
-XaZLjJ+oTWCVgEHu5PTxAftbkq9+lmDAUEWZ1Q8dKrnVgBLsFNn+G2pcvVschorz
-CYFu/WT+eORA2UkdPZ7LH00iMx8DFpGtL2dBZY+tS3OpLi1LdNw4Dh/dJO7x7gas
-GWVUnL7+Cv53rmvwj8bQEuvrQjaeXMGxJKUSm0qpJ7BvkSEmQZ7qnRS7vZ05Iz4m
-uJsTNnuxtf0+fmWNrIqpv/J4RvaZVdA5OW/zA1kKYaGlZoLtWhKOht9gPAKlBk4k
-/fBfHoKqm+vnaOnxSzuYpQkYWqeEu6qzfZOHABEBAAG0JU5pZWsgSGFhcm1hbiA8
-aGFhcm1hbi5uaWVrQGdtYWlsLmNvbT7OwE0EWTLDugEIAMFs0MgoaDzDWtzhEf+9
-sPxuhLW0teT8TTZLZD2Bc9om6w4ZH892r+Bv5sWKWILz4Rh5YB25xhn5oXrRF1Xm
-3NomlmIoeQF8cwgUHw0DQeYLFYOMe0gKea1Zk55oI7T1dHaJrG8Cv7zXqVCuHcOY
-zMMSG1TvB7MuugeMrxDI95RSpDoN2vLmNfQ2gJcXoWAFsoln3G3bg/RngxmoiF52
-04Gn9MfLPGwtc1lJUoUSEqz5zDrz8Q/jwif0J2tosREuyKZMxyiQl9TTMCpNtKx+
-LGosCKUMC9wNpLRelUTJr9cR8GVJet8WWBje7vXCdqXeuMUhpE2cVcNz+SlaDDj0
-2NsAEQEAAcLAXwQYAQgACQUCWTLDugIbDAAKCRAfjPiF1TekMZFIB/sEzt8SNNO9
-jwxjRYJA3CLUcuxurSqYUDQMtspQx8tUGdrh1qjQR8vS7kdJc1laloHg7nUEC9jA
-BDZ8SSFd5inohxrKTmo9kYEHLiBeoDLxVDg35nv72oSTKHuyYZl+8QjFVgxDKToP
-ICMq96osdLOA55Fyl4BPr9aplaGG+aqD4LkkJzsqx2MVjeqnNyOpsAYuLCdz7Aq5
-Cg1F4CQYkY4G0pHppA4u52itLEUWBLbo4zkiAicta3O443hD0XLJNbp8nSPGizzt
-nyKKIi61iST69H3nmVaxh0th6a9k45AfuSEdQNRSuKO6BXGUy3F1ZUBYJGnPAT8k
-blBoRdWF9SQN
-=AfUq
+p0sZcFVmpIJMDdPOwM0EYE/sOQEMAM/zvkoXMyQBaB71Ry5DJmdc8ET6k4kpNwGJ
+QNw5jB4cP7GZm9tBfvslOyHwcehXuVgNApq8M2QrLJ2UBjWu8gxqQ4CtguneYn0s
+QVmeE9cwBjDWBbeHqMBz1xbJSdWoZvxC7LWmxBDsFiTLCCmVJUR4R7cz43Qhg0ap
+wpS054GPlx7V4JzY23z7qLBPV1fSwyYWbnDp85sUcJtY1cwLeGQkW5O5+KF9SNiQ
+3VNgR7GtoIoHScs49WJ+EUdrmqaJs2WmEHA2JoEG30AHMVbpyEgaF0PPFR1VzEVT
+7PesVstSbnbq8mqgmBt+iQjQkYAb/wyBdVfFLPt2IsGbT92e9LQ1Itw9x5gpzD0z
+egjS8QEg176KsGmpRJ1Vs1acpPfB8KWTV7q0If1h1fxmU6ziOHTEe0kvzISTcsO0
+RhHYiMNHNhHY8gSqnWUiPSzSc25vQfJ8/7bem9uuQUluUgAssXlVhn68aHE11Fxl
+dGV4ATHY5rRGIGJkQfFJC4MPLIr3YQARAQABwsD8BBgBCgAmAhsMFiEEtG3HHgP+
+63+J0fJJH3qPh7nY9QEFAmQOQPAFCQlnNTcACgkQH3qPh7nY9QEOyQv9EgcZ0+BR
++EqQNpv2E51i6ny74IybA2u2dLK9CUmPBpu+6Meq1JAGSNd1qrfVshg1b+FWCNjS
++cqmSBdV9Bim/wfvk3xlDsxTvUE4Y9FiZ1VhacAIuCA1U61rnlwUemeCxl+Oc6LG
+6PHSI95xWqLBhLawCptReqb9txTx9XtuGFhl+be3qAJCahjDLmVnPEL+E/el2SVn
+HdTpE1YjWtrF3pa3SREj3AZfbz3lzLPwQesMLnnvPsD7Sz21w30debPstxEYwBsm
+vgst61MOUXwgsEaLiNlQbW8a26PUcrRdKQ+LEL1AaMNbcUFreadPZSUJz/QRplCF
+1AYtODCrzJ+M0KlGfLDunV4cBhtcskpIOTVW74CKP03xEQrYYAf7p+d5NvS4J0Ry
+25PjY4ZtxBIiExGnQGnsbI8eCzWPOtWPIQE+Cp2OnqxB6Wx/qm09E/vg0JDLVbUC
+t/SAnrAujm55yb3NjEqc9cQD6zx+S7s9PfY2m6KipNGZ9qVLaOqpMx3vwsD8BBgB
+CgAmFiEEtG3HHgP+63+J0fJJH3qPh7nY9QEFAmBP7DkCGwwFCQPCZwAACgkQH3qP
+h7nY9QHJqQv9GD4A3fGV2dOBxmyzw7HkJjyP5K46zlO0d3jHdqYquft7QiVUl7Qq
+qH0hUBsUdcsjrxcxvl0bePHKHUf1ljcW8MWNjAZUx+LOG10leRAEct2t32BoiFdk
+Qn+KT3g82olt0LPHklJDzx0yV2Duc1D1JXKFfH7KcCrPGByWkFqokUaTe3aVpkxr
+5x6+KYJ3Zcfj1MLhvCoZKwVc/siXPEEBMea53+7L5JpHwMe5KU/SXNilALCH4F3u
+cIrVfrD7MQOO+s05KA7uY0d2sTIokwmCq9VOnZwjvnDl+6Z9RJ288ngvssNgrsYo
+zuwqFVjXqTo/w6j9kKrbw17HSoC56c2QNCrMYMavFOgOGvgrugQKUVqvclXm4AQv
+vuoVMOavcX+n5EmEDzgbIoFCl/cuyRUrkZqwqaufcGia+g9eVkSVg5xCxQ+PWuy7
+9E8PECZHMIOzPRVXerHC8G9RRjZk98hfIeYeSs6pHhDI2hJ/hx8NI2b9fprN3g68
+nLx/8fai5lJq
+=UDmg
-----END PGP PUBLIC KEY BLOCK-----
pub 205C8673DC742C7C
+uid Brian E Fox (CODE SIGNING KEY)
+
sub AD9CEBA0521B1945
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBEry8yoBEADnhvT3m/zzzuiUKyAeIfnN9CeN0ilQx4P0kFMhyZchRR4Ekb41
+xsFNBEry8yoBEADnhvT3m/zzzuiUKyAeIfnN9CeN0ilQx4P0kFMhyZchRR4Ekb41
iKw7tDL9q+g7xSo3yUT9dKjDWJ3yhDpdAhp6d4y8GAuWqlOu8CQdEHJOKK0yxTzX
NMhSiskfUesM16q82/xHH3rUV92b0lxkJ0D/V5ldmYTaOwW2KRtQ7U/WP0cftdw8
dJuy4ja/ASLn+WcsA32k3uA1X9qUCNGtJHQIZpcHi961rSb+fktiqjXloAX4TQfj
@@ -5601,58 +5454,64 @@ Ni8umYYRdVau7fsChwjRUPaRdwPGHQZaFBYsCPHAfn8Dnd3JPUWkevxui9pZ8Wgg
1oFx1pBf2bu9NJgsWzn1idaXrxfyKTCuQFqazhBrhH9ecIwgzC3bLW8KBd5seG5l
3k6FNSjk+54Z7sUU1ucxUUS9zK6dAw8+Sb3KVR8n4P3VEyBNKbb/U1fcXWhvm8sD
0sQOruqx9h/g/d/V6iibZNu5fkmET/Q5X2qDFk9tRYUg4zeG0652KgTQnQARAQAB
-uQINBEry8yoBEADRoV4ShpX4gh2LJSLxiW2cjJsxD4LosDPUUcstgwDcYfrtfXb5
-+avDbBYDi/5lIst82WPXTuAkWi+W1prht80ydNmpbC3wsztoW2xYJPF6GO9HpVW0
-n7tTVWuQWSgHZm77cIoOfAoz9FZDphxoE6Rp/ytSzOj2rXhBTJ7B2LAI2ddMyrND
-X4lBRMQnuuGiaTxe8CXEGYICBPSjP4q11cBdzCKSlRFsz2/4cFVotJhBzm0oyROZ
-po3/IBF/Gz8FckWM0Ud5fKxRuED9OL0vU7aRdQsUkcwbF9CsDkvHuxxRJkErD24C
-vh8ywsE4NskjxJ8L4Fi0CjXq4IN7xUcHnbuM2zvlLv7aaBVZ5FE7il6qMtowLide
-PzrihTUAmqeF4IOiutJZlSwoEDBnoGgh7iNY6kvUFp/FbCGl7cMt8JPjG41m9Tdq
-qfcLl1JC4pYpzg7Li6i68mCubRPiGCEVdAWVhv4jAd23vNutBLwPymQ4EUBiforO
-aPoM3zGvlea8p0MoIms2ir2rOz7R7Ai7aJHf7j8RBbb7KK93F+8dTYG1CDW2KTQm
-kro0CSxkMC+BxzcP5KjrWQxgmNEz+MUv2dCfU9gARC4/SGXIpFuzjyzztsciRVKb
-0G5QF2DuJ+LM7RnzBU15DmxUMil348F4Ovf6+nKlSHdneCt5Z4thK948awARAQAB
-iQIfBBgBAgAJBQJK8vMqAhsMAAoJECBchnPcdCx8F7QP/jbAh/IHe0mpZ4YYCXPy
-KOai/u3yEk12kS06195suhHsUdvSgxPTRB9DXkXaLXcRtXPHTDY0ww7vhLumvrmo
-bBrkBbOcBbXKoKyPPIibVUVGzxkIDtK7pUUKtkkxNoWecPCFv6w9APVFIz9AbQVS
-mIewT8bJG9k2CUYSnb/xjGEnB1poYlsE82uhfLpwe0k0k5vYE54wnmt7Ko+r968D
-smdIE63J+CxkPs/RZ0RHi57LamxC7BBnOvHWCtzQabDNuYluyde0zSO66VvkS/Qj
-DZerkq+1/1+E3as3557K4FplEriYUtq42UIpgrUsibLu9lTP13GdC2L/pylK4Nsm
-TsgnrupjZkeSM9huNi15xdF2iFOwU0A1Tx2/zrdWLyrqlEBob+Bd9wJGqvY2E1Hk
-Q9Dfcmx5OQFDAZTLOKUagVTULVhWZy/phLkuLhzP8IKjiDjvELDG/fNK3rKJJYlj
-KkxPdL5WNpkmi52cdPGhF3IwQ0oN9uaLlte97QfPbuxgAtCl+GNG4DGHTKdQXIl/
-tSFvWgVNCQRoCa+jsKw5rhgH6Aj+5quFzy/yXPFto8mb+oQ1Qsh0tjDr06uII2Ix
-n18TSwpN1BRPd6UpvoZhC03iQwAtw/M66LYoTWvwk1xyeC8G+m/FMyNqDziAypBC
-k2jL7nGs2D66/qmjgmO2J1/D
-=ugSE
+tDJCcmlhbiBFIEZveCAoQ09ERSBTSUdOSU5HIEtFWSkgPGJyaWFuZkBhcGFjaGUu
+b3JnPs7BTQRK8vMqARAA0aFeEoaV+IIdiyUi8YltnIybMQ+C6LAz1FHLLYMA3GH6
+7X12+fmrw2wWA4v+ZSLLfNlj107gJFovltaa4bfNMnTZqWwt8LM7aFtsWCTxehjv
+R6VVtJ+7U1VrkFkoB2Zu+3CKDnwKM/RWQ6YcaBOkaf8rUszo9q14QUyewdiwCNnX
+TMqzQ1+JQUTEJ7rhomk8XvAlxBmCAgT0oz+KtdXAXcwikpURbM9v+HBVaLSYQc5t
+KMkTmaaN/yARfxs/BXJFjNFHeXysUbhA/Ti9L1O2kXULFJHMGxfQrA5Lx7scUSZB
+Kw9uAr4fMsLBODbJI8SfC+BYtAo16uCDe8VHB527jNs75S7+2mgVWeRRO4peqjLa
+MC4nXj864oU1AJqnheCDorrSWZUsKBAwZ6BoIe4jWOpL1BafxWwhpe3DLfCT4xuN
+ZvU3aqn3C5dSQuKWKc4Oy4uouvJgrm0T4hghFXQFlYb+IwHdt7zbrQS8D8pkOBFA
+Yn6Kzmj6DN8xr5XmvKdDKCJrNoq9qzs+0ewIu2iR3+4/EQW2+yivdxfvHU2BtQg1
+tik0JpK6NAksZDAvgcc3D+So61kMYJjRM/jFL9nQn1PYAEQuP0hlyKRbs48s87bH
+IkVSm9BuUBdg7ifizO0Z8wVNeQ5sVDIpd+PBeDr3+vpypUh3Z3greWeLYSvePGsA
+EQEAAcLBXwQYAQIACQUCSvLzKgIbDAAKCRAgXIZz3HQsfBe0D/42wIfyB3tJqWeG
+GAlz8ijmov7t8hJNdpEtOtfebLoR7FHb0oMT00QfQ15F2i13EbVzx0w2NMMO74S7
+pr65qGwa5AWznAW1yqCsjzyIm1VFRs8ZCA7Su6VFCrZJMTaFnnDwhb+sPQD1RSM/
+QG0FUpiHsE/GyRvZNglGEp2/8YxhJwdaaGJbBPNroXy6cHtJNJOb2BOeMJ5reyqP
+q/evA7JnSBOtyfgsZD7P0WdER4uey2psQuwQZzrx1grc0GmwzbmJbsnXtM0juulb
+5Ev0Iw2Xq5Kvtf9fhN2rN+eeyuBaZRK4mFLauNlCKYK1LImy7vZUz9dxnQti/6cp
+SuDbJk7IJ67qY2ZHkjPYbjYtecXRdohTsFNANU8dv863Vi8q6pRAaG/gXfcCRqr2
+NhNR5EPQ33JseTkBQwGUyzilGoFU1C1YVmcv6YS5Li4cz/CCo4g47xCwxv3zSt6y
+iSWJYypMT3S+VjaZJoudnHTxoRdyMENKDfbmi5bXve0Hz27sYALQpfhjRuAxh0yn
+UFyJf7Uhb1oFTQkEaAmvo7CsOa4YB+gI/uarhc8v8lzxbaPJm/qENULIdLYw69Or
+iCNiMZ9fE0sKTdQUT3elKb6GYQtN4kMALcPzOui2KE1r8JNccngvBvpvxTMjag84
+gMqQQpNoy+5xrNg+uv6po4Jjtidfww==
+=WYUM
-----END PGP PUBLIC KEY BLOCK-----
pub 2148325ADD28A1AD
+uid Build Engineering
+
sub 2D4537C5AFEEBF9B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFFCZsIBCADQOqjBEfLoBf7L+CCIqlJRZEMi81HgFJA1Gy3/4fXe9E3OtMAJ
+xsBNBFFCZsIBCADQOqjBEfLoBf7L+CCIqlJRZEMi81HgFJA1Gy3/4fXe9E3OtMAJ
dSkiQYPIzDqbNagYCpsMBSSduJ7EnXNPJoWHIAEn1q+FJcFMvTo4nIC5eKFu7eF9
UBjF8MsmYKgvyPMWJuiY1/8SMDCKvGZA5x3LaPJfyF0CwUraYW8N5yaxyXP77Yhr
6keb+JMZ4Y092i5EpCykv1VhZm9zql6FRr6vVjKoLHBxaoO2kwBD2CAyDXGYBJAA
gmths3vGjVLgknKbYE3amsmfwxVL47ecuR23Wz/YE/7u/QtqNQo1FjljJ/qU4kkx
-+TaaLMUtOkbrZU1SNsmA98CF7J5OUhVk6F55ABEBAAG5AQ0EUUJmwgEIAL3n3dDP
-glovXzkoiEZQKPqnbH1WizgHrWHJ1c1vhhNpQW9gFteiMv7ss8C56IEfu50SRNmY
-ZJwbYPnGPhe/okPv6BdgAN/H9tIRlLuY1dAxQkO3K/qbM+33sMDLEm/aZ4NwJlU9
-smKKiWy4B+9Rg2RiZXIRHl7Z2tFvb3BMJBZZmG2EYrH9AwpcIO0jfvF8rTkhuY7H
-uPsPXUOgg0MpZdS5VtqC3OPKnKYcu2e2AUVfVUQDHw/7PQz3B2Nyx0POPDI/d2Od
-ssNcBNqjadCCVmk+MVbVjBMv1AVxUhDWDDjobcMmjZSmQPSmbenxFeO1TUjxNAl/
-AuiGqkj5GhbxSNUAEQEAAYkBHwQYAQIACQUCUUJmwgIbDAAKCRAhSDJa3SihrXNf
-B/9+N+OLoc6zdbWAdl9lWvgkl8MncpBQu33Lq4sC3nZ3OeKZm6CyI40iLwmD63RJ
-qkU1g41P1pcitRfmEukX/eUJPM3dDLkE9NGYU/H252FZGi5oOXEL3rWHnewykTVA
-EVS0j2GgiMTePyaYA8AsI7ZAXv/FnAzlYaPJkI3dDyYzEnx+Eez6cV3GxWLhnD+6
-QiUlHKjFvZYJ4p7GbvXW9+y9eS4bVjsb9oe8/rVSuNC0blqpbZrvDoVHXbingv3d
-+OL0uIIop5lk6dsCW8c7dJRpcgWzzdRAhLs+XVc62Y2VLRIMcID6agvA44qAijzq
-KL63dnDfxqDAN5pdHJbzl7oE
-=knbd
++TaaLMUtOkbrZU1SNsmA98CF7J5OUhVk6F55ABEBAAG0LEJ1aWxkIEVuZ2luZWVy
+aW5nIDxidWlsZC10ZWFtQGF0bGFzc2lhbi5jb20+zsBNBFFCZsIBCAC9593Qz4Ja
+L185KIhGUCj6p2x9Vos4B61hydXNb4YTaUFvYBbXojL+7LPAueiBH7udEkTZmGSc
+G2D5xj4Xv6JD7+gXYADfx/bSEZS7mNXQMUJDtyv6mzPt97DAyxJv2meDcCZVPbJi
+iolsuAfvUYNkYmVyER5e2drRb29wTCQWWZhthGKx/QMKXCDtI37xfK05IbmOx7j7
+D11DoINDKWXUuVbagtzjypymHLtntgFFX1VEAx8P+z0M9wdjcsdDzjwyP3djnbLD
+XATao2nQglZpPjFW1YwTL9QFcVIQ1gw46G3DJo2UpkD0pm3p8RXjtU1I8TQJfwLo
+hqpI+RoW8UjVABEBAAHCwF8EGAECAAkFAlFCZsICGwwACgkQIUgyWt0ooa1zXwf/
+fjfji6HOs3W1gHZfZVr4JJfDJ3KQULt9y6uLAt52dznimZugsiONIi8Jg+t0SapF
+NYONT9aXIrUX5hLpF/3lCTzN3Qy5BPTRmFPx9udhWRouaDlxC961h53sMpE1QBFU
+tI9hoIjE3j8mmAPALCO2QF7/xZwM5WGjyZCN3Q8mMxJ8fhHs+nFdxsVi4Zw/ukIl
+JRyoxb2WCeKexm711vfsvXkuG1Y7G/aHvP61UrjQtG5aqW2a7w6FR124p4L93fji
+9LiCKKeZZOnbAlvHO3SUaXIFs83UQIS7Pl1XOtmNlS0SDHCA+moLwOOKgIo86ii+
+t3Zw38agwDeaXRyW85e6BA==
+=LxOb
-----END PGP PUBLIC KEY BLOCK-----
pub 21939FF0CA2A6567
+uid Alex Herbert (CODE SIGNING KEY)
+
sub A98BD25BE464EA45
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -5667,30 +5526,31 @@ tzyxzqapJVDCLS4ypBH2JJLKSWWGghcgoVfeXtmB6iAki/nFNSRQODGru32lnLkU
j6vwSjDYkx45OSKEZSwfkr4AHHnvYMVb3sFuyM1a6/nQdhsGu5cc9mGvNKmXE71U
ArDBDq1w129pi3qttrCwxXdUdTE/PtnvQyaKlVX9lD5QLORD1Pis62p4t9CEr+x+
BaZZdy7PeLAV8pobv7H7jpfhVWnb6SrLfhokA3Uy3gMyfcq9dmIs6iteKQARAQAB
-uQINBFxmwqABEADbqeRjxCk1AW780rfUpDsCQDNhAUG2e8fPbAqDFfRa1nbOgNBp
-UF9d6hO+UqYxxLH8xQtUW9x/M/v7hEdEg1zCUMUU6vSIpKtEg4ctSEbv9VlsMM3Z
-qBQ47SpMmmVSPlsXip8PqEBX5shfv8rxCpoHtgHYrkPhGhIdEAog7Jwclz5DgwB5
-ct2VYEJrbHH/cWIF27QAXaAFphzspV2kRlgrrIBREL+PeuPRJUJKYNxbTuzI6DZZ
-yQJEZ8JZcmTqREKcVF94klMq15RbfFRpiodDXK93UYp27LMOVYq9vYOyXnPIpAmi
-u23+JcIZlQe/UMb2x7zXFWJJO++gpB8sbuxrhGChl6i2kGGUE4JYU7RcDA6YgZrP
-FJLAuP+P55xhXI4Jl0OHdLlJR9ytgWh8B4Z4QK03I5qDm2CVDXOWLtb0atqGL4zW
-oUnhkseTynRN66Rv6CoxAQ/o1n7N4GvG/yLGNkcCBZO7QpCxfhqOT78OqtFvbOXo
-MADd/cTFiNKP0OzYEiqysu06rD9zJCASorAELPmWbcccQP0FyFKigRw8YwjH+Mlq
-U0j2Fvtw/5o+Asy2T5/4aH8PJ8vy1pnnFSK3qPElB/WgpHjjkhb0gMKGly8estyV
-wAB7snGCxF7X7DcdKrrB3pdWZkx0UCV+5LThTVt5eIePiMUwQPXzTKuDBQARAQAB
-iQIfBBgBAgAJBQJcZsKgAhsMAAoJECGTn/DKKmVnyPwQALK1CPoYkwcRhsEX7O92
-Ysyedffl5ewj+kQWjzeIjrIkw+uoW72/TEzHRZg/3mpISElhiuN53QoZQ779Vkoj
-R9H2q0oLn4l1M33y8VMW5S1YrjH7UbxiUpkeMkRPJayOlJwC30L0e0tpSTrndO7m
-oHvzxMJkNKne5XzbhbwuBxxDltNYx+yWcA71zyLirHV7mhvyl1taZO87woXFls+6
-njlRdDzxejJPQq+lUlIbNn7Q4VxEKTtepBkaF0aEqnAaL9BAeKSTnCfDbtbUvRKZ
-0EB9p8WPootUsNA7cNi7g6Y8FSmyBb3c9h+HiBpdiw900Q9cc0Ohe/sMkgllZYQp
-qyOgfyFQ8sIdqEHwjjqcl4YvROH2sIxrzCbg/99YBq53L67nv2czh/qjPyUSz8hg
-IvOuepBGqVxromBRTrCkuvR3R2JchsjFh+Hy5LrL6KeXy4N3aeqafBpAd0elKs8B
-a9SS5jZHud3+JYO23eL50mAlV2ldo70i1hgSXuNKfhFTqT+8cNC/WT0AGlzWQ7hx
-SJPkgLdyP1kU2BbxF6LbddFoVDx5dxtouEHBxcrybTSc25mUx0YF0W48aI81vrpr
-2u4A6VzflNwIfnYBY0VU+U9WKjnUlDRXiSfXpOTqkgdBf2SAwHNnCSM1uWs5/osg
-jg+rHSKnuz3mrnglKl6RBnrm
-=f7O2
+tDVBbGV4IEhlcmJlcnQgKENPREUgU0lHTklORyBLRVkpIDxhaGVyYmVydEBhcGFj
+aGUub3JnPrkCDQRcZsKgARAA26nkY8QpNQFu/NK31KQ7AkAzYQFBtnvHz2wKgxX0
+WtZ2zoDQaVBfXeoTvlKmMcSx/MULVFvcfzP7+4RHRINcwlDFFOr0iKSrRIOHLUhG
+7/VZbDDN2agUOO0qTJplUj5bF4qfD6hAV+bIX7/K8QqaB7YB2K5D4RoSHRAKIOyc
+HJc+Q4MAeXLdlWBCa2xx/3FiBdu0AF2gBaYc7KVdpEZYK6yAURC/j3rj0SVCSmDc
+W07syOg2WckCRGfCWXJk6kRCnFRfeJJTKteUW3xUaYqHQ1yvd1GKduyzDlWKvb2D
+sl5zyKQJortt/iXCGZUHv1DG9se81xViSTvvoKQfLG7sa4RgoZeotpBhlBOCWFO0
+XAwOmIGazxSSwLj/j+ecYVyOCZdDh3S5SUfcrYFofAeGeECtNyOag5tglQ1zli7W
+9Grahi+M1qFJ4ZLHk8p0Teukb+gqMQEP6NZ+zeBrxv8ixjZHAgWTu0KQsX4ajk+/
+DqrRb2zl6DAA3f3ExYjSj9Ds2BIqsrLtOqw/cyQgEqKwBCz5lm3HHED9BchSooEc
+PGMIx/jJalNI9hb7cP+aPgLMtk+f+Gh/DyfL8taZ5xUit6jxJQf1oKR445IW9IDC
+hpcvHrLclcAAe7JxgsRe1+w3HSq6wd6XVmZMdFAlfuS04U1beXiHj4jFMED180yr
+gwUAEQEAAYkCHwQYAQIACQUCXGbCoAIbDAAKCRAhk5/wyiplZ8j8EACytQj6GJMH
+EYbBF+zvdmLMnnX35eXsI/pEFo83iI6yJMPrqFu9v0xMx0WYP95qSEhJYYrjed0K
+GUO+/VZKI0fR9qtKC5+JdTN98vFTFuUtWK4x+1G8YlKZHjJETyWsjpScAt9C9HtL
+aUk653Tu5qB788TCZDSp3uV824W8LgccQ5bTWMfslnAO9c8i4qx1e5ob8pdbWmTv
+O8KFxZbPup45UXQ88XoyT0KvpVJSGzZ+0OFcRCk7XqQZGhdGhKpwGi/QQHikk5wn
+w27W1L0SmdBAfafFj6KLVLDQO3DYu4OmPBUpsgW93PYfh4gaXYsPdNEPXHNDoXv7
+DJIJZWWEKasjoH8hUPLCHahB8I46nJeGL0Th9rCMa8wm4P/fWAaudy+u579nM4f6
+oz8lEs/IYCLzrnqQRqlca6JgUU6wpLr0d0diXIbIxYfh8uS6y+inl8uDd2nqmnwa
+QHdHpSrPAWvUkuY2R7nd/iWDtt3i+dJgJVdpXaO9ItYYEl7jSn4RU6k/vHDQv1k9
+ABpc1kO4cUiT5IC3cj9ZFNgW8Rei23XRaFQ8eXcbaLhBwcXK8m00nNuZlMdGBdFu
+PGiPNb66a9ruAOlc35TcCH52AWNFVPlPVio51JQ0V4kn16Tk6pIHQX9kgMBzZwkj
+NblrOf6LII4Pqx0ip7s95q54JSpekQZ65g==
+=3q/e
-----END PGP PUBLIC KEY BLOCK-----
pub 21A24B3F8B0F594A
@@ -5699,7 +5559,7 @@ uid Karl Heinz Marbaise (Apache Software Foundation)
sub D658968EFD5E9F85
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQQNBFMPOkYBIACdXZi+34dvl+8q0IGIjLzFP7JvUH8ail4vrf2zwliW/QZskB/7
+xsNNBFMPOkYBIACdXZi+34dvl+8q0IGIjLzFP7JvUH8ail4vrf2zwliW/QZskB/7
pFXCpV2/hX+0n+kJz0eqenl1l/+lT6p0MQ1TMCtiMccnX7WseQM+xSv4ug82nAwa
dOfCHar6FzgQ+/5+alCCKewYIqfjiWycYgGWDPpUK5FKErXU8drSwpwN2Hc4R4nz
CbE4siGynY2QTu66oF/bVr9nPieMlXf4qIIHnnJmn+cOSOLrhnyK7g+7k1+D95Gb
@@ -5722,7 +5582,7 @@ EG+cxejNs7POqx6x+3/l1AbyM2W8+vJFGJ1+AANyKVmYrhs3wDHt6DWDytMnwpfA
/iZyfVAtXIbcpCc8CRVF96Bup7x+HMo8HJR56sN4jpXLzy6nBrZqz7E/ykjj6H/2
zNus9l2TeL81H4xchEwZyF8i5lFsJG1O2sf7ABEBAAG0SEthcmwgSGVpbnogTWFy
YmFpc2UgKEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uKSA8a2htYXJiYWlzZUBh
-cGFjaGUub3JnPrkEDQRTDzpGASAA6xWBjC2INOJS+RcC5WZH4+w3mqqy4CVM5E9/
+cGFjaGUub3JnPs7DTQRTDzpGASAA6xWBjC2INOJS+RcC5WZH4+w3mqqy4CVM5E9/
OSKcwgoo580H/hyGNetA8XrZPdmm6rNob5QvlfPmwtOw/6aiNuWEtBiZ3ddEil/5
KdNuhaTcva0yoPOpNexa5cFa9ZUN76XH2aCS6I89QroOHVm9pgGl9+EAMolj8bSg
MwBAyU2MRTDnMYOGafc9EuLxjTTxw6lq97BcjVRddN5a8eesxkeX5LNoTsovJJag
@@ -5743,7 +5603,7 @@ HevqoidWZtJs3Qve0RR8AoIFgotGoYmIwYjAMYlDcXsGRMbvAm8Fbnpqcw+1mOnd
AYml6VSSY6IoVrj6uvBG52rW43mOkhsGbfnSzfkHLlx84+9pJgYPXlpEDLtSOiKM
K6NDTIfiVY1q+KiNTxYMlFqmqTYVmuH2aaUifVPn6ilau+OsCdfwMay2WWQBLHqU
xdM1YIBEKWDYMo6rCtT9ueFD8MOKA7bTosfIoAllMi7p6sK49cce3pfGOiWfEsZj
-nOrMQzm//O07bpOY0bh6n6JLXi8Bbbz5rwssbAs/jS85uc3biQARAQABiQQlBBgB
+nOrMQzm//O07bpOY0bh6n6JLXi8Bbbz5rwssbAs/jS85uc3biQARAQABwsNlBBgB
CgAPBQJTDzpGAhsMBQkB4TOAAAoJECGiSz+LD1lKCp0f/0xyMmHehpCgAHnJS1Gy
QYm0bgM4/aU+d+O82pVXsp6sgbjRvz3XiOlNkyYYKsHxcReG2xKa5MtK6Ttc+1dT
35hsineL+IIzeF/4YinfRpU1hfMPSBjfZ5SBe4cLG3NLf9BY8cpo3I/bf1dc6PLh
@@ -5767,87 +5627,19 @@ pZyvTrwTt0un6hZmzQvnTVh1a6eY0fTsjRDcXsMGeD3pif4SpkibCvg3/rN6v7xH
Z1NbLF/OF+X/0QWPq8hvvubyHbaJIUeS0g3wU4GRlrxae3xeCqROaYmkpwIARtSe
ceNY02aV0NwutkHnOiV5nkDVujBZLt21hHbg830gLwcgv5tVVvrG6rAAPdvEZzdt
jEA=
-=Pdn8
------END PGP PUBLIC KEY BLOCK-----
-
-pub 22E44AC0622B91C3
-uid Cedric Beust
-
-sub BFE9E301CD277BAF
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFpqN94BCACaAb8Afmng1QPu5k5uzLoA1FJnF6Wf31ZU1FzDxHFHLNUYSWN2
-Bg6k95QH5ruZ+Z/QOJSoIB+b3htDklyxd8m+G2KsMIqnQs0BaTN18hb3PFyMIknM
-YWkkTPF3nVV9APk73AebTAcd2V1GB7xOP+L3T7tyUcB9/7bDeM3od6qPksdVGNMA
-0S32U8SNhe4jw8uXKdFL6PSxgyg9yeu0V7DyR92V9jF+ZicZWxaLeKpf/Vn3MBX8
-JdePR9SCJc8CNj0n/tsvg/aSmGZ3OMZTUYYvrtfgpXUw0WVkyma+T0ANcdDN91uZ
-P8lV3o+Ic8f15xwsTePDhMhmtOapIz/85ukFABEBAAG0H0NlZHJpYyBCZXVzdCA8
-Y2VkcmljQGJldXN0LmNvbT65AQ0EWmo33gEIAMB9fJ0TVVhqKzqj/gmlVDCT0kve
-vaGSDB83rwHatG/D2h9dmipoEIWBvD42/PXkYuY42iIO8/itvVOxpPZOL+FNRvei
-/ZbVEno4VGaJKQ646NkeVWyVgXZ8+VkRdZ0n09a+goz/e1pogJfL8BVKbU0F6trW
-XYywnV4+vp2kwwMGNRTXmvNabdY6rAE0TfjCGE6O9T28OXy7iHXFX3oTkHjtltUH
-WlHrLe9JhCDCPoFiSndTPYyDcZD+cEWg27BX8XsuJRvlbrzA57xD3w25ESHWJyj8
-4z6K52M/Ys7S/PawZ7pflRkbAJ9smeWr9+qg+GLJboc9vX4kdTTyQp5jkEkAEQEA
-AYkBNgQYAQgAIBYhBMcLhE8ALyH20rnIdSLkSsBiK5HDBQJaajfeAhsMAAoJECLk
-SsBiK5HD5coH/ROhc7Z1pjr9mWR8rr07yNEHNuGf3T/Z148z+ovLkV7dRobayB64
-VhtMwZtE+8Kmf0Tltx5zN2GQkqoSPl08dWFRTr6N7If8N0OCtw/XZJBHa8eD2FF7
-SnNWi6IwNfhCdRtbT0LCmaHKaUineldvmM1riI3GNggGa4cMSYw/65blR757aWAg
-AVZEWi9n0LUMKDRhjIaS1zjtxqSrcQ0o1TYsW9FxuCjJ+MzQSmtJQKiVRQ03fLJQ
-1z4j5u8YvmzCEqp2dEdqBuDuR6Wyf/TmgMUY9AeLT9U6VZTvAGH69TDqVvdmLsKh
-tQidSFbes+7ku5tM61P6ggfv5FJQgQk7WEQ=
-=iA+h
+=iXhb
-----END PGP PUBLIC KEY BLOCK-----
pub 23778689FBFBE047
sub 40D34E692FCBA56E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEZXgxpxYJKwYBBAHaRw8BAQdAbIycVyFgMJnhB7aqYPz+dU9MIlsok/qclCuI
-IsilKgS4OARleDGnEgorBgEEAZdVAQUBAQdA3w+8KkqAyic6PWfjlTbhe1upf6Rr
-Qt0Dqns3NoQYoU0DAQgHiHgEGBYKACAWIQSxcTbQYVNVgQHbffcjd4aJ+/vgRwUC
+xjMEZXgxpxYJKwYBBAHaRw8BAQdAbIycVyFgMJnhB7aqYPz+dU9MIlsok/qclCuI
+IsilKgTOOARleDGnEgorBgEEAZdVAQUBAQdA3w+8KkqAyic6PWfjlTbhe1upf6Rr
+Qt0Dqns3NoQYoU0DAQgHwngEGBYKACAWIQSxcTbQYVNVgQHbffcjd4aJ+/vgRwUC
ZXgxpwIbDAAKCRAjd4aJ+/vgR/CkAQD79gNi5NkEtK8jqYIYc4HJyHx8LuNov7Wh
A5u9ZhIgTwEAhjiQCoCjYE/F9u0Y8fQrlalxahFEfM+qf31PB6fF7Qw=
-=60bi
------END PGP PUBLIC KEY BLOCK-----
-
-pub 26E74B6874AEE127
-uid Sam Judd
-
-sub B4E75C15C3C701AE
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFPsGJIBCADOxQoTLxpZVRIbLaRfsHa2y/TEIGvxLP7TgqTwspZYnwBd0cOW
-OHAvF8yGfdk5gvkGTlQ/xchwu2Ix05FO2c+fBoOgIG1Gn2Q+PwheZklS7S+V+GFk
-t5S3m6b54Pl2lKbcasaM99r5g2+MhxwVnG66ldLS9fdPWqWrviOC+EipHfGyuhj0
-R0E2Oh+dNHrsZR0vtoJawA8xDP5D1Ii3jEVdi71PF8OlavG7saAZXtOW1kU77oPa
-SmGFTmcFLjDP1alo95TTfBihaYiwFFnW7NQEi5Bw1u3G0+Vaoo5eJBQwYsNxLs3h
-I1d7wsqFW5LK6LSxEjfvEhJypi0XzrFkFzMvABEBAAG0H1NhbSBKdWRkIDxzYW0u
-YS5qdWRkQGdtYWlsLmNvbT65AQ0EU+wYkgEIALu35o9Q309zBBZD6WLTMvFt/X+N
-6S/cUrNLMv3YvR/Bo1mtDxsYwmzodWOHo6TNthWm1FIkDhHUMB58q9oHzL2/JIL2
-k/jCULOhj+YAT2N5fQwvZ2WBtWtfsuFYFO5y7UKKUqo+2Dhnk8YuorPbKjVXELrH
-FIq0IRlKEKnDfNrkxwHBpfeU4QaCUcCW+OjRZFsgZVVc8ZjhvvKd9/vX4Jt/c4/O
-52Ym+YEYtZaiawcNYFAdMhaiwSF+dof+v2e6BIYOJrBifZuILqA87XsHQyBCABO1
-zhspt5X2QGGqkjVHiFJnYiTwqYX72n1OpoMOklJZ+ShbbGpCst81i7lyz28AEQEA
-AYkBHwQYAQIACQUCU+wYkgIbDAAKCRAm50todK7hJ8OJCACtdgGnPNmYILYJ3jyX
-h+WPDvxr3y3yMKmC0pRhgs/WxGK6cmRV/ej8OB5aIWCaoWeJ03twgqiaSMbn+7ON
-kr1DbPLzqQGY+QJBJEvLE9m9YcAdBMHCT0fn9Op0AYQhoInOPcKLD6NFO+c91uLB
-Og0q316Wlpl0p3ULH526a2YVPeKwmjCVlhrQSoHgxagNrol4gC8bfpypsjTwCccj
-esiYMOPPU6eyHelFAAGEuVDmkh9gGb9wOqgum0vJEummqOStTopEGr63PoWVMXSQ
-bkrTrayCcxjSiKRfK10myhIGFU2npCL9QbIT7Aw2vZ5VjIm6fWIOPJJz4dsRuYL9
-Ar8c
-=LpN7
------END PGP PUBLIC KEY BLOCK-----
-
-pub 280D66A55F5316C5
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFOOGVgBCACiDwUZOc6943aBGUrxikkfUnsyZfHtF9jihYmA1pSgfsye+JxR
-oG9QWW9+3qx4L/d4ZEqBftTWpsjyrY7NyMaeXtJEjE0vhiWNehgXB1z4XTJ66zCX
-nhlMvixGLQtfZANqCxOmtUGoSXw+oRFY/SExAioSS19HlSxApSaUzc0prdujqp9k
-vOKKIBWTBIUELdDTA4+enfzkAnIINUX9LcMTmO+Fh0AvfjDbq4fr8rBglyVUSCqt
-TOT4oGZlbpsq9TOKrTXh5go0rm5KJcbgKvX78ZErK6pcpTgNA+XFXCz1rQ9nkIQt
-HxWaEMJtpSkIvHIBz9qoAroGtNFzz2oF4ElRABEBAAE=
-=1QGy
+=JEFg
-----END PGP PUBLIC KEY BLOCK-----
pub 2838A2C567F74226
@@ -5856,38 +5648,41 @@ uid Seth Tisue
sub B293A312CEB2E9F6
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEYVOgzRYJKwYBBAHaRw8BAQdAPnTbK24vDd1YxFLwAmpdoemwlJMKH7PyGSe/
-ab65sry0JVNldGggVGlzdWUgPHNldGgudGlzdWVAbGlnaHRiZW5kLmNvbT64OARh
+xjMEYVOgzRYJKwYBBAHaRw8BAQdAPnTbK24vDd1YxFLwAmpdoemwlJMKH7PyGSe/
+ab65sry0JVNldGggVGlzdWUgPHNldGgudGlzdWVAbGlnaHRiZW5kLmNvbT7OOARh
U6DNEgorBgEEAZdVAQUBAQdAsh50gWqK3tkXRhXWTv8bKOfUUFs7RLvna3KUwhIX
-nXADAQgHiH4EGBYKACYWIQQI7z7CaKgEl+0gMIEoOKLFZ/dCJgUCYVOgzQIbDAUJ
+nXADAQgHwn4EGBYKACYWIQQI7z7CaKgEl+0gMIEoOKLFZ/dCJgUCYVOgzQIbDAUJ
A8JnAAAKCRAoOKLFZ/dCJtYHAQD90Eu8uvLofLKxoY+hbjn+dJ+fzcMZ5I2xoc1s
li442QEAp72J6Hz7p0Vyu1u05NZvb+jLBwWyI0P7Hq2pfR3qFg0=
-=rrV8
+=AZwH
-----END PGP PUBLIC KEY BLOCK-----
pub 29579F18FA8FD93B
+uid Tom Ball
+
sub 9DF7F2349731D55B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFYFiMABCADYpblWssqGxbjTwsyroPh48BwdSKl59zbFKoEHDw87NeWq7fik
+xsBNBFYFiMABCADYpblWssqGxbjTwsyroPh48BwdSKl59zbFKoEHDw87NeWq7fik
h95RkbdeWsQSvduXWgQZsUDq9cLOkuS/ChAMkAAd3MPp1NMdFmAqS7BX5wU5s5I7
XD+/p51SWLMvgrLxoenmoE04EuQqQiXd4DbU+HGPseiNx+mN0cxPssaZMBBsmi2r
RjwcQrFTaC1iffzh8FKLQvoTDzci//b5bWcxCLbsY9dYcUaDCbBAkL8HzyZUKNE9
XwXh/Rq8wDakI/VEg/905a9c4xq6Rss6Yn5E4V2SAo2+B3hYmvHFsefaM9kkqvXk
-MQ6zjx83LAtzavOzmthjhhPIgCAfoQ5Q5oDzABEBAAG5AQ0EVgWIwAEIAJ29KWGH
-aEt7gXV8EweJkrYd02nwjc1LyjUT2TRwEzZ9N9qUiVqfpkgnZn4mpHCToxFoqkHa
-iv/QDfj7cp8jbZJa2wjaUkDbH2pZqLBGJ0sUUBZ1KNPM2uhhWRzAnmF/bIo3+Yfl
-hGINLNqoevkYoo9cdelP3hepef4+PUuPmKmeo856uknmaWQ89LPwLlV7oj6wiqMY
-p22sHqTGAgXeR/fSLMK7d0vSPm+57LZed5ECoRMeqYFUwSMV64RjTMkKPsvFBGvR
-hppJ+uWQiMjFFuFq2DFeNBVtueHSdgCHx1TP9i+x+7JmYsmFFmRwnEdbxO3THFXa
-gFQGr4ima+oOjLcAEQEAAYkBHwQYAQIACQUCVgWIwAIbDAAKCRApV58Y+o/ZO+ZZ
-CACL1DlaVyRNjNxzC+30X6xGykPwCdwMRF3CRjoeIicss2pBJRaIdTYFpg3bCZKJ
-J5KDC6s+03zmd3ddnKEq1fEfRcoLZ9PNBYF3IESHnNPlR68RL2cjMgq6segbhOxa
-v13ZcOIOnyrWzgbVw0ZgN8P3vCllFtifwvuF50vTshIRY11G8Gluu+GZ7tfSkPww
-Eo+pRd8scdol62aUUo6a71rDOMg2XPULz0l2hxKWfeUsksT5EY03seZd3CYqOacL
-R+jaHyOc5Nh6R1MzcRz65YTwzVbKplXtZjOghMh+rS4eDIjEKlo456M4spKFBbTf
-Ub+QS9kCkBU8csUzwF0nk/oP
-=SZ35
+MQ6zjx83LAtzavOzmthjhhPIgCAfoQ5Q5oDzABEBAAG0HVRvbSBCYWxsIDx0YmFs
+bDcyNEBnbWFpbC5jb20+zsBNBFYFiMABCACdvSlhh2hLe4F1fBMHiZK2HdNp8I3N
+S8o1E9k0cBM2fTfalIlan6ZIJ2Z+JqRwk6MRaKpB2or/0A34+3KfI22SWtsI2lJA
+2x9qWaiwRidLFFAWdSjTzNroYVkcwJ5hf2yKN/mH5YRiDSzaqHr5GKKPXHXpT94X
+qXn+Pj1Lj5ipnqPOerpJ5mlkPPSz8C5Ve6I+sIqjGKdtrB6kxgIF3kf30izCu3dL
+0j5vuey2XneRAqETHqmBVMEjFeuEY0zJCj7LxQRr0YaaSfrlkIjIxRbhatgxXjQV
+bbnh0nYAh8dUz/YvsfuyZmLJhRZkcJxHW8Tt0xxV2oBUBq+IpmvqDoy3ABEBAAHC
+wF8EGAECAAkFAlYFiMACGwwACgkQKVefGPqP2TvmWQgAi9Q5WlckTYzccwvt9F+s
+RspD8AncDERdwkY6HiInLLNqQSUWiHU2BaYN2wmSiSeSgwurPtN85nd3XZyhKtXx
+H0XKC2fTzQWBdyBEh5zT5UevES9nIzIKurHoG4TsWr9d2XDiDp8q1s4G1cNGYDfD
+97wpZRbYn8L7hedL07ISEWNdRvBpbrvhme7X0pD8MBKPqUXfLHHaJetmlFKOmu9a
+wzjINlz1C89JdocSln3lLJLE+RGNN7HmXdwmKjmnC0fo2h8jnOTYekdTM3Ec+uWE
+8M1WyqZV7WYzoITIfq0uHgyIxCpaOOejOLKShQW031G/kEvZApAVPHLFM8BdJ5P6
+Dw==
+=nnAS
-----END PGP PUBLIC KEY BLOCK-----
pub 296CD27F60EED12C
@@ -5896,7 +5691,7 @@ uid Charles Lee
sub D95ECEC170500D9F
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBFsHC7gBDADlkoJglNVbX9MShcAm6jvS5atCZwWT63gSasObXFxswsJQd1NK
+xsDNBFsHC7gBDADlkoJglNVbX9MShcAm6jvS5atCZwWT63gSasObXFxswsJQd1NK
qryHNcj9tKBfLbSpMOoHeyyIKDdwdxN+6+N9Hi4hf0j1Ub6deJyI8ace8VERWaxF
oWE2hKVLuY6GzlNEve421WJSThDtG3Y1jcCB8sQ9NLEhzB8Qh/eoqBP5IGNMM+XP
XsMDIg+15sqMpEN3oTb0WUNNaAoiWVaRJAYbQG6DsqGSBZQEo1o7K4o8xrIP3Hft
@@ -5904,8 +5699,8 @@ aHn0eaQqPSxK/D0bLLDaeRxxo4u8lefVSy1dYW/70A5+kZKbHkR95zUU+GoSHBIC
9hh+U9pcdf8Q1iDiN/BAuMtYBqG6I61UZDqaEUsxrR3iTa2RpHpclbqb7kED5kFH
ggaXMBP3w2PLZ7iZAOd6eBPP3T0pOMDnNduAecFC34vYgPqXeN/0wV1VQWAc1FlB
l8e10i4fcrCCq2YO9up55M3ZiX0OINabpZsPfTj11C9n6olTR0TiTsHiJKViL+Jr
-tAscFDboH3HXC1cAEQEAAbQcQ2hhcmxlcyBMZWUgPGNrbEBnb29nbGUuY29tPrkB
-jQRbBwu4AQwA2w0BcLAcrBNFxYaqgR/u+I8OZkLRw9ArcDm4SQHJ+JSODDpmCyb7
+tAscFDboH3HXC1cAEQEAAbQcQ2hhcmxlcyBMZWUgPGNrbEBnb29nbGUuY29tPs7A
+zQRbBwu4AQwA2w0BcLAcrBNFxYaqgR/u+I8OZkLRw9ArcDm4SQHJ+JSODDpmCyb7
gOUs24Nx0P3za6dag4TLGXXcDfv7TgFlSzeUcvz0whyAWfJMkuXs5+BlFe8+puDb
Ladcj9IfwWQfct8N8MjAiRxduGCAKQHqSD+raepPNaC0NPEvGXYaYCT9MzDOJtMF
nxVxwhhmSBNQjm4kOWbnwdZVdP2qkBQ2XxVy+/nDbOCzno/chjBla2pgBAN4Wi9n
@@ -5913,7 +5708,7 @@ mUGdTiFN6gOlAOb5awaKWz5KsDwCGkgoXwoA7/pAcUT7MaRcoOyr/VnAyIq3jAMX
kLmm9VUlOJh1oemY6KohREJU4yMMcoqsS6Pd9icii2iHMcbLyC+RH/Z7scPWRq8y
lWuD78n7kORCf10m+Ey7CpBwb29cDNIzBYiwNBOUF1L+m9UuSX0XIy43/YbcXTSt
ZaPO+3t3422YWKSxkjF93cIQ8zrel6b51SzqFhKs1VfY1P929S6qW92C1sqAeA12
-PtJVg/XBJyrvABEBAAGJAbwEGAEKACYWIQRL95uCWQB7Vm0vzoIpbNJ/YO7RLAUC
+PtJVg/XBJyrvABEBAAHCwPwEGAEKACYWIQRL95uCWQB7Vm0vzoIpbNJ/YO7RLAUC
WwcLuAIbDAUJCWYBgAAKCRApbNJ/YO7RLOm/DADUL72DZSb/0ZXeAnyaT/Op59qa
G9KxpKbPXYEaYto0AhEMDWEeAN4nHxsl/nNJEG1nf+qdDtrVhd6E2ORFv4Y0LIrD
NN7vp5mUo4Stsbn6AXL+UYtqS9ChWCLnds8dfOJTq6xOr9XKbWoIoqGWxFfjrYFE
@@ -5923,7 +5718,7 @@ eUlTnitvot2rIn+zzkKBfetYFqrxFM8YnP30R6KLBVJeTR9siRFdVUOcvCheWCt3
nT9l9JJNP1ceUe7e8TrcBC4qNvEPE6ZRQi6kD4fdC6dzM2X77CDLsmuKMcSqg388
wfg286OSdKsoCgj1YDvUQqWe61UbjRPE7NArAK2gx/bMv9iz1kdOKxHCq3agJjuB
OAF0H5MI/eTLpbySzrh5PAD5/2W6CzkFMpH6a6E=
-=ZqRe
+=M2GG
-----END PGP PUBLIC KEY BLOCK-----
pub 2A742740E08E7F8D
@@ -5932,7 +5727,7 @@ uid Terence Parr
sub 74C249541619FF0B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQMuBGJIi4URCADFspeHyziASBuPXpLpikWjmC3D6VtTaDT17ogOyGLf6/sjsQUz
+xsJuBGJIi4URCADFspeHyziASBuPXpLpikWjmC3D6VtTaDT17ogOyGLf6/sjsQUz
0KS3PzWBuPoqRGRpTtZxJ5yr10apr8mJF9Po5LFkrtcexaiYmUWAZAik894OhKt1
O9he2Sh1OTUiTmFU4ImQY+AeRqASZMYabhbbJOfQLJV2Er+foKzRC0T2MSQVjDho
NywU1IsQG58lXEQNOA50uCuhnaCUy7Mh/GKCejyBaqXMtd517evHhqsJd9tWMNW/
@@ -5949,7 +5744,7 @@ dgdencJoa0ElraZuVXfb2Pr6cBv5wKRfU7ZBvHfCE56vJ/0zAvGbIRy4DYup8+Pj
vcLSSWvQMT0iHk9TTw6sJNV/S4aH37Ux2N3SsARvqR1nZ7rQaGN5eTg7qHmwgIgd
AoHa2Jd3ixOKuLzwIF4hoh+XKI7bYzVHwYq6yVZWevloxlky0FfAXCH2/lrTGyvj
i83tPUIushngZ07senzgK0IWQIuLVjl03tJ/rc12AtiZkx1/ykssQ2uJolIRLfou
-u7QeVGVyZW5jZSBQYXJyIDxwYXJydEBhbnRsci5vcmc+uQINBGJIi4UQCAD5Ghrh
+u7QeVGVyZW5jZSBQYXJyIDxwYXJydEBhbnRsci5vcmc+zsFNBGJIi4UQCAD5Ghrh
2sWmpfEBHhmMnZYDS/1ZQZaZtmvTcGmqOhbOAe8zjnchtJDd76X4NjN/HDQSlUqz
7saJEs/j9rV/e/S5sE9/9Ad+Jj+XN+pQPAJQ18HxmTDKC+zJ22Ej4MPqGBY6d3qV
rc7m+0Ue+m4fxy/q5glVYifnBVu8BvKEkifVSDf75Cr+DgObtAIqy7+mG6VyAm1p
@@ -5960,11 +5755,11 @@ eUXjG9wX2e0b7rtLu+48C9OwfKG98ZqoGyyyL94NJULEP0UhhcZkOutUIKgyQzVH
uqYTcRkqvZ+MEpSaZBvyq7qySeMOpSQ3DKiWEyKnXb0BS+s5btJXQcrfdJIuVvN2
/3P4I5gzmXIu+CqZaMicrOK5ekbkBOzMaqXPUEwfzGG0UOg4ClWdU9c876ksZvGu
7La3kOFUgSey5X8DuuzqSjxcJeTX6eO8jIJCd1Tib6M1Go9TzpByHf6pnJQG6HCY
-v+71Wwpys6XTDspfDFZNuSpBJnKe341W2m48o3GhorM4iHgEGBEIACAWIQRXGeUO
+v+71Wwpys6XTDspfDFZNuSpBJnKe341W2m48o3GhorM4wngEGBEIACAWIQRXGeUO
rFpLHdOQtywqdCdA4I5/jQUCYkiLhQIbDAAKCRAqdCdA4I5/jaJ6AP0XeybLJPdE
2S4dOCzdDWkY3/Ge7zR+24dG7IjwqbShRgD/cN7sq1NgRQ7ykCPxh0ZOjJNKSYyr
KuT+DCAd1uFvcTw=
-=nEuq
+=i1h6
-----END PGP PUBLIC KEY BLOCK-----
pub 2C7B12F2A511E325
@@ -5973,25 +5768,25 @@ uid Ceki Gulcu
sub 10DA72CD7FBFA159
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBE+ZO+EBCAC3fZOOuYKthr0GcUge0PH2bh18sbM9XUmPKQz/W15l1NA/2ARS
+xsBNBE+ZO+EBCAC3fZOOuYKthr0GcUge0PH2bh18sbM9XUmPKQz/W15l1NA/2ARS
2gUXM0R+SunMlun9KsqjnojJ2ObVPvbm1Hg/66JSRgR3JWfIpSlJxLicpfu8rCfN
bOjh4v9ZipD+px8w3o/RNrnZH/KRsoJg9yER6pf+pUZqTJfdg5lXezc1WF+/1qVo
ypldMGfrkfLsPrUZTT689ubbig978e7eYmJEqldtaIwaAzHQnB70wIJyg/rEwFUM
ldsvs6t6czSuJ4zPMvmh8TMpTg9e6+DMktPl1CWRONl8RPpgYMIC96gb4OnfDDjk
Ex6clSCwgbDwdeAyOjjR6pVq+pCNTo1Pcj5jABEBAAG0GENla2kgR3VsY3UgPGNl
-a2lAcW9zLmNoPrkBDQRPmTvhAQgAtrGiCYnW3tqvDzaStXsguVw67pou65dO7LTc
+a2lAcW9zLmNoPs7ATQRPmTvhAQgAtrGiCYnW3tqvDzaStXsguVw67pou65dO7LTc
rX+NTvejJZ9SrC89JsfiKBwtvyS3X/qiB+S7RP21PH7SYOy+orwDw1nacNNeiTdP
nxQCDQVNeWpSpmbLlA+0b6K3aPf/EaCKndXmnQyXVOoSXZJ9bqAe0um0NRbO7M+L
1KArVkWW56ms+DvHAeZaGnSDDHQpJI5haUqgSWWP/VoPEU1x0qiBZwY3lokSwRMI
SC4E/uiUvvm7rvfbBzfOiVrjNPLlsVPiQRgOTfQO7dUZAmt2yqWJt1Clliby4fgB
-VcOYUx0QCMiz8MZGtSB17+hSrC2Cb1T6n0ypxuYyh4sV2LtqMQARAQABiQEfBBgB
+VcOYUx0QCMiz8MZGtSB17+hSrC2Cb1T6n0ypxuYyh4sV2LtqMQARAQABwsBfBBgB
AgAJBQJPmTvhAhsMAAoJECx7EvKlEeMlX0UIAKS+4ZAKrGG9jbWfzTTDbu9zzkXg
V13suMD+XcGz10DkdluTUBXj8wWlp289fXNm4E49ipsNK+dcZ+gOATjUvb1Llh6D
6bHz1QM7olxBCeU2feTmYYKBH8GYY9JZzfAXNMQhcNiiPj+ntZqePy/EFA4uZHM7
We7vl2c7CBcDAq1NNeEczo0KvG7AWt6QoaMVmbvA14EKadNzrmEy9apkag1BKvwz
XInYCvIHMa9ZqicOSUcI5QCYu5TufvIE7Eq3Khh2Ex1FiOaEA+57LMrt6NsSKXrB
8JNYbI5pqE1rxJXZnYtx3ZpPAAEfLjPdi1AOkWhvhsoPmiGFC6ebYQ5eVbI=
-=xA7Z
+=yz9a
-----END PGP PUBLIC KEY BLOCK-----
pub 2D0E1FB8FE4B68B4
@@ -6000,7 +5795,7 @@ uid Joakim Erdfelt
sub FCF74AFDF5947ABA
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFYVT4EBEACqm1qKc6Twp2Iw0tjUqr3hrZ7mjZMWg5MemH9ZiQ9iVIqV4Lee
+xsFNBFYVT4EBEACqm1qKc6Twp2Iw0tjUqr3hrZ7mjZMWg5MemH9ZiQ9iVIqV4Lee
KmgjVWk5jnTslriymDilDIMk0YaT67JokhgSdqMIavI29tJ6quOp0K7Rj/rNBc6p
Um+mw4rybjOUCsYddvP1bg8skDoh1dHnJpVho13u1zoTDMhHpzW5vOdSwVoGhP6h
OwgdRcd8ZOmHsb7q7/VjUHN6n/nrrnadOn13AJLjw0pWl9d3Ht0uR1jCK1lAgaOb
@@ -6011,7 +5806,7 @@ wp9ejY7xRbJbqmVASrKwg8u9WNKAb5QpIF3F2/DQRdhHD3kX0aZ8+a//dFfenAob
7qOldsje5PxeJ+x6sgtcJ0kKrK5uv3Hk9gTA9fq5i1UKz8C0b3ChPdus7WoYDTiw
RUB4+2WMtAscGnmh+8jtNVSJIaT6Azc3v+8JiF9lbek49+sMLfTZyxI2Wt8tACpY
EpiuNTn0R4U4+bKXxfMh2OJ+CfVYvR7/xdNw1OonK5zk2nN58cllAuEZLwARAQAB
-tClKb2FraW0gRXJkZmVsdCA8am9ha2ltLmVyZGZlbHRAZ21haWwuY29tPrkCDQRW
+tClKb2FraW0gRXJkZmVsdCA8am9ha2ltLmVyZGZlbHRAZ21haWwuY29tPs7BTQRW
FU+BARAA1MHdfuaUiSEtdpn8Q2zz1YkEP7svDZ+TPaB8rMqb8pJ8iLfE9tXxyPvg
W3ZB3JKEniGCFYux+mVNAiLUySvNYzoP148Xu1CojNF95qqCeob8VX+9l8NrESau
bjqZlXTOErAIYnRsrwJr/n8Bp4MAdhFyc3eCyPxJK3LlDEukjRLwyRmoOJl4OhzU
@@ -6022,7 +5817,7 @@ zsZJ1xbNsU2O5+5r7LlpCq0al4RE0PldZxgqEDxDwPc2l3PJFmS8Kb+DXZPO6Qt2
CRi/dslpnt/0OJpWCJ13eC/FvdremUP1i3NCcpEKwiDZbznp3KWKFHGDHgCDn8c0
5z4Yql1HPmZTnRcP9T9azL8svLUAffTQ9y17us31SB+uYF6qbMR3rlREBhHa7/+6
Gx4ckAMbFPijl0vs9/PCQfOgpm2M1AmLbqbBblC3rLm8C44ZT/jhqm6OJ8BhtxNI
-PzEd565ovX81ZS7OGt28Sb927+gbb4aKXQZVQ74LatXAu7ApKxkAEQEAAYkCHwQY
+PzEd565ovX81ZS7OGt28Sb927+gbb4aKXQZVQ74LatXAu7ApKxkAEQEAAcLBXwQY
AQIACQUCVhVPgQIbDAAKCRAtDh+4/ktotANmD/9rvMM+1t4/VX63XTaalJOKuQV/
w66Iem04Kbf91GWBzhMX5GsfVm/fFmaYsjwUeSDCKF4LT+iKlZ+4hzzTZnM5eC4t
+FKVFMC8b3lt5/h4Y7IoJWliWSjEUG1zIj2HnIAjg9+WaTr4vb2TReEggd2C/f6G
@@ -6035,40 +5830,7 @@ vRnsfqPhd5jo5NYm7IiV+kHY6sWHW5fjKAE2kLv/HrvySvZhxwPvjZRBwlXEZ8zA
Q/JLpuB5d96AJ2SEXti8CiPw8MRb6Uad8lFg+Ww/2nLMlO0uyq93RwI4qHOHBE23
9N4hhilrHWFgAhCHwHPMtV35FKw9dYZL9DUdQB4jveCW/p+r68eZ613aLbPemC70
D78JpXJRgHL1vib++Q==
-=dGtv
------END PGP PUBLIC KEY BLOCK-----
-
-pub 2D6641C6AF88103E
-uid Maven Central Java.net import (Used to sign artifacts imported from Java.net repos)
-
-sub 376179DC810188ED
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGiBEvHiBERBACWsrXr/oU5TYqCoX2pGlKVop38NX9/klFswZue0YMrAlEP3cid
-nQS7TYgEbUUIe25FFX7EsaiLoBDO0xKDcbO21vddThcBwF/cTwVrBvHThMECI1jX
-BUthK1UHgtn4JgFCmRSg8YVvG7jd2EU+TetdLiagwqF5aJpW8HlYjlkWZwCguQwG
-tsB0aNyAM47PEmaPdRsqd3sEAIyLOe6UdvuZaS45j0oNp35llY/FzXATI9cZJu8B
-HBjPtadKSkHUqiGoY1GFWw+DJXAwGiVuISOuiIzj9V7JYRDPmm5KMQphU9Wt66Vo
-dLB5821lg1aLsLxwT08q7lPsbfkdzpV6IEs6Xpjiixc36T3wtW/USLhKkSwhPMeJ
-EWJfA/9wq71QBxjDqOVtfddX6lCBaLP22SSZ0UIfkL3cPKFu1BlHqm1W4g/TtppQ
-i50NLN820IRDsZFQYK/c3e6uX1je5ovsro4C4mtex0e1Z1TULVeVooAnX/yjK8CF
-Ftggucz0ti56cqpfjhpbn1JtVJdrZ9V4vc97qOXoyRxx/v4sa7RtTWF2ZW4gQ2Vu
-dHJhbCBKYXZhLm5ldCBpbXBvcnQgKFVzZWQgdG8gc2lnbiBhcnRpZmFjdHMgaW1w
-b3J0ZWQgZnJvbSBKYXZhLm5ldCByZXBvcykgPHJlcG9zaXRvcnlAc29uYXR5cGUu
-Y29tPrkCDQRLx4gYEAgArRqEyhMVJS+IzyZkNirv++XDskoFFWbMF1u3xmBNGeZo
-vmuXdsfonVaYjGIW3KU/RfHzyaHwe2DWnPXkz1duRD3ZU4FwIWLaZhEm9I1Uf+B+
-6rUYj8u1ZUk/P6pY1m0ADPbrj1TS13HAyX8QoKm4qjaqMTtgheCJ05GIsqeqSk3R
-9GWEE2WPoO5IiUh8iy/xK+poufNVxRJUeMD6rn7WfK3pmtPF55elPVJnCiEnUBkm
-pcdfCo/bAp9u/0MbGkFunXvs0kwi7AK8DilC1JT7htsbWkLWN7kBcHNlt8sjMlge
-gEku0f7pOrlabVTydHL36bmAQwxN14NfgDJKG8fh/wADBQf/TfAnCFsHoQ8rig70
-zMQ16YSSHL0nrzAID/44Db5kji7+iD9P7a4jZd/nyIqzKeeJOqfN4t+F5xVgmdc0
-335JRRsIzsa0t3VE0+6yjEDAueBJvjyZtxKlBgDMUXR0h2TFxTCekN0BYnmkjVhL
-xhuOvkUNNwff0JRlTMBTd7q1ImYF00xUoo4YCd0X++VsviduNT3rS/G9OIbqwswj
-de+XKTraowpbRADse5HFPfZNbB1qJdWWY1CZC0JCVKwZ8rVpHWqmxK6H8JKqJwt1
-XGw6pHhkkeBCaeh/JVY9N0jLMBWUATJdvQqPcR6sb25co9UkNXpEOCrRnzjsyVj5
-++jlQYhJBBgRAgAJBQJLx4gYAhsMAAoJEC1mQcaviBA+FSUAnR5Xi/qPEHd1cXSp
-wdAqGKwCen3WAJwIsFD8tHGarvnRqo0ij3FERxwR3A==
-=TljG
+=NKED
-----END PGP PUBLIC KEY BLOCK-----
pub 2E2010F8A7FF4A41
@@ -6077,7 +5839,7 @@ uid Benjamin Bentmann (CODE SIGNING KEY)
sub E4D15F24364C7906
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEnOgPURBADYutfvXAtNgf67BQ2gWTI6+nKfILIwMPzCbQPMd7pykzF5nPMu
+xsDiBEnOgPURBADYutfvXAtNgf67BQ2gWTI6+nKfILIwMPzCbQPMd7pykzF5nPMu
Nswt3E7efo5IP1Zsv6DRrLafAW0OJSmL/oo8/ta0AfqcxCCbJ6CUyViifRZ5T4nU
WfuWTZiaKRQ57jtt0WnNpFNFf00gDbYJWs5b4RU5Vac/0B0WDQ0wvOJfBwCgylAw
LrDQmwyOZcws9VbpvZvz9pMEAMRkV6DN8kvmfktpbUnHNuZJOps5botqKyffQVj/
@@ -6087,7 +5849,7 @@ duxTBACUE6vsxZlzB9dXe5HjKCoPGr90kUm8uCG/CVu6fBVpZZa9B6+OM6NhEkLG
FA/EKgKc/tvNIlPsRwX1R2RoV9/tR9N772ZjhLcEBKV2UO9mb5iAWWZaMJtQ06SI
Ws9fyd+Zx3GGY1+iwWPUxZ2lSGLlfg3Sunl7Cni86tb0fTHTrrQ6QmVuamFtaW4g
QmVudG1hbm4gKENPREUgU0lHTklORyBLRVkpIDxiZW50bWFubkBhcGFjaGUub3Jn
-PrkCDQRJzoD1EAgAlYw+EWr/t9pNqJhzVpAZ9u3LMKJfrGopbO+jOW0T58mIdVF4
+Ps7BTQRJzoD1EAgAlYw+EWr/t9pNqJhzVpAZ9u3LMKJfrGopbO+jOW0T58mIdVF4
oMF5WZ4lHPTgHrRLKxXNcGlzaxjxBKtkUbnjRTSGk7ExzGIcWoqq65RI8JgONif1
VpBaS4Y8WwX/akQBnCAL+eV7UwHttVUKEmt4xUW5CNa4BgCFKtVdiomvdxnBHBCg
fWNHXpNnQLWhuOGJZVyqq1ZAh0/vIxUBDSJZPxmEh5235+2CDK8Zu4FCcsi409zr
@@ -6098,9 +5860,9 @@ ibjXWTe7j5A5QSUxO7p3W4AXNTKldFnlKkVs+6ZKCkKeasY2/7do6Cf2Ed6lL1CD
XEYcZRZ6BbkXruI/HqT/IP2mTw1i53S5Gxj3gaG/jOroXN5cBZnRoaPJQpuri9hd
UJVqPNIDhe8dz3ZxkHEgVPMoanp8xti86ErSjgvsxGs6xjjuxC9CNjMjyod7d6E1
NSt7gvVdksX3vok3QvIqQKDO6l777R9LQcxEStPz91mrBRTAyO6b7AtCk4/5S2hT
-dYhJBBgRAgAJBQJJzoD1AhsMAAoJEC4gEPin/0pBVNMAoLT0LzbZNVmium/JNdBh
+dcJJBBgRAgAJBQJJzoD1AhsMAAoJEC4gEPin/0pBVNMAoLT0LzbZNVmium/JNdBh
Dhufgi7JAJ9s7DMysnT2e4S6/VitgWdoI9iCfA==
-=P/a4
+=3YS0
-----END PGP PUBLIC KEY BLOCK-----
pub 31D2D79DF7E85DD3
@@ -6109,7 +5871,7 @@ uid Markus KARG
sub D091C8FFA534EDA2
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGTNOPIBDACjeIqMmK4jo8NBVVacAwmqnL6H2/ixU/rPg1WEJSJRQbWu0otK
+xsDNBGTNOPIBDACjeIqMmK4jo8NBVVacAwmqnL6H2/ixU/rPg1WEJSJRQbWu0otK
Zrs+0tOVuYsQReW5tYUwI8hclSkdO95NC8bM7rlxcO6JSixsjzf2cOXajOAvuLMj
OlGtMPblTI88/2nPmj+k3jLClsuqdXNIPdf6DQGIrJjsNfpnCO184ialqIVv0X4y
Z3e8aR/coToU+CcgbWXEyqqZL35RGLs/DR1o0supIm6tBEaDGGxRcrOGTkKaQEXV
@@ -6118,7 +5880,7 @@ ZgFdMh5T4WJdzuDGOBrX1FAD1ZLeumz5+Td7Tw/7odKH10ToFf8DIvP0CJnAC8EK
4HGl3NYyKv0gafEmprVNSIDrGLjY7D6bvlJ0vJ70gsQAhJF/tGfa7+pBA3/zuLe7
WD2pSyiqdsyl2mZZ/KRtMXDrhvzSk3H0nxZ4+BQhNLVBW62ty/+XYWn6QOw6tD2v
4vZCXePrel4RhjEAEQEAAbQkTWFya3VzIEtBUkcgPG1hcmt1c0BoZWFkY3Jhc2hp
-bmcuZXU+uQGNBGTNOPIBDAD1VVbxdqn7crMimZKLrwWyNVGGu/YKzrpKyO6h40m3
+bmcuZXU+zsDNBGTNOPIBDAD1VVbxdqn7crMimZKLrwWyNVGGu/YKzrpKyO6h40m3
TCUYslIDECFHQL2LqfzixL9w/nXn5Oqx4rTRnlfjCZJkJUv4OnV1dIW065T+bepL
srbZ5cNnMin2336ClJwnD0fkyjrVSAI59roS04WELHvkKyl3LeaqgbJMYEMoweH3
LrrKXGi3fefdEBevRR80ulpw7o0AhPhjd5NWsp/1P43Xl9poNoWaL+7/7W1jKKIa
@@ -6126,7 +5888,7 @@ LrrKXGi3fefdEBevRR80ulpw7o0AhPhjd5NWsp/1P43Xl9poNoWaL+7/7W1jKKIa
zL7/Mp3LI7z5ajaXhSj2Wf6/0rg8ObZV9sBJtkEVp0oq7+mFmgeF6reefyKX7g+r
nA1gkdXgMPOBqExXFsXKNLU3mtRd1KsNgdQYDPn9enncmKzjW4ha7NcaFrSWchXE
73Fq43dMbCOejVy4io6+BBSXXHe8M/3/ZB+4EFohRPW0kODnngxzE3E9usuvRJTR
-t4c9hhJZdMuhhPs3ry1Cql0AEQEAAYkBvAQYAQoAJhYhBB2FRp2FWcLh31+SUTHS
+t4c9hhJZdMuhhPs3ry1Cql0AEQEAAcLA/AQYAQoAJhYhBB2FRp2FWcLh31+SUTHS
15336F3TBQJkzTjyAhsMBQkDwmcAAAoJEDHS15336F3T9kMMAIJHtFRvBMfCh9p0
UM4jf0ahE1LX+fUhF4zf/t+vlUmRsIHJNcteD04SxG1WRDc5xxO0IO9oAnX0AgC9
NOCAZaJ11TlXPsCRk32+x8bfCe2Wf2hOLPOfZGO+vj89m74iJf0Gh/0BySMvgwcn
@@ -6136,7 +5898,7 @@ COcemMTU0U9OWFA1JghFul0moaW+gV+VtZpWR1nCFn5xJOzD2UWFFWomYWiSvL6O
qEVfV/jQYAREDj9vpxlBcfRpTiUlrdFQf4uOQT1G/nXY1KITmq/hNqUdhpUjCoMC
OvdyVwwfG12cTWeQiDQofGqJSptQmsUvegmfF5byUPDbgjCi4tEpWOncOeehs/Hd
ZgMBzI+v/ingWOyKpKqhpZR/50PHA0o23zw8P1BGeQOlr4kFNA==
-=jR+6
+=x/dW
-----END PGP PUBLIC KEY BLOCK-----
pub 347CD0EAED975C5F
@@ -6145,113 +5907,35 @@ uid Eric Vergnaud
sub C1D2A95A576A4144
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFhntCUBCAD4TyvpNK/pLusYgw2TdhDxX0v3wk5V18XeVIs2l+Ijj64xfU2A
+xsBNBFhntCUBCAD4TyvpNK/pLusYgw2TdhDxX0v3wk5V18XeVIs2l+Ijj64xfU2A
DR8Md1QPOZYFWbTJZ0T17CJ5jbPtGLu9ZJWR2s4lxcwtGK7n5y9ANeMjoG38dSyp
rsEbgNAE0h56ygrRB7/mDVCb+ryD3pzzTm7sgXx7GuNWQ35yz/wGJ4i5vKpp5C+c
9bZb6xGiPCzVo6O5Xkd743YCLDukJZA76BJedFDyxNSxjFBgsMq4McW9s0C9OwDT
6oYjvoR/gAlSlbu691eLKinmAxEKLt+184gVShxjlUtsCvibGI+61wYDGfmfnPxT
jnYwn/97LXl0CqF9464LtCqStXBk03fn1p6JABEBAAG0KEVyaWMgVmVyZ25hdWQg
-PGVyaWMudmVyZ25hdWRAd2FuYWRvby5mcj65AQ0EWGe0JQEIAL7BD5Ee1NXBr1IS
+PGVyaWMudmVyZ25hdWRAd2FuYWRvby5mcj7OwE0EWGe0JQEIAL7BD5Ee1NXBr1IS
1DTQma8rhl99TG25IXnehs7MTh8rrIFxtZBcOY0l5qINstjQY+l6o0vusMkjvQp3
uYHXZZRlMMIl5n+JBFPoUDqYkP2ez1N9cUDld1GB++/yWJEZa3AktIy0PU0kYNnE
KxH2Zq3bqn9YduoHdQFdxDhiDz85WNCCP4SeDUpHGts8/NJi3KXh9uGAabmr5u1J
kpeNkkyn53xZ4tQvuVapMgXCwJ0bZf+YC1e4HlP0xojg5b4PvGvypUQ/XK1Cwktx
qEu8Ve8jh4nFSG/6JsrzggWxzmuwdC3AsFZGWl73QjkY42ZMMqnpL7mXVV71EkA/
-KKqyPPsAEQEAAYkBPAQYAQgAJhYhBLARKMj9ME/kjm7tLDR80Ortl1xfBQJYZ7Ql
+KKqyPPsAEQEAAcLAfAQYAQgAJhYhBLARKMj9ME/kjm7tLDR80Ortl1xfBQJYZ7Ql
AhsMBQkDwmcAAAoJEDR80Ortl1xfcMAIAKcFDi3x1oHYY9BEUMBnZ1saaYtlHOUT
MH3Ogrs0OOCy5k1xd15zSPqEcxx3uFt3tce1pq1UZZuawbHrHZ2qD+yyr0OvONHY
GF9qj3iWmNwxAW/rea6C5d95ZffRU4H3k51KeutqEHcAAXzfewktOWypdhj4Zrh6
2tTkFKDEY+J1eQQt6uq6DQZnhS6m1D2cGw7RTVIyE5b1G9jM5W1TAMvFzw9H/B7D
3nMmKS4MgEGxtfOyxfC+oWywgFNcsdAhaeuV8TXFzZONc5BqSmel18fqhIlKs6EB
ZrkVdEFdXoc1d82j41Cfqv8i8Uoeobj+AHVOl2ufun1BHUNmOxqO8kU=
-=ln6/
------END PGP PUBLIC KEY BLOCK-----
-
-pub 34918B7D3969D2F5
-uid Brad Corso
-
-sub 5CE9BCD2ED28F793
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGNBF0vfHYBDADEDPY9ub98c7jQe4yMbPke3A/sxNHnn0WuA9JN880DPs3L7lrv
-9VHTOlFXslDNBPYSbgFXH5YlMGg8ZY8bhngjc+Z3dtrCX1cAjUXOnibi7fBFomLB
-xvKzTHyWprguV6B2YAldKpqA4DtecJEF6jusNPptSpMN2olZGcxVrTB1s75eO5Lr
-MRIvZoWxvkH76KxisytDh/Z3MJMi9fFD+2OMsC/WynOs0TIih1T5U2jCz25dwkez
-zb3Bd4G6E85fS+weJPXMRiezimF8WyFN+dDrFgpwWqgA24jbKG/tfF6sAuvGmPgw
-aKIv2VFrdstqfCVC9p2nzuchIDS85f/D+fEjBsSj8spUzA15rD0T1/9BHxtW+L92
-fcTs0rTGT4sP5HPl2aD9R/NP03Ywg8bDqcBWofTuCMtfDz5lUBpeOPngByDiKtQC
-tpsB0PyhPoMkrn701QSkMXPO6yLP6VZH5f9qhpvWrHLqsd4GEA+PoRuBJbYoDErq
-5hLW0Sgi9qDyzLMAEQEAAbQeQnJhZCBDb3JzbyA8YmNvcnNvQGdvb2dsZS5jb20+
-uQGNBF0vfHYBDADQCIbElrNvg2km9F/xYNvj9JQmOcJcUiADJcYqJKjwPMtPZav4
-YO3t6E8q73cQEumDIONrl4ZnVTIb4KBEFvKsxlboOxqRJJxoPt4R8qLPSUJqJDRo
-aMMqscaxRv6KTS3hpBJ6ga4ti5F2dOvqhyREWCXfjEhVcrBOn4naeoPNfzZTPQLK
-Gp2RHK/kRTuVbLsVu6Ep1MyPutj4s1NBs7Ne3JTuxEkOP1mrG6hU2eNZMz7ooUHu
-lasgnDZvq6qrYKoBPyxm7VytpPB6+jW8JsjvJZFB1KoQZM83uliGNLKdIY62ANc3
-n+iEp0wQZzIskgjPvClXKgqbCzqAYSiz9Nl546SpChnvlYDKYL2fjso9c0Ji3Kwi
-6cLEmA3HqtIVT4haBOy4PbVaW7W62tscwCeDGFDKF+z0X4P5QhmvmnL0N4UTvcjn
-mLVhZQDELxo0gYrLTsxOyFiGiyTGQ2tFMMBXM56+oLnfeoMsURrcLAfEr+6UeKn0
-dWazDXA3i0YvLp8AEQEAAYkBvAQYAQoAJhYhBE+P7GeF9hHZpxLqJzSRi305adL1
-BQJdL3x2AhsMBQkDwmcAAAoJEDSRi305adL15/ML/iz3yusafhsG4zh1KJhVuyQK
-DinmReoBfrTBuETu2y6fwb1qwCpx454mT7aRgtFaEQHtNQW+7rQjDwn8CMgu2xP4
-2I26E0xlAfs5vcstJ3WdOrcbfIFEnSrQWEUumX4fWoMr1m2uOC1cy8uSdGTRPjCS
-vOTxmmGWBbgAevhnh3P+4egb1aBEgfvz7rcklodxqftJcKlnHehqWdS8+SyM1z+v
-i3Kk4SczMMgCgUNb3ZJjmL0F1kAHAXlolxhZjiODoB+WpyHHXw8ahGiqLz9pz6DL
-VGe6el0xK9Gf6KDg5jfBvD03p9RBqNKc+gYZ5oTUoYQILmHmx9LvPdU9CYmIeg/e
-sDcK4hd0+GJq2GzJNIZkoBQM/bi5xrpHh9ZJnwWrAJq7zIcxxJWPFK4zhpvZGlCY
-9/9dnCinH+epV0d4POb7SUfCz+XfrOYdTYs/G5UCggCVrBxCqdq9wdIoPgi18pUq
-K0rLXbIe/0Q1MkLjnJ9MqcnGGPSNV5d2f/Q9Y8U9EA==
-=6FcK
------END PGP PUBLIC KEY BLOCK-----
-
-pub 3595395EB3D8E1BA
-uid Ralph Goers (CODE SIGNING KEY)
-
-sub FE694B892910DD22
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-E4MKxXh0DGLPEPiyStLVF41310m6rA==
-=n4Zz
+=2V7B
-----END PGP PUBLIC KEY BLOCK-----
pub 36D4E9618F3ADAB5
+uid Ohad Shai
+
sub C4935FA8AC763C70
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGGiftwBDAC94Yhhh/5yO8jYFkg01MPnooXKZEPwxAbAg9wn5iM0tHxhEpkU
+xsDNBGGiftwBDAC94Yhhh/5yO8jYFkg01MPnooXKZEPwxAbAg9wn5iM0tHxhEpkU
zJVYZ+JYq013+Ldp8Of7A/d6hKTtZ0xwSeY7S/WFykIk6tc0P5j0sfFS3pGPDk+W
D3DwUa+8m0PriF7iA57vCOE51znO/IUIA3PG2YAK6jv2/i8MDXOOq3qB7VrbvKGB
kIPubp5PbjvP+LFhLuUReU9m2y/3q9lNFXdd9kE2iScqGmu3FDhRJxBK/WQ2kqiv
@@ -6259,25 +5943,26 @@ sJZjAYeHEVNcc88Ah6vXI73uYrvWVGCErzswYy9UrxCAQ/x2OxUdLw7NTHwjZSYC
JvH5JPPTlDxMgfwTIsmaECtw4QgiVmvDp+RVa9zyrdI++RNr0InsXv9gWMv3p3yf
TF20ZL8znFYVUi6XkeQhZjT4fHwDqDVnxhSAFe3E0cwHFJBQe2EFLljwNy6VYnio
wBr7HrAxczRRqlUy4a3bH5KwiNwwvxgqfdMj9KTVpP9t98/TA36bIohwGFRWB7W4
-i395S90NsTbCh/cAEQEAAbkBjQRhon7cAQwAtPmKcM1/z8sMJnt4sHe3ndXsOdSq
-TJbRkAcdyDO1F4qgj5z9wkrlVVKGuVtmJS3qmR901Q+oH+JqM6UeGqhNig4IQvME
-iQjjelvKXMX9PPVzlP+ga5Y1/2mnUmgmYXK406CU7aaQ3hs7++XDonnQUt5nWF9d
-XT+xK/SDLYMk5i1TNqPVFZBPm44HpIjKGNJXD7Vv/5z62+hKswpLXgYt8Rz95ByG
-ncjQ1Lo2M1T1Y/EuwlRoc9RTdyABavSQWVLKIz6kKM4LejajjRvLnybMUug0CJl5
-mni4cHXx9t0pMlG5DE2O3mZLwTgWcJ8cu2CtPxA9iLfVvFAThxk3ZitkEhChBtG9
-/V8D4DiTIht6bd49xkHP5pxtB/fuo9lNb0axSBaOAeant3KA6F6vki+chnGhOFqV
-1KJHcxYG7VsG1hYhy5IbZsg4GdcXfTwwF1/mq8kvHfyTkBy6HMDGwpr0ATNnrxO7
-tJTiVqDuxfviGQUjqJIQDns6fM9BI4OfpXyjABEBAAGJAbYEGAEIACAWIQRH62g2
-JF0tQOid+0E21OlhjzratQUCYaJ+3AIbDAAKCRA21OlhjzratRBcDACCfhsaCFvM
-JTls5lT/dcTqSCYJYZyDj95DlTiaRNkXnAGrTyE45PnmJLv6FFZzSZdu/eLE8ls2
-MY/KWqnZYYV2Mct/pwDDLSjdAN/NSRe9HeAh2OS1kNeN2SIcoL55gEodKBNSMisY
-9N3ylLMxHZPa5LNBo+j9wftEaVi2fTX8LDJFQvUOZ3f7cz3f6u42FeHUqaLm2alH
-QSkfTB3yIu8Hmo2EXHh4UfwTmS55OBGLQ91d8neu7PcimqCeadeHW+qY5g5hr5NN
-LxMA+n+vwPGcQNxg0lH2XBdlFBbAELEGxMcKbW51QL2h+EdwGzT/nK3Iia/qm3N5
-0Z12j/hhzohlf7TQjhzB43Wbxef94JbKacvng8t/hG3+n8UASQzizCSn/oMkXQom
-XdQe5JFgJCroU2CfrdFmZfbkkq9mAi80BLUEAGNTUQrg/W39VX1/klGiXiWtpU8g
-q/tSGRQHXTwG53qejlUtKI315ZizOhJiniSDx4fZaK2zB9RlZkrnd1Y=
-=KPJF
+i395S90NsTbCh/cAEQEAAbQeT2hhZCBTaGFpIDxvaGFkc2hhaUBnbWFpbC5jb20+
+zsDNBGGiftwBDAC0+YpwzX/Pywwme3iwd7ed1ew51KpMltGQBx3IM7UXiqCPnP3C
+SuVVUoa5W2YlLeqZH3TVD6gf4mozpR4aqE2KDghC8wSJCON6W8pcxf089XOU/6Br
+ljX/aadSaCZhcrjToJTtppDeGzv75cOiedBS3mdYX11dP7Er9IMtgyTmLVM2o9UV
+kE+bjgekiMoY0lcPtW//nPrb6EqzCkteBi3xHP3kHIadyNDUujYzVPVj8S7CVGhz
+1FN3IAFq9JBZUsojPqQozgt6NqONG8ufJsxS6DQImXmaeLhwdfH23SkyUbkMTY7e
+ZkvBOBZwnxy7YK0/ED2It9W8UBOHGTdmK2QSEKEG0b39XwPgOJMiG3pt3j3GQc/m
+nG0H9+6j2U1vRrFIFo4B5qe3coDoXq+SL5yGcaE4WpXUokdzFgbtWwbWFiHLkhtm
+yDgZ1xd9PDAXX+aryS8d/JOQHLocwMbCmvQBM2evE7u0lOJWoO7F++IZBSOokhAO
+ezp8z0Ejg5+lfKMAEQEAAcLA9gQYAQgAIBYhBEfraDYkXS1A6J37QTbU6WGPOtq1
+BQJhon7cAhsMAAoJEDbU6WGPOtq1EFwMAIJ+GxoIW8wlOWzmVP91xOpIJglhnIOP
+3kOVOJpE2RecAatPITjk+eYku/oUVnNJl2794sTyWzYxj8paqdlhhXYxy3+nAMMt
+KN0A381JF70d4CHY5LWQ143ZIhygvnmASh0oE1IyKxj03fKUszEdk9rks0Gj6P3B
++0RpWLZ9NfwsMkVC9Q5nd/tzPd/q7jYV4dSpoubZqUdBKR9MHfIi7weajYRceHhR
+/BOZLnk4EYtD3V3yd67s9yKaoJ5p14db6pjmDmGvk00vEwD6f6/A8ZxA3GDSUfZc
+F2UUFsAQsQbExwptbnVAvaH4R3AbNP+crciJr+qbc3nRnXaP+GHOiGV/tNCOHMHj
+dZvF5/3glsppy+eDy3+Ebf6fxQBJDOLMJKf+gyRdCiZd1B7kkWAkKuhTYJ+t0WZl
+9uSSr2YCLzQEtQQAY1NRCuD9bf1VfX+SUaJeJa2lTyCr+1IZFAddPAbnep6OVS0o
+jfXlmLM6EmKeJIPHh9lorbMH1GVmSud3Vg==
+=EqUU
-----END PGP PUBLIC KEY BLOCK-----
pub 36F224409991B46C
@@ -6288,7 +5973,7 @@ sub D137C32FD6897607
sub 4F91D100EB1F597B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFpLCbkBEACk79tGWBbIoD+A7IZv4UE3+I9i9EhEGn7yzx+XwGbKwyBIMYrs
+xsFNBFpLCbkBEACk79tGWBbIoD+A7IZv4UE3+I9i9EhEGn7yzx+XwGbKwyBIMYrs
cqzGaIwjid1tXz9wc7G4lXbzH0jgnCW26r0e4u0sBSziF+UKSAPZC2qduARGmlr8
6GFBhcwwgrMOo1niuQ79bHXmykN7sQ1YTi1P9FM+HN1c2vhWCcwx80bKtOjbohua
vUzFTM6CaIoqBsHntQP/ObybtAnRKpp42OFXlnW5nP/vxAIL97Sll2XhYceWBYHg
@@ -6299,7 +5984,7 @@ FIHDq/HhLND+BivwiLoaVrXshSNd0DRnfZnBl6J0L0NFhwqGViVfz+A63ym3+oUO
PCRV/RH2RIyQ6fklh4faqQa/Q5KAzQ3TkR3actB4b1MPAS2zq4avZxqn3DuBethw
/MV0JQPW+iZtFt/mHB9BtZf8oCPxR20CNFg/N6hjm3IGlbGcc3AOa3E2nH3X+qT3
e4/bwJ3zb4INTVBF5hqdkzxkwaBQ/FdhnykHwiNkC0RZP3pAePmAlzkKOQARAQAB
-tCFMdWtobm9zIExpdSA8bHVraG5vc0BsdWtobm9zLm9yZz65Ag0EWksKewEQALY5
+tCFMdWtobm9zIExpdSA8bHVraG5vc0BsdWtobm9zLm9yZz7OwU0EWksKewEQALY5
aIXpHtSc6b/3e++yL/jYpdZTJwZdsNAfz0mdGsflYvgoBHyMyjs6D5ChJBJOS14u
CgmCAG82AXPa8Ye3hGs/N5k6/jh3oOJwBV3P4oFBSzzq9Fq0jIYf4u524Tb42rO9
o14bCLaGk1rKW+EFHyuz/ApTMcIulAPxkiEb8K2gEg5YrafdFC72fV7pxTUR4I9W
@@ -6310,7 +5995,7 @@ c/c2BjF9YCkfy4KShYdwi0Z1qy9oucSvnCezzF5r7JpgGpqBKCDZQe/P+oSf4BAv
5C+Irj8gxHlZh0nS4sn0mnt/nFNz0cRBPJyrlfn96KsU7mqON2c9bSLZYz9Irtbu
7Ce2+I8Q3D0ZDjlQztLB8+cCfD9uE4DICJMqwp1CQ/HyW0UXCI+TADr5Qf/qZdLx
myZAqAGI9VVBbuWbdMBevrFM8MH917kfHKaheTKyfHIURsJUh+Wrxj/fPquCDsgH
-VVM5hpwf4fa9mGPDxdFp2i1uKPBmvjvis6yIuQJdABEBAAGJAjYEGAEKACAWIQTM
+VVM5hpwf4fa9mGPDxdFp2i1uKPBmvjvis6yIuQJdABEBAAHCwXYEGAEKACAWIQTM
il3AESzJUb/ckDQ28iRAmZG0bAUCWksKewIbIAAKCRA28iRAmZG0bFbbD/oDpZ/A
6m7FxcG1jjz4Lx1DWyU64nsL469SAix9k0zvtxQLsQaF+WyTcitNxjMJfoUSBQBR
UXPZ8qNku2dDxIUXzyDp8jBrPasVdddkwZtTgq06fh9Y3iNGouxcoD5c3YtgkOHL
@@ -6322,7 +6007,7 @@ GZX8DQ9OEBiak1fDtJfCSYN+SDgmApAMNpL9fVAANua6jTuzz7f4T9uNPvpA4bI7
4eKLdTjpxzzDFlNoC0JuF1VfB9ulzBtqsrMOvJNTslUbq13G/xLHOtE7mj4Uv+70
PW4z/+3qrhSoau6Y4xWujp3N/1fJFIuPKNiGewbKVVMfFqPMLHaDdKoKB/nSRRly
Pwqgob4T82ay0Q3+Iv1qpxJ4y90ecFiSPwb0LoErSFhBXY1qFbDKc8hEKooheJYw
-U2efmIiOWwRdJXu95bm6vcaEhgTeR8ykXdvRlrkCDQRaSwpbARAAxxTN36p2LYve
+U2efmIiOWwRdJXu95bm6vcaEhgTeR8ykXdvRls7BTQRaSwpbARAAxxTN36p2LYve
QLOAPfcJpxVgDUiJHx/hn617CSupaoUfn87d1FScbunYXklsBh6zSOjY2VOl9NOe
XszTNSvhHAeRUEg/teUZgXS7yiy46DADpO8g2QwkQILxdnZCgLccplJxGP9tg9AN
YyAeuSAb5hP+lFWNK0MIh35KqKu1g+SbidiF4Q84UtPBlArdxDsbJ39Flv2i+MlH
@@ -6333,7 +6018,7 @@ L/XncVzPzHg5xJFi/NOvjX7G0cL+veDi9ZMjb3w9H8JMp6FeyXCU73EjZK2n4LcK
9jbxdzLY4bWzcAFHpdJrOjwL3Y6nz0Jo5QbT9Sa+8HOt6rnHimXUtRdOvaK3ZuNX
O25WhXExLL6JUA4FL0PTjYoxwz3mUSLZ2BNhDhVEGC8/yl4U3Z43HxTDQRweRmD8
M5d850n1GPmBr6NN7EQT9cnmqiBds4PbIRo6FIexdMuGPERo21hNuQlXqEAm/Y4v
-cUPDJgzeiKZOObLzqcALT7DKzDtYyKkAEQEAAYkCNgQYAQoAIBYhBMyKXcARLMlR
+cUPDJgzeiKZOObLzqcALT7DKzDtYyKkAEQEAAcLBdgQYAQoAIBYhBMyKXcARLMlR
v9yQNDbyJECZkbRsBQJaSwpbAhsMAAoJEDbyJECZkbRs8nsP/isZluuMpQRlRNgV
KE+/n6wfepssfDBVo1veE/W+O8HnFUWheh8Wv3kgaZYbga9wt12P7ZCzCsBIIvCj
t7FycmaXJnIgFxsBS5qWbRIDL6QXeuJYSLuDzV3BTstZ8B1EseCZ0eqFG7XMdVoj
@@ -6345,7 +6030,7 @@ n4kM8PQNei6pooo7E41pDCbQ/xPcxEbHMKgfZ1k17wUeXmGEy+KxVSMLvl2xCTbk
zxQeoML8GP8lJrTIFzlqKTwgkMtJohPJ2cMMYglCck6u5cqMVugWEC2BHjdGNz4/
5oIAlaW1iU5efbsENyitZUIRcFv7Ov0Pw+CpfWtZCwAuXigKCc20A1ansPFNHFVg
WOv6WH13EGgAQSlCBu6GUciCscDUCTxVzk2YFFtggqdLOFryOV1NMAxQAXHqNKs6
-2321rl2ESemLHH0FuHwY4/zMQWGNuQINBFpLCkMBEADHh4VNRyUcAEBluZyCcfnA
+2321rl2ESemLHH0FuHwY4/zMQWGNzsFNBFpLCkMBEADHh4VNRyUcAEBluZyCcfnA
YHKIoeDJKIa67JYenE2X1yAnqTQvu8GUEZ+a2ZHZ9Iwm0uI1fKKx8ZBdrm/0hnpv
lB2d/eB823afgM+7Jz4WL4hVjU3NQ50zXjC4RsHQi+jyJNwI5IuLRn3VoJBjHJa2
kcpsUoHyaPU2dwqTdRkqHX65ljPT2WOMPguVBqH0D0dIVpTgTDfYKT3BOhbaOyy6
@@ -6356,7 +6041,7 @@ WvF19ZvScHRQ4Hgr4rCKcSZtFDvSkPWUkbOwCLDEwFWbxLhNGmfZ6kju5Jd9arZA
QZrtnLLjlbtrWqGxZ5mlqW67Lcs7q/O9NZ43WZvlLZg4uP/NnaAZZrwdzGJR5p2H
TF6NwhUozllq4u7Ar/HcLTu2ymEJebXqpPrL6bs3uf3Lqoo3LwXexk29oMaTOL9r
EdcW6ePhMZo2OmElTi6ieqMaCmfIX2mBv9EieH27IOYQ2Z/QWT3KEsavgw40OzT2
-qroryVEwk8+LI3r/Y9w1SwARAQABiQRsBBgBCgAgFiEEzIpdwBEsyVG/3JA0NvIk
+qroryVEwk8+LI3r/Y9w1SwARAQABwsOsBBgBCgAgFiEEzIpdwBEsyVG/3JA0NvIk
QJmRtGwFAlpLCkMCGwICQAkQNvIkQJmRtGzBdCAEGQEKAB0WIQRQi3NrJqpPZyoQ
uSxPkdEA6x9ZewUCWksKQwAKCRBPkdEA6x9ZezBRD/9ZTfEmRAgWLRq3oYhNJ7Uy
nSfgloQ0v6fzO8ftqHLXq9EeMbkE/FcHZfpgiOhvA3E/khgBrtBi0GtPNdzBIQef
@@ -6381,7 +6066,7 @@ fzSHeZdifHKmo6/y03jpx1c/1wWAGdNDt710bDb9Mq7CIPnKMp22HBzEvm+JuNQM
8ugX951YvrSe/0UbQsi42fevoFWkl8h38ZfWaZA+U2RthAYxDMd4+qVE0iDrv6e+
wEQNfKHNM+6RIBgtpSxGhv98j4JxGvarToVFlAIgZ/bb4PD8zMnkW3uvrZdknRiv
BRj7Sg==
-=lSNM
+=sk4V
-----END PGP PUBLIC KEY BLOCK-----
pub 379CE192D401AB61
@@ -6390,7 +6075,7 @@ uid Bintray (by JFrog)
sub 0CFE993CDBE1D0A2
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFTi8JIBEACcN1ucQ1uCOZ1owTELQV/6i4q7NbYdJ5wf7yPYfEugSo3yfbo3
+xsFNBFTi8JIBEACcN1ucQ1uCOZ1owTELQV/6i4q7NbYdJ5wf7yPYfEugSo3yfbo3
Pw/XEvlnpDZmT155sGNOkteZtZMdcm5XhFbdtquLlrkjAcUGatq5rAt3eLAlvU7u
CBCDJg3ZaqpZti5ti2TfiaXHeawTpxaTb3V5tT4NYhY0aJqe0MGoVl2yZyoKMWsL
8XcUiJkUYnpu98BvnzO9ORSnKWHk60YxzZuHh5buMNiV4aI331ogiTxqISzTwEdQ
@@ -6401,7 +6086,7 @@ z4vhfFVeQlyPkEycQNcRfHVzK62oF8L5Jj/D8BIGAD+dj3x10Cy+qVK6BTY/F1zv
Zn44juAhZMweOt63Pn4n/K0W+uOdrLSmGxJDhoxztabUdIpIMsw44wZ8gnSmPAef
IDTCjJO2x9s2YuaZbgstpJldooxGJ+FTe52QXFphti+tkiGOg6Tpj8Xq3+ZEM3L9
Js38SSdys0XBCHYiCv3/4Fk4jspTsCFrDzJ9HqNjsiktxPm9szmUZ72RjwARAQAB
-tChCaW50cmF5IChieSBKRnJvZykgPGJpbnRyYXlAYmludHJheS5jb20+uQINBFTi
+tChCaW50cmF5IChieSBKRnJvZykgPGJpbnRyYXlAYmludHJheS5jb20+zsFNBFTi
8JIBEACq+dSR6serUWrem1itiw0MslItsFyHuOV0+K8ZUOLRge/arBSfGjk7YZPF
zIMVbxXo7LYiciHCydZ9K7HdqCqygC4k2IV+85Ll07ZfraPHa2vfgXshu03+VZcM
cp6Jxs+UPlVHV7SE2R3o2w+KvKqzLLRLb6aBREoJCsI60HTWyPjsHiHraJ+XFNl0
@@ -6412,7 +6097,7 @@ tkYPnPNX0ra+jURZbie6tO/C5OWTYjurTSzBDiPxNLcxxUNjrOMzIbcLLhSRQ0DT
FLiC56D+5UvPIUY/GiX5O7x4iF1kwSPcoXz1w+xzzCwfFZg9oE5voHAybrGkTFCI
b5Oo+WKWDCY56K7yHLIUT4UmiF2Liaz7gesTc5yFSFJhP0WpkVX6FxDuoCryQx0L
38qD+4c445N7aUfVmqbOBBp4ORpJ/w0s8Rb946yQ8TTUB06otovyIz1iZsuj0yU9
-kzZYovrZpKJLeDEY2ThxdU/O3ZkAowEeTjW+KyddTT9rUuggAwARAQABiQIfBBgB
+kzZYovrZpKJLeDEY2ThxdU/O3ZkAowEeTjW+KyddTT9rUuggAwARAQABwsFfBBgB
AgAJBQJU4vCSAhsMAAoJEDec4ZLUAathzJIQAJkh7/G8uMQ+GJW1SpwAI/JcvhTu
4D5Xk5tlVGYoqWS6ircBAZCz8sDIJJggZHDXeECfVfq2eKt5O/68SgwNpfSwHWpT
Dj1Y64HyHvU1oX9Rho96GNFbI02rlSX6Jw3Bzwjy2B+RRQUKb9rmcmHyllZ+j7jT
@@ -6425,7 +6110,7 @@ YYM8KLDFLM67gE2UijFCHcTOuyaLKIHiFY+f2rNflUzYhe+0vVbO/ytS2kA2Syj0
w+OwwB/Vj8oEFpSbRB6GgzAJYX/UrCwX0Q27rGifiX4Z+Q+G4KwQcR2pYhUZesMt
KyEwZnsd3IC1Qc9dcVXQUJPcqpXhSImuMDO/uOp9JJSxdPxB/gf6ELyVN9IFsU1/
E/XhP4QkRJrZI1F/
-=Jm2n
+=uqis
-----END PGP PUBLIC KEY BLOCK-----
pub 385EF0846E5CF3F3
@@ -6457,10 +6142,12 @@ rkMX1h7CppAwX+yhOO4=
-----END PGP PUBLIC KEY BLOCK-----
pub 38EE757D69184620
+uid Lasse Collin
+
sub 5923A9D358ADF744
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBEzEOZIBEACxg/IuXERlDB48JBWmF4NxNUuuup1IhJAJyFGFSKh3OGAO2Ard
+xsFNBEzEOZIBEACxg/IuXERlDB48JBWmF4NxNUuuup1IhJAJyFGFSKh3OGAO2Ard
sNuRLjANsFXA7m7P5eTFcG+BoHHuAVYmKnI3PPZtHVLnUt4pGItPczQZ2BE1WpcI
ayjGTBJeKItX3Npqg9D/odO9WWS1i3FQPVdrLn0YH37/BA66jeMQCRo7g7GLpaNf
IrvYGsqTbxCwsmA37rpE7oyU4Yrf74HT091WBsRIoq/MelhbxTDMR8eu/dUGZQVc
@@ -6471,97 +6158,135 @@ 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
-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
-=/Guy
+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
+pZ0rkw==
+=4CTU
-----END PGP PUBLIC KEY BLOCK-----
pub 3A1959EEF8726006
+uid Eclipse Project for JAF
+
sub D908A43FB7EC07AC
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFu07rsBEADYizNlY0FYNZ6q2wx7AmWLw6PHje55uFhYM8Saqtwg/rm1tl78
+xsFNBFu07rsBEADYizNlY0FYNZ6q2wx7AmWLw6PHje55uFhYM8Saqtwg/rm1tl78
j28E/coP2zMFf/ec+zqKsfYi4DMmLZ9ESIngMUOIE7mY0Pp4WN7oYFRtvU0ARWyp
lOiq5GM/Em0mtCSDI+i+zpD7MKCQEeV6V9d09r8Ncltf42BQb2x30ajTsGps++tH
Z6xxhlPaYsF6OT7SBSt40cjc+rhUuAUo7D4Jt7S7zvi2aeulEr9YD+gkp6+EED2p
@@ -6572,42 +6297,67 @@ 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
-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
-=vZg/
+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
+x8rPAFrvagaS2grj0z9tIo3Ki5HXDlWO9Q==
+=Azmc
-----END PGP PUBLIC KEY BLOCK-----
pub 3AD93C3C677A106E
@@ -6616,7 +6366,7 @@ uid Carl Mastrangelo
sub 9B2A1B698A113AAD
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFzwo60BEACg1rgL5jUtKkFE5DiwqJwxzJyJDH00TBSN6ZT+nXh1UxgC9q2h
+xsFNBFzwo60BEACg1rgL5jUtKkFE5DiwqJwxzJyJDH00TBSN6ZT+nXh1UxgC9q2h
olF9V+2+LV1Jcmnc946xzIMiWLG33QB0NKVCdU5jNuLahOcViQQjNfGXwNzYoNCR
vK9pnLA7Qe4QA/P4LBgKJEgiOqhKkMFGs0erGZ9prlcUp5Q1gBodyR2y/W3UNneG
XvbVxuFrR/hAEX6t14Gxel8BlLQkU24Ln/AIurkSQ//S1SkN2xcPj9EKuXAeKupZ
@@ -6627,7 +6377,7 @@ XL5MTO2v+oHQqi9GFG9cJqQhGnJTpKOrZFhWbNmWqnHXJeENg1Rwm4U/a+mFQZNU
nTp+9wuXXDHKbhI7og2dTMkU1s64We57dDJ1glKy+Rpza8kCzmCbk/JbAOPK1d6a
jalEn1hLlFsE80AB4DTffJj8JL7MEpxtJEPZ54bOMLs6qkPxJRpcs8e2EoPWPxWx
ATGI8R01S3wRmIER2TBOqSHGHCsfgBzdiwwQMvbGUTGjIz9oORQkfAObmwARAQAB
-tCtDYXJsIE1hc3RyYW5nZWxvIDxjYXJsQGNhcmxtYXN0cmFuZ2Vsby5jb20+uQIN
+tCtDYXJsIE1hc3RyYW5nZWxvIDxjYXJsQGNhcmxtYXN0cmFuZ2Vsby5jb20+zsFN
BFzwo60BEADPw8ds3/NFfJR9BypshD8k52/yp824WXDQm7EWLisfU9scX/bgRlVD
8g0BdE7y0sZV24wJO/Y2xMezZ6ps0y4bcLf/yegXWTdD103F8sD9DUlT/81cFDm4
rj67+h3gaJMFmudtU7znMw5qlNL8ia7s3k4+MK226RrPvDw0/3tMwX6BFGutXWuB
@@ -6638,7 +6388,7 @@ z4r/pnJn10pxKtmnSibWgmXF3lz9r/E+B5zl8KkT1x/acp5I8e3LGPx+hSBol6AI
9g1k43zheYKZHAgzTWKohO7ZmYkRVGAF6tB9bFJZ/0Eo5XMzlqmK4wQEbsWhOTC5
ovvCfXpzrAzBKbpPOPT9o42/dMHqcmsO3p0HeGBzrwz2/fNcTwqmJK/JXeuB2Ggu
2vVZxnRbMHxN+yE7fiV7JLOLFCwXSEA0biJlYrZgzBzUYiVKdSLt9ADKJmhh/EDe
-tK3T54zKTAe7z8XbgGAdrt2eJaC/Aq9Ewgxj3U+Jloju/HYmZz1WHwARAQABiQI2
+tK3T54zKTAe7z8XbgGAdrt2eJaC/Aq9Ewgxj3U+Jloju/HYmZz1WHwARAQABwsF2
BBgBCgAgFiEExvfRyATIIfSa87/BOtk8PGd6EG4FAlzwo60CGwwACgkQOtk8PGd6
EG5gtw/+IKvBOTDxuFsjbEtFhcyNoDwh7CzkcqbQ48G3V0i86abjiywoYFSu9fGt
JR9MivIEPYn3u8q7nO6ZZk5hrS9Oy98WgAyVuncAPXYNCMUJTBvnBit1yUx0V4bU
@@ -6651,43 +6401,7 @@ p5lw6xA2qisMkRdkHQ7qVmkd/BYcx086WIukpVm4PuC0EGpGpCq5GkWtgIYoHe9w
4inPJAvF9sT9dZO9314r1NB4u+URNFoYuHSTJQ7eJaQQzqRbTPBmwVqepWbP8orv
X3BfapEBr84/k8BLSjlbawFSidakkeOcHlliaFIB4B6wkEsvMLmVsu6mOIrqPmsP
nEq4tzixXZee6daOaBArXoaC1pEN8grIppEyMBaqmVP1GT1+pvY=
-=qc4l
------END PGP PUBLIC KEY BLOCK-----
-
-pub 3C27D97B0C83A85C
-uid Alan Malloy
-
-sub 4BC7B9A81C39EBA0
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGNBGEdX1MBDACuRDzoPMh3CyUHQydFo363R6OdXqMZ8mJQMdysIJCXOXZGRwUC
-uyPOUfH6uSG24RU2zvD72D2SGAehQKLXLQeN6XCt9PRAszP18dJADm10xgkXJm+G
-GJm69bRYP0GIskQI0D2hXoUlSyXFKZa154pkVzmeM40UXo90FrMC/YjH5dLp7uDn
-QtZbsASlHiy7lXFX0IoJHSHZFppmHcW2KOmFfKwgE9dpku7CdTdySY9BXiLC/Erb
-l2WjwzSDEkQbnq6Jm3/wb/AXxDEu9H2SE6kOxrERqXBfc1ycaEsJMxpLxYpk/kGz
-U6YXqXiOla1SYC78/SnSV8Dkj4/hN1/XtFmkmLUn/WgctmPnsE+fMN/ALXrH2OE7
-pUYLTy7jxJ46dChpjIPJ6Tp5z7EbxdsXR9JwLFQP+Fyp/anqLO/uLkZhZGhI3r6t
-lvFyZW8zoAuf6UpKL6bIvxld9SDuEqahbU1RcLsK/7Lwh8gFYXvq6k9siV2Fs4K+
-UWyVrn5cdSMErMMAEQEAAbQgQWxhbiBNYWxsb3kgPGFtYWxsb3lAZ29vZ2xlLmNv
-bT65AY0EYR1fUwEMANMwR7AK2pVja2QXQpFx7zSNFaniXyMdXOgDKhVuhTe99ed7
-mp+gGJKXgUls/Yh4HIWWOVF4GisMe+XlvvPV+F9EgVNi2wd/efOPlQ3Y4nsp61uB
-x9hb/FSYnIqMjGMgf9ehEYnZCD0QERDdyukrg10ZJMyGRS2x4UWWelwcig13gGf1
-Oekz4LL2BLHRaI+75/uOGT9RmgHo3ub+56l4hwdZTa6RcE+zVe2EF0qZKkCeAA2i
-+I8xh0u7pho2Of0+HcvuN6kzyKw0mpBxRhJXzX1ucuOrWiYgPh7+AaMCC4wzB7JG
-vYVzNdtwgrlEvGUGJqLmJXikwnH6d+McV7ikTQyYGPKIgbI16JHQqGkYXXEvz65U
-L1nwgPw+PVyxgnl3Qub3jnhiRfVuX5Oar/Aatbw/452qR1H/dlZAifmlasp39KT0
-yq3LX9HzbLbbLRqz0hoPkVujZ0NtAeM4KsGQGDBPs/cNs45pi45u/AUSfp81b4JZ
-fGh8uW3peejnUpXSuwARAQABiQG8BBgBCgAmFiEEb2Vrf2v7I404rPgfPCfZewyD
-qFwFAmEdX1MCGwwFCQPCZwAACgkQPCfZewyDqFwcewwAraeFuG7lc0CmC2TNBcbn
-G/AIMycqzFP9NZ+MrP4RwSzZQh4/wK+PTz8SfezP0JyPKu8qjVjlzxnnFPrJQZiv
-W4kx7R52kYZHAvzYWbCMDzYcNB+kBhmIueVUrlD6qbrNxXzwUOboRqUgsvXX7sfv
-bMDZdWYTI9qjvptH5VX/LdSVi6kz7PYIkU1gGXx7hhhXUIPyPtyzMqpnKYXv8rE5
-WrIYi8rrEEt8fDqTYUXl42YslOOG1TuRfCvgmdvONODmYq4P01f5rax+beQOa54n
-r+K9RQcy02qhF7JUq7xs2YZ2cinnxzS+xzIklnugJCQTrjDcz19/zykY4Z2ZSzPc
-KQ0qRvWeunDQwxc1MLQ2MeTu4GyxYm9Dq4yM+6tK4ZtYfZ1pMvkWfnUbjUeh1fTp
-T3EuTos8W3WfXYI8uH1LjCuxtYF8onxhFyiQlxVtcIbNJwzjmgvO4RjqX2VjAVRd
-Zm7SPjIW+sWOab+FF35lQTVGS3U/EUoTCTsHpgSY1JMn
-=uDN6
+=/qbd
-----END PGP PUBLIC KEY BLOCK-----
pub 3D002DBC5EA9615F
@@ -6696,7 +6410,7 @@ uid Drew Hamilton
sub 91FCCDE555C64A9F
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBF42lroBEACWa+RCajazimveyzyVwzq+1Kj8eiJ1XPJXqvIerGOQ6Tx2qeSM
+xsFNBF42lroBEACWa+RCajazimveyzyVwzq+1Kj8eiJ1XPJXqvIerGOQ6Tx2qeSM
9AkMcfW7HeN6YW3BR/u2s7xe07D6p6c7UjTmiH1v23ELSk0Ou/BNxiTMdTSly77O
1NMFnqPUpQ6ovlVUBI+XfZvylVXErroL/ZMeC0R/eivJ6y/GgGgdJrQ6HVbKeoUU
jN7xI04jAmf5NV4f+oYT7x684a70aTxx9mFuyuP8cWmc5RzYxVdAx+ZJotgvRBuc
@@ -6707,7 +6421,7 @@ iYoYirIklTsAlsJ6jxlFa7tQECmr7aQVJ19k9I1biQpAs7/TTBjZM/ea33X1y4vh
7PZadPouksHHXFAik7vjMg5mpDqalpc3dRJwpORjRx5P1tzVnKaPkOON8p5kCDIM
xYFfhAhLeIidjIYvaHO1a0Yncph8s0lRrBM57MAfpCknip9KI/8l3wysQy5LCoHM
gvDb+p0ZH2U6/5PeaLE1T7sH9EyTbItiGqzGyX0Dwv5WQkZ6ey/QZ6RXowARAQAB
-tClEcmV3IEhhbWlsdG9uIDxkcmV3LmhhbWlsdG9uLjBAZ21haWwuY29tPrkCDQRe
+tClEcmV3IEhhbWlsdG9uIDxkcmV3LmhhbWlsdG9uLjBAZ21haWwuY29tPs7BTQRe
Npa6ARAAvtDEDmOWFeeM7OqYzULWWT6ihpPPuzkxrw/iwQLNBgp5mOG3mCSA/I07
hIYYw7UIqx10arE4Wn0PzHpRq94hwLfjzg7TAaJQjnRqbfLq6M0teQ3xHjBcXTr1
dLro9bGxj7WBkAPnwRlitcrZWk7EM7y/iHSxiRoJTeHYg5dmaVOaVj1X5RdBoHoZ
@@ -6718,7 +6432,7 @@ uZSWOf+q6iSkPYiTgqeAWxIKe7u2roKr+kYWyHFZ/BGLeaoyKheCjNjPWwHskBgo
VMgf/fXy2t6dZNkVRf3Qlu2Ese+kQM2cxbj+N9IUDbHZ+n2/+t/n5f+4Z/VFBJbX
nT7b4Vs5epz3Yy8hq7zUauXRAV5RrLpdW+88RCABdbAm3uRUbPc9Gkpbo86tkAn0
aCQ6JrhsJ5FzpJqG6DBF4Te8dtriM96WTH4nbcpS8GT+/8Hprb171b+rqMb+HIwJ
-wdCMJg6Jm+Ln6mxk/0WFyECa22Bp8orj5nTs+EKp3a20t4nT1X8AEQEAAYkCNgQY
+wdCMJg6Jm+Ln6mxk/0WFyECa22Bp8orj5nTs+EKp3a20t4nT1X8AEQEAAcLBdgQY
AQgAIBYhBAmTnHMka0unREyqRT0ALbxeqWFfBQJeNpa6AhsMAAoJED0ALbxeqWFf
Ly8P/2X6h8hYor/dTbi7/0Tn7okXtIQLrEXufGLaOwOpr/LmrceO9XXewvl+i+7M
uPPQ7h9h4+ExL6sECdKnfkUgqe32L7P4HtMzr70Z9/HY5Jrh637CX0rrnohvqWdu
@@ -6731,7 +6445,7 @@ ikJe/lNnE9JUgmlJLYAsdNk8wNJZ1SIltlsPsM7U1QDALP5sao6adwYKzNyVS05d
JrprzzqhM8/Qto4taaOk3Gq2PgId7m5oZWplTEkhW9tCoAOGP6vuP9lz9tZhAI5e
Hw61HIsMH6K29geZkmaD1TN5Tra2HgkxjU7umSCf8SyFi52fE+z5HSjEEVaze3bx
SN7ABUYQJ4prOXJlUQQrmnhs8zqMdNV4nDRbiKDdyemlwXi2
-=f38L
+=Cgcf
-----END PGP PUBLIC KEY BLOCK-----
pub 3D12CA2AC19F3181
@@ -6740,7 +6454,7 @@ uid Tatu Saloranta (cowtowncoder)
sub 575D6C921D84AC76
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGL4BxIBEAC+lX44fd/zrVQPzdKygarBd/X0bBpGakT++Kfk4UBGl3q+wd2G
+xsFNBGL4BxIBEAC+lX44fd/zrVQPzdKygarBd/X0bBpGakT++Kfk4UBGl3q+wd2G
R9puB9R377ds8hU7U3To8sHguUZo6DbD9Gb/is/WajSb9g92z+rMow3KbqfCYqWr
kaIj27OJgbziFcnMAtvGoFRfaPI/7TOwEw3jT7B87RXeiATX4iL8fzMUmkfZm0Hk
qjnepMQeaz3KzMY4DfBcI45kwzl3EIBFIlk428mhBU5iAAANoyPsimfqEPRCUDjx
@@ -6752,7 +6466,7 @@ jyqVTgU+yRGq2HB90vJ0D3P1w4xRDuNF8c02futO415Yc/qkyh3/5AjGSoocrlfX
cMreJXpQWVsvXn3NsitjsA6XOJpMOgipCDxfvn8SSLl9fWNJf55j7fCkBokF/lIi
81RVQbyjVCOV0OEqHJLP9asPHyAFvUppNWtcvViPxVmb52djnw/x/61WVQARAQAB
tDVUYXR1IFNhbG9yYW50YSAoY293dG93bmNvZGVyKSA8dGF0dS5zYWxvcmFudGFA
-aWtpLmZpPrkCDQRi+AcSARAAsKXGqznhDeU87UA073pnPg12bloq5h79U8iZozoV
+aWtpLmZpPs7BTQRi+AcSARAAsKXGqznhDeU87UA073pnPg12bloq5h79U8iZozoV
NIRhjMxJyilOlWZVCIOWEDWJJ1Dnzn/9OaYEJrBIY4yPDQQ9wsrOklUOsDpZAPiq
QyrP3V8MibbWBPhBvyDM48GVtg2xedB5Jk9lSv6BYUUn9D2q/nG1UP5jSwFQu7nm
VgVV5XXs6lb5N7Q2GGXn/U/EJX/ffS1VxYIjM0Ra8yy3HdihBwF+LHuuRU8SHxWG
@@ -6763,7 +6477,7 @@ aG2ZbVG6fAjuu/YNJZPjiVkpsXXZVcm3VwhWgHjikG9MKEDpEdb6NrSR8hphq9tB
HmvlF/pHS6I1UMGAqiAnb5yuGKR7oaU+XK85OpaIX2aQTzB3aUexUEGXkBFuRG3B
TX6FBMLIG9qpBvoUCC+UO8EWox5Bmht1roWNsRMqB7i0m9tIT+YSNrobcbMFJf/i
Do42bQwo8y8+fUPgA5A2WDPjzd3kdFCQ6mCpcuPSk7s9t8y5bjYzcKqPCtMtOVxg
-kDMAEQEAAYkCPAQYAQgAJhYhBCgRjAcMsioBdaLo1D0SyirBnzGBBQJi+AcSAhsM
+kDMAEQEAAcLBfAQYAQgAJhYhBCgRjAcMsioBdaLo1D0SyirBnzGBBQJi+AcSAhsM
BQkJZgGAAAoJED0SyirBnzGBkG0P/28WaiFCKz2vOqFxC6tfRPjhU7wilUM4KIYm
ij0uh8dq4Lbz0tmybzvq15QL0QBciPLF+w6tHXnmT9KV3n4nY6X4ys9W4VvFn+0V
OkDinNBMpfP2KglWYoJ9Q8yZRda9pq5GWtFUTS44fOj/2NU+2YawIkdDzb/vixID
@@ -6776,7 +6490,7 @@ Rq2IMF4rMYomDyOclcAL2E3DZ1NZw/VZOYsk4MdATQRtYSz2mQbZGGqw5lKNCsmH
LBaslDFjyxMECWr3v7TuEmEmNcD+KwNyACFNuBjEBWeuJZYwCkAkVy8AyitrTMh8
/CPhk/tPm26c+KI5BJsQg8V34FMtd+trRhXRG2mfPB2cU2t9Il7Tlzi71iGEafIb
96Um/Inf
-=ec6I
+=Evfn
-----END PGP PUBLIC KEY BLOCK-----
pub 3F00DB67AE236E2E
@@ -6829,7 +6543,7 @@ uid Rob Tompkins
sub 3260CB2DEF74135B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFhqdSMBEACmveOOsQrTky8b5M+Cq6lbhqRB4+INnfigxr7+EMpswo4AxYuA
+xsFNBFhqdSMBEACmveOOsQrTky8b5M+Cq6lbhqRB4+INnfigxr7+EMpswo4AxYuA
Op/YG+G7NU5h6EK6Tj2dVfXga90GYFkehtFRZgOUJUGKPU/53upsbnsWS8qjJD8g
MvWpHbuhK6WsXGxjqWykAk8D2o2jfJEsUGeJhbG/12BoT87pjsUcZu7DkKilx6/L
WoM2/sirH2e4B1FLZvE7NCKpGttZv+vEI9oZmoKgm+ZHt4cSGOPrPtrAtf19irP1
@@ -6840,7 +6554,7 @@ ymZe5QZj9T5Nvy8tMkF4LwxA+2alWfvdHWRISuEO6jNwOuxHMtbprbD9KxY9Smd6
YcRKKsLmKR8J6a5V7pELFTVGSLhSL2H+Z2j14fkswGE5vkxAQpGCfxQh7rbvrhw2
lpx9OmvljnWFM7U26nfUG5tCp+ieE6pT76hcPZ5MPaqWl18Rk5dVJQhNZ3Gd52In
ai/y0v96pn8XZBRuNFULMb2PFG88hvU2M49Y8Rdi2VW/IfN3hIh2e4FT2wARAQAB
-tCJSb2IgVG9tcGtpbnMgPGNodG9tcGtpQGFwYWNoZS5vcmc+uQINBFhqdSMBEACz
+tCJSb2IgVG9tcGtpbnMgPGNodG9tcGtpQGFwYWNoZS5vcmc+zsFNBFhqdSMBEACz
wFoQH1MJLn3UYF+viqE8yw/CESTkU1aLoI5sXBSA4wIAGC5CmI4kCvb/1xJEsIqt
EJkNJSna3GgR8ov5NIJmx+MqqhemDKDNJS0IKvFkesNk/khdt0zXF7wK9O6zY3XE
6lh/usB8/34mHaR0WkU5Td4kCgEhFJQIeOfPKMaG83lrxiXettRBIfmhldX+1LIR
@@ -6851,7 +6565,7 @@ HaSIU3fuwItcdIHoG1Xf6RXJHW9Wgw/MSZYJhDclVwfznHI2D5HFS+hRLKbAF1G1
IVauXZBbXbOhcPyIAPwuTFdULhnPieu5ZGFetRfD9+t95rbupKMt54Lvx4cG8R27
LvJL86X9KrhPm4WdsDL9lKs8riEUmTliZjmbTjZD9/trIcxPQKHtfwtgoQnFm3ae
Ma7HO4lUo8KgEQiHqFbQQ4WaQruium13SlXTRgGGZuqdEtWEMdTEIy+3c1STPR0C
-koruBxlPCe/COf8XTn2h3EoyRWnNeNqudErVq34POwARAQABiQIfBBgBAgAJBQJY
+koruBxlPCe/COf8XTn2h3EoyRWnNeNqudErVq34POwARAQABwsFfBBgBAgAJBQJY
anUjAhsMAAoJED+q0s1ey7MUKSsP/2MyLOHhyX8Zsazzgbkk9jdOnV9f4Cvd/uQK
78c38R4/tfiJWtIbJgRR5v18ZbO742AFwcY4H5C9vwmR8JbU2lo+QD8+vZZFiu2V
LoRrnyrTDaxfRo7+UsArQl7dPQw2EazhDaguybMVYY0JkrLu1C4OkmDYSdF3vjH1
@@ -6864,35 +6578,7 @@ qS94tanYWmDk/RGd3Nqr0SO86QAtKey3SuFsKhu6By1CEbKpNlg5kGxDFQv0q1ze
vVYv6aokYDOFe449zf/uYkxS/qivfqFo+2QwdrViPNrDaSQXkPPT7ERDhiw/Kr5+
BDseGWS/dXJ+jdSvFWwkr7BGtnAV8Emw/tCUX7kb6WvAguCgxZG1NzW9unRL1j8/
o6QtwZ1S
-=4qFv
------END PGP PUBLIC KEY BLOCK-----
-
-pub 40A3C4432BD7308C
-uid Michael Schierl (Maven Project Release Key)
-
-sub C0B9C2CC3DD97C16
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBE5zrtcBCADFfU0ugIGUCM44fqPJKrsB3TaDu5EpauvFfYqUfyookzMHSKtB
-4YqBSKzBEiZ1rFB/KCn7XJTh5epoCau4DsG4U0XZjsx+esDR4ZtL42LEzeMTuluV
-9eybw5EvW9GnvUrSOq4U1xFdQgCmBcRBPpLrP4hWUXgNlRTEpgHemnDmZIV7Jcyx
-KZYQFoddPbUbIOutoMecl5flaa5uHe2kHp+R+PJ8DlQIKa7qsxsAwZhuamfApX8M
-NYQmY/M473IVH3ByD8bQ7uc9HM/0q3f32KeEVHEYTKLs4/wTY5mZTDxndQeMpjF+
-8+LHbr4n0zDJERJnrOzgOoCW/bFa8YQv4ErhABEBAAG0TE1pY2hhZWwgU2NoaWVy
-bCAoTWF2ZW4gUHJvamVjdCBSZWxlYXNlIEtleSkgPHNjaGllcmxtQHVzZXJzLnNv
-dXJjZWZvcmdlLm5ldD65AQ0ETnOu1wEIAKOf1gsFUdUylLyP6hzc4RAgoFr2eHDo
-a3w49fdcBflq84QSIjGkrcLggLvAP4eqJnaUhJh+8a4CBRg4FrW1bs/nhdC9rbzF
-SXkbr3oG0RafTcTtGuP2JzoVXifY5OfNnia2fHIptex2hJofoh83yCiU36MaFgQN
-lorK7/c+K733aEk4KBzMfAU3JiKrKsSTE92Vd1yh4pQ9gMANAPzPqMfcg9XiIKos
-8d1XDQtndQSWccBNs5EZWMct++XPYOdZI4bwsmj+ayuJPbJOYG1T0HEA9x0vBwSC
-fGEoyq6+ZqlCrxcAiuEqpYMUlPz3ZONUfC/C29Zb/0Q4AuZQPug2fvkAEQEAAYkB
-HwQYAQIACQUCTnOu1wIbDAAKCRBAo8RDK9cwjNsdCAC12L1h5yiApA8v1nJ2YEGt
-CHciX9B4J9iGnOHeU6XTquPmCgzANd65yLaeA90E//CikAtlHUgiz7+fGyrGbXUD
-zS9yu97YP6L8Gfha8UylBr0Hm1bIFuNjG2C+SUU9DPfdeqd+Bh0ygYwnB6DCufrb
-B9R0ElvqUDttyiJq9m1k9gCSELKMLjV/1F1F1XA+2k8PjcZKDgAXrLUpu/boCcr+
-8ozuTBTyxcL21w1nW7VignaRRt9DfvHlsli+5W/+LpSuq4XcaAgcX8rikT9YEsJo
-UOXnXPP7mF30ChAY5F7mJ9BTe9RZZmnjA2cUdtHLvchd4fiFbu191pbeIk/BSf10
-=hyVS
+=tuwh
-----END PGP PUBLIC KEY BLOCK-----
pub 429C8816DEA04CDB
@@ -6901,7 +6587,7 @@ uid Taro L. Saito
sub 8A57131A07E0911E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGB980QBEADLBOfY981RbUf7zI9AoXcxGignXkYbeSvxIMML9vAbnhmuHwa6
+xsFNBGB980QBEADLBOfY981RbUf7zI9AoXcxGignXkYbeSvxIMML9vAbnhmuHwa6
h+81ZTY2XK7Rz211y129YidPykkiLX9mY+OWvJsj7dTyVTcIm6MU5ETDvovfmKWg
5sJRrANAnkZ73UVJIKTQC9HonBIpiPLmDEBfReHkNsXtYqS4fyZO5tkjy9ejaw2p
5qpOS9WixIvZT43OfzH+8O4ecmDrOZ20azogcWqLCQ/ZDbfnyHFH+BvA8bn4bS6y
@@ -6912,7 +6598,7 @@ b2bhgjqccIk2gASrjmTiryF7gUiMTgZVU5PF9f0+p1pGqC4GIjJOf/JGhhGEyzVt
BNvJWUgImqWbSFOKWfvnmdjZyULAVouxrrxF1vPN2U7KFurmSQV6tq/1Uf/qccR9
/uhEI30ypv4OrVi+8WoVsEamag/AlnRLFCEjdfB0oUy7V/lPqMxRoxmhiTX+cCjM
QkFfcspJt830vwct0pi4rtYt9pk1Roh9tOKh2UKRDGL5DE3rZbJYs+6TAQARAQAB
-tB5UYXJvIEwuIFNhaXRvIDxsZW9AeGVyaWFsLm9yZz65Ag0EYH3zRAEQAN+bpqWu
+tB5UYXJvIEwuIFNhaXRvIDxsZW9AeGVyaWFsLm9yZz7OwU0EYH3zRAEQAN+bpqWu
uIuOsMvAGVAMhrIT9ILKJ5mV8Kx1wza1ycUXx3OccykOKaR7s2Znthim5KLiKbr3
bQPeiYBFUEcT4koBwhyEJE9FMfRm9tXHtvN2I/O1z/qy71gno1slLzUyTlzakB3D
p7Sp3pnD3xpXKN9x3wPLja64F9CsdK5hilfLySf5ZnvOi7t3QJWyS96XwaGo+yFj
@@ -6923,7 +6609,7 @@ xWkn1mezfmj6katVrTYJRAUR1kWsfV8XzgyCXJ1GAclCwW6o5S3lxCBGlcwCG79p
9miYeeseaYbkRoHCM67TFc8wSigggJR8I+Wqaidck0g+ballenuB4n3NXtvzeJaQ
krhioizhQzvxPWRvYRQeC4BH55LuRzxnTArGfSf/V7uVPn+GWntlHvCf+qOvdIBH
pGN8h69qQPW0rXOPjAmA9aZOetp7LLOs4KrvPi00aAZlK9KspZyRviHfmJISzqZw
-ARVGvMHpr74cEaVMI5BD+Kz/S5QWvjI/lHuhABEBAAGJAjYEGAEIACAWIQRWtQXc
+ARVGvMHpr74cEaVMI5BD+Kz/S5QWvjI/lHuhABEBAAHCwXYEGAEIACAWIQRWtQXc
iinGkTikMLlCnIgW3qBM2wUCYH3zRAIbDAAKCRBCnIgW3qBM21ZfD/sHaK1wbxqA
sDtL6VapwpwJOzGKGFYjevXeXIM16eluyNlq9hBvumLkXSHcci9yzHWjREKU+nLI
GQiwfmjEB6ZWT0k6W0yQ4pUiJhsdjaukdj4KGQv0qIjl1YYjkYw5PvSNDR9mH/DO
@@ -6936,7 +6622,7 @@ sgCWZUsdoarkFJvzWmybtRu0wZKmpGQ46aIV79pilPvolzqgkOSsGWf2TsIvuv4M
lMobjCzLP67zO1IsTByHv4cQLhwZmZJV3dIdPTkJ1Kmg2rqrgXn+186ep1tbbWvA
WAXb+JKwWDWNsTVMCOBDU1Z8680C7VGh4VOF+73p1Br4tWpR0AjWsL3CABlRbEKI
cHTbyQzX3/0LQiL3A4W64yIUApDoir2W+A==
-=sGos
+=iKk4
-----END PGP PUBLIC KEY BLOCK-----
pub 43203BE58F49479D
@@ -6945,7 +6631,7 @@ uid Viktor Klang
sub 1364C5E2DF3E99C5
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBF1Vn08BEADgfOupXhJxyb3t1kzDNa595spJptjF5ViyXuEJtlMQlmobPP9L
+xsFNBF1Vn08BEADgfOupXhJxyb3t1kzDNa595spJptjF5ViyXuEJtlMQlmobPP9L
2gZH83gNe7Ro1TsLesgWTtin3hGANSKITdi/wVH4ET6lPInv1k/8hXe0zlF11Zmi
pBxZBhFl/ow2g+V604RY581hQybIxFhjnlMoEhooIZl9x/GdleQBsrnPdKnllmO2
jxU2CKjjnAuaQusVXYBMQ2kCav1TrgZSr/5Tml1xe88p7K2zl1Ihi0okSJJ8CyR+
@@ -6956,7 +6642,7 @@ LycLJ3N4dBR1VYPRMWTrbH8RqX7RpqOaCVm9oKxWtIgDsRW+nNg7K7zMsaCC+pPt
U31ju/eKRzHVw/2CpcrZqbbQlREGRPfPv3zS5vb/rAEz+QRAKcq6iLKvR3c/hi5T
KZg2I4ZX8Mw0aoRygku7F8gpI+WEmvHgd5wOeI8mlGGAoEwSfgQq9tn5EoxpLtzD
8eC5NpEiYpUNNMVi5uhYdI9mYdp4WfChdsc6IkPvM3fpt/eHofSqci1rFQARAQAB
-tCVWaWt0b3IgS2xhbmcgPHZpa3Rvci5rbGFuZ0BnbWFpbC5jb20+uQINBF1Vn08B
+tCVWaWt0b3IgS2xhbmcgPHZpa3Rvci5rbGFuZ0BnbWFpbC5jb20+zsFNBF1Vn08B
EADFtEGfSbLZTO4iKKrg2NSDmnAq9gGjtLnQ88jpzMYR61B0qSSuat8jUBfK2JEu
j8VzEjHkYWkwCGZrX0Aq19ZtZFExohAw1btkiWtHj8JyCsgtLpkN+eNZH555dtKO
qzkPRqsrVxtmrB5VsH74nGUmsmTG7uN7eCHbo+xWXvn7zgkiMWKCz89Ze4vc4kR0
@@ -6967,7 +6653,7 @@ el73sNLNIbmvz8PuD+S1uQhAgZ3nagh5uajYF+Mh3TsE/+ZL0ChQtlkBUIPyMEGq
E6YyNv4QmpdiMXeHIXwSLl/6Rre/ynK1WzDi2w2UylEmdAb4JeqFkz93UcDmOL4q
qs5WzJisKEubCzRS3sZ8HRESkc1iUkcN6ez3BtfqAeO+9AqZL1NM5r4xW13ZRP6+
JICdH6eqT2iRQoGsbnGWCnjp9Tq6xyYDws7p3WszrOKJ5vBoJ7WY7jut5eV+Qxt7
-phazndaslmF2vGVc3tQs8cfUhyRgVHQmJweNpwiqAlQMvQARAQABiQI2BBgBCAAg
+phazndaslmF2vGVc3tQs8cfUhyRgVHQmJweNpwiqAlQMvQARAQABwsF2BBgBCAAg
FiEE6Dqru5XKN0MeIEIgQyA75Y9JR50FAl1Vn08CGwwACgkQQyA75Y9JR50HLg//
SW/tgPt0wlI8sJGYtOwOTn5O17DT+K6h1g0qAtbxUbkRGM8WL0zf3EwUnNQMWiIZ
+u5KoUwmeurh4P5vGXz7rOTVUV4CJBaarllG8eCR/MzD53br9Eh5sxqjK2f5Pdfq
@@ -6980,22 +6666,17 @@ KV0hLdj161GJiy7L8cfLG3TUcKFvFp8uZcktpF7hhm+z1LAuQUY7iqBZZh8F1kJW
FyvzRrGANIX1EyEvSOEnIq1qxw+s4n/WPtW7i04xDM61UPws1Fvg9N6T7/S1Dadq
8niGZWrUwzMu4WDyYByrSMbTkWfR8e2tXjS2U85WP1Rh6y2iKT2RqAaIZzoCcsr8
2t/gxs0aau4lXnONM9m3G0fb34pfEnEO2WVsONrQaOI=
-=JZti
+=gEPU
-----END PGP PUBLIC KEY BLOCK-----
pub 436902AF59EDF60E
-uid Sebastian Sampaoli
-
sub D94994D14B55169B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEY4fp+xYJKwYBBAHaRw8BAQdArb04PVwQKvEhtUEmEu7/aASZivOWgEkZBqX0
-Tovwvq+0J1NlYmFzdGlhbiBTYW1wYW9saSA8c3NhbXBhb2xpQGVxdW8uZGV2Prg4
-BGOH6fsSCisGAQQBl1UBBQEBB0CSPWzZfBjKWyPW+D6RDRLFz5xlO9/30yGD/VhA
-EPXybAMBCAeIfQQYFgoAJhYhBB0sfvitoPeUtYx8Y0NpAq9Z7fYOBQJjh+n7AhsM
-BQkDwmcAAAoJEENpAq9Z7fYOTMMBAKfZb2ahnfGNBt8Hrbu1j99580a2IaFQddAk
-xXZy2unHAPYyfxDLPkbTR7Mm4k8Cva8PCcXotDow4bDLm9rhwVkJ
-=Hgs4
+xjMEY4fp+xYJKwYBBAHaRw8BAQdArb04PVwQKvEhtUEmEu7/aASZivOWgEkZBqX0
+Tovwvq/OOARjh+n7EgorBgEEAZdVAQUBAQdAkj1s2XwYylsj1vg+kQ0Sxc+cZTvf
+99Mhg/1YQBD18mwDAQgH
+=dZKk
-----END PGP PUBLIC KEY BLOCK-----
pub 453A03A250A2F726
@@ -7004,7 +6685,7 @@ uid Giorgio Antonioli (GPG key added manually)
-
-sub 8C8D68AF389810C4
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGNBGQSS3oBDACzF8yjumbMujh5LRH4c+AaUkaVfMv/tiSCWXANtlJrU+XRPeKw
-Sm/jmT3g/W1cTbbTOt9I7329jrqbISHYSzmG4Q5f+KlHl2Mine6mUl6ipuIKmwhk
-KfePwNRLa9KUwxSPzLa0N8mB3PZjQ+FQ22IQk+BGwWsFFClSrP2nuXVi0VPctBWs
-jh5WUFu2dK2P0ZWJdb53ZJn53EVssvuQfanUqrxkEgvFc9yyIy4HKaqzHd8Etze5
-2NSt8LNUpdkPU4Agla4rhvhXIYQ8lL1Mhg3DAkmC7XGLuYxZq29esu3KYz+NfNrz
-4z1E5jxm17BQ3x8aP06TSpeTFC6GiBRzMz9l4ycUohvb+5fLZJVBYIHY7xBhfU/P
-2q6ipQPMo+t+bCIzMkQIeinsXq0LV8R7uODKUjy9IVg/ssqhcUovf0M505Pfaj30
-/9SZZ1vtNf3QUTbsHtINTl9bB87txqEp9tQDSFmU/cFynTeCK/VAvfrQyTUmFI7l
-FdmRyVM6RF2chVEAEQEAAbQkRGF2ZSBCcm9zaXVzIDxtZWJpZ2ZhdGd1eUBnbWFp
-bC5jb20+uQGNBGQSS3oBDADpK2KWHLVpVXJjkMnqr+TSUDW8VnEkdA2feLtyZZ+m
-AoLto7SU/WpIpraWTvmBSwJWZITnKaOVQbNeVVcbv+HE3KkLwtFVeV8cjK2sQAMA
-EQT7X+CtBegj6jIUYLQEbFoACnrfQUif0Rd1TU4NgqCLQfoKGq1OMUhfePteqVp4
-uv4dB7YUyntdkiCJgMFO6q8z/m35FlDSSaWdQew1d0WxTZxpO60WfC1li9Sx+h2+
-Ve8Euq8VKM4IyMp9co/oUw8SVnwb1PxUd6Xiz1s38W5F7McqSf3Et8ZasFVWLOZN
-RFw0U+5pACExRJX2hiNNBYA9n3CHmtxUXWfuDPmFpeRdPno0DOp1s+Po3TwGcfg9
-EEqMEL19xOIq7Vgcv+naiSNNC5rOJc4qINEbf/H6sPK1WMSLKipWZ6BOf8ECMWex
-zaWufsCHuZV3Snm8hEfqiEKUharFfdkdgmlkBF+OH6+HTCnaMlwuILfFSQCPkRUd
-W9cEWGqft9AkDDoNP4smmGUAEQEAAYkBvAQYAQoAJhYhBLCHoOuEFlY6/mTOukYE
-CRwBwwhqBQJkEkt6AhsMBQkDwmcAAAoJEEYECRwBwwhqWZsMAI32IIZp6pc8Bjk0
-UR9OYOSoTz5Ezmh9SlpO3LOLlb7OUUOuXt5ygzDGE5dChAA1V9tOTLyU8+qfXHOd
-cJSJX7oYTIpFDYi4vTQFh9Uo5iXwHXFmuhhUMFpKJNaynhmMATs6l8O6Xt5W0OiJ
-D4j5XqjDOVf/NNPS3gro4EKz/Qh/FuVs1n4iT38xJBE0CZhwz8X8JDWdT0eAvZBJ
-gAGSZh4AE5KzKj0jQwoiACA6qeOCzJ/sfl0fojDJ4PehxJFfRs2hpTOp/AjjF78t
-EGqzkcDrDM8gGCstIVeJDhB1yOvA63ExAkkFR14we0JZliFYHROJmo4GR7wKebqM
-3UI989rk+O6bgIk+yEfFGLH3Au3tNc8eLNU0qspE2H1enmb6hj6NiTEoE+7OKrzL
-vzqZL9WH1qfOB26bczhzqYBdpE3HRRqvOaFo2o7Rm9biGIJ/QqTk9C0xcI1/5BNv
-2X76kgI6+2mxiKKvZiERRfYIye0c4h8c+SrfWHSEEXZxaPtTwA==
-=tT4f
+=kX1b
-----END PGP PUBLIC KEY BLOCK-----
pub 479D601F3A7B5C1A
@@ -7085,51 +6730,54 @@ uid AJ Alt
sub 868FF6CCEF26A83C
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBF5CDMYBCADC1/aWU6ZbGZEphRbmjUPNfqh3N5goSnDCou97mmQ9Uq8iBuKS
+xsBNBF5CDMYBCADC1/aWU6ZbGZEphRbmjUPNfqh3N5goSnDCou97mmQ9Uq8iBuKS
UXJnGSOHudXK56f+Drx5lGZdLAzveZdqaqb1o3yLFO3PJxwj3Ulhab3O3uTG2eR0
2Xo7GKjRW13kEfphJrfVIaQq/TiyIG8IQ1dbm9Vuzc5NLDIeC4jxYD2S3hUqCLGQ
BiZAEH9un2cPax+hiT+9MGzdfQwdVrSQ9aEA9mtMhEGsk80XtxXJnd+hw2va6l5s
lSErmH5nMtyKh/n9uo/ap1CfPl98n5VUI8dDtUfWVrqRrkyHgdX+MII0t0nABV5X
rJLneg4dVy5Yw/+FVbLWB1Ta21reyytcIYQXABEBAAG0J0FKIEFsdCA8YWphbHRA
-dXNlcnMubm9yZXBseS5naXRodWIuY29tPrkBDQReQgzGAQgA1oQHEM6wP40xPfpa
+dXNlcnMubm9yZXBseS5naXRodWIuY29tPs7ATQReQgzGAQgA1oQHEM6wP40xPfpa
YBBRAWVoEj/CbAV6BooApSqQkV0cocM9wK905az2FmlKn4WTZyNwiA2eHjHlevsI
jKuHJWhSDVhulcKDi0cD6wTcjctcDWm7M3tvaICbieZQXPH7lju5Ct80kBo5ojdJ
oXGD72kVhSuiF8vOrAOiLOXP8+bpCpY4+LZ4qt3XjSnrkZq+h/vcy9crwuzuFlSL
wMRltOvfirrK/CSQZZtqG2PbT30CWFQ61DLo4DkXeNG1fKpnOaDAMaCedt+pNCAQ
1Vdzy1vT9b85LtOH/CmhumjM3S6x/VWwWZVBXi2xVLFCkm3LlWioSvVs6Na0Vvaq
-0WDsbwARAQABiQE2BBgBCAAgFiEEA8EjA4wgqunihshXR51gHzp7XBoFAl5CDMYC
+0WDsbwARAQABwsB2BBgBCAAgFiEEA8EjA4wgqunihshXR51gHzp7XBoFAl5CDMYC
GwwACgkQR51gHzp7XBpoYQgAjnYuxyXaFSbCc2EFWDrBA8+OnlbSgJ3etaIOoLQH
+Czv6+wLYc9snZDBm+IvbzEi3tXfi1TKcRI5ii9wDkti0KcVFrR2tpuXDLWYIF92
cSC7VyBiyT/aZpm0zX8qP8tjRZvy7mewbnoit1R6ea5UifSLvO0bHqNoswfgv90s
rnuUYMY8tv1sSo4j0f0zre/k4QT8sCTeMDsLsviMIvy1Wls1IPRo1SW1euGGGvCo
bxgke8Dw5QgumudwPqehOZVOkIbuddgcur55ZFFeitMOqdRoXkrGod9v6hYY1Jz8
W/Y2tzZmWsedFIc4ahuAeZG6cH6Ac8prHrQEz6lSbZ0flg==
-=td3S
+=kmhn
-----END PGP PUBLIC KEY BLOCK-----
pub 47B25FE8A3702A09
+uid Don Corley
+
sub 9FF026BD8292D6AD
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBEtjCpwBCADQHyrvtDB65xrmji7m37r3nyJwgSQbs5quzjAKl2H0xfpkIhmT
+xsBNBEtjCpwBCADQHyrvtDB65xrmji7m37r3nyJwgSQbs5quzjAKl2H0xfpkIhmT
IZESNqTMquwlz2wBlLZ4i80ydsDO3awm8nwhs9Q84pYFNYcfeQa+H3Y/uRMzaSiL
obk6r/2aVj7DVhCVpZZFv+m2450G+IK4V7+OH1RbMS0pxpQjRZMqIwU7SWmYVaTJ
sFinqzNy5f7INeTT6LC4UoRcrBFivIsum/WFJzg8CCxnmpsfmuK8rt9b96BgnoJQ
na6UAdAIDlwm1YaUtHSzvFW872TaZabpMPFzo8/bQkVVBkLet7pdo1EW37K/EJ3o
-HJsBH2gyEgB0ru1QxptX5WIvXa6YN8LyxLv/ABEBAAG5AQ0ES2MKnAEIANGdQGQm
-u9O9vlo+8zBOgl10PA5qLVrJmHxYsW/r4brnU63KrvcsGkCg/qU2e2Iic/Cvu+P3
-+3DMbHwN0+aAx+qz4fBbZS8IBTyn2l5giY5sM2YNaOIrtBUsKHHyx60auzbA9Oc6
-XnJpfJaQXI4xv7tzowDTk1rWVoAUj7PSEzvQ4CuG3rT+6QBdxYZIPLlgsU08711S
-asLBkwzR5yTp0gywLDfvSAfYkuNNIlPdfjtg/08UeVTJcxVcCMNDCY6Mk/rP6X7R
-Ti9+vkCwwCHHBEDLODCAltNQIbUdXvdiA7mrVu9+GXSEgAhXHArp0xLYunj39thK
-iZfJEJmQBW1nbdcAEQEAAYkBHwQYAQIACQUCS2MKnAIbDAAKCRBHsl/oo3AqCSq9
-B/44RE8nzdfDTz9fMVTvO+8jQ7ZGiujxs7TpPwxO/sHEP70t9MZVLxolYyddlkof
-zr6QBLAaDBf5z2S6HfNum73DVM1+axVe9TpJyBzOjS9+vP7/Cb9tmnpT6XCmBUeM
-nLmTs3IXZ2++dO5zhahGgiUOy+Oz/wRY4UEcGhrWy/UGJ/py8wtHVkjwYpc2mpDt
-r77VTvBTio/jUMvT6KEvgjn2KRXrC5dKcQEPP/VItuqCJY4YsM8gwPTkZtkbD4N5
-WgNOZy3T8lsD+5/KpSgf8yqyecj3KmWkel6n0B2CaKEWLqf99nEiaD6Pn0rtwkqw
-Wj4dPdQvYSg/m1N4Hmkk7fqr
-=IvXI
+HJsBH2gyEgB0ru1QxptX5WIvXa6YN8LyxLv/ABEBAAG0HkRvbiBDb3JsZXkgPGRv
+bkBkb25hbmRhbm4uY29tPs7ATQRLYwqcAQgA0Z1AZCa7072+Wj7zME6CXXQ8Dmot
+WsmYfFixb+vhuudTrcqu9ywaQKD+pTZ7YiJz8K+74/f7cMxsfA3T5oDH6rPh8Ftl
+LwgFPKfaXmCJjmwzZg1o4iu0FSwocfLHrRq7NsD05zpecml8lpBcjjG/u3OjANOT
+WtZWgBSPs9ITO9DgK4betP7pAF3Fhkg8uWCxTTzvXVJqwsGTDNHnJOnSDLAsN+9I
+B9iS400iU91+O2D/TxR5VMlzFVwIw0MJjoyT+s/pftFOL36+QLDAIccEQMs4MICW
+01AhtR1e92IDuatW734ZdISACFccCunTEti6ePf22EqJl8kQmZAFbWdt1wARAQAB
+wsBfBBgBAgAJBQJLYwqcAhsMAAoJEEeyX+ijcCoJKr0H/jhETyfN18NPP18xVO87
+7yNDtkaK6PGztOk/DE7+wcQ/vS30xlUvGiVjJ12WSh/OvpAEsBoMF/nPZLod826b
+vcNUzX5rFV71OknIHM6NL368/v8Jv22aelPpcKYFR4ycuZOzchdnb7507nOFqEaC
+JQ7L47P/BFjhQRwaGtbL9QYn+nLzC0dWSPBilzaakO2vvtVO8FOKj+NQy9PooS+C
+OfYpFesLl0pxAQ8/9Ui26oIljhiwzyDA9ORm2RsPg3laA05nLdPyWwP7n8qlKB/z
+KrJ5yPcqZaR6XqfQHYJooRYup/32cSJoPo+fSu3CSrBaPh091C9hKD+bU3geaSTt
++qs=
+=91mg
-----END PGP PUBLIC KEY BLOCK-----
pub 4B1E11D5A4B91E89
@@ -7138,7 +6786,7 @@ uid Adam Cozzette
sub 726F4E5C34CFD750
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBF8QwXwBDADKNLAHhjWUqnLYiO+ws3Hy1du6tMvkR3nfsnIDqpCvSjb+3/rI
+xsDNBF8QwXwBDADKNLAHhjWUqnLYiO+ws3Hy1du6tMvkR3nfsnIDqpCvSjb+3/rI
OHSyq8TbaGLLuHOM4K/KvrKgjhTbXQxvx1WR5IpoylcINzI959yAbaywBj6gVQB3
JX1xeZqiep8ZOD5V8YfwFOF5pOidVhabwdkC3xw03ZG9N0izgx4gyou1u8ovpa/T
clEvZh3OnmT8FU+NtwdCDBHhQ6CpYqUzslw3Lcr7gNWJrecdqH4aZdVetGPwJXqU
@@ -7147,7 +6795,7 @@ kEwwhlKsym2RWVMm69cdk9wOfdLP/gHvqWqw9+eh2cQ8d4p9dqMdehkZ/KMbzeyi
hM11wMNTz+QEAIG9xzYe/tGgoIK8Nn8Ts3jSNNQaY40tJJRzheWZrnUXrpFwAh7W
TDUyHOS2QFCoSLZ//n1YTT1qhLeXLTkX9KpwPZWYl/qJOJhp1P4XfQLEAtfiCVhy
HZA8CJDH1uJPuq0AEQEAAbQkQWRhbSBDb3p6ZXR0ZSA8YWNvenpldHRlQGdvb2ds
-ZS5jb20+uQGNBF8QwXwBDADkcS7lqcf5rVllBe2TN4ICFhmIw9AimWRN+FQ84DKQ
+ZS5jb20+zsDNBF8QwXwBDADkcS7lqcf5rVllBe2TN4ICFhmIw9AimWRN+FQ84DKQ
mXleF2vkE+13g4YMt2EK5Kz7KWYMzX/EjJPaNCz/YjPStxs1YoLK79AxE0qj7zN0
KLD43SC5SkC+9neTLuCYR/gkZY0DfF4DgMfNC0pA0jI4Han7yiP945u2UojPmsXW
UQBPdIRJ8XtVizGI0SGIV9HWICL3XEAfOqLdvziyaX2o53SkhY4eB/u1vaJxOql3
@@ -7155,7 +6803,7 @@ uJnOFXvvb27sQRntf/7CLc0XJ4Kfl0kOZSEu5jj5E+BGyIRdZHfZuVK/+ILrOZku
XKHvcP+jLS9nzjo8HV/AYxZYmRFMR2sf5Kz7ADkHqIA2qqSW0y+dUqp9f+f5KLna
RkppZ23DUJuiIO5Ogn8v4XNru1lwwtQDe//TUVO/kUCRBiSxpTcBwFIkMPUP4fuB
H6xFyjCNFR7BQxvtxxKbuW5YcFcOxdV8WkQ4ncoZEVJ4CKjI2d0qGM/F+frmXAfT
-rlkixP/ThJbyDL49bO7GkgUAEQEAAYkBvAQYAQoAJhYhBPGlHgUfUn4MjiTVTUse
+rlkixP/ThJbyDL49bO7GkgUAEQEAAcLA/AQYAQoAJhYhBPGlHgUfUn4MjiTVTUse
EdWkuR6JBQJfEMF8AhsMBQkDwmcAAAoJEEseEdWkuR6Jf1IL/jS/by4WkRkfEgAC
FSVi4sLsb45MjXMsQir62TZ7QOTAIVA2FiUio8Y2hHNMNcs8icpzlMGWZb8vtPKw
zFfCqhQuJmHrPHhTwISn3r2FGJ2nvUzu1uqMAHdVENPWQd94vBxL/9ZC2S8I6df3
@@ -7165,7 +6813,7 @@ vxPIjU55QHlf3pE2bELntMR5siFvCKL3wMHorzcw1fJsSeJRTt7tIqFd58klu4IZ
TkXNOSowlAbFwVXHh3dI2+Rbf8KgjeZo9gu2PDSe1JnLc9FvGsFaHHDD/y0puIKW
VPqpelEi+SOEo9tvgUEUUDwigvpiT7WzKit5B0Icbg+moRvY6a0FZPSvsZZx8V2J
AGg2/CyrKszDpsR8R04jHL/ZAxrodA4Awc3BTpNxQDPfdRPc8w==
-=SIQO
+=Amzi
-----END PGP PUBLIC KEY BLOCK-----
pub 4D176DC503FB4267
@@ -7174,31 +6822,29 @@ uid Colin White
sub 5686B45C142551D3
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBF1EtnUBCAChtyYd/4eMAxTz5DVmO+8QOrTA1cf9bprQhtXD5pVbw8/IGKN+
+xsBNBF1EtnUBCAChtyYd/4eMAxTz5DVmO+8QOrTA1cf9bprQhtXD5pVbw8/IGKN+
EqXmvt7AGy+4O633g7ec5iyirwCfEP+4YDv8k1LOvY9C5+tOwfK+FxAPRVc1AAB5
q23x4yMI7aDdvN52/jqpREeBBWPcrnEIET68RApayALenjUP6Kx5K0ge9aU8uaSB
HsVpHSr05L1nKuuqh0LDNXIYDLCpo0LnwPNfLrJ2xT6gNTwHBY5mncDy4m01rdxD
3to/s2Uu/9Xkfz3+BJKRD2kr5txiqoW69H/qsg7u8tTOr9FhB1T21pjFZsdpzbOq
cKd7UyD0RpyQYHmTeUIhKSI0Su7pKT+RTL9BABEBAAG0IUNvbGluIFdoaXRlIDxj
-b2xpbkBjb2xpbndoaXRlLm1lPrkBDQRdRLZ1AQgAxOP3klOByUo1Kyl1O6rZqj9e
+b2xpbkBjb2xpbndoaXRlLm1lPs7ATQRdRLZ1AQgAxOP3klOByUo1Kyl1O6rZqj9e
yts/oXtuDTISfcRkZyg6fmkhT4kpd4xLSP3xHvRwJugybyTedDHzXXCOSjl3EFfU
GaKJuMqSKs5YjQOWk8S9BegAPeiq6PGV6gbHZQ3Xqy+XE+TLy5N96zu7th/YJraE
NpS79sj//mJQE2d49YrxhZwtMj64X0B8/mDmED+D2cPXAoLxNh//LaV26gpOC9yV
YTXrCq7ODPE5LyoljhBmPZxoapcn/39V6UvVSG8Dq6R5QdahDgNnCEjVPtSzGtbC
B4zpSv/LvZkm8gKlaxUcra5clXL7p4NWGx1C1Ap4+H6U2h53lC7FuYl8k9mBNwAR
-AQABiQE2BBgBCAAgAhsMFiEE3yXTxIaP7BdxgvrWTRdtxQP7QmcFAl1P4JcACgkQ
+AQABwsB2BBgBCAAgAhsMFiEE3yXTxIaP7BdxgvrWTRdtxQP7QmcFAl1P4JcACgkQ
TRdtxQP7QmcrkAgAiSZ2VRgHTY8SV4dXXjYBO6WM2Yzamt4bO5Uqflw7gPO44AtJ
h+Pn89iz37RnGL+bAq2MCNsgV4G+KaLJrE0c/rt/szC7UmwEJmy4DcH5B80wzBvo
2kpN1Uyr7+1+IgHogL6HjLxccoBpawpm0AnhNYrd2ml7STBCfNmilztWGrTkerb/
2qOY7PmgWEad7whM0OEj1OE+M2IYZUga3gxf0B94GtQNwmI4xv5qXGskTFAlM9ko
94NfvOxEkgCGtnicN4Md74od0POEVrZxBpXuJGt60XVGvOr1iLmlpypWo+PkHhZe
Wt45mNAFy6vraTYYCkGXQKqx1kxg+OurYgIFgw==
-=zwEJ
+=o//+
-----END PGP PUBLIC KEY BLOCK-----
pub 4D21AC964B4DD57B
-uid Fares Alhassen (GPG key for Maven publications)
-
sub 07FCE9F56E69AD99
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -7210,36 +6856,32 @@ e2ZttF/vXSX59qsHzLJdqbXh71N7EYh6jpRgvMJwcUeeB1rdcxedTZBVjXcUJDzf
LP1y0VUtGqeH1zDcWy2mv7vDxnN300IesYwkk5XfgIvqk/sMTNIbaQxUnbLZGUjo
SEWKqBrUVcuA+MP+UHUPjRKULREhT4QyTKzPPczuxQCYkqUleS4P33qDb03d5c6Z
mI4RFJhRuOrxaekm3xkJsSRnmZVyF4j3xx1zggWaOD+76xCJgAfQSEhAvUJBcmPg
-z5kg/qXIUFV8Q3EAEQEAAbRGRmFyZXMgQWxoYXNzZW4gKEdQRyBrZXkgZm9yIE1h
-dmVuIHB1YmxpY2F0aW9ucykgPGZhbGhhc3NlbkBnb29nbGUuY29tPs7AzQRor11p
-AQwAqjOLxqOOYYpZ7wI63mODt+Wrgf00ohszF50xsaGQnqUOPjQflMDDYo4cGeNp
-5AuVTio+BDKxmilXeq2w7dko7gVZiGdFI60XaUiAh6fhvaaQoHzyln9GsM6m0jCY
-oLAhBb4VHLriJGqNRyOJfJ6LG5J69co0xujjYiwzea58Z+pIq7GfEMb9rrf6v2E9
-b+7BndvG2bAeZAF9V1y8mksH7PBnNOfI121cm8ISdeSynGovXVydnEPiw4ZTcM8T
-CUUCF/3V0Gld9MNhieYUXHwtlPncs01OWwCOB+TTxUZzGwWOoZOTHlLZ3upYNLH9
-pJ5LaSPhzlqC40YEBWk+AxOXtQO38d9WnJESn/u+/OqeVAAvSzL1QmJkfwnVW1fc
-fVHrzlTZhDeD3T420XnBVC0Q7Cn1VEDawgJDvW9PtnX24yTVMgixHdS37SmuodCa
-rfjtber7XaKa2T/poArUhAZT3yS4RKXX78MZCajhxYvIT3o6XoRv0Zv6085Avkk9
-NqUvABEBAAHCwPwEGAEKACYWIQR6RoY1ubjQTEQIt75NIayWS03VewUCaK9daQIb
-DAUJAeEzgAAKCRBNIayWS03Ve25+C/96OVNtCjtr09qjh1XDtm9ZO5s1JmiqUbtB
-c9jAr1vLWwSPzuEJfyr0/fEmBtgJtszz9Hj1rPd6TLn1eYVVt2y9JDe3Ecq/WGfb
-i6HbgF+ETEQr1h+NAlV2iFKCQeA96SKqElCuCZLaRDOBFhJ3+hHsd4IqXEwPFHIt
-SJipkmqPM0QnORlQjzY7mlfq6Pp9I4yvC8dRqRW0V/0QDVyM5SVlcCoL31zNUCKw
-u14WHvbV/7DAXDOUnhGKhOY6/Q/+n0fNDduk0KVtP+RATfeE0IThUXDCHmYA4Pm9
-/ifo2UJjo7PKJhN3Eq8LP7Bv5XhT+BzGDa068m0ZVuqqJYLb9H4YYhrRymKMBpVo
-2Ltr1S3uSMMCYDeDHzHv/snogHXkD0f0Z8f+1XlS9uC2WlNmoZAELJDTPwD+nkW/
-pjlvn/cWbpZAPfqVssE5+0PojQNNMES97HPPJwyptMWtDSJnUhu0kzFB25An54d0
-LoRfFjQzldcy4ShYHShR10dGhf1wkWM=
-=3cc9
+z5kg/qXIUFV8Q3EAEQEAAc7AzQRor11pAQwAqjOLxqOOYYpZ7wI63mODt+Wrgf00
+ohszF50xsaGQnqUOPjQflMDDYo4cGeNp5AuVTio+BDKxmilXeq2w7dko7gVZiGdF
+I60XaUiAh6fhvaaQoHzyln9GsM6m0jCYoLAhBb4VHLriJGqNRyOJfJ6LG5J69co0
+xujjYiwzea58Z+pIq7GfEMb9rrf6v2E9b+7BndvG2bAeZAF9V1y8mksH7PBnNOfI
+121cm8ISdeSynGovXVydnEPiw4ZTcM8TCUUCF/3V0Gld9MNhieYUXHwtlPncs01O
+WwCOB+TTxUZzGwWOoZOTHlLZ3upYNLH9pJ5LaSPhzlqC40YEBWk+AxOXtQO38d9W
+nJESn/u+/OqeVAAvSzL1QmJkfwnVW1fcfVHrzlTZhDeD3T420XnBVC0Q7Cn1VEDa
+wgJDvW9PtnX24yTVMgixHdS37SmuodCarfjtber7XaKa2T/poArUhAZT3yS4RKXX
+78MZCajhxYvIT3o6XoRv0Zv6085Avkk9NqUvABEBAAHCwPwEGAEKACYWIQR6RoY1
+ubjQTEQIt75NIayWS03VewUCaK9daQIbDAUJAeEzgAAKCRBNIayWS03Ve25+C/96
+OVNtCjtr09qjh1XDtm9ZO5s1JmiqUbtBc9jAr1vLWwSPzuEJfyr0/fEmBtgJtszz
+9Hj1rPd6TLn1eYVVt2y9JDe3Ecq/WGfbi6HbgF+ETEQr1h+NAlV2iFKCQeA96SKq
+ElCuCZLaRDOBFhJ3+hHsd4IqXEwPFHItSJipkmqPM0QnORlQjzY7mlfq6Pp9I4yv
+C8dRqRW0V/0QDVyM5SVlcCoL31zNUCKwu14WHvbV/7DAXDOUnhGKhOY6/Q/+n0fN
+Dduk0KVtP+RATfeE0IThUXDCHmYA4Pm9/ifo2UJjo7PKJhN3Eq8LP7Bv5XhT+BzG
+Da068m0ZVuqqJYLb9H4YYhrRymKMBpVo2Ltr1S3uSMMCYDeDHzHv/snogHXkD0f0
+Z8f+1XlS9uC2WlNmoZAELJDTPwD+nkW/pjlvn/cWbpZAPfqVssE5+0PojQNNMES9
+7HPPJwyptMWtDSJnUhu0kzFB25An54d0LoRfFjQzldcy4ShYHShR10dGhf1wkWM=
+=+Yvq
-----END PGP PUBLIC KEY BLOCK-----
pub 4ECE492B63E38ACF
-uid Philippe Arteau
-
sub 7569B5DA31ECF7BB
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFGP/FABEAC+7JFR/qhFujSJzNooyM1Zrc3Qmreadn8K3/7xZ8QpG0MF/UlT
+xsFNBFGP/FABEAC+7JFR/qhFujSJzNooyM1Zrc3Qmreadn8K3/7xZ8QpG0MF/UlT
TvlUFnjOnlXIpEaFJ0pHnZmpqYXoQqwMNW+qVspFqYa86gMKy8L2VgWWVuBFLMf4
3m5GvjLs99BzLKI/sUqv2lfAJ+kuZTQW4t108y3d5irbahP+1xW9qpK4YfPbkfCP
XOeMHGUHKDY3XqVleUdO3PW+mnnhwChT+9a0IuNRLln6/i2Mb81xcktLR/kexxU/
@@ -7250,76 +6892,63 @@ PvmP4b153xdtGNl4Y+3vTHjvFMxXUTbeZbbXfPyBeqa/ZKW7yhpCFSf22/OpgGZn
NuUjxqUElA6ZGHydtxk8E7cg0nLB4nSQ66XEbqm6bULqvsqVPobKULOysdzq1LUA
SlKuGklLtGpxP1ma0K/39eik+kmM+ecX+fhG3X9+h5LLHFLuPU9cwakkMeMe2Rwq
Q8ceOkD586OLW4tE8swfIfB8hl29JqEekf9DscABQn3/B83DKwqo2xkcwwARAQAB
-tCtQaGlsaXBwZSBBcnRlYXUgPHBoaWxpcHBlLmFydGVhdUBnbWFpbC5jb20+uQIN
-BFGP/FABEADgetmfLp3yE3ag6+xfqDdySqliRGxLUbmweA9sU4JmCvtAIGrn6mqO
-g10pNCBzzJX7kFcX8ZmlCEBFavbm0eywqcUwn2M1DzuuoecAMdmHu8jXX/iGUlql
-hQEFkiqdhR/xWUfA3qj9F1o2N8w5puTtwxMIkkgTohZXksAdWQEOJkakctm+WlOk
-udLgl7Q3GJnmqIMYiac7TwmLQ9lYpNoz4cFVJH1W+p0kPnjDBg/0nccZ/5HlXaM7
-9/lcYys2my0DKh7OR1Xa4iEinbXTiDiHiQS5jpjopUPgnjkPNdjTCxOHdgg8beIf
-rONGlZpD3yr9hofnJDDDf3bxg0zepL3rrlqDwwSX4Jj8gLzDHLUbfwfZgTO5/eF2
-uhcM7PNfHVEi/Z8icCVEK1t3e5xVAjaZFjt6R7rJOl4zsllJYPj84wBICqyP1G51
-Nj2ZE1724qArla84trPHy1J3f472s+AwB60gwocwy1wBIjSQCJ428h99m1f2QEHH
-8P7tdlYF3/SDLdSijZ+6g+2HeLkm7SGqnfDWJ3GT1fMy0piC1SnYI2tFMehkkQJy
-B1mGsOilrEuUkohD66l0R9TDEBefpNDN07aP6ByPP39TsbTOBJjdWImhMdyyALi5
-XkD0BYRgrlZiUkotIljr7p0bGHt5QiJ81Qt3E2RsyDOGN43qnxDobQARAQABiQIl
-BBgBAgAPBQJRj/xQAhsMBQkJZgGAAAoJEE7OSStj44rPE/EP/ApAHrbiy071WXLD
-0RbZc3dy+qFtNP3ZJ0kD+l0QgWVl04shgQmhaWJi4kA5WLIaSTTZK+nEoD7EE2a8
-VrBw1Jb38mUaQNo2M4kY0qWa5YEhF0CFdQI1P6Gs+R9DAnVZQEWtLXWdCji/RSlC
-9Ixq8kQkco2K5kB2D+ojGXvt4KMR0oolNB64CoKuSTHyEiobFDbhDBrfSxZAuwsi
-qRZh6Gm+EvYeGMrxDuQLtZ0o/4L2KMiHv0Hzw8s6mFc72f+ZbrctMjlFivB37hZX
-jm+1Kr18L4dLcRoZmJjH9SW7k7pCgpIuYlI0n9yx8BbMXmF/3Gxt4fJrJhCKSERb
-Lp6EM6VJR+ETPhH3kKsseSJaEricmD/Cw9VE5nhYxYJ44/QXEng6JG4FBV0hPKCN
-x4Yi4QJHqZfmhCt6VoXHwRAOe6VnrmfUWoEa6vP/scH14sun5eA/6J2mBYNZa+DD
-YQud90FLaEf135xMv9bBdYv3tMt7xalD4OvxZgcVcD2nuQKm9z56tEC/msWu9lc0
-0gqIyAwhgRK2Ml3GE3dVLQ25+yj9YdmvisFRlTxQV2FHrPWvrftB08nfERM/jJM8
-eKej8y3YRDgQU+O9SrfNjf8PhhpG98C+k/yOh/tty5HGNfdvyMB8TdVxzTd5uHMN
-2jfImvpKk61/hgAEI20K0qvSRdKP
-=m6Ii
------END PGP PUBLIC KEY BLOCK-----
-
-pub 520410E2AF06FA82
-uid Sam Judd
-
-sub 04155300547530C4
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mDMEZOLxKBYJKwYBBAHaRw8BAQdAxs2w5zrEoMuboI/b+hJv8zlrWNbcg6coKPu9
-bJ5Ktfq0H1NhbSBKdWRkIDxzYW0uYS5qdWRkQGdtYWlsLmNvbT64OARk4vEoEgor
-BgEEAZdVAQUBAQdA2rpw9zPXi/Kvjlu9NYPouxk7dED9SE1T5G5KyPw8gwMDAQgH
-iH4EGBYKACYWIQTi9RpldnKEIgxt/WBSBBDirwb6ggUCZOLxKAIbDAUJBaOagAAK
-CRBSBBDirwb6gomdAQDcbCDu1+NttutpaDY0yyUNkDgGiFMIQhu1t5J4cCOj3gD9
-Eq/0QAoo6ZBLTyhMHEx96p4akwxOyNhUiOv0QsxtUQw=
-=Rppe
+zsFNBFGP/FABEADgetmfLp3yE3ag6+xfqDdySqliRGxLUbmweA9sU4JmCvtAIGrn
+6mqOg10pNCBzzJX7kFcX8ZmlCEBFavbm0eywqcUwn2M1DzuuoecAMdmHu8jXX/iG
+UlqlhQEFkiqdhR/xWUfA3qj9F1o2N8w5puTtwxMIkkgTohZXksAdWQEOJkakctm+
+WlOkudLgl7Q3GJnmqIMYiac7TwmLQ9lYpNoz4cFVJH1W+p0kPnjDBg/0nccZ/5Hl
+XaM79/lcYys2my0DKh7OR1Xa4iEinbXTiDiHiQS5jpjopUPgnjkPNdjTCxOHdgg8
+beIfrONGlZpD3yr9hofnJDDDf3bxg0zepL3rrlqDwwSX4Jj8gLzDHLUbfwfZgTO5
+/eF2uhcM7PNfHVEi/Z8icCVEK1t3e5xVAjaZFjt6R7rJOl4zsllJYPj84wBICqyP
+1G51Nj2ZE1724qArla84trPHy1J3f472s+AwB60gwocwy1wBIjSQCJ428h99m1f2
+QEHH8P7tdlYF3/SDLdSijZ+6g+2HeLkm7SGqnfDWJ3GT1fMy0piC1SnYI2tFMehk
+kQJyB1mGsOilrEuUkohD66l0R9TDEBefpNDN07aP6ByPP39TsbTOBJjdWImhMdyy
+ALi5XkD0BYRgrlZiUkotIljr7p0bGHt5QiJ81Qt3E2RsyDOGN43qnxDobQARAQAB
+wsF8BBgBAgAPBQJRj/xQAhsMBQkJZgGAACEJEE7OSStj44rPFiEEz8ELaTgsvPU4
+flFITs5JK2Pjis8T8Q/8CkAetuLLTvVZcsPRFtlzd3L6oW00/dknSQP6XRCBZWXT
+iyGBCaFpYmLiQDlYshpJNNkr6cSgPsQTZrxWsHDUlvfyZRpA2jYziRjSpZrlgSEX
+QIV1AjU/oaz5H0MCdVlARa0tdZ0KOL9FKUL0jGryRCRyjYrmQHYP6iMZe+3goxHS
+iiU0HrgKgq5JMfISKhsUNuEMGt9LFkC7CyKpFmHoab4S9h4YyvEO5Au1nSj/gvYo
+yIe/QfPDyzqYVzvZ/5luty0yOUWK8HfuFleOb7UqvXwvh0txGhmYmMf1JbuTukKC
+ki5iUjSf3LHwFsxeYX/cbG3h8msmEIpIRFsunoQzpUlH4RM+EfeQqyx5IloSuJyY
+P8LD1UTmeFjFgnjj9BcSeDokbgUFXSE8oI3HhiLhAkepl+aEK3pWhcfBEA57pWeu
+Z9RagRrq8/+xwfXiy6fl4D/onaYFg1lr4MNhC533QUtoR/XfnEy/1sF1i/e0y3vF
+qUPg6/FmBxVwPae5Aqb3Pnq0QL+axa72VzTSCojIDCGBErYyXcYTd1UtDbn7KP1h
+2a+KwVGVPFBXYUes9a+t+0HTyd8REz+Mkzx4p6PzLdhEOBBT471Kt82N/w+GGkb3
+wL6T/I6H+23LkcY192/IwHxN1XHNN3m4cw3aN8ia+kqTrX+GAAQjbQrSq9JF0o8=
+=OeJu
-----END PGP PUBLIC KEY BLOCK-----
pub 5365A8A69292AF1A
-uid Seth Tisue
-
sub 6DAC12FEF3928B80
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEYVTpMBYJKwYBBAHaRw8BAQdAgCkGHxDJ2ObI6x5cwp6Cl85hJQ5vIZFH/0+1
-wnaiXA20JVNldGggVGlzdWUgPHNldGgudGlzdWVAbGlnaHRiZW5kLmNvbT64OARh
-VOkwEgorBgEEAZdVAQUBAQdAsJWY4kW6HpMZV8X5VYH0oq18gI8vVaQPTK+UXiu3
-FkEDAQgHiH4EGBYKACYWIQRgDSEhmWPyKCAKcjdTZaimkpKvGgUCYVTpMAIbDAUJ
-A8JnAAAKCRBTZaimkpKvGlyYAQC0bd1I8QbHqLzhkSv7NyKCh8SDTj/xb9DXPF24
-09RywQEAjKh4ayeMU3KgTAoCps9UZ1tw/tySVUY0qIzV4dDP1w4=
-=82EY
+xjMEYVTpMBYJKwYBBAHaRw8BAQdAgCkGHxDJ2ObI6x5cwp6Cl85hJQ5vIZFH/0+1
+wnaiXA3OOARhVOkwEgorBgEEAZdVAQUBAQdAsJWY4kW6HpMZV8X5VYH0oq18gI8v
+VaQPTK+UXiu3FkEDAQgHwn4EGBYKACYWIQRgDSEhmWPyKCAKcjdTZaimkpKvGgUC
+YVTpMAIbDAUJA8JnAAAKCRBTZaimkpKvGlyYAQC0bd1I8QbHqLzhkSv7NyKCh8SD
+Tj/xb9DXPF2409RywQEAjKh4ayeMU3KgTAoCps9UZ1tw/tySVUY0qIzV4dDP1w4=
+=NACZ
-----END PGP PUBLIC KEY BLOCK-----
pub 55C7E5E701832382
+uid Andrey Somov (SnakeYAML)
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mI0EVdDLQQEEAJMtYCaTA56YsP5RzQzPvqVTaR2nZ27qRk36blHB9WmXK+NHpGeH
+xo0EVdDLQQEEAJMtYCaTA56YsP5RzQzPvqVTaR2nZ27qRk36blHB9WmXK+NHpGeH
PHgq59mLPVueo2/M5k/fFrCe36jHePP31gYpFtueeYDfsofHwod0WhsHyC7JfG8d
-jEnSczTCmOHRZ3ed9ef6SeWUozYCQAX/tAbpoCthe0lTDYhFhkzVCe/FABEBAAE=
-=45ZY
+jEnSczTCmOHRZ3ed9ef6SeWUozYCQAX/tAbpoCthe0lTDYhFhkzVCe/FABEBAAG0
+MUFuZHJleSBTb21vdiAoU25ha2VZQU1MKSA8cHVibGljLnNvbW92QGdtYWlsLmNv
+bT4=
+=XKj5
-----END PGP PUBLIC KEY BLOCK-----
pub 56E73BA9A0B592D0
+uid ASF Logging Services RM
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGO9IPgBEADHCB2evKGSjQutTtIjODtaYUoU634Tl4Iv4DYsOR+MyOQBJ3Eo
+xsFNBGO9IPgBEADHCB2evKGSjQutTtIjODtaYUoU634Tl4Iv4DYsOR+MyOQBJ3Eo
9okST4azX6r9Fspgmc4LxpFnGm9OSEGn4NZ9ZxiTrmKaGsoXzj2w4JKtgAip4F5h
o9Ai/ridqeA7V9VH31OLSyZ/YJvrcoBcxWdwcpydxchlKQOOYX6wKqGk0BO38870
sI1d0y1W9pC9AiL+z7qaX3WUslOFDCGxRSxZs57x28P4pkRy0HwUWn38TrS4fnA5
@@ -7330,13 +6959,17 @@ Cd6FQTGJdtcgfruwltQOUWl4IaCOsCAzI0XnxTIdsaCDDQ6+KspvdFw7zav03eVN
TguQ39IkZgke2Am2He5vtxXAayv/qiTKsyTUxIIDe1ZTS5j3MJ+SNWR0faXvvDaV
QgqVjsB9U/CHjcCYbmFhKxk2phGwa0Wc+NHKwyVwjhJkFo+U+XDGJaT2RbhDYD1H
LeoZAT6kdngSzr2WvXWs6xJbWIXJc5FivUorfkhaiaBWam1R4o+8kSuxSwARAQAB
-=wRa/
+tDRBU0YgTG9nZ2luZyBTZXJ2aWNlcyBSTSA8cHJpdmF0ZUBsb2dnaW5nLmFwYWNo
+ZS5vcmc+
+=EOf+
-----END PGP PUBLIC KEY BLOCK-----
pub 571A5291E827E1C7
+uid Central Repository sync with maven.java.net (Used for signing artifacts that support syncing maven.java.net with the Central Repository)
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBE9iFawRBACJb4OMk3zqMDNvSJKYZ8fGYrPq7yCcf/ykKDkGb2dtPnAZGkSp
+xsDiBE9iFawRBACJb4OMk3zqMDNvSJKYZ8fGYrPq7yCcf/ykKDkGb2dtPnAZGkSp
3mmNlTsU6s9ARn7BtkhIuM5TdbLs+z+okX62h3F0WW3h+CpfIXyKSgl7uWbhZ5G8
RSCCRr7A8m6y83npkTVDW6m2oFN2cjFwPLm/vxg1gu5pO+NCwz5iBRHdewCg1idO
Gl6gBAZVNteCRMVnGnX4EhMD/RaYBO2j511h7gR+p+6BBeJTEIA1+tsi+GhTBkS9
@@ -7344,95 +6977,17 @@ mUMGuD9Z8PyvwL7quGQyXJ/kTe3eB6iyDFn0oemB1w736FQe3vcIX6eePOEiDZs5
1Uepv7bXI4wn1i3Z3kzynXNKcjCd5ZxAmML5VlQ0zWeE0W18reCjt1P5q5xxBFjw
0L8WA/9aPi4d5VPakzuDvxfKK29BogScTLn2C3fpEnqWsTfpoWSkNXkRsoB4jUU4
oIqRFMTxwsjUmjVUPOG+YqoeAaVpj+RBpp+V+CqgfNWpnH4caxzODE9f+6RYRCGm
-LSq/6OmgZg6t38M5XWVpvk7Ixygs6Vrd99VZyIQPJwSBM/pvAw==
-=dENk
------END PGP PUBLIC KEY BLOCK-----
-
-pub 5796E91EE6619C69
-uid Eclipse EE4J Project
-
-sub 153E7A3C2B4E5118
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQINBFri3Q8BEAC90D8TTu6C05m/eq6HbU8gOHFc+2VJriVmnoyODTlEk/LAsT6h
-BRok7nzY0LpNUzUREjJy/w80YTOjLs25IFhnqA6mq8BGLjFwjhBPA4piCyhW/Elh
-GWpIOzVj+tsqu1IO8EoMEo6xvg/WmYqYhz8/V+Lg0SgBEJSRpZTFt4heJ1QUsoW6
-nD0gdDb842PqVkCPHuGIdcaZoCUfsVA8kHslPM1GMOM5rFBLBwka+RXFZ0bNeGMr
-ij0CR77BjPDVHXM33r0Zr5nilZkHVfq3PJoWb/yzrJ6i1/RyGb09Q+FkbRJSQneb
-Z42J4bdih9KKbzoRzs2dNiDU8T6OHWqEQrY3wUMzjmwTLp87Hbwth7aegrGqZlK4
-vRdxkJYetfNpAEmTOL6s6dZQ+zHuB3sNTmzbzoOClTsMsHSqTNU3kn6ODJ3HcBY9
-F8TmETlAa3MyInJKhWIcT1qQ033dvqciGCjruw4NGPi4H4zPCEJ/+WSCfMWuiwMo
-f7PUKMt9HVZtqCZPXuS/RMLUyB8HBzlJvtt5dfup4dJqR1k/VKH0hgCxfRrn/An1
-AwiruS8lb07crwScJ0zPR620wRmJFYdAgh2cEykTfNaysDbRh+Lw2DxQJcQUwOvw
-kBEz80Eu5JjTvHghbDCYTZZ6ZepIDhUGdNG0Fdbjq4H9SyZwGY51ro/H8wARAQAB
-tCtFY2xpcHNlIEVFNEogUHJvamVjdCA8ZWU0ai1kZXZAZWNsaXBzZS5vcmc+uQIN
-BFri3kkBEAC/VNooix4jXhspedAh+wSWOaaEF3Q6qYlX0TpZdbwLYMP5lgopmvyr
-t+DkaanvwG/aRzyX255kg8hgmPXZpLtSeE4Wi27iTQ1znbX3hioWBsgUT3cQTnE8
-KDszeW6NLPGNWfuBbOcy/DW2rz+95A03IZaOY6jdif1Z7dmbl3HQ8zZJUsvkTPML
-TKze11PH9iaa/VwzCIJO/XtTupdSJxlMydJ8hX+u+SemTmkpiUO8EOXwZZoIwUT0
-EMzDXZvvxJXANl61BvVv/DjuAHIZ0F+y0SHuuSfjxpqMdrnrMRyQNSkSnJrv7EKH
-5S07rBW7YiLsN9pbhJB6b89nXPOsGwMOI6a81GAearZRerKLSYuGpTKV8sUQtnA6
-+j7QadwQCWxAKD7c7bvVBZkUYU68VBhBfmHx0VoeM29wa2dyVV+AAayE4QIZcnYi
-6g+xDU3YGvNkl3rzK4m+Hwu7YE0WyBjGBgapBfNnFPz7nlYNzOsFKMjnn9srwWsr
-eXC3HWxSZNKBj6sf9tZQ4N/P/MWz56Y8zft69WvXek4+EJEvh39omb/g6SVs4+9R
-wnaFA8OaVSL/NTCKemge3PKnlWm4TZTlqo87QvIuz/m54xSB0BKjV50XwyxWy4Up
-QV3YLW5mAhyCjbeb5nkLOYhYPHJj+2B3csEFE+a+LTe79QQbwjxG0QARAQABiQRE
-BBgBCAAPBQJa4t5JAhsCBQkJZgGAAikJEFeW6R7mYZxpwV0gBBkBCAAGBQJa4t5J
-AAoJEBU+ejwrTlEYK+sP/1epQmm0ZHvhTv3cRu+4WCAwRYGqm/1F1ovH33r29JFc
-spsAX3jOVWib2sS+FOCXoZmkZWqfEiAJWkOfMKDhGgat+zhsLGuBq4H5LCBoZ0D4
-DieiqP+ZI3hcQkFBq/lDEsa38uq4DexmEqmg/uJxsqz52t4PWavVJUzRBP0s5KQz
-gITOkhA/N4TEAnkCIVIblBP2OzoiYt0nQ7cABNbDxCTw+4SEehCHsOSZTPwLD/mI
-3uvHwfZJ2/wh8CY1YKd60Wf2C/USxqR/2d3p5K4KyKJn6epNs2NyO34KJj9kP3DC
-J+8rZDaAT67/GoCHAxSSrdaS98MO4xiFqFu4A6YFWoiRvZOoldQqdRhWBRkGWd+e
-txEuARatS7ZqVsdUPhUl8vygztpj1v6mkzOn3hIEWRGaSSS4jMocH9XUpsuN//Ah
-Z17PkKqnXsuhqaxXkrJfBwWQs9gnw6kNz7IaY5mTkKdhnS77SMX/K4cYuK0zhRP9
-oXCPIPvaFj8pL6UbW07z0Z4MFpvGMXXhCK33jlHcNktp8xnqUCNXTr/ytMOrUdm+
-yeJcM+CAMLkDGIMvsZMCGy9PodDz2RQZ8WCipdC5z30Vz1J5Q7KV6+utmbF71MQU
-YVD9zxkOV0TDfZ2CVMJfgn4ck8uTK/vBYKyRmebKiN8DK7wdvJf7nFRvv5OEr8Ov
-caYQAJ1rxhB132PNxTBUbRlvr0TZdA3NWJ/eYQHAQFWKKuZJVlGLeBazem0ulqLv
-vKFztx0DWCuVYpkp+K7H04XYOcIPxUAAFLD6cuXt8Ksl+25UJK9a55rM47x/Nith
-/hI9QRRk/nf+ot/nU6tZ+XsdOoDrqydnXO3iTzRouGzakgtFu/HZXKr9PWWPBlPW
-c+aPyNl1JoCBLrVWbhgdy6kHmHC28Y/gH5PvXWzSmaTY96yVYAuiEBduqIBfnBDb
-xUjLzjeMUFD+zqU0uopsLHU6gqX3ld8mPv6eDOvyQ2HYy3ASHqgCbRLVX4XO6MoS
-pI4IGrH1rnVFCGGnQsbvNbwfGnHvCN4G+YtypHCfA1XQhCSBM5+zO4QMJ6cBVvdD
-j2Pv0uqTgYtdenD2xRpocwIdkCFpRtFEcj4RaK+Isxc3Zq/qYlwqLq5ak4m65GkP
-wG81aLiGrqseMLwXA0rcSQQ2aREG6dD1VXpp3mC2uGsyh0SPBQ/ZC6A/CIzCMmiG
-abelmLC8+TipPbROyZ/fnPcVUqmJaicRHPpK3uEmMktowFOh3GIoPhNR6LrwNypB
-RwDeCA7R+RHWzUf1gVbZflKlHYfcmLlYht7wBJo1SW3sGMDf5hKECLApF6I+bW1h
-DmlBBHiPyQWUgkZrTrJGzpzKLFowpWUoy49YiGUZw983YoHw
-=+ZVZ
------END PGP PUBLIC KEY BLOCK-----
-
-pub 586654072EAD6677
-sub 2E74CACB6918A897
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGiBE1VSkkRBACkCgvt26sMi+0X+EOJDMqdK0Sziy06k47LJf1jOg4tTZ2T9QtP
-OZ8fD+va/O5+q8Kna993jzcO5n0Nv+R/K3+MvUqSmdITshCIjBt3cC0n6FWndGyl
-jY7rOmzdNnvSkMGE3V2fQ18stkJRleqk3EuWwv+EwpxcYeVfCO+UCJGz5wCgtqnZ
-JYdRHcDkDYaIZ4eizpbV4d0D/3cgBdpcbSrwIGtft+lDxacaJrWpT5Jh5P0gLlYu
-+6PFz8ZIC4+/aOSi4S4mgZxk8dBL8ZBqLqcW9rc//CYKNtPq33sdf9vxcusMIXvS
-PBODjDpoOsTJwy51fgCEL14qnp0v14y9p7ejjN5+GipiNY/JHo9S9kTdVhMYqt6x
-6a6MA/40vMejIbZ4q3Ia63jbHPi348fLDq3Gp8Wos7Sh2HnLC+pRdC46qX/5wL4t
-Vzj78yW9FdH5yeeE6nQLOBWh7PnSfMt2wYHoarEnkkkycP7WLpRME7qsBYqkNUNa
-2EQZSy8DnGiayYDij1YPNUHI9kpK6H/e3puhmgNkzrZj26T85LkCDQRNVUpZEAgA
-6xveuDcah4gFC0l2BFR9QsJU0SC5IkwRJC/3GcqAQZ5Bf0i1V90wuu8tt/jJLIgn
-VKEFHyTzReTwzoLZcD5zXgBVSu09Qeax47ndNjSfZWNkPmaztM5j9yr4OF5MEvOX
-E2wrzmrSNlc4rb5KWK/1pEEiX/zdzWJLmQEzvp/MtZmqyK6pCwtS8S+gKZQjZZLO
-EnezizecIce2r6xCRxotqncUwfUg+jMUUlZKUlKwh4TrYDFHhet8azXLpjED0ASG
-7/pBYDbRPnmWhX1NPiB4MvLDETrx67aszzrsGXZx9Tr61bhFbRKyDY5ia//5017V
-gStGAqbkkCNZHGnQnNzjuwADBQgA6A58Mp77pUtCtVhfBRnziKkEaCn8nCpqM/PF
-rxih08fQJ3xt/DbfpBx31Hky7KM1uLgzZEnekuU0ZqwgK3aqWg80moKaJNxUZdd5
-oreFobsO7ptejt5omX6kxdGjPclOt1M8sc6E+A3sR5a2QC/9Bts42myc1zKK6+6d
-3UpfUlqgaPvXbGTsisM7jt4DtVz6mXLTyjAiWeO07dcbSjgZuRnHsSCJobzTmNtF
-TP1DgUecgTcOK2ajgGsuzLqkbaQnK/RiRIzqkFIWlz8rzlYNXh8TA90BLeGXSuVO
-EW7GBIc8fVns6o10OdsAqnzEQqcCZv/eHHXjt9T5WgV3epy514hJBBgRAgAJBQJN
-VUpZAhsMAAoJEFhmVAcurWZ3QEMAoLP6krvubxUbwXhlbIO2EiMTh3/MAKCyB20O
-CDJEYrz4EqbscOdx6H3uwA==
-=e+jv
+LSq/6OmgZg6t38M5XWVpvk7Ixygs6Vrd99VZyIQPJwSBM/pvA7SfQ2VudHJhbCBS
+ZXBvc2l0b3J5IHN5bmMgd2l0aCBtYXZlbi5qYXZhLm5ldCAoVXNlZCBmb3Igc2ln
+bmluZyBhcnRpZmFjdHMgdGhhdCBzdXBwb3J0IHN5bmNpbmcgbWF2ZW4uamF2YS5u
+ZXQgd2l0aCB0aGUgQ2VudHJhbCBSZXBvc2l0b3J5KSA8Y2VudHJhbEBzb25hdHlw
+ZS5jb20+
+=ly/L
-----END PGP PUBLIC KEY BLOCK-----
pub 597852B0B140F0BC
+uid AndroidSVG (Key for signing maven packages)
+
sub E0A468B5546CD437
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -7441,45 +6996,21 @@ mQENBFFDPRgBCAC7Z/0fkdEkWVCD5BCDrIj/YOZBFOLHAZWLiVhyX0iDO1fhJcj7
+tAB0yUQVAorl33vHJWV93WaiKwsFpl6Gzr4i5Fmo4G5isXaDMO6NXbNbx45tmfU
V1RPI3EcIl/h5jNyRlJqDkoNz3TmgVpt9UO9hH2cGsejdj0c+56/4+/OE+IH15pt
w+oRt1dmGFxLlSA6k60rIzc27stABX0ZXi0WoPKGW8psRnZKNVf8/9d8IaGQivWu
-sytoVGsaUmIjlJnZYEIJtk7xOMrWqmJdqsHvABEBAAG5AQ0EUUM9GAEIANjKOJC8
-CevFnuPewZfDQTFJtSbRxw7BmfkQ2xRM6NW8eapIRATJZB5rolc3X7wQfctQJPDD
-yzhtkIS2ogMzSpuauMAPm+qYWGpT8pyq76d3h4do5um9zwGIQdkK0YyRfHVdyCzy
-PxE8FUYmBh77ooCLIA8ihl0HFe8vjRf/BYZF9C9bcIh+r/1LNOwdAKkDrSIR6A6M
-iax8vJhvGiyQz9biquMggySL6pDd48ktz5QhrNGce0d25b698QSqYeVWFx66niro
-R1ek0/lhnzDsrK0yVcKSUy01qnM9D43g6GmJ2vYgq4+53h6P12vY0ck2KnzFFpOl
-4M2S9k8cyJ5dfWcAEQEAAYkBHgQYAQIACQUCUUM9GAIbDAAKCRBZeFKwsUDwvFjZ
-B/MEjtMILcxKKDEH7G7rDZxvnIzZwPbYQm4q5bzgX/zgIcjLNBbY2+pli7wSSfpl
-rpXNfkNRSE2koyxBOOzRjVNyRcA/mKfHtuo+fkUEqdp4lXM6FfSBaav9qGBRbU0p
-3XSOYigJ+EHomYRuaIXPHi7AOAtG20bNa3IejFQT8dcLj1ZS1/ZPFrPcWay/bDbA
-QpHobv/5My04QmbgUqmvV2FWxodjTc7j1KXgINux5E4NruiwaCHVoHR0F/d79wHs
-Xv1s3ITZmLZFbsMT1CusuZOGRZBZR/v41c1d2Ju3KH/G5+9HslfCsrWaxK/uN4Eq
-c7/hvC5COsGvtYPqHtHFSXU=
-=XfhY
------END PGP PUBLIC KEY BLOCK-----
-
-pub 59A252FB1199D873
-sub 92BD2D0B5B21ABA2
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFUBG7QBCADRWXf0Fw05qRhM4cRnGKlOW1ecue1DCxHAtFwoqmAXyTCO+tI0
-MEW5SyXUkX6FsWLl6A2y+KgOs669ogzfQ0rnZMEt4HisRp8wpgk3GWR1/9aKYz/c
-ymy2N3BP9cz2fJ9+3PpBccUPL+ydFKpcnEnIwiQK+p9JjEWzJBlrdUc/UEJ0R+n/
-5r/+0+BHiTEMvjAF6/SwyntpTWpu7iEzLv/pfdCuhFKa4yn+9Ciwe3wGtSiue+dh
-tqKcd4YxED3oAswObBca3CC2HWWsUEH6EmfT1jUdfy1cq4X5x7AZ26oFYfG+odqW
-W5dcB+13VkJtJRzQTO/2HKtITJYC65a1jKt3ABEBAAG5AQ0EVQEbtAEIANsILuU9
-cH/EIEL+OpwIacr/y3/6LG+ok8SKDHIlF6cSpusSsWM6L+RGcZgvCDR0S0EEid44
-yy8wFMvoYSlsXHLN4SqH/rpLIc4CD8DdCLWraKaRZrhtqzNWSsYxEgqo7n1xO6+c
-sU17VJArnpkGPHoA7ooZlaGrc0y/rlkTXH++LKqh8niO9Dap46pLFrdgvuyKbq1B
-6faAf2JMRyvqy2+fuwfVGTc7DEUUFtwGg7FniDF0zl+3rFG1ud9kH8UWz+GwCwFT
-6qhVglgOmtJgw1CSYNeDsQvDB4YTJNnMneMSdM6CkEcRhLp2+lz90+wR0K/a9QBE
-1NPubAaRB2uQR4UAEQEAAYkBHwQYAQIACQUCVQEbtAIbDAAKCRBZolL7EZnYc2uJ
-CADHHB/Bmc48Ye1xl6T6nbNEiMCdmpIba+JNFnEWcueq4xk0xoXXUSpBnjLaWPQr
-VZKHXdMxmmR3BjhtFvsLgeajypLUkVDlKMkdGQtsWXL0abr4cNoMDiXURxlbXgxZ
-8+hIs/rKSWKturrCD2V4MXLsQV4xArh1ezkJFEDA3tRGzjjgzg5MwmrmL7H5Pcd6
-vV1Ke60BmvFYvvjRwT4Uw1OD0XluuPOaaiTibhPECc5zLxBz9+eRSsRbxccNEzPY
-JS8Xl9+hIw7Y7Od184cOoexxdoI/K52kH7A5yfEj2kXCZm5tYylyKvgGpczWdZuo
-V3u1xg+t7/QlghTMoJAA0H5G
-=hS0U
+sytoVGsaUmIjlJnZYEIJtk7xOMrWqmJdqsHvABEBAAG0SkFuZHJvaWRTVkcgKEtl
+eSBmb3Igc2lnbmluZyBtYXZlbiBwYWNrYWdlcykgPGFuZHJvaWRzdmdmZWVkYmFj
+a0BnbWFpbC5jb20+uQENBFFDPRgBCADYyjiQvAnrxZ7j3sGXw0ExSbUm0ccOwZn5
+ENsUTOjVvHmqSEQEyWQea6JXN1+8EH3LUCTww8s4bZCEtqIDM0qbmrjAD5vqmFhq
+U/Kcqu+nd4eHaObpvc8BiEHZCtGMkXx1Xcgs8j8RPBVGJgYe+6KAiyAPIoZdBxXv
+L40X/wWGRfQvW3CIfq/9SzTsHQCpA60iEegOjImsfLyYbxoskM/W4qrjIIMki+qQ
+3ePJLc+UIazRnHtHduW+vfEEqmHlVhceup4q6EdXpNP5YZ8w7KytMlXCklMtNapz
+PQ+N4Ohpidr2IKuPud4ej9dr2NHJNip8xRaTpeDNkvZPHMieXX1nABEBAAGJAR4E
+GAECAAkFAlFDPRgCGwwACgkQWXhSsLFA8LxY2QfzBI7TCC3MSigxB+xu6w2cb5yM
+2cD22EJuKuW84F/84CHIyzQW2NvqZYu8Ekn6Za6VzX5DUUhNpKMsQTjs0Y1TckXA
+P5inx7bqPn5FBKnaeJVzOhX0gWmr/ahgUW1NKd10jmIoCfhB6JmEbmiFzx4uwDgL
+RttGzWtyHoxUE/HXC49WUtf2Txaz3Fmsv2w2wEKR6G7/+TMtOEJm4FKpr1dhVsaH
+Y03O49Sl4CDbseRODa7osGgh1aB0dBf3e/cB7F79bNyE2Zi2RW7DE9QrrLmThkWQ
+WUf7+NXNXdibtyh/xufvR7JXwrK1msSv7jeBKnO/4bwuQjrBr7WD6h7RxUl1
+=ES/b
-----END PGP PUBLIC KEY BLOCK-----
pub 59E05CE618187ED4
@@ -7488,20 +7019,22 @@ uid Taro L. Saito (For GitHub Actions)
sub 8857595B73BFD468
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEYuRVGhYJKwYBBAHaRw8BAQdA2Dp4m1Yhtb1g94pQzzL24FuP6b9KXF8lP9Dh
+xjMEYuRVGhYJKwYBBAHaRw8BAQdA2Dp4m1Yhtb1g94pQzzL24FuP6b9KXF8lP9Dh
hZnynhe0M1Rhcm8gTC4gU2FpdG8gKEZvciBHaXRIdWIgQWN0aW9ucykgPGxlb0B4
-ZXJpYWwub3JnPrg4BGLkVRoSCisGAQQBl1UBBQEBB0Atu9kejBi+6wfOT0a9z/LY
-EEdNXM/VX6xt1onKToPPdQMBCAeIeAQYFgoAIBYhBMHLp17JvQuvgGGTVFngXOYY
+ZXJpYWwub3JnPs44BGLkVRoSCisGAQQBl1UBBQEBB0Atu9kejBi+6wfOT0a9z/LY
+EEdNXM/VX6xt1onKToPPdQMBCAfCeAQYFgoAIBYhBMHLp17JvQuvgGGTVFngXOYY
GH7UBQJi5FUaAhsMAAoJEFngXOYYGH7UlMABAKyRCazhVyUFg5FOpAnmckBY38Ca
MGPPLXVyY8Kr6dYFAP9wYLu7nsDZCOXkAgS+et4Pk1WZCggoYUkxsX1o0KZXBQ==
-=7Gio
+=UTdL
-----END PGP PUBLIC KEY BLOCK-----
pub 5B05CCDE140C2876
+uid Matthias Sohn
+
sub 9D29AE4A6B50E01F
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQMuBEwVZOURCADNnKQzSjFuI9/IGj3WTJcPU2B/H8NbZaTsz5WE91WumgZulK2q
+xsJuBEwVZOURCADNnKQzSjFuI9/IGj3WTJcPU2B/H8NbZaTsz5WE91WumgZulK2q
YeD4u6zdOyFK7DEScgxk7dicox9cNEgYKQnQXctDhfqER9bnvA2iJ+AFxjRAWyvs
en3ClYLXT5UVx0H1ZfDVKCvmaZVirZInfkqbi3OiPQoWrUfu02c3DiHQJ+Y34kdB
egH2sIShNH8WLfEZ3YDQ4XaWHVuN1C7VwCBM8R3OeTTfyDrTsuyqJ0SeZXRR/6df
@@ -7518,36 +7051,24 @@ ElYE1H7+HpphoI5vEwS6uElF67CoO5r74Zrb6nshGEj2AoOqjbrsdQm0noBBNYAu
f9RsjU0sQQFzLW8+2xahqK3oZkLWOkSxzLtVwJbm7EGaGIYxEBjg87OnGQkAi9vv
tVPwdO3VWyvgKLuPHudLDhTpeH3AMbzKgnru1Pnh/ZpiRhPzsbuFtFPEX8PMuCyE
n4OLzUALl98kXuPjG5ww+24UsNgKMbKbu8qq/zRu7IHlpZvd730RoCWU2/i18tnY
-zLkCDQRMFWTlEAgA+MQFGIhyA4Ww9g7J8ZiEltwSzRblrjM1q9anexsBIGsWH37A
-92rlVK1RzMVfhj5yl+BzIBGO+zHbgycX7iB5/Fwsm+6R/2Uich6NDm1Qai9rc/jg
-3MS0phOAQzgxlGKOTS2GzdbDJCBQMijDObNe+Cs5DNB/E29/nzzCTQvtRzSeplZN
-r+8Q8lWz6efXmm5EeeZxN4x1YXjjzMJCHbc3yGxOjTgYQOs962yUYsg9UDRJm1OH
-9NKZe1m3dTRIMUcZvL12dq/kyiHHR9V/6CkdiNw1AFMi3tvEdvX4D1k1/Qr/2ORZ
-E4lRzgug4sKkpgaclLnkJZ9EMczmUFTGbbkx3wADBQf/Y+2nZCJSuHiDv/+SdhQh
-OBapZ2hYPDvg29mpPqin/LwH7eFTNv/oos1wzuzGtTHHGEP5mUQLOxjwdAXsWMMj
-scSbCs66ytTN7X4O8qh+1yN7vrM6ZBL12Ix7Ku40cgkWyvTVLBXKaEGm4ElhAmSL
-Fpu+/fJw0riR6rIuwHcGB4R1IJtMWcj+b1odgw9QmJ8AGpHh2WVdXspoCGnTUN4m
-DEswZjplkKXCgLypU13SrHVOqhjd4caK5GNZUfWtCKtwNcJMnvgp2truMvh9BBn6
-widfK48hEknQtXzGjui+bZz2/AD7/OT/T1CqDspB8IQlBCMBn8J4U1grSrZ1wTJf
-HIhnBBgRCAAPBQJMFWTlAhsMBQkLRzUAAAoJEFsFzN4UDCh23wsBANDSDn2KWz7H
-b5geDwUTX4T8Uqn21eFbp54tFTfopCd/AP4nTdX1iahsClr9q6G+CWQBuQWHVmq3
-FlPU/jTn6vXQwA==
-=dKtU
------END PGP PUBLIC KEY BLOCK-----
-
-pub 5C504E1210E49773
-uid Dave Brosius
-
-sub 9344C7E75E48ADA3
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mDMEZvif2hYJKwYBBAHaRw8BAQdADgAH6bMuk4zOzywMl2kUy2IYqiQF+R/4qYUL
-KQ9Zq2i0J0RhdmUgQnJvc2l1cyA8ZGJyb3NpdXNAbWViaWdmYXRndXkuY29tPrg4
-BGb4n9oSCisGAQQBl1UBBQEBB0DPBdgnYQNLxY7c/uAopyjsC2v2xYyAPL1hxcUt
-TqubbwMBCAeIfgQYFgoAJhYhBHekV0DCOIDH+BudTVxQThIQ5JdzBQJm+J/aAhsM
-BQkFo5qAAAoJEFxQThIQ5JdzM8wA/2kla7yBkpcffOAvcBjP9vxJuAPlHLVlMY+J
-mAQzOOYVAP92fNohJLnu7JhsE+f9U9IlWpf6LunQtPiknm9q+rZVCA==
-=Op+a
+zLQlTWF0dGhpYXMgU29obiA8bWF0dGhpYXMuc29obkBzYXAuY29tPs7BTQRMFWTl
+EAgA+MQFGIhyA4Ww9g7J8ZiEltwSzRblrjM1q9anexsBIGsWH37A92rlVK1RzMVf
+hj5yl+BzIBGO+zHbgycX7iB5/Fwsm+6R/2Uich6NDm1Qai9rc/jg3MS0phOAQzgx
+lGKOTS2GzdbDJCBQMijDObNe+Cs5DNB/E29/nzzCTQvtRzSeplZNr+8Q8lWz6efX
+mm5EeeZxN4x1YXjjzMJCHbc3yGxOjTgYQOs962yUYsg9UDRJm1OH9NKZe1m3dTRI
+MUcZvL12dq/kyiHHR9V/6CkdiNw1AFMi3tvEdvX4D1k1/Qr/2ORZE4lRzgug4sKk
+pgaclLnkJZ9EMczmUFTGbbkx3wADBQf/Y+2nZCJSuHiDv/+SdhQhOBapZ2hYPDvg
+29mpPqin/LwH7eFTNv/oos1wzuzGtTHHGEP5mUQLOxjwdAXsWMMjscSbCs66ytTN
+7X4O8qh+1yN7vrM6ZBL12Ix7Ku40cgkWyvTVLBXKaEGm4ElhAmSLFpu+/fJw0riR
+6rIuwHcGB4R1IJtMWcj+b1odgw9QmJ8AGpHh2WVdXspoCGnTUN4mDEswZjplkKXC
+gLypU13SrHVOqhjd4caK5GNZUfWtCKtwNcJMnvgp2truMvh9BBn6widfK48hEknQ
+tXzGjui+bZz2/AD7/OT/T1CqDspB8IQlBCMBn8J4U1grSrZ1wTJfHMJ+BBgRCAAm
+AhsMFiEEfGaYEIksvTFI+pKZWwXM3hQMKHYFAl/Nd2UFCRlbrQAACgkQWwXM3hQM
+KHY46gEAuNHWGw1PGYSAT5I8F+rvPQsmRY6K+007+Q/icme7bIYBALgkQgbrBPO/
+CkgxHBlvr2BJHjE+nRgTCN73Sqh6JSZXwmcEGBEIAA8FAkwVZOUCGwwFCQtHNQAA
+CgkQWwXM3hQMKHbfCwEA0NIOfYpbPsdvmB4PBRNfhPxSqfbV4Vunni0VN+ikJ38A
+/idN1fWJqGwKWv2rob4JZAG5BYdWarcWU9T+NOfq9dDA
+=Ll5p
-----END PGP PUBLIC KEY BLOCK-----
pub 5E1F79A7C298661E
@@ -7556,26 +7077,26 @@ uid David P. Baker
sub A7CC6488427379A4
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFgRFtYBCADud9fmvTI8Dbs+9GcZUIVzxkL84QYHSDxI9fF+sxfAviq1U+YJ
+xsBNBFgRFtYBCADud9fmvTI8Dbs+9GcZUIVzxkL84QYHSDxI9fF+sxfAviq1U+YJ
a+ZLIW7HsXx8vpn3hqIqAbDxHjrb6MEJ3OWD5Ks7O9Lq7HOhtqAT/mpV3fZmf6pF
zdEw7c4UrfbtKyBY2kSBpKzTfu6HD3q4OBDm59Ezs2XFhKrXtlNC0fQ30ysBpIvm
vZH/opwlBgyELKnAYJ6eCmdW1iiju7DPKDBOrGi6zgvslToLpnZeSg6hzSyjM15n
Gx6Dgby0GNR4VEVze/UdOpsFVTSfP9qXgdt5ZOWQqW2Jg5V/ezvk+3Ok+ecfHWRz
q8tHkagnqn0SfP6mLqUNvmvAH7xp8crH8L/TABEBAAG0H0RhdmlkIFAuIEJha2Vy
-IDxkcGJAZ29vZ2xlLmNvbT65AQ0EWBEW1gEIAMuetYIGcqEC7KdfWn6EKmO7Zucf
+IDxkcGJAZ29vZ2xlLmNvbT7OwE0EWBEW1gEIAMuetYIGcqEC7KdfWn6EKmO7Zucf
OEirvo+WXclo48WX0Eo0gsTghKPGTS2kOzglwn/wYCbBVKzYaOngZljIcrR47hJi
Y/u7OH7EjiCiB0sh5WuEqOaCPPFo8lCA1+SBPAF+c1d7SfIEABL/WCc6e1rkKhe7
wkBSclspL8YQUG3cr5G/cSCGOV69TsCqq7rtezjkSsfE5dxmcs39Ouur7hs25DKe
hufUA5bV2i51v49WIuTE8x53VfInYsJyeRs7f4sx3hmkwN+EL2mo1YFymGwEkp8i
B0Jtrpsevl4AFOajl6X4IrdLn6+XSok/1mzIm+t1ZHokQ3mUWe5FC9c1Y1MAEQEA
-AYkBHwQYAQIACQUCWBEW1gIbDAAKCRBeH3mnwphmHv59CACEnAU1vbN4qxquAzNu
+AcLAXwQYAQIACQUCWBEW1gIbDAAKCRBeH3mnwphmHv59CACEnAU1vbN4qxquAzNu
aalyV6Hyx9olUQqPHopRGBA2ulPs0l+gtAXz5USotNsh3Ai5j39Y4J+qxN3HuDts
cxEReogawzOo/B+1IKuGuuTzvL6fU6ZFUnEosxChAKwJo9eS5xlyenyumTcXx5yB
/5X5nqTes6tcZlDcEefh7K5IaazwE5caITBX0ze8g7WQzRxyN+vuhY30U7P8TTKx
AsavdSBVIb+Hp0e2W2S5T3ogXaGkIi5qllr9uhfX+E9zLxJJKfJot33ix647mPwp
Xxo7K6teo2rkwOTQij1sEe2sbMZiKZkn4rYSgLpZiVLPiDYuP3RTuHnFenYROA/Y
cDvA
-=Sagc
+=nzuN
-----END PGP PUBLIC KEY BLOCK-----
pub 5F69AD087600B22C
@@ -7584,70 +7105,26 @@ uid Eric Bruneton
sub 0440006D577EAE4B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBE7JURcBCADO+9Dc4/JnB+wX+fq+Fr2zUGSPOT6/qjE5kXL4FEbJKsqDSAKG
+xsBNBE7JURcBCADO+9Dc4/JnB+wX+fq+Fr2zUGSPOT6/qjE5kXL4FEbJKsqDSAKG
VnbtRrsIUdmNIFQmz71bBDFhRBbrSrkz927k8eUPhYtxE2NmmWSuKgrjF4qviPQv
m/7SqGx378m/qw4EvpgGUB8EYif98LYdWp5vsU/zx0Ps9auqvetAzJaL9489oE0F
q8FVhve6BMfUUV7zOTCmJnf438YO68upjU0PVBdfFE6Qx4cgCeWbQGy2cooW5azN
iIenhuYU1qikmxMHq2xZzN4uSTWLGDpimPyz+Y1aTSYJ/bgn9gPStbI9sojWo9SS
5gvNK3XqJzMwxwFow86UcIE0vPD2T6ZlBAXRABEBAAG0IUVyaWMgQnJ1bmV0b24g
-PGVicnVuZXRvbkBmcmVlLmZyPrkBDQROyVEXAQgA2uNV77VI+ARj1d97b5cY3/er
+PGVicnVuZXRvbkBmcmVlLmZyPs7ATQROyVEXAQgA2uNV77VI+ARj1d97b5cY3/er
0Mcc8/Q9ctMY+5YpSYDOQF100QBdOQ8q3IJsfhZeF/iMFlHIUikuSgatb/Ih4lk1
+irnERPuV2MNoAw3Fvn3/vwl/Jy0ZsQCBSXO54U42TcOXSwNLkYOJaomDiiuo61R
xj7jqijpnydwoFvEi84v6q/Uota3MijGMbzU9QyTX8J9OKMeCSUq0uVuk4ezebjv
/bwA/ax/qQRIrEHDOOB1LJ5JyLacK4+h5J8tMkEmWxEQv7MNokRLgbaePqv+tdf1
gee4f2fSE3EXKFxjTO2wjLPXCrHSSI5gecsilQn7ZNxH9g2YUJipn9yj3ywMxQAR
-AQABiQEfBBgBAgAJBQJOyVEXAhsMAAoJEF9prQh2ALIsrWwH/3s8uN8/gDnbcbTX
+AQABwsBfBBgBAgAJBQJOyVEXAhsMAAoJEF9prQh2ALIsrWwH/3s8uN8/gDnbcbTX
+7N/ZfQBXJZ+H9GGikmYRJE1xoOeEt9MOqZyGDTZfGM/qNKeDGfar7pcRQlMK/A4
Nts5E6d1OX8fBkUBtYanyyjNLlT3yDjO6VaV0SCsgAzNjUZqc4lxS9atN6md5m6l
WLAdHghrXuV6LsiKOS+96htchoCvTvm7mcPI7w146yJRSyCC5+PybG3ult5Y6QAS
kwI3ZWB0u0PKUoqglwWngplu+0Fib2rxQvL32is4YrYaZ+XwoR6u/Bgv0ZvZiypk
17Uk17rDb/JfeLqDn7oW6Hlgi9KOLbRRIg7vwZVo2Ixco7aGxZp5c4zSfaPvn241
v813ZcA=
-=a3mq
------END PGP PUBLIC KEY BLOCK-----
-
-pub 5F7786DF73E61F56
-uid Ting-Yuan Huang
-
-sub 73F7734B17EC71F4
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-=w18e
+=hdCI
-----END PGP PUBLIC KEY BLOCK-----
pub 62467C4F2D39940A
@@ -7656,166 +7133,62 @@ uid pedro_karumi (Pedro's key)
sub 365D826E84B11B58
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBF7D95MBCADKhJjqI9jckLUSJDyuS3ury2a6CUy4M5Ak/AzFBB6PdBJWuZuB
+xsBNBF7D95MBCADKhJjqI9jckLUSJDyuS3ury2a6CUy4M5Ak/AzFBB6PdBJWuZuB
WLU1A2Pae/ADkqoQWv/TATsi8eHcQzLhL+TmdqDXiojdxn0Wk9krtO5u20O8WbYo
AeagDUnF4FYkuHVCXFsvmZex7vBS6L0gEYcsyl4ibiT3kyLF0jvr1gEXkqQ1qMhy
N4zam/fBzRAKtNIn+7zJDI2cQNrHrpL7qUq5o5TKODoBIJuXB2isiI4WBXr8fFgZ
XgU5Ck2U9R6SJ72P1Qsn5sy7t+D/JnDtwMa1mHdO+Fsf6+M3lQOrXtNaGcALi9aU
1SUQgMVucfdKnRmytqrvxH2Md9vgwB9rGAULABEBAAG0LXBlZHJvX2thcnVtaSAo
-UGVkcm8ncyBrZXkpIDxwZWRyb0BrYXJ1bWkuY29tPrkBDQRew/eTAQgAwBlk3/eh
+UGVkcm8ncyBrZXkpIDxwZWRyb0BrYXJ1bWkuY29tPs7ATQRew/eTAQgAwBlk3/eh
eyPbn4K5t80WatFoJ6U3yIg3fFDGa7OApvYXSjZjMcCNkO1zkSQUhzkdJQYryrCF
fdNRMXGqToq9lbUJGVvk5QvnHd5nG4aMOTj8A64ByXvKjmr8qWyBLWTmMLDh/zGF
AE0DrgpziT8uP8C7ALsUxmG7Nkbyf7TwAfp4KBm5UEQGXCa4TzOt2rH2ZAD+pyrb
Tdyr5UOHr+fH9yk1rze88JdbhGslvzSxk24fqtTFAJ7AVUIxYugmolFMwzuXs09K
lzHamuk7dJ3ABJ7cfxnRjh5ZujUMGssGh7DAYU5Q+/bDsndrgkwOqHe3JUr4lAQn
-7TPPIpapNuKXqwARAQABiQE2BBgBCAAgFiEEarI58oUmej6g9yQ/YkZ8Ty05lAoF
+7TPPIpapNuKXqwARAQABwsB2BBgBCAAgFiEEarI58oUmej6g9yQ/YkZ8Ty05lAoF
Al7D95MCGwwACgkQYkZ8Ty05lAq53gf/b671rYoRtzO4Y1KEn1uxKUbxde8VB7C6
Fs59coKyqxMEQvROGLakM2SoLt1hYp22wYaTj3QkaF6k/rwuKtTAxSTRTJ1scOwd
YsQipDrpFna1mSD8PqmbqCZZuUXSNwB87XdCs+zy2cI6jUvTptWQqTq3ms4EIeHg
lqJvxtHD8oX6J5nFkX3SlOPE/oWKN4N6mhB+O1dvqgPviJw21d94msqueBD/PALp
JG2P0/cDQUTxCHI+FSiMg5vpWNBqh1ZzXPf3N+6P1sbxPetGAH7+SyUJUXOQvsC9
KFUZDiG2rfnZRWX4DtELHO6prCqwFr5K8wVCSXuVpsKeG9pJKBKdNA==
-=qr6Z
------END PGP PUBLIC KEY BLOCK-----
-
-pub 63426A08B91ED6B0
-uid scala-parallel-collections bot
-
-sub 92AEAA033EDCFC13
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBF14+1IBCADMFJyazFt4gCmOWzVO5LU0WoRVzH0PuRtIV267uZtBqgknQWvU
-RzQz4bijv4+Eg+QmEJuCKpLs1MXgSh3wCqHNwLg1+UX0pbqxQPz+XeP07A4F+tN2
-VHmamN7aq9EkYUU6HNlHCTa6jJnf0Krnh36W9KgbAAms+kOE1m5KbEO4k4Sad4M6
-KxySbDbTtma3P2TWc73fIc5LeLJYRgNpXaOWQgXpwiCOAy2SBsZFiOBcxqUE7lZQ
-32VoO82Xtf4IPj461CDzJV9VQ68W+zqzx1A1+9H34PtBwASH7GGFDdPE5AdPE4iz
-ThN9Hf+lpEkJimbdY6jjylTdm9liShcJwwlHABEBAAG0QXNjYWxhLXBhcmFsbGVs
-LWNvbGxlY3Rpb25zIGJvdCA8c2NhbGEtaW50ZXJuYWxzQGdvb2dsZWdyb3Vwcy5j
-b20+uQENBF14+1IBCACgdIkEJUV4675xb8qzku9S30JzyDbSqRUQBMwq8a1Q+2b6
-7MfTliWzbE9a0lP4Rim3kZ4+QmQelY1I3bCjkNgaRndIoKSLf3BZsMynBv/z5Mvj
-MumQVwOWCCB9ot8MJ6G89EW66m/DC5EAz+oY1VWXuGp2ANPHBP8Juo2SYCGCE/NG
-TaLuOWHUfMWs79tzvqwwMxVQ8D9RYZBBwk/gsi4ptMT909gOvPbgfYF/3CRhN4MS
-+VDt/s5hXP7EG0odxXamG/o3gvdCLFGQXDPio4aGmRmtf6QzqUqzn3TZ+6syxg1r
-pJrkeJpvQvvl8vFMHdO4dQpuoHInFtIOUFC8bfH1ABEBAAGJATwEGAEIACYWIQTE
-eKggrRUEEv8oYMVjQmoIuR7WsAUCXXj7UgIbDAUJA8JnAAAKCRBjQmoIuR7WsK3m
-B/9EhC8WLNVt8d9U+PBnPpU3u1bQZsnv59bgM3if1a63Etq/OtgJ3Fo8+LONwFtK
-Oc4Xw69GwC4+/JRJeG08GuFlVqpoZ5NLgmDvg/v52S+grWStp1Q9i9MMkTS/p2du
-ArkzV7+xme9Ek/YRHcuG8h0tC3oGReFlFQaHzvu2BUyQgKsslKqhN0Tb3knb93nY
-KJqU8j/8vrD3uq2OboyvnvS6OwgbF6JqLDjEughYCS2/L7xYtpKtG4lfWCnde14V
-hvTlZBsPJfiCWXYpSUqPdA04tFqTU8w/2kK5F1M+bUsS/XFp/Cq5SbDRlb6khCBd
-G9e86vW0gwWqerOXyCYXpc6P
-=nzqF
+=Ji1z
-----END PGP PUBLIC KEY BLOCK-----
pub 6425559C47CC79C4
+uid java_re
+
sub D547B4A01F74AC1E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBE3XFIUBCADcj1zw8m1evCgEMqxgOfl6L8y1tsYWsX7tVPvHEkYlXHrdcpkB
+xsBNBE3XFIUBCADcj1zw8m1evCgEMqxgOfl6L8y1tsYWsX7tVPvHEkYlXHrdcpkB
fGuWPrauvhBmB9sBkFfxzU98Ilz3Xk9pfISYiaMUk9Mk1ZxsCoYPVhxvOSvk5LgS
sviDzjYdZfZtskUM0sRmjmoQL//fVQbfLxJ2zses21za2VHuS3puUbdcm8+UIl/q
oyneDbzM7j2nYXXJPNXJOfvyVxi1+rsc7xcjMvAj5ievYlWwYlAIgYbAiz969NdL
RkoA1Wg+cQg+59k7Wvi6xwTfzMsO4jfkV2p24xn4fpcch9J49UhADh6O7XEls1Xr
-80WjysMJWTOX1O2oTtV/BMjpI4gj08SgZRhzABEBAAG5AQ0ETdcUhQEIALq5+uXj
-S4IHZBmOWOBSf6R1EnU4pUqEza0uwgIX5Xr2uSaaCMPCm5xrbtf/Iv45VEuR8zGK
-b8/0dV74me6nXnOeqD27pkkliVE5nMPQnqKAUQmrA5aDR7Tzmey46Bmc+IFrvbWq
-iyA3yZwUpi1FKZR5VLEYhMGI0qOyoaa1NWjD3LDL7/AmQESe9QLCtT6QhNhmj/QW
-ByRpmuIhayNyPGlh5osFyiGgVcinlZE7x12uG76C1V7jo9eYrkjl/uHJHRqfB628
-oLubDFimKl1raYClRZ63jkbZBfC1fRYzxk6356mAxlB2OVDH3aYB97KKZkU8cX22
-IMawk4aBhCyhX8sAEQEAAYkBHwQYAQIACQUCTdcUhQIbDAAKCRBkJVWcR8x5xIbA
-B/9HU+RuaFxAIVwySrAvBwycrq5qb850RU9+KgrKo8CSCKTLdmphgBSE3pCMr6A/
-Q1QtOUndbm7SSq+XqODhij4FfUx0Kz669iPEVEZgZCausY7LH9aTmTJCRM+Ey2eM
-32Skz+ur0T812dN3iNd8HtC/iaJAoGFAnWRHetcH03QMEuogZp80NBg0CHV5Is8x
-0uh8JRHi8hWD1f6vVq9/GwbgRsDOppVa8Z2BgyHOsBDoec/fYC3i4iF8rHuuSGqa
-jswzG9SnFN1zLcGhLEUEOJzeDCANb1b2sJO2r9xEvfNcswj6ksY5lgItE1roCI61
-unkajH4ViHheqLZ/7wRm6eOF
-=kuUA
------END PGP PUBLIC KEY BLOCK-----
-
-pub 655E4BF442CFAE07
-uid Jukka Zitting (CODE SIGNING KEY)
-
-sub 6A73B16B42B5977B
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-McpbToSnw03RGZPKBs85X1mx1+ZIvQ2n4A==
-=GWuh
------END PGP PUBLIC KEY BLOCK-----
-
-pub 6601E5C08DCCBB96
-uid Popma Remko
-
-sub 0AC07D0BBD11498C
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGNBGBVUWMBDACXALXWXSrB2V95lR1L+i+sQsTQt8tCIgX0iX9UZ7Vw2K/lLnLw
-WYtM3oTxYox4OdgkK9tK6771EdCH5wQtRdUQJjlsBfZDPMiGqmh1jrAxAugEkFyC
-anVQ8VL1Z7uPeqw4UbtqA7Or/E0aOhF3zkkmhaiE9Yrp+I3KXWH4F0Cj3X9IUcf5
-Z93CPcEFQx7ajxSJ1xw/mSgbU4AtKZXUdK1ehnFAhH3rcMVW9paFSYaXD8f+vUbj
-hdJOp3e9UYEFShsdwo2X0FRqI318ef3gPDpbTATyCaz6NMIybDgRGo9WOGwF+Ysf
-snXwLU2UnT44kpAzHjFdjZhQGcY1w7d8yGNrYX4qw/RMPhmuVefuF2yodBtRxhWW
-09dwNiIYFVuGS4S03vlnEfYZlhmRgvWZK9PDJXm0vE5GI7LdOKlqwZxvoznjGmUU
-lscRU57DtrNlAjyXMZaGdNfPIG85B+ijJmIb0REHbszvG6csX4g1MiZ+i0WID8Jl
-20YpJTUkkvIztXkAEQEAAbQeUG9wbWEgUmVta28gPHJlbWtvcEB5YWhvby5jb20+
-uQGNBGBVUWMBDACp9Vpf+IvWC5bHXRe6bYRYm4LO74f5GICC3cqfHNe0xzwnhDM1
-X8Kve87djZrWp/Q07yjh03iccddZsH1Wfme0b1Ue3UdrhYMuvvMQPI2k+IR7+wut
-AsDlMPbyRcgnhaAO5URhn7PW0Hq2RxmRTPHrXzajEJUodT2VgjEC9DOD5cDAU2gc
-SUJgBANOvIoPEQAMBsYMRgYUczjvr8wTPP3kuqBq0MhZrETpENIGOeNIDjhkewkb
-BweOubP5FeAWeFCML/3LBLM1lA1bNaPJL2qAuYgSQcxvqYP95AesYDlLK8SWogkw
-y9etGmegbWXYUWI2frTDK4H4XO1/H1iAqUknB0t+YMNBO5UidotTmJMq9ln26Hx6
-RqO1ifc1QRu8A3VIryCdapNGFUib/TBwF201WJPK1MfsIzQvS/HgVmmu7tzYrIVD
-HYbj/RXEiiULMfPZE4PezahFO8/oHmvkR0KLOuwnOuMyWO/DWGn30Cdd8k+00zJ4
-crCR/FVfwrGeTacAEQEAAYkBtgQYAQgAIBYhBKpBdze9gFRW2zy93mYB5cCNzLuW
-BQJgVVFjAhsMAAoJEGYB5cCNzLuW3OcL/15j9/sQ7mzMVeAQPQlhMaFhtrheMPyf
-0eOorklsJ9afcBPsYPCtY33vibJzm43MiPeys+tW42B07i3wWnrcS0ZChgCHzGoq
-nF1QRu+O+G8hZ7EARNXMu+GAmY2sxCdF6vJtgEY5tIM82I9dtMMlaqvx6hKsVox9
-YZkvK2yL4x0F/nVD1VQTf3zUvZNrrdrowIf3cIuBTzkgTE7FrfaLsvdBZC2sNYuu
-NAY94zHsfqlppCGNjSB5Ig70S/YqPp1WYxU6yiXPRMY6qyNIO4NkAmtIJFEEDveY
-bbpvMBYYo8vcVjEXuCOQWQuMbfnMWu70jCC/3E0zn8RebEI5kdXxk0D4+pDh3TFV
-nqgi40dbwmHEv4p06IBCzaSoyzDfYH0Y5i9kZ4zUM1S9GEOtFwgEWxD80g1YU+Wg
-Mr9k+0YfV/wXDbIPLodc1J9OCnwqrzJnxZiRO0q/xM719KVhsJqR0I9e5trpPrft
-AA4fEAfsK22q/zZWGn1aDs1RyzdSprcN2g==
-=CEC3
+80WjysMJWTOX1O2oTtV/BMjpI4gj08SgZRhzABEBAAG0ImphdmFfcmUgPEdGX1JF
+TEVBU0VfV1dAb3JhY2xlLmNvbT7OwE0ETdcUhQEIALq5+uXjS4IHZBmOWOBSf6R1
+EnU4pUqEza0uwgIX5Xr2uSaaCMPCm5xrbtf/Iv45VEuR8zGKb8/0dV74me6nXnOe
+qD27pkkliVE5nMPQnqKAUQmrA5aDR7Tzmey46Bmc+IFrvbWqiyA3yZwUpi1FKZR5
+VLEYhMGI0qOyoaa1NWjD3LDL7/AmQESe9QLCtT6QhNhmj/QWByRpmuIhayNyPGlh
+5osFyiGgVcinlZE7x12uG76C1V7jo9eYrkjl/uHJHRqfB628oLubDFimKl1raYCl
+RZ63jkbZBfC1fRYzxk6356mAxlB2OVDH3aYB97KKZkU8cX22IMawk4aBhCyhX8sA
+EQEAAcLAXwQYAQIACQUCTdcUhQIbDAAKCRBkJVWcR8x5xIbAB/9HU+RuaFxAIVwy
+SrAvBwycrq5qb850RU9+KgrKo8CSCKTLdmphgBSE3pCMr6A/Q1QtOUndbm7SSq+X
+qODhij4FfUx0Kz669iPEVEZgZCausY7LH9aTmTJCRM+Ey2eM32Skz+ur0T812dN3
+iNd8HtC/iaJAoGFAnWRHetcH03QMEuogZp80NBg0CHV5Is8x0uh8JRHi8hWD1f6v
+Vq9/GwbgRsDOppVa8Z2BgyHOsBDoec/fYC3i4iF8rHuuSGqajswzG9SnFN1zLcGh
+LEUEOJzeDCANb1b2sJO2r9xEvfNcswj6ksY5lgItE1roCI61unkajH4ViHheqLZ/
+7wRm6eOF
+=RK8X
-----END PGP PUBLIC KEY BLOCK-----
pub 66B50994442D2D40
+uid Square Clippy
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBGDoYisBEACqUDZnT4h6ma6XIzdC6KR++uDbR2VKdhCuv0Og/sHEKkm6ZbG0
+xsFNBGDoYisBEACqUDZnT4h6ma6XIzdC6KR++uDbR2VKdhCuv0Og/sHEKkm6ZbG0
OFB8tAaQx/WlsoQyf3DlLfUEOGDai875Aqor3fbM+E1hrZbQNfsOySKEE52k7PYe
0qGWlnAzINuQaEuZwNw+pjZqPraMlwc/hwzJB8yFNHCv25pCFohK7KXvFGr5Fc6y
NHBp6pM3pnDQ1kbkloDr32YZY2LdrfdkRqwa9STNMcZtM724aaInValFpVGEHolF
@@ -7826,7 +7199,8 @@ ZEbPrfGMi5/MIVtLayglLHSPoZtjQBhlqo8w3nuADR/aFlIUZ6NGOwaz5yXIGVEs
6E1wiuILRAd7ecJ3Zyr/URHjawfHfKMM2tNCJKl48cScBMY61FJ1EmYzwhDw+at5
D4pCk75eM5/t6VdYQ1cDWm7J3LGXEANMU5aSZMqgVnb4SQEmRxkW7oq3Z+GIkQQf
Sj4OK6Oi4cUpM7b0m7Cbcsoqb6nD27VKD3J5KTYEq3e+78h0VRjhoi0Z+QARAQAB
-=UUB8
+tCdTcXVhcmUgQ2xpcHB5IDxvcGVuc291cmNlQHNxdWFyZXVwLmNvbT4=
+=Vcde
-----END PGP PUBLIC KEY BLOCK-----
pub 66D68DAA073BE985
@@ -7835,18 +7209,18 @@ uid Ceki Gulcu
sub A1766BE5F812AC2E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mJMEYvEGpBMFK4EEACMEIwQA6knc/2gtbqDhPh5EzrymR4Hwi1Xf2S0aqMopA1zg
+xpMEYvEGpBMFK4EEACMEIwQA6knc/2gtbqDhPh5EzrymR4Hwi1Xf2S0aqMopA1zg
IeZzBgSfL+4fEfpXL4eAzvrk29jIXSizDEOgFpw3PW3Om1gASxub4Jo6EQrRgOdd
OlJl1bajIRC4pAoZafDzhOb+FkjJ61lEJzJ6pQtG0Yi24QWDBfXHkSiQSbZFvcC/
-FTJpZua0GENla2kgR3VsY3UgPGNla2lAcW9zLmNoPriXBGLxBqQSBSuBBAAjBCME
+FTJpZua0GENla2kgR3VsY3UgPGNla2lAcW9zLmNoPs6XBGLxBqQSBSuBBAAjBCME
AdqQOy84O/j7xo1rAaMB3jGHCn42wBJF8nMVZ1oh6WRN8d33JP0ojCpCK9oe3lyx
jZRvBsVkFhOF5lsb72kqR34hALXmZvhwFhzNoQlz4NuDLg6aQjAQEyiS7NqI2SVT
-qbGoyIE6yg2ZLuv2svxk1dNlvtqtfOnmoeIZG3pybRRhyuIVAwEKCYi6BBgTCgAg
+qbGoyIE6yg2ZLuv2svxk1dNlvtqtfOnmoeIZG3pybRRhyuIVAwEKCcK6BBgTCgAg
FiEEYCAKxK52HxYU1sRnZtaNqgc76YUFAmLxBqQCGwwACgkQZtaNqgc76YUkLAIH
aAcCM1niPs/kj3NEmFl3P9ivExlWa6Q45l8qPgitCLO2v932TElX+ux8O+fv0Ax2
XJezAj+eMV+lYScyvXpmzbwCB36nuPmtsCJ31kYLXhN2WIJWPvPVesreI/GQUq0W
uAngfd6DOtCKYtNKP7xqDu/2bMU23cxGaRj2ToH4RfCClg1B
-=rv9Q
+=j1tx
-----END PGP PUBLIC KEY BLOCK-----
pub 67AB3C2A8FC5C42E
@@ -7855,7 +7229,7 @@ uid Cl?ment Fournier (sonatype signing key)
sub 96725015DF9CFD68
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGH5V6ABDAC/3vY53y/CLvTSWomsYRPasbGWj9SyhGYbqfDAvBl+CUXdrn0C
+xsDNBGH5V6ABDAC/3vY53y/CLvTSWomsYRPasbGWj9SyhGYbqfDAvBl+CUXdrn0C
EjDqBDgkHCm+brjrsa4jiNIFVNiaXIBq3hdnotLqQLvNkZKq5Ffgd5/8FpPNNo04
bVzNlllCTylnFjp2YYUbM6IZf06aKWHYlOyHCaAjZdAM98dXen4MhCTHlbVjvAE/
H4probzm2VYpP59GL4l7lFFnLK6NFgHUCOjcBuDzEFlWEl68vluob+sSvs9Vuur6
@@ -7864,7 +7238,7 @@ H4probzm2VYpP59GL4l7lFFnLK6NFgHUCOjcBuDzEFlWEl68vluob+sSvs9Vuur6
DCJiZLTRXdo4v2t7chKROlVQ/+vbZtWBQk59SDCz37Mcjhb8eXi3hRxFV9IU2mlW
C2fdraAt1qf3b4X3i+Fs+Gf1tggtAsh55Rwz+Yvd/F/6ieu+aYwn9rjvXNwxdkXt
5abHl/w0VEflQjMAEQEAAbRHQ2zDqW1lbnQgRm91cm5pZXIgKHNvbmF0eXBlIHNp
-Z25pbmcga2V5KSA8Y2xlbWVudC5mb3Vybmllcjc2QGdtYWlsLmNvbT65AY0EYflX
+Z25pbmcga2V5KSA8Y2xlbWVudC5mb3Vybmllcjc2QGdtYWlsLmNvbT7OwM0EYflX
oAEMALxbq0TQOnda07RFdCeIq1MEbCDz9a2tuozqTpbcAb8DWJ/ENolbp9+5tRbm
Ta3W0PGWjie3BkLrqpW+JdW6lLzXsOfGsK0lfZMd2+fPynngm/UDJilTEx+yQm2+
eP7CNRnvLuC+6FFEn7CHKsqpujhzcq6gXxXj3lF1z8cz+es/7EnqyLBKX4m91YTu
@@ -7873,7 +7247,7 @@ hsIQOjsyzSyeeKv1xfpOgjevplUL0zDuj27iD6ax6JNFVSOgh/V1Nx4s4PJDO323
+F2CHrrVRfHvAMIL03rMooOtEOo+zSGcx5hAC5Tgc4wka9yNf4Z1zfY8b0/X/qer
BxUuUz2ATkc50xD0F5hqEkSUQibY3XXQWTXXIq+pKYe4BSME48BbYXDrj3ZJaqiC
qWEAxhjACsiBWPWoqJHaOe1Zc4yMJMN0Vhyj941s2dPkrdTkZFFTOkKMtvrpdulE
-lV3zFwARAQABiQG2BBgBCgAgFiEEaK+CuZw8mt/lymYXZ6s8Ko/FxC4FAmH5V6AC
+lV3zFwARAQABwsD2BBgBCgAgFiEEaK+CuZw8mt/lymYXZ6s8Ko/FxC4FAmH5V6AC
GwwACgkQZ6s8Ko/FxC59rQwAuNO0uQBNUHj967Csp4ZVPX4Og+Ws/KiivqUByDQz
JxH4YLGb3b5YbPfOvum0gVHXuxzmsi9a1cPDt0CnkadQX0hr30hR7+GzIaM3KCI7
1z9yKpLhaGUdA58TLL9Pv56so2QwveFGvemRTm//3cryRwyQ8Yug2d8bkZdG/kZj
@@ -7883,16 +7257,14 @@ LQv2INMXWP4OxbQnLYByiNfC1KJ2E95dNC5o9gQzHojdDdUdC7EcBEx2Qnyjzn5Z
u7Soh90nDXDoDke4qIkbzhD8xv7bWg2VLFLgzOUd5qlkU1tQHjQV3oi9bLv8SzkD
BT0eV3VYhXt0StpPv6nGFUemZPmKtIx7nk88nT9Qx9xu9umjjQ5FGlLMV/vRQmEg
SfSMrKyPnYJ/wpmKlRrSLrlm
-=og46
+=QoIR
-----END PGP PUBLIC KEY BLOCK-----
pub 689CBE64F4BC997F
-uid Szczepan Faber
-
sub C0058C509A81C102
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGAofm8BDADhvXfCdHebhi2I1nd+n+1cTk0Kfv8bq4BQ1T2O85XlFpp1jaIR
+xsDNBGAofm8BDADhvXfCdHebhi2I1nd+n+1cTk0Kfv8bq4BQ1T2O85XlFpp1jaIR
70GAm2MOt8+eEXt/TuPkVBWnJovDpBbkUfYWxSIpPxJzcxWV+4WJi/25fBOq2EuP
QQhkqHQRECQ0CsogzsqI/Tn3FksiGKB7v67hAetM3KpwZ5IlG8chLoaeDf7k3P3S
fBWO9MFxYW/7K5G3vqARKXHvzq/jYiXziMDeWIKswwTPqfeDc89tsEdE6GMT6m2u
@@ -7900,117 +7272,25 @@ ECaulbHlzEzazSAh322/yyf/nfVZ/yZhK1y0MjvwpOhGxFbay5hA7L4bHAwR3qb9
YGiPIL+K97TYY1G5+3X0TSvTIg4VsW5VDu50oB2iYK7uGE08GhT4uc73tiDlZm8L
BUwT/KtKT7g++LYwAMeZJ5+rfIKKxblXUN06vz9stylo1rNVhTXftuqqO+x5uVGG
KlOWzx3p9N3nqrufwuoQNvIMzCAvJZNm99j/Y/40wsrUkBxVBGNs6nEpQ6c5lvf3
-24Dfk3nY/7Fts1cAEQEAAbQjU3pjemVwYW4gRmFiZXIgPHN6Y3plcGlxQGdtYWls
-LmNvbT65AY0EYCh+bwEMALVHwkeMzw/wcUboKcEUmmXmiGgwDn4xac47U9x75JgC
-OqQE1+4Hxu5qULrPlCLLP1PDmD2PK/QUwbGpjjEuw4YxI6JjuOQ9sQa7HbzRVOmw
-0kd0T4hr4Xa37D3E4oAxqwpeXcPsUWewtpjoqjLpTDBuaRpp/x3sFFmM9+s2ci4S
-614yppuWqu4X/u7w5CbWFYMKl/N5aqK5RYYMAgPUqsI4J0NKwb5UszFuatFevTvD
-MuwOf9LfW7kun13s0Z+/+hWGlNhk38ahIR8PSr4yT1pR271dUQKCTtZUFC6ObVAY
-WAaEzrJ2XuJMnbHjpciv9WqaXFLpda7eE4TucmjU3+W29kWer9ts48EkD8Hv+a8T
-BXXzK8KBi0ACUJi6uma1DWdUk6tqe2CniwirRzR1mWhKfOmQqr487pH5h0jMSPN8
-Dhyyuw4Ef2BLmTQmvbDYv9bwkeisskKjg108OoWOid1tbXudFdPQWqNc8FVPMlde
-kza4cC4qBd+vjVcKHrEx3wARAQABiQG8BBgBCAAmFiEEFHtpGhkJdiSQL06paJy+
-ZPS8mX8FAmAofm8CGwwFCQPCZwAACgkQaJy+ZPS8mX9PxQwAn+LmPCqO6ig0fsgi
-nOhUaoM2QX6A//IiFDXa2pY3bKaWf5LAYpuvRAyMsGPI3ceAnwfFSMXjktlssmD5
-bQKFisEuCuFQ0B+dlMO/+BZ1Id1Nldi8yKRTfcffgONO4kuKGKN7MKWPBX6/cJfA
-pwHV7QubGEl/b/UNjPVFv34QCLU1ZFhVKHO582m0N94dwkwThaQQZX/op+cT2kSC
-DWn7zl38KoYSy/6ThxKyIWKimiEpug0VeRHDoYw2NUyVvidj/F3jsnbEiNTH1Rpp
-DzXuJbN7c/fxaAAhlAgxnt/hvrECPylnA98CPd1tBl8Q6IDcgbXmIa/jLS+Rqv5Q
-xUNYlwhcFP9WxU8RwzxIHo9SiVRUaLcqit5eVI+eZbcL+TZP5b8wtLoKr199Ej2F
-xNkL3+InFdjTH2Ir6RZpmqeY4NI6ujL41iUru20RzTNCAQA8jgmCMq9kDxaykpzd
-SvFHnyijywCZB1jblPtxo2UqRO/qhPfqSkoVcpWmxgiPUFOr
-=E7F7
------END PGP PUBLIC KEY BLOCK-----
-
-pub 6A65176A0FB1CD0B
-sub EA8543C570FAF804
-sub CA890A5FA09CFD80
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-pjR9iVjH1oML0H5i1H4=
-=MfhW
------END PGP PUBLIC KEY BLOCK-----
-
-pub 6B1B008864323B92
-sub FA6831EE37606774
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFTDM4oBCAC9cUMAjkP1dD7tt0JUI5kVORKagn4/zG6+Y2MUwGgJs481xsFC
-jXPuNZMucAVtXmw5Sl7FbsfSxR/9jJ2pnbXL918eRFbUqY4LnuOTZjcgNWo8PWPc
-0NLmqoLj3HXaLrpB5cRIXaQvzmfoWxt8o/ZWq1zSfDJDePuQb6qlWmnoDz/S2YJb
-f2AILPsljTE8kYIBHORGilKtUXtQRjs0SCqnbx+DSDAVKSnqYHWDMmxgBMMQsSE/
-RQ/EZ7I4eGRLLfONCxox0fuIt4kOLuMNqGWQlqiG2Kp6Uulx5SepToSrPZLyDGVA
-MgefKrKe/lzKiLeppmx7ELXOKBXlIvTFZBuzABEBAAG5AQ0EVMMzigEIAMvOlDqi
-K4QHjd+L+UCr9mRlljXOq1ou4ngvnZ8dg+JJr5/gS2gl+4SQsjS9Xsdk72ZYV7fH
-IAPIwFYDefmh02icKXEx1Kc8dqeVCHvaAQBKttDcoxdz/aO5bdQuVdW+9RCjE8Ez
-kn1lHCtEpM+Bv/oJITY0lX8WMGTtb/gnuJkQgkYusfKRRh3crpFUdMCf6PMir0Io
-1HIhjBG56Qwu+jdXgEIHdMKO/VlhmbcvsP6kEpJ18E0ydNvC5bprlVfFJWMWf3mG
-Eq7StrdsPulBtek6hwEwxZRMkoc2CQnq9h9X5khlp3GWeDg0ApDczVoqz5/qv0a/
-AgaOz5TFFdOjimUAEQEAAYkBHwQYAQIACQUCVMMzigIbDAAKCRBrGwCIZDI7kmTj
-B/9ld0zPal78IhrJjtprGyLWvW9jG73ZSI+xHyPa7dmsz42Ey4kHGFlp7SjerWJg
-etZCt6swEcHFvKSUNBYjqFxBvI6sB1M92yMRfH7W6t6Xi1CYtNzw0KDZU6Skbo+R
-L1ezNX9bmRmilOVvPgVVcTqvHsTHsg1PvD4nx5lvUtYhT6qtID6o5Y5c83CGR/yT
-O6aufbqI92Ljc9l9z63kD11Ws+tOyV1IcSeDCBKhMv6ow+ThmUSkK+OHksZO/d/I
-/NDnAWv9SG247xrOaItiGIBM6Vdyhg1PpEgx1binMJaFOajAtVb4a5IpXW9t8LRQ
-UWCKYJHuhwXGkDiIrwmrUmwS
-=OaPQ
+24Dfk3nY/7Fts1cAEQEAAc7AzQRgKH5vAQwAtUfCR4zPD/BxRugpwRSaZeaIaDAO
+fjFpzjtT3HvkmAI6pATX7gfG7mpQus+UIss/U8OYPY8r9BTBsamOMS7DhjEjomO4
+5D2xBrsdvNFU6bDSR3RPiGvhdrfsPcTigDGrCl5dw+xRZ7C2mOiqMulMMG5pGmn/
+HewUWYz36zZyLhLrXjKmm5aq7hf+7vDkJtYVgwqX83lqorlFhgwCA9SqwjgnQ0rB
+vlSzMW5q0V69O8My7A5/0t9buS6fXezRn7/6FYaU2GTfxqEhHw9KvjJPWlHbvV1R
+AoJO1lQULo5tUBhYBoTOsnZe4kydseOlyK/1appcUul1rt4ThO5yaNTf5bb2RZ6v
+22zjwSQPwe/5rxMFdfMrwoGLQAJQmLq6ZrUNZ1STq2p7YKeLCKtHNHWZaEp86ZCq
+vjzukfmHSMxI83wOHLK7DgR/YEuZNCa9sNi/1vCR6KyyQqODXTw6hY6J3W1te50V
+09Bao1zwVU8yV16TNrhwLioF36+NVwoesTHfABEBAAHCwPwEGAEIACYWIQQUe2ka
+GQl2JJAvTqlonL5k9LyZfwUCYCh+bwIbDAUJA8JnAAAKCRBonL5k9LyZf0/FDACf
+4uY8Ko7qKDR+yCKc6FRqgzZBfoD/8iIUNdraljdsppZ/ksBim69EDIywY8jdx4Cf
+B8VIxeOS2WyyYPltAoWKwS4K4VDQH52Uw7/4FnUh3U2V2LzIpFN9x9+A407iS4oY
+o3swpY8Ffr9wl8CnAdXtC5sYSX9v9Q2M9UW/fhAItTVkWFUoc7nzabQ33h3CTBOF
+pBBlf+in5xPaRIINafvOXfwqhhLL/pOHErIhYqKaISm6DRV5EcOhjDY1TJW+J2P8
+XeOydsSI1MfVGmkPNe4ls3tz9/FoACGUCDGe3+G+sQI/KWcD3wI93W0GXxDogNyB
+teYhr+MtL5Gq/lDFQ1iXCFwU/1bFTxHDPEgej1KJVFRotyqK3l5Uj55ltwv5Nk/l
+vzC0ugqvX30SPYXE2Qvf4icV2NMfYivpFmmap5jg0jq6MvjWJSu7bRHNM0IBADyO
+CYIyr2QPFrKSnN1K8UefKKPLAJkHWNuU+3GjZSpE7+qE9+pKShVylabGCI9QU6s=
+=NfCL
-----END PGP PUBLIC KEY BLOCK-----
pub 72475FD306B9CAB7
@@ -8019,26 +7299,26 @@ uid Daniel Lemire
sub 1723844CF9A045EC
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBE7+huMBCADW9rfqKBXOqUSLCK5Klag5WqLFxAOddqEM7wTx/42XaIKjDiAW
+xsBNBE7+huMBCADW9rfqKBXOqUSLCK5Klag5WqLFxAOddqEM7wTx/42XaIKjDiAW
gmFnV4XBKm/7Z4fwWq7+ku6NDYUjBpI4vcQ2hYJJ4SRWZHT5wWzOmqgznf+/Qwug
P7Ss3EUTRGX3LnhKhKN656XQhM0PutdsHQlUKjvnl2JOaKerEhbHCRxga/U/WWOT
KdobRO+x8v1scsrnUG83J7sTSaja0McmgUhKrhJqrgSk1Tod45SxprxOyp0cgATY
xjHrf2rkafBn7K7aFDe8a73iCJPWS77gxTZCZ72xkcnMLR0m7QI8TzFa4lRjTovA
QcTpr7jwjmyjA1+68peL6VHdVr0cdXm34mTVABEBAAG0IERhbmllbCBMZW1pcmUg
-PGxlbWlyZUBnbWFpbC5jb20+uQENBE7+huMBCADS5gJ9frZF9KUorujSdK5GmZTG
+PGxlbWlyZUBnbWFpbC5jb20+zsBNBE7+huMBCADS5gJ9frZF9KUorujSdK5GmZTG
75MXhQLLR3UOczqElryVfudgwHfofBymcuiPPfwSNWpWLeylgCxs49SOrNfh2r2m
Cln7ZO1LwDOoRIfD8xUA+TTc4qbQzo0xt6M7WdEiuhLdxUGnM8s4fRsjwvN7wvA6
+PGvgaeWIKaP+S27jZaKbVSGqR37Vuj1JkbsZV1V4BXXOb0gyNsT6s/Hcy0owWtZ
kVBIgBanYui9J2uosgRMhHeEJUO05w6ehCoAkr2ktzj0QRDmljmbGjiHEsOcO7ZD
u2JQyI25bVUCk21S1CEdIfZ4xmiV5Rj2Lwxb7LCDEe+umc+W2/7j5RtR7RWFABEB
-AAGJAR8EGAECAAkFAk7+huMCGwwACgkQckdf0wa5yrcgCAgAh0VKQHRwwov6YDV2
+AAHCwF8EGAECAAkFAk7+huMCGwwACgkQckdf0wa5yrcgCAgAh0VKQHRwwov6YDV2
1H0/h0vv934brwNWxIPz46WVa0xI+fmA0wYXg+1OTQBy7rqJHWoK0I3M6qjZvvaK
o77yUUtdye16gf/SxKPUwXMyTg98ojOvq7orvDF0ktE59stzayjUs3vrR7xDh/mx
pwiCN602Jk27vCCTdg0AHbu/CsK+Cu1rkqlqa9nQ0O0No0IiGJdDK51/ZluGBhhB
73xQ+jqgAf/g1qabG0Zyv2N+5tw+Alp9sqDsfyA119B6q3xKoaJqo+9h+zQ0vpZr
NMuph0EDebGxR9VMiO2F98dacAm/Qr8QTyRj4424rkCSK2VbZtvalewylY514xg2
lV/Shw==
-=qKIA
+=8Yuo
-----END PGP PUBLIC KEY BLOCK-----
pub 7457CA33C3CE9E15
@@ -8047,19 +7327,19 @@ uid Colin Decker
sub ABE9F3126BB741C1
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFIXyRQBCADe285y3Pu7KzoKyP6wqeNXtvvuwMatAmPm5x/i+S8MlryqzsYa
+xsBNBFIXyRQBCADe285y3Pu7KzoKyP6wqeNXtvvuwMatAmPm5x/i+S8MlryqzsYa
x6twUmXV1yKjjtGrO+9fHvTOWBfSSP+fP9KTaTQYSasoJq2Mw4cQDy1i0zrxNZUw
N4/BiyjQA25sdfaOolhO0sFlZuTZpYy5wG72KkA1ygNq0L+8aBKhEF6zDU61YzCC
AxjcgTftgTeeoqkJtYa06lNz3jmJDN+zUQignfRa3ymoGtFHTzoXR9maE8RWDty4
y+DY+8ibdGgSgKPZ0byTCDyNojgU1YTlADa/1/NY1ShYg617O1xicLNo0JEJlf2U
Tu4Ymql36+xSkYSISU97Q6Utgq27XMuZvDUDABEBAAG0IkNvbGluIERlY2tlciA8
-Y2dkZWNrZXJAZ29vZ2xlLmNvbT65AQ0EUhfJFAEIAN9NHRd2bYP/3CDi+n1ilSCh
+Y2dkZWNrZXJAZ29vZ2xlLmNvbT7OwE0EUhfJFAEIAN9NHRd2bYP/3CDi+n1ilSCh
ld0NR3DUBgS/AdqQ7IoAUfj7skyI/WyaMdV4uy6vRh5YgNg2g01nd0LLZR8Gf2Ck
+D6F88CdZaTxlkcxHV/dXMZ8yBO+0D6yFRZEL7Imsv8Ig4QXOVwfuiXEPk/Ef5Dy
9SdAVhcoErTGGR6BOGVVvexGtBwefsjMaOG0khkRbWIQ32WxfUFuAv5XBQ0ckLrl
KvYWUYhOlXg27GtFKH2EBBF0Z5ZWu7gaBFwSV0oLp9EWcD+C+WEwUSfBdqfRJtyX
vgf4kZdwdQ5caM8P2/Sdncl2l/LU1At2Smc+plr6zhIhDlLhlrzKGa16oARSBdUA
-EQEAAYkCPgQYAQoACQUCUhfJFAIbLgEpCRB0V8ozw86eFcBdIAQZAQoABgUCUhfJ
+EQEAAcLBfgQYAQoACQUCUhfJFAIbLgEpCRB0V8ozw86eFcBdIAQZAQoABgUCUhfJ
FAAKCRCr6fMSa7dBwURMCADHrqwRNHkbG1QsXJr9oUK6KVkLsPhcngIhxRLlqe89
omg9G7eGNauzs2PKsB3txotCFc7ROVNv/TAuSDYzkPos8G46p3bGesjfJb24zc6G
MT4RGIJoh1oNG1IciafIIHjp2ZJHRmEDwmvZG24OHJ+mlHLjaedtqlWu+zwwhH2V
@@ -8072,10 +7352,12 @@ KlNSs+aVM48UnQeFtTDyOhwa5jvtqtst4eQHwHWQ99BK0TEymNx0vF0nPjWA76CR
rfopOwXKdxJgoKq4MrxE92ot5I82AZBPeiWVJ+6wECeK/GoBIXZ5jEUqrQmmzIbo
WA5G5PMJ8egzLJNRJjTWHjCWrUTnwNcqaD4/qZxIlW4Lt0uvGlx6pKOJQ05u+9X/
BzoVWrw=
-=fJQM
+=nWoM
-----END PGP PUBLIC KEY BLOCK-----
pub 760F395DC40D55A7
+uid Dimitry Ivanov
+
sub 9BBDD59B9EC621AF
-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -8084,33 +7366,36 @@ UZl90EYkT1aYw5tE5c/SLsUE5LO3EmrGK91HFpYDdAajg+WEyS8UDPA/npFPvoRY
72rgPTZOd/i3b4k53A1h1OmXjBN9lKwsBQ1E35UDZVoWkEuZ0SlJoKv1/ckzISoU
11Opj7m+fmfCpopRpDHQ8hbRSqofhrOz3HJtUiY3FezcjatwHgEcgtVJjr872wfO
ZnVFx9uHMTD9gURQbGT1Wc+A/q4whEhatuI0DKcPrssVQ5Z9I1XzYlhgzegzJdk/
-KZq35XNYfwfPyZ7n5CxmNu9wk7z9wxe4VDTXABEBAAG5AQ0EVJ/5nwEIALQR8vdn
-Jo6yAfIMlMCPHGPyzDL2qGwZp/N+GbpJAJO9gJQzUvrL/uijy3Obw4umavIgr5Gh
-bZcUffzFFU3dIuu77BuHH3DLOpdYQ0MQVYc3ZV0+2r7suaSsl0V1nmB5XBzIoKdo
-wXGcybgDFH4IlxP8d+cp8oppRO8tNJy/ls8Wj48EguiRcBTHm//kdOMQUZ71z/3V
-yPwNrn4pd+U8X7sIobqU9SsE9fFm4SDBpr/wkcxxZ6YgkYu+V5ZT2ESKO3h5LEiR
-KjmwnjE10mempty9zxIrtOuD8QqK1EDbbI6OgET36ajM6znmMDjmeEhsua8jc8Xm
-BuS2yVy5p2yQEkkAEQEAAYkBHwQYAQIACQUCVJ/5nwIbDAAKCRB2DzldxA1Vp5GJ
-CACXXeNkGdhDcQBfUWD8HpaNPj7EWBzB8RkqvLv4iKDi7uirUxNOYaJ6x4LagX9J
-WUdmPLLanwQJPrF1Oos5T8XsE6gRXYM24yDN+tJj5H8KgDuhbXOyAFmFui+hva2+
-8RCnxq6i0qNt3rp0ZlSF/6+MbcNx+t7dr+963QG2N6iu01xPJOpoMWHtVr6KRVaO
-wdck3zLViXDmxOcUt3JhIGtKwRMO4mte4wmT6Ko+Nj4uy6tFjbTfN2eBins/1F9q
-LU4YJUqC4QD48TvN2g+mJng83sC+lG2Wcyk5J9jaO2vvRRELwdplgBPqNmwVaQfP
-IVnJtxjuqGPv22HRIgeCE7aG
-=GYfa
+KZq35XNYfwfPyZ7n5CxmNu9wk7z9wxe4VDTXABEBAAG0JURpbWl0cnkgSXZhbm92
+IDxub3RpZXMuYXBwQGdtYWlsLmNvbT65AQ0EVJ/5nwEIALQR8vdnJo6yAfIMlMCP
+HGPyzDL2qGwZp/N+GbpJAJO9gJQzUvrL/uijy3Obw4umavIgr5GhbZcUffzFFU3d
+Iuu77BuHH3DLOpdYQ0MQVYc3ZV0+2r7suaSsl0V1nmB5XBzIoKdowXGcybgDFH4I
+lxP8d+cp8oppRO8tNJy/ls8Wj48EguiRcBTHm//kdOMQUZ71z/3VyPwNrn4pd+U8
+X7sIobqU9SsE9fFm4SDBpr/wkcxxZ6YgkYu+V5ZT2ESKO3h5LEiRKjmwnjE10mem
+pty9zxIrtOuD8QqK1EDbbI6OgET36ajM6znmMDjmeEhsua8jc8XmBuS2yVy5p2yQ
+EkkAEQEAAYkBHwQYAQIACQUCVJ/5nwIbDAAKCRB2DzldxA1Vp5GJCACXXeNkGdhD
+cQBfUWD8HpaNPj7EWBzB8RkqvLv4iKDi7uirUxNOYaJ6x4LagX9JWUdmPLLanwQJ
+PrF1Oos5T8XsE6gRXYM24yDN+tJj5H8KgDuhbXOyAFmFui+hva2+8RCnxq6i0qNt
+3rp0ZlSF/6+MbcNx+t7dr+963QG2N6iu01xPJOpoMWHtVr6KRVaOwdck3zLViXDm
+xOcUt3JhIGtKwRMO4mte4wmT6Ko+Nj4uy6tFjbTfN2eBins/1F9qLU4YJUqC4QD4
+8TvN2g+mJng83sC+lG2Wcyk5J9jaO2vvRRELwdplgBPqNmwVaQfPIVnJtxjuqGPv
+22HRIgeCE7aG
+=t42b
-----END PGP PUBLIC KEY BLOCK-----
pub 7721F63BD38B4796
-sub 4EB27DB2A3B88B8B
-sub 1397BC53640DB551
-sub 78BD65473CB3BD13
-sub 6494C6D6997C215E
+uid Google Inc. (Linux Packages Signing Authority)
+
sub FD533C07C264648F
sub 32EE5355A6BC6E42
sub E88979FB9B30ACF2
+sub 1397BC53640DB551
+sub 6494C6D6997C215E
+sub 78BD65473CB3BD13
+sub 4EB27DB2A3B88B8B
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBFcMjNMBEAC6Wr5QuLIFgz1V1EFPlg8ty2TsjQEl4VWftUAqWlMevJFWvYEx
+xsFNBFcMjNMBEAC6Wr5QuLIFgz1V1EFPlg8ty2TsjQEl4VWftUAqWlMevJFWvYEx
BOsOZ6kNFfBfjAxgJNWTkxZrHzDl74R7KW/nUx6X57bpFjUyRaB8F3/NpWKSeIGS
pJT+0m2SgUNhLAn1WY/iNJGNaMl7lgUnaP+/ZsSNT9hyTBiH3Ev5VvAtMGhVI/u8
P0EtTjXp4o2U+VqFTBGmZ6PJVhCFjZUeRByloHw8dGOshfXKgriebpioHvU8iQ2U
@@ -8121,304 +7406,418 @@ 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
-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
-c8LNGrDaCFdXnOdlNV/zT9VvBk/RkV+Tl/Lk4g==
-=AP/d
+tFRHb29nbGUgSW5jLiAoTGludXggUGFja2FnZXMgU2lnbmluZyBBdXRob3JpdHkp
+IDxsaW51eC1wYWNrYWdlcy1rZXltYXN0ZXJAZ29vZ2xlLmNvbT7OwU0EZ31b7QEQ
+AMEWM0g1KKIxE7q8JK7QblKom7++NYn92E3suHv3WxqzrhRT9tYNDSaoOazQP+ha
+NA2BqkdFcB7G4jKdtK2VLFc7RBpcR2rnQEJWgpeP03DHrdZYFdpH9zABoFsotgZR
+KwwTOoxdm6XtV+47LEY9yAefPrt1gPJQ4h1SKwWIFSRPChQ1cThBz2QD2LaPAGtj
+Wzr6+0xf0nm4xTDvya0EbdTpMOvtyDCUp7qe41u34RelGxoo0+rmoL/0cTJGCr2L
+3xWijlvWCMLhp2dgVnvRIpvo+tOSSl/pvTCLgE0nFjNQFbNh3D1Qo/AHhEz3MzbQ
+9JbEy7MF+fiw83YULRKN1kZ673Z1ng1wLA0m4+EWrh/PpMPp1raYQT0fSqUkiGBo
+25MfIjdheAuTgUf/4aHKU7vi4yFwxr8DWcKrxiv7g6xxbFvI3p+/wmyDbLXBBh2c
+iqwQfW/H32TlfL+cXqtapB93L1xR4IPTRvMnIVJBA+J6I/jlqx6RqPABemHudFvL
+2sAJu91lQjL5GxEmgVNL7l+UKGsy+h8mg4Sonnw3MI1c1KrvvIhJlkTpqiCqCnaG
+BBjZQWkuiyVJSq8VLHq2LxlWJd9nt73MpOLgj79ylD5G7OQEVgGBbvKwqdRYvKik
+8UTYYu7sTolNFVNMvQoCIJxropO/xk17qK0a4LtaZ8oVABEBAAHCw7IEGAEKACYW
+IQTrTBv9TwQvbd3M7JF3IfY704tHlgUCZ31b7QIbAgUJBaOagAJACRB3IfY704tH
+lsF0IAQZAQoAHRYhBA4iWRdBRnD0RCwlDf1TPAfCZGSPBQJnfVvtAAoJEP1TPAfC
+ZGSPphkP/iHWjnYuEXC7uKzt+zvsqjkGkGkXVApXgZGm9h1/ujlab0FK+9VA1JlV
+uzqw9SBYuwUwkGX0TVVCCc5KAxDa6sYH2IggcC+dN4ZjCMiUrJlEHNVE6f7Fjg59
+STScr+jWOckKnP5p2x4xmH0kZX/rkZ+90lfniPUvVt/g5aunoEQDvtMOZBn3Opgx
+4zOWxqK4vGMtF1bhFUieMtg5B3E5jlNeNwmkDYV3MHGu+oMYy1TFMA3OQuTOz5de
+D86xE73hK9HQ3DBoETPIuzlYXP0qoQswVKBI4z7HjRLmfBQagXCXj+64LEUaumAZ
+lWWV3zzxZnAk4kzJv51+vESxaMm6Ll5VG18MLrzv3Zi4Ez4BMr7OjbAnxfcgrsIT
+DlwrweCYC7Rq9fWw5USyk93h0kNJ8AVT6CG2a5/LsCztfW4jkg7LFDWWkMISoN/r
+CaR2sJfvy2aijZ33yAWUnEpWZG6+8811YAFdn9g1bnuWLHx9Z7q8VjalzJhVFe9f
+8Mhwk2K764VUL7pnNNYxl4Kj0oTAqVVGDZoMWHCcE7nxqGbzjn8H/unTY0vtK5k8
+BPyuUt0Dtel8fspjlDl5o5VbeBQo6cFBEzZSd5rbavXmtixhL7CGKqCWaHbJ6OYT
+a85W14ndUmRJ5qPdLcYakdl16Uj/DrFuKHOPrulgAbs+hmgm1q/nYdgP/3UUMgaq
+xU6efsiWi3M3pz9nTu0mcI8kpJzvfov7WINjLLu2+yVRyRbS98473Zr6KS49BFqO
+XNQBmtZl77bcz5shfhPxoKLd8YJVayvnBQrjCIE1CACvmJBZGDZSNY0vEa4G+n6W
+T3DwEan6plZ3/xM6s4caZfP43ZZkEiu1M1svQtgzF98HFxAhX5oLyMPwx8R61X0X
+tKxmjVbNrTBwRfJf/FRDmmv5qSxoO2g1gpbCcm2VGoGBvoDws95GvPFNlWUes4xQ
+MclIo01JuynJGLyOaEm19TXu4T36ulCTO/b1lGIOLi+25vpFKlwBrD6yq4yrt81t
+6vGvtI1pZrt1Wcm7hce8CFLrzfzo2D28yHPIsT0YvK7AnwUK/SMKIV1EUNrLIRhn
+TMBnP+BaOF0HxcAYnlRLSwScPx2pATglHmIvNcRkCsfIZQOXjn8lvFXs7lnkP5KU
+F5/+ccsJj8kEdzcsYaczQe3wY2N36ibqRPOfPeVmPFAKPQsUdgx47cAPKTm6PxIp
+73IxceGXbkOXJ7W1lqVPKiwQh09RkwWpMtJA2HSdbmInxBiE71tJqSxQpp2EfNXO
+gWTTrs46lkuW39I7dr0NOAGomeaNnOuexMmlTZy2Rf77BfozRZIZ+RAYlZu5/W1E
+d2X4iR8i76QET6ICFmgxADKzB4WnpeBaBqArzsFNBGW5WnYBEADEptUD7cowK13T
+NYtmOuN/SXPwCct8pFY8U2g4up+c+5YEIqWkAUqVm8Lp+DqdFuX7NbfK2BNojwPy
+iqKlaBAN6Nx7bO9bjSvlbbZBrVJ3mL+k7xrFdTGLeDSSTlEBesj7FXK1zK7SW9AV
+3n45lmOLAXTC13VQ3K0SEXb+69FwXr31/i54NgTfM/1LcJZhIoR6MutHJCSYKuO6
+ZHxYaOdfj48BGSWj7RIEbF59rIEzDR7pBk61fLm/2illTQTxdMGGBeSwNjR4Fade
+PJ0tdReDoIjaQpAGZiUAj5cqeHpmH8ZIoY4fk2SsOinK8cDgse2HnHiiusFr6xx6
+8IycZdp4WrQyGDSJZ1ZKk5QaeAPYE3QsZnImdcV2/kJZS8nAWDFoLtpaNSpONDTn
+1ZYyCi2rWPPF8JiVMkmCxsl+ZHjyNvZHPslRsnGB7EoKDpcjP1cPhl37o/wUYpyi
+LYyE8W+mDNucH4YHLVHq/zQGqO3V6axTA1Ds+gu9tHV/3+yErIqpou19VOfPKJjY
+C7yfzvID58jLZNYFq8IRWQ5VWCOQJWMcdzMKB57S2Zb5vIhJkfl/S5ISMGXDXb32
+nyKVfvC5TmiMbfrszc3DLAxwhqJlAH/xmF2yPP8dYh6KKWSIffVGTm38scs9kkm1
+bVBAR18ilx6dGxVjNSM9i30MMXjUUQARAQABwsOyBBgBCgAmFiEE60wb/U8EL23d
+zOyRdyH2O9OLR5YFAmW5WnYCGwIFCQWjmoACQAkQdyH2O9OLR5bBdCAEGQEKAB0W
+IQQPBv+Gvur05xhm7lIy7lNVprxuQgUCZbladgAKCRAy7lNVprxuQpgeD/9UZ1yh
+68qd1JWjgKv1ABdmChUvTQIIFcB/D4bBXOp2aa7nPghVNbOY8ArlvWoloEPk4wRb
+0NIf2xy27o5U0pn8ssqPyI/uL0sUc5ZlGvJRz6sqr+3yLEPNgALPFhP5lfA4n9uI
+bMSUmRB9d9A05EarZ10tBQerDkDxo+RCgBbd79Lzf2dUEV9ni5mXNozu0H5HUbLa
+7xd26K2+8XbduvzzPIPEYGGhvn6iCfzbRkBdFyPllMbkPprURhMlaS+Kp8MJ6JMs
+Y7DMbCb7xiGj1CykdQmoRiQ+LQJchNw7zYpDESNkg6I2hsoeXMNuJiSVWZseOu0N
+7ROHcJgLvKQhgpXVEARunqa0y/1mrsiXJpCa9arEiu4MsflMvJsFxEmP7OW8A5M4
+Zc2idFowcal36BxSBJRyX4S0tHn6iK+jRZj1LuHASiSqGaBQcEz00xJls+7RNpg4
+FTvWekPX6uwsGUuifxnIYnkIAMt0cZuQYswWbForGNwUOCV9cOsB9AmnuK2Anm5L
+rRRVgYOyQN49p5IH87A95GB2H+QZZS9slefPXRKHDYz4qLOerz4uZIPVEDhTtUml
++BH7tXgKzXDbXgcSn+aR/KJA3II6o/cl2UbOnyNlJPc889FC+t/okUqko/Cr+onq
+SwszqYdQx52NrRYIaUhWKpWsoXaazCVZOxpixaImD/9Z0+sKvJP0Q0t/1uxxASfE
+bcbNby+dZ1NHuSu44G1E/ZGhtigZpZ0W4JBC477tJV+syxYsj3HOSZLxNgMn2e7e
+XCH2pzkuIXNFvQuukUKNnL1MZJ9oLQqzOygk3NeiMHv7jAtkTRJ3jS4gnrcHOQ4a
+Y2BMUefbM80PTacd9aXn7JpEsCnbrRM/Fvepdvch2ICA6C2Ft2+p7gUQX6eJwF0N
+YFqnxJhTRZSmQWtqT7CjZRYKXIQvhIjEP3W9RJVTclt/CuyDseoTRqRAScGz7hzX
+n/VlN59gyCIDAR0xz72zR4gjU37jjNfvwTG5iufUZluuk0tFGsWbLMBxy2be7zTe
+0is17L3k/fgNXesGZVaMvGN4MpASpwRxkWhjtM2l3Mx7eGLFAOC94rOpQI2yKKVO
+TN49hdURSka/efh2U/zVzXhmxb7HSprz+BC7QwLmFTIGEfBqoyOcj/3HFTLIv5oU
+/nFMTvxe/u54scNRqOt+yaq/zReZI46wQ/BIhsvEKxpurgUdzRmndAZzFimtmKGC
+hdZtxbP3rwZHMpkfoUsBc5F5ulkjm/IcySGshWupAHO7kiskeYhtNKf53om26jNW
+lAEAwcFe4PcD5nHUSIyUtjLStSVx2QkdYFSm/hDm3LekSTlcPLOfBEuTvcBmZm1b
+SGfiR027h/rYNBKETXAm887BTQRj7PlYARAAym4Cy/rwGmyldqxkg4GPiLbUwLYP
+cPVKK9fkPwiFhsYvyUMu5e10yo5ktML3cFPvX/3hrI8YoG7wHErFdbM8in1UEBU9
+pvSoQ6wajQgL0OU4OmUHTXudaB8I4iENYu8/EKE9tlbnHU2KnDCwB3voNGjaiy0k
+liwIluM/p3q3JYp44k0QsP2lmSUdaM0HdnisAMOq5NfWx3IoV6NhNCtRA5nR3DQP
+MrcqccFllwX7QmEVl4uSdNhnmWs8Zsfw1C5xYMtieBtFC06hlrG3/7Qrdto6oMl/
+rxY/7CT5/pdyCaqcjWOcgRuhnHo3j/b0aEK2qRqh5HMft+39r48JqY+eePCSOdih
+AtcmXhcKfB4xi6fsxmo6Z6JKyneFyR54lvfmzy6u2KezzZ+uTGmL2VI7+XpyneOX
+xSuryd2LP38ejwVyigbPX5USIHVzikr7VfmxiBtCP6fyRGf8D8UYMRzwyuY23COi
+gVZt1JPghxQuCAQLc3Uoeh+GX8NRB93UGTC1QQf0o9+FEIZcADpQF7WR975LPyqX
+JVivIJ6s94vBzdHs73J0JUYkTvCKpTffz5hamXjU3q5JU+07dI16oqKSxy9BV0di
+7J3XjkX8QxNa4VTlMZaHriLGPMeoDvIdmxoONWGqUTo2MWWRHGpIPTXIeFwJcXqg
+eCErbX24lcXi9g0AEQEAAcLDhAQYAQgADwUCY+z5WAIbAgUJBaOagAIpCRB3IfY7
+04tHlsFdIAQZAQgABgUCY+z5WAAKCRDoiXn7mzCs8kblD/48yE3Wpi6Cw8RBzq2u
+zLdkuqXh691zG6VhHUZQNb85ewGjGDu/D25u2JFrhAcmlzOrxggvL4a8WatPXQaP
+qDZaSh41elM1Ya0C7cNQq7xNVA0pcN5bQ+KXXZMuQaA89BClTSXITz6j4O4pvhAG
+8y8Q2E9Mv7UYas0OhDgzVIry2s1o2Pml1qjlb9jctO9crRUiF6v9Ru9aQkgGHYt4
+uyP3HzKDfoNuzX/WX3O0Fm8NNpnJk6qZsLKwg7ukUdJOIEIbLLNLU9ZYmys3wNtD
+KMfm4T79abSNwNIn4dd5hapH9BAuDJnk4WnFOap9AQZPgJX2WXKC2DXQZeSX1VXp
+I3rr7FSbSec8d5bitw7s20XWyQB2+ZoetRxNgR104GIh/LajtatLKFc9NnP9Smhe
+y8nrxVZFx6HuXsnGOPkbjsiFYMsxtPVYnO72nBDTDP4ZejLOaay2KtCb8pJkCH8U
+0guquDGVd+S02Xx947evyvHqGt5V0yVFPD7uAu7A5QBYXvtctzq93S1jZDIoMP93
+Oe8VpUrXBBfizzHVxP6VUmxM97IE+gjVRqN9PuMrp2D9yEBUGk44fQW5zyuuomYa
+c7Mpx2fnWgGA/Al9ug2uvS4oIzUyLEJxpc6M8RYluacSIjFgCigucRsvTBy6lobG
+1FMvnQyze6+fAeKbbrK85OuA1KW3EACfsMyLwntqn+Qu8r3k/6IRn0i9XV/bhStE
+2y6iHUmqs5sd7dfkmVI7bspoOuDKFIErdTephH09E0hvQDJERnMm+rh8TlZtOS/w
+Yywx+2ahSh5Jt3dI5L48ozR+WJbExiXq8ZqTnpn/EQGQ8MoM+S2dS+czX85ZL+m3
+ig+tKHwaaXdvGcYI3h8WwQnX3IBUFCur8WSdfcoGyiQ4cpTXcI11GgGgkypxM8wx
+xoLVCTttpCBRCpPf8/PLKMCK0/k3u4QShtp1WDDQVhFm/E6ofG9TSGIKcJmsHHQY
+7rukEp6lSIvmL0ZjByRah4nK5zoc2j89sNpyuemZwr9X+V9LOjF7vQTO/8y3cBBN
+Ct0R5lrxeBvRze15k0DzShuHyPhg2PBqfPOS7RnUiF2FeI+zQ7xFnLqoD6ckI76R
+RAf7w0sqnvMlDRpjVU+cDyupR5NdB79oPXJpHltKg4kaQ4O5x6BXHVEpAMhJc8bP
+vmfAiTFac5f0ycibf2R5tNlzbKMD/BxVrzXMghsJ5PWmAiUbqPv1II5kLw51b6Bz
+vl8KzJI0h+ySiUGb86yecfHGbF7zPRch2Kt5+7t0fgEjAVcMRfcgHsfQn8EYP9zo
+czp5Gw7LvR8BBDq1dsTEEEPTDre+HyGxpDN4c8LNGrDaCFdXnOdlNV/zT9VvBk/R
+kV+Tl/Lk4sLDmwQYAQgAJgIbAhYhBOtMG/1PBC9t3czskXch9jvTi0eWBQJj7PlY
+BQkFo5qAAinBXSAEGQEIAAYFAmPs+VgACgkQ6Il5+5swrPJG5Q/+PMhN1qYugsPE
+Qc6trsy3ZLql4evdcxulYR1GUDW/OXsBoxg7vw9ubtiRa4QHJpczq8YILy+GvFmr
+T10Gj6g2WkoeNXpTNWGtAu3DUKu8TVQNKXDeW0Pil12TLkGgPPQQpU0lyE8+o+Du
+Kb4QBvMvENhPTL+1GGrNDoQ4M1SK8trNaNj5pdao5W/Y3LTvXK0VIher/UbvWkJI
+Bh2LeLsj9x8yg36Dbs1/1l9ztBZvDTaZyZOqmbCysIO7pFHSTiBCGyyzS1PWWJsr
+N8DbQyjH5uE+/Wm0jcDSJ+HXeYWqR/QQLgyZ5OFpxTmqfQEGT4CV9llygtg10GXk
+l9VV6SN66+xUm0nnPHeW4rcO7NtF1skAdvmaHrUcTYEddOBiIfy2o7WrSyhXPTZz
+/UpoXsvJ68VWRceh7l7Jxjj5G47IhWDLMbT1WJzu9pwQ0wz+GXoyzmmstirQm/KS
+ZAh/FNILqrgxlXfktNl8feO3r8rx6hreVdMlRTw+7gLuwOUAWF77XLc6vd0tY2Qy
+KDD/dznvFaVK1wQX4s8x1cT+lVJsTPeyBPoI1UajfT7jK6dg/chAVBpOOH0Fuc8r
+rqJmGnOzKcdn51oBgPwJfboNrr0uKCM1MixCcaXOjPEWJbmnEiIxYAooLnEbL0wc
+upaGxtRTL50Ms3uvnwHim26yvOTrgNQJEHch9jvTi0eWzxkQAJoEooabuFEvyaFp
+0f2nohX/bqaG11Q5wZ6jgF4jFGhXkvoVLoeRFlIQyyFmL114T2nL26VDpccC7CyH
+T0UBhkqdf66oVUZ5lrCd+A6ACsRuxJavBAKyv6Rfr+MElDHoIwDyUHryHC75vN8/
+ox5m5NQBHoqAWE6uOUW85R5si5hiv809dypwVFhN7BZBAqHKPrzJYvKD3i/iTH4j
+ID29rw7PufGJR6uVtuqXtPAcBs2OS0DOybedqMbKoFxF/zfeUKoEnLHOtucAiBPP
+0KOaV09EypPuVYhaI7NhIt5oFxwVxYCEnQLVgRJqjfUxEqjz6x835xZPbepj4Na+
+Tbd+yCju6E87u/0l6yZVzyEPfTZauhzv5jFXWI21hQT8PPjRlRnpkHITjg2bJLLx
+yRleIIzKVtRQt+zETbImotVDK2lcc7KwrXuP6KqWu22PFXVsOqeZr33a6C5MB1tn
+EtpYAvH7e3uJ6Yh11ywCIm/rBR3KyJGbtLicRgiTpFMJGg6wBSls2WB3NmFK1uVz
+ewjQaP33vdK9Vvf+HrJ+fUjNpkzGq61J9X4hMcBYlHIuFPt/+1OCIlYjXjaGdidf
+oasbnZcdTk+wHtloOHSwEqBB2jCm8uPiVVYnAPI3ZaHKwm6RL9YVVeO4cIinPlU0
+BrwmarPHk/qW58NUXnHddyfTcu2zwsObBBgBCAAPBQJj7PlYAhsCBQkFo5qAAkAJ
+EHch9jvTi0eWwV0gBBkBCAAGBQJj7PlYAAoJEOiJefubMKzyRuUP/jzITdamLoLD
+xEHOra7Mt2S6peHr3XMbpWEdRlA1vzl7AaMYO78Pbm7YkWuEByaXM6vGCC8vhrxZ
+q09dBo+oNlpKHjV6UzVhrQLtw1CrvE1UDSlw3ltD4pddky5BoDz0EKVNJchPPqPg
+7im+EAbzLxDYT0y/tRhqzQ6EODNUivLazWjY+aXWqOVv2Ny071ytFSIXq/1G71pC
+SAYdi3i7I/cfMoN+g27Nf9Zfc7QWbw02mcmTqpmwsrCDu6RR0k4gQhsss0tT1lib
+KzfA20Mox+bhPv1ptI3A0ifh13mFqkf0EC4MmeThacU5qn0BBk+AlfZZcoLYNdBl
+5JfVVekjeuvsVJtJ5zx3luK3DuzbRdbJAHb5mh61HE2BHXTgYiH8tqO1q0soVz02
+c/1KaF7LyevFVkXHoe5eycY4+RuOyIVgyzG09Vic7vacENMM/hl6Ms5prLYq0Jvy
+kmQIfxTSC6q4MZV35LTZfH3jt6/K8eoa3lXTJUU8Pu4C7sDlAFhe+1y3Or3dLWNk
+Migw/3c57xWlStcEF+LPMdXE/pVSbEz3sgT6CNVGo30+4yunYP3IQFQaTjh9BbnP
+K66iZhpzsynHZ+daAYD8CX26Da69LigjNTIsQnGlzozxFiW5pxIiMWAKKC5xGy9M
+HLqWhsbUUy+dDLN7r58B4ptusrzk64DUFiEE60wb/U8EL23dzOyRdyH2O9OLR5al
+txAAn7DMi8J7ap/kLvK95P+iEZ9IvV1f24UrRNsuoh1JqrObHe3X5JlSO27KaDrg
+yhSBK3U3qYR9PRNIb0AyREZzJvq4fE5WbTkv8GMsMftmoUoeSbd3SOS+PKM0fliW
+xMYl6vGak56Z/xEBkPDKDPktnUvnM1/OWS/pt4oPrSh8Gml3bxnGCN4fFsEJ19yA
+VBQrq/FknX3KBsokOHKU13CNdRoBoJMqcTPMMcaC1Qk7baQgUQqT3/PzyyjAitP5
+N7uEEobadVgw0FYRZvxOqHxvU0hiCnCZrBx0GO67pBKepUiL5i9GYwckWoeJyuc6
+HNo/PbDacrnpmcK/V/lfSzoxe70Ezv/Mt3AQTQrdEeZa8Xgb0c3teZNA80obh8j4
+YNjwanzzku0Z1IhdhXiPs0O8RZy6qA+nJCO+kUQH+8NLKp7zJQ0aY1VPnA8rqUeT
+XQe/aD1yaR5bSoOJGkODucegVx1RKQDISXPGz75nwIkxWnOX9MnIm39kebTZc2yj
+A/wcVa81zIIbCeT1pgIlG6j79SCOZC8OdW+gc75fCsySNIfskolBm/OsnnHxxmxe
+8z0XIdirefu7dH4BIwFXDEX3IB7H0J/BGD/c6HM6eRsOy70fAQQ6tXbExBBD0w63
+vh8hsaQzeHPCzRqw2ghXV5znZTVf80/VbwZP0ZFfk5fy5OLOwU0EVwyNyAEQAKsv
+2AeF2vqBBfhkwDmyWnrbzE6scKx0s7nhY109Ep4UdcmpJImLd+zwXEFYjgWd6N4p
+QZsX4ys6UWkqoQvFoyN7tvBnJqneLPO1kezM/diY6hMEm9EQYp0KQvzZwuwKFgP8
++uATxyu+SFKer169ywoCfOIzGD/AMIKFQvcS+qjb0F6gHzV/4T3CStRMwJP+RXG3
+ekZFqUpfRSGu0qumbzJF+O58l/COR3CC+KeREZnYatYePgvMxuL3+51holnrpjDS
+ERThRLFQH2822ZIWtvgQH3VPauFzrx2BDiNgEjsrgRtvxdpYDFv4gCrfWXVSSIQD
+fYXipQygvqsKEHjLqcfE6dO+z5cRvlMHBdWiCMtEpNCzlT8dX2XuP4cByGTnLeKb
+Y3ZQqYzEeqi289llRk91oJHFR51B/2BHTItlX5T0FwO7CPMv/OOu2E1liUQYnodn
+9MtJOnh0Mf65e4uoxVbLmKq4q2duuc1NC2/m3AP4COmDLrRgs4n1hqIngaOJ86nN
+KTzd7Wsnen+lfoHk1ZCKdUtknPHJ46iHeIyN2YINKcRcusKZi/mDqPJX9Zt3gZgW
+4wrxNPv49B1Ytxtn8vFznDSz5zv5/k5+Ypc7ko8eedSysXkMFopE+NJynB49CK3F
+4iCVSAQwOQ2u4GG7U/MLF3cG1eC774rdZ2gfdVyDABEBAAHCw4QEGAECAA8FAlcM
+jcgCGwIFCQWjmoACKQkQdyH2O9OLR5bBXSAEGQECAAYFAlcMjcgACgkQE5e8U2QN
+tVFBJg//QTCvdPt7SyhPPyDhAkstWpkNl1fwh7PTiJ00e68C7QDB1nbCXQL60yQP
+uXhHZojoEp7/3A+d2T80l75lhwP+7PKIoglAPjw+uJ82fC8e70DzSsTgGmlCemUQ
+16GJttZoY0lA40YUnHtBNiUWNLks2UbUBfqZCPG9vjbfM5ZI6YRqZhdgGZjIwbq+
+Sv9dM/OyV2TLxcW4+slRmyUv9aXHfVdDUiu2Qcc5ipbCvSFNznT/Y7wfR7CX90Fk
+urcSaKdln62xO6Ch/SPhJvFiGmXD32cbBs3W5fLgvz91Y5Redjk6BpMpk8XXnNEz
+Fc30V7KUFVimnmTOt7+tEjqZDaVp9gd1uO93uvIcXkm9hOhINd3SbMXacvObqPCw
+7zjtk13kZ1MPr+9x5/Ugm1rWdLAD+GEu2C2XPr+02dyneUR0KMAzHb2Ng8Nf4uqz
+0kDFwke5+vzajrAz1MXbhDytrw1u8Hreh1WJ0J+Ieg6wgUNStrMfxe5pDPJmQjRt
+vMuaAwC8w7q7XM9979Mrot0mDsB4ApJw4lLfwPmabBoPVsAGvrt5sD9fkd1qiZIM
+pV1Rhp7B9MYEiytaYKYql1v5Z9fih0Wk3Ndb+qySIGnlZJ6wq83VBSQslkNkPWTP
+b75e6XkH3uzkvEtMtHC+Aug1pQWveWd6PM0uB0Gl/oWeQDn2zJFS4g/+OIBna4nN
+dUo95EmowYv5R7YeJUR7yKZrdJAhx6pbyMpLtzs2Jzp0xbGCcOmTm0mZWOuB9zRr
+1zUVjgaiZQFtkWP6Pvf5ZGTcRpUoiy3L7HPjz6uUmN1gVUImjQmnruOONc63oQ4d
+OeI4D8A23NEjMMydavAlnsDEIYnhiMtKGRxEz1LfRfSK4CTE0gtf75I053xqpzZs
+Wh/JMKRxuToIhzVbTS99+/VAZM2Oy02lVKX35tGaUkOolacMaTk2Xg1yp3xfnVXS
+1gSDpYQrg4zzfDHkTD9N1NGrmMmRsK7YZg1o002BdbttdK9PlUg1u4/p2ZuLX/yz
+SMolA4QEjdHHGgH7TUODH1h01+OwIzeG9C/KRpYwAt5kinNtfFXXXxj1BBQhF7Yv
+7hdkAIQCFaOPYrXA/s4MZNCusziriwjDWXeXvI71pdc3uWKQAB11PhYSkZXQKKit
+F44nXL+wolElIj+ek3VQrvAxrNn7LOHE3SrMbyypEQolCc264ZBD+ogZv+h7h087
+QWKEBQaRahrRuC0ZWKM3l9BJsxtXnSRlippr0ac1BGdyGZlv6krbEtwrzmEPWenf
+v8CbmjaCCg42PeojclpEexlo6zWo9BzJ3jo7IgVSkckh+Tid7MMKhBh33dtZQaoP
+DEj+f8Kx07TfrnKoM78AOxx6GVWp0C6lW/bCw5sEGAEIACYCGwIWIQTrTBv9TwQv
+bd3M7JF3IfY704tHlgUCVwyNyAUJBaOagAIpwV0gBBkBAgAGBQJXDI3IAAoJEBOX
+vFNkDbVRQSYP/0Ewr3T7e0soTz8g4QJLLVqZDZdX8Iez04idNHuvAu0AwdZ2wl0C
++tMkD7l4R2aI6BKe/9wPndk/NJe+ZYcD/uzyiKIJQD48PrifNnwvHu9A80rE4Bpp
+QnplENehibbWaGNJQONGFJx7QTYlFjS5LNlG1AX6mQjxvb423zOWSOmEamYXYBmY
+yMG6vkr/XTPzsldky8XFuPrJUZslL/Wlx31XQ1IrtkHHOYqWwr0hTc50/2O8H0ew
+l/dBZLq3EminZZ+tsTugof0j4SbxYhplw99nGwbN1uXy4L8/dWOUXnY5OgaTKZPF
+15zRMxXN9FeylBVYpp5kzre/rRI6mQ2lafYHdbjvd7ryHF5JvYToSDXd0mzF2nLz
+m6jwsO847ZNd5GdTD6/vcef1IJta1nSwA/hhLtgtlz6/tNncp3lEdCjAMx29jYPD
+X+Lqs9JAxcJHufr82o6wM9TF24Q8ra8NbvB63odVidCfiHoOsIFDUrazH8XuaQzy
+ZkI0bbzLmgMAvMO6u1zPfe/TK6LdJg7AeAKScOJS38D5mmwaD1bABr67ebA/X5Hd
+aomSDKVdUYaewfTGBIsrWmCmKpdb+WfX4odFpNzXW/qskiBp5WSesKvN1QUkLJZD
+ZD1kz2++Xul5B97s5LxLTLRwvgLoNaUFr3lnejzNLgdBpf6FnkA59syRCRB3IfY7
+04tHllaPD/9jlUs3zxXz1ISUsM5oDV9lrFuljfdcLW39KFKTkSuKLYyRE1E77q1R
+z4p+O95kgHiMqczDtaR0ukNbsj4+RJvMewYBs2tYQS1E70yKUX0vieeIaGkC+lxp
+6xN/0CJfwMRiuWqnPYexKrE24T3JIOgRC1rnioNT6QhlrUNYoAnLE1Lf5ICeeE40
++3VMrhQgGqVYGOpTJRLWuHSGCXW3kFpGUdON6Oru0dB72B5dD9d7YQ+NYLoXWbDz
+WoepJuYXeyBF7gTaPx0Xkh54iMwiqJaSJCcp/V9YPkiieWkOjLxXdi+KZKiSrfpz
+b5KEFyE8PchMQxyUkAoV+UJ8HniaFNEtkHOlvYy/asjsN1PrLtv6D805NsUbtQsI
+mC3jY2UjWIVPQM+/ArLza2VFCgpoma5JjfLUZRRabN02hf36HcLmH1jwv0fVqSm7
+Wqo489z6lx2G4eTclEVcPxKrzMtcj9uj7EJ+NbRORG53Zej9mM4wGUCyjU3OfOAV
+6u06o+eY3nh/7Etl17+YBdkvrZvfjcMrmr5dZguQjWi/im5F+sPzmnSDVDgK0Fth
+wtUsKj9fOHzfXCQsdzXgduJCoPODONqkD1DiB34rtEdOiSmj1om5PVgFOrLEC3K2
+0bOTWdMkqiVlNLaUv1uGZc9WI2LZ3HtFQG89uTgAAmdGnSp1oCr/Ds7BTQRYhr/M
+ARAAra5iu3Ndg38ZDwCUg9dlWp8Sy7742FtChFisTekzEUAmsC4RsBX+xSzaWm/N
+vQxTIQXDVYCfGlNGCCLvXx66CGhovm5AZA5ElhIUk5WGuiEnwZ+mZPQBgVgf0iHp
+Tp3LgHCPyJOgXQ8yF5wze3F7DIFdape4yG3W7HV+t8GRBcKm2oi9RlneAVCoY9B+
+OmUxFQS5dDHxzZWJfl94m/VqUUuogQBjlrPCqsOcVRO6CZvQw111jnT1BPPxVbYv
+m5js/iAsEBE2PSNhJsjV8lBt4mirNO1QH+0jx4YMgRJDJ4LeWRnB+ILNZtpfxxUN
+ErTRTYV7s5R70IQ83fTNZ6qbLRHvn/AGTIMjZzPrhhyavVVbWjZ8LTA2rLbzZFDr
+PmrjF2zcLJecvzumT1+SOSLyZlIW0odFDoLhjySlLv25eubYXmoc+BxgQNEOZ84D
+S11ZlOmonNeN4oscTJPv6gOfSOinpYFho/UATwB1OvP/yeHTxbZbESme7yNLw9eM
+JzL2iRb+rck0oDXVrEDglovp9eqxnzMdSzWUztWzukxOvmS7rznIRiU2D+C2wnli
+y/Kg23X896Eih1KcmpRCyZY84p+q96qAN06r6BiuTlqxaM7oVq1rd7SLaOd6Cd+L
+yQrEWdKryg5/T0F/a96OeoSoZ/Bvc/1+bTZX683kmIpFkHEAEQEAAcLDhAQYAQIA
+DwUCWIa/zAIbAgUJBaOagAIpCRB3IfY704tHlsFdIAQZAQIABgUCWIa/zAAKCRBk
+lMbWmXwhXluJD/4mavm5UQ84EczsNesfNL8gY3zzlCnfvnUlJHK+CoYub4wcoDXV
+UlnCmWgSlZHQZgr3/qfW2MM3y/kXcbxhL/FijUzY3WlnCdnIVNjuB+QJt0LHbkP7
+En/o085ZzHuzaXxfZ97qN+KPsRBTjnJ8hd3B64cVjgnXva1+pG51EK4iDF2bXiWP
+HvUbPiL+Og6C9XjpWrwIA1CWyH/4i7dtfTnbViO2aqKQNHfrXJ+xS938Lr8r5+Vm
+UWByHqweBGIASOmwsJeSUHozkZYbmMdaJJ8j458zyfS6LO+HIa3+zhzidOoiEH9c
+5QvVf54gNsYjPTcHj7U0DgkxCVQeiBKBLR+q6M6QHa4qax/X0Z2ZCcSDTZwqGJNa
+KfcFYd8X1B2zgrxkGweeHKjfmpqfXRKrggHumLdVqHU7KS9cz1yeTL+Nw7ne+kzR
+MEA8sLnm4ODRUJwUz12RqS0GG1FYV0rjJVWVzRFMfMUs+7xAptEuMdoddkQSmytk
+XyOKAqv8KQ9XUEbGWikmCxW2cOY9spOpwQa7X2oXe7FlV9RfmHYrG03k+YlIREgF
+qlvWwsgpzURculd+CIFvT3vci7vFm1UiQBb5wC8bHOoRsr7OXW1267lipouZr5Or
+QhVnRZQVa64cdUIKjLXEt4790uxh8ggNwktZRILIn2JHjgEQICdYWeQb1Lq1D/sG
++upSIQwdFPTbhXSVE3Opzv9XMt4vZhglaKsJk3AdQSfRNYZ3DFD9fzL6wIJAQawF
+iYg9l4/UFf7gaMwO5y8a1e3H9XXvTi4B+HjRH19ucY/AQT2J8lch7MpOWRw4Y4/U
+mrq375RVmItd4uYnjKci1SVePq9lotcdVIClQJQe/LB2J2w80qBzywXCMbSCqd9C
+ydDxJGrfEhuxtsILb9UXYZnGRAVdObzJ6xhjvfdXvqSs0TT2B/Kw91UCiZb2hcLC
+bgU1uNoGdyn6VDSiNroAnJ0TaaBxVjQq85SdAhSOPCzJZlErPu4v5fkBpXmiykMU
+UzTaQJnry60u4GuCKtCBKsXsulVukUpP2dWd+yfAezyEkkdK2Z+k3skIBVn/xTi8
+OjrcDqrhpjHhkqo9lM8cm8oLbL1Gc9AcWMpqFhXeBfLKeN6C9k11Olqe0CKQWhYJ
+En/1EMX0esHEN4r2n3ktZYPL1BbjH7jC7aOk9CYmcPLikrg1pbUkXhfhV1Z4WsM+
+9gWTMvESKLIRnaVh5/2Gzei/iTrsWZ75DAGb0i093NB+Fwg2LRHytpiTKg9sp1+b
+RkfBctxgGhI4cd+k7804wl0ZifhZ5Ultae+8flIxVBXKWPLJL/n9Boqd9IspwG9Y
+aAHYmyA2m+tdjlov+L19A2jOrevFKvK7Gm3iWLGRuMLDmwQYAQgAJgIbAhYhBOtM
+G/1PBC9t3czskXch9jvTi0eWBQJYhr/MBQkFo5qAAinBXSAEGQECAAYFAliGv8wA
+CgkQZJTG1pl8IV5biQ/+Jmr5uVEPOBHM7DXrHzS/IGN885Qp3751JSRyvgqGLm+M
+HKA11VJZwploEpWR0GYK9/6n1tjDN8v5F3G8YS/xYo1M2N1pZwnZyFTY7gfkCbdC
+x25D+xJ/6NPOWcx7s2l8X2fe6jfij7EQU45yfIXdweuHFY4J172tfqRudRCuIgxd
+m14ljx71Gz4i/joOgvV46Vq8CANQlsh/+Iu3bX0521YjtmqikDR361yfsUvd/C6/
+K+flZlFgch6sHgRiAEjpsLCXklB6M5GWG5jHWiSfI+OfM8n0uizvhyGt/s4c4nTq
+IhB/XOUL1X+eIDbGIz03B4+1NA4JMQlUHogSgS0fqujOkB2uKmsf19GdmQnEg02c
+KhiTWin3BWHfF9Qds4K8ZBsHnhyo35qan10Sq4IB7pi3Vah1OykvXM9cnky/jcO5
+3vpM0TBAPLC55uDg0VCcFM9dkaktBhtRWFdK4yVVlc0RTHzFLPu8QKbRLjHaHXZE
+EpsrZF8jigKr/CkPV1BGxlopJgsVtnDmPbKTqcEGu19qF3uxZVfUX5h2KxtN5PmJ
+SERIBapb1sLIKc1EXLpXfgiBb0973Iu7xZtVIkAW+cAvGxzqEbK+zl1tduu5YqaL
+ma+Tq0IVZ0WUFWuuHHVCCoy1xLeO/dLsYfIIDcJLWUSCyJ9iR44BECAnWFnkG9QJ
+EHch9jvTi0eW9zAP/A0WYtLO0i0MGkIia0+xqwArCDI2KOkmqVFcQzBdvEHwDVvN
+PQDaati3rfsgA5hIm0oKYg4ju66uj72Jx5j8sZk2xMDLZtWw4tI+ef08m5zTeoZ1
+KPBfqNMsAiY36E/Bg7gV+dDg6DmFDJiKGMMjM/1LTYvIh7cUwT0eW+5dVbfBH1G9
+8K8BmuIttpo4CylOPYezsotVWGUazPtIZa5mixe/bU/ZrA55/N5oKvann5CblOJw
+alF7ovwmOW/LyVwvvLQ/qtcAolDPLr9iybP+ScivNMxSW5AVwP2QmLVNCyRKVH+x
+42yAHQjA1o6XOI/iMo1PgMb/jZDC4GEYWmnZz0Vc6mPH9k9gbPhEFpNoutQVUDKm
+pBrcAViDAqdn5xgwsSC/xQjdZCANCdIfaJpoTIGXTiWgJLbHXa/y8FYf4XGF/DH8
+veLz7PhNym+joosD5JDerpkL3RWvUYYfUlDb5rV8zKN1hCy6G7b1Sgvn3RVWrQ7C
+bq00SiwyhLz40sRZSf0/LfciLUwQGe/mm+JyYVqBG85FU4DYsywiTZnQBLYimvXR
+GTmZdA1ZsQYQdWqjHxwN0uVIWV5hgR8Ahej3KZzNwuF2NjI0P7EcXRWu/xxQSjjt
+e+oeh8ro0PwMjpZZryQgoPR89FpNLY0zBbJwG4e3QdhkzUMATWetIFAlkfphzsFN
+BF01/K4BEACskZL08crrKfX2aD2w8OUS3jVGSW7K10Jr/dgl6ZB7Xx/y3c9lhBim
+7oRIsl6tpR/DBP50UnTIgBbvynbJ6tbWGptt64AznI7el9pH0k63DOKcfqRUgJKT
+M4OUZSkcuqQ2qnkvn+g0oiJ3VhaVYOJdJfJF/pLj5Oi3UEL2afoEd048/lZEaATR
+vEqLj+h2pSfETEl5wCWyRnuMSu6ay9NmVzRxiJhPDGW2ppQTxJuaKj+6Vqw5WISu
+9nsRxTPE1DW8f7LYyPBwgultuSYKZoCdfoYE8ff471oZIuCKcGSSBHQbR6MBTD6K
+JtqzBzpfJ8zZJmVO4lg0CJgp9xX2QZ8hPkpaBbnq2JCMS1zriCMN8iGhW6ZHYmZQ
+JtWuubuZt51VL9QmEUUhCF1t+3ld11SaowY4NFKILUdYbC2zAOQIEEJkWRIHKleu
+c2zYSNSoXl06oGgwCKQb5l+LlcYHx4+/F3+KzyAq0NqBC1rMnhbn3tcckdZyhLEp
+nx9/y33ypo6ZZ0s6dLGrmSpJpedEz6zr8siBa4uT3IvVF4xjfpzSt3cMD/Lzhbnk
+5onUfkmoCmQ/pkuKpMr35hHtdDxshLcLPFkTncMjEVAOBToHDbKDSplueyJm48EL
+Pi9ZmuyNu7WsB8TWVEAkUShxdeHALVpY1D+MjXK+Z5ap6/tppj+fmwARAQABwsOE
+BBgBCAAPBQJdNfyuAhsCBQkFo5qAAikJEHch9jvTi0eWwV0gBBkBCAAGBQJdNfyu
+AAoJEHi9ZUc8s70TzUAP/1Qq69M1CMd302TMnp1Yh1O06wkCPFGnMFMVwYRXH5gg
+oYUb3IoCOmIAHOEn6v9fho0rYImS+oRDFeE08dOxeI+Co0xVisVHJ1JJvdnu216B
+aXEsztZ0KGyUlFidXROrwndlpE3qlz4t1wh/EEaUH2TaQjRJ+O1mXJtF6vLB1+Yv
+MTMz3+/3aeX/elDz9aatHSpjBVS2NzbHurb9g7mqD45nB80yTBsPYT7439O9m70O
+qsxjoDqe0bL/XlIXsM9w3ei/Us7rSfSY5zgIKf7/iu+aJcMAQC9Zir7XASUVsbBZ
+ywfpo2v4/ACWCHJ63lFST2Qrlf4Rjj1PhF0ifvB2XMR6SewNkDgVlQV+YRPO1XwT
+OmloFU8qepkt8nm0QM1lhdOQdKVe0QyNn6btyUCKI7p4pKc8/yfZm5j6EboXiGAb
+3XCcSFhR6pFrad12YMcKBhFYvLCaCN6g1q5sSDxvxqfRETvEFVwqOzlfiUH9KVY3
+WJcOZ3Cpbeu3QCpPkTiVZgbnR+WU9JSGQFEi7iZTrT8tct4hIg1Pa35B1lGZIlpY
+mzvdN5YoV9ohJoa1Bxj7qialTT/Su1Eb/toOOkOlqQ7B+1NBXzv9FmiBntC4afyk
+HIeEIESNX9LdmvB+kQMW7d1d7Bs0aW2okPDt02vgwH2VEtQTtfq5B98jbwNW9mbX
+TvMQAKKCKl+H8T72WdueqgPKHEkXDZtJmTn6nyneYlETvdmHGEIb1ejxuJ5URlAY
+nciY+kvSQ/boKjVHNGmf6+JBexd+HqPhkeextV6Jcnmi47HDvIU/TSynhuqZeK/3
+SZAV7ESqQl42q7wm7Pqw0dkv4jjFCRxDA+Qq2aH6szJ7DZxTRWqfR3Zbe78NyFVX
+KxhFQO72zHzC3pFu/Ak59hmTU23yoXVo5t+5O+Q21kX2dbuLd6Px1bnT+EmyneoP
+P1Emea5jgsw2/ECqHnvNt6cbp+42XYldGh+PBHBmucC3Mn7sALajHe5k2XkNlfbj
+SNlmutxQFH1qq9rh/JVyxJNHeGzV5G0timAwfdJFUzE1vNU5P0w4O8HrCsX5Ecfg
+cw2BQ9vPCE3OfG+11xp6oiNMRVsR5pTu7RiI1BQAyICWUW/wXuhhHkkwNTiwfciJ
+fVA8ckOiRubik8geEH5boOxgeAaBu6yusQVHnRRyG4wjQ+qsWo+wDI9WMdtpNG1t
+oJrSUL4OYa4oX3YogSv5hGrbYIaP4HwO6O2oTMnS0lRIGJOqbEQcmKUa/nWT/3Ni
+pTnYzyMjMlEQe89YKjd+32tjMfOSdIOvwCGaTizdWnKPF77qB9D0v8C/7AdHmEFq
+f2ZX8vK31aaY+ZpPWG5IHlf6f/buIMBalJOxIBeveBqxcHwQwsObBBgBCAAmAhsC
+FiEE60wb/U8EL23dzOyRdyH2O9OLR5YFAl01/K4FCQWjmoACKcFdIAQZAQgABgUC
+XTX8rgAKCRB4vWVHPLO9E81AD/9UKuvTNQjHd9NkzJ6dWIdTtOsJAjxRpzBTFcGE
+Vx+YIKGFG9yKAjpiABzhJ+r/X4aNK2CJkvqEQxXhNPHTsXiPgqNMVYrFRydSSb3Z
+7ttegWlxLM7WdChslJRYnV0Tq8J3ZaRN6pc+LdcIfxBGlB9k2kI0SfjtZlybRery
+wdfmLzEzM9/v92nl/3pQ8/WmrR0qYwVUtjc2x7q2/YO5qg+OZwfNMkwbD2E++N/T
+vZu9DqrMY6A6ntGy/15SF7DPcN3ov1LO60n0mOc4CCn+/4rvmiXDAEAvWYq+1wEl
+FbGwWcsH6aNr+PwAlghyet5RUk9kK5X+EY49T4RdIn7wdlzEeknsDZA4FZUFfmET
+ztV8EzppaBVPKnqZLfJ5tEDNZYXTkHSlXtEMjZ+m7clAiiO6eKSnPP8n2ZuY+hG6
+F4hgG91wnEhYUeqRa2nddmDHCgYRWLywmgjeoNaubEg8b8an0RE7xBVcKjs5X4lB
+/SlWN1iXDmdwqW3rt0AqT5E4lWYG50fllPSUhkBRIu4mU60/LXLeISINT2t+QdZR
+mSJaWJs73TeWKFfaISaGtQcY+6ompU0/0rtRG/7aDjpDpakOwftTQV87/RZogZ7Q
+uGn8pByHhCBEjV/S3ZrwfpEDFu3dXewbNGltqJDw7dNr4MB9lRLUE7X6uQffI28D
+VvZm1wkQdyH2O9OLR5YsPhAAuRTTsJAAcWWdQvCuMFA5djnu5nsFUYVTar01kuLo
+m7xWse/Bw8izaipn4vskR0kLAwJCq/Rs5gXNQzmm6eFfiEcI9LwAx23KcKBjOxCd
+hqP9EbXWYkz/fAfAzAArtezcIzNZeRFBMaoxhHl6d4xGRjEhPL6o6vHY5L5fLOZl
+DI9PVqY9xpeOuDTUP4JwdD/9rKddU9AVW9rt9szSySodGT/UMV098/d1ATnok/Qc
+0YahTMpdOMabea6mA1HYi+8vrWQ0dvCDWWe2mLArODZANthYepyN7+N1LN/Piq6K
+7tPYqSxPAOX8dxuS8TMLViQPs2YrK65MvOiWBBTlCxqRbiq5JT9m0cmh3j4zHqjs
+w2Of5+bp6pOPhGQD1iDOCxTsA7Uw9QVprg3aT/0Yz7j2VIaDEltKf1b/xbgQJ6YF
+UPQ/5FyN8WgMSoGj6fgM0DedHQqLJp+uN8wBq2U4iAyKdVbV1URQFYpzf5myZKkC
+b/MzP8dG3OhFDW/yvAT/ySafseQ9dw47V2FBBvExR8+mCmXvUM5YSua2WPxbbcKr
+8iryCmp1xIzn+f2s5HThpUjeme+BuJdtrbot8twjPr5ka5TIgWy5Ak7j38PK0urs
+4geTaPD2AcKL26jb6ZvnRjR8khU7zciYc1prwlbfBWfnOLajpsHfw/n4aJ9D4ONm
+7vnOwU0EYXgMnwEQAKTYbBq76z+kqY5OcYsycHfJtCyJUYtGGzDZKpJO9LIG2EDJ
+bVQCp1Go0Dz8V0yW9W6mkbz68Itc+ak/rcL70za3JB45HZpVCn67UQjA3iU+7jCu
+Hq922BJGKby7EF0sgcbXrPTHFWETasz863+C5x+SmgTDbz1VpHuw+YjF9VObVByo
+IaIVCXetmeZroHPxQ5cmgTzA74srlaRx2YXPr5ncEtJvkgv2WGwCsVOg2rl03ZJJ
+NsJN0dHOtG6gJ159gd3GgsIziQl+CBFGBaEqgQmuj5mKkRKrVPnIdX+IAnL7cO4L
+wttgu+yO31VlgBHDzEgZv3RWPdOFa4yhWv8hWYpPt+gLlaF7Q9Mj9vZ+s1pYLHEL
+hxFXEy6yIFfrqZyVDgy/PCPnQbVYrKBQthy89DzVODSm+BMqqDHAv2W430yINW2S
+f0JnHs0WWzNWv6JzudUmMA2cl5sUcIRl8ltCji4jAp9huGilSQJrjWJel6xtXMAq
+o3B4+DI1MAwXJieMBQTwVVSbHtklVvXmIRsyzfyAkon9ZvzC0lF+UB+SGsTOHUz/
+jdZQBTdF8+ZdOsZ7IMJgpMeJdOePvjy4fpTjSwH2r6p4SFl1OPQq5+OC1ZoVaxlO
+RWu0Y5ojrF9fqnL+TeGNTd6z7t10SXGE8Fyo0TemQ9Gpv3DP57FJ0zuGJTM3ABEB
+AAHCw4QEGAEIAA8FAmF4DJ8CGwIFCQWjmoACKQkQdyH2O9OLR5bBXSAEGQEIAAYF
+AmF4DJ8ACgkQTrJ9sqO4i4uCCQ//Ug1HJFOguZjWaz0NNYxDSXBsEvwnfG7+d4og
+4pUY53D3NxaUa6BSg62FJtPxuO+7JsfVWPHjAUz5ye4xV+MPnxe7pmmAIc3XBdgy
+7NjB4EUpoyDihLBMq4AkEnYiF8Sb9wCvJW8pjbNj67LOCLPHe8CDeyOQA8NytIIk
+/aeS4dwnefNRso0COZ0yydYOuqplXA/32e7IyTxsC255nRIq8ikK/bAh5g7vOSPr
+W+5A4U4aGX3w4G6LnBSG2BDD/96xNZiIY0pKYPd16t3YkdUDTW0GYJZXgowsNuDc
+JwwxDXHdXWZ7oQbeCLAEvUj3FOwFRsRrp4Q31TTN0q+gxtKiA43nAK7EDM78JcYy
+t4m0FS6kcRzr2hO7B7jboiGLcBtGs8CDe2cYYUK3XUehAU2dE9Zve6cXxSUDatLK
+2/AXJCLenMFi3lWxMgDs0Qca4mz786ivoA4ifOG3VynsB+YMZ8bLY3mjD7gYjoU9
+7ZSoiDb6cWIav2FFk69dGAtAvx2UOcUKHKaV3Gb8n9QV0kZJZGV0QOw+vMdARIq+
+xX0SOclBHmnnORArqPHTOpKUOCI0bYZPf8JK/Ah0KKHoKX0dOEe1g2bdlg3RtT1b
+aN6guHcAg01NyunS0Adm5AsXG6RuPno7l4H6d+Trv9faI2KLjpl0lA3BtP1g3oKy
+1DP4KeqDtg//cbpjo0chCCBeeVgiLeLA3vaESASrPq8hErzuUEZbavd5DRwNm4Tf
+7lDgVhyLD4HZEp4OGN2Y8fKkDmj5GIDIjsk5nAlqWoc7efAkbmyvStHNwmxsa+lv
+OyjYm5PJNRG/i0E2rjlv3LRB3O3k+k2s8ltAAMlaf4daxtUkHmBYFN2hBiCnJOvz
+idDKxxYBQVNFuYe+2MIJ8t29TzAzu5sBDkPCLWkAFG21EAy48D3gfNoEXnJeSCHE
+emdbQhxcaLCByH0tDJo71VJGGI8fqvlm6Tsq8aEemHtILkmBSf28maanXNx3SZdD
+ZmHwzzUndGLeIY8czYKqmUDFc1siufO1sQmE3Yj7vubvdnh34rWK+DrFCG15JmHC
+HHv9ndOX5TaNg4QUif9QWZXdTFFIlr+NBFyO8wqmtKni0BnbIkjdtpuNFuLGBQS2
+UrXTn8l6nFwB3D2+izE7+tHtWoLO7Ryil3ELQYAfyiD4D3/cs+GVEbLdCF/OPL0k
+dYePgQiyiXTYFLz51a8Chh6uS970736Hr8HnAz9ieD0GNP46s2+R+aorZyykFfBh
+506sLi5ZxSa54RWu/k/gUXfrAn56O89Lq91PFVN0teOi5QfBNBBlWU2NZjdwjKPT
+ednX1z5vfT7YXMb+5Kdv949axEtjsjLPjKCvx63B4E+cQi+PCkBnE67Cw5sEGAEI
+ACYCGwIWIQTrTBv9TwQvbd3M7JF3IfY704tHlgUCYXgMnwUJBaOagAIpwV0gBBkB
+CAAGBQJheAyfAAoJEE6yfbKjuIuLggkP/1INRyRToLmY1ms9DTWMQ0lwbBL8J3xu
+/neKIOKVGOdw9zcWlGugUoOthSbT8bjvuybH1Vjx4wFM+cnuMVfjD58Xu6ZpgCHN
+1wXYMuzYweBFKaMg4oSwTKuAJBJ2IhfEm/cAryVvKY2zY+uyzgizx3vAg3sjkAPD
+crSCJP2nkuHcJ3nzUbKNAjmdMsnWDrqqZVwP99nuyMk8bAtueZ0SKvIpCv2wIeYO
+7zkj61vuQOFOGhl98OBui5wUhtgQw//esTWYiGNKSmD3derd2JHVA01tBmCWV4KM
+LDbg3CcMMQ1x3V1me6EG3giwBL1I9xTsBUbEa6eEN9U0zdKvoMbSogON5wCuxAzO
+/CXGMreJtBUupHEc69oTuwe426Ihi3AbRrPAg3tnGGFCt11HoQFNnRPWb3unF8Ul
+A2rSytvwFyQi3pzBYt5VsTIA7NEHGuJs+/Oor6AOInzht1cp7AfmDGfGy2N5ow+4
+GI6FPe2UqIg2+nFiGr9hRZOvXRgLQL8dlDnFChymldxm/J/UFdJGSWRldEDsPrzH
+QESKvsV9EjnJQR5p5zkQK6jx0zqSlDgiNG2GT3/CSvwIdCih6Cl9HThHtYNm3ZYN
+0bU9W2jeoLh3AINNTcrp0tAHZuQLFxukbj56O5eB+nfk67/X2iNii46ZdJQNwbT9
+YN6CstQz+CnqCRB3IfY704tHlsa8D/9M5VgmDrDR+SHeEmbDynvIpnrwm495b26E
+2D3OLuh7228G2Ki3q8z9mo1kgnVACuAjKwLrxYpXaOJOgjoelWmXYgzsLCqCX7Ol
+XeaLneWvo0Z7/PqJLUQX+TgFXN0S3wRtUQvaiPPdSUzoxq01O3QSa0Y0VncvWEHf
+3qTdiNEVbVGiZcShC6BY+exTxEWYIPsqJooXgQESvny2GP6BU8CSt/ird63ZwbVH
+laRIi+lY1Om6ryKVBvj9LtuwLKXGnIA3sIOffrYXG2OLZ7HaOg0mQUPdmwT1Rs6V
+zxIaUP72TOtwhvKrGX0NY8PNqL5kp5Cjy5wUEWmxWFZdAwpdbmB4NuFKeusOi4/7
+U9l2wngX9p+eCvR6FDFfX+/6S6E2tHRN1GCNSuBi2XafssTL3lBIxp4dGDkwZqAb
+aXculHXo7o4pesWx9oC8GyAhZvm6ClVsM62Asn5edQEoquXZqkMHd7TwIPR3Oqrb
+2fHLMMlsjTkKWaNJsr3z2iqx1mvbthqkJnhgcIXJFycRTP82rtMsejTJEhSOPZE4
+JcNAO+63JpSVAEEHqF5kyjJejTP9wFH7y/EH7vf++JIKBSPaZkBZMgbXEDAngdvy
+UPSvcsD4Yv4CHm437XzICkLE1vv+jZdcmfKt/Mtp9SeKf2nFZRXNij4W5ii+Ar3E
+nZUEuAm7xcLDmwQYAQgADwUCYXgMnwIbAgUJBaOagAJACRB3IfY704tHlsFdIAQZ
+AQgABgUCYXgMnwAKCRBOsn2yo7iLi4IJD/9SDUckU6C5mNZrPQ01jENJcGwS/Cd8
+bv53iiDilRjncPc3FpRroFKDrYUm0/G477smx9VY8eMBTPnJ7jFX4w+fF7umaYAh
+zdcF2DLs2MHgRSmjIOKEsEyrgCQSdiIXxJv3AK8lbymNs2Prss4Is8d7wIN7I5AD
+w3K0giT9p5Lh3Cd581GyjQI5nTLJ1g66qmVcD/fZ7sjJPGwLbnmdEiryKQr9sCHm
+Du85I+tb7kDhThoZffDgboucFIbYEMP/3rE1mIhjSkpg93Xq3diR1QNNbQZglleC
+jCw24NwnDDENcd1dZnuhBt4IsAS9SPcU7AVGxGunhDfVNM3Sr6DG0qIDjecArsQM
+zvwlxjK3ibQVLqRxHOvaE7sHuNuiIYtwG0azwIN7ZxhhQrddR6EBTZ0T1m97pxfF
+JQNq0srb8BckIt6cwWLeVbEyAOzRBxribPvzqK+gDiJ84bdXKewH5gxnxstjeaMP
+uBiOhT3tlKiINvpxYhq/YUWTr10YC0C/HZQ5xQocppXcZvyf1BXSRklkZXRA7D68
+x0BEir7FfRI5yUEeaec5ECuo8dM6kpQ4IjRthk9/wkr8CHQooegpfR04R7WDZt2W
+DdG1PVto3qC4dwCDTU3K6dLQB2bkCxcbpG4+ejuXgfp35Ou/19ojYouOmXSUDcG0
+/WDegrLUM/gp6hYhBOtMG/1PBC9t3czskXch9jvTi0eWg7YP/3G6Y6NHIQggXnlY
+Ii3iwN72hEgEqz6vIRK87lBGW2r3eQ0cDZuE3+5Q4FYciw+B2RKeDhjdmPHypA5o
++RiAyI7JOZwJalqHO3nwJG5sr0rRzcJsbGvpbzso2JuTyTURv4tBNq45b9y0Qdzt
+5PpNrPJbQADJWn+HWsbVJB5gWBTdoQYgpyTr84nQyscWAUFTRbmHvtjCCfLdvU8w
+M7ubAQ5Dwi1pABRttRAMuPA94HzaBF5yXkghxHpnW0IcXGiwgch9LQyaO9VSRhiP
+H6r5Zuk7KvGhHph7SC5JgUn9vJmmp1zcd0mXQ2Zh8M81J3Ri3iGPHM2CqplAxXNb
+IrnztbEJhN2I+77m73Z4d+K1ivg6xQhteSZhwhx7/Z3Tl+U2jYOEFIn/UFmV3UxR
+SJa/jQRcjvMKprSp4tAZ2yJI3babjRbixgUEtlK105/JepxcAdw9vosxO/rR7VqC
+zu0copdxC0GAH8og+A9/3LPhlRGy3Qhfzjy9JHWHj4EIsol02BS8+dWvAoYerkve
+9O9+h6/B5wM/Yng9BjT+OrNvkfmqK2cspBXwYedOrC4uWcUmueEVrv5P4FF36wJ+
+ejvPS6vdTxVTdLXjouUHwTQQZVlNjWY3cIyj03nZ19c+b30+2FzG/uSnb/ePWsRL
+Y7Iyz4ygr8etweBPnEIvjwpAZxOu
+=v/kS
-----END PGP PUBLIC KEY BLOCK-----
pub 7905DE25C78AD456
-uid Protobuf Release
-
sub DBC5123E2E98FEFE
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBGSsZCsBDADJZoPoHGJNAB3sn/kFQ3zlj+vZ7OY5aWoH2nL3tHQYZvN/pJRs
+xsDNBGSsZCsBDADJZoPoHGJNAB3sn/kFQ3zlj+vZ7OY5aWoH2nL3tHQYZvN/pJRs
8wu4Cw1ApatqLIaur6S6LR+s4xB7HxnMvpiF3NMwr6ZeZBUUTGEJbRgFhY9TqZam
CZJ/xPz/FevPhZn3/McqDGbjEx+G7hciUl0EwIOhanAQQvVYaWxDL+Pesqqh23U7
Cex2NcotieICt7dWJ7SAM3TOSLP9OQd4scRvYLWqv6/vu/nQ68RwqaonR2QzxhUY
@@ -8426,42 +7825,25 @@ Uul7vR3iNRXtbnS31qIgCYWAoX6w0xHf6KUeIPWV21ZIUu5cg6kQr/sPt/OQuGS2
nKk+InYtopDi6d7AUh8WI2TP7qAMIoRkhAeDEQ99DiopwFNPA/7M4g99AQfFSmp3
acPCdeXXAZeDAqoFGFKTlqzg3FLWpGkubI/iXyHkpQfOXv4MtYuPGVNheBXGcWbf
XPjbkFYjkGIN2Wx4i7yf43hMCk6ArhswfgCcgoORI+DCVdm7ORID1PjIU2Z71EA2
-qDdFwdoOdEV42YUAEQEAAbQsUHJvdG9idWYgUmVsZWFzZSA8cHJvdG9idWZAZ29v
-Z2xlZ3JvdXBzLmNvbT65AY0EZKxkKwEMAK4LeTj1dr8F9E98Up6y4AKHY0Zbeb5v
-c/TzsJX6UCudzygYTbQnEcrPIcJ5TJV5leniAlxnqUz/qJxmpBtGCNH63c9+iJNh
-VqJEZh9dbupqQn+mqtBvsPABbHU+C46TLebmOK4R99zgtxVlSYabJubuG2Mqnq96
-mutBUWKI3iY5j0JAMLY1DJesAGwAWP8gvUZHhd4LJN3iikNSTWyUE0Hnwm2VKFq4
-cxI/6qaCpztfuSD1y0JplSfmKRd+ecLSqhDvlMZkwigUpjCvF7iSaPvpxWdkFabS
-frMeIjwbGU/fLV8ilwtPPb57X6Nrk9NIUdVa6ZbxiuIErIcp3JfgfUfy7wxcI/Uj
-Mq1I50NOwizLVprZbmKv1P88bACmdon612pnDhhs84phJmA7fzQ/jAqF1JQ4Crdz
-L+6g56Kkx1VlN3dSmPjuycjTzykuNwZ/Fi0Lj9Czg4LVp6peSsPWS+lp9h9tOSzt
-lQev+GXiQKZTYt8JxvBPOkm0hd5M30BDbwARAQABiQG8BBgBCgAmFiEEGlXwka0o
-wH+DH6RNeQXeJceK1FYFAmSsZCsCGwwFCQPCZwAACgkQeQXeJceK1FbX9wwAmLBK
-Q8JljEwk0KqYxawrusWXwaH+1I83urf/WsOJYEkKoiQObsFGTuaolyln6ZHyF+gt
-uKeWtlbvG6aXqv9XXcsVQG7NMGdEAy6DTNj77uBAXMWTxVpD09iVeepvWSiz7r7M
-gzJfluNgGDOGKpkxxIjS8NnOAsK9uquyvBQa97I+YniarTkpnVWpgSR/7V3HHf6Q
-2aCKL3ihdK2uIS4dIrFi+mVCt2zDad8U8N7S2Gv2VO/vBF+hIFCV788hLH9HeX3f
-70E99X57hrVCh0MeColOIV1zwK8GLeV7bpr6x11x5cjiv27xky95WteyH5w9w/Xq
-Tu0NQ5YyKX/0PUYVX3mLs59H7Wys6ANygWJs59JT4KSwb3pIEV7gWSwp3mWkstlF
-m4Tq/d+gVF64ItrHylZg0WpHPv1s+dH6/tWcsBnkgR/OS33PkijQgvMW4imQNRxg
-ymOZIduHXX1X+KzlRZTXvv4tSFnIQ0mWY1ySiOJQJS2WABVwFpFc8rECm6eN
-=z4dc
------END PGP PUBLIC KEY BLOCK-----
-
-pub 793FD5751A0F0780
-uid Block Open Source Releases
-
-sub 59EF9FBBED4216F5
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mDMEZzuZjRYJKwYBBAHaRw8BAQdA/FAoxAeXKY80R8UZ35NNr06SMFqC3Pv/LtP2
-sZS+7N60M0Jsb2NrIE9wZW4gU291cmNlIFJlbGVhc2VzIDxvc3MtcmVsZWFzZXNA
-YmxvY2sueHl6Prg4BGc7mY0SCisGAQQBl1UBBQEBB0BxT6NyXTVMCaIjZGa2M+/h
-z+xbicRNpHTpudCgcUvccwMBCAeIfgQYFgoAJhYhBB0hf4R17unxmrjda3k/1XUa
-DweABQJnO5mNAhsMBQkSzAMAAAoJEHk/1XUaDweAmCgA/2x1ZfeK2BbKUoPDvSHk
-bdks1K3OorITH/c1RHMJZe1TAP92RwDPmqy7YsZDKctpFeA0jhlWBNvbNTNkzRNu
-yEjMCg==
-=Eg1b
+qDdFwdoOdEV42YUAEQEAAc7AzQRkrGQrAQwArgt5OPV2vwX0T3xSnrLgAodjRlt5
+vm9z9POwlfpQK53PKBhNtCcRys8hwnlMlXmV6eICXGepTP+onGakG0YI0frdz36I
+k2FWokRmH11u6mpCf6aq0G+w8AFsdT4LjpMt5uY4rhH33OC3FWVJhpsm5u4bYyqe
+r3qa60FRYojeJjmPQkAwtjUMl6wAbABY/yC9RkeF3gsk3eKKQ1JNbJQTQefCbZUo
+WrhzEj/qpoKnO1+5IPXLQmmVJ+YpF355wtKqEO+UxmTCKBSmMK8XuJJo++nFZ2QV
+ptJ+sx4iPBsZT98tXyKXC089vntfo2uT00hR1VrplvGK4gSshyncl+B9R/LvDFwj
+9SMyrUjnQ07CLMtWmtluYq/U/zxsAKZ2ifrXamcOGGzzimEmYDt/ND+MCoXUlDgK
+t3Mv7qDnoqTHVWU3d1KY+O7JyNPPKS43Bn8WLQuP0LODgtWnql5Kw9ZL6Wn2H205
+LO2VB6/4ZeJAplNi3wnG8E86SbSF3kzfQENvABEBAAHCwPwEGAEKACYWIQQaVfCR
+rSjAf4MfpE15Bd4lx4rUVgUCZKxkKwIbDAUJA8JnAAAKCRB5Bd4lx4rUVtf3DACY
+sEpDwmWMTCTQqpjFrCu6xZfBof7Ujze6t/9aw4lgSQqiJA5uwUZO5qiXKWfpkfIX
+6C24p5a2Vu8bppeq/1ddyxVAbs0wZ0QDLoNM2Pvu4EBcxZPFWkPT2JV56m9ZKLPu
+vsyDMl+W42AYM4YqmTHEiNLw2c4Cwr26q7K8FBr3sj5ieJqtOSmdVamBJH/tXccd
+/pDZoIoveKF0ra4hLh0isWL6ZUK3bMNp3xTw3tLYa/ZU7+8EX6EgUJXvzyEsf0d5
+fd/vQT31fnuGtUKHQx4KiU4hXXPArwYt5XtumvrHXXHlyOK/bvGTL3la17IfnD3D
+9epO7Q1DljIpf/Q9RhVfeYuzn0ftbKzoA3KBYmzn0lPgpLBvekgRXuBZLCneZaSy
+2UWbhOr936BUXrgi2sfKVmDRakc+/Wz50fr+1ZywGeSBH85Lfc+SKNCC8xbiKZA1
+HGDKY5kh24ddfVf4rOVFlNe+/i1IWchDSZZjXJKI4lAlLZYAFXAWkVzysQKbp40=
+=JJ5h
-----END PGP PUBLIC KEY BLOCK-----
pub 79752DB6C966F0B8
@@ -8470,7 +7852,7 @@ uid Rob Manning
sub AC9F6F1991913E30
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEqXMWkRBACnsxVroe9ojc2AnRn/85KJi/Ntsbku5iJ5z72B6I+VGn/b1Xln
+xsDiBEqXMWkRBACnsxVroe9ojc2AnRn/85KJi/Ntsbku5iJ5z72B6I+VGn/b1Xln
kuvRJ41RLG13lKVmHtSTq2pajjmAr9jY5gS8nJ3JUES9bG3yKNN1IDswXExfAUJp
skESh6a/7GY9Zp50hGmCEp4cNJWa0VfZm+pgEz9wMhvpMnVwqf9AooHRVwCgjUbp
RsDn+OY8GfSY3oB+WSnQlQ0D/0YgQIkORZwQt4jePiWnCHDshsmfJMCF7wEZLQM/
@@ -8479,7 +7861,7 @@ rviqeWy/EuoY9d1Mq39m2d27zqeGuO6dpTGA7fBKDY1C2rl6gb/vlS9Apu9lh35X
FbHkA/9P2ViXldsyXHA9Pwkv7V0ZGD0KvqKkS7wyb8fEx5OEA0WwKWCoaIm192Rt
3WtNpefqjzZ9vhaAf+V/9DyhS5WGbdb7uuj+3wzqakz+1iCgjqvWNHc3SaCvv9o9
o/NQFrG0K2w1Z8P/iQn+igRFC9YwBJ66dqgOaeW4oO61JNWDRrQoUm9iIE1hbm5p
-bmcgPHJvYmVydC5tLm1hbm5pbmdAZ21haWwuY29tPrkEDQRKlzFpEBAA1YDlDKBk
+bmcgPHJvYmVydC5tLm1hbm5pbmdAZ21haWwuY29tPs7DTQRKlzFpEBAA1YDlDKBk
16508Po2wEKLU5KPAroNs4bAtGucYrtHmeWLEaRi5lSLp1C6Dk3hcW/lAEN5N38K
2R5wt3/rvS7xIagXKdOzFwFk5VyJ6X0uvHrfiAAEvSoPzGb5FsB9ziIkBSUOCsXI
m5tFTq3GfbRVETsM7Y0ZDPMLyqVpoF74HSmuL+UeXGU80036Jqmsi3xlGQMV0VbF
@@ -8501,9 +7883,9 @@ pnb9fycO/YDmFhO5sDtxd1BbzVNBkKbkl9ElbW/IseV36LhDHVV7SNczXCsbFOIC
sqxEpht3EdZXJvA0Kws8hp/e/aJDrSWSrMtwNlfeKF82zZqthpccgqVTByopdfII
97xaTR4lGnvpGEsJcTaUVuakKOrzT8Nd1Oy+O/DBg5SNmlQC2dZwYTNZG8Yf0yKt
qszCDzsw0cwTGLMNt+O007gP3aqwKqWw6iDOzndXcLMSTjz+6k3Ayw/cSZYDGyjG
-PxnB/ZP6BiDIRsXsLtZriE8EGBECAA8FAkqXMWkCGwwFCQPCZwAACgkQeXUttslm
+PxnB/ZP6BiDIRsXsLtZrwk8EGBECAA8FAkqXMWkCGwwFCQPCZwAACgkQeXUttslm
8Lj3NQCeOBP0sP0G9/RVN593WRVf6uzT8IUAoIhxBvKhTjQtx4t7oNb/cJR4YXWx
-=obDX
+=0ATW
-----END PGP PUBLIC KEY BLOCK-----
pub 79E193516BE7998F
@@ -8512,51 +7894,54 @@ uid Filip Jirs?k
sub 9F7335D63326E7F9
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFWdcSoBCADK8j+0eVZKUGctZo/VaJ/K2Wppx4jEFgih8xiIWREQ9B3QEugJ
+xsBNBFWdcSoBCADK8j+0eVZKUGctZo/VaJ/K2Wppx4jEFgih8xiIWREQ9B3QEugJ
mJMWZHhrnHB+sjVx5No482ch6sVhYmC+VMyTdzepItZ8beYa0pnNGJnrFT+HcTOS
g21Ef5e6BRORNho2j9YTvxvjof29XxU4SJFVgffs48jGeJzN1EDmOz4OlZupKGU+
98o+kMKCiFjcf6Vu03asuml97b2fMOJ09n+UQVlZbBR/Yo407ZLkL2Elx47Fz+82
iO+M8w2qNnxT4PA/TLgaVzkVHaR/JIDlQQ4DfuyloQI1hBpMB8f60oukVr5dBGuS
1dPZ1H7td975sLegWoj7CCOFZXrDzYUXwwXPABEBAAG0IEZpbGlwIEppcnPDoWsg
-PGZpbGlwQGppcnNhay5vcmc+uQENBFWdcSoBCACidgjpeAycovmOPWf/eRXEoD7i
+PGZpbGlwQGppcnNhay5vcmc+zsBNBFWdcSoBCACidgjpeAycovmOPWf/eRXEoD7i
bTOdKgy60rcHYPeB6pPMVaUMhZQQ4QTTRTaYEw9SJtD2itu7khittctHq3RA5EmI
e50/cvF22MipcJqB3MJ7AnQp+92lH9rrl2xQsu7j6/xHsoEf6UFWzRo3TPx7nf1l
qgY8JVpaWLJtsfByvLi04y73DIF0+W3SmSpDvL5h6teAc76Fz26tBVj3MdUFF7Un
a+rMU42K0WUPkGhPfzqnPy0GLRbfYnjqdOBF66TMlYtu1Xnd/FgAVSugDth3LbFg
pDbJWoGr02tpQ2pt22USElENLdZ5CziK22D6jIy6Yh02NJtSVsNfQ7sQ/XopABEB
-AAGJAR8EGAEIAAkFAlWdcSoCGwwACgkQeeGTUWvnmY8ABQf+K0Uy8ar+uLVqVFeE
+AAHCwF8EGAEIAAkFAlWdcSoCGwwACgkQeeGTUWvnmY8ABQf+K0Uy8ar+uLVqVFeE
tuHHz8ebAEGSBLzAK7+ggg8RnhaNEHwR8RgAxuaq2ZsYVz+UvZBLG+oByxQYWVWp
F75TH0uKVDH/zjO8Ppob3R5PN8Wk1QeSAE5LumhFsOCBVoJK4NgqLJNzTuEc2XiJ
k43dVKI5pd//ivNsjO/SfSzBzSzTQ3UhzAj+k/7vi362Z8fg9SNnBQLpxccwdJ+8
iYA7aE8wBt3esn9k79lXCM2hyNHl9CP8xI6CXmGJcSS4F2iqgPSVMkxgLA+DA8Y1
wGvbF5c4rF4iVtgbCH+PcCwrQ6m6pQl9nnC8ANt2Zyj7o+JqefWrRa+F+ZFqJ7sg
8ba0HQ==
-=DwAM
+=Vimk
-----END PGP PUBLIC KEY BLOCK-----
pub 7A01B0F236E5430F
+uid Inderjeet Singh
+
sub C3E640F38D845FA2
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFZUsiQBCADGmoidvh3VvXWGdwbAtHPtDPKEebE/MfFVO+QTRbjJxphzKwAt
+xsBNBFZUsiQBCADGmoidvh3VvXWGdwbAtHPtDPKEebE/MfFVO+QTRbjJxphzKwAt
mxHruikafaSTnC9FWizj99e/Yc45YZHcnt5Htmy0a7DSOQXL37rrnieZxg86tYmC
4PxvvzC/s7xF8wmxDo4A+mRyoSF0NF/fQTZAr3ri5l0G/vntH7w8AbiiyerpLobW
/TqQn1tpMh7XfZZ+XqQKANVRECUiCYT4iJKWMqcBpLZW8aa+iYW8yCQ1xfmNXjrx
jpTqFCiQjvwCw4dDffNe/A1Dbq0wE6mw3YHW3OC1fnLiP+TEM9P9v02bZyem6uW2
-+krrToLTTHSqIGF9wUUF6S3Ikrw2EtJiRQtnABEBAAG5AQ0EVlSyJAEIAL0+8UoJ
-uUsC3jDE60tmrApu/hK+dCbe5UJnR8z93aQ/1AfEX6So6JZzBlxID/HCOvRjJbau
-L6Lrvw2xgSnrnOzRLf1StvBPASfJk1Zdo9LZon6Xofzg34qCLUQLkDyntgXQaYF3
-Yw/xfiqqTC/yav29VTzKnf0Nri8aXGsHOycJ8nTO7I0p4xuRirFu7Bkvd7bK99/t
-DxttYkvUnG3BUGlr85UX4uODh3EcVcgVQteawYbmsf4F00IBoTAycutCOdbP2RAg
-P6kgFxLcGz4zVqu93QjSjEdTegF1SUXcGpzvDR8T8zRsQbBCZ32A/UJqmx+EIPPF
-HNkLijDp+f5mkJcAEQEAAYkBHwQYAQIACQUCVlSyJAIbDAAKCRB6AbDyNuVDD2xj
-CACqL670xI/26dWsz66ZyHQ2yJI7DNQxoiU3OZs2bfrRZxLpGP9Q6YWCehb+iucv
-mFFvLZBoGGWzffmVBisD2Yz3mHtF3wLx+2zJXHt1Xz7H6W89M54T3qUhQTTV6pl5
-f5/JCXK1DP9iC0y453ORY5B60byrGIUvBAv+qWXBPn3ECZ/3oEkErb5ZGof+gJjf
-fqvWRAN3Li0WBRj0ldXpJoP/YE8naDJ7UdPfzcnh3tnOTfUDvFer1Nh00ilMmf6E
-YznRwaN9whc9W/1HwvDeXrijrc6/1U7Hp1r5b1DddTtx6aHxpWrcwYw1yXGcm82f
-jXnRdomz6nBt2DF400YubAZR
-=dciM
++krrToLTTHSqIGF9wUUF6S3Ikrw2EtJiRQtnABEBAAG0K0luZGVyamVldCBTaW5n
+aCA8aW5kZXJAYWx1bW5pLnN0YW5mb3JkLmVkdT7OwE0EVlSyJAEIAL0+8UoJuUsC
+3jDE60tmrApu/hK+dCbe5UJnR8z93aQ/1AfEX6So6JZzBlxID/HCOvRjJbauL6Lr
+vw2xgSnrnOzRLf1StvBPASfJk1Zdo9LZon6Xofzg34qCLUQLkDyntgXQaYF3Yw/x
+fiqqTC/yav29VTzKnf0Nri8aXGsHOycJ8nTO7I0p4xuRirFu7Bkvd7bK99/tDxtt
+YkvUnG3BUGlr85UX4uODh3EcVcgVQteawYbmsf4F00IBoTAycutCOdbP2RAgP6kg
+FxLcGz4zVqu93QjSjEdTegF1SUXcGpzvDR8T8zRsQbBCZ32A/UJqmx+EIPPFHNkL
+ijDp+f5mkJcAEQEAAcLAXwQYAQIACQUCVlSyJAIbDAAKCRB6AbDyNuVDD2xjCACq
+L670xI/26dWsz66ZyHQ2yJI7DNQxoiU3OZs2bfrRZxLpGP9Q6YWCehb+iucvmFFv
+LZBoGGWzffmVBisD2Yz3mHtF3wLx+2zJXHt1Xz7H6W89M54T3qUhQTTV6pl5f5/J
+CXK1DP9iC0y453ORY5B60byrGIUvBAv+qWXBPn3ECZ/3oEkErb5ZGof+gJjffqvW
+RAN3Li0WBRj0ldXpJoP/YE8naDJ7UdPfzcnh3tnOTfUDvFer1Nh00ilMmf6EYznR
+waN9whc9W/1HwvDeXrijrc6/1U7Hp1r5b1DddTtx6aHxpWrcwYw1yXGcm82fjXnR
+domz6nBt2DF400YubAZR
+=wcly
-----END PGP PUBLIC KEY BLOCK-----
pub 7A8860944FAD5F62
@@ -8565,7 +7950,7 @@ uid Sebastian Bazley (ASF CODE SIGNING KEY)
sub C189C86B813330C4
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQINBEvxja8BEADAzZOup1X0B12zJsNsDvXVIwmM6bB+uhEsUHoFTvmsEVwRoZtn
+xsFNBEvxja8BEADAzZOup1X0B12zJsNsDvXVIwmM6bB+uhEsUHoFTvmsEVwRoZtn
i7Q0WSFoY+LDxbvC4Bg1+urCrUrstRJYRyF/pMqPYq/HokRlPjtrli/i3mUSd0zN
PGC5+qXvAlOck3GK8Hv05PsW32SlSczZw6PSDKh0natuM3hnb+vt+w2MXadXoSwU
EV6GtSZpj19vRzAwG/Zv+ZUDCBXVQG13mG7nr6+Q9+E0hJf8i/XZBcvTuWPy5niY
@@ -8577,7 +7962,7 @@ u68Q51i3fG92Owgy4Z/YXN/IgnAUrCb+EkLYIscSHby1voyvj2a/nIXajmldHqNX
63EGV3k8A6IB/WJScGveJsNRGCZLReff+UyvRkRy0jVVI0/G32ge13PbpPLGHoRx
LXiBSZ6Nuat8R4PS3ry8HKzFx6r2+VO082ptyLjl7e3yQzdVNshpxYxQZwARAQAB
tDlTZWJhc3RpYW4gQmF6bGV5IChBU0YgQ09ERSBTSUdOSU5HIEtFWSkgPHNlYmJA
-YXBhY2hlLm9yZz65Ag0ES/GNrwEQAN+4ziP52k2AwMNcZ6bFMbYeRBiJk2uj/K0f
+YXBhY2hlLm9yZz7OwU0ES/GNrwEQAN+4ziP52k2AwMNcZ6bFMbYeRBiJk2uj/K0f
5Y4Fn3rYSAoda3xEq4cP7r18dvhsOMcoUXzJW/36iR6LSorXdJZz/65FRXIuafXE
9f1yBO+MKF+ydEYmWKgVndfF1Ane8fyH8ypvTKrECCOhZhAioh4CUT7sjA1hnL4u
y4MPw5RRJsI3fM1D0TjYyjUgPCIyAeXohARa9iqO4gKK7qcQDjZta4xAm5zsftTG
@@ -8588,7 +7973,7 @@ HOo6igrD2FSmo1iS+HzyHpBAtyR0f1MogeomT1SIQ0gS/ftclpWyvVZIC894e6xC
gxLyT8D/WSet4tU4WH0ChQob7aCNizpVRHh/V6ksRYsG+wEHAbBtdvDA4hv/RuWu
OneHzKnnRO/L5PSFyj19BbU7X7nRrO1AJ9UEhD7781WhBft3nPYrpMRxF8gWggxs
A1KYH9lfZq5I0hpTfWFWfhy4Q7IQ2ctgfdcIQtoaFx7qUwQAIPUnWbaLRO1+vXc1
-4K2mmwYzABEBAAGJAh8EGAECAAkFAkvxja8CGwwACgkQeohglE+tX2Ih+Q/+OTpC
+4K2mmwYzABEBAAHCwV8EGAECAAkFAkvxja8CGwwACgkQeohglE+tX2Ih+Q/+OTpC
unloKhRNiKfMe3hZLiaCeKkcc2c+jZI/9Y5VqJ92qbWeShW6nJ4/4wNdAUggyTwA
aMV4qncYC360IzgaUEYvlpnpD0ES0xvIVzl25lJVLisJDS+wg/hlL3fsIqlOBiGW
YREW0T6zRwm4LAA26n3CPgnF6Esput1CT78aeOjldEaYYecn2zycZxJJ/EgJc/Mk
@@ -8600,16 +7985,14 @@ pqeL0XZl608dHppdyxjKXvqtVe6UrGJdifmWwAOqLb7rcHmIyjnWTNhGdnkbPsxH
Grl7hsoSOgxSxgmMO+Vl74ueArTC1bD6JhB9j8KLDkx57ZalDrxVxHJIMso7y7Qk
emJxib8JkfFsaOFye3nvehO6ohGnt42hqvBZWke2E/7xC8ds+UM/HfWdrkQve6Yi
DHdF2x8pWC+ok+JbFn916yL/54nwMp3l9/9ITv8=
-=9dUG
+=gh7G
-----END PGP PUBLIC KEY BLOCK-----
pub 7C25280EAE63EBE5
-uid Oleg Kalnichevski
-
sub 926DFB2EDB329089
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEPonucRBACtbhYckAoyz1tuSXYX4XiqGa5390gIMcxe2hJ+Ncx9o3zX09Im
+xsDiBEPonucRBACtbhYckAoyz1tuSXYX4XiqGa5390gIMcxe2hJ+Ncx9o3zX09Im
f8PW27BnMrz7EIydgB2wphhjfK4vkNNtm5ZDWH/zJStsk1Fe7lNuuxs8XorX1+8D
bhhFEuc2B85vNf2o9Y4V5GFwbD+tFNy4u24n7zg6/VgE2WDvYJ8JRqCEkwCggyLj
ba0lsZ2XtSINh/W8ok+9f0sD/A8WhqBfDTEBuG9gnuCYXM0j7XBBPdPS+FXmmfea
@@ -8617,31 +8000,32 @@ zyP+URKRprLCdt0ThZAMllIxZJrkbv7aeXVpM6KSZ/XvvaFQ/gha4o4iJFvpoKt1
Er2j4Tz/STKztHGsMt6pqfrMNPWovu4tLuLZQmojtbIk+IwmcYxMy99owH8oV1WC
U4HeA/9MlUxzmlmrQF7VLqFTGEEqQaEJqz95wNPj/t1DmI97hshPzXLD4zwKwa9m
qZJPStRHM0a6xW2dztF12aXhrmYg1gIGNnsHtq+t8ZhfINZUurSWn0m65WT5notA
-15s6hwyDACHWWOgFQ9jmWuGDh0ZpiaBe7BxeTV+MsswY81sOn7QgT2xlZyBLYWxu
-aWNoZXZza2kgPG9sZWdAdXJhbC5ydT65Ag0EQ+ifBxAIALIr1cwH89+EBPkuFk1w
-rpJ5mIkhBJ8k8JPWsG+dr62JYaENrdhIUQpXP7UekG4TTIWjMT7dTmHrrTr2TeKt
-teiBNksGcyAw03IWAKT/26wXSA3+C/1xlhSKn7Qkp/r529CwM2DVbjV7TcEZ4tqv
-32d4NcJ4lTGydjKyTbdlYS6z/Sv4qRc+yQiYrbTJ4Jpgxe5hCoZ66gUTi7mxbFHz
-Zs9akQuj4hMMsggnRvuJvHyIksqp2twjJGa/1GlX8bhmR1jPB2BpokI2n6ni6qPG
-km1nq8w2LRdvr+IQALfXg8HYGMvKDcVxL8O0PhuZYsfuklDGFejSizVGwWH35vcI
-1bsAAwUH/A2wO0ac4mVi7+wx40d9QAOZ5xhHrndHQkTvK8H0DZ2kL7iavLIkZlN7
-jwC9jcA4DGmtHE9cbe6eP/P0VNDfaLVap85CzFE7qqv8LUK0LdDlrBCUcsXplhcI
-i/WaVOHk4OPXHzkF44Nqt328fQ9V6+gbvz5+1A1PK/Rmw0rRie0d2dJJIbQhK1px
-jV27qpVXfLhLMnjNh2KTO+gZh//LzION5TicsoeiHdtGU59x4Fs0SOUGgydSWAYT
-LlQoW0z1AnDKMfqoIh+CrUSAI7fpt8NAMY7KqNxBT8HlhqUX6jMolHBEreF/2fVd
-jX+NTR/p0O+L90b6T+xFin/RXxLRaa8=
-=t151
+15s6hwyDACHWWOgFQ9jmWuGDh0ZpiaBe7BxeTV+MsswY81sOn87BTQRD6J8HEAgA
+sivVzAfz34QE+S4WTXCuknmYiSEEnyTwk9awb52vrYlhoQ2t2EhRClc/tR6QbhNM
+haMxPt1OYeutOvZN4q216IE2SwZzIDDTchYApP/brBdIDf4L/XGWFIqftCSn+vnb
+0LAzYNVuNXtNwRni2q/fZ3g1wniVMbJ2MrJNt2VhLrP9K/ipFz7JCJittMngmmDF
+7mEKhnrqBROLubFsUfNmz1qRC6PiEwyyCCdG+4m8fIiSyqna3CMkZr/UaVfxuGZH
+WM8HYGmiQjafqeLqo8aSbWerzDYtF2+v4hAAt9eDwdgYy8oNxXEvw7Q+G5lix+6S
+UMYV6NKLNUbBYffm9wjVuwADBQf8DbA7RpziZWLv7DHjR31AA5nnGEeud0dCRO8r
+wfQNnaQvuJq8siRmU3uPAL2NwDgMaa0cT1xt7p4/8/RU0N9otVqnzkLMUTuqq/wt
+QrQt0OWsEJRyxemWFwiL9ZpU4eTg49cfOQXjg2q3fbx9D1Xr6Bu/Pn7UDU8r9GbD
+StGJ7R3Z0kkhtCErWnGNXbuqlVd8uEsyeM2HYpM76BmH/8vMg43lOJyyh6Id20ZT
+n3HgWzRI5QaDJ1JYBhMuVChbTPUCcMox+qgiH4KtRIAjt+m3w0Axjsqo3EFPweWG
+pRfqMyiUcESt4X/Z9V2Nf41NH+nQ74v3RvpP7EWKf9FfEtFpr8JdBBgRAgAGBQJD
+6J8HACEJEHwlKA6uY+vlFiEEB4Wz7/YLGxvqlOC7fCUoDq5j6+U3vQCfV0asXnE+
+aHo/jdT35nAky2TXxokAn3R9/kTwWykkKH89mxse/54k3fao
+=xOW/
-----END PGP PUBLIC KEY BLOCK-----
pub 7C30F7B1329DBA87
uid Ktor Release
-sub 0588BC69A286FF16
-sub 3967D4EDA591B991
sub 72FF58594F983302
+sub 3967D4EDA591B991
+sub 0588BC69A286FF16
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGNBF+TCd4BDACbIA94MfIWL0SpvZwBddXgx36Lp9GYOWNgGoQCWSvk9vaMrLaI
+xsDNBF+TCd4BDACbIA94MfIWL0SpvZwBddXgx36Lp9GYOWNgGoQCWSvk9vaMrLaI
rEll0xnoP98CfBQYrVSAmHDMhSLBCjNB3V1Sdz8GRdOG7HUffF7Cqwbm3Fxo3H/h
+Tsrodv23NuvKsDpgglUL6nJy5e/FO8y9dcxLXRRVdPFDhJubi08SiUJy9FQbnfA
yb2LuTzXtjDmjEsMZpdpQUlQkk0xNDkrrq+2miwxemVd35cnVQCFP0K7c4T0ksGg
@@ -8650,116 +8034,151 @@ Rf9A2r45DBbPfvwTL+ZbrGtCssUpCneWhPl79UsMxeY+vJjEggqqqRqbHRn6nOQd
1JUAHNEFtuJQKGWNuwWO58Yun1EBtOdUEvnIIoQ+CIN/XeKrnEIXE3LSblB8BR3H
bqX54BMe9AzsmDQtc5pUOm2pfvCoiv8xFXQznBg24dGqo2A/jMoUnGj6oRj7k8mt
i9AdPLigldr0S0sAEQEAAbQhS3RvciBSZWxlYXNlIDxrdG9yQGpldGJyYWlucy5j
-b20+uQGNBF+TCkEBDADafdzCGQlmG4e83+VsqAVCmiO1SlVkfwfgXpuXdnLx+rDz
-f6FgkIwUcNwkBpTCQF3i457Mt50kKW4XIV9/uzSYM+VohUn273HmN0+2iExW0jW5
-LzxQf0jCnbPDnnfjc2qZ6B5ySmVks8zwsv9vLz6rcK3+IDJYMlTHLQaH+if2v8vz
-MJ5r5DowJJOJcxhFZCBThXpWl1zAhpnv+Fwb9sNpoXfANwqzhpSi9PwDVqaw9at9
-fDRZgqlKqdIt7mlUA+Jl4jLe7t9zBquDuNeKCST97IdeTXV/NOGoVkp8pdLyEzQx
-xdaCiLDdl8CaN/JVg9Jj/uwQRVq4KvRaUe+jMdQIpYu4RcHPQMkPkLXO5J3kSvk2
-cjtibogiN2HCPpa2G9H9Ar1TKKn1e5U4qy/fDryR11GVlEdFxVsugplbIXZLDzeA
-FvEiFWVcMSINTnsKRp8W5yvvd58sEI+WbMLwym/825oRs1VocbTIfqjSmD68N/Ax
-y7z0Vo3ZsUREArFvADUAEQEAAYkBvAQYAQoAJgIbDBYhBDlMtDbFaRb8Ae6kp3ww
-97EynbqHBQJjUcQMBQkHgSDLAAoJEHww97EynbqH4rcL/0xgE9PanLa6WddRuN1k
-dt148r30mfTSiLc6Kl9ujzMIOf2BEShvRB39ZPPEP4CbOyeOsdIBONTOrbfSnjah
-TDp74nRSQOiZ2jZliFe8bqyBtc5xcBf0l18gF+0amutC/UGZ2Q3XfisXOhnPl8vH
-LcAxwRdCyoujf3fzG7SvVLXZ+ijsgYp5f6UCguTtMiRkxg7U0MROHpmBYLBWKqaC
-buhEpKPPXX7r6xo6J5KnxuMMyEwHa5nGxpQKyBFlVliKSwwdIRuMN9YA175hwjM1
-XY4wJCxtybFGnybnASi04xAuFl2+fHq+i9EEbIlc9BOlwizedFaqu1EJrJKTz5Kf
-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
-XwCWdYzvSwRp
-=Hi5G
+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
+s/VObsFtKMUFPmME
+=10eM
-----END PGP PUBLIC KEY BLOCK-----
pub 7C7D8456294423BA
-uid Henri Tremblay
-
sub 9842FE565AA0601E
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEvsZw4RBADH20nX+H1xvMBYmXRj1Aae4dRr6Y6qI7QRWHO6Z7/dxr9bk/NN
+xsDiBEvsZw4RBADH20nX+H1xvMBYmXRj1Aae4dRr6Y6qI7QRWHO6Z7/dxr9bk/NN
Yjq5KsVOQxZzloVdtqx75rznT7fZq98g7Nq9IeEtB6k4tnh6XQLhljJMk0a3mzdt
q3VzdxeVbwCaPJ0zixv8XPTAH6MpRJUvP9XjzxwaYHrjwcQ1LslW4TrIzwCgi5rf
jChLCyKcaL05gqUjl4lmefED/iqOwYZw5pJ8+X+OHUViiOB43wsJt1brAhPj4KgB
@@ -8767,22 +8186,21 @@ ODStcE6WlHFKi7YzcYNLzYMebSGYn6bj65b3qNf6rybWD1hGUFK4122Q7+HCH9Ic
J+rr8HwjGFo/yxI0/mkyaF0BthXYPy4WtdsdTM2kgx8Zr3Q2rSt1jBPuV3q8d27z
FZMiA/9cWPkRx0RfAJmBPKmKkbBkEtBbNau3G7MY1OEAkEkRnzmnyyjr5IP84A7K
RdjTCvkbiQrOQH00Ki4sHIg+9Xv1gDg1XLkFDzRARKA1TxjL0OeS4RWF3iia7Swk
-MOnTdhR50pjb18W8kB4mEMZY7duP4nwDfQwHMwbFZGHrjImaurQpSGVucmkgVHJl
-bWJsYXkgPGhlbnJpLnRyZW1ibGF5QGdtYWlsLmNvbT65Ag0ES+xnEBAIALYa2xQw
-2yBqve3W19WRMDRqYyC3XrpsWc2gnOT4JXRxgPOky9lfYj6TjSbb+/wrK9XP67x9
-CAPwRbvtCnXvVD/s/ScnJnyaSLHdkLcX4Z/UePk3dFbTfTTZKbdfiXE4W88kKuFF
-PNrgSsEhv8M7mziOBZ/u8qSLjYA5KitEkyC97nChf0Ve+z7DgXix5AhiiFYVFH2N
-Q+dQVmSigdXn2lSuzy3Z7IuuJQIW2nsQON3cFFLVcEDrw8yVbZMnFdiDMF8Mh6J5
-SvuL23MCB9gQFOOiyGcvlRWiPpTTZkffsXlh+PaCWJzFiF4n+Ec7ztWoNiisJRtr
-GnLlU7aVlaimsgcAAwUH+wRpeDzirZbgG192vyhp19WMomz09nuKXTsamyk8LkXO
-yCyCvy1XHo1bi3fnjhdUJo06CO2N6o5c77WsUnpn5MWyEKXbrNEshxBABh/6ozbk
-7PGcBJfbTz6ymiR2yfZEK5Qz8JLnwNDQwF0xO+lIXBz2NA3spAChMNq2rxKiO2NJ
-10dlkpkSxQoZkPmjU5v/VBiPyKEXUv3YKNXmiw/+0SxXi+bRg3vtp4/geo/udp2R
-JmkQlllOzvY2C9XELuVk7q7Z3gi7SKnoS7I7lc/YoQcrGLlHEzlf+ltACHJUKDBI
-hUfSsr9KMA5Oi7V9g4ImybgL7y5Z2o7IhpuZ8lYdxtSISQQYEQIACQUCS+xnEAIb
-DAAKCRB8fYRWKUQjuol1AJ0XC8Ne5QYXv1nChUZMxE0sWiXIyACePz9TTTp/3knC
-3cdu7I3u6t7ARDc=
-=xYLL
+MOnTdhR50pjb18W8kB4mEMZY7duP4nwDfQwHMwbFZGHrjImaus7BTQRL7GcQEAgA
+thrbFDDbIGq97dbX1ZEwNGpjILdeumxZzaCc5PgldHGA86TL2V9iPpONJtv7/Csr
+1c/rvH0IA/BFu+0Kde9UP+z9JycmfJpIsd2Qtxfhn9R4+Td0VtN9NNkpt1+JcThb
+zyQq4UU82uBKwSG/wzubOI4Fn+7ypIuNgDkqK0STIL3ucKF/RV77PsOBeLHkCGKI
+VhUUfY1D51BWZKKB1efaVK7PLdnsi64lAhbaexA43dwUUtVwQOvDzJVtkycV2IMw
+XwyHonlK+4vbcwIH2BAU46LIZy+VFaI+lNNmR9+xeWH49oJYnMWIXif4RzvO1ag2
+KKwlG2sacuVTtpWVqKayBwADBQf7BGl4POKtluAbX3a/KGnX1YyibPT2e4pdOxqb
+KTwuRc7ILIK/LVcejVuLd+eOF1QmjToI7Y3qjlzvtaxSemfkxbIQpdus0SyHEEAG
+H/qjNuTs8ZwEl9tPPrKaJHbJ9kQrlDPwkufA0NDAXTE76UhcHPY0DeykAKEw2rav
+EqI7Y0nXR2WSmRLFChmQ+aNTm/9UGI/IoRdS/dgo1eaLD/7RLFeL5tGDe+2nj+B6
+j+52nZEmaRCWWU7O9jYL1cQu5WTurtneCLtIqehLsjuVz9ihBysYuUcTOV/6W0AI
+clQoMEiFR9Kyv0owDk6LtX2DgibJuAvvLlnajsiGm5nyVh3G1MJgBBgRAgAJBQJL
+7GcQAhsMACEJEHx9hFYpRCO6FiEE6FrtFVAhr4psa3pKfH2EVilEI7qJdQCdFwvD
+XuUGF79ZwoVGTMRNLFolyMgAnj8/U006f95Jwt3HbuyN7urewEQ3
+=xEOq
-----END PGP PUBLIC KEY BLOCK-----
pub 7EB97D110DFADD60
@@ -8791,19 +8209,19 @@ uid Niall Gallagher (www.npgall.com)
sub DC0B7E986BD7398F
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBE9/RAsBCADI/pVIFcoLmbq4LCKkqeN4i5xgGKsuQsDAf/ndFkILDUA2FaPN
+xsBNBE9/RAsBCADI/pVIFcoLmbq4LCKkqeN4i5xgGKsuQsDAf/ndFkILDUA2FaPN
7cI3EvZacWnWUA0QkkKNKpajU2OjjQlu4IyBosJht3VMtD0BJ2nL8eIDvwO6L8TS
2RRGMnMaDUc91NnoxKs/7VlQ2ySk6Cm6lH3t8KVkwaJdU59lAH1ey9UKhYyvRQuT
htenl2R63lyyDe1ZLMAlmQXi4RcCWOO+L1emChNv0q0Fsir+7go9ZNYUi6pmIEva
jKXM8bo/VtRIHrS73DsH7BVVCURYoBWexZWlRdb86KSE993dRXLvFPy5JzlRM+eu
mUY3CMKxx3nLaDN5qepf1nGzMW88xjq4z4rhABEBAAG0M05pYWxsIEdhbGxhZ2hl
-ciAod3d3Lm5wZ2FsbC5jb20pIDxuaWFsbEBucGdhbGwuY29tPrkBDQRPf0QLAQgA
+ciAod3d3Lm5wZ2FsbC5jb20pIDxuaWFsbEBucGdhbGwuY29tPs7ATQRPf0QLAQgA
68HLImPvBSPnMtjUHczE+gccsVWzLEsjVYSBcOUi1j67KQHbTPcHAqzYJl19t4FA
N/yU1oOjuu/4GKVni27y8NGSavzY5elTZ22lqUqgqT6DjoOG2BTLHuOiNRIMqBmD
Gy41mEq62C9I107pqJnnbARmde4646kDiaf2vkF1BsnBx0Dp93re2eJq4rkAf803
fDvA8iyk5uDFiGg3f70JAu7ZCAKczglD0WUjIiO5Jxncz2sWiO2OuVgdsTuZf+9T
0aODKua60Z7CLn4ZK4ZpdibbOEp66XLeaGuy5HPInTTsr4UnT2kvor/AmmPKOryp
-9oBFnPvf5+wREwlQN2h/PwARAQABiQJbBBgBAgAPBQJPf0QLAhsuBQkHhh+AAUAJ
+9oBFnPvf5+wREwlQN2h/PwARAQABwsGbBBgBAgAPBQJPf0QLAhsuBQkHhh+AAUAJ
EH65fREN+t1gwF0gBBkBAgAGBQJPf0QLAAoJENwLfphr1zmPJtcH/RJ5ba5m0Obq
BGbcJpJwhEjpB6tCOufdzvvJGAMMAuH0Vs5kXrASIJPyVgJ2ab4txg6U3DKIfxnE
IGjfdH9okl/oHRYrI/EDMN0PnIkE1JidhVOEOj3UWaoLUS8vvobKq0XP8B6J+P4q
@@ -8817,7 +8235,7 @@ Op85vZ45d17mnwCSHV7G+4jImZF/+lF5ED/x1coIT+ob4pmQk6Hwf2AP/ydfyf/l
B+boV/SIUXeZ0Esz1B0Frfr+qjAFhDO7blgUfQ0qLOIXRjavSl3g1CGgCKsZ1qZU
99YrO8eFnxdaGSWvVV77df02pkg5xdDHWusPcEvovBUm0dx9DG5PchEOeOdhdkBQ
5UCV
-=Sdfi
+=MD5j
-----END PGP PUBLIC KEY BLOCK-----
pub 7FE9900F412D622E
@@ -8826,24 +8244,24 @@ uid Wouter van Oortmerssen
sub AE6B5325E74ED034
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFnyVlkBCACe8zGkIlDV0dUKmk9PWe2Hw8qM9DdPbtpUOpmUOidGY5svQDL3
+xsBNBFnyVlkBCACe8zGkIlDV0dUKmk9PWe2Hw8qM9DdPbtpUOpmUOidGY5svQDL3
eqvHk85TbxqFEe3Qbjjt+R+iApFuXy5kmueXTvwCm7nAU+k/pZtPuzHyhDs3iFFH
8LCI/dOpd04LXLpuoeLCjBqPlOM+Pxiiu9h9tEnJaJzuXcw9SY3I/puj7qIEwxsJ
W23gdPtYij9If1ht9gtTsDq9s7VbCM5vL0ofM8JVPilnE4oWuw9hjgIfT/QotbuS
wPo+1ExZUfaKYPvMxi2kY3LZU3hlp6P5AxU+eI31yaYjtL+0lu66jTD6s8lwmF87
QqjjxiHwic05//tp2Pk3PIZCoQurfEL6ZHhhABEBAAG0LFdvdXRlciB2YW4gT29y
-dG1lcnNzZW4gPGFhcmRhcHBlbEBnbWFpbC5jb20+uQENBFnyVlkBCACk/9GoJK23
+dG1lcnNzZW4gPGFhcmRhcHBlbEBnbWFpbC5jb20+zsBNBFnyVlkBCACk/9GoJK23
GwRKF8kx4h2oOkb63mP7DSPmsgBGCxvhH04oE9Rg+SPWKTjx7E0XFytyCuBYn9Bo
yGVPp45X5k4Vvj6sNJsSuyW7ExJf1AA7Xqa0mo1tjsUPSeAWyhruZCTaHGmnY6Cl
A3Bsy4E1C8sC0UapW9dNAf66SDp0jWeEkU366fa0RZexz92nIDCTQv4YZkYROX63
P6Se7hNtontmKA6JajD+46OLGgNVgdSKZpO0PMyD8VMg5RUN8PXHqZ68gJ1ihjUJ
499sXFuAaXKcxkbb+ajD6fYPQ2jy4S1tQpUGmBKAdvthMenEShmwk6lsTN86yH5q
-9tTNwMWjTbqFABEBAAGJAR8EGAECAAkFAlnyVlkCGwwACgkQf+mQD0EtYi7nngf/
+9tTNwMWjTbqFABEBAAHCwF8EGAECAAkFAlnyVlkCGwwACgkQf+mQD0EtYi7nngf/
aPDwJQG7NICIuMue/QlWCUG4zW2FZL1iCKMYhfVnz29lM/5AG4Y0SlcRkgEigizB
QUkeLVHaj3obLlxr1I5yrjaOwD/fruk3roC1pi+1i0sv0/eZJvyVN3Ta3pjzYDT/
Qw09Ao5py7HksJsvAM8tIbw5hnmxq091M8/zdgIi/H38QFBWKNYaPkC6WMxWv0M4
7Kttcfv1DBF/NmsMzts45BDoE98CVB/5M2eLVVrbHlj4QqpLDTeSYwcTb7JVSKrN
byp2Ws27l1oNhMexztBivHz1OLxGJY8odrCtuxK3JMllDdln/HHdwrp6h7SDRdxR
6llX74zIdctZVsii8eJHvA==
-=DZ0u
+=LFgr
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 48465f5b1b02..2a99e2c815e1 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -11,6 +11,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -410,6 +455,7 @@
+
@@ -841,6 +887,14 @@
+
+
+
+
+
+
+
+
@@ -915,10 +969,10 @@
-
+
-
+
@@ -963,10 +1017,10 @@
-
+
-
+
@@ -1172,10 +1226,10 @@
-
+
-
+
@@ -1198,10 +1252,10 @@
-
+
-
+
@@ -1245,10 +1299,10 @@
-
+
-
+
@@ -1403,12 +1457,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -1451,10 +1513,18 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -1507,12 +1577,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -1555,10 +1633,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -1603,12 +1689,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -1651,10 +1745,18 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -1699,12 +1801,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -1747,10 +1857,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -1783,6 +1901,11 @@
+
+
+
+
+
@@ -1831,6 +1954,14 @@
+
+
+
+
+
+
+
+
@@ -1849,10 +1980,10 @@
-
+
-
+
@@ -1873,10 +2004,10 @@
-
+
-
+
@@ -1921,12 +2052,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -1969,10 +2108,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -1985,10 +2132,10 @@
-
+
-
+
@@ -2001,10 +2148,10 @@
-
+
-
+
@@ -2075,12 +2222,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2123,26 +2278,50 @@
-
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
@@ -2208,12 +2387,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2256,10 +2443,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -2320,12 +2515,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2368,10 +2571,18 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -2432,12 +2643,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2480,10 +2699,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -2544,12 +2771,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2592,10 +2827,18 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -2614,6 +2857,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2630,6 +2886,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2688,12 +2957,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -2736,10 +3013,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -2772,6 +3057,11 @@
+
+
+
+
+
@@ -2820,6 +3110,14 @@
+
+
+
+
+
+
+
+
@@ -2850,6 +3148,11 @@
+
+
+
+
+
@@ -2898,6 +3201,14 @@
+
+
+
+
+
+
+
+
@@ -2946,6 +3257,14 @@
+
+
+
+
+
+
+
+
@@ -2994,6 +3313,14 @@
+
+
+
+
+
+
+
+
@@ -3052,12 +3379,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -3100,10 +3435,18 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -3164,12 +3507,20 @@
-
+
+
+
+
+
+
+
+
+
@@ -3212,10 +3563,18 @@
-
+
+
+
+
+
+
+
+
+
-
+
@@ -3292,10 +3651,10 @@
-
+
-
+
@@ -3324,10 +3683,10 @@
-
+
-
+
@@ -3404,7 +3763,7 @@
-
+
@@ -3499,10 +3858,10 @@
-
+
-
+
@@ -3546,10 +3905,10 @@
-
+
-
+
@@ -3610,10 +3969,10 @@
-
+
-
+
@@ -3730,10 +4089,10 @@
-
+
-
+
@@ -3850,10 +4209,10 @@
-
+
-
+
@@ -3970,10 +4329,10 @@
-
+
-
+
@@ -4090,10 +4449,10 @@
-
+
-
+
@@ -4210,10 +4569,10 @@
-
+
-
+
@@ -4330,10 +4689,10 @@
-
+
-
+
@@ -4445,6 +4804,11 @@
+
+
+
+
+
@@ -4453,11 +4817,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4466,11 +4843,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4479,11 +4869,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4492,11 +4895,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4513,6 +4937,14 @@
+
+
+
+
+
+
+
+
@@ -4521,6 +4953,14 @@
+
+
+
+
+
+
+
+
@@ -4555,10 +4995,10 @@
-
+
-
+
@@ -4635,10 +5075,10 @@
-
+
-
+
@@ -4774,7 +5214,7 @@
-
+
@@ -4843,10 +5283,10 @@
-
+
-
+
@@ -4873,6 +5313,14 @@
+
+
+
+
+
+
+
+
@@ -4889,6 +5337,14 @@
+
+
+
+
+
+
+
+
@@ -5018,7 +5474,7 @@
-
+
@@ -5045,6 +5501,14 @@
+
+
+
+
+
+
+
+
@@ -5076,10 +5540,10 @@
-
+
-
+
@@ -5106,6 +5570,14 @@
+
+
+
+
+
+
+
+
@@ -5124,10 +5596,10 @@
-
+
-
+
@@ -5154,6 +5626,14 @@
+
+
+
+
+
+
+
+
@@ -5232,7 +5712,7 @@
-
+
@@ -5263,6 +5743,9 @@
+
+
+
@@ -5327,10 +5810,10 @@
-
+
-
+
@@ -5357,6 +5840,14 @@
+
+
+
+
+
+
+
+
@@ -5396,10 +5887,10 @@
-
+
-
+
@@ -5426,6 +5917,14 @@
+
+
+
+
+
+
+
+
@@ -5468,10 +5967,10 @@
-
+
-
+
@@ -5498,6 +5997,14 @@
+
+
+
+
+
+
+
+
@@ -5568,7 +6075,7 @@
-
+
@@ -5595,6 +6102,14 @@
+
+
+
+
+
+
+
+
@@ -5613,10 +6128,10 @@
-
+
-
+
@@ -5643,6 +6158,14 @@
+
+
+
+
+
+
+
+
@@ -5655,7 +6178,7 @@
-
+
@@ -5682,6 +6205,14 @@
+
+
+
+
+
+
+
+
@@ -5700,10 +6231,10 @@
-
+
-
+
@@ -5730,6 +6261,14 @@
+
+
+
+
+
+
+
+
@@ -5766,7 +6305,7 @@
-
+
@@ -5793,6 +6332,14 @@
+
+
+
+
+
+
+
+
@@ -5811,10 +6358,10 @@
-
+
-
+
@@ -5841,6 +6388,14 @@
+
+
+
+
+
+
+
+
@@ -5881,6 +6436,14 @@
+
+
+
+
+
+
+
+
@@ -5957,10 +6520,10 @@
-
+
-
+
@@ -5996,6 +6559,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -6014,10 +6588,10 @@
-
+
-
+
@@ -6044,6 +6618,14 @@
+
+
+
+
+
+
+
+
@@ -6083,10 +6665,10 @@
-
+
-
+
@@ -6113,6 +6695,14 @@
+
+
+
+
+
+
+
+
@@ -6168,7 +6758,7 @@
-
+
@@ -6204,12 +6794,23 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -6236,6 +6837,14 @@
+
+
+
+
+
+
+
+
@@ -7113,6 +7722,14 @@
+
+
+
+
+
+
+
+
@@ -7129,6 +7746,14 @@
+
+
+
+
+
+
+
+
@@ -7161,6 +7786,14 @@
+
+
+
+
+
+
+
+
@@ -7193,6 +7826,14 @@
+
+
+
+
+
+
+
+
@@ -7209,6 +7850,14 @@
+
+
+
+
+
+
+
+
@@ -7238,6 +7887,14 @@
+
+
+
+
+
+
+
+
@@ -7270,6 +7927,14 @@
+
+
+
+
+
+
+
+
@@ -7286,6 +7951,14 @@
+
+
+
+
+
+
+
+
@@ -7318,6 +7991,14 @@
+
+
+
+
+
+
+
+
@@ -7334,6 +8015,14 @@
+
+
+
+
+
+
+
+
@@ -7366,6 +8055,14 @@
+
+
+
+
+
+
+
+
@@ -7382,6 +8079,14 @@
+
+
+
+
+
+
+
+
@@ -7416,7 +8121,7 @@
-
+
@@ -7424,55 +8129,55 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -7493,18 +8198,18 @@
-
+
-
+
-
+
-
+
@@ -7517,7 +8222,7 @@
-
+
@@ -7555,6 +8260,14 @@
+
+
+
+
+
+
+
+
@@ -7571,6 +8284,14 @@
+
+
+
+
+
+
+
+
@@ -7608,6 +8329,14 @@
+
+
+
+
+
+
+
+
@@ -7624,6 +8353,14 @@
+
+
+
+
+
+
+
+
@@ -7703,10 +8440,10 @@
-
+
-
+
@@ -7735,10 +8472,10 @@
-
+
-
+
@@ -7791,10 +8528,10 @@
-
+
-
+
@@ -7823,10 +8560,10 @@
-
+
-
+
@@ -7852,10 +8589,10 @@
-
+
-
+
@@ -7894,10 +8631,10 @@
-
+
-
+
@@ -7918,10 +8655,10 @@
-
+
-
+
@@ -7942,10 +8679,10 @@
-
+
-
+
@@ -7974,10 +8711,10 @@
-
+
-
+
@@ -8006,10 +8743,10 @@
-
+
-
+
@@ -8030,10 +8767,10 @@
-
+
-
+
@@ -8054,10 +8791,10 @@
-
+
-
+
@@ -8086,10 +8823,10 @@
-
+
-
+
@@ -8115,10 +8852,10 @@
-
+
-
+
@@ -8147,10 +8884,10 @@
-
+
-
+
@@ -8299,10 +9036,10 @@
-
+
-
+
@@ -8353,6 +9090,14 @@
+
+
+
+
+
+
+
+
@@ -8401,6 +9146,14 @@
+
+
+
+
+
+
+
+
@@ -8419,10 +9172,10 @@
-
+
-
+
@@ -8509,10 +9262,10 @@
-
+
-
+
@@ -8629,10 +9382,10 @@
-
+
-
+
@@ -8723,6 +9476,11 @@
+
+
+
+
+
@@ -8754,10 +9512,10 @@
-
+
-
+
@@ -8848,6 +9606,11 @@
+
+
+
+
+
@@ -8879,10 +9642,10 @@
-
+
-
+
@@ -8999,10 +9762,10 @@
-
+
-
+
@@ -9119,10 +9882,10 @@
-
+
-
+
@@ -9287,10 +10050,10 @@
-
+
-
+
@@ -9407,10 +10170,10 @@
-
+
-
+
@@ -9527,10 +10290,10 @@
-
+
-
+
@@ -9647,10 +10410,10 @@
-
+
-
+
@@ -9767,10 +10530,10 @@
-
+
-
+
@@ -9887,10 +10650,10 @@
-
+
-
+
@@ -10007,10 +10770,10 @@
-
+
-
+
@@ -10126,6 +10889,9 @@
+
+
+
@@ -10215,10 +10981,10 @@
-
+
-
+
@@ -10335,10 +11101,10 @@
-
+
-
+
@@ -10455,10 +11221,10 @@
-
+
-
+
@@ -10575,10 +11341,10 @@
-
+
-
+
@@ -10695,10 +11461,10 @@
-
+
-
+
@@ -10815,10 +11581,10 @@
-
+
-
+
@@ -10935,10 +11701,10 @@
-
+
-
+
@@ -11103,10 +11869,10 @@
-
+
-
+
@@ -11223,10 +11989,10 @@
-
+
-
+
@@ -11319,10 +12085,10 @@
-
+
-
+
@@ -11351,10 +12117,10 @@
-
+
-
+
@@ -11471,10 +12237,10 @@
-
+
-
+
@@ -11619,10 +12385,10 @@
-
+
-
+
@@ -11739,10 +12505,10 @@
-
+
-
+
@@ -12003,10 +12769,10 @@
-
+
-
+
@@ -12315,10 +13081,10 @@
-
+
-
+
@@ -12435,10 +13201,10 @@
-
+
-
+
@@ -12555,10 +13321,10 @@
-
+
-
+
@@ -12675,10 +13441,10 @@
-
+
-
+
@@ -13019,10 +13785,10 @@
-
+
-
+
@@ -13099,10 +13865,10 @@
-
+
-
+
@@ -13179,10 +13945,10 @@
-
+
-
+
@@ -13299,10 +14065,10 @@
-
+
-
+
@@ -13419,10 +14185,10 @@
-
+
-
+
@@ -13539,10 +14305,10 @@
-
+
-
+
@@ -13659,10 +14425,10 @@
-
+
-
+
@@ -13779,10 +14545,10 @@
-
+
-
+
@@ -13899,10 +14665,10 @@
-
+
-
+
@@ -14019,10 +14785,10 @@
-
+
-
+
@@ -14139,10 +14905,10 @@
-
+
-
+
@@ -14259,10 +15025,10 @@
-
+
-
+
@@ -14379,10 +15145,10 @@
-
+
-
+
@@ -14499,10 +15265,10 @@
-
+
-
+
@@ -14795,10 +15561,10 @@
-
+
-
+
@@ -14915,10 +15681,10 @@
-
+
-
+
@@ -15035,10 +15801,10 @@
-
+
-
+
@@ -15186,26 +15952,26 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -15291,10 +16057,10 @@
-
+
-
+
@@ -15331,10 +16097,10 @@
-
+
-
+
@@ -15371,10 +16137,10 @@
-
+
-
+
@@ -15798,6 +16564,14 @@
+
+
+
+
+
+
+
+
@@ -15814,6 +16588,14 @@
+
+
+
+
+
+
+
+
@@ -15830,6 +16612,14 @@
+
+
+
+
+
+
+
+
@@ -15854,6 +16644,14 @@
+
+
+
+
+
+
+
+
@@ -15870,12 +16668,20 @@
+
+
+
+
+
+
+
+
-
+
-
+
@@ -15966,6 +16772,14 @@
+
+
+
+
+
+
+
+
@@ -16046,6 +16860,14 @@
+
+
+
+
+
+
+
+
@@ -16382,6 +17204,14 @@
+
+
+
+
+
+
+
+
@@ -17178,6 +18008,11 @@
+
+
+
+
+
@@ -17218,6 +18053,14 @@
+
+
+
+
+
+
+
+
@@ -17258,6 +18101,14 @@
+
+
+
+
+
+
+
+
@@ -17378,6 +18229,14 @@
+
+
+
+
+
+
+
+
@@ -17435,10 +18294,10 @@
-
+
-
+
@@ -17537,6 +18396,14 @@
+
+
+
+
+
+
+
+
@@ -17569,6 +18436,14 @@
+
+
+
+
+
+
+
+
@@ -17638,6 +18513,14 @@
+
+
+
+
+
+
+
+
@@ -17854,10 +18737,10 @@
-
+
-
+
@@ -17878,18 +18761,18 @@
-
+
-
+
-
+
-
+
@@ -18045,10 +18928,10 @@
-
+
-
+
@@ -18583,6 +19466,11 @@
+
+
+
+
+
@@ -18671,6 +19559,14 @@
+
+
+
+
+
+
+
+
@@ -18703,6 +19599,14 @@
+
+
+
+
+
+
+
+
@@ -18756,7 +19660,7 @@
-
+
@@ -18822,10 +19726,10 @@
-
+
-
+
@@ -18852,6 +19756,14 @@
+
+
+
+
+
+
+
+
@@ -18940,6 +19852,14 @@
+
+
+
+
+
+
+
+
@@ -19020,6 +19940,14 @@
+
+
+
+
+
+
+
+
@@ -19108,6 +20036,14 @@
+
+
+
+
+
+
+
+
@@ -19376,6 +20312,14 @@
+
+
+
+
+
+
+
+
@@ -19391,10 +20335,10 @@
-
+
-
+
@@ -19429,6 +20373,14 @@
+
+
+
+
+
+
+
+
@@ -19471,10 +20423,10 @@
-
+
-
+
@@ -19637,15 +20589,26 @@
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
@@ -20184,10 +21147,10 @@
-
+
-
+
@@ -20208,18 +21171,18 @@
-
+
-
+
-
+
-
+
@@ -20325,6 +21288,14 @@
+
+
+
+
+
+
+
+
@@ -20655,10 +21626,10 @@
-
+
-
+
@@ -20671,10 +21642,10 @@
-
+
-
+
@@ -20687,10 +21658,10 @@
-
+
-
+
@@ -20754,6 +21725,11 @@
+
+
+
+
+
@@ -20778,6 +21754,14 @@
+
+
+
+
+
+
+
+
@@ -20786,6 +21770,14 @@
+
+
+
+
+
+
+
+
@@ -20820,18 +21812,18 @@
-
+
-
+
-
+
-
+
@@ -20849,10 +21841,10 @@
-
+
-
+
@@ -20899,10 +21891,10 @@
-
+
-
+
@@ -20931,7 +21923,7 @@
-
+
@@ -20942,10 +21934,10 @@
-
+
-
+
@@ -21417,10 +22409,10 @@
-
+
-
+
@@ -21493,10 +22485,15 @@
-
+
-
+
+
+
+
+
+
@@ -21525,10 +22522,10 @@
-
+
-
+
@@ -21541,10 +22538,10 @@
-
+
-
+
@@ -21557,10 +22554,10 @@
-
+
-
+
@@ -22250,6 +23247,11 @@
+
+
+
+
+
@@ -23633,23 +24635,23 @@
-
+
-
+
-
+
-
+
-
+
@@ -23707,10 +24709,10 @@
-
+
-
+
@@ -23859,10 +24861,10 @@
-
+
-
+
@@ -23913,6 +24915,14 @@
+
+
+
+
+
+
+
+
@@ -24033,7 +25043,7 @@
-
+
@@ -24194,7 +25204,7 @@
-
+
@@ -24204,7 +25214,7 @@
-
+
@@ -24241,7 +25251,7 @@
-
+
@@ -24369,10 +25379,10 @@
-
+
-
+
@@ -24390,12 +25400,12 @@
-
+
-
+
@@ -24405,23 +25415,23 @@
-
+
-
+
-
+
-
+
@@ -24434,18 +25444,18 @@
-
+
-
+
-
+
-
+
@@ -24706,10 +25716,10 @@
-
+
-
+
@@ -25100,10 +26110,10 @@
-
+
-
+
@@ -25129,22 +26139,22 @@
-
+
-
+
-
+
-
+
@@ -25229,10 +26239,10 @@
-
+
-
+
@@ -25258,18 +26268,18 @@
-
+
-
+
-
+
-
+
@@ -25438,10 +26448,10 @@
-
+
-
+
@@ -25489,18 +26499,18 @@
-
+
-
+
-
+
-
+
@@ -25521,10 +26531,10 @@
-
+
-
+
@@ -25545,10 +26555,10 @@
-
+
-
+
@@ -25609,10 +26619,10 @@
-
+
-
+
@@ -25649,10 +26659,10 @@
-
+
-
+
@@ -25686,10 +26696,10 @@
-
+
-
+
@@ -25814,10 +26824,10 @@
-
+
-
+
@@ -25827,7 +26837,7 @@
-
+
@@ -25912,10 +26922,10 @@
-
+
-
+
@@ -25981,10 +26991,10 @@
-
+
-
+
@@ -26045,10 +27055,10 @@
-
+
-
+
@@ -26093,10 +27103,10 @@
-
+
-
+
@@ -26149,10 +27159,10 @@
-
+
-
+
@@ -26226,10 +27236,10 @@
-
+
-
+
@@ -26290,10 +27300,10 @@
-
+
-
+
@@ -26367,10 +27377,10 @@
-
+
-
+
@@ -26407,10 +27417,10 @@
-
+
-
+
@@ -26463,10 +27473,10 @@
-
+
-
+
@@ -26535,10 +27545,10 @@
-
+
-
+
@@ -26607,10 +27617,10 @@
-
+
-
+
@@ -26703,13 +27713,13 @@
-
+
-
+
-
+
@@ -26778,10 +27788,10 @@
-
+
-
+
@@ -26850,10 +27860,10 @@
-
+
-
+
@@ -26922,10 +27932,10 @@
-
+
-
+
@@ -27004,10 +28014,10 @@
-
+
-
+
@@ -27076,10 +28086,10 @@
-
+
-
+
@@ -27148,10 +28158,10 @@
-
+
-
+
@@ -27167,15 +28177,15 @@
-
+
-
+
-
+
@@ -27188,10 +28198,10 @@
-
+
-
+
@@ -27260,10 +28270,10 @@
-
+
-
+
@@ -27332,10 +28342,10 @@
-
+
-
+
@@ -27353,10 +28363,10 @@
-
+
-
+
@@ -27417,10 +28427,10 @@
-
+
-
+
@@ -27433,10 +28443,10 @@
-
+
-
+
@@ -27449,10 +28459,10 @@
-
+
-
+
@@ -27505,18 +28515,18 @@
-
+
-
+
-
+
-
+
@@ -27529,18 +28539,18 @@
-
+
-
+
-
+
-
+
@@ -27577,10 +28587,10 @@
-
+
-
+
@@ -27633,10 +28643,10 @@
-
+
-
+
@@ -27705,10 +28715,10 @@
-
+
-
+
@@ -27777,10 +28787,10 @@
-
+
-
+
@@ -27849,10 +28859,10 @@
-
+
-
+
@@ -27921,15 +28931,31 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -27945,7 +28971,7 @@
-
+
@@ -27958,23 +28984,26 @@
-
+
-
+
+
+
+
-
+
-
+
-
+
@@ -27987,10 +29016,10 @@
-
+
-
+
@@ -28017,7 +29046,7 @@
-
+
@@ -28038,10 +29067,10 @@
-
+
-
+
@@ -28062,10 +29091,10 @@
-
+
-
+
@@ -28092,13 +29121,13 @@
-
+
-
+
@@ -28117,10 +29146,10 @@
-
+
-
+
@@ -28131,18 +29160,18 @@
-
+
-
+
-
+
-
+
@@ -28155,7 +29184,7 @@
-
+
@@ -28181,23 +29210,26 @@
-
+
-
+
+
+
+
-
+
-
+
-
+
@@ -28205,15 +29237,15 @@
-
+
-
+
-
+
@@ -28241,7 +29273,7 @@
-
+
@@ -28256,7 +29288,7 @@
-
+
@@ -28271,7 +29303,7 @@
-
+
@@ -28281,7 +29313,7 @@
-
+
@@ -28291,15 +29323,15 @@
-
+
-
+
-
+
@@ -28307,15 +29339,15 @@
-
+
-
+
-
+
@@ -28328,18 +29360,18 @@
-
+
-
+
-
+
-
+
@@ -28352,10 +29384,10 @@
-
+
-
+
@@ -28440,10 +29472,10 @@
-
+
-
+
@@ -28456,10 +29488,10 @@
-
+
-
+
@@ -28467,15 +29499,15 @@
-
+
-
+
-
+
@@ -28493,18 +29525,18 @@
-
+
-
+
-
+
-
+
@@ -28517,10 +29549,10 @@
-
+
-
+
@@ -28605,10 +29637,10 @@
-
+
-
+
@@ -28621,10 +29653,10 @@
-
+
-
+
@@ -28693,10 +29725,10 @@
-
+
-
+
@@ -28765,10 +29797,10 @@
-
+
-
+
@@ -28837,10 +29869,10 @@
-
+
-
+
@@ -28893,18 +29925,18 @@
-
+
-
+
-
+
-
+
@@ -28912,6 +29944,11 @@
+
+
+
+
+
@@ -29055,6 +30092,11 @@
+
+
+
+
+
@@ -29152,7 +30194,7 @@
-
+
@@ -29258,7 +30300,7 @@
-
+
@@ -29429,11 +30471,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29442,6 +30502,14 @@
+
+
+
+
+
+
+
+
@@ -29473,6 +30541,11 @@
+
+
+
+
+
@@ -29494,6 +30567,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29518,6 +30607,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29541,6 +30646,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29565,6 +30686,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29573,6 +30710,14 @@
+
+
+
+
+
+
+
+
@@ -30127,10 +31272,10 @@
-
+
-
+
@@ -30175,10 +31320,10 @@
-
+
-
+
@@ -30238,10 +31383,10 @@
-
+
-
+
@@ -30286,10 +31431,10 @@
-
+
-
+
@@ -30334,10 +31479,10 @@
-
+
-
+
@@ -30350,10 +31495,10 @@
-
+
-
+
@@ -30404,6 +31549,14 @@
+
+
+
+
+
+
+
+
@@ -30622,7 +31775,7 @@
-
+
diff --git a/jacoco.gradle b/jacoco.gradle
deleted file mode 100644
index f3a7090b679b..000000000000
--- a/jacoco.gradle
+++ /dev/null
@@ -1,106 +0,0 @@
-apply plugin: "jacoco"
-
-jacoco {
- toolVersion = "$jacoco_version"
-}
-
-// Force Jacoco Version
-
-subprojects {
- configurations.all {
- resolutionStrategy {
- eachDependency { details ->
- if ("org.jacoco" == details.requested.group) {
- details.useVersion "$jacocoVersion"
- }
- }
- }
- }
-}
-
-project.afterEvaluate { project ->
-
- tasks.withType(Test).configureEach {
- jacoco.includeNoLocationClasses = true
- jacoco.excludes = ["jdk.internal.*"]
- }
-
- final flavor = "Gplay"
- final buildType = "Debug"
- final variant = "$flavor${buildType.capitalize()}"
- final taskName = "jacocoTest${variant.capitalize()}UnitTestReport"
-
- task "$taskName"(type: JacocoReport, dependsOn: "test${variant.capitalize()}UnitTest") {
-
- reports {
- csv.required = Boolean.FALSE
- xml.required = Boolean.TRUE
- html.required = Boolean.TRUE
- }
-
- final fileFilter = [
- // data binding
- "**/databinding/*",
- "android/databinding/**/*.class",
- "**/android/databinding/*Binding.class",
- "**/android/databinding/*",
- "**/androidx/databinding/*",
- "**/BR.*",
- // android
- "**/R.class",
- "**/R\$*.class",
- "**/BuildConfig.*",
- "**/Manifest*.*",
- "**/*Test*.*",
- "android/**/*.*",
- // kotlin
- "**/*MapperImpl*.*",
- "**/*\$ViewInjector*.*",
- "**/*\$ViewBinder*.*",
- "**/BuildConfig.*",
- "**/*Component*.*",
- "**/*BR*.*",
- "**/Manifest*.*",
- "**/*\$Lambda\$*.*",
- "**/*Companion*.*",
- "**/*Module*.*",
- "**/*Dagger*.*",
- "**/*Hilt*.*",
- "**/*MembersInjector*.*",
- "**/*_MembersInjector.class",
- "**/*_Factory*.*",
- "**/*_Provide*Factory*.*",
- "**/*Extensions*.*",
- // sealed and data classes
- "**/*\$Result.*",
- "**/*\$Result\$*.*",
- // adapters generated by moshi
- "**/*JsonAdapter.*",
- // Hilt
- "**/*Module.kt",
- "**/di/**",
- "dagger.hilt.internal/*",
- "hilt_aggregated_deps/*",
-
- "**/*\$Result.*", /* filtering `sealed` and `data` classes */
- "**/*\$Result\$*.*",/* filtering `sealed` and `data` classes */
- "**/*Args*.*", /* filtering Navigation Component generated classes */
- "**/*Directions*.*", /* filtering Navigation Component generated classes */
- "**/*inlined*.class", /* filtering inlined classes */
- "**/composables/**"
- /* INSERT ANY OTHER JUNK YOU WANT FILTERED OUT HERE */]
-
- final androidKotlinTree = fileTree(dir: "${project.buildDir}/tmp/kotlin-classes/${variant}", excludes: fileFilter)
- final kotlinTree = fileTree(dir: "${project.buildDir}/classes/kotlin/main", excludes: fileFilter)
- final javacTree = fileTree(dir: "${project.buildDir}/intermediates/javac/${variant}/classes", excludes: fileFilter)
-
- final mainSrc = "${project.projectDir}/src/main/java"
- final productFlavorSrc = "${project.projectDir}/src/${flavor}/java"
- final buildTypeSrc = "${project.projectDir}/src/${buildType}/java"
-
- sourceDirectories.setFrom files([mainSrc, productFlavorSrc, buildTypeSrc])
- classDirectories.setFrom files([androidKotlinTree, kotlinTree, javacTree])
- executionData.setFrom fileTree(dir: project.buildDir, includes: ["jacoco/test${variant.capitalize()}UnitTest.exec",
- "outputs/unit_test_code_coverage/${variant}UnitTest/test${variant.capitalize()}UnitTest.exec",])
- }
-}
diff --git a/jacoco.gradle.kts b/jacoco.gradle.kts
new file mode 100644
index 000000000000..48a59fa6f279
--- /dev/null
+++ b/jacoco.gradle.kts
@@ -0,0 +1,109 @@
+apply()
+
+configure {
+ toolVersion = extensions
+ .getByType()
+ .find("libs")
+ .get()
+ .findVersion("jacoco")
+ .get()
+ .displayName
+}
+
+val flavor = "gplay"
+val buildType = "Debug"
+val variant = "$flavor${buildType.capitalize()}"
+
+val jacocoTask = tasks.register("jacocoTest${variant.capitalize()}UnitTestReport") {
+ reports {
+ csv.required = false
+ xml.required = true
+ html.required = true
+ }
+
+ val fileFilter = listOf(
+ // data binding
+ "**/databinding/*",
+ "android/databinding/**/*.class",
+ "**/android/databinding/*Binding.class",
+ "**/android/databinding/*",
+ "**/androidx/databinding/*",
+ "**/BR.*",
+ // android
+ "**/R.class",
+ "**/R\$*.class",
+ "**/BuildConfig.*",
+ "**/Manifest*.*",
+ "**/*Test*.*",
+ "android/**/*.*",
+ // kotlin
+ "**/*MapperImpl*.*",
+ "**/*\$ViewInjector*.*",
+ "**/*\$ViewBinder*.*",
+ "**/BuildConfig.*",
+ "**/*Component*.*",
+ "**/*BR*.*",
+ "**/Manifest*.*",
+ "**/*\$Lambda\$*.*",
+ "**/*Companion*.*",
+ "**/*Module*.*",
+ "**/*Dagger*.*",
+ "**/*Hilt*.*",
+ "**/*MembersInjector*.*",
+ "**/*_MembersInjector.class",
+ "**/*_Factory*.*",
+ "**/*_Provide*Factory*.*",
+ "**/*Extensions*.*",
+ // sealed and data classes
+ "**/*\$Result.*",
+ "**/*\$Result\$*.*",
+ // adapters generated by moshi
+ "**/*JsonAdapter.*",
+ // Hilt
+ "**/*Module.kt",
+ "**/di/**",
+ "dagger.hilt.internal/*",
+ "hilt_aggregated_deps/*",
+
+ "**/*\$Result.*", /* filtering `sealed` and `data` classes */
+ "**/*\$Result\$*.*",/* filtering `sealed` and `data` classes */
+ "**/*Args*.*", /* filtering Navigation Component generated classes */
+ "**/*Directions*.*", /* filtering Navigation Component generated classes */
+ "**/*inlined*.class", /* filtering inlined classes */
+ "**/composables/**"
+ /* INSERT ANY OTHER JUNK YOU WANT FILTERED OUT HERE */
+ )
+
+ val androidKotlinTree = project.fileTree("${project.layout.buildDirectory}/tmp/kotlin-classes/${variant}") {
+ exclude(fileFilter)
+ }
+ val javacTree = project.fileTree("${project.layout.buildDirectory}/intermediates/javac/${variant}") {
+ exclude(fileFilter)
+ }
+
+ sourceDirectories.setFrom(
+ project.layout.projectDirectory.dir("src/main/java"),
+ project.layout.projectDirectory.dir("src/${flavor}/java"),
+ project.layout.projectDirectory.dir("src/${buildType}/java")
+ )
+ classDirectories.setFrom(
+ project.layout.projectDirectory.files(
+ project.fileTree(project.layout.buildDirectory.dir("intermediates/javac/${variant}")) { exclude(fileFilter) },
+ project.fileTree(project.layout.buildDirectory.dir("tmp/kotlin-classes/$variant")) { exclude(fileFilter) }
+ )
+ )
+ executionData.setFrom(
+ project.fileTree(project.layout.buildDirectory.dir("jacoco")) {
+ include("**/test${variant.capitalize()}UnitTest.exec")
+ }
+ )
+}
+
+tasks.withType()
+ .matching { task -> task.name == "test${variant.capitalize()}UnitTest" }
+ .configureEach {
+ extensions.getByType().isIncludeNoLocationClasses = true
+ extensions.getByType().setExcludes(listOf("jdk.internal.*"))
+
+ finalizedBy(jacocoTask)
+ }
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index f8c7dc28b281..000000000000
--- a/settings.gradle
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2014-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-rootProject.name = "Nextcloud"
-
-include ":app"
-include ":appscan"
-
-//includeBuild("../android-common") {
-// dependencySubstitution {
-// substitute module("com.github.nextcloud.android-common:ui") using project(":ui")
-// }
-//}
-
-//includeBuild("../android-library") {
-// dependencySubstitution {
-// substitute module('com.github.nextcloud:android-library') using project(':library') // broken on gradle 8.14.2, so use 8.13 if needed
-// }
-//}
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 000000000000..9f9d6ddecf7d
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,54 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2014-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ */
+rootProject.name = "Nextcloud"
+
+pluginManagement {
+ resolutionStrategy.eachPlugin {
+ if (requested.id.id == "shot") useModule("com.karumi:shot:${requested.version}")
+ }
+
+ repositories {
+ google {
+ content {
+ includeGroupByRegex("com\\.android.*")
+ includeGroupByRegex("com\\.google.*")
+ includeGroupByRegex("androidx.*")
+ }
+ }
+ gradlePluginPortal()
+ mavenCentral()
+ }
+}
+
+@Suppress("UnstableApiUsage")
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google {
+ content {
+ includeGroupByRegex("com\\.android.*")
+ includeGroupByRegex("com\\.google.*")
+ includeGroupByRegex("androidx.*")
+ }
+ }
+ mavenCentral()
+ maven("https://jitpack.io")
+ }
+}
+//includeBuild("../android-common") {
+// dependencySubstitution {
+// substitute module("com.github.nextcloud.android-common:ui") using project(":ui")
+// }
+//}
+
+//includeBuild("../android-library") {
+// dependencySubstitution {
+// substitute module('com.github.nextcloud:android-library') using project(':library') // broken on gradle 8.14.2, so use 8.13 if needed
+// }
+//}
+
+include(":app", ":appscan")
\ No newline at end of file