diff --git a/.circleci/config.yml b/.circleci/config.yml
index df6f775ede8c82ee77c782ab41315f52a25c8a9a..96d71645991e2727db6611d0cac5d02d7dabee1a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -12,11 +12,14 @@ jobs:
     steps:
       - checkout
       - install-ndk:
-          ndk-sha: "50250fcba479de477b45801e2699cca47f7e1267"
-          ndk-version: "android-ndk-r21b"
+          ndk-sha: "c81a5bcb4672a18d3647bf6898cd4dbcb978d0e8"
+          ndk-version: "android-ndk-r21c"
       - restore-build-cache
       - restore_cache:
-          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "Corona-Warn-App/build.gradle" }}
+          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "Corona-Warn-App/build.gradle" }}-{{ checksum  "Server-Protocol-Buffer/build.gradle" }}
+      - run:
+          name: Sudo GradleWrapper
+          command: chmod +x ./gradlew
       - run:
           command: ./gradlew quickBuild
           environment:
@@ -26,7 +29,7 @@ jobs:
       - save_cache:
           paths:
             - ~/.gradle
-          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "Corona-Warn-App/build.gradle" }}
+          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "Corona-Warn-App/build.gradle" }}-{{ checksum  "Server-Protocol-Buffer/build.gradle" }}
       - store_artifacts:
           path: Corona-Warn-App/build/reports
           destination: reports
diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle
index a7c764f2dca3186c7f0c41d28aca8ed001de8718..65c6270697cffe71ae60f01b9b7999bd9525b494 100644
--- a/Corona-Warn-App/build.gradle
+++ b/Corona-Warn-App/build.gradle
@@ -24,7 +24,7 @@ apply plugin: 'kotlin-kapt'
 apply plugin: "androidx.navigation.safeargs.kotlin"
 
 android {
-    ndkVersion "21.1.6352462"
+    ndkVersion "21.2.6472646"
     compileSdkVersion 29
     buildToolsVersion "29.0.3"
 
@@ -196,6 +196,6 @@ dependencies {
     implementation "androidx.security:security-crypto:1.0.0-rc02"
 
     implementation 'net.zetetic:android-database-sqlcipher:4.4.0'
-    implementation "androidx.sqlite:sqlite:2.0.1"
+    implementation "androidx.sqlite:sqlite:2.1.0"
 
 }
diff --git a/Corona-Warn-App/src/main/AndroidManifest.xml b/Corona-Warn-App/src/main/AndroidManifest.xml
index 45df464cdfa2ce1cad5753195594c63607dfdec7..bc150fdde9cbb787753eda68862c8d0890ed2e7a 100644
--- a/Corona-Warn-App/src/main/AndroidManifest.xml
+++ b/Corona-Warn-App/src/main/AndroidManifest.xml
@@ -65,13 +65,6 @@
             android:exported="false"
             android:screenOrientation="fullSensor"
             tools:replace="screenOrientation" />
-
-        <service
-            android:name=".notification.ExposureNotificationIntentService"
-            android:enabled="true"
-            android:exported="false"
-            android:permission="android.permission.BIND_JOB_SERVICE" />
-
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
index 558f09e2d2463ffe3b00eaf905274e6428bcbac7..74965554c01b0a905fb0c7d62966cddfeee7e895 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
@@ -203,7 +203,7 @@ object WebRequestBuilder {
                     Response.Listener { response ->
                         Log.d(
                             TAG,
-                            "$requestID: Test Result Request successful"
+                            "$requestID: TAN Request successful"
                         )
                         cont.resume(response)
                     },
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/KeySubmissionRequest.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/KeySubmissionRequest.kt
index 1299f9eae4e9fbc17042750157606ddd9dc9068d..e1fd16f017f1bedf771b7ccb322704008f53fccd 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/KeySubmissionRequest.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/KeySubmissionRequest.kt
@@ -44,7 +44,7 @@ class KeySubmissionRequest(
         val headers = HashMap<String, String>(super.getHeaders())
         if (faked) headers["cwa-fake"] = Math.random().toInt().toString()
         else headers["cwa-fake"] = "0"
-        headers["cwa-authorization"] = "TAN 123456"
+        headers["cwa-authorization"] = authCode
         this.addMarker("headers:$headers")
         return headers
     }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/RegistrationTokenRequest.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/RegistrationTokenRequest.kt
index 9291670c4bf429f2147f5d62deb1abf8d2885895..1a76aac8ca8c7199a4d58d70cc3e15b301b14bb1 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/RegistrationTokenRequest.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/request/RegistrationTokenRequest.kt
@@ -10,6 +10,7 @@ import com.android.volley.RetryPolicy
 import com.android.volley.toolbox.HttpHeaderParser
 import de.rki.coronawarnapp.exception.ExceptionCategory.HTTP
 import de.rki.coronawarnapp.exception.report
+import de.rki.coronawarnapp.service.submission.SubmissionConstants
 import org.json.JSONException
 import org.json.JSONObject
 import java.io.UnsupportedEncodingException
@@ -37,12 +38,17 @@ class RegistrationTokenRequest(
 
     override fun getBody(): ByteArray {
         val body = JSONObject()
-        val md = MessageDigest.getInstance("SHA-256")
-        val keyDigest = md.digest(key.toByteArray())
 
         var keyStr = ""
-        for (b in keyDigest) {
-            keyStr += String.format("%02x", b)
+        if (keyType == SubmissionConstants.QR_CODE_KEY_TYPE) {
+            val md = MessageDigest.getInstance("SHA-256")
+            val keyDigest = md.digest(key.toByteArray())
+
+            for (b in keyDigest) {
+                keyStr += String.format("%02x", b)
+            }
+        } else {
+            keyStr = key
         }
 
         body.put("keyType", keyType)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/notification/ExposureNotificationIntentService.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/notification/ExposureNotificationIntentService.kt
deleted file mode 100644
index a2f02f200998f4925595090e937f2319f4f1ecd4..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/notification/ExposureNotificationIntentService.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package de.rki.coronawarnapp.notification
-
-import android.app.IntentService
-import android.app.NotificationManager
-import android.app.PendingIntent
-import android.content.Context
-import android.content.Intent
-import android.util.Log
-import androidx.core.app.NotificationCompat
-import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.ui.main.MainActivity
-
-class ExposureNotificationIntentService : IntentService("ExposureNotificationIntentService") {
-
-    companion object {
-        private val TAG: String? = ExposureNotificationIntentService::class.simpleName
-    }
-
-    override fun onHandleIntent(p0: Intent?) {
-        Log.i(TAG, "onHandleIntent")
-        fireNotification()
-    }
-
-    private fun fireNotification() {
-        val notificationManager =
-            this.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
-        val takeBreakIntent = Intent(this, MainActivity::class.java)
-        val pendingIntent =
-            PendingIntent.getActivity(
-                this,
-                0,
-                takeBreakIntent,
-                PendingIntent.FLAG_UPDATE_CURRENT
-            )
-
-        val notificationChannelId = getString(R.string.notification_channel_id)
-        val notificationId = getString(R.string.notification_id)
-
-        val notificationBuilder =
-            NotificationCompat.Builder(this, notificationChannelId).apply {
-                setContentTitle(getString(R.string.notification_headline))
-                setContentText(getString(R.string.notification_body))
-                setSmallIcon(R.drawable.ic_splash_logo)
-                priority = NotificationCompat.PRIORITY_HIGH
-                setContentIntent(pendingIntent)
-            }
-        val notification = notificationBuilder.build()
-
-        notificationManager.notify(notificationId.toInt(), notification)
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionConstants.kt
index c497246aa5262f4af3c3047fd045898333f3cbd5..7798f280359645341682943a18e32d1d45f92992 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionConstants.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionConstants.kt
@@ -14,7 +14,7 @@ object SubmissionConstants {
     private val VERSIONED_VERIFICATION_CDN_URL = "$VERIFICATION_CDN_URL/$VERSION/$CURRENT_VERSION"
 
     const val QR_CODE_KEY_TYPE = "GUID"
-    const val TELE_TAN__KEY_TYPE = "teleTAN"
+    const val TELE_TAN_KEY_TYPE = "TELETAN"
 
     val REGISTRATION_TOKEN_URL = "$VERSIONED_VERIFICATION_CDN_URL/$REGISTRATION_TOKEN"
     val TEST_RESULT_URL = "$VERSIONED_VERIFICATION_CDN_URL/$TEST_RESULT"
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
index 59a27c5a6a7c8253d9ce8468fc9bd2484cddda35..b6751d06c724478e4fe715909b3cfff332a1727d 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
@@ -1,7 +1,6 @@
 package de.rki.coronawarnapp.service.submission
 
 import de.rki.coronawarnapp.exception.InvalidQRCodeExcpetion
-import de.rki.coronawarnapp.exception.NoAuthCodeSetException
 import de.rki.coronawarnapp.exception.NoGUIDOrTANSetException
 import de.rki.coronawarnapp.exception.NoRegistrationTokenSetException
 import de.rki.coronawarnapp.http.WebRequestBuilder
@@ -9,7 +8,7 @@ import de.rki.coronawarnapp.service.submission.SubmissionConstants.QR_CODE_KEY_T
 import de.rki.coronawarnapp.service.submission.SubmissionConstants.QR_CODE_VALIDATION_REGEX
 import de.rki.coronawarnapp.service.submission.SubmissionConstants.REGISTRATION_TOKEN_URL
 import de.rki.coronawarnapp.service.submission.SubmissionConstants.TAN_REQUEST_URL
-import de.rki.coronawarnapp.service.submission.SubmissionConstants.TELE_TAN__KEY_TYPE
+import de.rki.coronawarnapp.service.submission.SubmissionConstants.TELE_TAN_KEY_TYPE
 import de.rki.coronawarnapp.storage.LocalData
 import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction
 
@@ -42,30 +41,25 @@ object SubmissionService {
             WebRequestBuilder.asyncGetRegistrationToken(
                 REGISTRATION_TOKEN_URL,
                 tan,
-                TELE_TAN__KEY_TYPE
+                TELE_TAN_KEY_TYPE
             )
 
         LocalData.registrationToken(registrationToken)
         deleteTeleTAN()
     }
 
-    suspend fun asyncRequestAuthCode() {
+    suspend fun asyncRequestAuthCode(): String {
         val registrationToken =
             LocalData.registrationToken() ?: throw NoRegistrationTokenSetException()
 
         val authCode = WebRequestBuilder.asyncGetTan(TAN_REQUEST_URL, registrationToken)
-
-        LocalData.authCode(authCode)
-        deleteRegistrationToken()
+        return authCode
     }
 
     suspend fun asyncSubmitExposureKeys() {
-        val authCode =
-            LocalData.authCode() ?: throw NoAuthCodeSetException()
-
-        SubmitDiagnosisKeysTransaction.start(authCode)
-
-        deleteAuthCode()
+        val registrationToken =
+            LocalData.registrationToken() ?: throw NoRegistrationTokenSetException()
+        SubmitDiagnosisKeysTransaction.start(registrationToken)
     }
 
     fun validateAndStoreTestGUID(testGUID: String) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt
index 39984d65b6d714d8b54a0e25adf782c75ee9b19d..764d5b174c254764daed8778d5d2795ac07a7aaa 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt
@@ -2,13 +2,15 @@ package de.rki.coronawarnapp.transaction
 
 import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
 import de.rki.coronawarnapp.service.diagnosiskey.DiagnosisKeyService
+import de.rki.coronawarnapp.service.submission.SubmissionService
 import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.CLOSE
+import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.RETRIEVE_TAN
 import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY
 import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.SUBMIT_KEYS
 import de.rki.coronawarnapp.util.ProtoFormatConverterExtensions.transformKeyHistoryToExternalFormat
 
 /**
- * The ReportDiagnosisKeysTransaction is used to define an atomic Transaction for Key Reports. Its states allow an
+ * The SubmitDiagnosisKeysTransaction is used to define an atomic Transaction for Key Reports. Its states allow an
  * isolated work area that can recover from failures and keep a consistent key state even through an
  * unclear, potentially dangerous state within the transaction itself. It is guaranteed that the Key Files
  * that are used in the transaction will be generated, submitted and accepted from the Google API once the transaction
@@ -17,11 +19,10 @@ import de.rki.coronawarnapp.util.ProtoFormatConverterExtensions.transformKeyHist
  * There is currently a simple rollback behavior needed / identified.
  *
  * The Transaction undergoes multiple States:
- * 1. INIT - Initial Setup of the Transaction and Transaction ID Generation
- * 2. TOKEN - Initialisation of the identifying token used during the entire transaction
- * 3. RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY - Retrieval of the Exposure Key History from the API
- * 5. SUBMIT_KEYS - Submission of Key retrieved to the Server
- * 8. CLOSE - Transaction Closure
+ * 1. RETRIEVE_TAN - Fetch the TAN with the provided Registration Token
+ * 2. RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY - Get the TEKs from the exposure notification framework
+ * 3. SUBMIT_KEYS - Submission of the diagnosis keys to the Server
+ * 4. CLOSE - Transaction Closure
  *
  * This transaction is special in terms of concurrent entry-calls (e.g. calling the transaction again before it closes and
  * releases its internal mutex. The transaction will not queue up like a normal mutex, but instead completely omit the last
@@ -38,13 +39,20 @@ object SubmitDiagnosisKeysTransaction : Transaction() {
     /** possible transaction states */
     private enum class SubmitDiagnosisKeysTransactionState :
         TransactionState {
+        RETRIEVE_TAN,
         RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY,
         SUBMIT_KEYS,
         CLOSE
     }
 
     /** initiates the transaction. This suspend function guarantees a successful transaction once completed. */
-    suspend fun start(authCode: String) = lockAndExecuteUnique {
+    suspend fun start(registrationToken: String) = lockAndExecuteUnique {
+        /****************************************************
+         * RETRIEVE TAN
+         ****************************************************/
+        val authCode = executeState(RETRIEVE_TAN) {
+            SubmissionService.asyncRequestAuthCode()
+        }
         /****************************************************
          * RETRIEVE TEMPORARY EXPOSURE KEY HISTORY
          ****************************************************/
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
index d786f81d378066e6feb71ebf92cb598071959bec..20a6dcf1059b37bae8ee0ed8c6daab898119adf9 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
@@ -1,6 +1,5 @@
 package de.rki.coronawarnapp.ui.main
 
-import android.content.Intent
 import android.os.Bundle
 import android.util.Log
 import android.view.LayoutInflater
@@ -8,11 +7,11 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.PopupMenu
 import android.widget.Toast
+import androidx.core.app.NotificationCompat
 import androidx.core.app.NotificationManagerCompat
 import androidx.fragment.app.activityViewModels
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentMainBinding
-import de.rki.coronawarnapp.notification.ExposureNotificationIntentService
 import de.rki.coronawarnapp.notification.NotificationHelper
 import de.rki.coronawarnapp.timer.TimerHelper
 import de.rki.coronawarnapp.ui.BaseFragment
@@ -152,8 +151,11 @@ class MainFragment : BaseFragment() {
                             .toString()
                     )
                     NotificationHelper.createNotificationChannel()
-                    val intent = Intent(context, ExposureNotificationIntentService::class.java)
-                    activity?.startService(intent)
+                    NotificationHelper.sendNotification(
+                        getString(R.string.notification_headline),
+                        getString(R.string.notification_body),
+                        NotificationCompat.PRIORITY_HIGH
+                    )
                     true
                 }
                 else -> super.onOptionsItemSelected(it)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterQRCodeScanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterQRCodeScanFragment.kt
deleted file mode 100644
index de5ad319851437974a55aaee6c471fd7d922fee6..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterQRCodeScanFragment.kt
+++ /dev/null
@@ -1,222 +0,0 @@
-package de.rki.coronawarnapp.ui.register
-
-import android.Manifest
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.viewModels
-import androidx.lifecycle.Observer
-import com.google.zxing.BarcodeFormat
-import com.journeyapps.barcodescanner.BarcodeResult
-import com.journeyapps.barcodescanner.DefaultDecoderFactory
-import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.databinding.FragmentRegisterQrCodeScanBinding
-import de.rki.coronawarnapp.ui.BaseFragment
-import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
-import de.rki.coronawarnapp.util.CameraPermissionHelper
-
-/**
- * A simple [BaseFragment] subclass.
- */
-class RegisterQRCodeScanFragment : BaseFragment() {
-
-    companion object {
-        private val TAG: String? = RegisterQRCodeScanFragment::class.simpleName
-        private const val REQUEST_CAMERA_PERMISSION_CODE = 1
-    }
-
-    private val viewModel: SubmissionViewModel by viewModels()
-    private lateinit var binding: FragmentRegisterQrCodeScanBinding
-
-    override fun onCreateView(
-        inflater: LayoutInflater,
-        container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View? {
-        binding = FragmentRegisterQrCodeScanBinding.inflate(inflater)
-        binding.lifecycleOwner = this
-        return binding.root
-    }
-
-    private fun decodeCallback(result: BarcodeResult) {
-        viewModel.validateAndStoreTestGUID(result.text)
-    }
-
-    private fun startDecode() {
-        binding.registerQrCodeScanPreview.decodeSingle { decodeCallback(it) }
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-
-        checkForCameraPermission()
-
-        binding.registerQrCodeScanTorch.setOnCheckedChangeListener { _, isChecked ->
-            binding.registerQrCodeScanPreview.setTorch(
-                isChecked
-            )
-        }
-
-        binding.registerQrCodeScanClose.buttonIcon.setOnClickListener {
-            doNavigate(
-                RegisterQRCodeScanFragmentDirections.actionRegisterQRCodeFragmentToSubmissionDispatcherFragment()
-            )
-        }
-
-        binding.registerQrCodeScanPreview.decoderFactory =
-            DefaultDecoderFactory(listOf(BarcodeFormat.QR_CODE))
-        binding.registerQrCodeScanViewfinderView.setCameraPreview(binding.registerQrCodeScanPreview)
-
-        viewModel.scanStatus.observe(viewLifecycleOwner, Observer {
-            if (ScanStatus.SUCCESS == it) {
-                showSuccessfulScanDialog()
-            }
-
-            if (ScanStatus.INVALID == it) {
-                showInvalidScanDialog()
-            }
-        })
-
-        startDecode()
-    }
-
-    private fun navigateToDispatchScreen() =
-        doNavigate(
-            RegisterQRCodeScanFragmentDirections.actionRegisterQRCodeFragmentToSubmissionDispatcherFragment()
-        )
-
-    private fun showSuccessfulScanDialog() {
-        val alertDialog: AlertDialog = requireActivity().let {
-            val builder = AlertDialog.Builder(it)
-            builder.apply {
-                setTitle(R.string.register_qr_code_scan_successful_dialog_headline)
-                setMessage(R.string.register_qr_code_scan_successful_dialog_body)
-                setPositiveButton(
-                    R.string.register_qr_code_scan_successful_dialog_button_positive
-                ) { _, _ ->
-                    doNavigate(
-                        RegisterQRCodeScanFragmentDirections.actionRegisterQRCodeFragmentToDeviceRegistrationFragment()
-                    )
-                }
-                setNegativeButton(
-                    R.string.register_qr_code_scan_successful_dialog_button_negative
-                ) { _, _ ->
-                    viewModel.deleteTestGUID()
-                    navigateToDispatchScreen()
-                }
-            }
-            builder.create()
-        }
-        alertDialog.show()
-    }
-
-    private fun showInvalidScanDialog() {
-        val alertDialog: AlertDialog = requireActivity().let {
-            val builder = AlertDialog.Builder(it)
-            builder.apply {
-                setTitle(R.string.register_qr_code_scan_invalid_dialog_headline)
-                setMessage(R.string.register_qr_code_scan_invalid_dialog_body)
-                setPositiveButton(
-                    R.string.register_qr_code_scan_invalid_dialog_button_positive
-                ) { _, _ ->
-                    startDecode()
-                }
-                setNegativeButton(
-                    R.string.register_qr_code_scan_invalid_dialog_button_negative
-                ) { _, _ ->
-                    navigateToDispatchScreen()
-                }
-            }
-            builder.create()
-        }
-        alertDialog.show()
-    }
-
-    private fun checkForCameraPermission() {
-        if (!CameraPermissionHelper.hasCameraPermission(requireActivity())) {
-            if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) {
-                showCameraPermissionRationaleDialog()
-            } else {
-                requestPermissions(
-                    arrayOf(Manifest.permission.CAMERA),
-                    REQUEST_CAMERA_PERMISSION_CODE
-                )
-            }
-        } else {
-            cameraPermissionIsGranted()
-        }
-    }
-
-    private fun cameraPermissionIsGranted() {
-        binding.registerQrCodeScanPreview.resume()
-        startDecode()
-    }
-
-    override fun onRequestPermissionsResult(
-        requestCode: Int,
-        permissions: Array<out String>,
-        grantResults: IntArray
-    ) {
-        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
-        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-            cameraPermissionIsGranted()
-        } else {
-            showCameraPermissionDeniedDialog()
-        }
-    }
-
-    private fun showCameraPermissionRationaleDialog() {
-        val alertDialog: AlertDialog = requireActivity().let {
-            val builder = AlertDialog.Builder(it)
-            builder.apply {
-                setTitle(R.string.register_qr_code_scan_permission_rationale_dialog_headline)
-                setMessage(R.string.register_qr_code_scan_permission_rationale_dialog_body)
-                setPositiveButton(
-                    R.string.register_qr_code_scan_permission_rationale_dialog_button_positive
-                ) { _, _ ->
-                    requestPermissions(
-                        arrayOf(Manifest.permission.CAMERA),
-                        REQUEST_CAMERA_PERMISSION_CODE
-                    )
-                }
-                setNegativeButton(
-                    R.string.register_qr_code_scan_permission_rationale_dialog_button_negative
-                ) { _, _ ->
-                    navigateToDispatchScreen()
-                }
-            }
-            builder.create()
-        }
-        alertDialog.show()
-    }
-
-    private fun showCameraPermissionDeniedDialog() {
-        val alertDialog: AlertDialog = requireActivity().let {
-            val builder = AlertDialog.Builder(it)
-            builder.apply {
-                setTitle(R.string.register_qr_code_scan_permission_denied_dialog_headline)
-                setMessage(R.string.register_qr_code_scan_permission_denied_dialog_body)
-                setPositiveButton(
-                    R.string.register_qr_code_scan_permission_denied_dialog_button_positive
-                ) { _, _ ->
-                    navigateToDispatchScreen()
-                }
-            }
-            builder.create()
-        }
-        alertDialog.show()
-    }
-
-    override fun onResume() {
-        super.onResume()
-        binding.registerQrCodeScanPreview.resume()
-    }
-
-    override fun onPause() {
-        super.onPause()
-        binding.registerQrCodeScanPreview.pause()
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ApiRequestState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ApiRequestState.kt
similarity index 60%
rename from Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ApiRequestState.kt
rename to Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ApiRequestState.kt
index edd4dde71b1e4007e959f9df8281c2f945cd62d0..3043dcacf377bfc43a1f766bc307e5780f653bc2 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ApiRequestState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ApiRequestState.kt
@@ -1,4 +1,4 @@
-package de.rki.coronawarnapp.ui.register
+package de.rki.coronawarnapp.ui.submission
 
 enum class ApiRequestState {
     IDLE, STARTED, FAILED, SUCCESS
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ScanStatus.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ScanStatus.kt
similarity index 57%
rename from Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ScanStatus.kt
rename to Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ScanStatus.kt
index 1c0a0ca350fe5ce1b2ead393096c2ccab0532b48..b3bd73f8a466922eaa4059dd0517e8c63145c349 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/ScanStatus.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/ScanStatus.kt
@@ -1,4 +1,4 @@
-package de.rki.coronawarnapp.ui.register
+package de.rki.coronawarnapp.ui.submission
 
 enum class ScanStatus {
     STARTED, INVALID, SUCCESS
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
index 5f5916104e863db13078b1d51b9a37b951b2f48e..6b6778e384278ee026e0b67aa4f921f8320b930c 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
@@ -1,16 +1,22 @@
 package de.rki.coronawarnapp.ui.submission
 
+import android.Manifest
+import android.content.pm.PackageManager
 import android.os.Bundle
 import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionDispatcherBinding
 import de.rki.coronawarnapp.ui.BaseFragment
+import de.rki.coronawarnapp.util.CameraPermissionHelper
+import de.rki.coronawarnapp.util.DialogHelper
 
 class SubmissionDispatcherFragment : BaseFragment() {
 
     companion object {
+        private const val REQUEST_CAMERA_PERMISSION_CODE = 1
         private val TAG: String? = SubmissionDispatcherFragment::class.simpleName
     }
 
@@ -33,17 +39,80 @@ class SubmissionDispatcherFragment : BaseFragment() {
 
     private fun setButtonOnClickListener() {
         binding.submissionDispatcherQr.dispatcherCard.setOnClickListener {
-            doNavigate(
-                SubmissionDispatcherFragmentDirections.actionSubmissionDispatcherFragmentToRegisterQRCodeFragment()
-            )
+            checkForCameraPermission()
         }
         binding.submissionDispatcherTanCode.dispatcherCard.setOnClickListener {
             doNavigate(
-                SubmissionDispatcherFragmentDirections.actionSubmissionDispatcherFragmentToSubmissionTanFragment()
+                SubmissionDispatcherFragmentDirections
+                    .actionSubmissionDispatcherFragmentToSubmissionTanFragment()
             )
         }
         binding.submissionDispatcherTanTele.dispatcherCard.setOnClickListener {
             Log.i(TAG, "TAN tele pressed")
         }
     }
+
+    private fun checkForCameraPermission() {
+        if (!CameraPermissionHelper.hasCameraPermission(requireActivity())) {
+            if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) {
+                showCameraPermissionRationaleDialog()
+            } else {
+                requestPermissions(
+                    arrayOf(Manifest.permission.CAMERA),
+                    REQUEST_CAMERA_PERMISSION_CODE
+                )
+            }
+        } else {
+            cameraPermissionIsGranted()
+        }
+    }
+
+    private fun showCameraPermissionRationaleDialog() {
+        val cameraPermissionRationaleDialogInstance = DialogHelper.DialogInstance(
+            requireActivity(),
+            R.string.submission_qr_code_scan_permission_rationale_dialog_headline,
+            R.string.submission_qr_code_scan_permission_rationale_dialog_body,
+            R.string.submission_qr_code_scan_permission_rationale_dialog_button_positive,
+            R.string.submission_qr_code_scan_permission_rationale_dialog_button_negative,
+            {
+                requestPermissions(
+                    arrayOf(Manifest.permission.CAMERA),
+                    REQUEST_CAMERA_PERMISSION_CODE
+                )
+            }
+        )
+
+        DialogHelper.showDialog(cameraPermissionRationaleDialogInstance)
+    }
+
+    override fun onRequestPermissionsResult(
+        requestCode: Int,
+        permissions: Array<out String>,
+        grantResults: IntArray
+    ) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+            cameraPermissionIsGranted()
+        } else {
+            showCameraPermissionDeniedDialog()
+        }
+    }
+
+    private fun showCameraPermissionDeniedDialog() {
+        val cameraPermissionDeniedDialogInstance = DialogHelper.DialogInstance(
+            requireActivity(),
+            R.string.submission_qr_code_scan_permission_denied_dialog_headline,
+            R.string.submission_qr_code_scan_permission_denied_dialog_body,
+            R.string.submission_qr_code_scan_permission_denied_dialog_button_positive
+        )
+
+        DialogHelper.showDialog(cameraPermissionDeniedDialogInstance)
+    }
+
+    private fun cameraPermissionIsGranted() {
+        doNavigate(
+            SubmissionDispatcherFragmentDirections
+                .actionSubmissionDispatcherFragmentToSubmissionQRCodeScanFragment()
+        )
+    }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a3841c8f6d52b53b94fdbbcd6093dccdba7fc5b0
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDoneFragment.kt
@@ -0,0 +1,44 @@
+package de.rki.coronawarnapp.ui.submission
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import de.rki.coronawarnapp.databinding.FragmentSubmissionDoneBinding
+import de.rki.coronawarnapp.ui.BaseFragment
+
+/**
+ * The [SubmissionDoneFragment] displays information to a user that submitted his exposure keys
+ */
+class SubmissionDoneFragment : BaseFragment() {
+
+    private lateinit var binding: FragmentSubmissionDoneBinding
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
+        // get the binding reference by inflating it with the current layout
+        binding = FragmentSubmissionDoneBinding.inflate(inflater)
+        return binding.root
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        setButtonOnClickListener()
+    }
+
+    private fun setButtonOnClickListener() {
+        binding.submissionDoneHeader.informationHeader.headerButtonBack.buttonIcon.setOnClickListener {
+            doNavigate(
+                SubmissionDoneFragmentDirections.actionSubmissionDoneFragmentToMainFragment()
+            )
+        }
+        binding.submissionDoneButtonDone.setOnClickListener {
+            doNavigate(
+                SubmissionDoneFragmentDirections.actionSubmissionDoneFragmentToMainFragment()
+            )
+        }
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7f22372c6ed64f6ccdd44da423e2ee2a5c01a82a
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt
@@ -0,0 +1,128 @@
+package de.rki.coronawarnapp.ui.submission
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.Observer
+import com.google.zxing.BarcodeFormat
+import com.journeyapps.barcodescanner.BarcodeResult
+import com.journeyapps.barcodescanner.DefaultDecoderFactory
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.databinding.FragmentSubmissionQrCodeScanBinding
+import de.rki.coronawarnapp.ui.BaseFragment
+import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
+import de.rki.coronawarnapp.util.DialogHelper
+
+/**
+ * A simple [BaseFragment] subclass.
+ */
+class SubmissionQRCodeScanFragment : BaseFragment() {
+
+    companion object {
+        private val TAG: String? = SubmissionQRCodeScanFragment::class.simpleName
+    }
+
+    private val viewModel: SubmissionViewModel by viewModels()
+    private lateinit var binding: FragmentSubmissionQrCodeScanBinding
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
+        binding = FragmentSubmissionQrCodeScanBinding.inflate(inflater)
+        binding.lifecycleOwner = this
+        return binding.root
+    }
+
+    private fun decodeCallback(result: BarcodeResult) {
+        viewModel.validateAndStoreTestGUID(result.text)
+    }
+
+    private fun startDecode() {
+        binding.submissionQrCodeScanPreview.decodeSingle { decodeCallback(it) }
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+
+        binding.submissionQrCodeScanTorch.setOnCheckedChangeListener { _, isChecked ->
+            binding.submissionQrCodeScanPreview.setTorch(
+                isChecked
+            )
+        }
+
+        binding.submissionQrCodeScanClose.buttonIcon.setOnClickListener {
+            navigateToDispatchScreen()
+        }
+
+        binding.submissionQrCodeScanPreview.decoderFactory =
+            DefaultDecoderFactory(listOf(BarcodeFormat.QR_CODE))
+        binding.submissionQrCodeScanViewfinderView.setCameraPreview(binding.submissionQrCodeScanPreview)
+
+        viewModel.scanStatus.observe(viewLifecycleOwner, Observer {
+            if (ScanStatus.SUCCESS == it) {
+                showSuccessfulScanDialog()
+            }
+
+            if (ScanStatus.INVALID == it) {
+                showInvalidScanDialog()
+            }
+        })
+    }
+
+    private fun navigateToDispatchScreen() =
+        doNavigate(
+            SubmissionQRCodeScanFragmentDirections
+                .actionSubmissionQRCodeScanFragmentToSubmissionDispatcherFragment()
+        )
+
+    private fun showSuccessfulScanDialog() {
+        val successfulScanDialogInstance = DialogHelper.DialogInstance(
+            requireActivity(),
+            R.string.submission_qr_code_scan_successful_dialog_headline,
+            R.string.submission_qr_code_scan_successful_dialog_body,
+            R.string.submission_qr_code_scan_successful_dialog_button_positive,
+            R.string.submission_qr_code_scan_successful_dialog_button_negative,
+            {
+                doNavigate(
+                    SubmissionQRCodeScanFragmentDirections
+                        .actionSubmissionQRCodeScanFragmentToSubmissionRegisterDeviceFragment()
+                )
+            },
+            {
+                viewModel.deleteTestGUID()
+                navigateToDispatchScreen()
+            }
+        )
+
+        DialogHelper.showDialog(successfulScanDialogInstance)
+    }
+
+    private fun showInvalidScanDialog() {
+        val invalidScanDialogInstance = DialogHelper.DialogInstance(
+            requireActivity(),
+            R.string.submission_qr_code_scan_invalid_dialog_headline,
+            R.string.submission_qr_code_scan_invalid_dialog_body,
+            R.string.submission_qr_code_scan_invalid_dialog_button_positive,
+            R.string.submission_qr_code_scan_invalid_dialog_button_negative,
+            ::startDecode,
+            ::navigateToDispatchScreen
+        )
+
+        DialogHelper.showDialog(invalidScanDialogInstance)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.submissionQrCodeScanPreview.resume()
+        startDecode()
+    }
+
+    override fun onPause() {
+        super.onPause()
+        binding.submissionQrCodeScanPreview.pause()
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterDeviceFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionRegisterDeviceFragment.kt
similarity index 67%
rename from Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterDeviceFragment.kt
rename to Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionRegisterDeviceFragment.kt
index 997a5e6778ebedac0c07ff124bb68818b07eb2c1..853c16b6e8b644a85dccf505fe05ef12f24fd446 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/register/RegisterDeviceFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionRegisterDeviceFragment.kt
@@ -1,4 +1,4 @@
-package de.rki.coronawarnapp.ui.register
+package de.rki.coronawarnapp.ui.submission
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -6,20 +6,20 @@ import android.view.View
 import android.view.ViewGroup
 import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
-import de.rki.coronawarnapp.databinding.FragmentRegisterDeviceBinding
+import de.rki.coronawarnapp.databinding.FragmentSubmissionRegisterDeviceBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
 
-class RegisterDeviceFragment : BaseFragment() {
+class SubmissionRegisterDeviceFragment : BaseFragment() {
     private val viewModel: SubmissionViewModel by activityViewModels()
-    private lateinit var binding: FragmentRegisterDeviceBinding
+    private lateinit var binding: FragmentSubmissionRegisterDeviceBinding
 
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
-        binding = FragmentRegisterDeviceBinding.inflate(inflater)
+        binding = FragmentSubmissionRegisterDeviceBinding.inflate(inflater)
         binding.lifecycleOwner = this
         return binding.root
     }
@@ -30,7 +30,8 @@ class RegisterDeviceFragment : BaseFragment() {
         viewModel.registrationState.observe(viewLifecycleOwner, Observer {
             if (ApiRequestState.SUCCESS == it) {
                 doNavigate(
-                    RegisterDeviceFragmentDirections.actionDeviceRegistrationFragmentToSubmissionResultFragment()
+                    SubmissionRegisterDeviceFragmentDirections
+                        .actionSubmissionRegisterDeviceFragmentToSubmissionResultFragment()
                 )
             }
         })
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
index dc292822cca732a8fcd4b7b66b43e8a33548582e..14f0a914b67d566df380087c0d77bb279c9ddd18 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
@@ -1,28 +1,54 @@
 package de.rki.coronawarnapp.ui.submission
 
 import android.os.Bundle
-import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
-import de.rki.coronawarnapp.R
+import androidx.fragment.app.activityViewModels
+import androidx.lifecycle.Observer
+import com.google.android.gms.nearby.exposurenotification.TemporaryExposureKey
 import de.rki.coronawarnapp.databinding.FragmentSubmissionPositiveOtherWarningBinding
+import de.rki.coronawarnapp.nearby.InternalExposureNotificationPermissionHelper
 import de.rki.coronawarnapp.ui.BaseFragment
+import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
 
-class SubmissionResultPositiveOtherWarningFragment : BaseFragment() {
+class SubmissionResultPositiveOtherWarningFragment : BaseFragment(),
+    InternalExposureNotificationPermissionHelper.Callback {
 
     companion object {
         private val TAG: String? = SubmissionResultPositiveOtherWarningFragment::class.simpleName
     }
 
+    private val viewModel: SubmissionViewModel by activityViewModels()
     private lateinit var binding: FragmentSubmissionPositiveOtherWarningBinding
+    private var submissionRequested = false
+    private var submissionFailed = false
+    private lateinit var internalExposureNotificationPermissionHelper:
+        InternalExposureNotificationPermissionHelper
+
+    override fun onResume() {
+        super.onResume()
+        if (submissionRequested && !submissionFailed) {
+            internalExposureNotificationPermissionHelper.requestPermissionToShareKeys()
+        }
+    }
+
+    override fun onKeySharePermissionGranted(keys: List<TemporaryExposureKey>) {
+        super.onKeySharePermissionGranted(keys)
+        viewModel.submitDiagnosisKeys()
+    }
+
+    override fun onFailure(exception: Exception?) {
+        submissionFailed = true
+    }
 
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
+        internalExposureNotificationPermissionHelper =
+            InternalExposureNotificationPermissionHelper(this, this)
         binding = FragmentSubmissionPositiveOtherWarningBinding.inflate(inflater)
         binding.lifecycleOwner = this
         return binding.root
@@ -31,39 +57,28 @@ class SubmissionResultPositiveOtherWarningFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+
+        viewModel.submissionState.observe(viewLifecycleOwner, Observer {
+            if (it == ApiRequestState.SUCCESS) {
+                doNavigate(
+                    SubmissionResultPositiveOtherWarningFragmentDirections
+                        .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionDoneFragment()
+                )
+            }
+        })
     }
 
     private fun setButtonOnClickListener() {
         binding.submissionPositiveOtherWarningButton.setOnClickListener {
-            Log.i(TAG, "Weiter pressed")
-            showShareIDConfirmationDialog()
+            submissionRequested = true
+            internalExposureNotificationPermissionHelper.requestPermissionToShareKeys()
         }
         binding.submissionPositiveOtherWarningHeader
             .informationHeader.headerButtonBack.buttonIcon.setOnClickListener {
-                Log.i(TAG, "Back button pressed")
-            }
-    }
-
-    private fun showShareIDConfirmationDialog() {
-        val alertDialog: AlertDialog = requireActivity().let {
-            val builder = AlertDialog.Builder(it)
-            builder.apply {
-                setTitle(R.string.submission_positive_dialog_confirmation_title)
-                setMessage(R.string.submission_positive_dialog_confirmation_body)
-                setPositiveButton(
-                    R.string.submission_positive_dialog_confirmation_positive
-                ) { _, _ ->
-                    Log.i(TAG, "Agreed")
-                    // Navigate to next screen
-                }
-                setNegativeButton(
-                    R.string.submission_positive_dialog_confirmation_negative
-                ) { _, _ ->
-                    Log.i(TAG, "Declined")
-                }
+                doNavigate(
+                    SubmissionResultPositiveOtherWarningFragmentDirections
+                        .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionResultFragment()
+                )
             }
-            builder.create()
-        }
-        alertDialog.show()
     }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
index 18e7d982010bdc337b53d3fbd31125abd9913a3f..4f05de4597fc1666a32ebcea2730a8dad7fd4028 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
@@ -48,6 +48,6 @@ class SubmissionTanFragment : BaseFragment() {
         // store locally
         viewModel.storeTeletan()
 
-        doNavigate(SubmissionTanFragmentDirections.actionSubmissionTanFragmentToDeviceRegistrationFragment())
+        doNavigate(SubmissionTanFragmentDirections.actionSubmissionTanFragmentToSubmissionRegisterDeviceFragment())
     }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
index 4580017d4ebcbda622c55b3b11e17b2f42bb8673..aed4b341efcaecec289cec3595c6091c553481ea 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
@@ -63,7 +63,10 @@ class SubmissionTestResultFragment : BaseFragment() {
         }
 
         binding.submissionTestResultButtonPositiveContinue.setOnClickListener {
-            viewModel.submitDiagnosisKeys()
+            doNavigate(
+                SubmissionTestResultFragmentDirections
+                    .actionSubmissionResultFragmentToSubmissionResultPositiveOtherWarningFragment()
+            )
         }
 
         binding.submissionTestResultButtonInvalidRemoveTest.setOnClickListener {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
index e470de14a823b1645cc77474268bda248f73af77..1fec0e4e1226d05b91e02297eed8aa3c73900a81 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
@@ -10,8 +10,8 @@ import de.rki.coronawarnapp.exception.report
 import de.rki.coronawarnapp.service.submission.SubmissionService
 import de.rki.coronawarnapp.storage.LocalData
 import de.rki.coronawarnapp.storage.SubmissionRepository
-import de.rki.coronawarnapp.ui.register.ApiRequestState
-import de.rki.coronawarnapp.ui.register.ScanStatus
+import de.rki.coronawarnapp.ui.submission.ApiRequestState
+import de.rki.coronawarnapp.ui.submission.ScanStatus
 import de.rki.coronawarnapp.util.formatter.TestResult
 import kotlinx.coroutines.launch
 import java.util.Date
@@ -38,9 +38,6 @@ class SubmissionViewModel : ViewModel() {
     fun submitDiagnosisKeys() =
         executeRequestWithState(SubmissionService::asyncSubmitExposureKeys, _submissionState)
 
-    fun requestAuthCode() =
-        executeRequestWithState(SubmissionService::asyncRequestAuthCode, _authCodeState)
-
     fun doDeviceRegistration() =
         executeRequestWithState(SubmissionService::asyncRegisterDevice, _registrationState)
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DialogHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DialogHelper.kt
index f9f3fad38f59ba7251764801f43b6a9ff9587d31..6eacc39b5c2d0db5f48fc6cc09fc1561ab489c8a 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DialogHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DialogHelper.kt
@@ -10,7 +10,7 @@ object DialogHelper {
         val title: Int,
         val message: Int,
         val positiveButton: Int,
-        val negativeButton: Int,
+        val negativeButton: Int? = null,
         val positiveButtonFunction: () -> Unit? = {},
         val negativeButtonFunction: () -> Unit? = {}
     )
@@ -28,10 +28,12 @@ object DialogHelper {
                 ) { _, _ ->
                     dialogInstance.positiveButtonFunction()
                 }
-                setNegativeButton(
-                    dialogInstance.negativeButton
-                ) { _, _ ->
-                    dialogInstance.negativeButtonFunction()
+                if (dialogInstance.negativeButton != null) {
+                    setNegativeButton(
+                        dialogInstance.negativeButton
+                    ) { _, _ ->
+                        dialogInstance.negativeButtonFunction()
+                    }
                 }
             }
             builder.create()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
index 53ad88c011d3916a06fc9baadf816d4a68fa54c1..85d151a146686ab271d8c29970722551e8c14c83 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
@@ -6,7 +6,7 @@ import android.graphics.drawable.Drawable
 import android.view.View
 import de.rki.coronawarnapp.CoronaWarnApplication
 import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.ui.register.ApiRequestState
+import de.rki.coronawarnapp.ui.submission.ApiRequestState
 import de.rki.coronawarnapp.ui.submission.TestResultStatus
 import de.rki.coronawarnapp.util.formatter.TestResult.INVALID
 import de.rki.coronawarnapp.util.formatter.TestResult.NEGATIVE
@@ -17,9 +17,6 @@ import java.util.Date
 fun formatTestResultStatusVisibility(testResultStatus: TestResultStatus?): Int =
     formatVisibility(testResultStatus != TestResultStatus.SUCCESS)
 
-fun formatTestResultHeadingTextVisible(testResult: TestResult?): Int =
-    formatVisibility(testResult != PENDING)
-
 fun formatTestResultVirusNameTextVisible(testResult: TestResult?): Int {
     return when (testResult) {
         POSITIVE, NEGATIVE -> View.VISIBLE
@@ -56,23 +53,19 @@ fun formatTestStatusIcon(testResult: TestResult?): Drawable? {
     val appContext = CoronaWarnApplication.getAppContext()
     // TODO Replace with real drawables when design is finished
     return when (testResult) {
-        PENDING -> appContext.getDrawable(R.drawable.ic_risk_details_stethoscope)
-        POSITIVE -> appContext.getDrawable(R.drawable.rectangle)
-        NEGATIVE -> appContext.getDrawable(R.drawable.circle)
-        INVALID -> appContext.getDrawable(R.drawable.button)
-        else -> appContext.getDrawable(R.drawable.button)
+        PENDING -> appContext.getDrawable(R.drawable.ic_test_result_illustration_pending)
+        POSITIVE -> appContext.getDrawable(R.drawable.ic_test_result_illustration_positive)
+        NEGATIVE -> appContext.getDrawable(R.drawable.ic_main_illustration_negative)
+        INVALID -> appContext.getDrawable(R.drawable.ic_test_result_illustration_invalid)
+        else -> appContext.getDrawable(R.drawable.ic_test_result_illustration_invalid)
     }
 }
 
 fun formatTestResultInvalidStatusTextVisible(testResult: TestResult?): Int =
     formatVisibility(testResult == INVALID)
 
-fun formatTestResultRegisteredAtVisible(testResult: TestResult?): Int {
-    return when (testResult) {
-        POSITIVE, NEGATIVE, INVALID -> View.VISIBLE
-        else -> View.GONE
-    }
-}
+fun formatTestResultPendingStatusTextVisible(testResult: TestResult?): Int =
+    formatVisibility(testResult == PENDING)
 
 fun formatTestResultRegisteredAtText(registeredAt: Date?): String {
     val appContext = CoronaWarnApplication.getAppContext()
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_submission_illustration_thanks.xml b/Corona-Warn-App/src/main/res/drawable/ic_submission_illustration_thanks.xml
new file mode 100644
index 0000000000000000000000000000000000000000..911a77ad58b37d34f2e5ac8de0224b7fe74c7ebb
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_submission_illustration_thanks.xml
@@ -0,0 +1,750 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="360dp"
+    android:height="220dp"
+    android:viewportWidth="360"
+    android:viewportHeight="220">
+    <group>
+        <clip-path android:pathData="M109.772,139.846C75.293,139.846 60.272,119.197 28.079,123.108L28.079,123.108C20.475,124.03 10.83,126.903 0,134.93L0,134.93L0,157.928L359.299,159.208L359.299,142.353C357.486,141.345 355.687,140.481 353.974,139.833L353.974,139.833C353.974,139.833 317.692,125.82 277.512,137.81L277.512,137.81C243.096,148.089 203.452,121.184 184.459,120.486L184.459,120.486C182.687,120.42 180.974,120.39 179.33,120.39L179.33,120.39C138.297,120.387 136.335,139.846 109.772,139.846L109.772,139.846Z" />
+        <path
+            android:fillColor="#D8ECF9"
+            android:fillType="evenOdd"
+            android:pathData="M-31.887,168.876l419.583,0l0,-58.088l-419.583,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M26.642,45.529C26.589,45.529 26.537,45.529 26.484,45.532L26.484,45.532C21.24,45.664 18.239,53.135 17.988,56.683L17.988,56.683C16.919,71.868 7.635,82.698 8.495,106.354L8.495,106.354C9.059,121.853 14.491,137.778 20.238,140.564L20.238,140.564C31.302,145.933 38.726,133.978 39.973,122.825L39.973,122.825C41.225,111.676 41.972,95.455 33.728,75.181L33.728,75.181C29.193,64.027 36.84,45.606 26.766,45.529L26.766,45.529L26.642,45.529Z" />
+        <path
+            android:fillColor="#B8E0FA"
+            android:fillType="evenOdd"
+            android:pathData="M-1.163,151.491l51.506,0l0,-115.563l-51.506,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M22.84,94.313C22.9,117.158 25.092,138.262 26.071,142.473L26.071,142.473L26.681,142.339C25.709,138.148 23.524,117.111 23.467,94.313L23.467,94.313C23.433,80.477 24.18,65.996 26.46,54.251L26.46,54.251L25.846,54.138C23.557,65.923 22.807,80.442 22.84,94.313L22.84,94.313Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M13.239,152.074l23.043,0l0,-107.535l-23.043,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M22.84,117.198L23.381,117.509C23.404,117.469 31.309,104.276 32.442,99.4L32.442,99.4L31.83,99.266C30.72,104.051 22.862,117.16 22.84,117.198L22.84,117.198Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M13.239,127.11l28.804,0l0,-37.445l-28.804,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M22.408,88.704L22.84,88.312C22.825,88.292 17.272,81.522 17.67,76.269L17.67,76.269L17.101,76.222C16.686,81.726 22.391,88.685 22.408,88.704L22.408,88.704Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M7.478,98.305l24.963,0l0,-31.684l-24.963,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M51.061,85.095C47.144,85.128 44.624,88.189 43.507,94.097L43.507,94.097C42.256,100.699 42.506,107.3 40.509,109.84L40.509,109.84C38.945,111.826 31.584,120.946 31.544,130.654L31.544,130.654L31.544,130.812C31.554,133.475 32.12,136.178 33.512,138.789L33.512,138.789C40.008,150.976 51.001,147.676 56.748,143.361L56.748,143.361C61.996,137.52 65.742,128.378 62.744,109.332L62.744,109.332C59.745,90.287 57.248,85.971 52.501,85.209L52.501,85.209C52.048,85.137 51.612,85.097 51.19,85.095L51.19,85.095L51.061,85.095Z" />
+        <path
+            android:fillColor="#B8E0FA"
+            android:fillType="evenOdd"
+            android:pathData="M21.943,156.875l51.468,0l0,-81.38l-51.468,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M51.828,98.349C52.357,105.479 51.505,113.708 50.108,121.415L50.108,121.415C48.021,132.918 44.725,143.244 43.005,147.017L43.005,147.017L43.566,147.274C45.3,143.472 48.619,133.081 50.715,121.522L50.715,121.522C52.121,113.771 52.979,105.488 52.445,98.307L52.445,98.307L51.828,98.349Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M33.403,156.875l28.803,0l0,-68.17l-28.803,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M48.764,129.474L49.08,129.991C49.106,129.974 57.585,124.62 59.327,118.641L59.327,118.641L58.752,118.469C57.077,124.223 48.788,129.46 48.764,129.474L48.764,129.474Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M39.164,139.592l29.763,0l0,-30.724l-29.763,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M39.163,128.169C39.987,133.892 45.421,141.49 45.437,141.513L45.437,141.513L45.883,141.123C45.869,141.1 40.524,133.625 39.723,128.071L39.723,128.071L39.163,128.169Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M29.562,151.114l25.923,0l0,-32.644l-25.923,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M130.467,110.194C120.76,109.761 122.209,141.343 122.209,141.343L122.209,141.343C115.69,144.385 115.994,158.906 115.994,158.906L115.994,158.906L159.296,158.727C160.02,146.124 153.502,140.909 153.502,140.909L153.502,140.909C154.66,125.987 143.652,127 143.652,127L143.652,127C144.954,111.788 143.94,98.893 138.58,97.301L138.58,97.301C138.3,97.217 138.028,97.178 137.762,97.178L137.762,97.178C132.94,97.178 130.467,110.194 130.467,110.194L130.467,110.194Z" />
+        <path
+            android:fillColor="#B8E0FA"
+            android:fillType="evenOdd"
+            android:pathData="M111.192,163.706l52.96,0l0,-71.328l-52.96,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M136.88,108.483l0,50.344l0.899,-0.015l-0.312,-50.329z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M130.036,121.524C130.29,123.395 131.546,125.347 133.767,127.33L133.767,127.33C135.409,128.796 137.001,129.733 137.018,129.743L137.018,129.743L137.337,128.931C137.275,128.894 131.064,125.535 130.49,121.298L130.49,121.298L130.036,121.524Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M125.237,134.543l16.9,0l0,-18.045l-16.9,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M137.273,140.921L137.225,141.949C137.497,141.693 143.889,135.626 145.184,132.308L145.184,132.308L144.668,132.054C143.407,135.287 137.338,140.858 137.273,140.921L137.273,140.921Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M132.425,146.749l17.558,0l0,-19.495l-17.558,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M128.377,146.545C128.617,148.569 130.196,150.45 132.943,151.983L132.943,151.983C134.995,153.129 137.007,153.692 137.027,153.698L137.027,153.698L137.275,153.212C137.319,152.183 129.495,151.037 128.953,146.447L128.953,146.447L128.377,146.545Z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M123.577,158.498l18.498,0l0,-16.851l-18.498,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#D8ECF9"
+        android:fillType="evenOdd"
+        android:pathData="M288.144,28.578C285.04,29.244 281.203,32.242 281.332,33.12C281.377,33.426 291.061,33.137 301.012,33.12C316.019,33.094 323.521,33.12 324.477,33.12L343.399,33.12C344.876,33.12 342.165,27.969 341.129,27.064C339.333,25.5 336.61,24.814 334.317,25.55C331.173,26.56 331.233,29.472 328.261,30.092C326.322,30.497 324.238,29.687 322.963,28.578C321.019,26.889 321.826,25.265 319.935,23.28C318.61,21.889 316.882,21.251 314.637,21.766C312.016,22.368 312.365,22.523 308.581,25.55C307.252,26.614 305.817,29.67 303.283,30.092C296.408,31.238 293.54,27.422 288.144,28.578"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#D8ECF9"
+        android:fillType="evenOdd"
+        android:pathData="M232.172,23.52L185.28,23.52C187.084,20.615 188.868,19.697 190.165,19.398C193.354,18.66 194.7,21.398 199.934,21.459C200.865,21.47 203.162,21.474 205.795,20.428C207.358,19.807 207.402,19.467 209.704,18.367C211.605,17.458 213.275,16.659 215.564,16.306C217.313,16.036 218.624,16.148 220.45,16.306C222.52,16.483 223.798,16.606 225.333,17.336C226.473,17.878 227.192,18.488 228.265,19.398C229.299,20.275 230.709,21.614 232.172,23.52"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#D8ECF9"
+        android:fillType="evenOdd"
+        android:pathData="M115.542,36.96L143.816,36.96C142.728,35.469 141.652,34.999 140.87,34.845C138.948,34.466 138.135,35.871 134.98,35.902C134.419,35.908 133.034,35.91 131.445,35.374C130.503,35.055 130.477,34.881 129.089,34.316C127.943,33.85 126.936,33.44 125.556,33.258C124.501,33.12 123.71,33.179 122.61,33.258C121.361,33.35 120.591,33.413 119.665,33.787C118.979,34.066 118.545,34.379 117.899,34.845C117.275,35.295 116.424,35.982 115.542,36.96"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#D8ECF9"
+        android:fillType="evenOdd"
+        android:pathData="M71.548,19.93C73.503,20.315 75.92,22.051 75.838,22.56C75.81,22.738 69.712,22.57 63.445,22.56C53.995,22.545 49.269,22.56 48.668,22.56L36.752,22.56C35.822,22.56 37.529,19.577 38.182,19.053C39.312,18.147 41.028,17.75 42.472,18.177C44.45,18.762 44.413,20.447 46.286,20.806C47.507,21.041 48.818,20.572 49.622,19.93C50.847,18.952 50.337,18.011 51.528,16.862C52.363,16.056 53.451,15.687 54.865,15.985C56.515,16.334 56.295,16.424 58.678,18.177C59.515,18.792 60.419,20.562 62.015,20.806C66.344,21.471 68.15,19.261 71.548,19.93"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M316.088,115.761C316.088,115.761 310.129,125.327 306.418,132.018C306.156,132.49 304.612,134.844 304.53,135.324C304.53,135.324 304.818,138.63 306.234,137.823C310.901,132.563 318.272,120.602 320.482,118.303C322.951,115.704 316.088,115.761 316.088,115.761"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M326.25,195.151L332.386,190.561C333.215,190.225 334.484,190.002 335.672,190.259C336.206,190.374 336.275,189.975 336.267,190.469L336.904,192.513C337.481,193.87 337.243,194.916 335.689,195.511C333.442,196.133 328.34,198.829 326.055,197.119C325.057,196.617 324.964,195.655 326.25,195.151"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M314.1,193.458L320.878,189.353C321.733,189.091 322.754,189.052 323.915,189.412C324.437,189.574 324.393,189.188 324.488,189.674L324.944,191.766C325.4,193.169 324.967,194.142 323.365,194.598L317.239,195.912C315.607,196.197 310.956,194.825 314.1,193.458"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#8C8C99"
+        android:fillType="evenOdd"
+        android:pathData="M337.575,137.759C337.443,135.91 318.505,135.328 318.378,138.223C317.214,164.937 318.327,183.113 320.138,189.137C320.168,189.238 320.207,189.335 320.265,189.422C320.927,190.424 322.467,190.437 323.766,189.804C324.221,189.582 324.488,189.1 324.463,188.595C324.101,181.397 324.834,166.236 327.559,151.905C327.596,151.707 327.64,151.247 327.663,151.446C327.663,151.446 332.036,188.666 332.106,191.206C332.148,192.699 334.319,193.001 335.141,192.49C335.421,192.316 336.29,191.62 336.318,191.225C337.286,177.483 338.198,146.45 337.575,137.759"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M321.01,97.057C320.543,87.31 338.294,91.133 331.099,101.68C330.065,103.24 329.154,105.586 326.858,106.119L326.13,99.449C323.86,97.834 321.794,96.581 321.01,97.057"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M330.725,99.067C332.069,98.365 332.308,100.002 331.754,101.118C331.343,101.983 330.139,103.086 329.959,101.844C330.136,101.372 330.225,99.384 330.725,99.067"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M307.296,140.746C307.338,141.039 304.055,140.011 303.954,140.041C303.346,140.29 301.617,132.678 301.39,132.37C301.255,132.277 301.583,131.696 301.93,131.66L304.98,132.156C305.872,131.674 307.269,139.824 307.553,140.125C307.664,140.432 307.486,140.578 307.296,140.746"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M302.177,135.699C302.483,135.434 302.733,136.524 303.248,136.612C303.809,136.708 304.388,136.99 304.748,137.402C307.353,141.898 299.604,140.629 302.177,135.699"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#385460"
+        android:fillType="evenOdd"
+        android:pathData="M319.776,109.829C321.975,107.542 325.64,107.934 329.084,107.727C331.984,108.439 333.667,109.253 335.493,108.568C335.873,108.741 336.834,110.643 337.206,110.965C337.999,111.573 337.612,112.352 338.002,113.132C337.318,117.696 337.742,124.999 337.742,124.999L337.706,139.964C337.706,140.4 337.457,140.797 337.065,140.988C332.526,143.192 322.388,142.442 319.012,140.891C318.549,140.679 318.243,140.227 318.227,139.718L318.083,135.142C317.929,130.623 318.055,126.963 317.934,122.06L314.694,127.965C314.466,128.422 313.713,128.818 313.471,128.797C312.538,128.722 310.243,128.448 309.254,125.549C308.989,124.77 315.587,113.672 319.776,109.829"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M326.948,110.313C325.742,110.489 324.575,109.636 324.54,108.385L324.318,102.15C324.279,101.045 325.151,100.108 326.257,100.069C327.464,99.892 328.63,100.746 328.667,101.995L329.759,107.956C329.799,109.062 328.054,110.274 326.948,110.313"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M321.002,97.044C321.362,93.231 326.518,93.584 329.701,95.96C329.891,96.611 330.209,97.812 330.697,98.808C330.426,100.152 330.27,102.278 329.784,103.55C328.984,104.806 326.273,107.142 324.477,106.965C321.358,105.704 320.656,99.326 321.002,97.044"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M326.09,103.97C325.817,105.19 323.626,105.38 323.313,104.098C323.24,103.836 323.059,103.297 323.497,103.276L325.769,103.243C326.161,103.229 326.186,103.705 326.09,103.97M321.142,95.584C321.163,95.636 321.175,95.666 321.175,95.666C323.416,93.507 325.396,93.991 327.395,94.513C327.333,94.546 327.307,94.584 327.331,94.634C329.151,94.909 328.95,96.668 328.951,96.732C329.769,98.245 329.778,99.037 329.588,100.134L329.568,100.134C329.554,100.26 329.539,100.378 329.522,100.495C329.471,100.757 329.415,101.042 329.355,101.36C329.151,102.101 328.767,102.626 327.815,103.099C327.395,103.382 326.869,103.24 326.551,102.87C326.549,102.868 326.549,102.868 326.546,102.866C326.076,102.277 324.087,102.649 323.45,102.573C322.325,102.51 322.266,104.451 321.526,102.601C322.135,104.463 322.918,107.238 324.479,107.372C325.867,107.493 327.272,106.529 328.342,105.47C329.043,104.776 329.6,104.043 329.917,103.548C330.018,103.354 330.538,102.733 330.211,102.407C329.983,102.179 330.154,101.604 330.165,101.184C330.211,99.212 330.44,99.44 331.352,98.299C331.71,98.924 331.98,98.886 332.17,99.696C332.507,98.683 332.525,97.789 332.637,96.976C332.543,89.856 322.233,89.155 321.142,95.584"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M335.265,107.427C335.265,107.427 339.828,96.93 342.864,90.088C343.083,89.594 344.228,87.024 344.584,86.692C344.584,86.692 348.151,85.201 347.609,86.739C345.305,93.279 340.741,106.058 339.157,109.38C338.705,110.328 335.684,107.972 335.265,107.427"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#385460"
+        android:fillType="evenOdd"
+        android:pathData="M330.902,108.259C330.753,108.406 330.881,108.69 330.7,108.796C328.685,109.994 337.29,118.778 337.775,115.871C338.204,113.297 342.94,101.559 342.94,101.559C342.989,101.384 342.922,101.197 342.771,101.094L338.916,99.213C338.693,99.06 338.333,99.192 338.231,99.44C337.87,100.253 337.607,100.765 337.232,101.608C336.102,104.146 335.116,106.128 335.037,106.286C334.449,107.449 332.472,108.405 330.902,108.259"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#CB8E75"
+        android:fillType="evenOdd"
+        android:pathData="M345.824,87.34L344.73,87.008C344.391,85.163 344.999,82.448 346.832,81.145C348.53,80.32 349.437,82.505 349.194,83.568C348.915,85.264 347.86,86.563 346.96,87.695L345.824,87.34Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M261.037,94.395C261.037,94.395 260.285,93.273 259.986,93.656C260.192,93.392 259.218,96.753 260.593,97.248C261.199,97.466 261.258,97.03 261.258,97.03L261.037,94.395Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M268.411,94.509C268.411,94.509 269.162,93.387 269.461,93.77C269.6,93.95 269.882,96.991 268.854,97.362C268.248,97.58 268.189,97.144 268.189,97.144L268.411,94.509Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M255.931,183.312L260.427,179.689C261.347,178.928 263.789,179.596 263.578,180.709C263.623,182.453 262.647,183.659 261.302,184.179L256.845,186.564C256.01,186.95 253.581,185.365 255.931,183.312"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M270.721,180.73L272.941,180.318C273.452,181.497 276.168,185.899 274.714,188.629C274.439,189.147 273.561,189.633 272.46,189.172C270.121,188.19 270.914,181.738 270.721,180.73"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#8C8C99"
+        android:fillType="evenOdd"
+        android:pathData="M273.917,131.477C273.497,129.799 256.091,129.839 256.037,132.54C255.824,143.184 258.378,172.346 259.398,180.083C260.119,181.32 261.864,181.7 263.17,180.636C264.338,179.37 264.764,158.722 265.668,144.545C265.679,144.359 265.95,144.346 265.977,144.532C265.977,144.532 269.659,179.37 270.576,181.48C271.131,182.759 272.41,183.509 273.447,182.577C273.676,182.372 274.068,182.17 274.092,181.8C274.981,168.089 275.778,138.922 273.917,131.477"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M277.966,129.991L278.949,129.953C279.861,131.446 280.324,133.972 279.326,135.643C278.266,136.861 276.787,135.242 276.608,134.251C276.238,132.704 276.622,131.268 276.942,130.023L277.966,129.991Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M242.453,122.009C241.892,122.364 240.583,124.229 239.767,123.85L238.488,123C238.521,121.809 238.818,120.886 238.632,120.356C239.135,119.97 240.946,119.221 241.549,118.966L242.453,122.009Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C66A61"
+        android:fillType="evenOdd"
+        android:pathData="M277.423,115.725C276.85,113.188 274.768,104.869 269.327,101.653C265,99.096 260.507,101.038 257.952,103.379C256.256,104.935 254.004,108.451 251.724,110.685C248.642,114.391 245.852,116.365 241.216,118.954L242.49,122.208C246.692,121.104 250.157,118.872 252.631,117.002C254.153,115.769 254.224,115.621 256.249,113.596C256.888,112.958 255.398,117.428 256.037,132.754C256.675,135.095 273.484,135.041 274.13,131.903C274.543,129.894 273.591,118.492 272.286,113.825C272.953,117.002 275.72,128.496 276.542,130.124C276.723,130.48 276.97,130.79 277.367,130.747L278.592,130.565C278.989,130.522 279.297,130.194 279.312,129.794C279.444,126.556 278.913,122.324 277.423,115.725"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M264.691,103.513C263.631,103.619 262.725,102.751 262.735,101.562L262.794,95.588C262.807,94.399 263.73,93.553 264.787,93.686C265.72,93.698 266.475,94.574 266.466,95.634L267.153,101.383C267.142,102.443 265.625,103.524 264.691,103.513"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M267.198,87.739C266.197,86.403 261.067,88.24 260.487,90.266C259.668,93.338 260.6,97.407 262.45,99.399C263.91,101.346 267.942,99.405 268.751,96.584C269.559,93.764 268.658,89.687 267.198,87.739"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#DFDFDF"
+        android:fillType="evenOdd"
+        android:pathData="M264.835,99.606C263.012,99.636 262.957,98.137 262.167,96.925C262.109,96.836 262.038,96.755 261.965,96.677C261.495,96.184 261.012,95.711 260.933,95.077C260.507,91.671 260.666,88.704 264.308,89.533C264.523,89.582 264.748,89.59 264.965,89.557C269.141,88.929 268.808,91.884 268.382,94.864C268.341,95.159 268.155,95.891 267.969,96.124C267.865,96.253 267.755,96.377 267.641,96.5C267.543,96.606 267.458,96.723 267.39,96.851C266.718,98.124 266.449,99.579 264.835,99.606M269.453,90.905L269.463,90.916C269.75,88.69 268.338,87.571 267.45,87.436C267.144,87.39 266.846,87.295 266.595,87.113C266.035,86.707 265.235,86.634 264.647,86.871C264.356,86.988 264.038,87.038 263.729,86.986C263.187,86.894 262.797,87.025 262.413,87.341C262.23,87.49 262.017,87.598 261.791,87.66C260.988,87.879 259.755,88.706 259.899,90.948C259.905,91.038 259.904,91.129 259.897,91.219C259.745,92.966 260.241,94.695 260.522,96.362C260.528,96.396 260.533,96.431 260.536,96.466C260.808,98.898 261.622,101.143 264.376,101.664C264.607,101.707 264.847,101.706 265.079,101.662C268.369,101.035 268.879,97.969 269.016,95.034C269.021,94.935 269.033,94.838 269.054,94.741C269.313,93.534 269.574,92.218 269.453,90.905"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#DFDFDF"
+        android:fillType="evenOdd"
+        android:pathData="M262.451,99.885C261.777,98.119 262.908,96.547 264.762,96.797C265.083,96.787 265.641,96.61 266.39,97.011C266.96,97.384 267.445,99.585 266.985,100.167C266.985,100.167 266.319,98.201 266.033,98.088C265.79,97.992 264.988,97.965 264.72,97.65C264.437,97.951 263.625,97.858 263.373,97.923C263.079,97.999 262.451,99.885 262.451,99.885"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M240.538,117.445C239.669,117.524 237.917,117.135 238.307,118.199L239.312,125.22C239.314,126.138 241.458,125.997 242.241,125.976C242.712,125.904 243.064,125.835 243.005,125.462L241.924,117.928C241.866,117.554 241.744,117.46 241.13,117.452"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M238.498,120.046C238.782,119.799 238.692,120.917 239.172,120.999C240.593,121.074 241.718,123.121 240.687,124.094C240.073,124.586 238.793,124.208 238.179,123.529C237.603,122.892 237.928,120.541 238.498,120.046"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M32.851,96.482L32.271,102.333L31.091,103.277L29.911,103.985L31.564,107.525L40.768,107.762L39.588,103.985L39.823,102.098L39.103,101.782C38.525,101.527 38.119,100.991 38.034,100.364L37.507,96.482L32.851,96.482Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M40.275,92.383C39.788,101.926 30.264,100.219 30.497,90.631C30.986,81.086 40.51,82.794 40.275,92.383"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#8C8C98"
+        android:fillType="evenOdd"
+        android:pathData="M28.024,129.002C24.012,145.05 27.863,168.108 29.104,186.618L32.016,186.712C32.016,186.712 33.688,156.614 34.396,149.77C34.61,147.692 35.314,143.246 35.672,141.314C35.7,141.167 36.01,140.528 36.047,141.273C36.284,145.994 38.408,151.185 38.88,156.378C39.983,168.511 39.74,176.957 40.219,186.971C40.219,186.971 43.594,188.969 43.6,188.946C44.305,186.152 46.196,163.132 46.196,159.681C46.196,158.974 47.116,144.231 43.364,129.238L28.024,129.002Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M55.478,83.696C62.409,78.921 54.839,69.607 53.213,83.899L55.478,83.696Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C66A61"
+        android:fillType="evenOdd"
+        android:pathData="M26.264,119.187C26.638,119.05 27.31,118.815 28.293,118.514C28.431,118.472 28.527,118.344 28.528,118.199C28.543,115.602 28.523,113.222 28.509,111.905C28.507,111.723 28.25,111.69 28.2,111.866L27.08,115.786C26.536,117.687 26.227,118.571 26.064,118.981C26.012,119.107 26.135,119.234 26.264,119.187M22.595,112.481C23.552,109.041 25.005,103.485 29.783,101.853C29.962,101.793 30.155,101.888 30.208,102.068C30.923,104.481 34.252,107.289 36.284,107.289C37.358,107.289 39.427,104.549 39.591,102.46C39.61,102.226 39.794,101.974 40.016,101.903C41.106,101.55 42.196,101.449 42.647,100.791C44.793,97.67 45.265,96.727 47.388,92.479C48.631,89.994 51.796,83.641 53.053,82.802C53.353,82.602 53.829,82.589 54.468,82.802C55.079,83.005 55.514,83.209 55.773,83.563C55.852,83.671 55.884,83.806 55.871,83.938C55.863,84.024 55.85,84.117 55.832,84.166C55.228,85.778 49.733,97.434 46.779,103.327C44.343,108.181 43.625,109.292 43.377,112.066C42.871,117.707 42.6,125.711 43.6,129.709C44.072,131.598 27.452,131.671 28.023,129.002C28.252,127.937 28.382,125.672 28.453,123.09C28.461,122.818 28.155,122.654 27.932,122.812C27.906,122.829 27.881,122.847 27.855,122.866C23.615,125.834 22.073,127.35 20.303,124.518C19.392,123.06 21.416,116.729 22.595,112.481"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M31.971,185.517L28.968,184.934C28.878,185.741 27.787,187.058 28.388,190.191C28.436,190.442 28.496,192.821 28.576,193.08C28.651,193.318 29.676,193.666 29.676,193.43C29.676,193.192 29.384,190.251 29.912,191.307C30.148,191.778 30.148,193.43 31.328,194.375C32.675,195.452 36.921,195.799 35.34,193.902C32.98,191.07 32.155,186.508 31.971,185.517"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M40.296,185.406C40.296,185.406 40.132,187.006 39.823,188.238C39.588,189.183 39.352,192.014 40.296,194.374L41.712,194.374C41.712,194.374 41.239,191.779 41.475,190.363C41.539,189.985 41.712,192.014 43.128,193.666C43.779,194.426 44.364,194.53 44.642,194.561C45.149,194.617 48.161,194.61 48.32,194.61C48.792,194.61 49.264,193.666 47.368,192.827C46.861,192.603 46.229,192.173 45.723,191.542C44.864,190.467 44.544,188.71 44.072,186.114L40.296,185.406Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M36.19,109.964L39.41,110.028C39.834,110.037 40.14,110.386 40.094,110.808L39.256,118.598C39.211,119.02 38.83,119.355 38.408,119.347L35.187,119.282C34.764,119.274 34.458,118.924 34.504,118.503L35.342,110.712C35.388,110.291 35.767,109.955 36.19,109.964"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M31.79,118.635L32.466,119.629C36.875,119.597 41.526,113.376 35.137,114.42C33.495,115.175 32.314,116.581 31.183,117.599"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"
+        android:pathData="M42.905,102.391C42.432,102.627 41.184,102.783 40.781,102.627C40.322,102.448 38.991,101.992 38.657,101.682C37.955,101.03 37.44,99.627 37.676,98.447C37.804,97.808 38.049,97.544 38.184,97.381C41.216,93.727 39.22,87.91 39.22,87.91C39.22,87.91 37.516,91.501 31.087,93.961C31.087,93.961 31.353,95.63 32.298,96.811C32.366,96.896 33.074,97.537 33.099,98.54C33.124,99.523 33.124,100.519 32.454,102.028C31.634,103.869 29.551,104.311 27.97,103.679C26.79,103.207 26.318,102.028 26.264,100.863C26.264,100.863 29.48,101.052 28.723,97.46C28.156,94.76 27.481,88.863 30.145,85.452C30.184,85.405 30.221,85.358 30.26,85.311C30.285,85.276 30.316,85.24 30.346,85.207C30.401,85.143 30.457,85.08 30.514,85.018C30.568,84.962 30.622,84.905 30.677,84.848C31.512,84.001 32.612,83.364 34.049,83.052C34.049,83.052 39.534,82.297 40.478,85.512C40.478,85.512 41.991,86.269 42.182,89.106C42.371,91.943 41.897,92.981 41.803,95.157C41.688,97.803 41.614,100.452 44.45,101.02C44.45,101.02 45.473,101.628 42.905,102.391"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#6A7F90"
+        android:fillType="evenOdd"
+        android:pathData="M104.336,155.708C121.226,156.008 121.223,181.11 104.336,181.409C87.448,181.108 87.451,156.006 104.336,155.708M104.465,183.05C123.624,182.708 123.621,154.235 104.464,153.893C85.305,154.238 85.308,182.71 104.465,183.05"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#6A7F90"
+        android:fillType="evenOdd"
+        android:pathData="M84.808,161.078C84.808,161.83 84.837,162.683 86.207,162.683L103.083,162.446C104.809,162.395 104.979,161.225 105.371,160.191C105.904,158.252 88.314,159.658 87.3,159.254C85.657,159.302 84.622,159.929 84.808,161.078"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#3E6883"
+        android:fillType="evenOdd"
+        android:pathData="M83.866,154.864C87.758,154.122 100.301,147.91 103.352,155.348C104.363,161.337 88.464,159.195 85.412,159.938L78.802,175.351L75.848,173.802L80.139,158.322C80.139,158.322 81.194,155.708 83.866,154.864"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M102.628,133.523C101.911,133.884 100.892,133.763 100.564,133.163L99.319,129.588C98.607,128.199 101.565,127.299 102.143,128.492L103.892,131.729C104.193,132.252 103.797,132.614 103.079,132.893"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M94.676,123.394C93.602,126.534 95.853,131.774 97.779,131.091C101.78,129.674 102.913,129.842 103.987,126.702C106.8,119.269 97.14,116.096 94.676,123.394"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#663014"
+        android:fillType="evenOdd"
+        android:pathData="M97.538,122.616C94.378,123.629 93.746,119.078 96.579,119.08C97.106,118.449 102.405,115.251 105.658,120.097C106.612,121.518 106.25,124.892 104.932,127.323C104.894,127.395 104.849,127.463 104.8,127.529C104.314,128.177 103.439,129.307 103.117,129.296C102.088,129.26 101.27,128.479 101.072,127.957C100.895,127.489 101.985,126.588 102.189,125.971C102.77,124.209 101.093,123.527 100.442,125.238C99.966,125.155 98.511,124.058 98.065,122.883C97.984,122.669 97.756,122.546 97.538,122.616"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C66A61"
+        android:fillType="evenOdd"
+        android:pathData="M102.612,131.086C96.194,130.966 93.588,143.135 91.707,151.721C92.94,154.48 100.527,158.752 103.256,156.897C103.87,154.976 106.984,144.105 107.44,140.373C107.925,136.395 105.065,131.035 102.612,131.086"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"
+        android:pathData="M86.118,123.087C85.808,122.621 84.191,121.577 84.489,120.876L84.902,119.343C85.243,118.26 87.796,118.018 87.785,119.118L87.834,120.493L88.657,122.238L86.118,123.087Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C66A61"
+        android:fillType="evenOdd"
+        android:pathData="M101.386,133.509C104.672,135.211 101.706,139.967 98.738,139.26L90.556,135.255C89.85,134.909 88.329,134.283 88.08,132.748L85.372,123.325L89.172,121.48L92.266,130.681L101.386,133.509Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#6A7F90"
+        android:fillType="evenOdd"
+        android:pathData="M85.691,152.25C85.709,153.605 87.708,153.085 88.877,153.255C90.817,152.855 106.915,155.261 107.045,152.394C106.778,149.525 90.88,151.627 88.859,151.191C87.64,151.335 85.877,150.912 85.691,152.25"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#6A7F90"
+        android:fillType="evenOdd"
+        android:pathData="M103.578,162.357C106.333,162.916 109.375,140.088 110.296,138.377C110.712,136.517 109.547,137.367 109.438,137.439C106.969,138.276 103.668,156.601 102.689,158.814C102.234,160.848 102.304,162.51 103.578,162.357"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M85.512,177.837l1.679,0l0,-15.44l-1.679,0z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M102.907,168.991C102.875,171.206 106.354,171.206 106.321,168.991C106.354,166.777 102.875,166.777 102.907,168.991"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M82.414,178.999C82.502,184.125 90.127,184.124 90.214,178.999C90.127,173.872 82.501,173.873 82.414,178.999"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#FFFFFF"
+            android:fillType="evenOdd"
+            android:pathData="M83.497,179.011C83.514,182.738 89.181,182.738 89.197,179.011C89.181,175.283 83.513,175.284 83.497,179.011"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M77.434,178.604l1.237,0.526l11.119,-26.131l-1.237,-0.527z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M72.232,177.394L77.859,179.788C78.339,180.001 78.566,179.435 78.692,179.081C78.7,179.073 72.615,176.496 72.615,176.492C72.036,176.235 71.643,177.153 72.232,177.394"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M69.844,175.201C69.186,174.741 70.429,173.954 71.318,173.965C72.14,173.961 76.106,174.471 75.976,173.426L79.089,174.634C78.693,175.754 77.672,178.77 76.364,178.062C75.469,177.707 70.749,175.833 69.844,175.201"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#6A7F90"
+            android:fillType="evenOdd"
+            android:pathData="M85.498,179.003C85.481,180.104 87.212,180.104 87.196,179.003C87.211,177.902 85.481,177.902 85.498,179.003"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M205.139,189.291L206.686,189.671C206.842,190.335 208.034,193.163 206.579,193.803C206.006,194.125 205.563,194.419 204.952,193.808C203.634,193.016 205.106,189.829 205.139,189.291"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M203.2,141.244L194.137,131.324C194.137,131.324 193.007,128.036 191.864,129.612C190.72,131.187 193.084,132.348 193.084,132.348L201.421,143.145L203.715,141.807L203.2,141.244Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M210.238,189.379C210.033,189.384 209.865,189.544 209.852,189.75C209.81,190.428 209.781,191.723 209.865,191.827C209.986,191.981 213.485,191.92 214.907,191.907C215.173,191.904 215.307,191.591 215.128,191.395C214.698,190.924 213.854,190.27 212.379,190.083C212.172,190.057 212.017,189.878 212.03,189.667C212.032,189.149 211.897,189.342 211.718,189.346L210.238,189.379Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#C66A61"
+            android:fillType="evenOdd"
+            android:pathData="M213.083,157.44l-0.834,32.09l-2.666,0.134l-1.644,-26.869l-0.828,26.938l-2.628,0.086l-2.014,-31.531l0.094,-0.785z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#CBAB7D"
+            android:fillType="evenOdd"
+            android:pathData="M202.928,143.27C202.781,143.119 202.681,142.932 202.525,142.79C202.172,142.467 201.752,141.654 202.612,139.736C203.556,137.628 202.489,136.019 201.895,135.347C201.642,135.06 201.482,134.703 201.422,134.324C201.161,132.659 200.865,128.367 204.285,126.514C207.502,124.771 208.618,125.078 208.975,125.34C209.152,125.47 209.357,125.555 209.569,125.613C210.937,125.989 214.991,127.54 214.529,132.672C214.458,133.468 214.864,134.23 215.566,134.611C216.991,135.386 218.805,136.552 218.957,137.571C218.973,137.681 218.942,137.79 218.948,137.901C218.959,138.107 218.896,138.473 218.488,138.963C217.632,139.989 217.981,141.547 219.203,142.089C219.229,142.1 219.256,142.112 219.283,142.123C219.874,142.379 220.313,142.911 220.431,143.545C220.687,144.914 219.953,146.92 212.928,146.153C204.939,145.282 203.483,143.835 202.928,143.27"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M206.258,139.155C205.682,139.073 204.297,138.65 203.65,136.502C203.65,136.502 202.645,135.039 203.428,133.715C204.211,132.39 206.858,133.313 208.351,130.307C208.351,130.307 210.505,133.768 211.935,133.799C213.364,133.832 211.801,138.512 209.661,139.024C209.661,139.024 208.017,139.638 206.764,139.265C206.598,139.215 206.429,139.179 206.258,139.155"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#B1DAEF"
+            android:fillType="evenOdd"
+            android:pathData="M206.369,141.068C206.747,141.61 208.135,143.324 209.305,141.149C209.362,141.044 209.492,141.001 209.598,141.059L212.384,142.455C212.412,142.47 211.717,147.646 211.733,147.87L212.101,151.144C212.107,151.197 212.11,151.249 212.112,151.303C212.122,151.501 212.159,151.769 212.201,151.939L213.258,157.661C213.287,157.794 213.186,157.92 213.05,157.922L202.535,158.101C202.391,158.103 202.285,157.966 202.324,157.827L203.227,153.632C203.246,153.542 203.261,153.452 203.27,153.36C203.338,152.74 203.493,151.558 203.588,150.766C203.598,150.687 203.603,150.607 203.606,150.526L203.674,148.242C203.679,148.099 203.672,147.958 203.654,147.815C203.525,146.792 203.017,142.503 203.582,142.305L206.102,140.993C206.197,140.95 206.31,140.982 206.369,141.068"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M206.286,140.964C206.286,140.964 208.311,143.986 209.425,140.919L209.199,138.282C209.199,138.282 207.916,139.045 206.722,138.38L206.286,140.964Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M211.959,141.293L221.057,131.34C221.057,131.34 222.21,128.06 223.342,129.644C224.476,131.227 222.103,132.373 222.103,132.373L213.698,143.137L211.441,141.854L211.959,141.293Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#B1DAEF"
+            android:fillType="evenOdd"
+            android:pathData="M205.502,141.314C205.655,141.238 205.497,141.525 205.643,141.611C205.654,141.616 205.664,141.621 205.677,141.624C206.226,141.757 207.817,148.294 207.215,149.498C206.556,150.815 203.599,148.375 203.599,147.404C203.599,146.072 198.703,139.943 198.703,139.943C198.653,139.866 198.658,139.765 198.716,139.694L200.298,138.216C200.382,138.11 200.575,138.12 200.662,138.224C200.955,138.563 201.158,138.772 201.463,139.122C202.384,140.18 203.152,140.989 203.214,141.055C203.624,141.482 204.741,141.694 205.502,141.314"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#B1DAEF"
+            android:fillType="evenOdd"
+            android:pathData="M209.768,141.196C209.616,141.119 209.773,141.406 209.627,141.492C209.618,141.498 209.606,141.503 209.594,141.506C209.045,141.639 207.453,148.175 208.056,149.38C208.714,150.697 211.671,148.256 211.671,147.286C211.671,145.953 216.567,139.825 216.567,139.825C216.617,139.747 216.612,139.647 216.555,139.575L214.973,138.097C214.888,137.991 214.695,138.001 214.609,138.106C214.315,138.445 214.112,138.653 213.807,139.004C212.887,140.061 212.119,140.871 212.056,140.935C211.646,141.364 210.53,141.576 209.768,141.196"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M169.471,99.397C177.217,92.381 177.213,92.384 182.313,87.833C182.682,87.505 184.601,85.798 185.023,85.655C185.023,85.655 188.551,85.757 187.521,86.832C183.145,91.405 174.541,100.318 171.974,102.485C171.242,103.105 169.615,100.009 169.471,99.397"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M150.734,98.751C142.988,91.734 142.993,91.738 137.891,87.187C137.524,86.858 135.604,85.151 135.182,85.008C135.182,85.008 131.654,85.11 132.684,86.185C137.06,90.759 145.663,99.671 148.23,101.839C148.964,102.458 150.59,99.362 150.734,98.751"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M153.57,179.93C153.672,183.247 159.763,182.392 158.321,178.793C157.231,174.293 158.514,175.655 154.376,175.478C154.182,175.857 153.539,178.85 153.57,179.93"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M170.609,177.878C169.483,177.237 165.814,175.874 166.404,174.399L163.227,173.919C163.197,174.485 161.582,178.585 163.532,178.965C165.115,179.274 175.087,181.918 170.609,177.878"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#8C8C98"
+            android:fillType="evenOdd"
+            android:pathData="M152.198,127.967C152.198,127.967 151.843,131.868 151.781,132.609C151.202,139.561 153.137,169.585 153.656,174.066C153.693,174.375 153.863,175.32 154.411,175.524C155.531,175.941 157.268,175.524 157.268,175.524C157.58,175.524 157.838,175.279 157.852,174.967C158.084,169.937 160.432,140.854 160.785,138.168C162.164,143.173 162.41,168.289 162.983,174.618C163.015,174.974 163.314,175.246 163.672,175.246C163.672,175.246 165.115,175.524 165.8,175.246C166.527,174.951 166.612,174.044 166.644,173.767C168.135,160.907 170.68,139.809 169.189,126.897L163.929,129.17L152.198,127.967Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#4A4A4A"
+            android:fillType="evenOdd"
+            android:pathData="M156.565,93.826C156.565,93.826 164.68,93.274 164.684,93.283L164.837,93.79C165.311,92.251 167.16,87.954 164.778,86.597C163.298,83.101 155.059,84.685 155.322,89.33C155.229,89.877 156.565,93.826 156.565,93.826"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#3E6883"
+            android:fillType="evenOdd"
+            android:pathData="M165.114,99.694C164.489,99.485 164.052,99.106 163.921,98.588C163.757,97.954 158.885,98.223 157.675,98.35C157.497,98.369 157.495,98.211 157.421,98.373C157.198,98.861 156.781,99.485 155.74,99.902C154.331,100.465 149.071,102.623 150.087,105.04C152.425,110.601 151.99,128.86 152.156,129.243C153.456,132.232 164.624,132.894 169.294,129.511C169.8,129.145 169.253,113.582 169.462,107.957C169.447,108.342 166.843,100.271 165.114,99.694"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M160.617,100.34C161.891,100.088 163.296,99.31 163.893,98.525C163.698,97.791 163.38,96.701 163.403,96.555C163.082,96.9 158.157,96.907 157.832,96.555C157.855,96.7 157.538,97.792 157.343,98.525C157.941,99.309 159.344,100.088 160.617,100.34"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M156.545,93.999L156.545,93.909C155.906,93.463 155.505,92.657 155.524,92.04C155.522,91.713 155.653,90.936 156.017,91.278C156.113,91.695 156.427,93.146 156.741,93.377C156.477,84.296 162.338,92.69 163.994,88.856C165.226,89.27 164.159,92.789 164.562,93.365C164.896,93.126 165.115,91.707 165.2,91.278C165.274,91.22 165.344,91.176 165.403,91.197C166.08,91.921 165.526,93.309 164.67,93.911C164.733,96.134 162.174,98.71 160.607,98.374C159.048,98.706 156.52,96.182 156.545,93.958"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#E4B489"
+            android:fillType="evenOdd"
+            android:pathData="M156.573,92.845C156.57,92.76 156.569,92.68 156.568,92.598C156.566,92.688 156.565,92.78 156.565,92.873C156.568,92.863 156.57,92.856 156.573,92.845"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#3E6883"
+            android:fillType="evenOdd"
+            android:pathData="M156.66,99.444C156.987,99.369 156.577,99.674 156.838,99.775C156.855,99.781 156.874,99.786 156.899,99.791C157.937,99.961 158.824,107.159 157.219,108.444C155.463,109.852 151.402,109.62 151.338,108.373C151.15,104.82 145.922,100.256 144.859,99.363C144.709,99.237 144.613,99.059 144.597,98.864C144.58,98.652 144.593,98.417 144.671,98.374L147.316,95.954C147.454,95.828 147.632,95.753 147.818,95.758C147.96,95.762 148.096,95.797 148.165,95.859C148.63,96.241 148.958,96.477 149.44,96.874C150.893,98.068 152.131,98.985 152.232,99.059C152.894,99.543 155.025,99.826 156.66,99.444"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#3E6883"
+            android:fillType="evenOdd"
+            android:pathData="M173.42,95.874C173.216,95.762 172.886,95.852 172.752,95.97C172.287,96.353 171.96,96.589 171.477,96.985C170.023,98.179 168.786,99.096 168.685,99.17C168.023,99.655 165.891,99.937 164.256,99.556C163.929,99.48 164.34,99.786 164.079,99.886C164.062,99.893 164.042,99.899 164.018,99.903C162.98,100.073 162.093,107.271 163.699,108.556C165.048,109.638 167.609,111.043 168.813,110.117C169.352,109.701 169.404,108.985 169.462,108.582C170.155,103.7 176.221,100.521 176.544,98.583"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M134.349,85.898L133.62,86.738C131.916,86.297 129.864,84.666 129.51,82.514C129.507,80.673 131.731,80.746 132.532,81.388C133.856,82.318 134.525,83.778 135.115,85.033L134.349,85.898Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M0,219.84l360,0l0,-219.84l-360,0z" />
+        <path
+            android:fillColor="#F6B893"
+            android:fillType="evenOdd"
+            android:pathData="M185.993,86.451L186.726,87.286C188.428,86.839 190.473,85.199 190.817,83.045C190.813,81.205 188.589,81.288 187.79,81.933C186.471,82.868 185.809,84.331 185.223,85.588L185.993,86.451Z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_invalid.xml b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_invalid.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16d54eb8eb76afe5eae83d2924465e68a41d13a9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_invalid.xml
@@ -0,0 +1,123 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="77dp"
+    android:height="105dp"
+    android:viewportWidth="77"
+    android:viewportHeight="105">
+    <path
+        android:fillColor="#F5F5F5"
+        android:fillType="nonZero"
+        android:pathData="M-231,-36L97,-36A4,4 0,0 1,101 -32L101,128A4,4 0,0 1,97 132L-231,132A4,4 0,0 1,-235 128L-235,-32A4,4 0,0 1,-231 -36z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M5.88,104.02l0,-94.32l53.617,0l16.943,17.968l0,76.352z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M59.178,9.917l16.936,0l0,17.938l-16.936,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M76.114,27.854l-16.936,0l0,-17.938z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M24.676,81.096l10.455,0l0,10.455l-10.455,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M33.92,91.551L25.887,91.551C25.218,91.551 24.676,91.009 24.676,90.34L24.676,82.306C24.676,81.638 25.218,81.096 25.887,81.096L33.92,81.096C34.589,81.096 35.131,81.638 35.131,82.306L35.131,90.34C35.131,91.009 34.589,91.551 33.92,91.551"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M21.903,51.513l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,51.513L62.278,51.513C63.04,51.572 63.519,52.107 63.519,52.841C63.519,53.485 63.04,54.203 62.278,54.169L23.383,54.169C22.382,54.203 21.903,53.574 21.903,52.841C21.903,52.107 22.382,51.572 23.383,51.513"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M21.903,36.558l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,36.558L62.278,36.558C63.04,36.617 63.519,37.152 63.519,37.886C63.519,38.53 63.04,39.248 62.278,39.214L23.383,39.214C22.382,39.248 21.903,38.619 21.903,37.886C21.903,37.152 22.382,36.617 23.383,36.558"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M21.903,65.249l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,65.249L62.278,65.249C63.04,65.308 63.519,65.844 63.519,66.577C63.519,67.222 63.04,67.939 62.278,67.905L23.383,67.905C22.382,67.939 21.903,67.311 21.903,66.577C21.903,65.844 22.382,65.308 23.383,65.249"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#F7A8A8"
+        android:fillType="nonZero"
+        android:pathData="M2,31.5C1.173,31.5 0.5,30.827 0.5,30C0.5,29.72 0.59,29.437 0.773,29.135L17.628,1.385C17.829,1.054 18.274,0.5 19,0.5C19.726,0.5 20.171,1.054 20.371,1.385L37.225,29.135C37.41,29.437 37.5,29.72 37.5,30C37.5,30.827 36.827,31.5 36,31.5L2,31.5Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C74343"
+        android:fillType="nonZero"
+        android:pathData="M19,1C19.481,1 19.798,1.403 19.944,1.644L28.371,15.519L36.798,29.394C36.934,29.617 37,29.815 37,30C37,30.551 36.551,31 36,31L2,31C1.449,31 1,30.551 1,30C1,29.815 1.066,29.617 1.201,29.394L9.628,15.519L18.055,1.644C18.202,1.404 18.519,1 19,1M19,0C18.209,0 17.586,0.492 17.201,1.125C0.346,28.875 17.201,1.125 0.346,28.875C0.145,29.206 0,29.583 0,30C0,31.105 0.895,32 2,32C2.874,32 35.06,32 36,32C37.105,32 38,31.105 38,30C38,29.583 37.855,29.206 37.654,28.875C20.799,1.125 37.654,28.875 20.799,1.125C20.414,0.492 19.791,0 19,0L19,0Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M6.21,13.443l0.272,-0.449l-5.453,-0.654l-0.57,0.939l5.453,0.654z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M11.49,4.748l-3.316,-4.171l-0.553,0.911l3.316,4.172z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M8.469,9.722l0.52,-0.856l-4.374,-2.43l-0.52,0.856z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M31.79,13.443l-0.272,-0.449l5.453,-0.654l0.57,0.939l-5.453,0.654z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M26.51,4.748l3.316,-4.171l0.553,0.911l-3.316,4.172z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B33C3C"
+        android:fillType="nonZero"
+        android:pathData="M29.531,9.722l-0.52,-0.856l4.374,-2.43l0.52,0.856z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#36404D"
+        android:fillType="nonZero"
+        android:pathData="M19,26m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#36404D"
+        android:fillType="nonZero"
+        android:pathData="M19,10C17.895,10 17,10.826 17,11.846C17,12.528 18.002,21.151 18.007,21.187C18.066,21.645 18.488,22 19,22C19.512,22 19.934,21.645 19.993,21.187C19.998,21.151 21,12.528 21,11.846C21,10.826 20.105,10 19,10Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_negative.xml b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_negative.xml
new file mode 100644
index 0000000000000000000000000000000000000000..358b6f85c4e739f8c20f145d8cc8e28623349f99
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_negative.xml
@@ -0,0 +1,132 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="79dp"
+    android:height="109dp"
+    android:viewportWidth="79"
+    android:viewportHeight="109">
+    <path
+        android:fillColor="#F5F5F5"
+        android:fillType="nonZero"
+        android:pathData="M-229,-35L99,-35A4,4 0,0 1,103 -31L103,129A4,4 0,0 1,99 133L-229,133A4,4 0,0 1,-233 129L-233,-31A4,4 0,0 1,-229 -35z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M7.88,108.02l0,-94.32l53.617,0l16.943,17.968l0,76.352z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M61.178,13.917l16.936,0l0,17.938l-16.936,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M78.114,31.854l-16.936,0l0,-17.938z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M26.676,85.096l10.455,0l0,10.455l-10.455,0z" />
+        <path
+            android:fillColor="#2E854B"
+            android:fillType="evenOdd"
+            android:pathData="M35.92,95.551L27.887,95.551C27.218,95.551 26.676,95.009 26.676,94.34L26.676,86.306C26.676,85.638 27.218,85.096 27.887,85.096L35.92,85.096C36.589,85.096 37.131,85.638 37.131,86.306L37.131,94.34C37.131,95.009 36.589,95.551 35.92,95.551"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M52.007,85.096l10.455,0l0,10.455l-10.455,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M61.241,95.551L53.229,95.551C52.554,95.551 52.007,95.004 52.007,94.329L52.007,86.317C52.007,85.642 52.554,85.096 53.229,85.096L61.241,85.096C61.916,85.096 62.462,85.642 62.462,86.317L62.462,94.329C62.462,95.004 61.916,95.551 61.241,95.551"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M53.358,90.937C53.2,90.769 53.203,90.585 53.355,90.411C53.542,90.198 53.344,90.408 53.544,90.206C53.73,90.018 53.906,90.019 54.091,90.211C54.556,90.694 55.017,91.183 55.479,91.669C55.481,91.67 55.483,91.672 55.484,91.673C55.607,91.789 55.759,91.93 55.852,92.017C55.9,92.061 55.972,92.055 56.012,92.004C56.083,91.913 56.192,91.771 56.282,91.645C57.341,89.993 58.4,88.34 59.461,86.689C59.663,86.375 59.833,86.342 60.136,86.558C60.322,86.691 60.542,86.914 60.388,87.159C59.984,87.805 59.576,88.448 59.165,89.09C58.249,90.52 57.33,91.949 56.413,93.379C56.268,93.641 56.004,93.712 55.757,93.479C54.95,92.639 54.153,91.789 53.358,90.937Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M23.903,55.513l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M25.383,55.513L64.278,55.513C65.04,55.572 65.519,56.107 65.519,56.841C65.519,57.485 65.04,58.203 64.278,58.169L25.383,58.169C24.382,58.203 23.903,57.574 23.903,56.841C23.903,56.107 24.382,55.572 25.383,55.513"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M23.903,40.558l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M25.383,40.558L64.278,40.558C65.04,40.617 65.519,41.152 65.519,41.886C65.519,42.53 65.04,43.248 64.278,43.214L25.383,43.214C24.382,43.248 23.903,42.619 23.903,41.886C23.903,41.152 24.382,40.617 25.383,40.558"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M23.903,69.249l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M25.383,69.249L64.278,69.249C65.04,69.308 65.519,69.844 65.519,70.577C65.519,71.222 65.04,71.939 64.278,71.905L25.383,71.905C24.382,71.939 23.903,71.311 23.903,70.577C23.903,69.844 24.382,69.308 25.383,69.249"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#2E7D32"
+        android:fillType="nonZero"
+        android:pathData="M26.518,29.973C25.308,29.973 25.913,27.078 25.913,26.665C26.013,26.458 25.005,14.157 25.005,14.157C25.106,13.744 25.308,13.227 26.013,13.227C26.013,13.227 26.013,13.227 26.114,13.227L26.215,13.227C27.828,13.227 29.239,11.883 29.239,10.229C29.239,8.575 27.929,7.231 26.215,7.231C24.602,7.231 23.191,8.575 23.191,10.229C23.191,10.539 23.191,10.849 23.292,11.159C23.292,11.159 23.896,12.71 22.586,12.503C22.586,12.503 11.194,16.535 10.69,16.638C9.279,19.222 5.649,17.878 4.541,17.051C4.238,16.638 3.633,16.328 2.928,16.328C1.718,16.328 0.71,17.362 0.71,18.602C0.81,19.739 1.819,20.773 3.028,20.773C3.432,20.773 3.936,20.669 4.238,20.463C6.053,19.532 9.38,20.153 9.783,21.806L9.783,21.91C9.884,22.22 12.202,26.975 12.505,27.388C14.017,30.283 10.287,31.42 10.287,31.42C9.279,31.42 8.371,32.35 8.371,33.487C8.371,34.728 9.38,35.761 10.589,35.761C11.799,35.761 12.807,34.728 12.807,33.487C13.11,31.11 14.319,29.559 16.537,29.456C16.84,29.559 22.283,29.146 22.687,29.042C24.3,29.352 23.392,30.696 23.392,32.97C23.392,34.624 24.703,35.968 26.417,35.968C28.03,35.968 29.441,34.624 29.441,32.97C29.542,31.316 28.231,29.973 26.518,29.973Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4CAF50"
+        android:fillType="nonZero"
+        android:pathData="M32.749,14.793C31.839,14.793 31.131,15.191 30.828,15.988C29.918,17.283 27.998,17.582 26.784,16.984C26.582,16.486 13.845,13.099 13.845,13.199C12.227,14.095 10.711,11.306 10.812,10.011L10.812,9.911C10.913,9.613 10.913,9.314 10.913,9.015C10.913,7.421 9.599,6.126 7.88,6.126C6.263,6.126 4.848,7.421 4.848,9.015C4.848,10.31 5.758,11.306 6.768,11.804C8.487,12.501 10.812,14.494 10.61,15.888C11.318,17.084 9.7,23.26 9.801,23.758C8.891,24.655 7.072,24.455 6.364,24.157C6.061,23.758 5.454,23.559 4.848,23.559C3.23,23.559 1.815,24.854 1.815,26.448C1.815,28.042 3.129,29.337 4.848,29.337C5.859,29.337 6.667,28.938 7.274,28.141C8.184,26.846 9.7,25.651 11.014,25.651C11.216,25.95 27.492,19.674 27.492,19.574C27.593,18.976 30.019,18.379 32.142,18.877L32.749,18.877C33.962,18.877 34.973,17.881 34.973,16.685C34.973,15.49 33.962,14.793 32.749,14.793Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#4CAF50"
+        android:fillType="nonZero"
+        android:pathData="M29.447,19.942C29.447,25.161 25.271,29.337 20.052,29.337C14.832,29.337 10.657,25.161 10.657,19.942C10.657,14.723 14.832,10.547 20.052,10.547C25.271,10.547 29.447,14.723 29.447,19.942Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#8BC34A"
+        android:fillType="nonZero"
+        android:pathData="M22.638,28.623C22.935,28.014 21.845,27.811 20.954,27.811C20.062,27.811 19.171,28.318 19.369,28.928C21.746,32.583 19.963,33.09 18.874,33.801C17.982,34.207 17.388,35.324 17.388,36.339C17.388,37.964 18.675,39.284 20.359,39.284C22.043,39.284 23.331,37.964 23.331,36.339C23.43,33.497 21.647,29.537 22.638,28.623ZM35.119,22.937C34.524,22.937 33.93,23.039 33.534,23.343C31.751,24.054 30.166,22.734 28.977,21.922C28.383,21.516 27.69,22.531 27.491,22.836C27.293,23.14 26.996,24.562 28.185,24.562C30.166,23.851 32.642,27.405 32.642,27.405C33.039,28.42 34.128,29.029 35.317,29.029C36.902,29.029 38.289,27.709 38.289,26.085C37.991,24.257 36.704,22.937 35.119,22.937ZM17.784,5.27C19.666,9.23 19.567,10.753 18.477,11.159C17.586,11.87 19.072,12.784 20.161,12.581C21.251,12.378 22.241,11.87 21.548,10.855C19.864,7.809 22.043,5.778 22.043,5.778C22.737,5.372 23.232,4.458 23.232,3.544C23.232,1.92 21.944,0.6 20.26,0.6C18.576,0.6 17.289,1.92 17.289,3.544C17.289,3.95 17.388,4.458 17.586,4.864C17.586,5.169 17.586,5.169 17.784,5.27Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C5E1A5"
+        android:fillType="nonZero"
+        android:pathData="M17.289,20.494C15.52,20.494 13.973,19.008 13.973,17.179C13.973,15.349 15.41,13.863 17.289,13.863C19.168,13.863 20.604,15.349 20.604,17.179C20.604,19.008 19.168,20.494 17.289,20.494Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F1F8E9"
+        android:fillType="nonZero"
+        android:pathData="M16.183,23.81C15.52,23.81 15.078,23.368 15.078,22.705C15.078,22.042 15.52,21.6 16.183,21.6C16.847,21.6 17.289,22.042 17.289,22.705C17.289,23.368 16.847,23.81 16.183,23.81Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#DCEDC8"
+        android:fillType="nonZero"
+        android:pathData="M21.71,26.021C20.504,26.021 19.499,25.016 19.499,23.81C19.499,22.604 20.504,21.6 21.71,21.6C22.915,21.6 23.92,22.604 23.92,23.81C23.92,25.016 22.915,26.021 21.71,26.021Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="nonZero"
+        android:pathData="M4.176,4.776C5.503,3.449 7.655,3.449 8.982,4.776L34.553,30.346C35.881,31.674 35.881,33.826 34.554,35.153C33.226,36.48 31.074,36.48 29.747,35.153L4.176,9.583C2.848,8.256 2.848,6.104 4.176,4.776Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#2E854B"
+        android:fillType="nonZero"
+        android:pathData="M5.863,6.463C6.408,5.918 7.291,5.918 7.836,6.463L34.067,32.693C34.612,33.238 34.612,34.121 34.067,34.666C33.522,35.211 32.638,35.211 32.093,34.666L5.863,8.437C5.318,7.892 5.318,7.008 5.863,6.463Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_pending.xml b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_pending.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8feb68e65b6090fa04d67533fee6f14f4e794300
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_pending.xml
@@ -0,0 +1,81 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="82dp"
+    android:height="99dp"
+    android:viewportWidth="82"
+    android:viewportHeight="99">
+    <path
+        android:fillColor="#F5F5F5"
+        android:fillType="nonZero"
+        android:pathData="M-226,-45L102,-45A4,4 0,0 1,106 -41L106,119A4,4 0,0 1,102 123L-226,123A4,4 0,0 1,-230 119L-230,-41A4,4 0,0 1,-226 -45z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M10.88,95.02l0,-94.32l53.617,0l16.943,17.9678l0,76.3522z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#B2DBF0"
+        android:fillType="nonZero"
+        android:pathData="M15.0432,77.06C17.781,74.3222 21.993,69.7943 21.993,66.3194C21.993,61.0544 17.781,58.0007 12.516,58.0007C7.251,58.0007 3.039,61.0544 3.039,66.3194C3.039,69.7943 7.251,74.4275 9.9888,77.1653C7.251,79.7978 3.039,84.3257 3.039,87.9059C3.039,93.1709 7.251,96.2246 12.516,96.2246C17.781,96.2246 21.993,93.1709 21.993,87.9059C21.993,84.3257 17.781,79.7978 15.0432,77.06Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#8D6E63"
+        android:fillType="nonZero"
+        android:pathData="M23.611,96.7196C23.611,97.5598 23.2412,98.12 22.6864,98.12L2.3456,98.12C1.7908,98.12 1.421,97.5598 1.421,96.7196L1.421,95.3192C1.421,94.479 1.7908,93.9188 2.3456,93.9188L22.6864,93.9188C23.2412,93.9188 23.611,94.479 23.611,95.3192L23.611,96.7196ZM23.611,57.4004C23.611,56.5602 23.2412,56 22.6864,56L2.3456,56C1.7908,56 1.421,56.5602 1.421,57.4004L1.421,58.8008C1.421,59.641 1.7908,60.2012 2.3456,60.2012L22.6864,60.2012C23.2412,60.2012 23.611,59.641 23.611,58.8008L23.611,57.4004Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M64.1782,0.9166l16.9362,0l0,17.9375l-16.9362,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M81.1144,18.8542l-16.9362,0l0,-17.9376z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M29.6756,72.0957l10.455,0l0,10.4551l-10.455,0z" />
+        <path
+            android:fillColor="#5D6E80"
+            android:fillType="evenOdd"
+            android:pathData="M38.92,82.5507L30.8866,82.5507C30.2177,82.5507 29.6756,82.0086 29.6756,81.34L29.6756,73.3064C29.6756,72.6378 30.2177,72.0956 30.8866,72.0956L38.92,72.0956C39.5886,72.0956 40.1307,72.6378 40.1307,73.3064L40.1307,81.34C40.1307,82.0086 39.5886,82.5507 38.92,82.5507"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M56.3576,77.9374C56.2,77.7688 56.2026,77.5845 56.3545,77.4112C56.5423,77.1977 56.3444,77.4075 56.5436,77.2063C56.7301,77.0178 56.9057,77.0192 57.0907,77.2112C57.5561,77.6945 58.017,78.1827 58.4795,78.6688C58.4812,78.6704 58.4827,78.6718 58.4843,78.6734C58.6072,78.7887 58.7593,78.9303 58.8525,79.0172C58.8996,79.0612 58.9717,79.0552 59.0118,79.0037C59.0828,78.9133 59.1922,78.7715 59.2818,78.6445C60.341,76.9927 61.3999,75.3404 62.4607,73.6894C62.6629,73.3745 62.8328,73.3422 63.1359,73.5583C63.3224,73.6911 63.5418,73.9144 63.3883,74.159C62.9836,74.8047 62.5759,75.4482 62.1652,76.0897C61.2492,77.5202 60.3302,78.9487 59.4131,80.3786C59.2682,80.6414 59.0039,80.7117 58.7571,80.4788C57.9502,79.6393 57.1531,78.7892 56.3576,77.9374Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M26.9034,42.5128l41.6152,0l0,2.657l-41.6152,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M28.3834,42.5127L67.2777,42.5127C68.0403,42.5719 68.5186,43.1071 68.5186,43.8405C68.5186,44.4854 68.0403,45.2029 67.2777,45.1685L28.3834,45.1685C27.3816,45.2029 26.9033,44.5739 26.9033,43.8405C26.9033,43.1071 27.3816,42.5719 28.3834,42.5127"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M26.9034,27.5578l41.6152,0l0,2.6572l-41.6152,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M28.3834,27.5578L67.2777,27.5578C68.0403,27.617 68.5186,28.1522 68.5186,28.8855C68.5186,29.5304 68.0403,30.2479 67.2777,30.2136L28.3834,30.2136C27.3816,30.2479 26.9033,29.6191 26.9033,28.8855C26.9033,28.1522 27.3816,27.617 28.3834,27.5578"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M26.9034,56.2492l41.6152,0l0,2.6572l-41.6152,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M28.3834,56.2492L67.2777,56.2492C68.0403,56.3084 68.5186,56.8437 68.5186,57.577C68.5186,58.2219 68.0403,58.9394 67.2777,58.9051L28.3834,58.9051C27.3816,58.9394 26.9033,58.3106 26.9033,57.577C26.9033,56.8437 27.3816,56.3084 28.3834,56.2492"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_positive.xml b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_positive.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d817b79c8124ab8b67e245f1368093fc1052cefd
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_test_result_illustration_positive.xml
@@ -0,0 +1,120 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="77dp"
+    android:height="105dp"
+    android:viewportWidth="77"
+    android:viewportHeight="105">
+    <path
+        android:fillColor="#F5F5F5"
+        android:fillType="nonZero"
+        android:pathData="M-231,-36L97,-36A4,4 0,0 1,101 -32L101,128A4,4 0,0 1,97 132L-231,132A4,4 0,0 1,-235 128L-235,-32A4,4 0,0 1,-231 -36z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M5.88,104.02l0,-94.32l53.617,0l16.943,17.968l0,76.352z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M59.178,9.917l16.936,0l0,17.938l-16.936,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M76.114,27.854l-16.936,0l0,-17.938z"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M24.676,81.096l10.455,0l0,10.455l-10.455,0z" />
+        <path
+            android:fillColor="#C01633"
+            android:fillType="evenOdd"
+            android:pathData="M33.92,91.551L25.887,91.551C25.218,91.551 24.676,91.009 24.676,90.34L24.676,82.306C24.676,81.638 25.218,81.096 25.887,81.096L33.92,81.096C34.589,81.096 35.131,81.638 35.131,82.306L35.131,90.34C35.131,91.009 34.589,91.551 33.92,91.551"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M50.007,81.096l10.455,0l0,10.455l-10.455,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M59.241,91.551L51.229,91.551C50.554,91.551 50.007,91.004 50.007,90.329L50.007,82.317C50.007,81.642 50.554,81.096 51.229,81.096L59.241,81.096C59.916,81.096 60.462,81.642 60.462,82.317L60.462,90.329C60.462,91.004 59.916,91.551 59.241,91.551"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M51.358,86.937C51.2,86.769 51.203,86.585 51.355,86.411C51.542,86.198 51.344,86.408 51.544,86.206C51.73,86.018 51.906,86.019 52.091,86.211C52.556,86.694 53.017,87.183 53.479,87.669C53.481,87.67 53.483,87.672 53.484,87.673C53.607,87.789 53.759,87.93 53.852,88.017C53.9,88.061 53.972,88.055 54.012,88.004C54.083,87.913 54.192,87.771 54.282,87.645C55.341,85.993 56.4,84.34 57.461,82.689C57.663,82.375 57.833,82.342 58.136,82.558C58.322,82.691 58.542,82.914 58.388,83.159C57.984,83.805 57.576,84.448 57.165,85.09C56.249,86.52 55.33,87.949 54.413,89.379C54.268,89.641 54.004,89.712 53.757,89.479C52.95,88.639 52.153,87.789 51.358,86.937Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <group>
+        <clip-path android:pathData="M21.903,51.513l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,51.513L62.278,51.513C63.04,51.572 63.519,52.107 63.519,52.841C63.519,53.485 63.04,54.203 62.278,54.169L23.383,54.169C22.382,54.203 21.903,53.574 21.903,52.841C21.903,52.107 22.382,51.572 23.383,51.513"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M21.903,36.558l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,36.558L62.278,36.558C63.04,36.617 63.519,37.152 63.519,37.886C63.519,38.53 63.04,39.248 62.278,39.214L23.383,39.214C22.382,39.248 21.903,38.619 21.903,37.886C21.903,37.152 22.382,36.617 23.383,36.558"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <group>
+        <clip-path android:pathData="M21.903,65.249l41.615,0l0,2.657l-41.615,0z" />
+        <path
+            android:fillColor="#657888"
+            android:fillType="evenOdd"
+            android:pathData="M23.383,65.249L62.278,65.249C63.04,65.308 63.519,65.844 63.519,66.577C63.519,67.222 63.04,67.939 62.278,67.905L23.383,67.905C22.382,67.939 21.903,67.311 21.903,66.577C21.903,65.844 22.382,65.308 23.383,65.249"
+            android:strokeWidth="1"
+            android:strokeColor="#00000000" />
+    </group>
+    <path
+        android:fillColor="#C01633"
+        android:fillType="nonZero"
+        android:pathData="M32.114,13.154C31.218,13.154 30.471,13.592 30.173,14.322C29.277,15.638 27.335,15.93 26.14,15.346C25.919,14.841 13.294,11.4 13.294,11.545C11.651,12.422 10.157,9.646 10.307,8.329L10.307,8.183C10.456,7.891 10.456,7.598 10.456,7.306C10.456,5.699 9.111,4.383 7.469,4.383C5.825,4.383 4.481,5.698 4.481,7.306C4.481,8.621 5.377,9.645 6.423,10.084C8.087,10.762 10.389,12.824 10.235,14.168C10.899,15.359 9.296,21.617 9.411,22.067C8.515,22.944 6.722,22.797 5.975,22.505C5.677,22.067 5.079,21.92 4.481,21.92C2.838,21.92 1.494,23.235 1.494,24.844C1.494,26.451 2.838,27.767 4.481,27.767C5.527,27.767 6.273,27.328 6.871,26.597C7.767,25.283 9.262,24.113 10.606,24.113C10.8,24.397 26.889,18.121 26.889,17.975C27.037,17.39 29.428,16.805 31.519,17.244L32.116,17.244C33.311,17.244 34.358,16.221 34.358,15.052C34.358,13.883 33.31,13.154 32.114,13.154Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#59112B"
+        android:fillType="nonZero"
+        android:pathData="M25.543,27.915C24.349,27.915 24.946,25.139 24.946,24.7C25.093,24.482 24.05,12.569 24.05,12.569C24.199,12.13 24.349,11.692 25.095,11.692C25.095,11.692 25.095,11.692 25.244,11.692L25.394,11.692C27.037,11.692 28.38,10.377 28.38,8.769C28.38,7.161 27.036,5.846 25.394,5.846C23.75,5.846 22.406,7.16 22.406,8.769C22.406,9.061 22.406,9.353 22.554,9.646C22.554,9.646 23.153,11.107 21.808,10.96C21.808,10.96 10.511,14.882 9.962,14.981C8.584,17.505 4.919,16.213 3.884,15.346C3.585,14.907 2.988,14.615 2.24,14.615C1.045,14.615 0,15.639 0,16.808C0,17.978 1.045,19 2.241,19C2.69,19 3.137,18.854 3.436,18.708C5.228,17.83 8.515,18.415 8.963,20.022L8.963,20.169C9.03,20.498 11.371,25.019 11.651,25.43C13.145,28.207 9.411,29.376 9.411,29.376C8.365,29.376 7.469,30.253 7.469,31.422C7.469,32.592 8.514,33.614 9.709,33.614C10.904,33.614 11.95,32.592 11.95,31.422C12.249,29.085 13.444,27.622 15.684,27.477C16.03,27.589 21.36,27.184 21.808,27.039C23.452,27.33 22.554,28.646 22.554,30.839C22.554,32.446 23.9,33.762 25.542,33.762C27.186,33.762 28.53,32.447 28.53,30.839C28.531,29.23 27.187,27.915 25.543,27.915Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C01633"
+        android:fillType="nonZero"
+        android:pathData="M18,10C13.029,10 9,14.029 9,19C9,23.971 13.029,28 18,28C22.971,28 27,23.971 27,19C27,14.029 22.971,10 18,10Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#C43B52"
+        android:fillType="nonZero"
+        android:pathData="M20.315,27.478C20.646,26.833 19.515,26.641 18.625,26.672C17.735,26.703 16.875,27.219 17.038,27.785C19.412,31.424 17.624,31.862 16.58,32.593C15.684,33.031 15.086,34.054 15.086,35.077C15.086,36.684 16.431,38 18.074,38C19.717,38 21.062,36.685 21.062,35.077C21.063,32.3 19.27,28.354 20.315,27.478ZM32.862,21.923C32.264,21.923 31.668,22.069 31.219,22.361C29.437,23.088 27.804,21.793 26.611,20.916C26.015,20.547 25.338,21.483 25.14,21.859C24.942,22.235 24.64,23.562 25.841,23.53C27.874,22.875 30.321,26.307 30.321,26.307C30.77,27.329 31.816,27.914 33.01,27.914C34.655,27.914 35.998,26.599 35.998,24.991C35.85,23.238 34.506,21.923 32.862,21.923ZM15.386,4.53C17.327,8.477 17.178,9.938 16.133,10.377C15.203,11.047 16.703,11.953 17.812,11.813C18.921,11.673 19.921,11.125 19.232,10.159C17.517,7.131 19.717,5.116 19.717,5.116C20.464,4.678 20.911,3.801 20.911,2.924C20.912,1.315 19.568,0 17.925,0C16.282,0 14.938,1.315 14.938,2.923C14.938,3.361 15.087,3.8 15.237,4.238C15.237,4.385 15.237,4.385 15.386,4.53Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#E1A5A5"
+        android:fillType="nonZero"
+        android:pathData="M16.432,19C14.788,19 13.445,17.685 13.445,16.077C13.445,14.469 14.789,13.154 16.432,13.154C18.075,13.154 19.419,14.469 19.419,16.077C19.419,17.685 18.075,19 16.432,19Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#F8E9E9"
+        android:fillType="nonZero"
+        android:pathData="M14.938,23.385C14.042,23.385 13.444,22.8 13.444,21.923C13.444,21.046 14.041,20.461 14.938,20.461C15.834,20.461 16.432,21.046 16.432,21.923C16.432,22.8 15.834,23.385 14.938,23.385Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+    <path
+        android:fillColor="#EDC8C8"
+        android:fillType="nonZero"
+        android:pathData="M20.166,24.992C18.971,24.992 17.925,23.97 17.925,22.8C17.925,21.63 18.97,20.608 20.166,20.608C21.36,20.608 22.406,21.63 22.406,22.8C22.406,23.97 21.36,24.992 20.166,24.992Z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
index 24ab796e3d3ae22b16a368855e4d8a217f3fc219..7909a029da7ca852f3042e8443d2cc7142877e37 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
@@ -45,6 +45,7 @@
                 app:illustration="@{@drawable/ic_submission_illustration_qr_code_card}"
                 app:layout_constraintEnd_toStartOf="@+id/submission_guideline_end"
                 app:layout_constraintStart_toStartOf="@+id/submission_guideline_start"
+                android:focusable="true"
                 app:layout_constraintTop_toBottomOf="@+id/submission_dispatcher_subtitle" />
 
             <include
@@ -99,7 +100,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
-                app:layout_constraintGuide_end="@dimen/sm_guideline_button" />
+                app:layout_constraintGuide_end="@dimen/submission_guideline_button" />
 
             <androidx.constraintlayout.widget.Guideline
                 android:id="@+id/submission_guideline_top"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1cf488ce630e1a3bce260da83596663c4599b19b
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+
+        <import type="de.rki.coronawarnapp.risk.RiskLevelConstants" />
+    </data>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true"
+        tools:context=".ui.submission.SubmissionIntroFragment">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <include
+                android:id="@+id/submission_done_header"
+                layout="@layout/include_information_details_header"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                app:body="@{@string/submission_done_body}"
+                app:headline="@{@string/submission_done_headline}"
+                app:icon="@{@drawable/ic_close}"
+                app:illustration="@{@drawable/ic_submission_illustration_thanks}"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <TextView
+                android:id="@+id/submission_done_subtitle"
+                style="@style/textSubTitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:text="@string/submission_done_subtitle"
+                app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_done_header" />
+
+            <include
+                android:id="@+id/submission_done_contagious"
+                layout="@layout/include_risk_details_behavior_row"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                app:body="@{@string/submission_done_contagious}"
+                app:icon="@{@drawable/ic_risk_card_contact_increased}"
+                app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_done_subtitle"
+                app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
+
+            <include
+                android:id="@+id/submission_done_isolate"
+                layout="@layout/include_risk_details_behavior_row"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                app:body="@{@string/submission_done_isolate}"
+                app:icon="@{@drawable/ic_risk_details_home}"
+                app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_done_contagious"
+                app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
+
+            <Button
+                android:id="@+id/submission_done_button_done"
+                style="@style/buttonPrimary"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginVertical="@dimen/spacing_normal"
+                android:text="@string/submission_done_button_done"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_done_isolate" />
+
+            <androidx.constraintlayout.widget.Guideline
+                android:id="@+id/guideline_top"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                app:layout_constraintGuide_begin="@dimen/guideline_top" />
+
+            <androidx.constraintlayout.widget.Guideline
+                android:id="@+id/guideline_start"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                app:layout_constraintGuide_begin="@dimen/guideline_start" />
+
+            <androidx.constraintlayout.widget.Guideline
+                android:id="@+id/guideline_end"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                app:layout_constraintGuide_end="@dimen/guideline_end" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </ScrollView>
+</layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
index f13fe237efdb32b4fe6454419413152483a3fa28..1d94e24df14e6e93e5401cd9b11fd8dad4a09064 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
@@ -97,7 +97,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:orientation="horizontal"
-                    app:layout_constraintGuide_end="@dimen/sm_guideline_button" />
+                    app:layout_constraintGuide_end="@dimen/submission_guideline_button" />
 
                 <androidx.constraintlayout.widget.Guideline
                     android:id="@+id/submission_guideline_top"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_register_qr_code_scan.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
similarity index 52%
rename from Corona-Warn-App/src/main/res/layout/fragment_register_qr_code_scan.xml
rename to Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
index 838b11fe08ae960690ef2e525e044042808f896b..ae1053e307cded9831f98a823a37294175b29ea1 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_register_qr_code_scan.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
@@ -7,22 +7,22 @@
         android:layout_height="match_parent">
 
         <com.journeyapps.barcodescanner.BarcodeView
-            android:id="@+id/register_qr_code_scan_preview"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
+            android:id="@+id/submission_qr_code_scan_preview"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="@dimen/match_constraint"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:zxing_framing_rect_height="@dimen/scan_qr_code_viewfinder_size"
-            app:zxing_framing_rect_width="@dimen/scan_qr_code_viewfinder_size">
+            app:zxing_framing_rect_height="@dimen/submission_scan_qr_code_viewfinder_size"
+            app:zxing_framing_rect_width="@dimen/submission_scan_qr_code_viewfinder_size">
 
         </com.journeyapps.barcodescanner.BarcodeView>
 
         <com.journeyapps.barcodescanner.ViewfinderView
-            android:id="@+id/register_qr_code_scan_viewfinder_view"
-            android:layout_width="@dimen/scan_qr_code_viewfinder_size"
-            android:layout_height="@dimen/scan_qr_code_viewfinder_size"
+            android:id="@+id/submission_qr_code_scan_viewfinder_view"
+            android:layout_width="@dimen/submission_scan_qr_code_viewfinder_size"
+            android:layout_height="@dimen/submission_scan_qr_code_viewfinder_size"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -30,58 +30,58 @@
             app:zxing_viewfinder_laser_visibility="false" />
 
         <TextView
-            android:id="@+id/register_qr_code_scan_body"
+            android:id="@+id/submission_qr_code_scan_body"
             style="@style/registrationQRCodeScanBody"
-            android:layout_width="@dimen/scan_qr_code_viewfinder_size"
+            android:layout_width="@dimen/submission_scan_qr_code_viewfinder_size"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:text="@string/register_qr_code_scan_body"
-            app:layout_constraintEnd_toEndOf="@+id/register_qr_code_scan_preview"
-            app:layout_constraintStart_toStartOf="@+id/register_qr_code_scan_preview"
-            app:layout_constraintTop_toBottomOf="@+id/register_qr_code_scan_viewfinder_view" />
+            android:layout_marginTop="@dimen/spacing_small"
+            android:text="@string/submission_qr_code_scan_body"
+            app:layout_constraintEnd_toEndOf="@+id/submission_qr_code_scan_preview"
+            app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_preview"
+            app:layout_constraintTop_toBottomOf="@+id/submission_qr_code_scan_viewfinder_view" />
 
 
         <include
-            android:id="@+id/register_qr_code_scan_close"
+            android:id="@+id/submission_qr_code_scan_close"
             layout="@layout/include_button_icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             app:icon="@{@drawable/ic_close}"
-            app:layout_constraintBottom_toTopOf="@+id/register_qr_code_scan_guideline_top"
-            app:layout_constraintEnd_toStartOf="@+id/register_qr_code_scan_guideline_start"
-            app:layout_constraintStart_toStartOf="@+id/register_qr_code_scan_guideline_start"
-            app:layout_constraintTop_toTopOf="@+id/register_qr_code_scan_guideline_top" />
+            app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top"
+            app:layout_constraintEnd_toStartOf="@+id/submission_qr_code_scan_guideline_start"
+            app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_guideline_start"
+            app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top" />
 
         <ToggleButton
-            android:id="@+id/register_qr_code_scan_torch"
+            android:id="@+id/submission_qr_code_scan_torch"
             android:layout_width="@dimen/icon_size"
             android:layout_height="@dimen/icon_size"
             android:background="@drawable/ic_registration_qr_code_scan_torch_toggle"
             android:backgroundTint="@color/iconColor"
             android:textOff=""
             android:textOn=""
-            app:layout_constraintBottom_toTopOf="@+id/register_qr_code_scan_guideline_top"
-            app:layout_constraintEnd_toStartOf="@+id/register_qr_code_scan_guideline_end"
-            app:layout_constraintStart_toStartOf="@+id/register_qr_code_scan_guideline_end"
-            app:layout_constraintTop_toTopOf="@+id/register_qr_code_scan_guideline_top" />
+            app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top"
+            app:layout_constraintEnd_toStartOf="@+id/submission_qr_code_scan_guideline_end"
+            app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_guideline_end"
+            app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top" />
 
 
         <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/register_qr_code_scan_guideline_start"
+            android:id="@+id/submission_qr_code_scan_guideline_start"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical"
             app:layout_constraintGuide_begin="@dimen/guideline_start" />
 
         <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/register_qr_code_scan_guideline_top"
+            android:id="@+id/submission_qr_code_scan_guideline_top"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
-            app:layout_constraintGuide_end="707dp" />
+            app:layout_constraintGuide_begin="@dimen/spacing_normal" />
 
         <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/register_qr_code_scan_guideline_end"
+            android:id="@+id/submission_qr_code_scan_guideline_end"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_register_device.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_register_device.xml
similarity index 56%
rename from Corona-Warn-App/src/main/res/layout/fragment_register_device.xml
rename to Corona-Warn-App/src/main/res/layout/fragment_submission_register_device.xml
index d535281319a24e8c7110ed1c64cc1db41b2f39e0..359284ebf0a5526334e80eb3458c14d101713fad 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_register_device.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_register_device.xml
@@ -7,7 +7,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
-        tools:context=".ui.register.RegisterDeviceFragment">
+        tools:context=".ui.submission.SubmissionRegisterDeviceFragment">
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
@@ -15,58 +15,58 @@
 
 
             <TextView
-                android:id="@+id/register_device_headline"
+                android:id="@+id/submission_register_device_headline"
                 style="@style/textTitle"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
-                android:text="@string/register_device_headline"
-                app:layout_constraintEnd_toStartOf="@+id/register_device_guideline_end"
-                app:layout_constraintStart_toStartOf="@+id/register_device_guideline_start"
-                app:layout_constraintTop_toTopOf="@+id/register_device_guideline_top" />
+                android:text="@string/submission_register_device_headline"
+                app:layout_constraintEnd_toStartOf="@+id/submission_register_device_guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/submission_register_device_guideline_start"
+                app:layout_constraintTop_toTopOf="@+id/submission_register_device_guideline_top" />
 
             <TextView
-                android:id="@+id/register_device_text"
+                android:id="@+id/submission_register_device_text"
                 style="@style/textMultiline"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
-                android:text="@string/register_device_body"
-                app:layout_constraintEnd_toStartOf="@+id/register_device_guideline_end"
-                app:layout_constraintStart_toStartOf="@+id/register_device_guideline_start"
-                app:layout_constraintTop_toBottomOf="@+id/register_device_headline" />
+                android:text="@string/submission_register_device_body"
+                app:layout_constraintEnd_toStartOf="@+id/submission_register_device_guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/submission_register_device_guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_register_device_headline" />
 
             <ProgressBar
-                android:id="@+id/register_device_spinner"
+                android:id="@+id/submission_register_device_spinner"
                 style="?android:attr/progressBarStyle"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                app:layout_constraintBottom_toTopOf="@+id/register_device_guideline_bottom"
-                app:layout_constraintEnd_toStartOf="@+id/register_device_guideline_end"
-                app:layout_constraintStart_toStartOf="@+id/register_device_guideline_start"
-                app:layout_constraintTop_toBottomOf="@+id/register_device_text" />
+                app:layout_constraintBottom_toTopOf="@+id/submission_register_device_guideline_bottom"
+                app:layout_constraintEnd_toStartOf="@+id/submission_register_device_guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/submission_register_device_guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_register_device_text" />
 
             <androidx.constraintlayout.widget.Guideline
-                android:id="@+id/register_device_guideline_start"
+                android:id="@+id/submission_register_device_guideline_start"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 app:layout_constraintGuide_begin="@dimen/guideline_start" />
 
             <androidx.constraintlayout.widget.Guideline
-                android:id="@+id/register_device_guideline_bottom"
+                android:id="@+id/submission_register_device_guideline_bottom"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
                 app:layout_constraintGuide_end="@dimen/guideline_bottom" />
 
             <androidx.constraintlayout.widget.Guideline
-                android:id="@+id/register_device_guideline_end"
+                android:id="@+id/submission_register_device_guideline_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 app:layout_constraintGuide_end="@dimen/guideline_end" />
 
             <androidx.constraintlayout.widget.Guideline
-                android:id="@+id/register_device_guideline_top"
+                android:id="@+id/submission_register_device_guideline_top"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
index 189bf63e66e3398b0360b821672b8e6c8dd94a13..ea3ae1b4af565b514be71776e29e613c7e0c9924 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
@@ -18,7 +18,7 @@
         <include
             android:id="@+id/submission_test_result_header"
             layout="@layout/include_information_details_header"
-            android:layout_width="0dp"
+            android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             app:icon="@{@drawable/ic_close}"
             app:layout_constraintEnd_toEndOf="parent"
@@ -27,9 +27,11 @@
             app:title="@{@string/submission_test_result_headline}" />
 
         <ScrollView
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintBottom_toTopOf="@+id/submission_test_result_guideline_bottom"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="@dimen/match_constraint"
+            android:layout_marginBottom="@dimen/spacing_normal"
+            android:fillViewport="true"
+            app:layout_constraintBottom_toTopOf="@+id/submission_test_result_button_container"
             app:layout_constraintEnd_toStartOf="@+id/submission_test_result_guideline_end"
             app:layout_constraintStart_toStartOf="@+id/submission_test_result_guideline_start"
             app:layout_constraintTop_toTopOf="@+id/submission_test_result_guideline_body">
@@ -41,7 +43,7 @@
                 <include
                     android:id="@+id/submission_test_result_card"
                     layout="@layout/include_test_result_card"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -52,9 +54,9 @@
                 <TextView
                     android:id="@+id/submission_test_result_subtitle"
                     style="@style/textSubTitle"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="32dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
                     android:text="@string/submission_test_result_subtitle"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -63,9 +65,9 @@
                 <include
                     android:id="@+id/submission_test_result_pending_steps"
                     layout="@layout/include_test_result_pending_steps"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="32dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
                     android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.testResult)}"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -74,9 +76,9 @@
                 <include
                     android:id="@+id/submission_test_result_negative_steps"
                     layout="@layout/include_test_result_negative_steps"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="32dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
                     android:visibility="@{FormatterSubmissionHelper.formatTestResultNegativeStepsVisible(submissionViewModel.testResult)}"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -85,9 +87,9 @@
                 <include
                     android:id="@+id/submission_test_result_positive_steps"
                     layout="@layout/include_test_result_positive_steps"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="32dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
                     android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.testResult)}"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -96,78 +98,89 @@
                 <include
                     android:id="@+id/submission_test_result_invalid_steps"
                     layout="@layout/include_test_result_invalid_steps"
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="32dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
                     android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStepsVisible(submissionViewModel.testResult)}"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
 
             </androidx.constraintlayout.widget.ConstraintLayout>
-
         </ScrollView>
 
-        <Button
-            android:id="@+id/submission_test_result_button_pending_refresh"
-            style="@style/buttonPrimary"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/spacing_normal"
-            android:layout_marginBottom="@dimen/spacing_normal"
-            android:text="@string/submission_test_result_pending_refresh_button"
-            android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.testResult)}"
-            app:layout_constraintBottom_toTopOf="@+id/submission_test_result_button_pending_remove_test"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <Button
-            android:id="@+id/submission_test_result_button_pending_remove_test"
-            style="@style/buttonLight"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/spacing_normal"
-            android:text="@string/submission_test_result_pending_remove_test_button"
-            android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.testResult)}"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_test_result_guideline_bottom"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <Button
-            android:id="@+id/submission_test_result_button_invalid_remove_test"
-            style="@style/buttonPrimary"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/spacing_normal"
-            android:text="@string/submission_test_result_invalid_remove_test_button"
-            android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStepsVisible(submissionViewModel.testResult)}"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_test_result_guideline_bottom"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <Button
-            android:id="@+id/submission_test_result_button_positive_continue"
-            style="@style/buttonPrimary"
-            android:layout_width="0dp"
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/submission_test_result_button_container"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/spacing_normal"
-            android:text="@string/submission_test_result_positive_continue_button"
-            android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.testResult)}"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_test_result_guideline_bottom"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
-
-        <Button
-            android:id="@+id/submission_test_result_button_negative_remove_test"
-            style="@style/buttonPrimary"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/spacing_normal"
-            android:text="@string/submission_test_result_negative_remove_test_button"
-            android:visibility="@{FormatterSubmissionHelper.formatTestResultNegativeStepsVisible(submissionViewModel.testResult)}"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_test_result_guideline_bottom"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
+            app:layout_constraintBottom_toBottomOf="@id/submission_test_result_guideline_bottom">
+
+            <Button
+                android:id="@+id/submission_test_result_button_pending_refresh"
+                style="@style/buttonPrimary"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/spacing_normal"
+                android:layout_marginVertical="@dimen/spacing_small"
+                android:text="@string/submission_test_result_pending_refresh_button"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.testResult)}"
+                app:layout_constraintBottom_toTopOf="@+id/submission_test_result_button_pending_remove_test"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+            <Button
+                android:id="@+id/submission_test_result_button_pending_remove_test"
+                style="@style/buttonLight"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/spacing_normal"
+                android:layout_marginVertical="@dimen/spacing_small"
+                android:text="@string/submission_test_result_pending_remove_test_button"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.testResult)}"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+            <Button
+                android:id="@+id/submission_test_result_button_invalid_remove_test"
+                style="@style/buttonPrimary"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/spacing_normal"
+                android:layout_marginVertical="@dimen/spacing_small"
+                android:text="@string/submission_test_result_invalid_remove_test_button"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStepsVisible(submissionViewModel.testResult)}"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+            <Button
+                android:id="@+id/submission_test_result_button_positive_continue"
+                style="@style/buttonPrimary"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/spacing_normal"
+                android:layout_marginVertical="@dimen/spacing_small"
+                android:text="@string/submission_test_result_positive_continue_button"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.testResult)}"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+            <Button
+                android:id="@+id/submission_test_result_button_negative_remove_test"
+                style="@style/buttonPrimary"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/spacing_normal"
+                android:layout_marginVertical="@dimen/spacing_small"
+                android:text="@string/submission_test_result_negative_remove_test_button"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultNegativeStepsVisible(submissionViewModel.testResult)}"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <androidx.constraintlayout.widget.Guideline
             android:id="@+id/submission_test_result_guideline_start"
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior.xml b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior.xml
index 005a1bfceb6f3600c6d5fa30f57f692ceae92328..36a514ce071d018f7e3164126d5ddeaaafcbf229 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior.xml
@@ -29,7 +29,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:tracingViewModel="@{tracingViewModel}"
+            app:riskLevel="@{tracingViewModel.riskLevel}"
             tools:text="@string/risk_details_behavior_body_wash_hands" />
 
         <include
@@ -43,7 +43,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_wash_hands"
-            app:tracingViewModel="@{tracingViewModel}"
+            app:riskLevel="@{tracingViewModel.riskLevel}"
             tools:text="@string/risk_details_behavior_body_wear_mask" />
 
         <include
@@ -57,7 +57,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_wear_mask"
-            app:tracingViewModel="@{tracingViewModel}"
+            app:riskLevel="@{tracingViewModel.riskLevel}"
             tools:text="@string/risk_details_behavior_body_stay_away" />
 
         <include
@@ -71,7 +71,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_stay_away"
-            app:tracingViewModel="@{tracingViewModel}"
+            app:riskLevel="@{tracingViewModel.riskLevel}"
             tools:text="@string/risk_details_behavior_body_cough_sneeze" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
index a6d19073ca87011409922be15b5cca1b596aded2..7085f890b1c0411aeadf0083a353785a119cab70 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
@@ -28,7 +28,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:tracingViewModel="@{tracingViewModel}" />
+            app:riskLevel="@{tracingViewModel.riskLevel}" />
 
         <include
             android:id="@+id/risk_details_behavior_stay_away"
@@ -41,7 +41,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_stay_home"
-            app:tracingViewModel="@{tracingViewModel}" />
+            app:riskLevel="@{tracingViewModel.riskLevel}" />
 
         <include
             android:id="@+id/risk_details_behavior_cough_sneeze"
@@ -54,7 +54,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_stay_away"
-            app:tracingViewModel="@{tracingViewModel}" />
+            app:riskLevel="@{tracingViewModel.riskLevel}" />
 
 
         <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
index 082074abe53d6db244b15d586ee8b61e1317a861..a49d6b9dadf75dcc52522cdf5205dfda527d4379 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
@@ -7,8 +7,8 @@
         <import type="de.rki.coronawarnapp.util.formatter.FormatterRiskHelper" />
 
         <variable
-            name="tracingViewModel"
-            type="de.rki.coronawarnapp.ui.viewmodel.TracingViewModel" />
+            name="riskLevel"
+            type="Integer" />
 
         <variable
             name="body"
@@ -30,10 +30,10 @@
             android:layout_width="@dimen/icon_size_risk_details_behavior"
             android:layout_height="@dimen/icon_size_risk_details_behavior"
             android:background="@drawable/circle"
-            android:backgroundTint="@{FormatterRiskHelper.formatBehaviorIconBackground(tracingViewModel.riskLevel)}"
+            android:backgroundTint="@{FormatterRiskHelper.formatBehaviorIconBackground(riskLevel)}"
             android:importantForAccessibility="no"
             android:src="@{icon}"
-            android:tint="@{FormatterRiskHelper.formatBehaviorIcon(tracingViewModel.riskLevel)}"
+            android:tint="@{FormatterRiskHelper.formatBehaviorIcon(riskLevel)}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card.xml
index a193e41a4ee1e929f105e6aed206944a17494900..caafc36e79c395a2039e4d5cb97bda46534fcaed 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card.xml
@@ -15,7 +15,7 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/submission_status_card"
-        style="@style/cardSubmission"
+        style="@style/card"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
@@ -25,6 +25,10 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentVisible(submissionViewModel.deviceRegistered, submissionViewModel.testResultState)}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
             app:testResult="@{submissionViewModel.testResult}" />
 
         <include
@@ -32,14 +36,22 @@
             layout="@layout/include_submission_status_card_unregistered"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:visibility="@{FormatterHelper.formatVisibility(!submissionViewModel.deviceRegistered)}" />
+            android:visibility="@{FormatterHelper.formatVisibility(!submissionViewModel.deviceRegistered)}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
         <include
             android:id="@+id/submission_status_card_fetching"
             layout="@layout/include_submission_status_card_fetching"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:visibility="@{FormatterSubmissionHelper.formatSubmissionStatusCardFetchingVisible(submissionViewModel.deviceRegistered, submissionViewModel.testResultState)}" />
+            android:visibility="@{FormatterSubmissionHelper.formatSubmissionStatusCardFetchingVisible(submissionViewModel.deviceRegistered, submissionViewModel.testResultState)}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
index 25cd51a74d60d080ab3e33ad54cc3b8f9074775a..926a1467e563568d9ecec687f23340faa7e4fc95 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
@@ -20,7 +20,7 @@
         <TextView
             android:id="@+id/submission_status_card_content_title"
             style="@style/textTitle"
-            android:layout_width="0dp"
+            android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
             android:layout_marginTop="@dimen/spacing_normal"
@@ -33,7 +33,7 @@
         <TextView
             android:id="@+id/submission_status_card_content_subtitle"
             android:layout_width="@dimen/submission_status_card_text_width"
-            android:layout_height="0dp"
+            android:layout_height="@dimen/match_constraint"
             android:layout_marginTop="@dimen/spacing_normal"
             android:layout_marginBottom="@dimen/spacing_tiny"
             android:text="@{FormatterSubmissionHelper.formatTestResultStatusText(testResult)}"
@@ -45,7 +45,7 @@
         <TextView
             android:id="@+id/submission_status_card_content_body"
             android:layout_width="@dimen/submission_status_card_text_width"
-            android:layout_height="0dp"
+            android:layout_height="@dimen/match_constraint"
             android:layout_marginTop="@dimen/spacing_normal"
             android:layout_marginBottom="@dimen/spacing_normal"
             android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentBodyText(testResult)}"
@@ -54,7 +54,7 @@
 
         <Button
             android:id="@+id/submission_status_card_content_button"
-            android:layout_width="0dp"
+            android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginHorizontal="@dimen/spacing_normal"
             android:layout_marginVertical="@dimen/spacing_normal"
@@ -70,8 +70,8 @@
             android:id="@+id/submission_status_card_unregistered_icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:background="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentIcon(testResult)}"
             app:layout_constraintEnd_toEndOf="parent"
+            android:background="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentIcon(testResult)}"
             app:layout_constraintTop_toTopOf="@+id/submission_status_card_content_title" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
index abe8c12133734961fe1b34f5790e8ac0cb30f8d4..25d7fc4a69ea4c589f9bde28e4f100fb5a605935 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
@@ -13,8 +13,8 @@
             style="@style/textTitle"
             android:layout_width="@dimen/submission_status_card_text_width"
             android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/spacing_normal"
             android:layout_marginTop="@dimen/spacing_normal"
+            android:layout_marginStart="@dimen/spacing_normal"
             android:text="@string/submission_status_card_title_fetching"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -35,17 +35,17 @@
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
             android:text="@string/submission_status_card_body_fetching"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_status_card_fetching_spinner"
             app:layout_constraintStart_toEndOf="@+id/submission_status_card_fetching_spinner"
+            app:layout_constraintBottom_toBottomOf="@+id/submission_status_card_fetching_spinner"
             app:layout_constraintTop_toTopOf="@+id/submission_status_card_fetching_spinner" />
 
         <Button
             android:id="@+id/submission_status_card_fetching_button"
             style="@style/buttonLight"
-            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_marginHorizontal="@dimen/spacing_normal"
             android:layout_marginVertical="@dimen/spacing_normal"
+            android:layout_width="@dimen/match_constraint"
             android:text="@string/submission_status_card_button_show_details"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
index d8ce90b91d75909b7778ad5fe27920b68d8d7141..99dc51e19a41681217f706e7d3fd386cd775b26b 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
@@ -13,8 +13,8 @@
             style="@style/textTitle"
             android:layout_width="@dimen/submission_status_card_text_width"
             android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/spacing_normal"
             android:layout_marginTop="@dimen/spacing_normal"
+            android:layout_marginStart="@dimen/spacing_normal"
             android:text="@string/submission_status_card_title_unregistered"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -23,7 +23,7 @@
         <TextView
             android:id="@+id/submission_status_card_unregistered_body"
             android:layout_width="@dimen/submission_status_card_text_width"
-            android:layout_height="0dp"
+            android:layout_height="@dimen/match_constraint"
             android:layout_marginTop="@dimen/spacing_normal"
             android:layout_marginBottom="@dimen/spacing_normal"
             android:text="@string/submission_status_card_body_unregistered"
@@ -32,7 +32,7 @@
 
         <Button
             android:id="@+id/submission_status_card_unregistered_button"
-            android:layout_width="0dp"
+            android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginHorizontal="@dimen/spacing_normal"
             android:layout_marginVertical="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
index eb324d64f7c47a9422ea7d6c4df2cd501ac8049e..cd46b913f841b41f2ac5b84e9557b95b2f8dd0ac 100644
--- a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
@@ -3,13 +3,11 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <data>
-
         <import type="de.rki.coronawarnapp.util.formatter.FormatterSubmissionHelper" />
 
         <variable
             name="registerDate"
             type="java.util.Date" />
-
         <variable
             name="testResult"
             type="de.rki.coronawarnapp.util.formatter.TestResult" />
@@ -31,27 +29,26 @@
 
             <ImageView
                 android:id="@+id/test_result_card_status_icon"
-                android:layout_width="100dp"
-                android:layout_height="100dp"
-                android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(testResult)}"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 app:layout_constraintBottom_toBottomOf="parent"
+                android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(testResult)}"
                 app:layout_constraintEnd_toEndOf="parent" />
 
             <TextView
                 android:id="@+id/test_result_card_headline"
-                style="@style/textMultiline"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/test_result_card_headline"
-                android:visibility="@{FormatterSubmissionHelper.formatTestResultHeadingTextVisible(testResult)}"
+                style="@style/textMultiline"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent" />
 
             <TextView
                 android:id="@+id/test_result_card_virus_name"
-                style="@style/testResultCardLargeText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                style="@style/testResultCardLargeText"
                 android:text="@string/test_result_card_virus_name_text"
                 android:visibility="@{FormatterSubmissionHelper.formatTestResultVirusNameTextVisible(testResult)}"
                 app:layout_constraintStart_toStartOf="parent"
@@ -60,18 +57,32 @@
             <TextView
                 android:id="@+id/test_result_card_invalid_status_text"
                 style="@style/testResultCardLargeText"
-                android:layout_width="250dp"
                 android:layout_height="wrap_content"
+                android:layout_width="@dimen/match_constraint"
                 android:text="@string/test_result_card_status_invalid"
+                android:layout_marginEnd="@dimen/spacing_large"
                 android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStatusTextVisible(testResult)}"
+                app:layout_constraintEnd_toStartOf="@+id/test_result_card_status_icon"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/test_result_card_headline" />
 
             <TextView
-                android:id="@+id/test_result_card_status_text"
+                android:id="@+id/test_result_card_pending_status_text"
                 style="@style/testResultCardLargeText"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/spacing_large"
+                android:text="@string/test_result_card_status_pending"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStatusTextVisible(testResult)}"
+                app:layout_constraintEnd_toStartOf="@+id/test_result_card_status_icon"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/test_result_card_headline" />
+
+            <TextView
+                android:id="@+id/test_result_card_status_text"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                style="@style/testResultCardLargeText"
                 android:text="@{FormatterSubmissionHelper.formatTestResultStatusText(testResult)}"
                 android:textColor="@{FormatterSubmissionHelper.formatTestResultStatusColor(testResult)}"
                 android:visibility="@{FormatterSubmissionHelper.formatTestResultStatusTextVisible(testResult)}"
@@ -80,11 +91,10 @@
 
             <TextView
                 android:id="@+id/test_result_card_registered_at_text"
-                style="@style/textMultiline"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@{FormatterSubmissionHelper.formatTestResultRegisteredAtText(registerDate)}"
-                android:visibility="@{FormatterSubmissionHelper.formatTestResultRegisteredAtVisible(testResult)}"
+                style="@style/textMultiline"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent" />
         </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_test_result_step.xml b/Corona-Warn-App/src/main/res/layout/include_test_result_step.xml
index d402ad18c76b59200a3b00132c5149ab5c36a48f..7cf0bbd1b4941136c972e39b74c81539b3c1acb0 100644
--- a/Corona-Warn-App/src/main/res/layout/include_test_result_step.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_test_result_step.xml
@@ -60,7 +60,7 @@
 
         <View
             android:id="@+id/test_result_step_placeholder"
-            android:layout_width="0dp"
+            android:layout_width="@dimen/match_constraint"
             android:layout_height="@dimen/spacing_large"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="@+id/test_result_step_icon"
@@ -68,7 +68,7 @@
 
         <View
             android:layout_width="@dimen/test_result_step_progress_line_width"
-            android:layout_height="0dp"
+            android:layout_height="@dimen/match_constraint"
             android:background="@color/colorGreyLight"
             android:visibility="@{FormatterHelper.formatVisibility(!finalStep)}"
             app:layout_constraintBottom_toBottomOf="@+id/test_result_step_placeholder"
diff --git a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
index c6b90a84d4ab304fe6796c8f8997ef84bed81de0..79d7f72c4b7512dc65f6e01b12b7a8d342f169f0 100644
--- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
@@ -180,18 +180,29 @@
         android:name="de.rki.coronawarnapp.ui.submission.SubmissionDispatcherFragment"
         android:label="fragment_submission_dispatcher"
         tools:layout="@layout/fragment_submission_dispatcher">
-        <action
-            android:id="@+id/action_submissionDispatcherFragment_to_registerQRCodeFragment"
-            app:destination="@id/registerQRCodeFragment" />
         <action
             android:id="@+id/action_submissionDispatcherFragment_to_submissionTanFragment"
             app:destination="@id/submissionTanFragment" />
+        <action
+            android:id="@+id/action_submissionDispatcherFragment_to_submissionQRCodeScanFragment"
+            app:destination="@id/submissionQRCodeScanFragment" />
     </fragment>
     <fragment
         android:id="@+id/submissionResultPositiveOtherWarningFragment"
         android:name="de.rki.coronawarnapp.ui.submission.SubmissionResultPositiveOtherWarningFragment"
         android:label="fragment_submission_result_positive_other_warning"
-        tools:layout="@layout/fragment_submission_positive_other_warning"></fragment>
+        tools:layout="@layout/fragment_submission_positive_other_warning">
+        <action
+            android:id="@+id/action_submissionResultPositiveOtherWarningFragment_to_submissionResultFragment"
+            app:destination="@id/submissionResultFragment"
+            app:popUpTo="@id/submissionResultFragment"
+            app:popUpToInclusive="true" />
+        <action
+            android:id="@+id/action_submissionResultPositiveOtherWarningFragment_to_submissionDoneFragment"
+            app:destination="@id/submissionDoneFragment"
+            app:popUpTo="@id/submissionDoneFragment"
+            app:popUpToInclusive="true" />
+    </fragment>
     <fragment
         android:id="@+id/submissionResultFragment"
         android:name="de.rki.coronawarnapp.ui.submission.SubmissionTestResultFragment"
@@ -205,6 +216,9 @@
             app:destination="@id/mainFragment"
             app:popUpTo="@id/mainFragment"
             app:popUpToInclusive="true" />
+        <action
+            android:id="@+id/action_submissionResultFragment_to_submissionResultPositiveOtherWarningFragment"
+            app:destination="@id/submissionResultPositiveOtherWarningFragment" />
     </fragment>
 
     <fragment
@@ -218,33 +232,10 @@
             app:popUpTo="@id/submissionDispatcherFragment"
             app:popUpToInclusive="true" />
         <action
-            android:id="@+id/action_submissionTanFragment_to_deviceRegistrationFragment"
-            app:destination="@id/deviceRegistrationFragment" />
+            android:id="@+id/action_submissionTanFragment_to_submissionRegisterDeviceFragment"
+            app:destination="@id/submissionRegisterDeviceFragment" />
     </fragment>
 
-    <fragment
-        android:id="@+id/registerQRCodeFragment"
-        android:name="de.rki.coronawarnapp.ui.register.RegisterQRCodeScanFragment"
-        android:label="RegisterQRCodeFragment">
-        <action
-            android:id="@+id/action_registerQRCodeFragment_to_deviceRegistrationFragment"
-            app:destination="@id/deviceRegistrationFragment" />
-        <action
-            android:id="@+id/action_registerQRCodeFragment_to_submissionDispatcherFragment"
-            app:destination="@id/submissionDispatcherFragment"
-            app:popUpTo="@id/submissionDispatcherFragment"
-            app:popUpToInclusive="true" />
-
-    </fragment>
-
-    <fragment
-        android:id="@+id/deviceRegistrationFragment"
-        android:name="de.rki.coronawarnapp.ui.register.RegisterDeviceFragment"
-        android:label="DeviceRegistrationFragment">
-        <action
-            android:id="@+id/action_deviceRegistrationFragment_to_submissionResultFragment"
-            app:destination="@id/submissionResultFragment" />
-    </fragment>
     <fragment
         android:id="@+id/submissionIntroFragment"
         android:name="de.rki.coronawarnapp.ui.submission.SubmissionIntroFragment"
@@ -266,4 +257,36 @@
             android:id="@+id/deepLink"
             app:uri="coronawarnapp://launch" />
     </activity>
+    <fragment
+        android:id="@+id/submissionQRCodeScanFragment"
+        android:name="de.rki.coronawarnapp.ui.submission.SubmissionQRCodeScanFragment"
+        android:label="SubmissionQRCodeScanFragment">
+        <action
+            android:id="@+id/action_submissionQRCodeScanFragment_to_submissionDispatcherFragment"
+            app:destination="@id/submissionDispatcherFragment"
+            app:popUpTo="@id/submissionDispatcherFragment"
+            app:popUpToInclusive="true" />
+        <action
+            android:id="@+id/action_submissionQRCodeScanFragment_to_submissionRegisterDeviceFragment"
+            app:destination="@id/submissionRegisterDeviceFragment" />
+    </fragment>
+    <fragment
+        android:id="@+id/submissionRegisterDeviceFragment"
+        android:name="de.rki.coronawarnapp.ui.submission.SubmissionRegisterDeviceFragment"
+        android:label="SubmissionRegisterDeviceFragment">
+        <action
+            android:id="@+id/action_submissionRegisterDeviceFragment_to_submissionResultFragment"
+            app:destination="@id/submissionResultFragment"
+            app:popUpTo="@id/mainFragment" />
+    </fragment>
+    <fragment
+        android:id="@+id/submissionDoneFragment"
+        android:name="de.rki.coronawarnapp.ui.submission.SubmissionDoneFragment"
+        android:label="SubmissionDoneFragment">
+        <action
+            android:id="@+id/action_submissionDoneFragment_to_mainFragment"
+            app:destination="@id/mainFragment"
+            app:popUpTo="@id/mainFragment"
+            app:popUpToInclusive="true" />
+    </fragment>
 </navigation>
diff --git a/Corona-Warn-App/src/main/res/values/dimens.xml b/Corona-Warn-App/src/main/res/values/dimens.xml
index 7613f153fedf507b01f8819cd48c385df9d4b6a6..059bde7bdefa0953b46ec5dba80429ad2442d7d0 100644
--- a/Corona-Warn-App/src/main/res/values/dimens.xml
+++ b/Corona-Warn-App/src/main/res/values/dimens.xml
@@ -62,8 +62,7 @@
     <!-- todo illustration sizes -->
 
     <!-- Submission -->
-    <dimen name="sm_guideline_body">200dp</dimen>
-    <dimen name="sm_guideline_button">@dimen/spacing_large</dimen>
+    <dimen name="submission_guideline_button">@dimen/spacing_large</dimen>
 
     <!-- Submission Test Result -->
     <dimen name="submission_test_result_guideline_body">84dp</dimen>
@@ -81,9 +80,6 @@
     <dimen name="submission_tan_input_digit_width">36dp</dimen>
     <dimen name="submission_tan_input_digit_height">50dp</dimen>
 
-    <!-- Registration -->
-    <dimen name="scan_qr_code_guideline_body">200dp</dimen>
-    <dimen name="scan_qr_code_guideline_button">@dimen/spacing_large</dimen>
-    <dimen name="scan_qr_code_close_icon_size">14dp</dimen>
-    <dimen name="scan_qr_code_viewfinder_size">240dp</dimen>
+    <!-- Submission QR Code Scan -->
+    <dimen name="submission_scan_qr_code_viewfinder_size">240dp</dimen>
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 22dd070da7e750ef828ed72cd15847489b3823a2..a8e6d18035bf47c1e1017cb9b93a09e275d5bc1b 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -150,6 +150,7 @@
     <string name="test_result_card_status_negative">Negativ</string>
     <string name="test_result_card_status_positive">Positiv</string>
     <string name="test_result_card_status_invalid">Auswertung nicht möglich</string>
+    <string name="test_result_card_status_pending">Ergebnis liegt noch nicht vor</string>
     <!-- Submission Status Card -->
     <string name="submission_status_card_title_fetching">Datenabruf…</string>
     <string name="submission_status_card_title_unregistered">Wurden Sie getestet?</string>
@@ -236,7 +237,7 @@
     <string name="onboarding_tracing_body">@string/lorem_ipsum</string>
     <string name="onboarding_tracing_body_emphasized">@string/lorem_ipsum</string>
     <string name="onboarding_tracing_dialog_headline">Berechtigung</string>
-    <string name="onboarding_tracing_dialog_body">Corona-Wran-App kann dadurch keine Benachrichtigungen zu COVID-19-Risikostatus versenden und empfangen. Sie können die Funktion jederzeit einschalten.</string>
+    <string name="onboarding_tracing_dialog_body">Corona-Warn-App kann dadurch keine Benachrichtigungen zu COVID-19-Risikostatus versenden und empfangen. Sie können die Funktion jederzeit einschalten.</string>
     <string name="onboarding_tracing_dialog_button_positive">Trotzdem weiter</string>
     <string name="onboarding_tracing_dialog_button_negative">Zurück</string>
     <!-- 4 Tracing -->
@@ -312,24 +313,57 @@
              Submission
              TODO: rename if screens are available
     ###################################### -->
+    <!-- Permission Rationale Dialog -->
+    <string name="submission_qr_code_scan_permission_rationale_dialog_headline">Kamera Berechtigung benötigt</string>
+    <string name="submission_qr_code_scan_permission_rationale_dialog_body">@string/lorem_ipsum</string>
+
+    <string name="submission_qr_code_scan_permission_rationale_dialog_button_positive">Erlauben</string>
+    <string name="submission_qr_code_scan_permission_rationale_dialog_button_negative">Nicht erlauben</string>
+    <!-- Permission Denied Dialog -->
+    <string name="submission_qr_code_scan_permission_denied_dialog_headline">Keine Kamera Berechtigung</string>
+    <string name="submission_qr_code_scan_permission_denied_dialog_body">@string/lorem_ipsum</string>
+
+    <string name="submission_qr_code_scan_permission_denied_dialog_button_positive">Zurück</string>
+    <!-- QR Code Scan Successful Dialog -->
+    <string name="submission_qr_code_scan_successful_dialog_headline">Scan erfolgreich</string>
+    <string name="submission_qr_code_scan_successful_dialog_body">@string/lorem_ipsum</string>
+
+    <string name="submission_qr_code_scan_successful_dialog_button_positive">Registrieren</string>
+    <string name="submission_qr_code_scan_successful_dialog_button_negative">Abbrechen</string>
+    <!-- QR Code Scan Invalid Dialog -->
+    <string name="submission_qr_code_scan_invalid_dialog_headline">Falscher QR Code</string>
+    <string name="submission_qr_code_scan_invalid_dialog_body">@string/lorem_ipsum</string>
+
+    <string name="submission_qr_code_scan_invalid_dialog_button_positive">Erneut versuchen</string>
+    <string name="submission_qr_code_scan_invalid_dialog_button_negative">Abbrechen</string>
+    <!-- QR Code Scan Screen -->
+    <string name="submission_qr_code_scan_body">Positionieren Sie den QR Code in den Rahmen</string>
+    <!-- Register Device Screen -->
+    <string name="submission_register_device_headline">Gerät Registrieren</string>
+    <string name="submission_register_device_body">@string/lorem_ipsum</string>
     <!-- Submission Test Result -->
     <string name="submission_test_result_headline">Testergebnis</string>
     <string name="submission_test_result_subtitle">Info zum Ablauf:</string>
     <string name="submission_test_result_button_finish">Abschließen</string>
+
     <string name="submission_test_result_steps_added_heading">Test erfolgreich hinzugefügt</string>
     <string name="submission_test_result_steps_added_body">Ihr Test wurde in der Corona-Warn-App hinterlegt.</string>
+
     <string name="submission_test_result_pending_steps_waiting_heading">Testergebnis noch nicht verfügbar</string>
     <string name="submission_test_result_pending_steps_waiting_body">Ihr Testergebnis steht noch nicht zur Verfügung. Normalerweise dauert die Auswertung 1–3 Tage.</string>
     <string name="submission_test_result_pending_refresh_button">Aktualisieren</string>
     <string name="submission_test_result_pending_remove_test_button">Test entfernen</string>
+
     <string name="submission_test_result_negative_steps_negative_heading">Testergebnis Negativ</string>
     <string name="submission_test_result_negative_steps_negative_body">Ihr Testergebnis wurde erfolgreich als “Negativ” verifiziert. Bitte entfernen Sie den Test wieder aus der Corona-Warn-App, damit Sie bei Bedarf einen neuen Test hinterlegen können.</string>
     <string name="submission_test_result_negative_remove_test_button">Test entfernen</string>
+
     <string name="submission_test_result_positive_steps_positive_heading">Testergebnis Positiv</string>
     <string name="submission_test_result_positive_steps_positive_body">Ihr Testergebnis wurde erfolgreich als “Positiv” verifiziert.</string>
     <string name="submission_test_result_positive_steps_warning_others_heading">Andere warnen</string>
     <string name="submission_test_result_positive_steps_warning_others_body">Teilen Sie Ihre Zufallskennungen, damit andere gewarnt werden können.</string>
     <string name="submission_test_result_positive_continue_button">Weiter</string>
+
     <string name="submission_test_result_invalid_steps_invalid_heading">Test fehlerhaft</string>
     <string name="submission_test_result_invalid_steps_invalid_body">Es gab ein Problem bei der Auswertung Ihres Tests. Bitte kontaktieren Sie das Gesundheitsamt um Information zum weiteren Vorgehen zu erhalten. Bitte entfernen Sie den Test wieder aus der Corona-Warn-App, damit Sie bei Bedarf einen neuen Test hinterlegen können.</string>
     <string name="submission_test_result_invalid_remove_test_button">Test entfernen</string>
@@ -343,10 +377,6 @@
     <string name="submission_intro_text_a">Damit die Corona-Warn-App funktioniert, wird die freiwillige Mithilfe von allen Corona positiven Personen benötigt.</string>
     <string name="submission_intro_text_b">@string/lorem_ipsum</string>
     <string name="submission_intro_button_next">Weiter</string>
-    <!-- sm Result -->
-    <string name="sm_result_headline">Positive Diagnose</string>
-    <string name="sm_result_body">@string/lorem_ipsum</string>
-    <string name="sm_result_button_finish">Abschliessen</string>
     <!-- sm Notification -->
     <string name="sm_result_dialog_headline">Danke für die Mithilfe!</string>
     <string name="sm_result_dialog_body">Ihr verifizierter Befund wurde anonym übertragen.</string>
@@ -373,6 +403,13 @@
     <string name="submission_positive_dialog_confirmation_body">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</string>
     <string name="submission_positive_dialog_confirmation_positive">Erlauben</string>
     <string name="submission_positive_dialog_confirmation_negative">Nicht erlauben</string>
+    <!-- Submission Done -->
+    <string name="submission_done_headline">Vielen dank!</string>
+    <string name="submission_done_body">Sie haben einen wichtigen Beitrag geleistet! Dank Ihrer Mithilfe können Andere gewarnt werden und entsprechend reagieren.</string>
+    <string name="submission_done_subtitle">Bitte beachten Sie:</string>
+    <string name="submission_done_contagious">Sie sind ansteckend.</string>
+    <string name="submission_done_isolate">Bitte isolieren Sie sich von anderen Personen.</string>
+    <string name="submission_done_button_done">Fertig</string>
 
 
     <!-- ####################################
@@ -401,34 +438,4 @@
     <string name="test_api_body_other_keys">Other key </string>
     <string name="test_api_calculate_risk_level">Calculate Risk Level</string>
 
-
-    <!-- ####################################
-                Register
-    ###################################### -->
-    <!-- Permission Rationale Dialog -->
-    <string name="register_qr_code_scan_permission_rationale_dialog_headline">Kamera Berechtigung benötigt</string>
-    <string name="register_qr_code_scan_permission_rationale_dialog_body">@string/lorem_ipsum</string>
-    <string name="register_qr_code_scan_permission_rationale_dialog_button_positive">Erlauben</string>
-    <string name="register_qr_code_scan_permission_rationale_dialog_button_negative">Nicht erlauben</string>
-    <!-- Permission Denied Dialog -->
-    <string name="register_qr_code_scan_permission_denied_dialog_headline">Keine Kamera Berechtigung</string>
-    <string name="register_qr_code_scan_permission_denied_dialog_body">@string/lorem_ipsum</string>
-    <string name="register_qr_code_scan_permission_denied_dialog_button_positive">Zurück</string>
-    <!-- QR Code Scan Successful Dialog -->
-    <string name="register_qr_code_scan_successful_dialog_headline">Scan erfolgreich</string>
-    <string name="register_qr_code_scan_successful_dialog_body">@string/lorem_ipsum</string>
-    <string name="register_qr_code_scan_successful_dialog_button_positive">Registrieren</string>
-    <string name="register_qr_code_scan_successful_dialog_button_negative">Abbrechen</string>
-    <!-- QR Code Scan Invalid Dialog -->
-    <string name="register_qr_code_scan_invalid_dialog_headline">Falscher QR Code</string>
-    <string name="register_qr_code_scan_invalid_dialog_body">@string/lorem_ipsum</string>
-    <string name="register_qr_code_scan_invalid_dialog_button_positive">Erneut versuchen</string>
-    <string name="register_qr_code_scan_invalid_dialog_button_negative">Abbrechen</string>
-    <!-- QR Code Scan Screen -->
-    <string name="register_qr_code_scan_headline">QR Code Scannen</string>
-    <string name="register_qr_code_scan_body">Positionieren Sie den QR Code in den Rahmen</string>
-    <!-- Register Device Screen -->
-    <string name="register_device_headline">Gerät Registrieren</string>
-    <string name="register_device_body">@string/lorem_ipsum</string>
-
 </resources>
diff --git a/build.gradle b/build.gradle
index 3c94bf20e6abfcadd117070cfe73683da8c87097..c0cc1042c33333e58b9c1c3622ceb5120313345d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -13,7 +13,7 @@ buildscript {
         }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.6.3'
+        classpath 'com.android.tools.build:gradle:4.0.0'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
         classpath "com.google.protobuf:protobuf-gradle-plugin:$protobufVersion"
         classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navVersion"
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index c35d7ab1a33d9ab6c0c55a1b5c857b99613282a6..5ba605801a147b0fae70e0cd96930a567240a9b6 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Apr 27 13:24:14 CEST 2020
+#Sat May 30 21:32:47 CEST 2020
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip