[automerger skipped] Import translations. DO NOT MERGE skipped: 6a98a579a8 skipped: 13c1fc28d6

Change-Id: Ie3370e37d7730ea4d848a0c7c27bfca8bd25f591
diff --git a/Android.mk b/Android.mk
index 7b303ac..5290a70 100644
--- a/Android.mk
+++ b/Android.mk
@@ -13,11 +13,14 @@
 LOCAL_CERTIFICATE := platform
 LOCAL_PRIVILEGED_MODULE := true
 
+# Packages to be included in code coverage runs. This does not affect production builds.
 LOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.managedprovisioning.*
 
 include frameworks/opt/setupwizard/library/common.mk
 
 include $(BUILD_PACKAGE)
 
-# additionally, build tests in sub-folders in a separate .apk
+# additionally, build tests if we build via mmm / mm
+ifeq (,$(ONE_SHOT_MAKEFILE))
 include $(call all-makefiles-under,$(LOCAL_PATH))
+endif
\ No newline at end of file
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ce8cc01..5f386f2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -64,25 +64,18 @@
             (phone calls) will still pop up a small window that can be activated.
         -->
         <activity
-             android:name="DeviceOwnerProvisioningActivity"
+             android:name=".provisioning.ProvisioningActivity"
              android:excludeFromRecents="true"
              android:immersive="true"
              android:launchMode="singleTop"
              android:theme="@style/SetupWorkSpaceTheme">
         </activity>
         <activity
-            android:name="ProfileOwnerProvisioningActivity"
+            android:name=".preprovisioning.PreProvisioningActivity"
             android:excludeFromRecents="true"
             android:immersive="true"
             android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme">
-        </activity>
-        <activity
-            android:name=".uiflows.PreProvisioningActivity"
-            android:excludeFromRecents="true"
-            android:immersive="true"
-            android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme">
+            android:theme="@style/Provisioning2Theme">
             <intent-filter android:priority="10">
                 <action android:name="android.app.action.PROVISION_MANAGED_PROFILE" />
                 <action android:name="android.app.action.PROVISION_MANAGED_USER" />
@@ -96,8 +89,8 @@
             stack can trigger this.
         -->
         <activity-alias
-            android:name="PreProvisioningActivityViaNfc"
-            android:targetActivity=".uiflows.PreProvisioningActivity"
+            android:name=".PreProvisioningActivityViaNfc"
+            android:targetActivity=".preprovisioning.PreProvisioningActivity"
             android:permission="android.permission.DISPATCH_NFC_MESSAGE"
             android:exported="true">
             <intent-filter android:priority="10">
@@ -111,8 +104,8 @@
             privileged app can trigger this.
         -->
         <activity-alias
-            android:name="PreProvisioningActivityViaTrustedApp"
-            android:targetActivity=".uiflows.PreProvisioningActivity"
+            android:name=".PreProvisioningActivityViaTrustedApp"
+            android:targetActivity=".preprovisioning.PreProvisioningActivity"
             android:permission="android.permission.DISPATCH_PROVISIONING_MESSAGE"
             android:exported="true">
             <intent-filter android:priority="10">
@@ -124,8 +117,8 @@
         </activity-alias>
         <!-- Entry to resume encryption after reboot. -->
         <activity-alias
-            android:name="PreProvisioningActivityAfterEncryption"
-            android:targetActivity=".uiflows.PreProvisioningActivity"
+            android:name=".PreProvisioningActivityAfterEncryption"
+            android:targetActivity=".preprovisioning.PreProvisioningActivity"
             android:exported="false">
             <intent-filter android:priority="10">
                 <action
@@ -135,14 +128,21 @@
             </intent-filter>
         </activity-alias>
         <activity
-            android:name=".uiflows.EncryptDeviceActivity"
+            android:name=".preprovisioning.terms.TermsActivity"
+            android:excludeFromRecents="true"
+            android:immersive="true"
+            android:launchMode="singleTop"
+            android:theme="@style/Provisioning2Theme">
+        </activity>
+        <activity
+            android:name=".preprovisioning.EncryptDeviceActivity"
             android:immersive="true"
             android:launchMode="singleTop"
             android:theme="@style/SetupWorkSpaceTheme">
         </activity>
 
         <activity
-            android:name=".uiflows.WebActivity"
+            android:name=".preprovisioning.WebActivity"
             android:immersive="true"
             android:launchMode="singleTop"
             android:process=":webview"
@@ -160,7 +160,7 @@
             So, we explicitly specify a taskAffinity for this instead of a package default to make
             sure it starts in a new task.
         -->
-        <activity android:name=".uiflows.PostEncryptionActivity"
+        <activity android:name=".preprovisioning.PostEncryptionActivity"
             android:theme="@android:style/Theme.NoDisplay"
             android:noHistory="true"
             android:excludeFromRecents="true"
@@ -173,27 +173,23 @@
             </intent-filter>
         </activity>
 
-        <service
-            android:name="ProfileOwnerProvisioningService" >
-        </service>
-        <service
-            android:name="DeviceOwnerProvisioningService" >
-        </service>
+        <service android:name=".provisioning.ProvisioningService" />
+        <service android:name=".ota.OtaService" />
 
-        <receiver android:name="com.android.managedprovisioning.BootReminder">
+        <receiver android:name="com.android.managedprovisioning.preprovisioning.BootReminder">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
             </intent-filter>
         </receiver>
 
-        <receiver android:name="com.android.managedprovisioning.PreBootListener">
+        <receiver android:name="com.android.managedprovisioning.ota.PreBootListener">
             <intent-filter>
                 <action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
             </intent-filter>
         </receiver>
 
         <!-- TODO: Add permission for setup-wizard to guard access? -->
-        <activity android:name=".FinalizationActivity"
+        <activity android:name=".finalization.FinalizationActivity"
                 android:theme="@android:style/Theme.NoDisplay"
                 android:noHistory="true"
                 android:excludeFromRecents="true"
@@ -204,4 +200,4 @@
             </intent-filter>
         </activity>
     </application>
-</manifest>
+</manifest>
\ No newline at end of file
diff --git a/res/anim/dots_rectangle_animation.xml b/res/anim/dots_rectangle_animation.xml
new file mode 100644
index 0000000..05f2c40
--- /dev/null
+++ b/res/anim/dots_rectangle_animation.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="201"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="133"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M -4.0,-4.0 l 8.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -8.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="266"
+        android:propertyName="pathData"
+        android:valueFrom="M -4.0,-4.0 l 8.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -8.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="398"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1203"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="133"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M -4.0,-4.0 l 8.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -8.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="266"
+        android:propertyName="pathData"
+        android:valueFrom="M -4.0,-4.0 l 8.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -8.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1601"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="133"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M -8.0,-4.0 l 16.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -16.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="266"
+        android:propertyName="pathData"
+        android:valueFrom="M -8.0,-4.0 l 16.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l -16.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="394"
+        android:propertyName="pathData"
+        android:valueFrom="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueTo="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+</set>
diff --git a/res/anim/dots_rectangle_position_animation.xml b/res/anim/dots_rectangle_position_animation.xml
new file mode 100644
index 0000000..7a152d3
--- /dev/null
+++ b/res/anim/dots_rectangle_position_animation.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translateX"
+        android:valueFrom="-16.0"
+        android:valueTo="-16.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translateX"
+        android:valueFrom="-16.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="0.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translateX"
+        android:valueFrom="0.0"
+        android:valueTo="16.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translateX"
+        android:valueFrom="16.0"
+        android:valueTo="16.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translateX"
+        android:valueFrom="16.0"
+        android:valueTo="-16.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+</set>
diff --git a/res/anim/text_scene_0_animation.xml b/res/anim/text_scene_0_animation.xml
new file mode 100644
index 0000000..270c73a
--- /dev/null
+++ b/res/anim/text_scene_0_animation.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially" >
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="500"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+</set>
\ No newline at end of file
diff --git a/res/anim/text_scene_1_animation.xml b/res/anim/text_scene_1_animation.xml
new file mode 100644
index 0000000..dc1b63e
--- /dev/null
+++ b/res/anim/text_scene_1_animation.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1334"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="667"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@interpolator/topinfo_animation_interpolator_alpha"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="500"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+</set>
diff --git a/res/anim/text_scene_2_animation.xml b/res/anim/text_scene_2_animation.xml
new file mode 100644
index 0000000..b862332
--- /dev/null
+++ b/res/anim/text_scene_2_animation.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="3336"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="667"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@interpolator/topinfo_animation_interpolator_alpha"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="500"
+        android:propertyName="alpha"
+        android:valueFrom="1.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+</set>
diff --git a/res/anim/text_scene_3_animation.xml b/res/anim/text_scene_3_animation.xml
new file mode 100644
index 0000000..2ea4099
--- /dev/null
+++ b/res/anim/text_scene_3_animation.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="5338"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="667"
+        android:propertyName="alpha"
+        android:valueFrom="0.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@interpolator/topinfo_animation_interpolator_alpha"/>
+</set>
diff --git a/res/anim/text_scene_master_animation.xml b/res/anim/text_scene_master_animation.xml
new file mode 100644
index 0000000..563b756
--- /dev/null
+++ b/res/anim/text_scene_master_animation.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="0dp"
+        android:valueTo="0dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="0dp"
+        android:valueTo="-206dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="-206dp"
+        android:valueTo="-206dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="-206dp"
+        android:valueTo="-412dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="-412dp"
+        android:valueTo="-412dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1001"
+        android:propertyName="translationX"
+        android:valueFrom="-412dp"
+        android:valueTo="-618dp"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+</set>
\ No newline at end of file
diff --git a/res/anim/topinfo_mask_1_animation.xml b/res/anim/topinfo_mask_1_animation.xml
new file mode 100644
index 0000000..1a06f84
--- /dev/null
+++ b/res/anim/topinfo_mask_1_animation.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 376.113891602,-19.3258056641 c 0.0,0.0 0.0859985351562,-0.0126953125 0.085998535157,-0.0126953125 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515699,334.36730957 c 0.0,0.0 -0.0859375,0.0126953125 -0.0859375,0.0126953125 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M 377.238891602,-19.318359375 c 0.0,0.0 0.0859985351562,-0.0126953125 0.085998535157,-0.0126953125 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515699,334.36730957 c 0.0,0.0 -0.0859375,0.0126953125 -0.0859375,0.0126953125 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@interpolator/topinfo_animation_interpolator_0"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 377.238891602,-19.318359375 c 0.0,0.0 0.0859985351562,-0.0126953125 0.085998535157,-0.0126953125 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515699,334.36730957 c 0.0,0.0 -0.0859375,0.0126953125 -0.0859375,0.0126953125 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M 377.488891602,-19.3725585938 c 0.0,0.0 -208.976501465,-0.24609375 -208.976501465,-0.24609375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515702,334.36730957 c 0.0,0.0 208.9765625,0.24609375 208.9765625,0.24609375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 377.488891602,-19.3725585938 c 0.0,0.0 -208.976501465,-0.24609375 -208.976501465,-0.24609375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515702,334.36730957 c 0.0,0.0 208.9765625,0.24609375 208.9765625,0.24609375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M 377.488891602,-19.3725585938 c 0.0,0.0 -208.976501465,-0.24609375 -208.976501465,-0.24609375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515702,334.36730957 c 0.0,0.0 208.9765625,0.24609375 208.9765625,0.24609375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 377.488891602,-19.3725585938 c 0.0,0.0 -208.976501465,-0.24609375 -208.976501465,-0.24609375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515702,334.36730957 c 0.0,0.0 208.9765625,0.24609375 208.9765625,0.24609375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M 374.488891602,-19.3725585938 c 0.0,0.0 -414.789001465,-0.5322265625 -414.789001465,-0.5322265625 c 0.0,0.0 -0.00787353515625,334.36730957 -0.0078735351563,334.36730957 c 0.0,0.0 414.7890625,0.5322265625 414.7890625,0.5322265625 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 374.488891602,-19.3725585938 c 0.0,0.0 -414.789001465,-0.5322265625 -414.789001465,-0.5322265625 c 0.0,0.0 -0.00787353515625,334.36730957 -0.0078735351563,334.36730957 c 0.0,0.0 414.7890625,0.5322265625 414.7890625,0.5322265625 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M 377.113891602,-19.3208007812 c 0.0,0.0 -417.414001465,-0.583984375 -417.414001465,-0.583984375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.0078735351563,334.36730957 c 0.0,0.0 417.4140625,0.583984375 417.4140625,0.583984375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@interpolator/topinfo_animation_interpolator_1"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="pathData"
+        android:valueFrom="M 377.113891602,-19.3208007812 c 0.0,0.0 -417.414001465,-0.583984375 -417.414001465,-0.583984375 c 0.0,0.0 -0.00787353515625,334.36730957 -0.0078735351563,334.36730957 c 0.0,0.0 417.4140625,0.583984375 417.4140625,0.583984375 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueTo="M -40.0111083984,-19.3852539062 c 0.0,0.0 -0.289001464844,-0.51953125 -0.289001464844,-0.51953125 c 0.0,0.0 -0.00787353515625,334.36730957 -0.0078735351563,334.36730957 c 0.0,0.0 0.2890625,0.51953125 0.2890625,0.51953125 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z"
+        android:valueType="pathType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+</set>
\ No newline at end of file
diff --git a/res/anim/topinfo_rectangle_path_2_animation.xml b/res/anim/topinfo_rectangle_path_2_animation.xml
new file mode 100644
index 0000000..a7e26f5
--- /dev/null
+++ b/res/anim/topinfo_rectangle_path_2_animation.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="4533"
+        android:propertyName="fillAlpha"
+        android:valueFrom="1.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="33"
+        android:propertyName="fillAlpha"
+        android:valueFrom="1.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="299"
+        android:propertyName="fillAlpha"
+        android:valueFrom="0.0"
+        android:valueTo="0.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="33"
+        android:propertyName="fillAlpha"
+        android:valueFrom="0.0"
+        android:valueTo="1.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+</set>
\ No newline at end of file
diff --git a/res/anim/topinfo_swiper_animation.xml b/res/anim/topinfo_swiper_animation.xml
new file mode 100644
index 0000000..3148a47
--- /dev/null
+++ b/res/anim/topinfo_swiper_animation.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:ordering="sequentially">
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="415.0"
+        android:valueTo="415.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="415.0"
+        android:valueTo="206.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="206.0"
+        android:valueTo="206.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="206.0"
+        android:valueTo="-3.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+    <objectAnimator
+        android:duration="700"
+        android:propertyName="translateX"
+        android:valueFrom="-3.0"
+        android:valueTo="-3.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="66"
+        android:propertyName="translateX"
+        android:valueFrom="-3.0"
+        android:valueTo="415.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="233"
+        android:propertyName="translateX"
+        android:valueFrom="415.0"
+        android:valueTo="415.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/linear"/>
+    <objectAnimator
+        android:duration="1000"
+        android:propertyName="translateX"
+        android:valueFrom="415.0"
+        android:valueTo="-3.0"
+        android:valueType="floatType"
+        android:interpolator="@android:interpolator/fast_out_slow_in"/>
+</set>
\ No newline at end of file
diff --git a/res/layout/user_consent.xml b/res/drawable/chevron.xml
similarity index 64%
copy from res/layout/user_consent.xml
copy to res/drawable/chevron.xml
index e55808b..6f33ca9 100644
--- a/res/layout/user_consent.xml
+++ b/res/drawable/chevron.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,11 +16,15 @@
  * limitations under the License.
  */
 -->
-<com.android.setupwizardlib.GlifLayout
+<vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/setup_wizard_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <include layout="@layout/user_consent_main_text" />
-</com.android.setupwizardlib.GlifLayout>
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:alpha="0.54"
+    android:autoMirrored="true">
+    <path
+        android:fillColor="@color/black"
+        android:pathData="M15.41 7.41L14 6l-6 6 6 6 1.41,-1.41L10.83 12z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/dots.xml b/res/drawable/dots.xml
new file mode 100644
index 0000000..641b4f1
--- /dev/null
+++ b/res/drawable/dots.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:name="dots"
+    android:width="40dp"
+    android:viewportWidth="40"
+    android:height="8dp"
+    android:viewportHeight="8" >
+    <group
+        android:name="dots_0"
+        android:translateX="20"
+        android:translateY="4" >
+        <group
+            android:name="dot3" >
+            <group
+                android:name="rectangle_path_1_position"
+                android:translateX="16" >
+                <path
+                    android:name="rectangle_path_1"
+                    android:fillColor="#FF000000"
+                    android:fillAlpha="0.3"
+                    android:pathData="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z" />
+            </group>
+        </group>
+        <group
+            android:name="dot2" >
+            <path
+                android:name="rectangle_path_2"
+                android:fillColor="#FF000000"
+                android:fillAlpha="0.3"
+                android:pathData="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z" />
+        </group>
+        <group
+            android:name="dot1" >
+            <group
+                android:name="rectangle_path_3_position"
+                android:translateX="-16" >
+                <path
+                    android:name="rectangle_path_3"
+                    android:fillColor="#FF000000"
+                    android:fillAlpha="0.3"
+                    android:pathData="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z" />
+            </group>
+        </group>
+        <group
+            android:name="dot_moving" >
+            <group
+                android:name="rectangle_position"
+                android:translateX="-16" >
+                <path
+                    android:name="rectangle_path_4"
+                    android:fillColor="#FF000000"
+                    android:pathData="M 0.0,-4.0 l 0.0,0.0 c 2.2091389992,0.0 4.0,1.7908610008 4.0,4.0 l 0.0,0.0 c 0.0,2.2091389992 -1.7908610008,4.0 -4.0,4.0 l 0.0,0.0 c -2.2091389992,0.0 -4.0,-1.7908610008 -4.0,-4.0 l 0.0,0.0 c 0.0,-2.2091389992 1.7908610008,-4.0 4.0,-4.0 Z" />
+            </group>
+        </group>
+    </group>
+</vector>
diff --git a/res/layout/user_consent.xml b/res/drawable/dots_animation.xml
similarity index 64%
copy from res/layout/user_consent.xml
copy to res/drawable/dots_animation.xml
index e55808b..e65c8c7 100644
--- a/res/layout/user_consent.xml
+++ b/res/drawable/dots_animation.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,11 +16,13 @@
  * limitations under the License.
  */
 -->
-<com.android.setupwizardlib.GlifLayout
+<animated-vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/setup_wizard_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <include layout="@layout/user_consent_main_text" />
-</com.android.setupwizardlib.GlifLayout>
+    android:drawable="@drawable/dots" >
+    <target
+        android:name="rectangle_position"
+        android:animation="@anim/dots_rectangle_position_animation" />
+    <target
+        android:name="rectangle_path_4"
+        android:animation="@anim/dots_rectangle_animation" />
+</animated-vector>
diff --git a/res/layout/user_consent.xml b/res/drawable/ic_arrow_back_wht_24dp.xml
similarity index 64%
rename from res/layout/user_consent.xml
rename to res/drawable/ic_arrow_back_wht_24dp.xml
index e55808b..da79226 100644
--- a/res/layout/user_consent.xml
+++ b/res/drawable/ic_arrow_back_wht_24dp.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,11 +16,13 @@
  * limitations under the License.
  */
 -->
-<com.android.setupwizardlib.GlifLayout
+<vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/setup_wizard_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <include layout="@layout/user_consent_main_text" />
-</com.android.setupwizardlib.GlifLayout>
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="@color/white"
+        android:pathData="M20.0,11.0L7.8,11.0l5.6,-5.6L12.0,4.0l-8.0,8.0l8.0,8.0l1.4,-1.4L7.8,13.0L20.0,13.0L20.0,11.0z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_enterprise_blue_24dp.xml b/res/drawable/ic_enterprise_blue_24dp.xml
new file mode 100644
index 0000000..f8f9e30
--- /dev/null
+++ b/res/drawable/ic_enterprise_blue_24dp.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="@dimen/case_icon_size"
+        android:height="@dimen/case_icon_size"
+        android:viewportWidth="24"
+        android:viewportHeight="24">
+    <path
+        android:pathData="M14,16.5L10,16.5L10,15L3,15L3,19C3,20.1 3.9,21 5,21L19,21C20.1,21 21,20.1 21,19L21,15L14,15L14,16.5ZM20,6L16.5,6L16.5,4.5L15,3L9,3L7.5,4.55L7.5,6L4,6C2.9,6 2,6.9 2,8L2,12C2,13.1 2.9,14 4,14L10,14L10,12.5L14,12.5L14,14L20,14C21.1,14 22,13.1 22,12L22,8C22,6.9 21.1,6 20,6ZM15,6L9,6L9,4.5L15,4.5L15,6Z"
+        android:fillColor="@color/blue"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/topinfo.xml b/res/drawable/topinfo.xml
new file mode 100644
index 0000000..f9a4ae5
--- /dev/null
+++ b/res/drawable/topinfo.xml
@@ -0,0 +1,4167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:name="topinfo"
+    android:width="412dp"
+    android:viewportWidth="412"
+    android:height="336dp"
+    android:viewportHeight="336" >
+    <group
+        android:name="work"
+        android:translateX="201.02319"
+        android:translateY="154.9306" >
+        <group
+            android:name="work_pivot"
+            android:translateX="-194.00549"
+            android:translateY="-145.2534" >
+            <group
+                android:name="group_194"
+                android:translateX="296.78299"
+                android:translateY="248.9006" >
+                <path
+                    android:name="path_2_merged"
+                    android:pathData="M 28.3709716797,-20.3085021973 c -3.10897827148,-3.11000061035 -8.16998291016,-3.11000061035 -11.2789916992,0.0 c 0.0,0.0 -11.5359802246,11.5360107422 -11.5359802246,11.5360107422 c 0.0,0.0 -6.59201049805,-6.59100341797 -6.59201049805,-6.59100341797 c -1.31701660156,-1.31700134277 -2.04299926758,-3.06900024414 -2.04299926758,-4.93301391602 c 0.0,-1.86299133301 0.725982666016,-3.61499023438 2.04299926758,-4.93199157715 c 0.0,0.0 5.76498413086,-5.76499938965 5.76498413086,-5.76499938965 c 0.0,0.0 0.494018554688,0.493988037109 0.494018554688,0.493988037109 c 0.363983154297,0.365020751953 0.955993652344,0.365020751953 1.32098388672,0.0 c 0.0,0.0 1.72500610352,-1.72499084473 1.72500610352,-1.72499084473 c 0.364990234375,-0.365005493164 0.364990234375,-0.957000732422 0.0,-1.32200622559 c 0.0,0.0 0.00799560546875,0.00900268554688 0.00799560546875,0.0090026855469 c 0.0,0.0 1.64801025391,-1.64799499512 1.64801025391,-1.64799499512 c 0.0,0.0 -1.74700927734,-1.74600219727 -1.74700927734,-1.74600219727 c 0.0,0.0 -1.64700317383,1.64799499512 -1.64700317383,1.64799499512 c 0.0,0.0 0.00802612304688,0.00801086425781 0.00802612304687,0.0080108642578 c -0.365020751953,-0.365005493164 -0.956024169922,-0.365005493164 -1.3210144043,0.0 c 0.0,0.0 -1.72500610352,1.72499084473 -1.72500610352,1.72499084473 c -0.364990234375,0.365005493164 -0.364990234375,0.956008911133 0.0,1.3210144043 c 0.0,0.0 0.528991699219,0.528991699219 0.528991699219,0.528991699219 c 0.0,0.0 -5.76498413086,5.76499938965 -5.76498413086,5.76499938965 c -1.50601196289,1.5059967041 -2.33599853516,3.50900268555 -2.33599853516,5.63899230957 c 0.0,2.13000488281 0.829986572266,4.13301086426 2.33599853516,5.64001464844 c 0.0,0.0 6.59201049805,6.59100341797 6.59201049805,6.59100341797 c 0.0,0.0 -32.7620239258,32.7619934082 -32.7620239258,32.7619934082 c -2.79397583008,2.79498291016 -2.79397583008,7.34100341797 0.0,10.1350097656 c 1.35302734375,1.35498046875 3.15301513672,2.09997558594 5.06802368164,2.09997558594 c 1.91400146484,0.0 3.71398925781,-0.744995117188 5.06799316406,-2.09997558594 c 0.0,0.0 19.1539916992,-19.1530151367 19.1539916992,-19.1530151367 c 0.0,0.0 1.09201049805,1.09100341797 1.09201049805,1.09100341797 c 0.678985595703,0.679992675781 1.78100585938,0.679992675781 2.46099853516,0.0 c 0.0,0.0 3.97900390625,-3.98001098633 3.97900390625,-3.98001098633 c 0.572998046875,-0.571990966797 0.656982421875,-1.44299316406 0.263000488281,-2.11099243164 c 0.0,0.0 3.49798583984,-3.49700927734 3.49798583984,-3.49700927734 c 0.0,0.0 -3.15798950195,-3.15798950195 -3.15798950195,-3.15798950195 c 0.0,0.0 -3.49801635742,3.49700927734 -3.49801635742,3.49700927734 c -0.6669921875,-0.393005371094 -1.53799438477,-0.309997558594 -2.11099243164,0.264007568359 c 0.0,0.0 -3.98001098633,3.97897338867 -3.98001098633,3.97897338867 c -0.678985595703,0.680023193359 -0.678985595703,1.78201293945 0.0,2.46099853516 c 0.0,0.0 0.747009277344,0.747009277344 0.747009277344,0.747009277344 c 0.0,0.0 -19.1539916992,19.1529846191 -19.1539916992,19.1529846191 c -1.16500854492,1.16500854492 -2.71398925781,1.80700683594 -4.36099243164,1.80700683594 c -1.64801025391,0.0 -3.1960144043,-0.641998291016 -4.36102294922,-1.80700683594 c -2.40399169922,-2.40399169922 -2.40399169922,-6.31597900391 0.0,-8.7209777832 c 0.0,0.0 32.7620239258,-32.7619934082 32.7620239258,-32.7619934082 c 0.0,0.0 4.93197631836,4.93298339844 4.93197631836,4.93298339844 c 1.50701904297,1.50601196289 3.50900268555,2.33500671387 5.64001464844,2.33500671387 c 2.13000488281,0.0 4.13299560547,-0.828994750977 5.63998413086,-2.33500671387 c 0.0,0.0 6.60299682617,-6.60400390625 6.60299682617,-6.60400390625 c 1.50601196289,-1.50598144531 2.33602905273,-3.50898742676 2.33602905273,-5.63998413086 c 0.0,-2.12899780273 -0.830017089844,-4.13200378418 -2.33602905273,-5.63900756836 Z M 27.6640014648,-9.73651123047 c 0.0,0.0 -6.60400390625,6.60400390625 -6.60400390625,6.60400390625 c -1.31701660156,1.31701660156 -3.06900024414,2.04200744629 -4.93200683594,2.04200744629 c -1.8630065918,0.0 -3.61499023438,-0.724990844727 -4.93301391602,-2.04200744629 c 0.0,0.0 -4.93197631836,-4.93298339844 -4.93197631836,-4.93298339844 c 0.0,0.0 11.5359802246,-11.5360107422 11.5359802246,-11.5360107422 c 2.7200012207,-2.71800231934 7.14599609375,-2.71800231934 9.86502075195,0.0 c 1.31698608398,1.31700134277 2.04299926758,3.06900024414 2.04299926758,4.93200683594 c 0.0,1.86399841309 -0.726013183594,3.61599731445 -2.04299926758,4.93298339844 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_193"
+                android:translateX="154.74649"
+                android:translateY="267.9393" >
+                <path
+                    android:name="path_1"
+                    android:pathData="M 15.2635040283,-2.48550415039 c 0.0,0.0 -1.54600524902,-4.15399169922 -1.54600524902,-4.15399169922 c -0.857009887695,-2.30499267578 -3.41999816895,-3.47698974609 -5.72500610352,-2.61999511719 c 0.0,0.0 -17.0449981689,6.34197998047 -17.0449981689,6.34197998047 c -0.627990722656,0.234008789062 -0.947998046875,0.933013916016 -0.714004516602,1.56100463867 c 0.0,0.0 0.514007568359,1.38299560547 0.514007568359,1.38299560547 c 0.0,0.0 -6.86799621582,2.55502319336 -6.86799621582,2.55502319336 c 0.0,0.0 2.80400085449,7.53497314453 2.80400085449,7.53497314453 c 0.0,0.0 6.86799621582,-2.55596923828 6.86799621582,-2.55596923828 c 0.0,0.0 0.485992431641,1.30798339844 0.485992431641,1.30798339844 c 0.234008789062,0.627014160156 0.932006835938,0.946990966797 1.56100463867,0.713012695312 c 0.0,0.0 17.0449981689,-6.34201049805 17.0449981689,-6.34201049805 c 2.30400085449,-0.856994628906 3.47700500488,-3.42001342773 2.62001037598,-5.72500610352 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_192"
+                android:translateX="142.40709"
+                android:translateY="270.3302" >
+                <path
+                    android:name="path_2"
+                    android:pathData="M -2.85249328613,5.35000610352 c 0.0,0.0 8.50799560547,-3.166015625 8.50799560547,-3.166015625 c 0.0,0.0 -2.8030090332,-7.53399658203 -2.8030090332,-7.53399658203 c 0.0,0.0 -8.50799560547,3.166015625 -8.50799560547,3.166015625 c 0.0,0.0 2.8030090332,7.53399658203 2.8030090332,7.53399658203 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_191"
+                android:translateX="155.9317"
+                android:translateY="265.41391" >
+                <path
+                    android:name="path_3"
+                    android:pathData="M -12.8269958496,-1.20602416992 c 0.0,0.0 3.8039855957,10.224029541 3.8039855957,10.224029541 c 0.234008789062,0.628997802734 0.933013916016,0.947998046875 1.56100463867,0.714996337891 c 0.0,0.0 17.0449981689,-6.34301757812 17.0449981689,-6.34301757812 c 2.30500793457,-0.856994628906 3.47801208496,-3.41998291016 2.62001037598,-5.72497558594 c 0.0,0.0 -1.54499816895,-4.1540222168 -1.54499816895,-4.1540222168 c -0.858001708984,-2.3039855957 -3.42100524902,-3.47698974609 -5.72500610352,-2.61999511719 c 0.0,0.0 -17.046005249,6.34201049805 -17.046005249,6.34201049805 c -0.627990722656,0.233978271484 -0.947998046875,0.932983398438 -0.713989257812,1.56097412109 Z"
+                    android:fillColor="#FFEE9A9A" />
+            </group>
+            <group
+                android:name="group_190"
+                android:translateX="184.55249"
+                android:translateY="279.03891" >
+                <path
+                    android:name="path_4"
+                    android:pathData="M 2.22351074219,-3.9375 c 0.0,0.0 -1.50401306152,0.363006591797 -1.50401306152,0.363006591797 c -1.93699645996,0.466979980469 -3.13899230957,2.43499755859 -2.67199707031,4.37197875977 c 0.466995239258,1.93701171875 2.43499755859,3.14001464844 4.37200927734,2.67300415039"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_189"
+                android:translateX="198.4046"
+                android:translateY="272.29572" >
+                <path
+                    android:name="path_5"
+                    android:pathData="M 11.6289978027,-2.80603027344 c 0.0,0.0 -23.2580108643,5.6120300293 -23.2580108643,5.6120300293"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_188"
+                android:translateX="214.52519"
+                android:translateY="268.40619" >
+                <path
+                    android:name="path_6"
+                    android:pathData="M 4.49150085449,-1.083984375 c 0.0,0.0 -8.98300170898,2.16799926758 -8.98300170898,2.16799926758"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_187"
+                android:translateX="225.90839"
+                android:translateY="266.1539" >
+                <path
+                    android:name="path_7"
+                    android:pathData="M 6.89151000977,1.57000732422 c 0.0,0.0 0.0,0.0 0.0,0.0 c -0.467010498047,-1.93701171875 -2.43501281738,-3.14001464844 -4.37200927734,-2.67199707031 c 0.0,0.0 -9.4109954834,2.26998901367 -9.4109954834,2.26998901367"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_186"
+                android:translateX="241.64349"
+                android:translateY="241.70639" >
+                <path
+                    android:name="path_8"
+                    android:pathData="M -7.62599182129,-24.8664855957 c 0.0,0.0 0.0,0.0 0.0,0.0 c 1.93699645996,-0.467010498047 3.9049987793,0.734985351562 4.37199401855,2.67199707031 c 0.0,0.0 10.4129943848,43.1560058594 10.4129943848,43.1560058594 c 0.467010498047,1.93698120117 -0.735000610352,3.90399169922 -2.67199707031,4.37197875977"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_185"
+                android:translateX="200.17538"
+                android:translateY="280.73431" >
+                <path
+                    android:name="path_9"
+                    android:pathData="M 8.10050964355,0.872497558594 c 0.0,0.0 -14.3620147705,3.46499633789 -14.3620147705,3.46499633789 c -1.79899597168,0.434997558594 -3.50999450684,0.329010009766 -4.19299316406,-0.266021728516 c -1.33200073242,-1.15899658203 -3.10400390625,-2.96798706055 -1.64500427246,-3.31997680664 c 0.0,0.0 21.0870056152,-5.08801269531 21.0870056152,-5.08801269531 c 0.272994995117,-0.0660095214844 0.552993774414,-0.113983154297 0.832992553711,-0.147003173828 c 2.39601135254,-0.289001464844 3.7380065918,0.585021972656 2.93701171875,1.74499511719 c 0.0,0.0 -1.20001220703,1.73901367188 -1.20001220703,1.73901367188 c -0.523986816406,0.760009765625 -1.87199401855,1.48999023438 -3.45698547363,1.87200927734 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_184"
+                android:translateX="232.50919"
+                android:translateY="272.79138" >
+                <path
+                    android:name="path_10"
+                    android:pathData="M -11.1599884033,4.01000976562 c 0.0,0.0 1.11199951172,0.652008056641 1.11199951172,0.652008056641 c 0.823989868164,0.484008789062 2.36399841309,0.548004150391 3.94898986816,0.165985107422 c 0.0,0.0 14.3619995117,-3.46597290039 14.3619995117,-3.46597290039 c 1.79901123047,-0.434020996094 3.26400756836,-1.34600830078 3.58799743652,-2.24301147461 c 0.630004882812,-1.74700927734 1.34201049805,-4.32901000977 -0.115997314453,-3.97698974609 c 0.0,0.0 -21.0879974365,5.08798217773 -21.0879974365,5.08798217773 c -0.272003173828,0.0660095214844 -0.542999267578,0.152008056641 -0.806991577148,0.253021240234 c -2.25900268555,0.856994628906 -3.03300476074,2.333984375 -1.77500915527,3.07299804688 c 0.0,0.0 0.775009155273,0.453979492188 0.775009155273,0.453979492188 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_183"
+                android:translateX="216.78589"
+                android:translateY="275.60309" >
+                <path
+                    android:name="path_11"
+                    android:pathData="M 3.041015625,1.89401245117 c 1.4049987793,-3.76498413086 -2.94400024414,-4.66198730469 -4.79100036621,-3.53799438477 c -1.84700012207,1.12399291992 -2.6960144043,3.09899902344 -1.89801025391,4.41198730469"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_182"
+                android:translateX="166.25641"
+                android:translateY="56.16492" >
+                <path
+                    android:name="path_12"
+                    android:pathData="M -17.9185028076,-14.1645050049 c 0.0,0.0 11.0239868164,28.3290100098 11.0239868164,28.3290100098 c 0.0,0.0 21.81300354,-6.0 21.81300354,-6.0 c 0.0,0.0 3.0,-17.0619812012 3.0,-17.0619812012 c 0.0,0.0 -35.8369903564,-5.26702880859 -35.8369903564,-5.26702880859 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_181"
+                android:translateX="197.6019"
+                android:translateY="55.1376" >
+                <path
+                    android:name="path_13"
+                    android:pathData="M -21.8639984131,-18.7035064697 c 0.0,0.0 5.39498901367,37.4070129395 5.39498901367,37.4070129395 c 0.0,0.0 38.3330078125,-6.11499023438 38.3330078125,-6.11499023438 c 0.0,0.0 -10.2590026855,-26.8500061035 -10.2590026855,-26.8500061035 c 0.0,0.0 -33.4689941406,-4.44201660156 -33.4689941406,-4.44201660156 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_180"
+                android:translateX="170.59021"
+                android:translateY="44.41042" >
+                <path
+                    android:name="path_14"
+                    android:pathData="M 25.3134918213,10.7679748535 c 0.0,0.0 -35.8500061035,13.849029541 -35.8500061035,13.849029541 c 0.0,0.0 -12.2079925537,-28.1630249023 -12.2079925537,-28.1630249023 c 0.0,0.0 -2.56900024414,-6.27398681641 -2.56900024414,-6.27398681641 c 0.0,0.0 37.1379852295,-14.7969970703 37.1379852295,-14.7969970703 c 0.0,0.0 3.08399963379,7.53100585938 3.08399963379,7.53100585938 c 0.0,0.0 10.4050140381,27.8539733887 10.4050140381,27.8539733887 Z"
+                    android:fillColor="#FFC5E0A4" />
+            </group>
+            <group
+                android:name="group_179"
+                android:translateX="185.8208"
+                android:translateY="49.0009" >
+                <path
+                    android:name="path_15"
+                    android:pathData="M 3.76750183105,-10.728515625 c 0.0,0.0 -13.8500061035,-1.83798217773 -13.8500061035,-1.83798217773 c 0.0,0.0 3.625,25.1329956055 3.625,25.1329956055 c 0.0,0.0 16.5399932861,-6.38900756836 16.5399932861,-6.38900756836 c 0.0,0.0 -6.31498718262,-16.9060058594 -6.31498718262,-16.9060058594 Z"
+                    android:fillColor="#FF9CCC64" />
+            </group>
+            <group
+                android:name="group_178"
+                android:translateX="199.21339"
+                android:translateY="51.43749" >
+                <path
+                    android:name="path_16"
+                    android:pathData="M 23.4750061035,14.5325012207 c 0.0,0.0 -38.8890075684,6.74900817871 -38.8890075684,6.74900817871 c 0.0,0.0 -6.93299865723,-29.6000061035 -6.93299865723,-29.6000061035 c 0.0,0.0 -1.12800598145,-6.68499755859 -1.12800598145,-6.68499755859 c 0.0,0.0 39.4810028076,-6.27801513672 39.4810028076,-6.27801513672 c 0.0,0.0 1.35400390625,8.02600097656 1.35400390625,8.02600097656 c 0.0,0.0 6.11500549316,27.7880096436 6.11500549316,27.7880096436 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_177"
+                android:translateX="87.299"
+                android:translateY="268.77521" >
+                <path
+                    android:name="path_17"
+                    android:pathData="M 25.9270019531,-14.353515625 c 0.0,0.0 -3.22900390625,30.916015625 -3.22900390625,30.916015625 c 0.0,0.0 -48.625,-8.125 -48.625,-8.125 c 0.0,0.0 5.75,-25.0 5.75,-25.0 c 0.0,0.0 46.1040039062,2.208984375 46.1040039062,2.208984375 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_176"
+                android:translateX="80.1819"
+                android:translateY="225.496" >
+                <path
+                    android:name="path_18"
+                    android:pathData="M 21.216506958,0.0 c 0.0,11.717010498 -9.49900817871,21.216003418 -21.216003418,21.216003418 c -11.7180023193,0.0 -21.217010498,-9.49899291992 -21.217010498,-21.216003418 c 0.0,-11.7169952393 9.49900817871,-21.216003418 21.217010498,-21.216003418 c 11.7169952393,0.0 21.216003418,9.49900817871 21.216003418,21.216003418 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_175"
+                android:translateX="56.997"
+                android:translateY="238.0144" >
+                <path
+                    android:name="path_19"
+                    android:pathData="M -8.625,2.32299804688 c 9.25,0.22900390625 17.25,-4.875 17.25,-4.875"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="9"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_174"
+                android:translateX="87.74039"
+                android:translateY="256.4386" >
+                <path
+                    android:name="path_20"
+                    android:pathData="M 21.1630096436,26.799987793 c 0.0,0.0 -49.2980194092,-8.4059753418 -49.2980194092,-8.4059753418 c 0.0,0.0 7.56500244141,-36.9530029297 7.56500244141,-36.9530029297 c 0.0,0.0 1.23600769043,-8.24099731445 1.23600769043,-8.24099731445 c 0.0,0.0 47.4690093994,7.11999511719 47.4690093994,7.11999511719 c 0.0,0.0 -1.48400878906,9.8929901123 -1.48400878906,9.8929901123 c 0.0,0.0 -5.48799133301,36.5869903564 -5.48799133301,36.5869903564 Z"
+                    android:fillColor="#FFFFDF82" />
+            </group>
+            <group
+                android:name="group_173"
+                android:translateX="82.93759"
+                android:translateY="238.17509" >
+                <path
+                    android:name="path_21"
+                    android:pathData="M -14.5309906006,-8.53700256348 c 0.0,0.0 -1.23600769043,8.24101257324 -1.23600769043,8.24101257324 c 0.0,0.0 -0.764999389648,3.73399353027 -0.764999389649,3.73399353027 c 3.70899963379,3.17199707031 8.51399230957,5.09899902344 13.7760009766,5.09899902344 c 8.57400512695,0.0 15.9420013428,-5.0950012207 19.2880096436,-12.4140014648 c 0.0,0.0 -31.06300354,-4.66000366211 -31.06300354,-4.66000366211 Z"
+                    android:fillColor="#FFFFB74D" />
+            </group>
+            <group
+                android:name="group_172"
+                android:translateX="246.1813"
+                android:translateY="82.6617" >
+                <path
+                    android:name="path_22"
+                    android:pathData="M -4.32099914551,45.2734985352 c 0.0,0.0 -33.5980072021,-20.1629943848 -33.5980072021,-20.1629943848 c -1.19200134277,-0.716003417969 -1.58299255371,-2.27699279785 -0.867004394531,-3.4700012207 c 0.0,0.0 39.637008667,-66.0469970703 39.637008667,-66.0469970703 c 0.71598815918,-1.19299316406 2.27699279785,-1.5830078125 3.46998596191,-0.867004394531 c 0.0,0.0 33.5979919434,20.1629943848 33.5979919434,20.1629943848 c 1.19201660156,0.716003417969 1.5830078125,2.27700805664 0.867004394531,3.4700012207 c 0.0,0.0 -39.6379852295,66.0470123291 -39.6379852295,66.0470123291 c -0.714996337891,1.19299316406 -2.27600097656,1.58299255371 -3.46899414062,0.866989135742 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_171"
+                android:translateX="199.16878"
+                android:translateY="186.74651" >
+                <path
+                    android:name="path_23"
+                    android:pathData="M 72.2175140381,-49.0380096436 c -11.1790161133,-1.65098571777 -61.4370117188,-8.40098571777 -72.1829986572,1.95300292969 c -12.1100006104,-11.6669921875 -74.3910064697,-1.61599731445 -74.3910064697,-1.61599731445 c 0.0,0.0 0.0,7.5240020752 0.0,7.5240020752 c -0.0309906005859,0.22200012207 -0.0679931640625,0.442993164062 -0.0679931640625,0.673004150391 c 0.0,0.0 0.0,89.9209899902 0.0,89.9209899902 c 0.0,1.5950012207 1.30599975586,2.90100097656 2.90100097656,2.90100097656 c 0.0,0.0 1.25199890137,0.0 1.25199890137,0.0 c 0.0,0.0 0.0,0.642990112305 0.0,0.642990112305 c 0.0,0.0 56.5599975586,5.791015625 69.1649932861,-0.642990112305 c 0.0,0.0 1.14100646973,0.0 1.14100646973,0.0 c 12.6039886475,6.4340057373 69.1649932861,0.642990112305 69.1649932861,0.642990112305 c 0.0,0.0 0.052001953125,-0.642990112305 0.052001953125,-0.642990112305 c 0.0,0.0 2.27200317383,0.0 2.27200317383,0.0 c 1.5959777832,0.0 2.90097045898,-1.30599975586 2.90097045898,-2.90100097656 c 0.0,0.0 0.0,-4.99600219727 0.0,-4.99600219727 c 0.0,0.0 0.0,-84.924987793 0.0,-84.924987793 c 0.0,0.0 0.0,-5.9759979248 0.0,-5.9759979248 c 0.0,-1.28300476074 -0.93798828125,-2.37100219727 -2.20697021484,-2.55801391602 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_170"
+                android:translateX="274.37698"
+                android:translateY="183.7074" >
+                <path
+                    android:name="path_24"
+                    android:pathData="M -41.504486084,-73.4705047607 c 0.0,0.0 103.110992432,15.8070068359 103.110992432,15.8070068359 c 0.0,0.0 -20.1019897461,131.133987427 -20.1019897461,131.133987427 c 0.0,0.0 -103.11100769,-15.8059997559 -103.11100769,-15.8059997559 c 0.0,0.0 20.1020050049,-131.134994507 20.1020050049,-131.134994507 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_169"
+                android:translateX="283.03857"
+                android:translateY="128.53641" >
+                <path
+                    android:name="path_25"
+                    android:pathData="M -48.4684753418,-8.3365020752 c 0.0,0.0 97.208984375,14.9020080566 97.208984375,14.9020080566 c 0.0,0.0 -0.272003173828,1.77099609375 -0.272003173828,1.77099609375 c 0.0,0.0 -97.208984375,-14.9019927979 -97.208984375,-14.9019927979 c 0.0,0.0 0.272003173828,-1.77101135254 0.272003173828,-1.77101135254 Z"
+                    android:fillColor="#FF4DB6AC" />
+            </group>
+            <group
+                android:name="group_168"
+                android:translateX="260.09302"
+                android:translateY="187.12111" >
+                <path
+                    android:name="path_26"
+                    android:pathData="M 51.863494873,69.4554901123 c 0.0,0.0 -0.616027832031,4.01501464844 -0.616027832031,4.01501464844 c 0.0,0.0 -103.110977173,-15.8060150146 -103.110977173,-15.8060150146 c 0.0,0.0 20.1029968262,-131.134994507 20.1029968262,-131.134994507 c 0.0,0.0 14.7799987793,2.26599121094 14.7799987793,2.26599121094"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_167"
+                android:translateX="241.9558"
+                android:translateY="82.6617" >
+                <path
+                    android:name="path_27"
+                    android:pathData="M -4.32099914551,45.2734985352 c 0.0,0.0 -33.5980072021,-20.1629943848 -33.5980072021,-20.1629943848 c -1.19200134277,-0.716003417969 -1.58299255371,-2.27699279785 -0.867004394531,-3.4700012207 c 0.0,0.0 39.637008667,-66.0469970703 39.637008667,-66.0469970703 c 0.71598815918,-1.19299316406 2.27699279785,-1.5830078125 3.4700012207,-0.867004394531 c 0.0,0.0 33.5979919434,20.1629943848 33.5979919434,20.1629943848 c 1.19198608398,0.716003417969 1.5830078125,2.27700805664 0.867004394531,3.4700012207 c 0.0,0.0 -39.637008667,66.0470123291 -39.637008667,66.0470123291 c -0.71598815918,1.19299316406 -2.27699279785,1.58299255371 -3.46998596191,0.866989135742 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_166"
+                android:translateX="241.9558"
+                android:translateY="82.6617" >
+                <path
+                    android:name="path_28"
+                    android:pathData="M -4.32099914551,45.2734985352 c 0.0,0.0 -33.5980072021,-20.1629943848 -33.5980072021,-20.1629943848 c -1.19200134277,-0.716003417969 -1.58299255371,-2.27699279785 -0.867004394531,-3.4700012207 c 0.0,0.0 39.637008667,-66.0469970703 39.637008667,-66.0469970703 c 0.71598815918,-1.19299316406 2.27699279785,-1.5830078125 3.4700012207,-0.867004394531 c 0.0,0.0 33.5979919434,20.1629943848 33.5979919434,20.1629943848 c 1.19198608398,0.716003417969 1.5830078125,2.27700805664 0.867004394531,3.4700012207 c 0.0,0.0 -39.637008667,66.0470123291 -39.637008667,66.0470123291 c -0.71598815918,1.19299316406 -2.27699279785,1.58299255371 -3.46998596191,0.866989135742 Z"
+                    android:strokeColor="#FFD1C4E9"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_165"
+                android:translateX="241.95569"
+                android:translateY="82.66161" >
+                <path
+                    android:name="path_29"
+                    android:pathData="M 0.15901184082,38.3665008545 c 0.0,0.0 -34.0900115967,-20.4589996338 -34.0900115967,-20.4589996338 c 0.0,0.0 33.7720031738,-56.2740020752 33.7720031738,-56.2740020752 c 0.0,0.0 34.0899963379,20.4590148926 34.0899963379,20.4590148926 c 0.0,0.0 -33.771987915,56.2739868164 -33.771987915,56.2739868164 Z"
+                    android:fillColor="#FFD1C4E9" />
+            </group>
+            <group
+                android:name="group_164"
+                android:translateX="260.41699"
+                android:translateY="51.89972" >
+                <path
+                    android:name="path_30"
+                    android:pathData="M 7.08651733398,5.25648498535 c 0.0,0.0 -15.0590209961,-9.03698730469 -15.0590209961,-9.03698730469 c -0.406982421875,-0.244995117188 -0.540008544922,-0.773986816406 -0.294982910156,-1.18200683594 c 0.244995117188,-0.406982421875 0.773986816406,-0.539001464844 1.18197631836,-0.294982910156 c 0.0,0.0 15.058013916,9.03698730469 15.058013916,9.03698730469 c 0.407989501953,0.244995117188 0.540008544922,0.774017333984 0.295013427734,1.18200683594 c -0.244018554688,0.407989501953 -0.773010253906,0.540008544922 -1.18099975586,0.294982910156 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_163"
+                android:translateX="223.00168"
+                android:translateY="114.24451" >
+                <path
+                    android:name="path_31"
+                    android:pathData="M 7.08651733398,5.25650024414 c 0.0,0.0 -15.0590057373,-9.03700256348 -15.0590057373,-9.03700256348 c -0.406997680664,-0.245010375977 -0.540008544922,-0.774002075195 -0.294998168945,-1.18200683594 c 0.244995117188,-0.406997680664 0.774002075195,-0.539001464844 1.18199157715,-0.294998168945 c 0.0,0.0 15.0579986572,9.03701782227 15.0579986572,9.03701782227 c 0.408004760742,0.244995117188 0.540008544922,0.774002075195 0.295013427734,1.18199157715 c -0.244003295898,0.408004760742 -0.773010253906,0.540008544922 -1.18099975586,0.294998168945 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_162"
+                android:translateX="60.0386"
+                android:translateY="221.0336" >
+                <path
+                    android:name="path_32"
+                    android:pathData="M -13.7604980469,9.1190032959 c 3.53099060059,5.32800292969 12.5539855957,5.56500244141 20.154006958,0.52799987793 c 7.59899902344,-5.0359954834 10.8979949951,-13.4379882812 7.36599731445,-18.7659912109 c -3.53100585938,-5.32901000977 -12.5540008545,-5.56500244141 -20.1529998779,-0.529006958008 c -7.60000610352,5.03700256348 -10.8980102539,13.4390106201 -7.36700439453,18.766998291 Z"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="7.586" />
+            </group>
+            <group
+                android:name="group_161"
+                android:translateX="106.1715"
+                android:translateY="122.60992" >
+                <path
+                    android:name="path_33"
+                    android:pathData="M 70.5620117188,6.1284942627 c 0.0,0.0 -96.5540161133,59.495010376 -96.5540161133,59.495010376 c -1.91200256348,1.17799377441 -4.44000244141,0.578002929688 -5.61799621582,-1.33399963379 c 0.0,0.0 -40.2850036621,-64.7990112305 -40.2850036621,-64.7990112305 c -1.17900085449,-1.91200256348 -0.578002929688,-4.44100952148 1.33399963379,-5.6190032959 c 0.0,0.0 96.5540161133,-59.495010376 96.5540161133,-59.495010376 c 1.91198730469,-1.17797851562 4.43998718262,-0.576995849609 5.61799621582,1.33502197266 c 0.0,0.0 40.2850036621,64.7989959717 40.2850036621,64.7989959717 c 1.17799377441,1.91200256348 0.577987670898,4.44000244141 -1.33399963379,5.61799621582 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_160"
+                android:translateX="73.0323"
+                android:translateY="62.0096" >
+                <path
+                    android:name="path_34"
+                    android:pathData="M 11.7490081787,-51.8120117188 c 0.0,0.0 -72.3790130615,43.5230102539 -72.3790130615,43.5230102539 c -2.5,1.50299072266 -3.42300415039,4.67599487305 -2.1190032959,7.28601074219 c 0.0,0.0 27.0440063477,54.1359863281 27.0440063477,54.1359863281 c 0.0,0.0 99.7579956055,-58.7189941406 99.7579956055,-58.7189941406 c 0.0,0.0 -45.4769897461,-45.391998291 -45.4769897461,-45.391998291 c -1.81500244141,-1.81201171875 -4.63000488281,-2.1549987793 -6.82699584961,-0.834014892578 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_159"
+                android:translateX="108.27899"
+                android:translateY="120.29601" >
+                <path
+                    android:name="path_35"
+                    android:pathData="M 68.3135070801,6.34548950195 c 0.0,0.0 -93.3600006104,57.5270080566 -93.3600006104,57.5270080566 c -2.60400390625,1.60400390625 -6.04699707031,0.787002563477 -7.65100097656,-1.81700134277 c 0.0,0.0 -37.4329986572,-60.75 -37.4329986572,-60.75 c -1.60400390625,-2.60299682617 -0.787002563477,-6.04600524902 1.81700134277,-7.64999389648 c 0.0,0.0 93.3600006104,-57.5269927979 93.3600006104,-57.5269927979 c 2.60398864746,-1.60501098633 6.04598999023,-0.787017822266 7.65098571777,1.81698608398 c 0.0,0.0 37.4329986572,60.7490081787 37.4329986572,60.7490081787 c 1.60400390625,2.60398864746 0.787002563477,6.04699707031 -1.81698608398,7.65098571777 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_158"
+                android:translateX="108.27899"
+                android:translateY="120.29601" >
+                <path
+                    android:name="path_36"
+                    android:pathData="M 68.3135070801,6.34548950195 c 0.0,0.0 -93.3600006104,57.5270080566 -93.3600006104,57.5270080566 c -2.60400390625,1.60400390625 -6.04699707031,0.787002563477 -7.65100097656,-1.81700134277 c 0.0,0.0 -37.4329986572,-60.75 -37.4329986572,-60.75 c -1.60400390625,-2.60299682617 -0.787002563477,-6.04600524902 1.81700134277,-7.64999389648 c 0.0,0.0 93.3600006104,-57.5269927979 93.3600006104,-57.5269927979 c 2.60398864746,-1.60501098633 6.04598999023,-0.787017822266 7.65098571777,1.81698608398 c 0.0,0.0 37.4329986572,60.7490081787 37.4329986572,60.7490081787 c 1.60400390625,2.60398864746 0.787002563477,6.04699707031 -1.81698608398,7.65098571777 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_157"
+                android:translateX="145.1584"
+                android:translateY="145.73849" >
+                <path
+                    android:name="path_37"
+                    android:pathData="M -18.4754943848,11.3845062256 c 0.0,0.0 36.9509887695,-22.7689971924 36.9509887695,-22.7689971924 c -18.2789916992,0.684005737305 -36.9509887695,3.89700317383 -36.9509887695,3.89700317383 c 0.0,0.0 0.0,18.8719940186 0.0,18.8719940186 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_156"
+                android:translateX="140.5022"
+                android:translateY="147.81619" >
+                <path
+                    android:name="path_38"
+                    android:pathData="M 15.3959960938,-8.8509979248 c 0.0,0.0 -25.0429992676,-1.28099060059 -25.0429992676,-1.28099060059 c -3.16200256348,0.0 -5.74900817871,2.57299804688 -5.74900817871,5.71800231934 c 0.0,0.0 0.0,14.5459899902 0.0,14.5459899902 c 0.0,0.0 30.7920074463,-18.983001709 30.7920074463,-18.983001709 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_155"
+                android:translateX="68.85699"
+                android:translateY="61.8847" >
+                <path
+                    android:name="path_39"
+                    android:pathData="M 62.9360046387,-6.5350189209 c 0.0,0.0 -92.199005127,56.490020752 -92.199005127,56.490020752 c -2.60299682617,1.60400390625 -6.04600524902,0.787002563477 -7.64999389648,-1.81700134277 c 0.0,0.0 -27.8400115967,-24.7529907227 -27.8400115967,-24.7529907227 c -1.60398864746,-2.60400390625 -0.785995483398,-6.0470123291 1.81700134277,-7.65100097656 c 0.0,0.0 107.12701416,-65.6890106201 107.12701416,-65.6890106201 c 2.60398864746,-1.60400390625 6.04598999023,-0.786010742188 7.65100097656,1.81698608398 c 0.0,0.0 12.9109802246,33.9520263672 12.9109802246,33.9520263672 c 1.60400390625,2.60397338867 0.787002563477,6.04699707031 -1.81698608398,7.65097045898 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_154"
+                android:translateX="68.85699"
+                android:translateY="61.8847" >
+                <path
+                    android:name="path_40"
+                    android:pathData="M 62.9360046387,-6.5350189209 c 0.0,0.0 -92.199005127,56.490020752 -92.199005127,56.490020752 c -2.60299682617,1.60400390625 -6.04600524902,0.787002563477 -7.64999389648,-1.81700134277 c 0.0,0.0 -27.8400115967,-24.7529907227 -27.8400115967,-24.7529907227 c -1.60398864746,-2.60400390625 -0.785995483398,-6.0470123291 1.81700134277,-7.65100097656 c 0.0,0.0 107.12701416,-65.6890106201 107.12701416,-65.6890106201 c 2.60398864746,-1.60400390625 6.04598999023,-0.786010742188 7.65100097656,1.81698608398 c 0.0,0.0 12.9109802246,33.9520263672 12.9109802246,33.9520263672 c 1.60400390625,2.60397338867 0.787002563477,6.04699707031 -1.81698608398,7.65097045898 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_153"
+                android:translateX="69.8092"
+                android:translateY="63.4776" >
+                <path
+                    android:name="path_41"
+                    android:pathData="M 63.5165100098,-7.05351257324 c 0.0,0.0 -93.3600158691,57.5270080566 -93.3600158691,57.5270080566 c -2.60398864746,1.60400390625 -6.04699707031,0.787002563477 -7.65100097656,-1.81700134277 c 0.0,0.0 -27.8390045166,-24.7530059814 -27.8390045166,-24.7530059814 c -1.60398864746,-2.60398864746 -0.786987304688,-6.04699707031 1.81701660156,-7.65100097656 c 0.0,0.0 108.287994385,-66.725982666 108.287994385,-66.725982666 c 2.60400390625,-1.60400390625 6.04600524902,-0.786010742188 7.65100097656,1.81698608398 c 0.0,0.0 12.9109954834,33.9520263672 12.9109954834,33.9520263672 c 1.60400390625,2.60397338867 0.787002563477,6.04699707031 -1.81698608398,7.65097045898 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_152"
+                android:translateX="69.8092"
+                android:translateY="63.4776" >
+                <path
+                    android:name="path_42"
+                    android:pathData="M 63.5165100098,-7.05351257324 c 0.0,0.0 -93.3600158691,57.5270080566 -93.3600158691,57.5270080566 c -2.60398864746,1.60400390625 -6.04699707031,0.787002563477 -7.65100097656,-1.81700134277 c 0.0,0.0 -27.8390045166,-24.7530059814 -27.8390045166,-24.7530059814 c -1.60398864746,-2.60398864746 -0.786987304688,-6.04699707031 1.81701660156,-7.65100097656 c 0.0,0.0 108.287994385,-66.725982666 108.287994385,-66.725982666 c 2.60400390625,-1.60400390625 6.04600524902,-0.786010742188 7.65100097656,1.81698608398 c 0.0,0.0 12.9109954834,33.9520263672 12.9109954834,33.9520263672 c 1.60400390625,2.60397338867 0.787002563477,6.04699707031 -1.81698608398,7.65097045898 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_151"
+                android:translateX="70.9136"
+                android:translateY="65.29991" >
+                <path
+                    android:name="path_43"
+                    android:pathData="M -60.9264984131,22.3109893799 c 0.0,0.0 27.0410003662,23.1410064697 27.0410003662,23.1410064697 c 0.0,0.0 94.81199646,-58.4209899902 94.81199646,-58.4209899902 c 0.0,0.0 -11.8809967041,-32.483001709 -11.8809967041,-32.483001709 c 0.0,0.0 -109.972000122,67.7629852295 -109.972000122,67.7629852295 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_150"
+                android:translateX="100.41959"
+                android:translateY="107.54162" >
+                <path
+                    android:name="path_44"
+                    android:pathData="M 49.1695098877,-10.3415222168 c 0.0,0.0 -80.5140075684,49.6110229492 -80.5140075684,49.6110229492 c -0.783996582031,0.483993530273 -1.8219909668,0.236999511719 -2.30499267578,-0.546997070312 c 0.0,0.0 -16.0670013428,-26.0760040283 -16.0670013428,-26.0760040283 c -0.484008789062,-0.783996582031 -0.238006591797,-1.82200622559 0.546997070313,-2.30499267578 c 0.0,0.0 80.5139923096,-49.6120300293 80.5139923096,-49.6120300293 c 0.78401184082,-0.482971191406 1.82200622559,-0.236999511719 2.30500793457,0.548004150391 c 0.0,0.0 16.0679931641,26.0749969482 16.0679931641,26.0749969482 c 0.483001708984,0.785003662109 0.236999511719,1.82301330566 -0.547988891602,2.30599975586 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_149"
+                android:translateX="117.27269"
+                android:translateY="134.89211" >
+                <path
+                    android:name="path_45"
+                    android:pathData="M 22.0265045166,-1.05450439453 c 0.0,0.0 -32.8720092773,20.2550048828 -32.8720092773,20.2550048828 c -0.779998779297,0.481002807617 -1.81098937988,0.23600769043 -2.2919921875,-0.543991088867 c 0.0,0.0 -9.43299865723,-15.3100128174 -9.43299865723,-15.3100128174 c -0.481002807617,-0.779998779297 -0.23600769043,-1.81098937988 0.543991088867,-2.2919921875 c 0.0,0.0 32.8720092773,-20.2550048828 32.8720092773,-20.2550048828 c 0.779998779297,-0.481002807617 1.81098937988,-0.235992431641 2.2919921875,0.544006347656 c 0.0,0.0 9.43299865723,15.3099975586 9.43299865723,15.3099975586 c 0.481002807617,0.779998779297 0.23600769043,1.81100463867 -0.543991088867,2.2919921875 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_148"
+                android:translateX="58.27679"
+                android:translateY="120.40961" >
+                <path
+                    android:name="path_46"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.427993774414,0.695999145508 0.427993774414,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_147"
+                android:translateX="64.3255"
+                android:translateY="116.68252" >
+                <path
+                    android:name="path_47"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.427993774414,0.695999145508 0.427993774414,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_146"
+                android:translateX="70.37419"
+                android:translateY="112.95541" >
+                <path
+                    android:name="path_48"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85202026367,2.37301635742 -3.85202026367,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_145"
+                android:translateX="76.4229"
+                android:translateY="109.22831" >
+                <path
+                    android:name="path_49"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.427993774414,0.695999145508 0.427993774414,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_144"
+                android:translateX="82.47159"
+                android:translateY="105.50121" >
+                <path
+                    android:name="path_50"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85202026367,2.37301635742 -3.85202026367,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_143"
+                android:translateX="88.52029"
+                android:translateY="101.77412" >
+                <path
+                    android:name="path_51"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85202026367,2.37301635742 -3.85202026367,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_142"
+                android:translateX="94.569"
+                android:translateY="98.047" >
+                <path
+                    android:name="path_52"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.427993774414,0.695999145508 0.427993774414,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_141"
+                android:translateX="100.61769"
+                android:translateY="94.31991" >
+                <path
+                    android:name="path_53"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85202026367,2.37301635742 -3.85202026367,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_140"
+                android:translateX="106.66629"
+                android:translateY="90.5927" >
+                <path
+                    android:name="path_54"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85202026367,2.37301635742 -3.85202026367,2.37301635742 c -0.305999755859,0.189010620117 -0.709991455078,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_139"
+                android:translateX="132.43729"
+                android:translateY="100.91301" >
+                <path
+                    android:name="path_55"
+                    android:pathData="M 2.08851623535,-0.0400085449219 c 0.0,0.0 -3.06300354004,1.88700866699 -3.06300354004,1.88700866699 c -0.305999755859,0.188995361328 -0.710006713867,0.0930023193359 -0.898010253906,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0929870605469,-0.710006713867 0.213012695312,-0.899002075195 c 0.0,0.0 3.06298828125,-1.88700866699 3.06298828125,-1.88700866699 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_138"
+                android:translateX="137.12509"
+                android:translateY="96.74301" >
+                <path
+                    android:name="path_56"
+                    android:pathData="M 2.66050720215,0.88899230957 c 0.0,0.0 -3.06300354004,1.88700866699 -3.06300354004,1.88700866699 c -0.305999755859,0.188995361328 -0.710006713867,0.0930023193359 -0.898010253906,-0.212997436523 c 0.0,0.0 -1.57398986816,-2.5530090332 -1.57398986816,-2.5530090332 c -0.188003540039,-0.305999755859 -0.0920104980469,-0.710998535156 0.213989257812,-0.899002075195 c 0.0,0.0 3.06201171875,-1.8869934082 3.06201171875,-1.8869934082 c 0.305999755859,-0.188995361328 0.710998535156,-0.0930023193359 0.899002075195,0.212997436523 c 0.0,0.0 1.57299804688,2.5530090332 1.57299804687,2.5530090332 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_137"
+                android:translateX="142.95679"
+                android:translateY="94.43111" >
+                <path
+                    android:name="path_57"
+                    android:pathData="M 2.08851623535,-0.0400085449219 c 0.0,0.0 -3.06300354004,1.88700866699 -3.06300354004,1.88700866699 c -0.305999755859,0.188995361328 -0.710006713867,0.0930023193359 -0.898010253906,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.188995361328,-0.305999755859 -0.0929870605469,-0.710006713867 0.213012695312,-0.899002075195 c 0.0,0.0 3.06298828125,-1.88700866699 3.06298828125,-1.88700866699 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_136"
+                android:translateX="112.715"
+                android:translateY="86.86561" >
+                <path
+                    android:name="path_58"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.427993774414,0.695999145508 0.427993774414,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_135"
+                android:translateX="118.7637"
+                android:translateY="83.13851" >
+                <path
+                    android:name="path_59"
+                    android:pathData="M 2.48300170898,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.709991455078,-0.0919952392578 0.898986816406,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_134"
+                android:translateX="124.81239"
+                android:translateY="79.41142" >
+                <path
+                    android:name="path_60"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.306015014648,0.189010620117 -0.710021972656,0.0930023193359 -0.898010253906,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85200500488,-2.37301635742 3.85200500488,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_133"
+                android:translateX="130.86108"
+                android:translateY="75.68432" >
+                <path
+                    android:name="path_61"
+                    android:pathData="M 2.48301696777,-0.283020019531 c 0.0,0.0 -3.85200500488,2.37301635742 -3.85200500488,2.37301635742 c -0.305999755859,0.189010620117 -0.710006713867,0.0930023193359 -0.897994995117,-0.212997436523 c 0.0,0.0 -0.429000854492,-0.695999145508 -0.429000854492,-0.695999145508 c -0.189010620117,-0.305999755859 -0.0930023193359,-0.709991455078 0.212997436523,-0.899002075195 c 0.0,0.0 3.85198974609,-2.37301635742 3.85198974609,-2.37301635742 c 0.305999755859,-0.18798828125 0.710006713867,-0.0919952392578 0.899002075195,0.213012695312 c 0.0,0.0 0.428009033203,0.695999145508 0.428009033203,0.695999145508 c 0.188995361328,0.305999755859 0.0930023193359,0.710998535156 -0.212997436523,0.898986816406 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_132"
+                android:translateX="61.6757"
+                android:translateY="123.58762" >
+                <path
+                    android:name="path_62"
+                    android:pathData="M 3.7115020752,0.241485595703 c 0.0,0.0 -5.16400146484,3.18200683594 -5.16400146484,3.18200683594 c -0.520004272461,0.320007324219 -1.20600891113,0.156997680664 -1.52600097656,-0.361999511719 c 0.0,0.0 -1.0950012207,-1.77799987793 -1.0950012207,-1.77799987793 c -0.320007324219,-0.518997192383 -0.156997680664,-1.20500183105 0.361999511719,-1.52499389648 c 0.0,0.0 5.16400146484,-3.18200683594 5.16400146484,-3.18200683594 c 0.518997192383,-0.31999206543 1.20600891113,-0.156997680664 1.52600097656,0.361999511719 c 0.0,0.0 1.0950012207,1.77799987793 1.0950012207,1.77799987793 c 0.320007324219,0.518997192383 0.156997680664,1.20500183105 -0.361999511719,1.52499389648 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_131"
+                android:translateX="68.7683"
+                android:translateY="119.21681" >
+                <path
+                    android:name="path_63"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_130"
+                android:translateX="74.81699"
+                android:translateY="115.48972" >
+                <path
+                    android:name="path_64"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_129"
+                android:translateX="80.8657"
+                android:translateY="111.7626" >
+                <path
+                    android:name="path_65"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_128"
+                android:translateX="86.9144"
+                android:translateY="108.03551" >
+                <path
+                    android:name="path_66"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_127"
+                android:translateX="92.9631"
+                android:translateY="104.30841" >
+                <path
+                    android:name="path_67"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_126"
+                android:translateX="99.0118"
+                android:translateY="100.58131" >
+                <path
+                    android:name="path_68"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_125"
+                android:translateX="105.06039"
+                android:translateY="96.85422" >
+                <path
+                    android:name="path_69"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_124"
+                android:translateX="111.10909"
+                android:translateY="93.12711" >
+                <path
+                    android:name="path_70"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_123"
+                android:translateX="117.1578"
+                android:translateY="89.40001" >
+                <path
+                    android:name="path_71"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_122"
+                android:translateX="123.2065"
+                android:translateY="85.67291" >
+                <path
+                    android:name="path_72"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_121"
+                android:translateX="66.11269"
+                android:translateY="127.4019" >
+                <path
+                    android:name="path_73"
+                    android:pathData="M 5.37550354004,-0.783508300781 c 0.0,0.0 -8.49301147461,5.23300170898 -8.49301147461,5.23300170898 c -0.434997558594,0.268005371094 -1.01100158691,0.13200378418 -1.27899169922,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.13200378418,-1.01098632812 0.304000854492,-1.27899169922 c 0.0,0.0 8.49200439453,-5.23300170898 8.49200439453,-5.23300170898 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_120"
+                android:translateX="135.6716"
+                android:translateY="84.5407" >
+                <path
+                    android:name="path_74"
+                    android:pathData="M 3.2884979248,0.502502441406 c 0.0,0.0 -4.31900024414,2.66101074219 -4.31900024414,2.66101074219 c -0.435012817383,0.267990112305 -1.01100158691,0.13200378418 -1.27900695801,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.267990112305,-0.434997558594 -0.131988525391,-1.0110168457 0.304000854492,-1.2790222168 c 0.0,0.0 4.31800842285,-2.6609954834 4.31800842285,-2.6609954834 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.28001403809 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_119"
+                android:translateX="74.7174"
+                android:translateY="122.09981" >
+                <path
+                    android:name="path_75"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_118"
+                android:translateX="80.7661"
+                android:translateY="118.37271" >
+                <path
+                    android:name="path_76"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_117"
+                android:translateX="86.8148"
+                android:translateY="114.64561" >
+                <path
+                    android:name="path_77"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_116"
+                android:translateX="69.2635"
+                android:translateY="138.55811" >
+                <path
+                    android:name="path_78"
+                    android:pathData="M 2.67700195312,0.878997802734 c 0.0,0.0 -3.09600830078,1.90701293945 -3.09600830078,1.90701293945 c -0.434997558594,0.268997192383 -1.01098632812,0.131988525391 -1.27899169922,-0.303009033203 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.435989379883 -0.13200378418,-1.0119934082 0.304000854492,-1.2799987793 c 0.0,0.0 3.0950012207,-1.90699768066 3.0950012207,-1.90699768066 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_115"
+                android:translateX="75.1532"
+                android:translateY="134.9286" >
+                <path
+                    android:name="path_79"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_114"
+                android:translateX="82.4068"
+                android:translateY="130.45932" >
+                <path
+                    android:name="path_80"
+                    android:pathData="M 4.04049682617,0.0389862060547 c 0.0,0.0 -5.82301330566,3.58801269531 -5.82301330566,3.58801269531 c -0.434997558594,0.267990112305 -1.01100158691,0.130996704102 -1.27899169922,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.267990112305,-0.434997558594 -0.13200378418,-1.01100158691 0.304000854492,-1.2799987793 c 0.0,0.0 5.82200622559,-3.58700561523 5.82200622559,-3.58700561523 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_113"
+                android:translateX="101.73709"
+                android:translateY="118.5482" >
+                <path
+                    android:name="path_81"
+                    android:pathData="M 14.9170074463,-6.66300964355 c 0.0,0.0 -27.575012207,16.9910125732 -27.575012207,16.9910125732 c -0.435989379883,0.268997192383 -1.01100158691,0.131988525391 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28298950195,-2.08100891113 -1.28298950195,-2.08100891113 c -0.268005371094,-0.435989379883 -0.131011962891,-1.0119934082 0.304000854492,-1.2799987793 c 0.0,0.0 27.5749969482,-16.9909973145 27.5749969482,-16.9909973145 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_112"
+                android:translateX="92.86349"
+                android:translateY="110.91852" >
+                <path
+                    android:name="path_82"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_111"
+                android:translateX="98.91209"
+                android:translateY="107.19141" >
+                <path
+                    android:name="path_83"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_110"
+                android:translateX="104.96079"
+                android:translateY="103.46431" >
+                <path
+                    android:name="path_84"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_109"
+                android:translateX="111.0095"
+                android:translateY="99.73721" >
+                <path
+                    android:name="path_85"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_108"
+                android:translateX="117.0582"
+                android:translateY="96.01001" >
+                <path
+                    android:name="path_86"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_107"
+                android:translateX="123.1069"
+                android:translateY="92.28291" >
+                <path
+                    android:name="path_87"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_106"
+                android:translateX="129.15558"
+                android:translateY="88.55582" >
+                <path
+                    android:name="path_88"
+                    android:pathData="M 2.81951904297,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_105"
+                android:translateX="131.2355"
+                android:translateY="80.72601" >
+                <path
+                    android:name="path_89"
+                    android:pathData="M 4.5299987793,-0.26301574707 c 0.0,0.0 -6.80101013184,4.19102478027 -6.80101013184,4.19102478027 c -0.583999633789,0.360000610352 -1.35600280762,0.175994873047 -1.71600341797,-0.408004760742 c 0.0,0.0 -0.949996948242,-1.5419921875 -0.949996948242,-1.5419921875 c -0.360000610352,-0.583999633789 -0.177001953125,-1.35600280762 0.406997680664,-1.71501159668 c 0.0,0.0 6.80101013184,-4.19100952148 6.80101013184,-4.19100952148 c 0.583999633789,-0.360000610352 1.35598754883,-0.177001953125 1.71598815918,0.406997680664 c 0.0,0.0 0.950012207031,1.54200744629 0.950012207031,1.54200744629 c 0.360000610352,0.583999633789 0.177001953125,1.35600280762 -0.406997680664,1.71598815918 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_104"
+                android:translateX="67.5251"
+                android:translateY="133.08061" >
+                <path
+                    android:name="path_90"
+                    android:pathData="M 3.7115020752,0.241485595703 c 0.0,0.0 -5.16400146484,3.18200683594 -5.16400146484,3.18200683594 c -0.520004272461,0.320007324219 -1.20600891113,0.156997680664 -1.52600097656,-0.361999511719 c 0.0,0.0 -1.0950012207,-1.77799987793 -1.0950012207,-1.77799987793 c -0.320007324219,-0.518997192383 -0.156997680664,-1.20500183105 0.361999511719,-1.52499389648 c 0.0,0.0 5.16400146484,-3.18200683594 5.16400146484,-3.18200683594 c 0.518997192383,-0.31999206543 1.20600891113,-0.156997680664 1.52600097656,0.361999511719 c 0.0,0.0 1.0950012207,1.77799987793 1.0950012207,1.77799987793 c 0.320007324219,0.518997192383 0.156997680664,1.20500183105 -0.361999511719,1.52499389648 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_103"
+                android:translateX="74.6178"
+                android:translateY="128.70992" >
+                <path
+                    android:name="path_91"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_102"
+                android:translateX="80.6665"
+                android:translateY="124.98282" >
+                <path
+                    android:name="path_92"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_101"
+                android:translateX="86.71519"
+                android:translateY="121.25562" >
+                <path
+                    android:name="path_93"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_100"
+                android:translateX="92.76379"
+                android:translateY="117.5285" >
+                <path
+                    android:name="path_94"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_99"
+                android:translateX="98.81249"
+                android:translateY="113.80141" >
+                <path
+                    android:name="path_95"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_98"
+                android:translateX="104.8612"
+                android:translateY="110.07431" >
+                <path
+                    android:name="path_96"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_97"
+                android:translateX="110.9099"
+                android:translateY="106.34721" >
+                <path
+                    android:name="path_97"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_96"
+                android:translateX="116.9586"
+                android:translateY="102.62012" >
+                <path
+                    android:name="path_98"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28300476074,2.08099365234 1.28300476074,2.08099365234 c 0.268005371094,0.436004638672 0.130996704102,1.01200866699 -0.304000854492,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_95"
+                android:translateX="119.29139"
+                android:translateY="107.73131" >
+                <path
+                    android:name="path_99"
+                    android:pathData="M 2.22801208496,1.15599060059 c 0.0,0.0 -2.19700622559,1.35400390625 -2.19700622559,1.35400390625 c -0.435012817383,0.268005371094 -1.01100158691,0.130996704102 -1.28001403809,-0.304000854492 c 0.0,0.0 -1.28199768066,-2.08200073242 -1.28199768066,-2.08200073242 c -0.268997192383,-0.434997558594 -0.13200378418,-1.01100158691 0.304000854492,-1.2799987793 c 0.0,0.0 2.19599914551,-1.35299682617 2.19599914551,-1.35299682617 c 0.436004638672,-0.268997192383 1.01200866699,-0.13200378418 1.28001403809,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_94"
+                android:translateX="123.00729"
+                android:translateY="98.89301" >
+                <path
+                    android:name="path_100"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_93"
+                android:translateX="125.49628"
+                android:translateY="103.90842" >
+                <path
+                    android:name="path_101"
+                    android:pathData="M 3.56701660156,0.330490112305 c 0.0,0.0 -4.87602233887,3.00401306152 -4.87602233887,3.00401306152 c -0.434997558594,0.268997192383 -1.01100158691,0.131988525391 -1.27900695801,-0.304000854492 c 0.0,0.0 -1.28298950195,-2.08200073242 -1.28298950195,-2.08200073242 c -0.268005371094,-0.434997558594 -0.13200378418,-1.01100158691 0.304000854492,-1.27900695801 c 0.0,0.0 4.87501525879,-3.00399780273 4.87501525879,-3.00399780273 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_92"
+                android:translateX="129.056"
+                android:translateY="95.16591" >
+                <path
+                    android:name="path_102"
+                    android:pathData="M 2.81950378418,0.791488647461 c 0.0,0.0 -3.38000488281,2.0830078125 -3.38000488281,2.0830078125 c -0.436004638672,0.268005371094 -1.01200866699,0.13200378418 -1.2799987793,-0.304000854492 c 0.0,0.0 -1.28300476074,-2.08200073242 -1.28300476074,-2.08200073242 c -0.268005371094,-0.434997558594 -0.130996704102,-1.01100158691 0.304000854492,-1.27899169922 c 0.0,0.0 3.38000488281,-2.0830078125 3.38000488281,-2.0830078125 c 0.435989379883,-0.268997192383 1.0119934082,-0.13200378418 1.2799987793,0.304000854492 c 0.0,0.0 1.28298950195,2.08099365234 1.28298950195,2.08099365234 c 0.268005371094,0.436004638672 0.131011962891,1.01200866699 -0.303985595703,1.2799987793 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_91"
+                android:translateX="137.08499"
+                android:translateY="90.21911" >
+                <path
+                    android:name="path_103"
+                    android:pathData="M 4.53001403809,-0.26301574707 c 0.0,0.0 -6.80101013184,4.19102478027 -6.80101013184,4.19102478027 c -0.583999633789,0.360000610352 -1.35600280762,0.175994873047 -1.71600341797,-0.408004760742 c 0.0,0.0 -0.949996948242,-1.5419921875 -0.949996948242,-1.5419921875 c -0.360000610352,-0.583999633789 -0.177001953125,-1.35600280762 0.406997680664,-1.71501159668 c 0.0,0.0 6.80101013184,-4.19100952148 6.80101013184,-4.19100952148 c 0.583999633789,-0.360000610352 1.35598754883,-0.177001953125 1.71598815918,0.406997680664 c 0.0,0.0 0.950012207031,1.54200744629 0.950012207031,1.54200744629 c 0.360000610352,0.583999633789 0.177001953125,1.35600280762 -0.406997680664,1.71598815918 Z"
+                    android:fillColor="#FFCFD7DC" />
+            </group>
+            <group
+                android:name="group_90"
+                android:translateX="129.45999"
+                android:translateY="139.92" >
+                <path
+                    android:name="path_104"
+                    android:pathData="M -4.35348510742,2.65299987793 c 0.0,0.0 8.70698547363,-5.30599975586 8.70698547363,-5.30599975586 c -3.25698852539,0.450012207031 -6.04499816895,1.01600646973 -7.53999328613,1.34201049805 c -0.682006835938,0.149993896484 -1.1669921875,0.755996704102 -1.1669921875,1.45399475098 c 0.0,0.0 0.0,2.50999450684 0.0,2.50999450684 Z"
+                    android:fillColor="#FFAFBDC5" />
+            </group>
+            <group
+                android:name="group_89"
+                android:translateX="198.98239"
+                android:translateY="188.57239" >
+                <path
+                    android:name="path_105"
+                    android:pathData="M 71.4125061035,48.4990081787 c 0.0,0.0 -142.824996948,0.0 -142.824996948,0.0 c -0.942001342773,0.0 -1.71200561523,-0.770004272461 -1.71200561523,-1.71199035645 c 0.0,0.0 0.0,-93.575012207 0.0,-93.575012207 c 0.0,-0.940994262695 0.770004272461,-1.71099853516 1.71200561523,-1.71099853516 c 0.0,0.0 142.824996948,0.0 142.824996948,0.0 c 0.940979003906,0.0 1.71197509766,0.770004272461 1.71197509766,1.71099853516 c 0.0,0.0 0.0,93.575012207 0.0,93.575012207 c 0.0,0.941986083984 -0.77099609375,1.71199035645 -1.71197509766,1.71199035645 Z"
+                    android:fillColor="#FFF57B00" />
+            </group>
+            <group
+                android:name="group_88"
+                android:translateX="198.71519"
+                android:translateY="182.36639" >
+                <path
+                    android:name="path_106"
+                    android:pathData="M 0.0,-40.7279968262 c -11.3520050049,-11.6669921875 -69.7350006104,-1.3869934082 -69.7350006104,-1.3869934082 c 0.0,0.0 0.0,93.1229858398 0.0,93.1229858398 c 0.0,0.0 29.783996582,1.38700866699 69.7350006104,1.38700866699 c 33.9570007324,0.0 69.7350006104,-1.38700866699 69.7350006104,-1.38700866699 c 0.0,0.0 0.0,-93.1229858398 0.0,-93.1229858398 c 0.0,0.0 -58.3830108643,-10.2799987793 -69.7350006104,1.3869934082 Z"
+                    android:fillColor="#FFEDEDED" />
+            </group>
+            <group
+                android:name="group_87"
+                android:translateX="198.71518"
+                android:translateY="182.36639" >
+                <path
+                    android:name="path_107"
+                    android:pathData="M 0.00002,-40.7279968262 c -10.9290008545,-11.6669921875 -67.141998291,-1.61599731445 -67.141998291,-1.61599731445 c 0.0,0.0 0.0,93.1230010986 0.0,93.1230010986 c 0.0,0.0 56.2129974365,-10.0510101318 67.141998291,1.61599731445 c 10.9289855957,-11.6670074463 67.1419830322,-1.61599731445 67.1419830322,-1.61599731445 c 0.0,0.0 0.0,-93.1230010986 0.0,-93.1230010986 c 0.0,0.0 -56.2129974365,-10.050994873 -67.1419830322,1.61599731445 Z"
+                    android:fillColor="#FFF9F9F9" />
+            </group>
+            <group
+                android:name="group_86"
+                android:translateX="204.37419"
+                android:translateY="186.0204" >
+                <path
+                    android:name="path_108"
+                    android:pathData="M -5.65899658203,-44.3820037842 c 0.0,0.0 0.0,93.1230010986 0.0,93.1230010986 c 0.0,0.0 7.39698791504,-10.6269989014 7.39698791504,-10.6269989014 c 2.5530090332,-3.6669921875 3.92100524902,-8.02799987793 3.92100524902,-12.4960021973 c 0.0,0.0 0.0,-71.8109893799 0.0,-71.8109893799 c 0.0,-1.45300292969 -1.32600402832,-2.54800415039 -2.75399780273,-2.28300476074 c -4.83700561523,0.901000976562 -6.10000610352,1.56199645996 -8.56399536133,4.09399414062 Z"
+                    android:fillColor="#FFEDEDED" />
+            </group>
+            <group
+                android:name="group_85"
+                android:translateX="163.1185"
+                android:translateY="159.72" >
+                <path
+                    android:name="path_109"
+                    android:pathData="M 27.1620025635,2.52000427246 c -18.1550140381,-5.03999328613 -54.324005127,-2.23098754883 -54.324005127,-2.23098754883"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_84"
+                android:translateX="163.1185"
+                android:translateY="169.63312" >
+                <path
+                    android:name="path_110"
+                    android:pathData="M 27.1620025635,2.51998901367 c -18.1550140381,-5.03999328613 -54.324005127,-2.23098754883 -54.324005127,-2.23098754883"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_83"
+                android:translateX="163.1185"
+                android:translateY="189.45929" >
+                <path
+                    android:name="path_111"
+                    android:pathData="M 27.1620025635,2.52000427246 c -18.1550140381,-5.03999328613 -54.324005127,-2.23098754883 -54.324005127,-2.23098754883"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_82"
+                android:translateX="163.1185"
+                android:translateY="199.37241" >
+                <path
+                    android:name="path_112"
+                    android:pathData="M 27.1620025635,2.51998901367 c -18.1550140381,-5.03997802734 -54.324005127,-2.23098754883 -54.324005127,-2.23098754883"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_81"
+                android:translateX="163.1185"
+                android:translateY="209.28549" >
+                <path
+                    android:name="path_113"
+                    android:pathData="M 27.1620025635,2.52000427246 c -18.1550140381,-5.03999328613 -54.324005127,-2.23100280762 -54.324005127,-2.23100280762"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_80"
+                android:translateX="238.35629"
+                android:translateY="149.36481" >
+                <path
+                    android:name="path_114"
+                    android:pathData="M 23.386505127,0.730987548828 c 0.0,0.0 -27.68800354,-2.14999389648 -46.7730102539,0.688003540039"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_79"
+                android:translateX="238.35629"
+                android:translateY="159.27789" >
+                <path
+                    android:name="path_115"
+                    android:pathData="M 23.386505127,0.731002807617 c 0.0,0.0 -27.6870117188,-2.14999389648 -46.7730102539,0.688003540039"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_78"
+                android:translateX="238.3568"
+                android:translateY="169.19051" >
+                <path
+                    android:name="path_116"
+                    android:pathData="M 23.3860015869,0.731491088867 c 0.0,0.0 -27.6870117188,-2.14999389648 -46.7720031738,0.68701171875"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_77"
+                android:translateX="238.35629"
+                android:translateY="179.1041" >
+                <path
+                    android:name="path_117"
+                    android:pathData="M 23.386505127,0.731002807617 c 0.0,0.0 -27.68800354,-2.14999389648 -46.7730102539,0.688003540039"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_76"
+                android:translateX="238.2343"
+                android:translateY="189.02621" >
+                <path
+                    android:name="path_118"
+                    android:pathData="M 23.5084991455,0.721984863281 c 0.0,0.0 -27.9240112305,-2.16799926758 -47.016998291,0.724014282227"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_75"
+                android:translateX="202.60869"
+                android:translateY="177.6322" >
+                <path
+                    android:name="path_119"
+                    android:pathData="M -3.89349365234,-36.0155029297 c 0.0,0.0 2.3509979248,-2.3509979248 2.3509979248,-2.3509979248 c 1.19898986816,-1.19898986816 3.14399719238,-1.19898986816 4.34298706055,0.0 c 0.700012207031,0.700012207031 1.09300231934,1.6490020752 1.09300231934,2.63800048828 c 0.0,0.0 0.0,75.2939910889 0.0,75.2939910889"
+                    android:strokeColor="#FF25A69A"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_74"
+                android:translateX="80.182"
+                android:translateY="202.2825" >
+                <path
+                    android:name="path_120"
+                    android:pathData="M 0.0,-34.1744995117 c -15.0500030518,0.0 -27.25,12.200012207 -27.25,27.25 c 0.0,0.0 -1.25,41.0989990234 27.25,41.0989990234 c 28.5,0.0 27.25,-41.0989990234 27.25,-41.0989990234 c 0.0,-15.049987793 -12.1999969482,-27.25 -27.25,-27.25 Z"
+                    android:fillColor="#FF90C9F8" />
+            </group>
+            <group
+                android:name="group_73"
+                android:translateX="80.182"
+                android:translateY="195.3578" >
+                <path
+                    android:name="path_121"
+                    android:pathData="M 23.75,0.0 c 0.0,13.1170043945 -10.6329956055,23.75 -23.75,23.75 c -13.1170043945,0.0 -23.75,-10.6329956055 -23.75,-23.75 c 0.0,-13.1169891357 10.6329956055,-23.75 23.75,-23.75 c 13.1170043945,0.0 23.75,10.6330108643 23.75,23.75 Z"
+                    android:fillColor="#FFE2F1FC" />
+            </group>
+            <group
+                android:name="group_72"
+                android:translateX="97.67599"
+                android:translateY="184.89381" >
+                <path
+                    android:name="path_122"
+                    android:pathData="M 0.941009521484,-8.87251281738 c 0.0,0.0 -2.41702270508,-0.452987670898 -2.41702270508,-0.452987670898 c 0.0,0.0 -0.582992553711,15.4809875488 -0.582992553711,15.4809875488 c 0.0,0.0 2.4580078125,3.17001342773 2.4580078125,3.17001342773 c 0.0,0.0 1.66000366211,-15.671005249 1.66000366211,-15.671005249 c 0.0,0.0 -1.11799621582,-2.52700805664 -1.11799621582,-2.52700805664 Z"
+                    android:fillColor="#FF90C9F8" />
+            </group>
+            <group
+                android:name="group_71"
+                android:translateX="80.18199"
+                android:translateY="201.746" >
+                <path
+                    android:name="path_123"
+                    android:pathData="M 0.0,17.3619995117 c 9.40000915527,0.0 17.5230102539,-5.46099853516 21.3720092773,-13.3840026855 c -0.0180053710938,-11.7879943848 -9.57899475098,-21.3399963379 -21.3720092773,-21.3399963379 c -11.7929992676,0.0 -21.3540039062,9.55200195312 -21.3719940186,21.3399963379 c 3.84899902344,7.92300415039 11.9720001221,13.3840026855 21.3719940186,13.3840026855 Z"
+                    android:fillColor="#FFFFB74D" />
+            </group>
+            <group
+                android:name="group_70"
+                android:translateX="84.5666"
+                android:translateY="201.746" >
+                <path
+                    android:name="path_124"
+                    android:pathData="M 2.78450012207,0.0 c 0.0,1.53799438477 -1.24699401855,2.78399658203 -2.78399658203,2.78399658203 c -1.53800964355,0.0 -2.78500366211,-1.24600219727 -2.78500366211,-2.78399658203 c 0.0,-1.53799438477 1.24699401855,-2.78399658203 2.78500366211,-2.78399658203 c 1.53700256348,0.0 2.78399658203,1.24600219727 2.78399658203,2.78399658203 Z"
+                    android:strokeColor="#FFFFDFB1"
+                    android:strokeWidth="1"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_69"
+                android:translateX="84.71739"
+                android:translateY="201.9902" >
+                <path
+                    android:name="path_125"
+                    android:pathData="M 5.79951477051,0.0 c 0.0,3.20300292969 -2.59700012207,5.79899597168 -5.79901123047,5.79899597168 c -3.20300292969,0.0 -5.80000305176,-2.59599304199 -5.80000305176,-5.79899597168 c 0.0,-3.20300292969 2.59700012207,-5.79899597168 5.80000305176,-5.79899597168 c 3.2020111084,0.0 5.79901123047,2.59599304199 5.79901123047,5.79899597168 Z"
+                    android:strokeColor="#FFFFDFB1"
+                    android:strokeWidth="1"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_68"
+                android:translateX="282.40387"
+                android:translateY="195.20599" >
+                <path
+                    android:name="path_126"
+                    android:pathData="M 32.302520752,-21.3874969482 c -0.144012451172,-0.203994750977 -0.343017578125,-0.333999633789 -0.556030273437,-0.429992675781 c -0.0179748535156,-0.231994628906 -0.0749816894531,-0.462997436523 -0.219970703125,-0.6669921875 c -0.428009033203,-0.606002807617 -1.26602172852,-0.75 -1.87200927734,-0.322006225586 c 0.0,0.0 -57.4509887695,40.6049957275 -57.4509887695,40.6049957275 c -0.606018066406,0.429000854492 -4.93402099609,4.22399902344 -4.50500488281,4.83000183105 c 0.427978515625,0.605987548828 5.44998168945,-2.20700073242 6.05599975586,-2.63500976562 c 0.0,0.0 34.533996582,-24.407989502 34.533996582,-24.407989502 c 0.0,0.0 1.25299072266,-0.886001586914 1.25299072266,-0.886001586914 c 0.0,0.0 3.83700561523,-2.71200561523 3.83700561523,-2.71200561523 c 0.428009033203,0.606002807617 1.26699829102,0.75 1.87298583984,0.322006225586 c 0.0,0.0 16.7290039062,-11.824005127 16.7290039062,-11.824005127 c 0.606018066406,-0.427993774414 0.75,-1.26699829102 0.322021484375,-1.87300109863 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_67"
+                android:translateX="270.27869"
+                android:translateY="203.41391" >
+                <path
+                    android:name="path_127"
+                    android:pathData="M 1.82800292969,0.513488769531 c 0.0,0.0 0.0,-3.64498901367 0.0,-3.64498901367 c 0.0,0.0 -3.53900146484,2.03799438477 -3.53900146484,2.03799438477 c 0.0,0.0 -0.117004394531,4.22500610352 -0.117004394531,4.22500610352 c 0.0,0.0 3.65600585938,-2.61801147461 3.65600585938,-2.61801147461 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_66"
+                android:translateX="281.7486"
+                android:translateY="193.36771" >
+                <path
+                    android:name="path_128"
+                    android:pathData="M -29.8760070801,19.4194946289 c 0.0,0.0 57.4509887695,-40.6049957275 57.4509887695,-40.6049957275 c 0.605987548828,-0.429000854492 1.44400024414,-0.283996582031 1.87298583984,0.322006225586 c 0.428009033203,0.606002807617 0.284027099609,1.44400024414 -0.321990966797,1.87199401855 c 0.0,0.0 -57.4509887695,40.6060028076 -57.4509887695,40.6060028076"
+                    android:fillColor="#FF870E4F" />
+            </group>
+            <group
+                android:name="group_65"
+                android:translateX="250.18121"
+                android:translateY="215.5049" >
+                <path
+                    android:name="path_129"
+                    android:pathData="M 3.24249267578,-0.522994995117 c -0.606018066406,0.428009033203 -5.62800598145,3.24099731445 -6.05601501465,2.63500976562 c -0.428985595703,-0.606002807617 3.8990020752,-4.40100097656 4.50498962402,-4.83001708984"
+                    android:fillColor="#FFFFD44F" />
+            </group>
+            <group
+                android:name="group_64"
+                android:translateX="287.80847"
+                android:translateY="189.03371" >
+                <path
+                    android:name="path_130"
+                    android:pathData="M 0.149536132812,1.53999328613 c 0.0,0.0 -1.55102539062,-2.19499206543 -1.55102539062,-2.19499206543 c 0.0,0.0 1.25201416016,-0.884994506836 1.25201416016,-0.884994506836 c 0.0,0.0 1.55099487305,2.19499206543 1.55099487305,2.19499206543 c 0.0,0.0 -1.25198364258,0.884994506836 -1.25198364258,0.884994506836 Z"
+                    android:fillColor="#FFFFD44F" />
+            </group>
+            <group
+                android:name="group_63"
+                android:translateX="302.5101"
+                android:translateY="180.289" >
+                <path
+                    android:name="path_131"
+                    android:pathData="M -9.46249389648,6.6875 c 0.0,0.0 0.0,0.0 0.0,0.0 c -0.428009033203,-0.605987548828 -0.284027099609,-1.44499206543 0.321990966797,-1.87298583984 c 0.0,0.0 16.7290039062,-11.824005127 16.7290039062,-11.824005127 c 0.605987548828,-0.428009033203 1.44497680664,-0.283996582031 1.87298583984,0.321990966797 c 0.429016113281,0.606002807617 0.283996582031,1.44400024414 -0.321990966797,1.87300109863 c 0.0,0.0 -16.7290039062,11.824005127 -16.7290039062,11.824005127 c -0.605987548828,0.427993774414 -1.44500732422,0.283996582031 -1.87298583984,-0.322006225586 Z"
+                    android:fillColor="#FFFFD44F" />
+            </group>
+            <group
+                android:name="group_62"
+                android:translateX="80.9382"
+                android:translateY="202.76419" >
+                <path
+                    android:name="path_132"
+                    android:pathData="M 6.32749938965,-15.3204956055 c 0.0,0.0 0.0,0.0 0.0,0.0 c -1.0299987793,1.03001403809 -1.0299987793,2.70100402832 0.0,3.7320098877 c 0.0,0.0 4.41200256348,4.4109954834 4.41200256348,4.4109954834 c 3.38999938965,3.39099121094 3.38999938965,8.88800048828 0.0,12.2779998779 c -3.38999938965,3.39100646973 -8.88700866699,3.39100646973 -12.2780151367,0.0 c 0.0,0.0 -8.21499633789,-8.21501159668 -8.21499633789,-8.21501159668 c -1.8990020752,-1.89797973633 -4.97700500488,-1.89797973633 -6.875,0.0 c -1.8990020752,1.89901733398 -1.8990020752,4.97702026367 0.0,6.875 c 0.0,0.0 0.125,0.125 0.125,0.125 c 0.352996826172,0.353012084961 0.343002319336,0.929016113281 -0.0220031738281,1.27001953125 c -0.347991943359,0.325988769531 -0.890991210938,0.316986083984 -1.22799682617,-0.02001953125 c 0.0,0.0 -0.610992431641,-0.610992431641 -0.610992431641,-0.610992431641 c -0.485000610352,-0.485000610352 -1.27200317383,-0.485000610352 -1.75700378418,0.0 c -0.419006347656,0.419006347656 -0.494995117188,1.0830078125 -0.158004760742,1.57000732422 c 4.28500366211,6.18899536133 11.4250030518,10.2489929199 19.5229949951,10.2489929199 c 9.40000915527,0.0 17.5230102539,-5.46099853516 21.3730163574,-13.3840026855 c -0.0130004882812,-8.09399414062 -4.52700805664,-15.129989624 -11.171005249,-18.7469940186 c -1.02200317383,-0.555999755859 -2.29499816895,-0.356002807617 -3.11799621582,0.466995239258 Z"
+                    android:fillColor="#FFFFDFB1" />
+            </group>
+            <group
+                android:name="group_61"
+                android:translateX="91.0873"
+                android:translateY="196.4827" >
+                <path
+                    android:name="path_133"
+                    android:pathData="M -5.86450195312,5.50750732422 c 0.0,0.0 12.8440093994,-7.93499755859 12.8440093994,-7.93499755859 c -0.404006958008,-0.73600769043 -0.559005737305,-0.775009155273 -1.19000244141,-1.62699890137 c -0.600006103516,-0.809997558594 -0.705001831055,-0.872009277344 -1.26399230957,-1.45300292969 c -3.83500671387,3.22900390625 -7.67001342773,6.45799255371 -11.5050201416,9.68598937988 c 0.0,0.0 1.11500549316,1.32901000977 1.11500549316,1.32901000977 Z"
+                    android:fillColor="#FFFFB74D" />
+            </group>
+            <group
+                android:name="group_60"
+                android:translateX="93.65469"
+                android:translateY="182.46021" >
+                <path
+                    android:name="path_134"
+                    android:pathData="M 7.24000549316,-19.949508667 c 0.0,0.0 -0.0370025634766,0.00300598144531 -0.0370025634766,0.0030059814453 c 0.0,0.0 -17.046005249,38.8229980469 -17.046005249,38.8229980469 c -0.153991699219,0.350997924805 -0.0299987792969,0.761993408203 0.292999267578,0.967987060547 c 0.391998291016,0.251007080078 0.915008544922,0.103012084961 1.11799621582,-0.314987182617 c 0.0,0.0 17.6760101318,-36.3139953613 17.6760101318,-36.3139953613 c 0.753005981445,-1.47300720215 -0.356002807617,-3.31100463867 -2.00399780273,-3.16500854492 Z"
+                    android:fillColor="#FF455A63" />
+            </group>
+            <group
+                android:name="group_59"
+                android:translateX="247.7"
+                android:translateY="263.61859" >
+                <path
+                    android:name="path_135"
+                    android:pathData="M 1.10250854492,-2.18597412109 c 0.466995239258,1.93698120117 -0.735000610352,3.9049987793 -2.6720123291,4.37197875977"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_58"
+                android:translateX="237.73849"
+                android:translateY="223.06851" >
+                <path
+                    android:name="path_136"
+                    android:pathData="M -3.72099304199,-7.46350097656 c 0.0,0.0 0.0,0.0 0.0,0.0 c 1.93699645996,-0.467010498047 3.9049987793,0.734985351562 4.37199401855,2.67199707031 c 0.0,0.0 3.06999206543,12.7220001221 3.06999206543,12.7220001221"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round"
+                    android:strokeLineJoin="round" />
+            </group>
+            <group
+                android:name="group_57"
+                android:translateX="241.57028"
+                android:translateY="231.9614" >
+                <path
+                    android:name="path_137"
+                    android:pathData="M -0.297485351562,2.23350524902 c 0.0,0.0 1.8929901123,-0.0460052490234 1.8929901123,-0.0460052490234 c 0.0,0.0 -0.972991943359,-4.24699401855 -0.972991943359,-4.24699401855 c 0.0,0.0 -2.21800231934,-0.17399597168 -2.21800231934,-0.17399597168 c 0.0,0.0 1.29800415039,4.46699523926 1.29800415039,4.46699523926 Z"
+                    android:fillColor="#FFBCBCBC" />
+            </group>
+            <group
+                android:name="group_56"
+                android:translateX="242.53839"
+                android:translateY="235.60989" >
+                <path
+                    android:name="path_138"
+                    android:pathData="M -0.546493530273,1.4615020752 c 0.0,0.0 1.81199645996,0.0 1.81199645996,0.0 c 0.0,0.0 -0.638000488281,-2.9229888916 -0.638000488281,-2.9229888916 c 0.0,0.0 -1.89300537109,0.0459899902344 -1.89300537109,0.0459899902344 c 0.0,0.0 0.719009399414,2.87699890137 0.719009399414,2.87699890137 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_55"
+                android:translateX="183.93719"
+                android:translateY="276.80249" >
+                <path
+                    android:name="path_139"
+                    android:pathData="M 2.22351074219,-3.9375 c 0.0,0.0 -1.50401306152,0.363006591797 -1.50401306152,0.363006591797 c -1.93699645996,0.467010498047 -3.13899230957,2.43499755859 -2.67199707031,4.37200927734 c 0.466995239258,1.93698120117 2.43499755859,3.13998413086 4.37200927734,2.67300415039"
+                    android:strokeColor="#FFAC1356"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_54"
+                android:translateX="197.78931"
+                android:translateY="270.0593" >
+                <path
+                    android:name="path_140"
+                    android:pathData="M 11.6289978027,-2.80599975586 c 0.0,0.0 -23.2580108643,5.61199951172 -23.2580108643,5.61199951172"
+                    android:strokeColor="#FF9FA8DA"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_53"
+                android:translateX="213.9099"
+                android:translateY="266.1698" >
+                <path
+                    android:name="path_141"
+                    android:pathData="M 4.49150085449,-1.083984375 c 0.0,0.0 -8.98300170898,2.16799926758 -8.98300170898,2.16799926758"
+                    android:strokeColor="#FFAC1356"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_52"
+                android:translateX="225.29309"
+                android:translateY="263.91748" >
+                <path
+                    android:name="path_142"
+                    android:pathData="M 6.89151000977,1.57000732422 c 0.0,0.0 0.0,0.0 0.0,0.0 c -0.467010498047,-1.93698120117 -2.43501281738,-3.13998413086 -4.37200927734,-2.67199707031 c 0.0,0.0 -9.4109954834,2.27001953125 -9.4109954834,2.27001953125"
+                    android:strokeColor="#FF9FA8DA"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_51"
+                android:translateX="239.7717"
+                android:translateY="240.82242" >
+                <path
+                    android:name="path_143"
+                    android:pathData="M -7.62599182129,-24.8665161133 c 0.0,0.0 0.0,0.0 0.0,0.0 c 1.93699645996,-0.466995239258 3.9049987793,0.735000610352 4.37199401855,2.67199707031 c 0.0,0.0 10.4129943848,43.1560058594 10.4129943848,43.1560058594 c 0.467010498047,1.93698120117 -0.735000610352,3.90399169922 -2.67199707031,4.37200927734"
+                    android:strokeColor="#FFAC1356"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_50"
+                android:translateX="198.96228"
+                android:translateY="272.0209" >
+                <path
+                    android:name="path_144"
+                    android:pathData="M 4.82301330566,-7.95501708984 c 0.0,0.0 -14.3620147705,3.46499633789 -14.3620147705,3.46499633789 c -1.79899597168,0.435028076172 -3.10699462891,1.99603271484 -3.20098876953,3.84503173828 c -0.184005737305,3.59997558594 -0.220001220703,8.98199462891 1.23799133301,8.62997436523 c 0.0,0.0 21.0879974365,-5.08798217773 21.0879974365,-5.08798217773 c 0.272003173828,-0.0650024414062 0.537002563477,-0.175994873047 0.791000366211,-0.319000244141 c 2.17100524902,-1.2200012207 2.5830078125,-4.19799804688 1.03300476074,-6.14599609375 c 0.0,0.0 -2.32499694824,-2.92202758789 -2.32499694824,-2.92202758789 c -1.01499938965,-1.27597045898 -2.67700195312,-1.84698486328 -4.2619934082,-1.46499633789 Z"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_49"
+                android:translateX="231.28259"
+                android:translateY="263.7211" >
+                <path
+                    android:name="path_145"
+                    android:pathData="M -13.0109863281,1.3955078125 c 0.0,0.0 0.433990478516,-2.15798950195 0.433990478516,-2.15798950195 c 0.322006225586,-1.59802246094 1.54100036621,-2.86502075195 3.125,-3.24700927734 c 0.0,0.0 14.3619995117,-3.46499633789 14.3619995117,-3.46499633789 c 1.80000305176,-0.434005737305 3.67601013184,0.358978271484 4.60299682617,1.96099853516 c 1.80500793457,3.12100219727 4.29200744629,7.89398193359 2.8330078125,8.24600219727 c 0.0,0.0 -21.0870056152,5.08798217773 -21.0870056152,5.08798217773 c -0.272994995117,0.0660095214844 -0.558990478516,0.0880126953125 -0.849990844727,0.0769958496094 c -2.48899841309,-0.0959777832031 -4.2140045166,-2.55798339844 -3.72200012207,-4.99899291992 c 0.0,0.0 0.302001953125,-1.50299072266 0.302001953125,-1.50299072266 Z"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_48"
+                android:translateX="214.72168"
+                android:translateY="270.32391" >
+                <path
+                    android:name="path_146"
+                    android:pathData="M 1.83001708984,-3.49951171875 c 1.65399169922,1.01098632812 2.17498779297,3.17098999023 1.16398620605,4.82400512695 c -1.01098632812,1.65399169922 -3.17098999023,2.17498779297 -4.82398986816,1.16400146484 c -1.65400695801,-1.01000976562 -2.17500305176,-3.17001342773 -1.16400146484,-4.82400512695"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_47" >
+                <path
+                    android:name="path_147"
+                    android:pathData="M 287.80859375,66.6016082764 c 0.0,0.0 0.0,18.1800079346 0.0,18.1800079346"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_46"
+                android:translateX="334.98987"
+                android:translateY="203.125" >
+                <path
+                    android:name="path_148"
+                    android:pathData="M 17.531036377,50.2074890137 c 0.0,0.0 -3.54000854492,-11.0599975586 -3.54000854492,-11.0599975586 c 0.0,0.0 -0.343994140625,-1.07498168945 -0.343994140625,-1.07498168945 c 0.0,0.0 -0.0590209960938,0.0189819335938 -0.0590209960937,0.0189819335938 c 0.0,0.0 -24.9629821777,-77.9979858398 -24.9629821777,-77.9979858398 c 0.0130004882812,-0.0240020751953 0.031005859375,-0.0429992675781 0.0440063476563,-0.0680084228516 c 0.0,0.0 -5.75500488281,-12.2679901123 -5.75500488281,-12.2679901123 c 0.0,0.0 -0.311004638672,-0.662002563477 -0.311004638672,-0.662002563477 c -0.114013671875,-0.243011474609 -0.481018066406,-0.126007080078 -0.432006835938,0.138000488281 c 0.0,0.0 2.56900024414,14.049987793 2.56900024414,14.049987793 c 0.0249938964844,0.0120086669922 0.0509948730469,0.0180053710938 0.0750122070313,0.0290069580078 c 0.0,0.0 24.9629821777,77.9980010986 24.9629821777,77.9980010986 c 0.0,0.0 -0.0589904785156,0.0189971923828 -0.0589904785156,0.0189971923828 c 0.0,0.0 0.406982421875,1.2740020752 0.406982421875,1.2740020752 c 0.0,0.0 3.47601318359,10.8610076904 3.47601318359,10.8610076904 c 0.347991943359,1.08499145508 1.50900268555,1.68298339844 2.59298706055,1.33599853516 c 1.08502197266,-0.347015380859 1.68301391602,-1.50799560547 1.33602905273,-2.59301757812 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_45"
+                android:translateX="337.7182"
+                android:translateY="203.73911" >
+                <path
+                    android:name="path_149"
+                    android:pathData="M -13.8479919434,-43.2680053711 c 0.0,0.0 27.6959838867,86.5360107422 27.6959838867,86.5360107422"
+                    android:strokeColor="#FFFFA725"
+                    android:strokeWidth="4"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_44"
+                android:translateX="322.57709"
+                android:translateY="154.3035" >
+                <path
+                    android:name="path_150"
+                    android:pathData="M -0.654998779297,6.84649658203 c 0.0,0.0 0.0,0.0 0.0,0.0 c 0.0,0.0 -2.57000732422,-14.049987793 -2.57000732422,-14.049987793 c -0.0480041503906,-0.264007568359 0.319000244141,-0.381011962891 0.432983398438,-0.138000488281 c 0.0,0.0 6.06500244141,12.9309997559 6.06500244141,12.9309997559 c -0.736999511719,1.43199157715 -2.49600219727,1.99499511719 -3.92797851562,1.25698852539 Z"
+                    android:fillColor="#FFFFC928" />
+            </group>
+            <group
+                android:name="group_43"
+                android:translateX="320.23651"
+                android:translateY="148.5121" >
+                <path
+                    android:name="path_151"
+                    android:pathData="M -0.884002685547,-1.41200256348 c 0.0,0.0 0.585998535156,3.20500183105 0.585998535156,3.20500183105 c 0.434997558594,-0.0379943847656 0.853973388672,-0.171997070312 1.22998046875,-0.393997192383 c 0.0,0.0 -1.38400268555,-2.94898986816 -1.38400268555,-2.94898986816 c -0.113006591797,-0.243011474609 -0.47998046875,-0.126007080078 -0.431976318359,0.137985229492 Z"
+                    android:fillColor="#FF3D2722" />
+            </group>
+            <group
+                android:name="group_42"
+                android:translateX="351.12189"
+                android:translateY="245.9191" >
+                <path
+                    android:name="path_152"
+                    android:pathData="M 2.25552368164,6.74800109863 c 0.0,0.0 0.0,0.0 0.0,0.0 c -1.08502197266,0.34700012207 -2.24600219727,-0.250991821289 -2.59301757812,-1.33599853516 c 0.0,0.0 -3.60098266602,-11.25 -3.60098266602,-11.25 c 0.0,0.0 3.9289855957,-1.25700378418 3.9289855957,-1.25700378418 c 0.0,0.0 3.60101318359,11.25 3.60101318359,11.25 c 0.346984863281,1.08500671387 -0.251007080078,2.24600219727 -1.33599853516,2.59300231934 Z"
+                    android:fillColor="#FFFFCCBB" />
+            </group>
+            <group
+                android:name="group_41"
+                android:translateX="349.0827"
+                android:translateY="239.24802" >
+                <path
+                    android:name="path_153"
+                    android:pathData="M 2.18200683594,0.0519866943359 c 0.0,0.0 -3.9280090332,1.25700378418 -3.9280090332,1.25700378418 c 0.0,0.0 -0.436004638672,-1.36099243164 -0.436004638672,-1.36099243164 c 0.0,0.0 3.9280090332,-1.25700378418 3.9280090332,-1.25700378418 c 0.0,0.0 0.436004638672,1.36099243164 0.436004638672,1.36099243164 Z"
+                    android:fillColor="#FF6C4B41" />
+            </group>
+            <group
+                android:name="group_40"
+                android:translateX="337.90158"
+                android:translateY="80.51771" >
+                <path
+                    android:name="path_154"
+                    android:pathData="M -19.6254882812,18.9494934082 c 0.0,0.0 39.2509765625,-37.8989868164 39.2509765625,-37.8989868164"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_39"
+                android:translateX="323.21399"
+                android:translateY="71.2355" >
+                <path
+                    android:name="path_155"
+                    android:pathData="M -21.608001709,21.0269927979 c 0.0,0.0 43.2159729004,-42.0539855957 43.2159729004,-42.0539855957"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_38"
+                android:translateX="339.55511"
+                android:translateY="86.1674" >
+                <path
+                    android:name="path_156"
+                    android:pathData="M -24.6765136719,22.282989502 c 0.0,0.0 49.3529968262,-44.5659790039 49.3529968262,-44.5659790039"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_37"
+                android:translateX="318.99188"
+                android:translateY="73.26939" >
+                <path
+                    android:name="path_157"
+                    android:pathData="M 21.7635192871,0.0 c 0.0,12.0200042725 -9.74401855469,21.7630004883 -21.7630004883,21.7630004883 c -12.0200195312,0.0 -21.7640075684,-9.74299621582 -21.7640075684,-21.7630004883 c 0.0,-12.0199890137 9.74398803711,-21.7630004883 21.7640075684,-21.7630004883 c 12.0189819336,0.0 21.7630004883,9.74301147461 21.7630004883,21.7630004883 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_36"
+                android:translateX="356.10498"
+                android:translateY="49.94029" >
+                <path
+                    android:name="path_158"
+                    android:pathData="M 6.95852661133,-5.57550048828 c 0.0,0.0 -13.9170227051,11.1510009766 -13.9170227051,11.1510009766"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_35"
+                android:translateX="358.93549"
+                android:translateY="37.3089" >
+                <path
+                    android:name="path_159"
+                    android:pathData="M 7.08551025391,-6.94801330566 c 0.0,0.0 0.0,0.0 0.0,0.0 c 3.13497924805,3.91302490234 2.50497436523,9.62701416016 -1.40802001953,12.7630004883 c 0.0,0.0 -7.08599853516,5.67700195313 -7.08599853516,5.67700195313 c 0.0,0.0 -5.67700195312,-7.08599853516 -5.67700195312,-7.08599853516 c -3.13497924805,-3.91299438477 -2.50500488281,-9.62698364258 1.40802001953,-12.7619934082 c 3.91397094727,-3.13598632812 9.62799072266,-2.50500488281 12.7630004883,1.40798950195 Z"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_34"
+                android:translateX="369.01898"
+                android:translateY="50.20889" >
+                <path
+                    android:name="path_160"
+                    android:pathData="M 6.94802856445,7.08549499512 c 0.0,0.0 0.0,0.0 0.0,0.0 c -3.91302490234,3.13500976563 -9.62701416016,2.50500488281 -12.7630004883,-1.40798950195 c 0.0,0.0 -5.67700195312,-7.08599853516 -5.67700195312,-7.08599853516 c 0.0,0.0 7.08599853516,-5.67700195312 7.08599853516,-5.67700195312 c 3.91299438477,-3.13500976563 9.62698364258,-2.50500488281 12.7619934082,1.40802001953 c 3.13598632812,3.91397094727 2.50500488281,9.62799072266 -1.40798950195,12.7629699707 Z"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_33"
+                android:translateX="347.1142"
+                android:translateY="57.14432" >
+                <path
+                    android:name="path_161"
+                    android:pathData="M 1.4460144043,1.80448913574 c -0.997009277344,0.799011230469 -2.45202636719,0.638000488281 -3.25100708008,-0.358978271484 c -0.798004150391,-0.996002197266 -0.638000488281,-2.45199584961 0.358978271484,-3.25 c 0.997009277344,-0.799011230469 2.45202636719,-0.638000488281 3.25100708008,0.358001708984 c 0.798004150391,0.996978759766 0.638000488281,2.45199584961 -0.358978271484,3.2509765625 Z"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_32"
+                android:translateX="327.75482"
+                android:translateY="72.65591" >
+                <path
+                    android:name="path_162"
+                    android:pathData="M 17.066986084,-13.6750030518 c 0.0,0.0 -34.1340026855,27.3500061035 -34.1340026855,27.3500061035"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_31"
+                android:translateX="312.98431"
+                android:translateY="86.687" >
+                <path
+                    android:name="path_163"
+                    android:pathData="M 21.7634887695,0.0 c 0.0,12.0200042725 -9.74401855469,21.7630004883 -21.7630004883,21.7630004883 c -12.0200195312,0.0 -21.7640075684,-9.74299621582 -21.7640075684,-21.7630004883 c 0.0,-12.0199890137 9.74398803711,-21.7630004883 21.7640075684,-21.7630004883 c 12.0189819336,0.0 21.7630004883,9.74301147461 21.7630004883,21.7630004883 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_30"
+                android:translateX="309.10663"
+                android:translateY="77.5913" >
+                <path
+                    android:name="path_164"
+                    android:pathData="M -23.1700134277,11.5850067139 c 0.0,-12.796005249 10.3729858398,-23.1700134277 23.1699829102,-23.1700134277 c 12.7959899902,0.0 23.1700134277,10.3740081787 23.1700134277,23.1700134277"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_29"
+                android:translateX="309.10663"
+                android:translateY="58.75381" >
+                <path
+                    android:name="path_165"
+                    android:pathData="M -23.1700134277,11.5850067139 c 0.0,-12.7959899902 10.3729858398,-23.1700134277 23.1699829102,-23.1700134277 c 12.7959899902,0.0 23.1700134277,10.3740234375 23.1700134277,23.1700134277"
+                    android:strokeColor="#FF25A69A"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_28" >
+                <path
+                    android:name="path_166"
+                    android:pathData="M 332.276092529,70.3388061523 c 0.0,0.0 0.0,21.9240112305 0.0,21.9240112305"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_27"
+                android:translateX="334.69421"
+                android:translateY="32.41522" >
+                <path
+                    android:name="path_167"
+                    android:pathData="M -0.581512451172,2.37599182129 c 0.0,0.0 1.16299438477,-4.75198364258 1.16299438477,-4.75198364258"
+                    android:strokeColor="#FFAC1356"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_26"
+                android:translateX="333.67297"
+                android:translateY="36.58731" >
+                <path
+                    android:name="path_168"
+                    android:pathData="M -0.439971923828,1.79649353027 c 0.0,0.0 0.879974365234,-3.59298706055 0.879974365234,-3.59298706055"
+                    android:strokeColor="#FFF8BAD0"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_25"
+                android:translateX="325.75458"
+                android:translateY="68.9257" >
+                <path
+                    android:name="path_169"
+                    android:pathData="M -7.47848510742,30.5415039062 c 0.0,0.0 14.9569702148,-61.0830078125 14.9569702148,-61.0830078125"
+                    android:strokeColor="#FFEB4079"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_24"
+                android:translateX="309.10608"
+                android:translateY="100.76131" >
+                <path
+                    android:name="path_170"
+                    android:pathData="M 23.1700134277,-11.5850067139 c 0.0,12.796005249 -10.3730163574,23.1700134277 -23.1700134277,23.1700134277 c -12.7959899902,0.0 -23.1700134277,-10.3740081787 -23.1700134277,-23.1700134277"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_23" >
+                <path
+                    android:name="path_171"
+                    android:pathData="M 309.106414795,93.508605957 c 0.0,0.0 0.0,18.8380126953 0.0,18.8380126953"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_22"
+                android:translateX="312.10638"
+                android:translateY="28.77229" >
+                <path
+                    android:name="path_172"
+                    android:pathData="M 0.878021240234,-8.87350463867 c 0.0,0.0 -1.75601196289,17.7470092773 -1.75601196289,17.7470092773"
+                    android:strokeColor="#FF29B6F6"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_21"
+                android:translateX="304.14499"
+                android:translateY="17.22952" >
+                <path
+                    android:name="path_173"
+                    android:pathData="M 0.894012451172,-9.23551940918 c 0.0,0.0 0.0,0.0 0.0,0.0 c 4.98999023438,0.494018554688 8.63497924805,4.93902587891 8.14099121094,9.92901611328 c 0.0,0.0 -0.894012451172,9.03601074219 -0.894012451172,9.03601074219 c 0.0,0.0 -9.03500366211,-0.89501953125 -9.03500366211,-0.89501953125 c -4.98999023438,-0.493988037109 -8.63497924805,-4.93899536133 -8.14099121094,-9.9289855957 c 0.493988037109,-4.99002075195 4.93899536133,-8.63500976562 9.92901611328,-8.14102172852 Z"
+                    android:strokeColor="#FF29B6F6"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_20"
+                android:translateX="322.0152"
+                android:translateY="18.8177" >
+                <path
+                    android:name="path_174"
+                    android:pathData="M 9.23501586914,0.893981933594 c 0.0,0.0 0.0,0.0 0.0,0.0 c -0.494018554688,4.99002075195 -4.93902587891,8.63500976562 -9.92901611328,8.14102172852 c 0.0,0.0 -9.03500366211,-0.894012451172 -9.03500366211,-0.894012451172 c 0.0,0.0 0.894012451172,-9.03500366211 0.894012451172,-9.03500366211 c 0.493988037109,-4.98999023438 4.93899536133,-8.63497924805 9.9289855957,-8.14099121094 c 4.99002075195,0.493988037109 8.63500976562,4.93899536133 8.14102172852,9.9289855957 Z"
+                    android:strokeColor="#FF29B6F6"
+                    android:strokeWidth="3" />
+            </group>
+            <group
+                android:name="group_19"
+                android:translateX="310.97177"
+                android:translateY="40.23671" >
+                <path
+                    android:name="path_175"
+                    android:pathData="M 2.30102539062,0.227996826172 c -0.126007080078,1.27102661133 -1.25802612305,2.19900512695 -2.5290222168,2.07400512695 c -1.27099609375,-0.1259765625 -2.19900512695,-1.25900268555 -2.07400512695,-2.5299987793 c 0.126007080078,-1.26998901367 1.25900268555,-2.19900512695 2.5290222168,-2.07299804688 c 1.27099609375,0.126007080078 2.19998168945,1.25799560547 2.07400512695,2.52899169922 Z"
+                    android:strokeColor="#FFAFBDC5"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_18"
+                android:translateX="308.5282"
+                android:translateY="64.92371" >
+                <path
+                    android:name="path_176"
+                    android:pathData="M 2.15399169922,-21.7635040283 c 0.0,0.0 -4.30801391602,43.5270080566 -4.30801391602,43.5270080566"
+                    android:strokeColor="#FFAFBDC5"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_17"
+                android:translateX="313.12848"
+                android:translateY="63.88501" >
+                <path
+                    android:name="path_177"
+                    android:pathData="M -11.5224914551,28.3774871826 c 0.0,0.0 23.0449829102,-56.7549743652 23.0449829102,-56.7549743652"
+                    android:strokeColor="#FF7BB342"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_16"
+                android:translateX="292.9375"
+                android:translateY="72.78981" >
+                <path
+                    android:name="path_178"
+                    android:pathData="M -6.55151367188,-32.5065002441 c 0.0,0.0 13.1029968262,65.0130004883 13.1029968262,65.0130004883"
+                    android:strokeColor="#FF7985CA"
+                    android:strokeWidth="4"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_15"
+                android:translateX="286.02191"
+                android:translateY="35.6185" >
+                <path
+                    android:name="path_179"
+                    android:pathData="M -1.10400390625,4.99998474121 c 0.0,0.0 0.0,0.0 0.0,0.0 c 0.0,0.0 -0.72900390625,-10.3999938965 -0.72900390625,-10.3999938965 c -0.0140075683594,-0.194976806641 0.261993408203,-0.2509765625 0.324981689453,-0.0650024414062 c 0.0,0.0 3.35501098633,9.87002563477 3.35501098633,9.87002563477 c -0.649993896484,0.978973388672 -1.97201538086,1.24597167969 -2.95098876953,0.594970703125 Z"
+                    android:fillColor="#FFFFC928" />
+            </group>
+            <group
+                android:name="group_14"
+                android:translateX="284.7265"
+                android:translateY="31.28313" >
+                <path
+                    android:name="path_180"
+                    android:pathData="M -0.537994384766,-1.06451416016 c 0.0,0.0 0.165985107422,2.37200927734 0.165985107422,2.37200927734 c 0.319000244141,0.00799560546875 0.634002685547,-0.0559997558594 0.924011230469,-0.186004638672 c 0.0,0.0 -0.765014648438,-2.2509765625 -0.765014648438,-2.2509765625 c -0.06298828125,-0.186004638672 -0.338989257812,-0.130004882812 -0.324981689453,0.0649719238281 Z"
+                    android:fillColor="#FF3D2722" />
+            </group>
+            <group
+                android:name="group_13"
+                android:translateX="298.3139"
+                android:translateY="99.4672" >
+                <path
+                    android:name="path_181"
+                    android:pathData="M 1.87350463867,-0.00002 c 0.0,0.0 -3.60101318359,0.726028442383 -3.60101318359,0.726028442383 c 0.0,0.0 -0.14599609375,-0.726028442383 -0.14599609375,-0.726028442383 c 0.0,0.0 3.60098266602,-0.725997924805 3.60098266602,-0.725997924805 c 0.0,0.0 0.146026611328,0.725997924805 0.146026611328,0.725997924805 Z"
+                    android:fillColor="#FF6C4B41" />
+            </group>
+            <group
+                android:name="group_12"
+                android:translateX="299.94189"
+                android:translateY="44.6713" >
+                <path
+                    android:name="path_182"
+                    android:pathData="M 0.347015380859,1.46949768066 c 0.0,0.0 -0.694000244141,-2.93899536133 -0.694000244141,-2.93899536133"
+                    android:strokeColor="#FFE64918"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_11"
+                android:translateX="307.53629"
+                android:translateY="76.81532" >
+                <path
+                    android:name="path_183"
+                    android:pathData="M 7.24700927734,30.6744995117 c 0.0,0.0 -14.4940185547,-61.3489990234 -14.4940185547,-61.3489990234"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_10"
+                android:translateX="309.10608"
+                android:translateY="81.92381" >
+                <path
+                    android:name="path_184"
+                    android:pathData="M 23.1700134277,-11.5850067139 c 0.0,12.796005249 -10.3730163574,23.1700134277 -23.1700134277,23.1700134277 c -12.7959899902,0.0 -23.1700134277,-10.3740081787 -23.1700134277,-23.1700134277"
+                    android:strokeColor="#FF25A69A"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_9"
+                android:translateX="298.4115"
+                android:translateY="38.19463" >
+                <path
+                    android:name="path_185"
+                    android:pathData="M 1.18301391602,5.00698852539 c 0.0,0.0 -2.36602783203,-10.0139770508 -2.36602783203,-10.0139770508"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_8"
+                android:translateX="246.0289"
+                android:translateY="122.86301" >
+                <path
+                    android:name="path_186"
+                    android:pathData="M 2.16900634766,-0.574020385742 c 0.0,0.0 -0.997009277344,1.66102600098 -0.997009277344,1.66102600098 c 0.0,0.0 -3.34100341797,-0.513000488281 -3.34100341797,-0.513000488281 c 0.0,0.0 0.991012573242,-1.66101074219 0.991012573242,-1.66101074219 c 0.0,0.0 3.34700012207,0.512985229492 3.34700012207,0.512985229492 Z"
+                    android:fillColor="#FF00887A" />
+            </group>
+            <group
+                android:name="group_7"
+                android:translateX="296.58063"
+                android:translateY="250.63229" >
+                <path
+                    android:name="path_187"
+                    android:pathData="M 4.60598754883,-34.5234985352 c 0.0,0.0 -6.38201904297,6.38201904297 -6.38201904297,6.38201904297 c -2.91998291016,2.91998291016 -2.91998291016,7.65298461914 0.0,10.5719909668 c 0.0,0.0 12.2310180664,12.2310028076 12.2310180664,12.2310028076 c 2.91897583008,2.91999816895 7.65298461914,2.91999816895 10.5719909668,0.0 c 0.0,0.0 6.60400390625,-6.60301208496 6.60400390625,-6.60301208496 c 2.91900634766,-2.91998291016 2.91900634766,-7.65298461914 0.0,-10.5719909668 c -2.92001342773,-2.91999816895 -7.65301513672,-2.91999816895 -10.5720214844,0.0 c 0.0,0.0 -45.0059814453,45.0050048828 -45.0059814453,45.0050048828 c -2.60299682617,2.60299682617 -2.60299682617,6.82498168945 0.0,9.4280090332 c 2.60400390625,2.60397338867 6.82498168945,2.60397338867 9.4289855957,0.0 c 0.0,0.0 22.4640197754,-22.4630126953 22.4640197754,-22.4630126953"
+                    android:strokeColor="#FF00695C"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_6"
+                android:translateX="300.61017"
+                android:translateY="260.35001" >
+                <path
+                    android:name="path_188"
+                    android:pathData="M -0.513458251953,-4.49250793457 c 0.0,0.0 -3.98001098633,3.97999572754 -3.98001098633,3.97999572754 c -0.679016113281,0.679016113281 -0.679016113281,1.78100585938 0.0,2.46099853516 c 0.0,0.0 2.54498291016,2.54501342773 2.54498291016,2.54501342773 c 0.680023193359,0.678985595703 1.78201293945,0.678985595703 2.46200561523,0.0 c 0.0,0.0 3.97900390625,-3.98001098633 3.97900390625,-3.98001098633 c 0.679992675781,-0.679992675781 0.679992675781,-1.7809753418 0.0,-2.46099853516 c 0.0,0.0 -2.54498291016,-2.54499816895 -2.54498291016,-2.54499816895 c -0.680023193359,-0.679992675781 -1.78100585938,-0.679992675781 -2.46099853516,0.0 Z"
+                    android:fillColor="#FF00695C" />
+            </group>
+            <group
+                android:name="group_5"
+                android:translateX="305.367"
+                android:translateY="255.59322" >
+                <path
+                    android:name="path_189"
+                    android:pathData="M 0.338500976562,-3.4965057373 c 0.0,0.0 -3.83502197266,3.83499145508 -3.83502197266,3.83499145508 c 0.0,0.0 3.15802001953,3.15802001953 3.15802001953,3.15802001953 c 0.0,0.0 3.83499145508,-3.83502197266 3.83499145508,-3.83502197266 c 0.0,0.0 -3.15798950195,-3.15798950195 -3.15798950195,-3.15798950195 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_4"
+                android:translateX="306.46149"
+                android:translateY="255.7489" >
+                <path
+                    android:name="path_190"
+                    android:pathData="M 0.33251953125,-0.633499145508 c 0.0,0.0 -0.966003417969,0.966018676758 -0.966003417969,0.966018676758 c 0.0,0.0 0.300994873047,0.300994873047 0.300994873047,0.300994873047 c 0.0,0.0 0.966003417969,-0.966003417969 0.966003417969,-0.966003417969 c 0.0,0.0 -0.300994873047,-0.301010131836 -0.300994873047,-0.301010131836 Z"
+                    android:fillColor="#FF2F3E9F" />
+            </group>
+            <group
+                android:name="group_3"
+                android:translateX="305.21143"
+                android:translateY="254.49881" >
+                <path
+                    android:name="path_191"
+                    android:pathData="M 0.332489013672,-0.633514404297 c 0.0,0.0 -0.966003417969,0.966003417969 -0.966003417969,0.966003417969 c 0.0,0.0 0.300994873047,0.301010131836 0.300994873047,0.301010131836 c 0.0,0.0 0.966003417969,-0.966003417969 0.966003417969,-0.966003417969 c 0.0,0.0 -0.300994873047,-0.301010131836 -0.300994873047,-0.301010131836 Z"
+                    android:fillColor="#FF2F3E9F" />
+            </group>
+            <group
+                android:name="group_2"
+                android:translateX="302.07471"
+                android:translateY="215.1857" >
+                <path
+                    android:name="path_192"
+                    android:pathData="M -0.662994384766,-2.38800048828 c 0.0,0.0 -1.72500610352,1.72500610352 -1.72500610352,1.72500610352 c -0.365020751953,0.364990234375 -0.365020751953,0.955993652344 0.0,1.32099914551 c 0.0,0.0 1.72998046875,1.72999572754 1.72998046875,1.72999572754 c 0.364013671875,0.365005493164 0.956024169922,0.365005493164 1.3210144043,0.0 c 0.0,0.0 1.72500610352,-1.72500610352 1.72500610352,-1.72500610352 c 0.364990234375,-0.364990234375 0.364990234375,-0.957000732422 0.0,-1.32098388672 c 0.0,0.0 -1.73001098633,-1.73001098633 -1.73001098633,-1.73001098633 c -0.364990234375,-0.364990234375 -0.955993652344,-0.364990234375 -1.32098388672,0.0 Z"
+                    android:fillColor="#FF00695C" />
+            </group>
+            <group
+                android:name="group_1"
+                android:translateX="304.42151"
+                android:translateY="212.83881" >
+                <path
+                    android:name="path_193"
+                    android:pathData="M -0.0494995117188,-1.69700622559 c 0.0,0.0 -1.64700317383,1.64700317383 -1.64700317383,1.64700317383 c 0.0,0.0 1.74600219727,1.74699401855 1.74600219727,1.74699401855 c 0.0,0.0 1.64697265625,-1.64799499512 1.64697265625,-1.64799499512 c 0.0,0.0 -1.74597167969,-1.74600219727 -1.74597167969,-1.74600219727 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+        </group>
+    </group>
+    <group
+        android:name="personl"
+        android:translateX="199.5742"
+        android:translateY="166.06351" >
+        <group
+            android:name="personl_pivot"
+            android:translateX="-162.1243"
+            android:translateY="-145.1315" >
+            <clip-path
+                android:name="mask_1"
+                android:pathData="M 376.113891602,-19.3258056641 c 0.0,0.0 0.0859985351562,-0.0126953125 0.085998535157,-0.0126953125 c 0.0,0.0 -0.00787353515625,334.36730957 -0.00787353515699,334.36730957 c 0.0,0.0 -0.0859375,0.0126953125 -0.0859375,0.0126953125 c 0.0,0.0 0.0078125,-334.36730957 0.0078125,-334.36730957 Z" />
+            <group
+                android:name="bg"
+                android:translateX="168"
+                android:translateY="147" >
+                <path
+                    android:name="rectangle_path_1"
+                    android:fillColor="#FFFFFFFF"
+                    android:pathData="M -206.0,-168.0 l 412.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,336.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l -412.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,-336.0 c 0.0,0.0 0.0,0.0 0.0,0.0 Z" />
+            </group>
+            <group
+                android:name="group_237"
+                android:translateX="244.12978"
+                android:translateY="29.41582" >
+                <path
+                    android:name="path_194"
+                    android:pathData="M -9.83749389648,17.7334747314 c 0.0,0.0 2.0119934082,0.799011230469 2.0119934082,0.799011230469 c 1.79598999023,0.713012695312 3.83099365234,-0.164001464844 4.54400634766,-1.96099853516 c 0.0,0.0 12.4059753418,-31.2730102539 12.4059753418,-31.2730102539 c 0.713012695312,-1.79699707031 -0.164001464844,-3.83099365234 -1.96099853516,-4.54397583008"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_236"
+                android:translateX="211.50519"
+                android:translateY="24.33911" >
+                <path
+                    android:name="path_195"
+                    android:pathData="M -17.4804992676,-1.39651489258 c 0.0,0.0 -1.2020111084,-0.536987304688 -1.2020111084,-0.536987304688 c -1.55000305176,-0.691009521484 -2.25099182129,-2.52499389648 -1.55999755859,-4.07400512695 c 0.692001342773,-1.54898071289 2.52499389648,-2.25100708008 4.07499694824,-1.55899047852 c 0.0,0.0 35.0089874268,14.3800048828 37.1009979248,15.825012207"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_235"
+                android:translateX="213.24078"
+                android:translateY="33.33778" >
+                <path
+                    android:name="path_196"
+                    android:pathData="M -3.59199523926,-1.60350036621 c 0.0,0.0 7.18399047852,3.20700073242 7.18399047852,3.20700073242"
+                    android:strokeColor="#FFDFDFDF"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_234"
+                android:translateX="225.94289"
+                android:translateY="44.07761" >
+                <path
+                    android:name="path_197"
+                    android:pathData="M 6.81951904297,7.30249023438 c 3.76898193359,-0.0359802246094 5.99197387695,-5.74099731445 3.79699707031,-6.7209777832 c 0.0,0.0 -11.2150268555,-4.96002197266 -16.075012207,-7.11001586914 c -1.69000244141,-0.747985839844 -3.50698852539,-0.809997558594 -4.56399536133,-0.115997314453 c -1.75900268555,1.15399169922 -2.78900146484,3.30401611328 -1.38299560547,5.64099121094 c 1.9700012207,3.27700805664 14.4559936523,8.34201049805 18.2250061035,8.30599975586 Z"
+                    android:fillColor="#FFDFDFDF" />
+            </group>
+            <group
+                android:name="group_233"
+                android:translateX="200.25549"
+                android:translateY="33.0009" >
+                <path
+                    android:name="path_198"
+                    android:pathData="M -9.33149719238,-0.231521606445 c -2.39401245117,-2.708984375 0.24299621582,-7.91998291016 2.3509979248,-6.97897338867 c 0.0,0.0 10.7339935303,4.83697509766 15.3860015869,6.93298339844 c 1.61799621582,0.727996826172 2.82899475098,1.98300170898 3.01300048828,3.17700195312 c 0.306991577148,1.9880065918 -0.563003540039,4.08898925781 -3.13101196289,4.57299804688 c -3.59899902344,0.679016113281 -15.2249908447,-4.99499511719 -17.6189880371,-7.70401000977 Z"
+                    android:fillColor="#FFDFDFDF" />
+            </group>
+            <group
+                android:name="group_232"
+                android:translateX="200.2572"
+                android:translateY="60.1833" >
+                <path
+                    android:name="path_199"
+                    android:pathData="M 29.9145050049,-10.4465179443 c 5.42098999023,15.5230255127 -3.57800292969,32.7840270996 -20.0990142822,38.5540161133 c -16.5209960938,5.76901245117 -34.3089904785,-2.13800048828 -39.7299957275,-17.6609954834 c -5.42098999023,-15.5229949951 3.57800292969,-32.7840118408 20.0989990234,-38.5529937744 c 16.5210113525,-5.77001953125 34.3089904785,2.1369934082 39.7300109863,17.6599731445 Z"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_231"
+                android:translateX="244.52998"
+                android:translateY="26.76041" >
+                <path
+                    android:name="path_200"
+                    android:pathData="M -8.66448974609,14.7609863281 c 0.0,0.0 2.0119934082,0.799011230469 2.0119934082,0.799011230469 c 1.79598999023,0.713012695312 3.83099365234,-0.164001464844 4.54400634766,-1.96099853516 c 0.0,0.0 10.0589904785,-25.3280029297 10.0589904785,-25.3280029297 c 0.713989257812,-1.79598999023 -0.164001464844,-3.83099365234 -1.95999145508,-4.54400634766"
+                    android:strokeColor="#FF8D6D62"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_230"
+                android:translateX="211.39609"
+                android:translateY="23.76099" >
+                <path
+                    android:name="path_201"
+                    android:pathData="M -17.8199920654,-1.47250366211 c 0.0,0.0 -1.2020111084,-0.536987304688 -1.2020111084,-0.536987304687 c -1.55000305176,-0.691009521484 -2.25099182129,-2.52499389648 -1.55999755859,-4.07400512695 c 0.692001342773,-1.54898071289 2.52499389648,-2.25100708008 4.07499694824,-1.55899047852 c 0.0,0.0 35.6260070801,12.316986084 35.6260070801,12.316986084 c 1.4469909668,0.575012207031 2.15399169922,2.21401977539 1.57998657227,3.66000366211"
+                    android:strokeColor="#FF8D6D62"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_229"
+                android:translateX="211.92339"
+                android:translateY="33.52419" >
+                <path
+                    android:name="path_202"
+                    android:pathData="M -3.59199523926,-1.60350036621 c 0.0,0.0 7.18399047852,3.20700073242 7.18399047852,3.20700073242"
+                    android:strokeColor="#FF8D6D62"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_228"
+                android:translateX="226.0376"
+                android:translateY="39.92271" >
+                <path
+                    android:name="path_203"
+                    android:pathData="M 5.41700744629,8.6104888916 c 3.99597167969,-0.880981445312 7.60098266602,-9.65197753906 5.49398803711,-10.5929870605 c 0.0,0.0 -10.7780151367,-4.7389831543 -15.4479980469,-6.79400634766 c -1.625,-0.714996337891 -3.53399658203,-0.406005859375 -4.80400085449,0.8330078125 c -2.11499023438,2.06298828125 -3.67700195312,5.41101074219 -2.70300292969,8.49600219727 c 1.36500549316,4.32501220703 13.4650115967,8.93899536133 17.4610137939,8.05798339844 Z"
+                    android:fillColor="#FFA0877E" />
+            </group>
+            <group
+                android:name="group_227"
+                android:translateX="226.0376"
+                android:translateY="39.92271" >
+                <path
+                    android:name="path_204"
+                    android:pathData="M 5.41700744629,8.6104888916 c 3.99597167969,-0.880981445312 7.60098266602,-9.65197753906 5.49398803711,-10.5929870605 c 0.0,0.0 -10.7780151367,-4.7389831543 -15.4479980469,-6.79400634766 c -1.625,-0.714996337891 -3.53399658203,-0.406005859375 -4.80400085449,0.8330078125 c -2.11499023438,2.06298828125 -3.67700195312,5.41101074219 -2.70300292969,8.49600219727 c 1.36500549316,4.32501220703 13.4650115967,8.93899536133 17.4610137939,8.05798339844 Z"
+                    android:strokeColor="#FF6C4B41"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_226"
+                android:translateX="200.55598"
+                android:translateY="28.91542" >
+                <path
+                    android:name="path_205"
+                    android:pathData="M -10.1194915771,1.30598449707 c -2.01200866699,-3.56298828125 2.11099243164,-12.1029968262 4.21899414062,-11.1629943848 c 0.0,0.0 10.7229919434,4.86001586914 15.3710021973,6.96600341797 c 1.61700439453,0.731994628906 2.6609954834,2.35900878906 2.58699035645,4.13201904297 c -0.122985839844,2.95199584961 -1.57299804688,6.34997558594 -4.51998901367,7.68499755859 c -4.13200378418,1.87100219727 -15.6450042725,-4.05700683594 -17.6569976807,-7.62002563477 Z"
+                    android:fillColor="#FFA0877E" />
+            </group>
+            <group
+                android:name="group_225"
+                android:translateX="200.55598"
+                android:translateY="28.91542" >
+                <path
+                    android:name="path_206"
+                    android:pathData="M -10.1194915771,1.30598449707 c -2.01200866699,-3.56298828125 2.11099243164,-12.1029968262 4.21899414062,-11.1629943848 c 0.0,0.0 10.7229919434,4.86001586914 15.3710021973,6.96600341797 c 1.61700439453,0.731994628906 2.6609954834,2.35900878906 2.58699035645,4.13201904297 c -0.122985839844,2.95199584961 -1.57299804688,6.34997558594 -4.51998901367,7.68499755859 c -4.13200378418,1.87100219727 -15.6450042725,-4.05700683594 -17.6569976807,-7.62002563477 Z"
+                    android:strokeColor="#FF6C4B41"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_224"
+                android:translateX="222.13239"
+                android:translateY="42.03729" >
+                <path
+                    android:name="path_207"
+                    android:pathData="M -8.13899230957,-1.56201171875 c 1.30198669434,4.125 12.3599853516,8.50701904297 16.8489990234,8.14202880859 c -3.16000366211,-5.14401245117 -7.76202392578,-9.48602294922 -13.5860137939,-12.3350219727 c -0.908996582031,-0.444976806641 -1.82998657227,-0.835998535156 -2.75698852539,-1.19000244141 c -0.773010253906,1.67700195312 -1.0770111084,3.57400512695 -0.505996704102,5.38299560547 Z"
+                    android:fillColor="#FFD6CCC7" />
+            </group>
+            <group
+                android:name="group_223"
+                android:translateX="203.11969"
+                android:translateY="35.84052" >
+                <path
+                    android:name="path_208"
+                    android:pathData="M 4.97351074219,2.0009765625 c 1.63198852539,-0.738983154297 2.78898620605,-2.11898803711 3.53099060059,-3.6969909668 c -5.67100524902,-1.58898925781 -11.5279998779,-1.58700561523 -17.0090026855,-0.184997558594 c 4.33200073242,2.77700805664 10.6430053711,5.166015625 13.478012085,3.88198852539 Z"
+                    android:fillColor="#FFD6CCC7" />
+            </group>
+            <group
+                android:name="group_222"
+                android:translateX="179.2258"
+                android:translateY="50.3584" >
+                <path
+                    android:name="path_209"
+                    android:pathData="M 18.875,18.2630004883 c 0.0,0.0 -23.183013916,-32.9709777832 -23.183013916,-32.9709777832 c 0.0,0.0 -14.566986084,-3.55502319336 -14.566986084,-3.55502319336"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_221"
+                android:translateX="280.98758"
+                android:translateY="123.66979" >
+                <path
+                    android:name="path_210"
+                    android:pathData="M 43.0110168457,35.983505249 c 0.0,0.0 -65.7290039062,15.2870025635 -65.7290039062,15.2870025635 c 0.0,0.0 -20.2930145264,-87.2540130615 -20.2930145264,-87.2540130615 c 0.0,0.0 65.728012085,-15.2870025635 65.728012085,-15.2870025635 c 0.0,0.0 20.2940063477,87.2540130615 20.2940063477,87.2540130615 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_220"
+                android:translateX="276.85818"
+                android:translateY="134.1066" >
+                <path
+                    android:name="path_211"
+                    android:pathData="M 43.4450378418,35.233001709 c 0.0,0.0 -63.3810424805,14.7410125732 -63.3810424805,14.7410125732 c -2.58699035645,0.601989746094 -5.17198181152,-1.00801086426 -5.77299499512,-3.5950012207 c 0.0,0.0 -17.7579956055,-76.3510131836 -17.7579956055,-76.3510131836 c -0.601989746094,-2.58699035645 1.00799560547,-5.17199707031 3.5950012207,-5.77398681641 c 0.0,0.0 63.3800201416,-14.7410125732 63.3800201416,-14.7410125732 c 0.385009765625,-0.0889892578125 0.768981933594,0.150009155273 0.859008789062,0.535003662109 c 0.0,0.0 19.6129760742,84.3260040283 19.6129760742,84.3260040283 c 0.0889892578125,0.384994506836 -0.150024414062,0.770004272461 -0.534973144531,0.858993530274 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_219"
+                android:translateX="279.80258"
+                android:translateY="123.3569" >
+                <path
+                    android:name="path_212"
+                    android:pathData="M 42.8810119629,35.4250030518 c 0.0,0.0 -65.7290039062,15.2870025635 -65.7290039062,15.2870025635 c 0.0,0.0 -20.0330047607,-86.137008667 -20.0330047607,-86.137008667 c 0.0,0.0 65.728012085,-15.2870025635 65.728012085,-15.2870025635 c 0.0,0.0 20.033996582,86.137008667 20.033996582,86.137008667 Z"
+                    android:fillColor="#FFFFD44F" />
+            </group>
+            <group
+                android:name="group_218"
+                android:translateX="279.009"
+                android:translateY="128.79901" >
+                <path
+                    android:name="path_213"
+                    android:pathData="M 21.3730163574,-45.183013916 c 0.0,0.0 -61.1560211182,14.2240142822 -61.1560211182,14.2240142822 c 0.0,0.0 17.729019165,76.2289886475 17.729019165,76.2289886475 c 0.0,0.0 61.8369750977,-14.3820037842 61.8369750977,-14.3820037842 c 0.0,0.0 -17.5709838867,-75.5479888916 -17.5709838867,-75.5479888916 c -0.0870361328125,-0.376998901367 -0.463012695312,-0.610000610352 -0.838989257812,-0.523010253906 Z"
+                    android:fillColor="#FFFAC02C" />
+            </group>
+            <group
+                android:name="group_217"
+                android:translateX="273.69327"
+                android:translateY="135.2587" >
+                <path
+                    android:name="path_214"
+                    android:pathData="M 43.0274963379,33.3439941406 c 0.0,0.0 -63.4999847412,14.7690124512 -63.4999847412,14.7690124512 c -2.5299987793,0.587997436523 -5.05700683594,-0.985000610352 -5.64501953125,-3.51499938965 c 0.0,0.0 -16.9320068359,-72.7980041504 -16.9320068359,-72.7980041504 c -0.587982177734,-2.52900695801 0.985015869141,-5.05700683594 3.51501464844,-5.64500427246 c 0.0,0.0 63.4999847412,-14.7689971924 63.4999847412,-14.7689971924 c 0.376037597656,-0.0870056152344 0.752014160156,0.147003173828 0.840026855469,0.522994995117 c 0.0,0.0 18.7449951172,80.5960083008 18.7449951172,80.5960083008 c 0.0869750976562,0.375991821289 -0.147033691406,0.751998901367 -0.523010253906,0.838989257812 Z"
+                    android:fillColor="#FF90C9F8" />
+            </group>
+            <group
+                android:name="group_216"
+                android:translateX="281.87991"
+                android:translateY="170.83771" >
+                <path
+                    android:name="path_215"
+                    android:pathData="M 33.2405090332,-3.92901611328 c 0.0,0.0 -61.7920379639,14.3720092773 -61.7920379639,14.3720092773 c -1.89398193359,0.440002441406 -3.78598022461,-0.738006591797 -4.22698974609,-2.63200378418 c 0.0,0.0 -0.0220031738281,-0.0950012207031 -0.0220031738281,-0.0950012207031 c -0.440002441406,-1.89399719238 0.738006591797,-3.78700256348 2.63198852539,-4.22698974609 c 0.0,0.0 61.7920379639,-14.3720092773 61.7920379639,-14.3720092773 c 0.0,0.0 1.61700439453,6.95399475098 1.61700439453,6.95399475098 Z"
+                    android:fillColor="#FFFFFCE7" />
+            </group>
+            <group
+                android:name="group_215"
+                android:translateX="274.9603"
+                android:translateY="127.0449" >
+                <path
+                    android:name="path_216"
+                    android:pathData="M -20.4589996338,9.29750061035 c 0.0,0.0 42.921005249,-9.9820098877 42.921005249,-9.9820098877 c 0.0,0.0 -2.00299072266,-8.61299133301 -2.00299072266,-8.61299133301 c 0.0,0.0 -42.9210357666,9.9820098877 -42.9210357666,9.9820098877 c 0.0,0.0 2.00302124023,8.61299133301 2.00302124023,8.61299133301 Z"
+                    android:fillColor="#FFFFFCE7" />
+            </group>
+            <group
+                android:name="group_214"
+                android:translateX="245.77206"
+                android:translateY="135.40799" >
+                <path
+                    android:name="path_217"
+                    android:pathData="M 6.30201721191,34.824005127 c 0.0,0.0 0.0,0.0 0.0,0.0 c 2.08999633789,-0.485992431641 3.38998413086,-2.57398986816 2.90399169922,-4.66398620605 c 0.0,0.0 -15.1140136719,-64.9840087891 -15.1140136719,-64.9840087891 c 0.0,0.0 -3.78399658203,0.880004882812 -3.78399658203,0.880004882812 c 0.0,0.0 15.9940185547,68.7679901123 15.9940185547,68.7679901123 Z"
+                    android:fillColor="#FF63B5F6" />
+            </group>
+            <group
+                android:name="group_213"
+                android:translateX="55.27999"
+                android:translateY="228.4756" >
+                <path
+                    android:name="path_218"
+                    android:pathData="M 34.5805053711,-33.7230072021 c 0.0,0.0 -0.858001708984,-0.856994628906 -0.858001708984,-0.856994628906 c 0.0,0.0 -1.41400146484,1.41299438477 -1.41400146484,1.41299438477 c 0.0,0.0 -6.41799926758,0.0 -6.41799926758,0.0 c 0.0,0.0 0.0,1.21301269531 0.0,1.21301269531 c 0.0,0.0 5.20599365234,0.0 5.20599365234,0.0 c 0.0,0.0 -0.382995605469,0.381988525391 -0.382995605469,0.381988525391 c 0.0,0.0 -0.0360107421875,0.0 -0.0360107421875,0.0 c 0.0,0.0 0.0,0.0370025634766 0.0,0.0370025634765 c 0.0,0.0 -4.67698669434,4.67601013184 -4.67698669434,4.67601013184 c 0.0,0.0 -0.00100708007812,0.0 -0.0010070800782,0.0 c 0.0,0.0 -0.186004638672,0.186981201172 -0.186004638672,0.186981201172 c 0.0,0.0 -0.0359954833984,0.0 -0.0359954833985,0.0 c 0.0,0.0 0.0,0.0350036621094 0.0,0.0350036621094 c 0.0,0.0 -8.03799438477,8.03900146484 -8.03799438477,8.03900146484 c 0.0,0.0 -6.41900634766,0.0 -6.41900634766,0.0 c 0.0,0.0 0.0,1.21301269531 0.0,1.21301269531 c 0.0,0.0 5.20600891113,0.0 5.20600891113,0.0 c 0.0,0.0 -0.299011230469,0.298980712891 -0.299011230469,0.298980712891 c 0.0,0.0 -4.09899902344,4.09800720215 -4.09899902344,4.09800720215 c 0.0,0.0 -0.0349884033203,0.0 -0.0349884033203,0.0 c 0.0,0.0 0.0,0.0359954833984 0.0,0.0359954833985 c 0.0,0.0 -0.752014160156,0.751007080078 -0.752014160156,0.751007080078 c 0.0,0.0 -3.65699768066,3.65798950195 -3.65699768066,3.65798950195 c 0.0,0.0 -1.69299316406,0.0 -1.69299316406,0.0 c -5.13299560547,-3.88800048828 -12.4700012207,-3.50399780273 -17.1510009766,1.17700195312 c 0.0,0.0 5.04899597168,5.05001831055 5.04899597168,5.05001831055 c 1.67199707031,1.67199707031 4.08500671387,2.12098693848 6.17700195312,1.39099121094 c 0.0,0.0 -0.354995727539,0.354995727539 -0.354995727539,0.354995727539 c 0.0,0.0 -0.0359954833984,0.0 -0.0359954833984,0.0 c 0.0,0.0 0.0,0.0359954833984 0.0,0.0359954833984 c 0.0,0.0 -6.25801086426,6.25799560547 -6.25801086426,6.25799560547 c -3.20399475098,-2.9889831543 -7.3450012207,-4.64398193359 -11.7489929199,-4.64398193359 c -3.86000061035,0.0 -7.51800537109,1.27398681641 -10.5220031738,3.59799194336 c -0.742004394531,-1.89700317383 -2.81399536133,-1.75900268555 -3.3219909668,0.467010498047 c -2.40501403809,0.548980712891 -2.40501403809,2.94299316406 0.0,3.49198913574 c 0.547988891602,2.4049987793 2.94198608398,2.4049987793 3.49099731445,0.0 c 2.08699035645,-0.477005004883 2.35699462891,-2.33999633789 0.81999206543,-3.1840057373 c 2.74600219727,-2.04098510742 6.04899597168,-3.16000366211 9.53300476074,-3.16000366211 c 2.88499450684,0.0 5.64500427246,0.772003173828 8.06999206543,2.19100952148 c -3.66600036621,-0.174987792969 -8.47499084473,1.91101074219 -12.9290008545,5.80799865723 c -0.766998291016,-1.81900024414 -2.79399108887,-1.65400695801 -3.29499816895,0.543991088867 c -2.4049987793,0.548004150391 -2.4049987793,2.94201660156 0.0,3.49101257324 c 0.548004150391,2.4049987793 2.94200134277,2.4049987793 3.49099731445,0.0 c 2.12699890137,-0.48600769043 2.36500549316,-2.41000366211 0.728012084961,-3.22801208496 c 5.57299804688,-4.81399536133 11.7630004883,-6.73397827148 14.8029937744,-4.49398803711 c 0.0,0.0 -9.67900085449,9.67900085449 -9.67900085449,9.67900085449 c -0.792999267578,-1.7320098877 -2.77000427246,-1.53401184082 -3.26399230957,0.630996704102 c -2.4049987793,0.549011230469 -2.4049987793,2.94299316406 0.0,3.49099731445 c 0.54899597168,2.4049987793 2.94299316406,2.4049987793 3.49099731445,0.0 c 2.16499328613,-0.493988037109 2.36299133301,-2.47099304199 0.630996704102,-3.26399230957 c 0.0,0.0 9.67999267578,-9.68000793457 9.67999267578,-9.68000793457 c 1.09700012207,1.49899291992 1.21900939941,3.82699584961 0.316009521484,6.66101074219 c -0.856002807617,2.68499755859 -2.54299926758,5.51399230957 -4.81100463867,8.14199829102 c -0.817993164062,-1.63600158691 -2.74299621582,-1.39801025391 -3.22799682617,0.728988647461 c -2.4049987793,0.54899597168 -2.4049987793,2.94300842285 0.0,3.49101257324 c 0.54899597168,2.4049987793 2.94299316406,2.4049987793 3.49099731445,0.0 c 2.19900512695,-0.501007080078 2.3630065918,-2.52900695801 0.542007446289,-3.29501342773 c 2.43199157715,-2.78799438477 4.24299621582,-5.8159942627 5.16198730469,-8.69898986816 c 0.495010375977,-1.55200195312 0.693008422852,-2.97801208496 0.634002685547,-4.25199890137 c 1.42700195312,2.43099975586 2.20401000977,5.19799804688 2.20401000977,8.09199523926 c 0.0,3.48300170898 -1.1190032959,6.78700256348 -3.16000366211,9.53199768066 c -0.843002319336,-1.5359954834 -2.70700073242,-1.26599121094 -3.18299865723,0.821014404297 c -2.40400695801,0.548980712891 -2.40400695801,2.94299316406 0.0,3.49099731445 c 0.54899597168,2.4049987793 2.94299316406,2.4049987793 3.49198913574,0.0 c 2.22601318359,-0.507019042969 2.36401367188,-2.58001708984 0.467010498047,-3.32202148438 c 2.32398986816,-3.00399780273 3.59799194336,-6.66098022461 3.59799194336,-10.521987915 c 0.0,-4.4049987793 -1.6549987793,-8.54600524902 -4.64399719238,-11.7490081787 c 0.0,0.0 5.40000915527,-5.39999389648 5.40000915527,-5.39999389648 c 0.0,0.0 0.0,4.91799926758 0.0,4.91799926758 c 0.0,0.0 1.21398925781,0.0 1.21398925781,0.0 c 0.0,0.0 0.0,-6.13198852539 0.0,-6.13198852539 c 0.0,0.0 11.2040100098,-11.2050170898 11.2040100098,-11.2050170898 c 0.0,0.0 0.0,4.91900634766 0.0,4.91900634766 c 0.0,0.0 1.21398925781,0.0 1.21398925781,0.0 c 0.0,0.0 0.0,-6.13299560547 0.0,-6.13299560547 c 0.0,0.0 3.77900695801,-3.77799987793 3.77900695801,-3.77799987793 c 0.0,0.0 3.14498901367,-3.14500427246 3.14498901367,-3.14500427246 c -0.730987548828,2.09201049805 -0.280990600586,4.50500488281 1.39100646973,6.17700195312 c 0.0,0.0 5.04899597168,5.05000305176 5.04899597168,5.05000305176 c 4.97100830078,-4.97099304199 5.09700012207,-12.9340057373 0.408004760742,-18.0749969482 c 0.0,0.0 3.59799194336,-3.59799194336 3.59799194336,-3.59799194336 c 0.0,0.0 0.0,4.91799926758 0.0,4.91799926758 c 0.0,0.0 1.2140045166,0.0 1.2140045166,0.0 c 0.0,0.0 0.0,-6.13201904297 0.0,-6.13201904297 c 0.0,0.0 2.68901062012,-2.68899536133 2.68901062012,-2.68899536133 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_212"
+                android:translateX="76.08128"
+                android:translateY="242.9227" >
+                <path
+                    android:name="path_219"
+                    android:pathData="M 5.166015625,0.137496948242 c 0.0,0.0 -0.667007446289,5.73500061035 -0.667007446289,5.73500061035 c 0.0,0.0 -0.00100708007812,0.0 -0.00100708007813,0.0 c -5.80999755859,-0.675994873047 -9.97200012207,-5.93399047852 -9.29600524902,-11.7449951172 c 0.0,0.0 5.73600769043,0.667999267578 5.73600769043,0.667999267578 c 2.64199829102,0.307006835938 4.53601074219,2.69900512695 4.22801208496,5.34199523926 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_211"
+                android:translateX="30.46169"
+                android:translateY="209.34779" >
+                <path
+                    android:name="path_220"
+                    android:pathData="M -3.32899475098,-6.40901184082 c 0.0,0.0 7.34199523926,-3.92398071289 7.34199523926,-3.92398071289 c 3.9759979248,7.43798828125 1.16899108887,16.6900024414 -6.26899719238,20.6659851074 c 0.0,0.0 -3.92399597168,-7.34100341797 -3.92399597168,-7.34100341797 c -1.8090057373,-3.38398742676 -0.532012939453,-7.59298706055 2.8509979248,-9.40100097656 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_210"
+                android:translateX="81.7021"
+                android:translateY="184.4523" >
+                <path
+                    android:name="path_221"
+                    android:pathData="M 1.07150268555,3.74099731445 c 0.0,0.0 -4.91600036621,0.772003173828 -4.91600036621,0.772003173828 c -0.666000366211,-4.2380065918 2.23098754883,-8.21299743652 6.46800231934,-8.87800598145 c 0.0,0.0 0.942001342773,-0.147994995117 0.942001342773,-0.147994995117 c 0.0,0.0 0.623992919922,3.97399902344 0.623992919922,3.97399902344 c 0.320999145508,2.04299926758 -1.07499694824,3.958984375 -3.11799621582,4.2799987793 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_209"
+                android:translateX="34.52299"
+                android:translateY="93.27171" >
+                <path
+                    android:name="path_222"
+                    android:pathData="M 5.23699951172,45.4095001221 c 0.0,0.0 -37.9280090332,-13.4599914551 -37.9280090332,-13.4599914551 c -1.03498840332,-0.36799621582 -1.58198547363,-1.51600646973 -1.21398925781,-2.55099487305 c 0.0,0.0 26.1169891357,-73.5930175781 26.1169891357,-73.5930175781 c 0.36799621582,-1.03601074219 1.51600646973,-1.5830078125 2.55099487305,-1.21499633789 c 0.0,0.0 37.9280090332,13.4599914551 37.9280090332,13.4599914551 c 1.03601074219,0.36799621582 1.58200073242,1.51599121094 1.21501159668,2.55099487305 c 0.0,0.0 -26.1180114746,73.5930175781 -26.1180114746,73.5930175781 c -0.366989135742,1.03601074219 -1.51499938965,1.5830078125 -2.55099487305,1.21499633789 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_208"
+                android:translateX="37.70529"
+                android:translateY="91.7462" >
+                <path
+                    android:name="path_223"
+                    android:pathData="M 4.73699951172,45.2319946289 c 0.0,0.0 -36.9270019531,-13.1049957275 -36.9270019531,-13.1049957275 c -1.31098937988,-0.464996337891 -2.00299072266,-1.91799926758 -1.53799438477,-3.22900390625 c 0.0,0.0 25.7630004883,-72.5929870605 25.7630004883,-72.5929870605 c 0.464996337891,-1.30999755859 1.91799926758,-2.00201416016 3.22799682617,-1.53698730469 c 0.0,0.0 36.9279937744,13.1049804688 36.9279937744,13.1049804688 c 1.31100463867,0.464996337891 2.00199890137,1.91799926758 1.53700256348,3.22900390625 c 0.0,0.0 -25.7619934082,72.5930023193 -25.7619934082,72.5930023193 c -0.464996337891,1.30999755859 -1.91799926758,2.00199890137 -3.22900390625,1.53698730469 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_207"
+                android:translateX="37.70529"
+                android:translateY="91.7462" >
+                <path
+                    android:name="path_224"
+                    android:pathData="M 4.73699951172,45.2319946289 c 0.0,0.0 -36.9270019531,-13.1049957275 -36.9270019531,-13.1049957275 c -1.31098937988,-0.464996337891 -2.00299072266,-1.91799926758 -1.53799438477,-3.22900390625 c 0.0,0.0 25.7630004883,-72.5929870605 25.7630004883,-72.5929870605 c 0.464996337891,-1.30999755859 1.91799926758,-2.00201416016 3.22799682617,-1.53698730469 c 0.0,0.0 36.9279937744,13.1049804688 36.9279937744,13.1049804688 c 1.31100463867,0.464996337891 2.00199890137,1.91799926758 1.53700256348,3.22900390625 c 0.0,0.0 -25.7619934082,72.5930023193 -25.7619934082,72.5930023193 c -0.464996337891,1.30999755859 -1.91799926758,2.00199890137 -3.22900390625,1.53698730469 Z"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_206"
+                android:translateX="37.70559"
+                android:translateY="91.7463" >
+                <path
+                    android:name="path_225"
+                    android:pathData="M 7.75900268555,37.574005127 c 0.0,0.0 -37.4680023193,-13.2969970703 -37.4680023193,-13.2969970703 c 0.0,0.0 21.9499969482,-61.8510131836 21.9499969482,-61.8510131836 c 0.0,0.0 37.4680023193,13.2969970703 37.4680023193,13.2969970703 c 0.0,0.0 -21.9499969482,61.8510131836 -21.9499969482,61.8510131836 Z"
+                    android:fillColor="#FFFFDF82" />
+            </group>
+            <group
+                android:name="group_205"
+                android:translateX="49.70459"
+                android:translateY="57.9353" >
+                <path
+                    android:name="path_226"
+                    android:pathData="M 7.98750305176,3.74848937988 c 0.0,0.0 -16.5510101318,-5.87397766113 -16.5510101318,-5.87397766113 c -0.447998046875,-0.158996582031 -0.681991577148,-0.651000976562 -0.522994995117,-1.09899902344 c 0.158996582031,-0.447998046875 0.651000976562,-0.683013916016 1.09899902344,-0.524017333984 c 0.0,0.0 16.5510101318,5.87400817871 16.5510101318,5.87400817871 c 0.447998046875,0.158996582031 0.681991577148,0.651000976562 0.522994995117,1.09999084473 c -0.158996582031,0.447998046875 -0.651000976562,0.682006835938 -1.09899902344,0.522994995117 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_204"
+                android:translateX="25.38649"
+                android:translateY="126.4583" >
+                <path
+                    android:name="path_227"
+                    android:pathData="M 7.98750305176,3.74848937988 c 0.0,0.0 -16.5510101318,-5.87399291992 -16.5510101318,-5.87399291992 c -0.447998046875,-0.158996582031 -0.681991577148,-0.651000976562 -0.522994995117,-1.09899902344 c 0.158996582031,-0.447998046875 0.651000976562,-0.682998657227 1.09899902344,-0.524002075195 c 0.0,0.0 16.5510101318,5.87400817871 16.5510101318,5.87400817871 c 0.447998046875,0.158996582031 0.681991577148,0.651000976562 0.522994995117,1.09999084473 c -0.158996582031,0.447998046875 -0.651000976562,0.682006835938 -1.09899902344,0.522994995117 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_203"
+                android:translateX="199.51199"
+                android:translateY="233.84489" >
+                <path
+                    android:name="path_228"
+                    android:pathData="M 5.61849975586,-48.8144989014 c 0.0,-0.00299072265625 -0.00100708007812,-0.00698852539062 -0.00100708007813,-0.010986328125 c -0.121994018555,-1.11000061035 -0.203002929688,-1.82901000977 -0.203002929688,-1.82901000977 c 0.0,0.0 -0.00099182128906,0.0 -0.00099182128906,0.0 c 0.0,0.0 -0.191009521484,0.568008422852 -0.492004394531,1.46701049805 c -0.0189971923828,0.0589904785156 -0.0400085449219,0.120986938477 -0.0610046386719,0.181991577148 c -0.0119934082031,0.0359954833984 -0.0240020751953,0.0720062255859 -0.0359954833984,0.109008789062 c -0.0319976806641,0.0959930419922 -0.0650024414062,0.194000244141 -0.0989990234375,0.295989990234 c -0.0270080566406,0.0800018310547 -0.0540008544922,0.164001464844 -0.0820007324219,0.248001098633 c -0.0140075683594,0.0410003662109 -0.0270080566406,0.0800018310547 -0.0410003662109,0.122009277344 c -0.0370025634766,0.109985351562 -0.0740051269531,0.223999023438 -0.113006591797,0.338989257812 c -0.0240020751953,0.0740051269531 -0.0479888916016,0.147003173828 -0.072998046875,0.22200012207 c -0.0130004882812,0.0390014648438 -0.0260009765625,0.0769958496094 -0.0379943847656,0.115997314453 c -1.23699951172,3.73100280762 -3.15299987793,9.62901306152 -3.26400756836,10.6699981689 c -0.146987915039,1.37399291992 0.723999023438,2.61700439453 2.00500488281,2.99099731445 c 0.0,0.0 -0.210998535156,1.97700500488 -0.210998535156,1.97700500488 c 0.0,0.0 -0.496994018555,-0.0529937744141 -0.496994018555,-0.052993774414 c 0.0,0.0 -0.220001220703,2.05899047852 -0.220001220703,2.05899047852 c -0.3330078125,0.240997314453 -0.569000244141,0.615005493164 -0.616012573242,1.05599975586 c 0.0,0.0 -7.25898742676,67.9190063477 -7.25898742676,67.9190063477 c 0.0,0.0 0.0,0.0 0.0,0.0009765625 c 0.0,0.0 -1.06201171875,9.92901611328 -1.06201171875,9.92901611328 c -0.0869903564453,0.822998046875 0.509002685547,1.56201171875 1.3330078125,1.64999389648 c 0.0540008544922,0.00601196289062 0.108001708984,0.00900268554688 0.160995483398,0.0090026855469 c 0.75700378418,0.0 1.40699768066,-0.571990966797 1.49000549316,-1.34100341797 c 0.0,0.0 8.31999206543,-77.8489990234 8.31999206543,-77.8489990234 c 0.0470123291016,-0.438995361328 -0.104995727539,-0.850982666016 -0.378997802734,-1.15698242188 c 0.0,0.0 0.220001220703,-2.06300354004 0.220001220703,-2.06300354004 c 0.0,0.0 -0.496994018555,-0.0540008544922 -0.496994018555,-0.0540008544922 c 0.0,0.0 0.210998535156,-1.9759979248 0.210998535156,-1.9759979248 c 1.33200073242,-0.0959930419922 2.44599914551,-1.12699890137 2.59300231934,-2.5 c 0.125991821289,-1.17900085449 -0.693008422852,-8.92601013184 -1.08799743652,-12.529006958 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_202"
+                android:translateX="237.99158"
+                android:translateY="237.24419" >
+                <path
+                    android:name="path_229"
+                    android:pathData="M 26.1835327148,-45.5529937744 c -0.717041015625,-0.414001464844 -1.63500976562,-0.167999267578 -2.04901123047,0.549011230469 c 0.0,0.0 -45.4460144043,78.6779785156 -45.4460144043,78.6779785156 c -0.307998657227,0.532012939453 -0.25,1.17401123047 0.093002319336,1.64001464844 c -2.62699890137,0.686004638672 -3.64500427246,0.984985351562 -4.47099304199,3.93301391602 c -0.802001953125,2.86596679688 -1.45700073242,5.91098022461 -0.758010864258,6.31597900391 c 0.700012207031,0.403991699219 3.01100158691,-1.68600463867 5.09300231934,-3.81298828125 c 2.14399719238,-2.19100952148 1.88999938965,-3.22201538086 1.16900634766,-5.84802246094 c 0.0569915771484,0.00601196289062 0.113998413086,0.0220031738281 0.170989990234,0.0220031738281 c 0.519012451172,0.0 1.02299499512,-0.268981933594 1.30101013184,-0.75 c 0.0,0.0 45.4449920654,-78.6779785156 45.4449920654,-78.6779785156 c 0.414978027344,-0.717010498047 0.169006347656,-1.63500976562 -0.547973632812,-2.04901123047 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_201"
+                android:translateX="97.08359"
+                android:translateY="209.008" >
+                <path
+                    android:name="path_230"
+                    android:pathData="M 6.31651306152,-41.8885040283 c 1.29098510742,-1.12699890137 1.97898864746,-2.80799865723 1.79598999023,-4.52699279785 c -0.17399597168,-1.64999389648 -0.461990356445,-3.36599731445 -0.908004760742,-3.43099975586 c -0.445999145508,-0.0650024414062 -1.21299743652,1.49600219727 -1.85198974609,3.02699279785 c -0.666000366211,1.5950012207 -0.488998413086,3.40200805664 0.425003051758,4.85000610352 c -0.429000854492,0.0579986572266 -0.791000366211,0.380996704102 -0.856002807617,0.832000732422 c 0.0,0.0 -9.06800842285,62.0590057373 -9.06800842285,62.0590057373 c 0.0,0.0 -0.0309906005859,-0.00401306152344 -0.0309906005859,-0.0040130615234 c 0.0,0.0 -1.15699768066,7.91999816895 -1.15699768066,7.91999816895 c 0.0,0.0 -1.11199951172,7.60699462891 -1.11199951172,7.60699462891 c 0.0,0.0 0.0309906005859,0.00399780273438 0.0309906005859,0.0039978027344 c 0.0,0.0 -1.80000305176,12.3179931641 -1.80000305176,12.3179931641 c -0.0800018310547,0.547027587891 0.299011230469,1.05401611328 0.845001220703,1.13403320312 c 0.0490112304688,0.00799560546875 0.0980072021484,0.010986328125 0.146011352539,0.010986328125 c 0.487991333008,0.0 0.916000366211,-0.359008789062 0.987991333008,-0.856018066406 c 0.0,0.0 1.80000305176,-12.3179931641 1.80000305176,-12.3179931641 c 0.0,0.0 0.031005859375,0.0050048828125 0.031005859375,0.0050048828124 c 0.0,0.0 1.11099243164,-7.60699462891 1.11099243164,-7.60699462891 c 0.0,0.0 1.15800476074,-7.91999816895 1.15800476074,-7.91999816895 c 0.0,0.0 -0.031005859375,-0.0050048828125 -0.031005859375,-0.0050048828125 c 0.0,0.0 9.06700134277,-62.0589904785 9.06700134277,-62.0589904785 c 0.0670013427734,-0.45100402832 -0.188003540039,-0.86100769043 -0.582992553711,-1.04000854492 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_200"
+                android:translateX="113.11879"
+                android:translateY="60.038" >
+                <path
+                    android:name="path_231"
+                    android:pathData="M -11.2449951172,31.1504974365 c 0.0,0.0 -37.5149993896,-41.6489868164 -37.5149993896,-41.6489868164 c 0.0,0.0 45.6169891357,-20.6520080566 45.6169891357,-20.6520080566 c 0.0,0.0 51.9029998779,43.5449981689 51.9029998779,43.5449981689 c 0.0,0.0 -60.004989624,18.7559967041 -60.004989624,18.7559967041 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_199"
+                android:translateX="111.51427"
+                android:translateY="228.6899" >
+                <path
+                    android:name="path_232"
+                    android:pathData="M 17.5310211182,50.2075042725 c 0.0,0.0 -3.54000854492,-11.0599975586 -3.54000854492,-11.0599975586 c 0.0,0.0 -0.343994140625,-1.07501220703 -0.343994140625,-1.07501220703 c 0.0,0.0 -0.0590057373047,0.0190124511719 -0.0590057373047,0.0190124511719 c 0.0,0.0 -24.9630126953,-77.9980163574 -24.9630126953,-77.9980163574 c 0.0130004882812,-0.0239868164062 0.031005859375,-0.0429992675781 0.0440063476562,-0.0679931640625 c 0.0,0.0 -5.75500488281,-12.2679901123 -5.75500488281,-12.2679901123 c 0.0,0.0 -0.311004638672,-0.662002563477 -0.311004638672,-0.662002563477 c -0.113998413086,-0.243011474609 -0.481002807617,-0.126007080078 -0.431991577149,0.138000488281 c 0.0,0.0 2.56900024414,14.049987793 2.56900024414,14.049987793 c 0.0249938964844,0.0119934082031 0.0509948730469,0.0180053710938 0.0749969482421,0.0290069580078 c 0.0,0.0 24.9629974365,77.9980010986 24.9629974365,77.9980010986 c 0.0,0.0 -0.0589904785156,0.0190124511719 -0.0589904785156,0.0190124511719 c 0.0,0.0 0.406997680664,1.27398681641 0.406997680664,1.27398681641 c 0.0,0.0 3.47601318359,10.8609924316 3.47601318359,10.8609924316 c 0.347991943359,1.08499145508 1.50898742676,1.68301391602 2.59298706055,1.33599853516 c 1.08500671387,-0.346984863281 1.68299865723,-1.50799560547 1.33601379395,-2.59298706055 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_198"
+                android:translateX="103.96349"
+                android:translateY="14.82651" >
+                <path
+                    android:name="path_233"
+                    android:pathData="M -41.31300354,13.8204956055 c 0.0,0.0 0.0,-2.12698364258 0.0,-2.12698364258 c 0.0,0.0 80.9600067139,-25.5140075684 80.9600067139,-25.5140075684 c 0.0,0.0 1.66600036621,1.49401855469 1.66600036621,1.49401855469 c 0.0,0.0 -82.6260070801,26.1469726562 -82.6260070801,26.1469726562 Z"
+                    android:fillColor="#FFFAE9E7" />
+            </group>
+            <group
+                android:name="group_197"
+                android:translateX="112.2645"
+                android:translateY="46.41102" >
+                <path
+                    android:name="path_234"
+                    android:pathData="M -49.6139984131,-17.7640228271 c 0.0,0.0 39.7009887695,61.6750183105 39.7009887695,61.6750183105 c 0.0,0.0 59.5270080566,-18.8379974365 59.5270080566,-18.8379974365 c 0.0,0.0 -16.6020050049,-68.9839935303 -16.6020050049,-68.9839935303 c 0.0,0.0 -82.6259918213,26.1469726562 -82.6259918213,26.1469726563 Z"
+                    android:fillColor="#FFFFCCBB" />
+            </group>
+            <group
+                android:name="group_196"
+                android:translateX="112.2645"
+                android:translateY="46.41102" >
+                <path
+                    android:name="path_235"
+                    android:pathData="M -49.6139984131,-17.7640228271 c 0.0,0.0 39.7009887695,61.6750183105 39.7009887695,61.6750183105 c 0.0,0.0 59.5270080566,-18.8379974365 59.5270080566,-18.8379974365 c 0.0,0.0 -16.6020050049,-68.9839935303 -16.6020050049,-68.9839935303 c 0.0,0.0 -82.6259918213,26.1469726562 -82.6259918213,26.1469726563 Z"
+                    android:strokeColor="#FFFFCCBB"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_195"
+                android:translateX="113.3196"
+                android:translateY="48.52372" >
+                <path
+                    android:name="path_236"
+                    android:pathData="M -36.8964996338,-14.4020233154 c 0.0,0.0 30.0349884033,48.0250244141 30.0349884033,48.0250244141 c 0.0,0.0 43.7580108643,-13.8470001221 43.7580108643,-13.8470001221 c 0.0,0.0 -13.0550079346,-53.3990020752 -13.0550079346,-53.3990020752 c 0.0,0.0 -60.737991333,19.2209777832 -60.737991333,19.2209777832 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_238"
+                android:translateX="113.3196"
+                android:translateY="48.52372" >
+                <path
+                    android:name="path_237"
+                    android:pathData="M -36.8964996338,-14.4020233154 c 0.0,0.0 30.0349884033,48.0250244141 30.0349884033,48.0250244141 c 0.0,0.0 43.7580108643,-13.8470001221 43.7580108643,-13.8470001221 c 0.0,0.0 -13.0550079346,-53.3990020752 -13.0550079346,-53.3990020752 c 0.0,0.0 -60.737991333,19.2209777832 -60.737991333,19.2209777832 Z"
+                    android:strokeColor="#FFFFAB91"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_239"
+                android:translateX="168.54961"
+                android:translateY="179.42349" >
+                <path
+                    android:name="path_238"
+                    android:pathData="M 52.363494873,65.3244934082 c 0.0,0.0 -104.726989746,0.0 -104.726989746,0.0 c 0.0,0.0 0.0,-130.648986816 0.0,-130.648986816 c 0.0,0.0 104.726989746,0.0 104.726989746,0.0 c 0.0,0.0 0.0,130.648986816 0.0,130.648986816 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_240"
+                android:translateX="168.55008"
+                android:translateY="176.31049" >
+                <path
+                    android:name="path_239"
+                    android:pathData="M 51.2180023193,65.324508667 c 0.0,0.0 -102.436004639,0.0 -102.436004639,0.0 c 0.0,0.0 0.0,-130.649002075 0.0,-130.649002075 c 0.0,0.0 102.436004639,0.0 102.436004639,0.0 c 0.0,0.0 0.0,130.649002075 0.0,130.649002075 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_241"
+                android:translateX="168.54959"
+                android:translateY="175.97949" >
+                <path
+                    android:name="path_240"
+                    android:pathData="M 48.3515014648,61.7925109863 c 0.0,0.0 -96.7030029297,0.0 -96.7030029297,0.0 c 0.0,0.0 0.0,-123.585006714 0.0,-123.585006714 c 0.0,0.0 96.7030029297,0.0 96.7030029297,0.0 c 0.0,0.0 0.0,123.585006714 0.0,123.585006714 Z"
+                    android:fillColor="#FFFFDFB1" />
+            </group>
+            <group
+                android:name="group_242"
+                android:translateX="168.54959"
+                android:translateY="172.9545" >
+                <path
+                    android:name="path_241"
+                    android:pathData="M 48.3515014648,60.8905029297 c 0.0,0.0 -96.7030029297,0.0 -96.7030029297,0.0 c 0.0,0.0 0.0,-121.781005859 0.0,-121.781005859 c 0.0,0.0 96.7030029297,0.0 96.7030029297,0.0 c 0.0,0.0 0.0,121.781005859 0.0,121.781005859 Z"
+                    android:fillColor="#FFFFF3DF" />
+            </group>
+            <group
+                android:name="group_243"
+                android:translateX="128.45981"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_242"
+                    android:pathData="M 2.51849365234,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_244"
+                android:translateX="128.45969"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_243"
+                    android:pathData="M 1.36201477051,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_245"
+                android:translateX="141.8233"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_244"
+                    android:pathData="M 2.51849365234,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_246"
+                android:translateX="141.82318"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_245"
+                    android:pathData="M 1.36201477051,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_247"
+                android:translateX="155.1868"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_246"
+                    android:pathData="M 2.51849365234,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_248"
+                android:translateX="155.18668"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_247"
+                    android:pathData="M 1.36201477051,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_249"
+                android:translateX="168.55029"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_248"
+                    android:pathData="M 2.51850891113,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_250"
+                android:translateX="168.55029"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_249"
+                    android:pathData="M 1.36199951172,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_251"
+                android:translateX="181.91388"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_250"
+                    android:pathData="M 2.51850891113,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_252"
+                android:translateX="181.91379"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_251"
+                    android:pathData="M 1.36199951172,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_253"
+                android:translateX="195.2774"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_252"
+                    android:pathData="M 2.51849365234,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_254"
+                android:translateX="195.27728"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_253"
+                    android:pathData="M 1.36201477051,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_255"
+                android:translateX="208.6409"
+                android:translateY="117.5615" >
+                <path
+                    android:name="path_254"
+                    android:pathData="M 2.51849365234,-0.00002 c 0.0,1.39102172852 -1.12800598145,2.51902770996 -2.51901245117,2.51902770996 c -1.39099121094,0.0 -2.5179901123,-1.12800598145 -2.5179901123,-2.51902770996 c 0.0,-1.39099121094 1.12699890137,-2.51899719238 2.5179901123,-2.51899719238 c 1.39100646973,0.0 2.51901245117,1.12800598145 2.51901245117,2.51899719238 Z"
+                    android:fillColor="#FF9FA8DA" />
+            </group>
+            <group
+                android:name="group_256"
+                android:translateX="208.64078"
+                android:translateY="112.06331" >
+                <path
+                    android:name="path_255"
+                    android:pathData="M 1.36201477051,4.13598632812 c 0.0,0.752014160156 -0.610000610352,1.36201477051 -1.36201477051,1.36201477051 c -0.751998901367,0.0 -1.36199951172,-0.610000610352 -1.36199951172,-1.36201477051 c 0.0,0.0 0.0,-8.27198791504 0.0,-8.27198791504 c 0.0,-0.751998901367 0.610000610352,-1.36199951172 1.36199951172,-1.36199951172 c 0.752014160156,0.0 1.36201477051,0.610000610352 1.36201477051,1.36199951172 c 0.0,0.0 0.0,2.7679901123 0.0,2.7679901123"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_257"
+                android:translateX="200.61627"
+                android:translateY="209.14841" >
+                <path
+                    android:name="path_256"
+                    android:pathData="M 2.88801574707,-22.8675079346 c -0.122009277344,-1.10998535156 -0.203002929688,-1.82899475098 -0.203002929688,-1.82899475098 c 0.0,0.0 -0.192001342773,0.568008422852 -0.493011474609,1.46699523926 c -0.0189971923828,0.0590057373047 -0.0399932861328,0.121002197266 -0.0599975585938,0.182006835938 c -0.0130004882812,0.0359954833984 -0.0249938964844,0.0720062255859 -0.0370025634766,0.108993530274 c -0.0319976806641,0.0960083007812 -0.0649871826172,0.194000244141 -0.0989990234375,0.296005249023 c -0.0260009765625,0.0810089111328 -0.0540008544922,0.164001464844 -0.0820007324219,0.248001098633 c -0.0139923095703,0.0410003662109 -0.0269927978516,0.0809936523438 -0.0410003662109,0.121994018555 c -0.0359954833984,0.11100769043 -0.0739898681641,0.223999023438 -0.111999511719,0.34001159668 c -0.0249938964844,0.072998046875 -0.0489959716797,0.146987915039 -0.0739898681641,0.220993041992 c -0.0130004882812,0.0390014648438 -0.0260009765625,0.0769958496094 -0.0380096435547,0.115997314453 c -1.23699951172,3.73100280762 -3.15299987793,9.62899780273 -3.26399230957,10.6699981689 c -0.147003173828,1.37399291992 0.723999023438,2.61700439453 2.00500488281,2.99200439453 c 0.0,0.0 -0.211013793945,1.9759979248 -0.211013793945,1.9759979248 c 0.0,0.0 -0.496994018555,-0.0529937744141 -0.496994018555,-0.0529937744141 c 0.0,0.0 -0.220001220703,2.05899047852 -0.220001220703,2.05899047852 c -0.332992553711,0.242004394531 -0.569000244141,0.615997314453 -0.615997314453,1.05599975586 c 0.0,0.0 -2.94900512695,27.592010498 -2.94900512695,27.592010498 c 0.0,0.0 3.01699829102,0.0 3.01699829102,0.0 c 0.0,0.0 2.91500854492,-27.2730102539 2.91500854492,-27.2730102539 c 0.0469970703125,-0.440002441406 -0.104995727539,-0.851989746094 -0.378997802734,-1.15798950195 c 0.0,0.0 0.220993041992,-2.06301879883 0.220993041992,-2.06301879883 c 0.0,0.0 -0.498001098633,-0.052978515625 -0.498001098633,-0.052978515625 c 0.0,0.0 0.210998535156,-1.97702026367 0.210998535156,-1.97702026367 c 1.33200073242,-0.0959930419922 2.44599914551,-1.12599182129 2.59300231934,-2.5 c 0.126007080078,-1.1789855957 -0.692993164062,-8.92599487305 -1.08799743652,-12.5289916992 c 0.0,-0.00299072265625 -0.00099182128906,-0.00698852539062 -0.00099182128907,-0.0110015869141 Z"
+                    android:fillColor="#FFFFDFB1" />
+            </group>
+            <group
+                android:name="group_258"
+                android:translateX="170.91039"
+                android:translateY="186.9024" >
+                <path
+                    android:name="path_257"
+                    android:pathData="M -4.94049072266,-4.01251220703 c -0.225006103516,0.225006103516 -0.43701171875,0.4580078125 -0.637008666992,0.697006225586 c -4.13999938965,4.96199035645 3.22200012207,11.3759918213 7.79100036621,6.80699157715 c 0.0,0.0 7.50399780273,-7.50399780273 7.50399780273,-7.50399780273 c -4.04800415039,-4.0479888916 -10.6100006104,-4.0479888916 -14.657989502,0.0 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_259"
+                android:translateX="157.30179"
+                android:translateY="203.64119" >
+                <path
+                    android:name="path_258"
+                    android:pathData="M 4.94050598145,-4.01249694824 c 0.224990844727,0.225006103516 0.436996459961,0.4580078125 0.636993408203,0.697006225586 c 4.13999938965,4.96199035645 -3.22200012207,11.3759918213 -7.79100036621,6.80699157715 c 0.0,0.0 -7.50399780273,-7.50399780273 -7.50399780273,-7.50399780273 c 4.04800415039,-4.04800415039 10.6100006104,-4.04800415039 14.6580047607,0.0 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_260"
+                android:translateX="165.8965"
+                android:translateY="153.3613" >
+                <path
+                    android:name="path_259"
+                    android:pathData="M 16.6445007324,-8.32200622559 c 0.0,9.19200134277 -7.4520111084,16.6440124512 -16.6440124512,16.6440124512 c -9.19299316406,0.0 -16.6449890137,-7.4520111084 -16.6449890137,-16.6440124512"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_261"
+                android:translateX="165.89648"
+                android:translateY="153.3613" >
+                <path
+                    android:name="path_260"
+                    android:pathData="M 8.59750366211,-8.32200622559 c 0.0,9.19200134277 -3.84901428223,16.6440124512 -8.59700012207,16.6440124512 c -4.74900817871,0.0 -8.59800720215,-7.4520111084 -8.59800720215,-16.6440124512"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_262" >
+                <path
+                    android:name="path_261"
+                    android:pathData="M 165.896697998,145.039291382 c 0.0,0.0 0.0,63.3010101318 0.0,63.3010101318"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_263" >
+                <path
+                    android:name="path_262"
+                    android:pathData="M 165.896697998,187.61038208 c 0.0,0.0 0.0,31.6500091553 0.0,31.6500091553"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_264"
+                android:translateX="148.60159"
+                android:translateY="144.1304" >
+                <path
+                    android:name="path_263"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_265"
+                android:translateX="158.20828"
+                android:translateY="144.13049" >
+                <path
+                    android:name="path_264"
+                    android:pathData="M 2.15800476074,2.15800476074 c -1.19200134277,1.19200134277 -3.12400817871,1.19200134277 -4.31600952148,0.0 c -1.19200134277,-1.19198608398 -1.19200134277,-3.12399291992 0.0,-4.3159942627 c 1.19200134277,-1.19200134277 3.12400817871,-1.19200134277 4.31600952148,0.0 c 1.19198608398,1.19200134277 1.19198608398,3.12400817871 0.0,4.3159942627 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_266"
+                android:translateX="165.2459"
+                android:translateY="144.1304" >
+                <path
+                    android:name="path_265"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_267"
+                android:translateX="173.03389"
+                android:translateY="184.5668" >
+                <path
+                    android:name="path_266"
+                    android:pathData="M -4.94049072266,-4.01251220703 c -0.225006103516,0.225006103516 -0.43701171875,0.4580078125 -0.637008666992,0.697006225586 c -4.13999938965,4.96200561523 3.22200012207,11.3759918213 7.79100036621,6.80699157715 c 0.0,0.0 7.50399780273,-7.50399780273 7.50399780273,-7.50399780273 c -4.04800415039,-4.0479888916 -10.6100006104,-4.0479888916 -14.657989502,0.0 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_268"
+                android:translateX="158.75938"
+                android:translateY="206.0625" >
+                <path
+                    android:name="path_267"
+                    android:pathData="M 4.94050598145,-4.01251220703 c 0.224990844727,0.225006103516 0.436996459961,0.4580078125 0.636993408203,0.697021484375 c 4.13999938965,4.96199035645 -3.22200012207,11.3759918213 -7.79100036621,6.80699157715 c 0.0,0.0 -7.50399780273,-7.50401306152 -7.50399780273,-7.50401306152 c 4.04800415039,-4.0479888916 10.6100006104,-4.0479888916 14.6580047607,0.0 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_269"
+                android:translateX="173.84329"
+                android:translateY="145.03931" >
+                <path
+                    android:name="path_268"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_270"
+                android:translateX="182.54099"
+                android:translateY="144.1304" >
+                <path
+                    android:name="path_269"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_271"
+                android:translateX="149.25229"
+                android:translateY="145.03931" >
+                <path
+                    android:name="path_270"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_272"
+                android:translateX="157.29938"
+                android:translateY="145.0394" >
+                <path
+                    android:name="path_271"
+                    android:pathData="M 2.15802001953,2.15798950195 c -1.19200134277,1.19200134277 -3.12400817871,1.19200134277 -4.31600952148,0.0 c -1.19200134277,-1.19198608398 -1.19200134277,-3.12399291992 0.0,-4.3159942627 c 1.19200134277,-1.19200134277 3.12400817871,-1.19200134277 4.31600952148,0.0 c 1.19198608398,1.19200134277 1.19198608398,3.12400817871 0.0,4.3159942627 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_273"
+                android:translateX="165.8967"
+                android:translateY="145.03931" >
+                <path
+                    android:name="path_272"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_274"
+                android:translateX="174.49399"
+                android:translateY="145.03931" >
+                <path
+                    android:name="path_273"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_275"
+                android:translateX="182.54099"
+                android:translateY="145.03931" >
+                <path
+                    android:name="path_274"
+                    android:pathData="M 3.05200195312,-0.00002 c 0.0,1.68600463867 -1.36601257324,3.05200195312 -3.05200195312,3.05200195312 c -1.68600463867,0.0 -3.05200195312,-1.36599731445 -3.05200195312,-3.05200195312 c 0.0,-1.68598937988 1.36599731445,-3.05198669434 3.05200195312,-3.05198669434 c 1.68598937988,0.0 3.05200195312,1.36599731445 3.05200195312,3.05198669434 Z"
+                    android:strokeColor="#FF424242"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_276"
+                android:translateX="201.3129"
+                android:translateY="76.45521" >
+                <path
+                    android:name="path_275"
+                    android:pathData="M 25.4134979248,-8.87501525879 c 4.13198852539,11.8330230713 -3.89602661133,25.399017334 -17.9309997559,30.3000183105 c -14.0360107422,4.90200805664 -28.7630004883,-0.716995239258 -32.8960113525,-12.5500030518 c -4.13198852539,-11.8330078125 3.89601135254,-25.3990020752 17.9309997559,-30.3010101318 c 14.0360107422,-4.90100097656 28.7639923096,0.718017578125 32.8960113525,12.550994873 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_277"
+                android:translateX="197.44589"
+                android:translateY="77.62949" >
+                <path
+                    android:name="path_276"
+                    android:pathData="M 20.3860015869,9.97250366211 c -5.50801086426,11.2590026855 -19.0990142822,15.921005249 -30.358001709,10.4140014648 c -11.2590026855,-5.50799560547 -15.9219970703,-19.0999908447 -10.4140014648,-30.3580169678 c 5.50700378418,-11.258972168 19.0989990234,-15.9219970703 30.358001709,-10.4139709473 c 11.258972168,5.5069732666 15.9219970703,19.0989837646 10.4140014648,30.3579864502 Z"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_278"
+                android:translateX="202.76558"
+                android:translateY="65.9059" >
+                <path
+                    android:name="path_277"
+                    android:pathData="M 29.6235046387,14.4909973145 c -8.00302124023,16.3610076904 -27.7540130615,23.1360015869 -44.1139984131,15.1330108643 c -16.3610076904,-8.00300598145 -23.1360015869,-27.7539978027 -15.1330108643,-44.1149902344 c 8.00300598145,-16.3600158691 27.7539978027,-23.1360168457 44.1139984131,-15.132019043 c 16.3610076904,8.00302124023 23.1360015869,27.7530059814 15.1330108643,44.1139984131 Z"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_279"
+                android:translateX="200.8671"
+                android:translateY="70.6349" >
+                <path
+                    android:name="path_278"
+                    android:pathData="M 12.0025024414,5.87098693848 c -2.99600219727,6.12600708008 -10.7990112305,8.46301269531 -17.4280090332,5.2200012207 c -6.62799072266,-3.24198913574 -9.57299804688,-10.8369903564 -6.57600402832,-16.9619903564 c 2.99600219727,-6.12599182129 10.7990112305,-8.46299743652 17.4270019531,-5.2200012207 c 6.62899780273,3.24200439453 9.57299804688,10.8359985352 6.5770111084,16.9619903564 Z"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_280"
+                android:translateX="201.3131"
+                android:translateY="69.724" >
+                <path
+                    android:name="path_279"
+                    android:pathData="M 8.67210388184,25.2809906006 c -13.3210144043,4.57000732422 -28.0030059814,-3.04499816895 -32.7929992676,-17.0069885254 c -4.78900146484,-13.9620056152 2.12699890137,-28.9850006104 15.4489898682,-33.5550079346 c 13.3209991455,-4.56997680664 28.0029907227,3.04501342773 32.7919921875,17.0070037842 c 4.79000854492,13.9620056152 -2.12698364258,28.9850006104 -15.4479827881,33.5549926758 Z"
+                    android:fillColor="#FFADD481" />
+            </group>
+            <group
+                android:name="group_281"
+                android:translateX="65.53519"
+                android:translateY="114.548" >
+                <path
+                    android:name="path_280"
+                    android:pathData="M 13.5100097656,1.96650695801 c 0.0,0.0 -27.0200195312,-3.93301391602 -27.0200195312,-3.93301391602"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_282"
+                android:translateX="72.39929"
+                android:translateY="110.38029" >
+                <path
+                    android:name="path_281"
+                    android:pathData="M 13.9850006104,14.4095001221 c 0.0,0.0 -27.9700012207,-28.8190002441 -27.9700012207,-28.8190002441"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_283"
+                android:translateX="74.3064"
+                android:translateY="115.03269" >
+                <path
+                    android:name="path_282"
+                    android:pathData="M 19.7265014648,9.98100280762 c 0.0,0.0 -39.4530029297,-19.9620056152 -39.4530029297,-19.9620056152"
+                    android:strokeColor="#FFEBEEF0"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_284"
+                android:translateX="85.2278"
+                android:translateY="127.1428" >
+                <path
+                    android:name="path_283"
+                    android:pathData="M 19.8945007324,6.50250244141 c -3.31600952148,10.1460113525 -14.9120025635,15.4600067139 -25.8990020752,11.8680114746 c -10.9869995117,-3.59100341797 -17.2060089111,-14.7270202637 -13.8899993896,-24.8730163574 c 3.31700134277,-10.1459960938 14.9119873047,-15.4600067139 25.8989868164,-11.8679962158 c 10.9880065918,3.59098815918 17.2060089111,14.7269897461 13.8900146484,24.8730010986 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_285"
+                android:translateX="87.94609"
+                android:translateY="124.5134" >
+                <path
+                    android:name="path_284"
+                    android:pathData="M 19.3274993896,-0.00002 c 0.0,10.6740264893 -8.65299987793,19.3270263672 -19.3269958496,19.3270263672 c -10.6750183105,0.0 -19.3280029297,-8.65299987793 -19.3280029297,-19.3270263672 c 0.0,-10.6739959717 8.65298461914,-19.3269958496 19.3280029297,-19.3269958496 c 10.6739959717,0.0 19.3269958496,8.65299987793 19.3269958496,19.3269958496 Z"
+                    android:strokeColor="#FF25C5DA"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_286"
+                android:translateX="87.9463"
+                android:translateY="124.7898" >
+                <path
+                    android:name="path_285"
+                    android:pathData="M 16.3675079346,-0.00002 c 0.0,9.04002380371 -7.32800292969,16.3680267334 -16.3680114746,16.3680267334 c -9.03900146484,0.0 -16.3670043945,-7.32800292969 -16.3670043945,-16.3680267334 c 0.0,-9.03999328613 7.32800292969,-16.3679962158 16.3670043945,-16.3679962158 c 9.04000854492,0.0 16.3680114746,7.32800292969 16.3680114746,16.3679962158 Z"
+                    android:fillColor="#FFB1EBF1" />
+            </group>
+            <group
+                android:name="group_287"
+                android:translateX="87.94619"
+                android:translateY="119.2545" >
+                <path
+                    android:name="path_286"
+                    android:pathData="M 0.00002,-11.108505249 c -7.19801330566,0.0 -13.2960205078,4.65200805664 -15.4880218506,11.1090087891 c 2.19200134277,6.45599365234 8.29000854492,11.108001709 15.4880218506,11.108001709 c 7.19799804688,0.0 13.2959899902,-4.65200805664 15.487991333,-11.108001709 c -2.19200134277,-6.45700073242 -8.28999328613,-11.1090087891 -15.487991333,-11.1090087891 Z"
+                    android:fillColor="#FF80DEEA" />
+            </group>
+            <group
+                android:name="group_288"
+                android:translateX="85.3167"
+                android:translateY="127.1426" >
+                <path
+                    android:name="path_287"
+                    android:pathData="M 2.62950134277,2.62950134277 c -2.90400695801,0.0 -5.25900268555,-2.35398864746 -5.25900268555,-5.25900268555"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_289"
+                android:translateX="90.57569"
+                android:translateY="121.8842" >
+                <path
+                    android:name="path_288"
+                    android:pathData="M -2.62950134277,-2.62950134277 c 2.90400695801,0.0 5.25900268555,2.35400390625 5.25900268555,5.25900268555"
+                    android:strokeColor="#FFDFF7F9"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_290"
+                android:translateX="87.94609"
+                android:translateY="124.5134" >
+                <path
+                    android:name="path_289"
+                    android:pathData="M 13.7810058594,-0.00002 c 0.0,7.61102294922 -6.17001342773,13.7810211182 -13.7810058594,13.7810211182 c -7.61100769043,0.0 -13.7810058594,-6.16999816895 -13.7810058594,-13.7810211182 c 0.0,-7.61099243164 6.16999816895,-13.7809906006 13.7810058594,-13.7809906006 c 7.61099243164,0.0 13.7810058594,6.16999816895 13.7810058594,13.7809906006 Z"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_291"
+                android:translateX="91.52708"
+                android:translateY="119.94249" >
+                <path
+                    android:name="path_290"
+                    android:pathData="M -5.56149291992,-4.35600280762 c 0.637985229492,-0.140991210938 1.30099487305,-0.214996337891 1.98098754883,-0.214996337891 c 5.04901123047,0.0 9.14199829102,4.09300231934 9.14199829102,9.14199829102"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_292"
+                android:translateX="82.38459"
+                android:translateY="120.0499" >
+                <path
+                    android:name="path_291"
+                    android:pathData="M -3.58050537109,4.46350097656 c 0.0,-4.36898803711 3.06500244141,-8.02200317383 7.16101074219,-8.92700195312"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_293"
+                android:translateX="92.5172"
+                android:translateY="119.9423" >
+                <path
+                    android:name="path_292"
+                    android:pathData="M -4.57099914551,-4.5710144043 c 5.04899597168,0.0 9.14199829102,4.09300231934 9.14199829102,9.14202880859"
+                    android:strokeColor="#FFDFF7F9"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_294"
+                android:translateX="94.83669"
+                android:translateY="117.62309" >
+                <path
+                    android:name="path_293"
+                    android:pathData="M -6.89050292969,-6.89050292969 c 7.61100769043,0.0 13.7810058594,6.17001342773 13.7810058594,13.7810058594"
+                    android:strokeColor="#FFDFF7F9"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_295"
+                android:translateX="87.9462"
+                android:translateY="124.7898" >
+                <path
+                    android:name="path_294"
+                    android:pathData="M 1.56199645996,-0.00002 c 0.0,0.863021850586 -0.699005126953,1.56202697754 -1.56201171875,1.56202697754 c -0.862991333008,0.0 -1.56199645996,-0.699005126953 -1.56199645996,-1.56202697754 c 0.0,-0.862991333008 0.699005126953,-1.56199645996 1.56199645996,-1.56199645996 c 0.863006591797,0.0 1.56201171875,0.699005126953 1.56201171875,1.56199645996 Z"
+                    android:strokeColor="#FFB1EBF1"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_296"
+                android:translateX="87.94609"
+                android:translateY="113.9957" >
+                <path
+                    android:name="path_295"
+                    android:pathData="M 19.3274993896,-0.00002 c 0.0,10.6740264893 -8.65299987793,19.3270263672 -19.3269958496,19.3270263672 c -10.6750183105,0.0 -19.3280029297,-8.65299987793 -19.3280029297,-19.3270263672 c 0.0,-10.6739959717 8.65298461914,-19.3269958496 19.3280029297,-19.3269958496 c 10.6739959717,0.0 19.3269958496,8.65299987793 19.3269958496,19.3269958496 Z"
+                    android:strokeColor="#FF25C5DA"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_297"
+                android:translateX="84.6132"
+                android:translateY="98.97079" >
+                <path
+                    android:name="path_296"
+                    android:pathData="M 3.3330078125,25.8190002441 c 0.0,0.0 -6.666015625,-51.6380004883 -6.666015625,-51.6380004883"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_298"
+                android:translateX="74.10189"
+                android:translateY="100.6075" >
+                <path
+                    android:name="path_297"
+                    android:pathData="M 5.48300170898,15.9069976807 c 0.0,0.0 -10.966003418,-31.8139953613 -10.966003418,-31.8139953613"
+                    android:strokeColor="#FFFFB300"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_299"
+                android:translateX="96.19518"
+                android:translateY="101.31269" >
+                <path
+                    android:name="path_298"
+                    android:pathData="M -2.92900085449,23.7010040283 c 0.0,0.0 5.85800170898,-47.4020080566 5.85800170898,-47.4020080566"
+                    android:strokeColor="#FFEB4079"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_300"
+                android:translateX="50.09079"
+                android:translateY="112.3002" >
+                <path
+                    android:name="path_299"
+                    android:pathData="M 1.93450927734,0.281494140625 c 0.0,0.0 -3.86901855469,-0.56298828125 -3.86901855469,-0.56298828125"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_301"
+                android:translateX="54.52869"
+                android:translateY="91.9666" >
+                <path
+                    android:name="path_300"
+                    android:pathData="M 3.88600158691,4.00399780273 c 0.0,0.0 -7.77200317383,-8.00799560547 -7.77200317383,-8.00799560547"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_302"
+                android:translateX="50.18769"
+                android:translateY="102.82949" >
+                <path
+                    android:name="path_301"
+                    android:pathData="M 4.39199829102,2.22250366211 c 0.0,0.0 -8.78399658203,-4.44500732422 -8.78399658203,-4.44500732422"
+                    android:strokeColor="#FFFFC928"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_303"
+                android:translateX="97.72819"
+                android:translateY="211.601" >
+                <path
+                    android:name="path_302"
+                    android:pathData="M 6.56851196289,-44.9524993896 c 0.0,0.0 -13.1370239258,89.9049987793 -13.1370239258,89.9049987793"
+                    android:strokeColor="#FF8D6D62"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_304"
+                android:translateX="104.85698"
+                android:translateY="161.8754" >
+                <path
+                    android:name="path_303"
+                    android:pathData="M -0.468490600586,4.14498901367 c 0.0,0.0 0.0,0.0 0.0,0.0 c -1.11601257324,-1.49798583984 -1.37001037598,-3.47399902344 -0.650009155273,-5.19799804688 c 0.639007568359,-1.53099060059 1.40600585938,-3.09199523926 1.85200500488,-3.02699279785 c 0.44499206543,0.0650024414062 0.733993530273,1.78100585938 0.907989501953,3.42999267578 c 0.197006225586,1.85800170898 -0.611999511719,3.67900085449 -2.10998535156,4.79499816895 Z"
+                    android:fillColor="#FFFFB74D" />
+            </group>
+            <group
+                android:name="group_305"
+                android:translateX="93.53839"
+                android:translateY="240.27469" >
+                <path
+                    android:name="path_304"
+                    android:pathData="M 0.442001342773,4.10949707031 c 0.0,0.0 -2.04100036621,-0.297988891602 -2.04100036621,-0.297988891602 c 0.0,0.0 1.15798950195,-7.92100524902 1.15798950195,-7.92100524902 c 0.0,0.0 2.04000854492,0.298004150391 2.04000854492,0.298004150391 c 0.0,0.0 -1.15699768066,7.92098999023 -1.15699768066,7.92098999023 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_306"
+                android:translateX="94.6498"
+                android:translateY="232.668" >
+                <path
+                    android:name="path_305"
+                    android:pathData="M 0.442001342773,4.10949707031 c 0.0,0.0 -2.04100036621,-0.298004150391 -2.04100036621,-0.298004150391 c 0.0,0.0 1.15798950195,-7.92098999023 1.15798950195,-7.92098999023 c 0.0,0.0 2.04000854492,0.298004150391 2.04000854492,0.298004150391 c 0.0,0.0 -1.15699768066,7.92098999023 -1.15699768066,7.92098999023 Z"
+                    android:fillColor="#FFFFAB91" />
+            </group>
+            <group
+                android:name="group_307"
+                android:translateX="114.24259"
+                android:translateY="229.30389" >
+                <path
+                    android:name="path_306"
+                    android:pathData="M -13.8480072021,-43.2680053711 c 0.0,0.0 27.6960144043,86.5360107422 27.6960144043,86.5360107422"
+                    android:strokeColor="#FFFFA725"
+                    android:strokeWidth="4"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_308"
+                android:translateX="99.10139"
+                android:translateY="179.86839" >
+                <path
+                    android:name="path_307"
+                    android:pathData="M -0.654998779297,6.84649658203 c 0.0,0.0 0.0,0.0 0.0,0.0 c 0.0,0.0 -2.57000732422,-14.049987793 -2.57000732422,-14.049987793 c -0.0480041503906,-0.264007568359 0.319000244141,-0.381011962891 0.432998657227,-0.138000488281 c 0.0,0.0 6.0650177002,12.9309997559 6.0650177002,12.9309997559 c -0.736999511719,1.43199157715 -2.49600219727,1.99499511719 -3.9280090332,1.25698852539 Z"
+                    android:fillColor="#FFFFC928" />
+            </group>
+            <group
+                android:name="group_309"
+                android:translateX="96.76089"
+                android:translateY="174.07689" >
+                <path
+                    android:name="path_308"
+                    android:pathData="M -0.884002685547,-1.41200256348 c 0.0,0.0 0.585998535156,3.20500183105 0.585998535156,3.20500183105 c 0.435012817383,-0.0379943847656 0.85400390625,-0.171997070312 1.23001098633,-0.393997192383 c 0.0,0.0 -1.38400268555,-2.94898986816 -1.38400268555,-2.94898986816 c -0.113021850586,-0.243011474609 -0.480010986328,-0.126007080078 -0.432006835938,0.137985229492 Z"
+                    android:fillColor="#FF3D2722" />
+            </group>
+            <group
+                android:name="group_310"
+                android:translateX="127.64619"
+                android:translateY="271.48389" >
+                <path
+                    android:name="path_309"
+                    android:pathData="M 2.25550842285,6.74801635742 c 0.0,0.0 0.0,0.0 0.0,0.0 c -1.08500671387,0.346984863281 -2.24600219727,-0.251007080078 -2.59301757812,-1.33599853516 c 0.0,0.0 -3.6009979248,-11.25 -3.6009979248,-11.25 c 0.0,0.0 3.9289855957,-1.25701904297 3.9289855957,-1.25701904297 c 0.0,0.0 3.60102844238,11.25 3.60102844238,11.25 c 0.34700012207,1.08499145508 -0.251007080078,2.24600219727 -1.33599853516,2.59301757812 Z"
+                    android:fillColor="#FFFFCCBB" />
+            </group>
+            <group
+                android:name="group_311"
+                android:translateX="125.60709"
+                android:translateY="264.81281" >
+                <path
+                    android:name="path_310"
+                    android:pathData="M 2.18200683594,0.052001953125 c 0.0,0.0 -3.9280090332,1.25698852539 -3.9280090332,1.25698852539 c 0.0,0.0 -0.436004638672,-1.36099243164 -0.436004638672,-1.36099243164 c 0.0,0.0 3.9280090332,-1.25701904297 3.9280090332,-1.25701904297 c 0.0,0.0 0.436004638672,1.36102294922 0.436004638672,1.36102294922 Z"
+                    android:fillColor="#FF6C4B41" />
+            </group>
+            <group
+                android:name="group_312"
+                android:translateX="286.32587"
+                android:translateY="229.07289" >
+                <path
+                    android:name="path_311"
+                    android:pathData="M 26.3925170898,-20.1920013428 c 0.0,0.0 -10.4379882812,49.341003418 -10.4379882812,49.341003418 c -1.50500488281,7.11801147461 -8.49603271484,11.6679992676 -15.6130371094,10.1619873047 c 0.0,0.0 -16.5719604492,-3.50598144531 -16.5719604492,-3.50598144531 c -7.11804199219,-1.50500488281 -11.6680297852,-8.49600219727 -10.1619873047,-15.6140136719 c 0.0,0.0 10.4379882812,-49.341003418 10.4379882812,-49.341003418 c 1.50500488281,-7.11798095703 8.49597167969,-11.6669921875 15.6140136719,-10.1609802246 c 0.0,0.0 16.5719604492,3.50498962402 16.5719604492,3.50498962402 c 7.11700439453,1.5059967041 11.6669921875,8.49600219727 10.1610107422,15.6139984131 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_313"
+                android:translateX="283.37869"
+                android:translateY="229.07289" >
+                <path
+                    android:name="path_312"
+                    android:pathData="M 26.391998291,-20.1920013428 c 0.0,0.0 -10.4379882812,49.341003418 -10.4379882812,49.341003418 c -1.50500488281,7.11801147461 -8.49603271484,11.6679992676 -15.6130371094,10.1619873047 c 0.0,0.0 -16.5719604492,-3.50598144531 -16.5719604492,-3.50598144531 c -7.11804199219,-1.50500488281 -11.6670074463,-8.49600219727 -10.1619873047,-15.6140136719 c 0.0,0.0 10.4379882812,-49.341003418 10.4379882812,-49.341003418 c 1.50500488281,-7.11798095703 8.49597167969,-11.6669921875 15.6140136719,-10.1609802246 c 0.0,0.0 16.5719604492,3.50498962402 16.5719604492,3.50498962402 c 7.11700439453,1.5059967041 11.6669921875,8.49600219727 10.1610107422,15.6139984131 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_314"
+                android:translateX="283.37869"
+                android:translateY="229.07289" >
+                <path
+                    android:name="path_313"
+                    android:pathData="M 26.391998291,-20.1920013428 c 0.0,0.0 -10.4379882812,49.341003418 -10.4379882812,49.341003418 c -1.50500488281,7.11801147461 -8.49603271484,11.6679992676 -15.6130371094,10.1619873047 c 0.0,0.0 -16.5719604492,-3.50598144531 -16.5719604492,-3.50598144531 c -7.11804199219,-1.50500488281 -11.6670074463,-8.49600219727 -10.1619873047,-15.6140136719 c 0.0,0.0 10.4379882812,-49.341003418 10.4379882812,-49.341003418 c 1.50500488281,-7.11798095703 8.49597167969,-11.6669921875 15.6140136719,-10.1609802246 c 0.0,0.0 16.5719604492,3.50498962402 16.5719604492,3.50498962402 c 7.11700439453,1.5059967041 11.6669921875,8.49600219727 10.1610107422,15.6139984131 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_315"
+                android:translateX="279.99619"
+                android:translateY="201.3084" >
+                <path
+                    android:name="path_314"
+                    android:pathData="M 6.19149780273,1.30949401855 c -0.723022460938,3.41900634766 -4.08197021484,5.60501098633 -7.5009765625,4.88101196289 c -3.41900634766,-0.723007202148 -5.60504150391,-4.08100891113 -4.88104248047,-7.5 c 0.723022460938,-3.42001342773 4.08099365234,-5.60501098633 7.50103759766,-4.88201904297 c 3.41900634766,0.724014282227 5.60400390625,4.08200073242 4.88098144531,7.50100708008 Z"
+                    android:fillColor="#FF4DB6AC" />
+            </group>
+            <group
+                android:name="group_316"
+                android:translateX="298.14447"
+                android:translateY="205.14749" >
+                <path
+                    android:name="path_315"
+                    android:pathData="M 6.19152832031,1.30950927734 c -0.723022460938,3.41900634766 -4.08203125,5.60499572754 -7.50103759766,4.8809967041 c -3.41900634766,-0.723007202148 -5.60498046875,-4.08100891113 -4.88098144531,-7.5 c 0.722961425781,-3.41999816895 4.08099365234,-5.60499572754 7.5009765625,-4.88200378418 c 3.41900634766,0.723999023438 5.60400390625,4.08200073242 4.88104248047,7.50100708008 Z"
+                    android:fillColor="#FF9475CD" />
+            </group>
+            <group
+                android:name="group_317"
+                android:translateX="276.28439"
+                android:translateY="218.85519" >
+                <path
+                    android:name="path_316"
+                    android:pathData="M 6.19149780273,1.30950927734 c -0.723022460938,3.41900634766 -4.08197021484,5.60499572754 -7.5009765625,4.8809967041 c -3.41900634766,-0.723007202148 -5.60504150391,-4.08100891113 -4.88104248047,-7.5 c 0.723022460938,-3.41999816895 4.08099365234,-5.60499572754 7.50103759766,-4.88200378418 c 3.41900634766,0.723999023438 5.60400390625,4.08200073242 4.88098144531,7.50100708008 Z"
+                    android:fillColor="#FF8D6D62" />
+            </group>
+            <group
+                android:name="group_318"
+                android:translateX="294.43277"
+                android:translateY="222.69429" >
+                <path
+                    android:name="path_317"
+                    android:pathData="M 6.19149780273,1.30949401855 c -0.723022460938,3.41900634766 -4.08197021484,5.60501098633 -7.5009765625,4.88101196289 c -3.41900634766,-0.722991943359 -5.60504150391,-4.08099365234 -4.88104248047,-7.5 c 0.723022460938,-3.41999816895 4.08099365234,-5.60501098633 7.50103759766,-4.88200378418 c 3.41900634766,0.724014282227 5.60400390625,4.08200073242 4.88098144531,7.50099182129 Z"
+                    android:fillColor="#FFFFD44F" />
+            </group>
+            <group
+                android:name="group_319"
+                android:translateX="272.57257"
+                android:translateY="236.4019" >
+                <path
+                    android:name="path_318"
+                    android:pathData="M 6.19152832031,1.30949401855 c -0.723022460938,3.41900634766 -4.08203125,5.60501098633 -7.50103759766,4.88101196289 c -3.41900634766,-0.723007202148 -5.60498046875,-4.08100891113 -4.88098144531,-7.5 c 0.722961425781,-3.42001342773 4.08099365234,-5.60501098633 7.5009765625,-4.88201904297 c 3.41900634766,0.724014282227 5.60400390625,4.08200073242 4.88104248047,7.50100708008 Z"
+                    android:fillColor="#FFFF8964" />
+            </group>
+            <group
+                android:name="group_320"
+                android:translateX="290.72098"
+                android:translateY="240.241" >
+                <path
+                    android:name="path_319"
+                    android:pathData="M 6.19149780273,1.30949401855 c -0.723022460938,3.41900634766 -4.08197021484,5.60499572754 -7.5009765625,4.8809967041 c -3.41900634766,-0.722991943359 -5.60504150391,-4.08099365234 -4.88104248047,-7.5 c 0.723022460938,-3.41998291016 4.08099365234,-5.60499572754 7.50103759766,-4.88198852539 c 3.41900634766,0.723999023438 5.60400390625,4.08200073242 4.88098144531,7.50099182129 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_321"
+                android:translateX="297.14038"
+                android:translateY="241.0983" >
+                <path
+                    android:name="path_320"
+                    android:pathData="M 2.15301513672,-3.85501098633 c 0.0,0.0 0.0,0.0 0.0,0.0 c 0.184997558594,-0.875991821289 -0.375,-1.73699951172 -1.25103759766,-1.92199707031 c 0.0,0.0 -6.01098632812,-1.27198791504 -6.01098632812,-1.27198791504 c 0.0,0.0 -2.61999511719,12.3829956055 -2.61999511719,12.3829956055 c 0.0,0.0 5.7919921875,1.22499084473 5.7919921875,1.22499084473 c 2.31799316406,0.490020751953 4.59497070312,-0.991989135742 5.08599853516,-3.30999755859 c 0.184997558594,-0.875991821289 1.04602050781,-1.43598937988 1.92199707031,-1.25099182129 c 0.0,0.0 0.497009277344,0.104995727539 0.497009277344,0.104995727539 c 0.8759765625,0.184997558594 1.73699951172,-0.375 1.92199707031,-1.25100708008 c 0.0,0.0 0.0540161132812,-0.251983642578 0.0540161132812,-0.251983642578 c 0.184997558594,-0.876007080078 -0.375,-1.73600769043 -1.25103759766,-1.92199707031 c 0.0,0.0 -2.88897705078,-0.61100769043 -2.88897705078,-0.61100769043 c -0.8759765625,-0.184997558594 -1.43603515625,-1.04600524902 -1.2509765625,-1.9220123291 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_322"
+                android:translateX="268.86078"
+                android:translateY="253.9487" >
+                <path
+                    android:name="path_321"
+                    android:pathData="M 6.19152832031,1.30949401855 c -0.723022460938,3.41899108887 -4.08203125,5.60499572754 -7.50103759766,4.8809967041 c -3.41900634766,-0.722991943359 -5.60498046875,-4.08099365234 -4.88098144531,-7.5 c 0.722961425781,-3.41998291016 4.08099365234,-5.60499572754 7.5009765625,-4.88198852539 c 3.41900634766,0.723999023438 5.60400390625,4.08200073242 4.88104248047,7.50099182129 Z"
+                    android:fillColor="#FFAC1356" />
+            </group>
+            <group
+                android:name="group_323"
+                android:translateX="287.00919"
+                android:translateY="257.78772" >
+                <path
+                    android:name="path_322"
+                    android:pathData="M 6.19149780273,1.30947875977 c -0.723022460938,3.41900634766 -4.08197021484,5.60501098633 -7.5009765625,4.88101196289 c -3.41900634766,-0.723022460938 -5.60504150391,-4.08102416992 -4.88104248047,-7.5 c 0.723022460938,-3.42001342773 4.08099365234,-5.60501098633 7.50103759766,-4.88201904297 c 3.41900634766,0.723999023438 5.60400390625,4.08200073242 4.88098144531,7.50100708008 Z"
+                    android:fillColor="#FF1E87E4" />
+            </group>
+            <group
+                android:name="group_324"
+                android:translateX="300.41156"
+                android:translateY="235.08319" >
+                <path
+                    android:name="path_323"
+                    android:pathData="M 0.7705078125,1.74301147461 c 0.0,0.0 -2.18103027344,-0.460998535156 -2.18103027344,-0.460998535156 c -0.830993652344,-0.175994873047 -1.36798095703,-1.00100708008 -1.19195556641,-1.8330078125 c 0.175964355469,-0.830993652344 1.0,-1.36799621582 1.83197021484,-1.19200134277 c 0.0,0.0 2.18103027344,0.461013793945 2.18103027344,0.461013793945 c 0.831970214844,0.175994873047 1.36798095703,1.00099182129 1.19195556641,1.83299255371 c -0.175964355469,0.831008911133 -1.0,1.36799621582 -1.83197021484,1.19200134277 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_325"
+                android:translateX="304.2966"
+                android:translateY="246.6469" >
+                <path
+                    android:name="path_324"
+                    android:pathData="M 0.652008056641,1.64799499512 c 0.0,0.0 -0.452026367188,-0.0959930419922 -0.452026367188,-0.0959930419922 c -0.830993652344,-0.175003051758 -1.36798095703,-1.0 -1.19201660156,-1.83200073242 c 0.176025390625,-0.832000732422 1.0,-1.36799621582 1.83203125,-1.19200134277 c 0.0,0.0 0.328002929688,0.0690002441406 0.328002929687,0.0690002441406"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_326"
+                android:translateX="305.8273"
+                android:translateY="247.44919" >
+                <path
+                    android:name="path_325"
+                    android:pathData="M -0.488006591797,-1.61349487305 c 0.0,0.0 0.1240234375,0.0260009765625 0.1240234375,0.0260009765625 c 0.831970214844,0.175994873047 1.36798095703,1.00100708008 1.19195556641,1.8330078125 c -0.174987792969,0.830993652344 -1.0,1.36799621582 -1.83197021484,1.19198608398"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_327"
+                android:translateX="238.0864"
+                android:translateY="231.5513" >
+                <path
+                    android:name="path_326"
+                    android:pathData="M -22.7230072021,39.3385009766 c 0.0,0.0 45.4459991455,-78.6770019531 45.4459991455,-78.6770019531"
+                    android:strokeColor="#FFADD481"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_328"
+                android:translateX="212.30139"
+                android:translateY="276.99939" >
+                <path
+                    android:name="path_327"
+                    android:pathData="M 2.67150878906,-5.43350219727 c 0.0,0.0 0.0,0.0 0.0,0.0 c -3.24700927734,0.869018554688 -4.37901306152,0.910003662109 -5.28601074219,4.14700317383 c -0.802001953125,2.86599731445 -1.45700073242,5.91198730469 -0.757995605469,6.31600952148 c 0.699996948242,0.403991699219 3.01100158691,-1.68499755859 5.09300231934,-3.81201171875 c 2.3509979248,-2.40298461914 1.81999206543,-3.40399169922 0.95100402832,-6.65100097656 Z"
+                    android:fillColor="#FF253138" />
+            </group>
+            <group
+                android:name="group_329"
+                android:translateX="229.85938"
+                android:translateY="245.784" >
+                <path
+                    android:name="path_328"
+                    android:pathData="M 1.50401306152,0.363494873047 c 0.0,0.0 -2.5710144043,-1.48498535156 -2.5710144043,-1.48498535156 c 0.0,0.0 -0.43701171875,0.757995605469 -0.43701171875,0.757995605469 c 0.0,0.0 2.57000732422,1.48498535156 2.57000732422,1.48498535156 c 0.0,0.0 0.438018798828,-0.757995605469 0.438018798828,-0.757995605469 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_330"
+                android:translateX="230.96918"
+                android:translateY="243.8627" >
+                <path
+                    android:name="path_329"
+                    android:pathData="M 1.50401306152,0.363494873047 c 0.0,0.0 -2.5710144043,-1.48498535156 -2.5710144043,-1.48498535156 c 0.0,0.0 -0.43701171875,0.757995605469 -0.43701171875,0.757995605469 c 0.0,0.0 2.57000732422,1.48498535156 2.57000732422,1.48498535156 c 0.0,0.0 0.438018798828,-0.757995605469 0.438018798828,-0.757995605469 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_331"
+                android:translateX="48.8246"
+                android:translateY="170.44751" >
+                <path
+                    android:name="path_330"
+                    android:pathData="M 25.3650054932,-0.00002 c 0.0,14.0090026855 -11.3560028076,25.3650054932 -25.365020752,25.3650054932 c -14.0089874268,0.0 -25.3649902344,-11.3560028076 -25.3649902344,-25.3650054932 c 0.0,-14.0089874268 11.3560028076,-25.3649902344 25.3649902344,-25.3649902344 c 14.0090179443,0.0 25.365020752,11.3560028076 25.365020752,25.3649902344 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_332"
+                android:translateX="51.90639"
+                android:translateY="170.11481" >
+                <path
+                    android:name="path_331"
+                    android:pathData="M 25.3650054932,-0.00002 c 0.0,14.0090026855 -11.3560028076,25.3650054932 -25.365020752,25.3650054932 c -14.0089874268,0.0 -25.3649902344,-11.3560028076 -25.3649902344,-25.3650054932 c 0.0,-14.0089874268 11.3560028076,-25.3649902344 25.3649902344,-25.3649902344 c 14.0090179443,0.0 25.365020752,11.3560028076 25.365020752,25.3649902344 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_333"
+                android:translateX="51.90639"
+                android:translateY="170.11481" >
+                <path
+                    android:name="path_332"
+                    android:pathData="M 25.3650054932,-0.00002 c 0.0,14.0090026855 -11.3560028076,25.3650054932 -25.365020752,25.3650054932 c -14.0089874268,0.0 -25.3649902344,-11.3560028076 -25.3649902344,-25.3650054932 c 0.0,-14.0089874268 11.3560028076,-25.3649902344 25.3649902344,-25.3649902344 c 14.0090179443,0.0 25.365020752,11.3560028076 25.365020752,25.3649902344 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_334"
+                android:translateX="48.82339"
+                android:translateY="170.36369" >
+                <path
+                    android:name="path_333"
+                    android:pathData="M 10.1770019531,-7.69650268555 c -5.00700378418,-5.00799560547 -13.1260070801,-5.00799560547 -18.1340026855,0.0 c -0.531005859375,0.531005859375 -1.01800537109,1.09100341797 -1.45899963379,1.67401123047 c -4.51300048828,5.96099853516 -2.06800842285,13.5569915771 3.33898925781,17.0009918213 c 0.378005981445,-0.276992797852 0.841003417969,-0.44499206543 1.3450012207,-0.44499206543 c 0.00300598144531,0.0 0.0050048828125,0.000991821289061 0.00700378417969,0.0009918212891 c 0.356002807617,-0.802993774414 1.15800476074,-1.36499023438 2.09300231934,-1.36499023437 c 1.02600097656,0.0 1.88400268555,0.677993774414 2.17599487305,1.60699462891 c 0.0390014648438,-0.00199890136719 0.0760040283203,-0.0119934082031 0.115997314453,-0.0119934082032 c 1.14501953125,0.0 2.08601379395,0.842987060547 2.25701904297,1.93998718262 c 0.335998535156,-0.0469970703125 0.674987792969,-0.108993530273 1.01699829102,-0.184997558594 c 4.35499572754,-0.981002807617 8.15299987793,-4.09399414062 9.27200317383,-8.41600036621 c 0.0619964599609,-0.239990234375 0.139999389648,-0.476989746094 0.235000610352,-0.711990356445 c 1.48799133301,-3.69900512695 0.733993530273,-8.09001159668 -2.26400756836,-11.0880126953 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_335"
+                android:translateX="51.20139"
+                android:translateY="169.4281" >
+                <path
+                    android:name="path_334"
+                    android:pathData="M 10.1770019531,-7.69650268555 c -5.00700378418,-5.00799560547 -13.1260070801,-5.00799560547 -18.1340026855,0.0 c -0.531005859375,0.531005859375 -1.01800537109,1.09100341797 -1.45899963379,1.67401123047 c -4.51300048828,5.96099853516 -2.06800842285,13.5569915771 3.33898925781,17.0009918213 c 0.378005981445,-0.276992797852 0.841003417969,-0.44499206543 1.3450012207,-0.44499206543 c 0.00300598144531,0.0 0.0050048828125,0.000991821289061 0.00700378417969,0.0009918212891 c 0.356002807617,-0.802993774414 1.15800476074,-1.36499023438 2.09300231934,-1.36499023437 c 1.02600097656,0.0 1.88400268555,0.677993774414 2.17599487305,1.60699462891 c 0.0390014648438,-0.00199890136719 0.0760040283203,-0.0119934082031 0.115997314453,-0.0119934082032 c 1.14501953125,0.0 2.08601379395,0.842987060547 2.25701904297,1.93998718262 c 0.335998535156,-0.0469970703125 0.674987792969,-0.108993530273 1.01699829102,-0.184997558594 c 4.35499572754,-0.981002807617 8.15299987793,-4.09399414062 9.27200317383,-8.41600036621 c 0.0619964599609,-0.239990234375 0.139999389648,-0.476989746094 0.235000610352,-0.711990356445 c 1.48799133301,-3.69900512695 0.733993530273,-8.09001159668 -2.26400756836,-11.0880126953 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_336"
+                android:translateX="51.49809"
+                android:translateY="170.46561" >
+                <path
+                    android:name="path_335"
+                    android:pathData="M 9.02951049805,5.18098449707 c -4.08500671387,4.08500671387 -10.7070159912,4.08500671387 -14.7920074463,0.0 c -3.2670135498,-3.2679901123 -3.2670135498,-8.5659942627 0.0,-11.8329925537 c 2.61499023438,-2.61399841309 6.85299682617,-2.61399841309 9.46699523926,0.0 c 2.09100341797,2.09100341797 2.09100341797,5.48199462891 0.0,7.57299804688 c -1.6729888916,1.67300415039 -4.38600158691,1.67300415039 -6.0590057373,0.0 c -1.33799743652,-1.33799743652 -1.33799743652,-3.50799560547 0.0,-4.84700012207 c 1.07099914551,-1.07099914551 2.80700683594,-1.07099914551 3.87800598145,0.0 c 0.857009887695,0.856994628906 0.857009887695,2.24600219727 0.0,3.10200500488"
+                    android:strokeColor="#FFFF6E00"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_337"
+                android:translateX="46.62569"
+                android:translateY="161.8526" >
+                <path
+                    android:name="path_336"
+                    android:pathData="M -0.156005859375,-0.553009033203 c 0.0,0.0 0.31201171875,1.10600280762 0.31201171875,1.10600280762"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_338"
+                android:translateX="57.3581"
+                android:translateY="162.95889" >
+                <path
+                    android:name="path_337"
+                    android:pathData="M 0.402496337891,-0.410003662109 c 0.0,0.0 -0.804992675781,0.820007324219 -0.804992675781,0.820007324219"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_339"
+                android:translateX="46.47"
+                android:translateY="177.03209" >
+                <path
+                    android:name="path_338"
+                    android:pathData="M 0.402496337891,-0.410003662109 c 0.0,0.0 -0.804992675781,0.820007324219 -0.804992675781,0.820007324219"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_340"
+                android:translateX="54.84839"
+                android:translateY="174.884" >
+                <path
+                    android:name="path_339"
+                    android:pathData="M -0.259994506836,-0.512512207031 c 0.0,0.0 0.519989013672,1.02500915527 0.519989013672,1.02500915527"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_341"
+                android:translateX="43.83579"
+                android:translateY="170.28149" >
+                <path
+                    android:name="path_340"
+                    android:pathData="M -0.550506591797,0.166000366211 c 0.0,0.0 1.10101318359,-0.331985473633 1.10101318359,-0.331985473633"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_342"
+                android:translateX="61.45499"
+                android:translateY="169.65689" >
+                <path
+                    android:name="path_341"
+                    android:pathData="M -0.550506591797,0.166000366211 c 0.0,0.0 1.10101318359,-0.331985473633 1.10101318359,-0.331985473633"
+                    android:strokeColor="#FF870E4F"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_343"
+                android:translateX="102.00758"
+                android:translateY="40.52969" >
+                <path
+                    android:name="path_342"
+                    android:pathData="M 7.47351074219,-3.21051025391 c 1.53298950195,3.56900024414 -0.570007324219,7.90002441406 -4.69700622559,9.67300415039 c -4.12800598145,1.77301025391 -8.71699523926,0.317016601562 -10.25,-3.25198364258 c -1.53300476074,-3.57000732422 0.56999206543,-7.89999389648 4.69700622559,-9.67300415039 c 4.12799072266,-1.77301025391 8.71699523926,-0.316986083984 10.25,3.25198364258 Z"
+                    android:strokeColor="#FFFFF076"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_344"
+                android:translateX="136.17389"
+                android:translateY="44.1395" >
+                <path
+                    android:name="path_343"
+                    android:pathData="M -5.6490020752,8.19149780273 c 0.0,0.0 0.964996337891,-9.21997070312 0.964996337891,-9.21997070312 c 0.0,0.0 0.560989379883,-5.35400390625 0.560989379883,-5.35400390625 c 0.129013061523,-1.23400878906 1.59600830078,-1.80902099609 2.52900695801,-0.990997314453 c 0.0,0.0 7.24299621582,6.34997558594 7.24299621582,6.34997558594"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_345"
+                android:translateX="110.17838"
+                android:translateY="61.5845" >
+                <path
+                    android:name="path_344"
+                    android:pathData="M -7.15350341797,7.86898803711 c 0.0,0.0 3.9409942627,-12.6879882812 3.9409942627,-12.6879882812 c 0.639999389648,-2.06201171875 2.98399353027,-3.04998779297 4.90701293945,-2.06799316406 c 0.0,0.0 1.25,0.638000488281 1.25,0.638000488281 c 0.0,0.0 4.20899963379,2.14898681641 4.20899963379,2.14898681641"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_346"
+                android:translateX="100.96999"
+                android:translateY="60.11751" >
+                <path
+                    android:name="path_345"
+                    android:pathData="M -4.77499389648,-0.576507568359 c 0.0,0.0 9.54998779297,1.15301513672 9.54998779297,1.15301513672"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_347"
+                android:translateX="115.6152"
+                android:translateY="51.74001" >
+                <path
+                    android:name="path_346"
+                    android:pathData="M -1.71650695801,3.99198913574 c 0.0,0.0 3.43301391602,-7.98397827148 3.43301391602,-7.98397827148"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_348"
+                android:translateX="129.80139"
+                android:translateY="42.82541" >
+                <path
+                    android:name="path_347"
+                    android:pathData="M -1.68899536133,-0.286010742188 c 0.0,0.0 3.37799072266,0.572021484375 3.37799072266,0.572021484375"
+                    android:strokeColor="#FFD3E056"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_349"
+                android:translateX="120.64919"
+                android:translateY="40.74272" >
+                <path
+                    android:name="path_348"
+                    android:pathData="M 2.46751403809,6.15098571777 c 0.0,0.0 0.0,2.80001831055 0.0,2.80001831055 c 0.0,3.50601196289 5.25498962402,3.70199584961 5.44898986816,0.201995849609 c 0.121002197266,-2.19598388672 0.00799560546875,-4.64700317383 -0.453002929688,-7.35598754883 c -2.46199035645,-14.450012207 -15.5010070801,-8.90899658203 -11.9020080566,-1.63400268555"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_350"
+                android:translateX="120.64919"
+                android:translateY="40.74272" >
+                <path
+                    android:name="path_349"
+                    android:pathData="M 2.46751403809,6.15098571777 c 0.0,0.0 0.0,2.80001831055 0.0,2.80001831055 c 0.0,3.50601196289 5.25498962402,3.70199584961 5.44898986816,0.201995849609 c 0.121002197266,-2.19598388672 0.00799560546875,-4.64700317383 -0.453002929688,-7.35598754883 c -2.46199035645,-14.450012207 -15.5010070801,-8.90899658203 -11.9020080566,-1.63400268555"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_351"
+                android:translateX="120.13398"
+                android:translateY="42.53951" >
+                <path
+                    android:name="path_350"
+                    android:pathData="M 0.00002,-5.65650939941 c -2.3150177002,0.0 -4.19102478027,2.77102661133 -4.19102478027,6.19000244141 c 0.0,3.41900634766 1.87600708008,5.12301635742 4.19102478027,5.12301635742 c 2.31498718262,0.0 4.1909942627,-1.70401000977 4.1909942627,-5.12301635742 c 0.0,0.0 -4.1909942627,-6.19000244141 -4.1909942627,-6.19000244141 Z"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_352"
+                android:translateX="120.13398"
+                android:translateY="42.53951" >
+                <path
+                    android:name="path_351"
+                    android:pathData="M 0.00002,-5.65650939941 c -2.3150177002,0.0 -4.19102478027,2.77102661133 -4.19102478027,6.19000244141 c 0.0,3.41900634766 1.87600708008,5.12301635742 4.19102478027,5.12301635742 c 2.31498718262,0.0 4.1909942627,-1.70401000977 4.1909942627,-5.12301635742 c 0.0,0.0 -4.1909942627,-6.19000244141 -4.1909942627,-6.19000244141 Z"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_353"
+                android:translateX="124.91119"
+                android:translateY="43.8264" >
+                <path
+                    android:name="path_352"
+                    android:pathData="M -0.947494506836,-1.28700256348 c 0.0,0.0 1.89498901367,2.57400512695 1.89498901367,2.57400512695"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_354"
+                android:translateX="124.91119"
+                android:translateY="43.8264" >
+                <path
+                    android:name="path_353"
+                    android:pathData="M -0.947494506836,-1.28700256348 c 0.0,0.0 1.89498901367,2.57400512695 1.89498901367,2.57400512695"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_355"
+                android:translateX="115.64208"
+                android:translateY="63.32948" >
+                <path
+                    android:name="path_354"
+                    android:pathData="M 1.69651794434,-16.2375030518 c 0.0,0.0 1.84599304199,8.15200805664 1.84599304199,8.15200805664 c 0.343994140625,1.51901245117 -0.162994384766,3.10501098633 -1.32299804688,4.14399719238 c 0.0,0.0 -2.50701904297,2.24600219727 -2.50701904297,2.24600219727 c -2.33999633789,2.09599304199 -3.59899902344,5.14300537109 -3.42100524902,8.27899169922 c 0.0,0.0 0.547012329102,9.65400695801 0.547012329102,9.65400695801"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_356"
+                android:translateX="115.64208"
+                android:translateY="63.32948" >
+                <path
+                    android:name="path_355"
+                    android:pathData="M 1.69651794434,-16.2375030518 c 0.0,0.0 1.84599304199,8.15200805664 1.84599304199,8.15200805664 c 0.343994140625,1.51901245117 -0.162994384766,3.10501098633 -1.32299804688,4.14399719238 c 0.0,0.0 -2.50701904297,2.24600219727 -2.50701904297,2.24600219727 c -2.33999633789,2.09599304199 -3.59899902344,5.14300537109 -3.42100524902,8.27899169922 c 0.0,0.0 0.547012329102,9.65400695801 0.547012329102,9.65400695801"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_357"
+                android:translateX="135.05508"
+                android:translateY="59.54121" >
+                <path
+                    android:name="path_356"
+                    android:pathData="M -11.7359924316,-8.70851135254 c 0.0,0.0 0.0,0.0 0.0,0.0 c 0.556991577148,1.8860168457 2.32398986816,3.15200805664 4.28898620605,3.07202148438 c 0.0,0.0 4.39401245117,-0.177001953125 4.39401245117,-0.177001953125 c 3.83099365234,-0.153991699219 7.43099975586,1.82598876953 9.35398864746,5.14300537109 c 0.0,0.0 5.43501281738,9.37899780273 5.43501281738,9.37899780273"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_358"
+                android:translateX="120.29528"
+                android:translateY="74.44659" >
+                <path
+                    android:name="path_357"
+                    android:pathData="M -2.05400085449,3.16549682617 c 0.0,0.0 -0.674011230469,-6.33099365234 -0.674011230469,-6.33099365234 c 0.0,0.0 5.45602416992,4.36100769043 5.45602416992,4.36100769043"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_359"
+                android:translateX="120.29528"
+                android:translateY="74.44659" >
+                <path
+                    android:name="path_358"
+                    android:pathData="M -2.05400085449,3.16549682617 c 0.0,0.0 -0.674011230469,-6.33099365234 -0.674011230469,-6.33099365234 c 0.0,0.0 5.45602416992,4.36100769043 5.45602416992,4.36100769043"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_360"
+                android:translateX="138.90179"
+                android:translateY="66.39219" >
+                <path
+                    android:name="path_359"
+                    android:pathData="M -1.9965057373,-3.4820098877 c 0.0,0.0 3.99299621582,6.96401977539 3.99299621582,6.96401977539"
+                    android:fillColor="#FFFFFFFF" />
+            </group>
+            <group
+                android:name="group_361"
+                android:translateX="138.90179"
+                android:translateY="66.39219" >
+                <path
+                    android:name="path_360"
+                    android:pathData="M -1.9965057373,-3.4820098877 c 0.0,0.0 3.99299621582,6.96401977539 3.99299621582,6.96401977539"
+                    android:strokeColor="#FF90C9F8"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_362"
+                android:translateX="198.94518"
+                android:translateY="191.4698" >
+                <path
+                    android:name="path_361"
+                    android:pathData="M 1.50401306152,-8.51550292969 c 0.0,0.0 -4.13500976562,12.2270050049 -4.30000305176,13.7710113525 c -0.165008544922,1.54399108887 0.953002929688,2.9289855957 2.49699401855,3.09399414063 c 1.54499816895,0.166000366211 2.93000793457,-0.953002929688 3.0950012207,-2.49700927734 c 0.164993286133,-1.54399108887 -1.2919921875,-14.3679962158 -1.2919921875,-14.3679962158 Z"
+                    android:fillColor="#FF253138" />
+            </group>
+            <group
+                android:name="group_363"
+                android:translateX="199.90179"
+                android:translateY="187.76151" >
+                <path
+                    android:name="path_362"
+                    android:pathData="M 1.3390045166,2.63497924805 c 0.0,0.0 -0.579010009766,-0.0619812011719 -0.579010009766,-0.0619812011719 c -0.330001831055,-0.0350036621094 -0.626998901367,0.203994750977 -0.662002563477,0.535003662109 c 0.0,0.0 -0.121002197266,1.12899780273 -0.121002197266,1.12899780273 c -0.0349884033203,0.330993652344 -0.331985473633,0.56999206543 -0.662994384766,0.53498840332 c 0.0,0.0 -0.0260009765625,-0.00300598144531 -0.0260009765625,-0.00300598144531 c -0.330001831055,-0.0349884033203 -0.56999206543,-0.332000732422 -0.533996582031,-0.662994384766 c 0.0,0.0 0.278991699219,-2.61499023438 0.278991699219,-2.61499023438 c 0.0290069580078,-0.272003173828 -0.131988525391,-0.512008666992 -0.371994018555,-0.611999511719 c 0.981002807617,-3.00801086426 1.88600158691,-5.68600463867 1.88600158691,-5.68600463867 c 0.0,0.0 0.427001953125,3.75199890137 0.792007446289,7.44198608398 Z"
+                    android:fillColor="#FF66BA6A" />
+            </group>
+            <group
+                android:name="group_364"
+                android:translateX="198.38759"
+                android:translateY="202.2453" >
+                <path
+                    android:name="path_363"
+                    android:pathData="M -0.219497680664,2.05249023438 c 0.0,0.0 0.438995361328,-4.10499572754 0.438995361328,-4.10499572754"
+                    android:strokeColor="#FFFFA725"
+                    android:strokeWidth="1"
+                    android:strokeLineCap="square" />
+            </group>
+            <group
+                android:name="group_365"
+                android:translateX="198.10229"
+                android:translateY="204.9142" >
+                <path
+                    android:name="path_364"
+                    android:pathData="M -0.232498168945,2.17399597168 c 0.0,0.0 0.464996337891,-4.34799194336 0.464996337891,-4.34799194336"
+                    android:strokeColor="#FF3D2722"
+                    android:strokeWidth="2"
+                    android:strokeLineCap="square" />
+            </group>
+            <group
+                android:name="group_366"
+                android:translateX="193.94189"
+                android:translateY="243.8385" >
+                <path
+                    android:name="path_365"
+                    android:pathData="M -4.16000366211,38.9244995117 c 0.0,0.0 8.31999206543,-77.8489990234 8.31999206543,-77.8489990234"
+                    android:strokeColor="#FF8D6D62"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_367"
+                android:translateX="190.31238"
+                android:translateY="277.79849" >
+                <path
+                    android:name="path_366"
+                    android:pathData="M -0.530487060547,4.96450805664 c 0.0,0.0 1.06098937988,-9.92901611328 1.06098937988,-9.92901611328"
+                    android:strokeColor="#FF3D2722"
+                    android:strokeWidth="3"
+                    android:strokeLineCap="round" />
+            </group>
+            <group
+                android:name="group_368"
+                android:translateX="207.4111"
+                android:translateY="69.4535" >
+                <path
+                    android:name="path_367"
+                    android:pathData="M 18.0222930908,-8.00341796875 c -4.78900146484,-13.9619903564 -19.4710083008,-21.5769805908 -32.7920074463,-17.0069732666 c -9.71800231934,3.333984375 -2.60800170898,7.62899780273 3.81100463867,15.1279754639 c 1.02899169922,1.20300292969 0.700988769531,3.0240020752 -0.638000488281,3.86700439453 c -0.867004394531,0.546997070312 -1.82400512695,1.48699951172 -2.91500854492,3.04899597168 c -0.453994750977,0.649002075195 -0.759994506836,1.41700744629 -0.763000488281,2.20899963379 c -0.0119934082031,3.30401611328 2.66300964355,5.98602294922 5.9640045166,5.98602294922 c 0.63200378418,0.0 1.24099731445,-0.0989990234375 1.81199645996,-0.281005859375 c 1.88000488281,-0.600997924805 3.77799987793,0.904998779297 3.83799743652,2.87800598145 c 0.343002319336,11.3899993896 -4.59199523926,21.4400024414 6.23500061035,17.7259979248 c 13.3209991455,-4.57000732422 20.237991333,-19.5930023193 15.4480133057,-33.5550231934 Z"
+                    android:fillColor="#FF9CCC64" />
+            </group>
+            <group
+                android:name="group_369"
+                android:translateX="174.97229"
+                android:translateY="56.22441" >
+                <path
+                    android:name="path_368"
+                    android:pathData="M 23.1285095215,12.396987915 c 0.0,0.0 -28.0540008545,-24.7939758301 -28.0540008545,-24.7939758301 c 0.0,0.0 -18.2030029297,12.9140014648 -18.2030029297,12.9140014648"
+                    android:strokeColor="#FFF57E16"
+                    android:strokeWidth="2" />
+            </group>
+            <group
+                android:name="group_370"
+                android:translateX="41.57609"
+                android:translateY="243.8251" >
+                <path
+                    android:name="path_369"
+                    android:pathData="M -15.0195007324,-8.51950073242 c 6.5,-6.5 17.0390014648,-6.5 23.5390014648,0.0 c 6.5,6.5 6.5,17.0390014648 0.0,23.5390014648"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_371"
+                android:translateX="42.84969"
+                android:translateY="242.55069" >
+                <path
+                    android:name="path_370"
+                    android:pathData="M -10.6029968262,-1.55499267578 c 6.5,-6.5 14.4909973145,-9.04800415039 17.8489990234,-5.69000244141 c 3.35699462891,3.35699462891 0.809997558594,11.3479919434 -5.69100952148,17.8479919434"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_372"
+                android:translateX="60.70589"
+                android:translateY="224.69501" >
+                <path
+                    android:name="path_371"
+                    android:pathData="M -22.3800048828,22.379989624 c 0.0,0.0 44.7600097656,-44.7599945068 44.7600097656,-44.7599945068"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_373"
+                android:translateX="79.61819"
+                android:translateY="205.78259" >
+                <path
+                    android:name="path_372"
+                    android:pathData="M -11.1900024414,11.1900024414 c 0.0,0.0 22.3800048828,-22.3800048828 22.3800048828,-22.3800048828"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_374"
+                android:translateX="54.76009"
+                android:translateY="222.509" >
+                <path
+                    android:name="path_373"
+                    android:pathData="M -4.21350097656,3.91899108887 c 0.0,0.0 -5.04899597168,-5.04899597168 -5.04899597168,-5.04899597168 c 5.11499023438,-5.11599731445 13.408996582,-5.11599731445 18.5249938965,0.0 c 0.0,0.0 -5.05000305176,5.04899597168 -5.05000305176,5.04899597168 c -2.32699584961,2.3270111084 -6.09899902344,2.3270111084 -8.42599487305,0.0 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_375"
+                android:translateX="82.19859"
+                android:translateY="211.33409" >
+                <path
+                    android:name="path_374"
+                    android:pathData="M -3.91900634766,4.21350097656 c 0.0,0.0 5.04899597168,5.04899597168 5.04899597168,5.04899597168 c 5.11601257324,-5.11499023438 5.11601257324,-13.408996582 0.0,-18.5249938965 c 0.0,0.0 -5.04899597168,5.05000305176 -5.04899597168,5.05000305176 c -2.32699584961,2.32699584961 -2.32699584961,6.09899902344 0.0,8.42599487305 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_376" >
+                <path
+                    android:name="path_375"
+                    android:pathData="M 64.5937042236,220.807189941 c 0.0,0.0 -14.262008667,0.0 -14.262008667,0.0"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_377" >
+                <path
+                    android:name="path_376"
+                    android:pathData="M 83.0419921875,202.071990967 c 0.0,0.0 0.0,13.9750061035 0.0,13.9750061035"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_378" >
+                <path
+                    android:name="path_377"
+                    android:pathData="M 56.9391021729,228.17489624 c 0.0,0.0 0.0,6.67001342773 0.0,6.67001342774"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_379" >
+                <path
+                    android:name="path_378"
+                    android:pathData="M 74.6479949951,210.75289917 c 0.0,0.0 -6.66999816895,0.0 -6.66999816895,0.0"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_380" >
+                <path
+                    android:name="path_379"
+                    android:pathData="M 89.217300415,196.18359375 c 0.0,0.0 -6.67001342773,0.0 -6.67001342773,0.0"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_381" >
+                <path
+                    android:name="path_380"
+                    android:pathData="M 69.3576965332,215.756195068 c 0.0,0.0 0.0,6.67001342773 0.0,6.67001342774"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_382" >
+                <path
+                    android:name="path_381"
+                    android:pathData="M 87.9413909912,197.172485352 c 0.0,0.0 0.0,6.67001342773 0.0,6.67001342774"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_383"
+                android:translateX="49.76539"
+                android:translateY="259.17389" >
+                <path
+                    android:name="path_382"
+                    android:pathData="M -1.00050354004,-1.00048828125 c 0.552993774414,-0.553009033203 1.44900512695,-0.553009033203 2.00100708008,0.0 c 0.552993774414,0.552978515625 0.552993774414,1.44900512695 0.0,2.00100708008 c -0.552001953125,0.552978515625 -1.44801330566,0.552978515625 -2.00100708008,0.0 c -0.552993774414,-0.552001953125 -0.552993774414,-1.44802856445 0.0,-2.00100708008 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_384"
+                android:translateX="44.07529"
+                android:translateY="253.4838" >
+                <path
+                    android:name="path_383"
+                    android:pathData="M -1.00050354004,-1.00050354004 c 0.552993774414,-0.552993774414 1.44900512695,-0.552993774414 2.00100708008,0.0 c 0.552993774414,0.552993774414 0.552993774414,1.44900512695 0.0,2.00100708008 c -0.552001953125,0.552993774414 -1.44801330566,0.552993774414 -2.00100708008,0.0 c -0.552993774414,-0.552001953125 -0.552993774414,-1.44801330566 0.0,-2.00100708008 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_385"
+                android:translateX="37.99609"
+                android:translateY="247.4045" >
+                <path
+                    android:name="path_384"
+                    android:pathData="M -1.00050354004,-1.00050354004 c 0.552993774414,-0.552993774414 1.44900512695,-0.552993774414 2.00100708008,0.0 c 0.552993774414,0.553009033203 0.552993774414,1.44900512695 0.0,2.00100708008 c -0.552001953125,0.552993774414 -1.44801330566,0.552993774414 -2.00100708008,0.0 c -0.552993774414,-0.552001953125 -0.552993774414,-1.44799804688 0.0,-2.00100708008 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_386"
+                android:translateX="31.91679"
+                android:translateY="241.32529" >
+                <path
+                    android:name="path_385"
+                    android:pathData="M -1.00050354004,-1.00048828125 c 0.552993774414,-0.553009033203 1.44900512695,-0.553009033203 2.00100708008,0.0 c 0.552993774414,0.552993774414 0.552993774414,1.44900512695 0.0,2.00100708008 c -0.552001953125,0.552978515625 -1.44801330566,0.552978515625 -2.00100708008,0.0 c -0.552993774414,-0.552001953125 -0.552993774414,-1.44801330566 0.0,-2.00100708008 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_387"
+                android:translateX="26.22669"
+                android:translateY="235.63519" >
+                <path
+                    android:name="path_386"
+                    android:pathData="M -1.00050354004,-1.00048828125 c 0.553009033203,-0.553009033203 1.44900512695,-0.553009033203 2.00100708008,0.0 c 0.552993774414,0.552993774414 0.552993774414,1.44900512695 0.0,2.00100708008 c -0.552001953125,0.552978515625 -1.44799804688,0.552978515625 -2.00100708008,0.0 c -0.552993774414,-0.552001953125 -0.552993774414,-1.44801330566 0.0,-2.00100708008 Z"
+                    android:fillColor="#FFD74314" />
+            </group>
+            <group
+                android:name="group_388"
+                android:translateX="32.50839"
+                android:translateY="210.91901" >
+                <path
+                    android:name="path_387"
+                    android:pathData="M -3.32899475098,-6.40901184082 c 0.0,0.0 7.34199523926,-3.92399597168 7.34199523926,-3.92399597168 c 3.9759979248,7.43798828125 1.16900634766,16.6900024414 -6.26899719238,20.6660003662 c 0.0,0.0 -3.92399597168,-7.34100341797 -3.92399597168,-7.34100341797 c -1.8090057373,-3.38398742676 -0.532012939453,-7.59300231934 2.8509979248,-9.40100097656 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_389"
+                android:translateX="33.10959"
+                android:translateY="214.1284" >
+                <path
+                    android:name="path_388"
+                    android:pathData="M -2.41299438477,7.95500183105 c 0.0,0.0 4.82598876953,-15.9100036621 4.82598876953,-15.9100036621"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_390"
+                android:translateX="76.65839"
+                android:translateY="241.36301" >
+                <path
+                    android:name="path_389"
+                    android:pathData="M 5.166015625,0.137481689453 c 0.0,0.0 -0.667007446289,5.73501586914 -0.667007446289,5.73501586914 c -5.81100463867,-0.675994873047 -9.97300720215,-5.9340057373 -9.2970123291,-11.7449951172 c 0.0,0.0 5.73600769043,0.667999267578 5.73600769043,0.667999267578 c 2.64199829102,0.306991577148 4.53601074219,2.69898986816 4.22801208496,5.34197998047 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_391"
+                android:translateX="82.8942"
+                android:translateY="184.4523" >
+                <path
+                    android:name="path_390"
+                    android:pathData="M 1.07150268555,3.74099731445 c 0.0,0.0 -4.91600036621,0.772003173828 -4.91600036621,0.772003173828 c -0.666000366211,-4.2380065918 2.23098754883,-8.21299743652 6.46800231934,-8.87800598145 c 0.0,0.0 0.942001342773,-0.147994995117 0.942001342773,-0.147994995117 c 0.0,0.0 0.623992919922,3.97399902344 0.623992919922,3.97399902344 c 0.320999145508,2.04299926758 -1.07499694824,3.958984375 -3.11799621582,4.2799987793 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_392"
+                android:translateX="233.388"
+                android:translateY="204.48129" >
+                <path
+                    android:name="path_391"
+                    android:pathData="M -2.08949279785,-2.98300170898 c 0.0,0.0 4.23699951172,-2.61099243164 4.23699951172,-2.61099243164 c 2.25,3.65199279785 1.1139831543,8.43699645996 -2.53802490234,10.6879882812 c 0.0,0.0 -0.811981201172,0.5 -0.811981201172,0.5 c 0.0,0.0 -2.11001586914,-3.42498779297 -2.11001586914,-3.42498779297 c -1.08499145508,-1.76100158691 -0.536987304688,-4.06700134277 1.22302246094,-5.15200805664 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_393"
+                android:translateX="232.28839"
+                android:translateY="204.9417" >
+                <path
+                    android:name="path_392"
+                    android:pathData="M -2.08949279785,-2.98300170898 c 0.0,0.0 4.23699951172,-2.61100769043 4.23699951172,-2.61100769043 c 2.25,3.65200805664 1.1139831543,8.43701171875 -2.53802490234,10.6880187988 c 0.0,0.0 -0.811981201172,0.5 -0.811981201172,0.5 c 0.0,0.0 -2.11001586914,-3.42501831055 -2.11001586914,-3.42501831055 c -1.08499145508,-1.76098632812 -0.536987304688,-4.06698608398 1.22302246094,-5.15199279785 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_394"
+                android:translateX="74.79019"
+                android:translateY="239.93619" >
+                <path
+                    android:name="path_393"
+                    android:pathData="M -3.57850646973,-4.52099609375 c 0.0,0.0 7.15701293945,9.0419921875 7.15701293945,9.0419921875"
+                    android:strokeColor="#FF689F38"
+                    android:strokeWidth="1.213" />
+            </group>
+            <group
+                android:name="group_395"
+                android:translateX="37.52789"
+                android:translateY="161.5235" >
+                <path
+                    android:name="path_394"
+                    android:pathData="M 1.24700927734,0.0 c 0.0,0.689010620117 -0.558013916016,1.24700927734 -1.24700927734,1.24700927734 c -0.689010620117,0.0 -1.24700927734,-0.557998657227 -1.24700927734,-1.24700927734 c 0.0,-0.688995361328 0.557998657227,-1.24699401855 1.24700927734,-1.24699401855 c 0.688995361328,0.0 1.24700927734,0.557998657227 1.24700927734,1.24699401855 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_396"
+                android:translateX="63.25199"
+                android:translateY="181.43951" >
+                <path
+                    android:name="path_395"
+                    android:pathData="M 1.24700927734,-0.00002 c 0.0,0.689010620117 -0.558013916016,1.24700927734 -1.24700927734,1.24700927734 c -0.689010620117,0.0 -1.24700927734,-0.557998657227 -1.24700927734,-1.24700927734 c 0.0,-0.688995361328 0.557998657227,-1.24699401855 1.24700927734,-1.24699401855 c 0.688995361328,0.0 1.24700927734,0.557998657227 1.24700927734,1.24699401855 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_397"
+                android:translateX="34.96479"
+                android:translateY="163.52399" >
+                <path
+                    android:name="path_396"
+                    android:pathData="M 0.565002441406,0.0 c 0.0,0.31201171875 -0.253005981445,0.565002441406 -0.565002441406,0.565002441406 c -0.31201171875,0.0 -0.565002441406,-0.252990722656 -0.565002441406,-0.565002441406 c 0.0,-0.311996459961 0.252990722656,-0.564987182617 0.565002441406,-0.564987182617 c 0.311996459961,0.0 0.565002441406,0.252990722656 0.565002441406,0.564987182617 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_398"
+                android:translateX="58.68139"
+                android:translateY="184.18271" >
+                <path
+                    android:name="path_397"
+                    android:pathData="M 0.593505859375,-0.00002 c 0.0,0.328002929688 -0.266006469727,0.594009399414 -0.594009399414,0.594009399414 c -0.328002929688,0.0 -0.593002319336,-0.266006469727 -0.593002319336,-0.594009399414 c 0.0,-0.327987670898 0.264999389648,-0.593994140625 0.593002319336,-0.593994140625 c 0.328002929688,0.0 0.594009399414,0.266006469727 0.594009399414,0.593994140625 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_399"
+                android:translateX="59.82489"
+                android:translateY="181.43951" >
+                <path
+                    android:name="path_398"
+                    android:pathData="M 0.550506591797,-0.00002 c 0.0,0.304000854492 -0.246002197266,0.550003051758 -0.550003051758,0.550003051758 c -0.304000854492,0.0 -0.551010131836,-0.246002197266 -0.551010131836,-0.550003051758 c 0.0,-0.303985595703 0.247009277344,-0.549987792969 0.551010131836,-0.549987792969 c 0.304000854492,0.0 0.550003051758,0.246002197266 0.550003051758,0.549987792969 Z"
+                    android:fillColor="#FFFFA725" />
+            </group>
+            <group
+                android:name="group_400"
+                android:translateX="52.29739"
+                android:translateY="112.6321" >
+                <path
+                    android:name="path_399"
+                    android:pathData="M -0.521499633789,-1.09550476074 c 0.0,0.0 -0.690994262695,1.94700622559 -0.690994262695,1.94700622559 c 0.0,0.0 1.73098754883,0.244003295898 1.73098754883,0.244003295898 c 0.0,0.0 0.694000244141,-1.92900085449 0.694000244141,-1.92900085449 c 0.0,0.0 -1.73399353027,-0.262008666992 -1.73399353027,-0.262008666992 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_401"
+                android:translateX="54.92699"
+                android:translateY="105.21839" >
+                <path
+                    android:name="path_400"
+                    android:pathData="M -0.260498046875,-1.8270111084 c 0.0,0.0 -1.04000854492,2.88401794434 -1.04000854492,2.88401794434 c 0.0,0.0 1.57800292969,0.770004272461 1.57800292969,0.770004272461 c 0.0,0.0 1.02301025391,-2.85900878906 1.02301025391,-2.85900878906 c 0.0,0.0 -1.56100463867,-0.795013427734 -1.56100463867,-0.795013427734 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_402"
+                android:translateX="58.27938"
+                android:translateY="95.8124" >
+                <path
+                    android:name="path_401"
+                    android:pathData="M -0.483489990234,-1.22100830078 c 0.0,0.0 -0.394012451172,1.09201049805 -0.394012451172,1.09201049805 c 0.0,0.0 1.34400939941,1.35000610352 1.34400939941,1.35000610352 c 0.0,0.0 0.410995483398,-1.06298828125 0.410995483398,-1.06298828125 c 0.0,0.0 -1.36099243164,-1.37902832031 -1.36099243164,-1.37902832031 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_403"
+                android:translateX="59.33369"
+                android:translateY="96.9156" >
+                <path
+                    android:name="path_402"
+                    android:pathData="M -0.176498413086,-0.945007324219 c 0.0,0.0 -0.412002563477,1.06300354004 -0.412002563477,1.06300354004 c 0.0,0.0 0.791000366211,0.827011108398 0.791000366211,0.827011108398 c 0.0,0.0 0.386001586914,-1.06201171875 0.386001586914,-1.06201171875 c 0.0,0.0 -0.764999389648,-0.828002929688 -0.764999389648,-0.828002929688 Z"
+                    android:fillColor="#FFFF9F00" />
+            </group>
+            <group
+                android:name="group_404"
+                android:translateX="56.17489"
+                android:translateY="105.8406" >
+                <path
+                    android:name="path_403"
+                    android:pathData="M 0.0765075683594,-1.67001342773 c 0.0,0.0 -1.02900695801,2.9100189209 -1.02900695801,2.9100189209 c 0.0,0.0 0.88200378418,0.43000793457 0.88200378418,0.43000793457 c 0.0,0.0 1.02299499512,-2.84701538086 1.02299499512,-2.84701538086 c 0.0,0.0 -0.875991821289,-0.493011474609 -0.875991821289,-0.493011474609 Z"
+                    android:fillColor="#FFFF9F00" />
+            </group>
+            <group
+                android:name="group_405"
+                android:translateX="53.6907"
+                android:translateY="112.8334" >
+                <path
+                    android:name="path_404"
+                    android:pathData="M -0.154998779297,-1.04200744629 c 0.0,0.0 -0.692001342773,1.93701171875 -0.692001342773,1.93701171875 c 0.0,0.0 0.996994018555,0.147003173828 0.996994018555,0.147003173828 c 0.0,0.0 0.697006225586,-1.93200683594 0.697006225586,-1.93200683594 c 0.0,0.0 -1.00199890137,-0.152008056641 -1.00199890137,-0.152008056641 Z"
+                    android:fillColor="#FFFF9F00" />
+            </group>
+            <group
+                android:name="group_406"
+                android:translateX="283.28268"
+                android:translateY="28.48332" >
+                <path
+                    android:name="path_405"
+                    android:pathData="M 9.6575012207,-4.34452819824 c 0.0,0.0 -0.827026367188,-0.827972412109 -0.827026367188,-0.827972412109 c 0.0,0.0 0.697021484375,-0.697021484375 0.697021484375,-0.697021484375 c 0.231018066406,-0.230987548828 0.231018066406,-0.60498046875 0.0,-0.834991455078 c 0.0,0.0 -2.82299804688,-2.82299804688 -2.82299804688,-2.82299804687 c -0.22998046875,-0.230987548828 -0.60498046875,-0.230987548828 -0.835021972656,0.0 c 0.0,0.0 -0.697998046875,0.696990966797 -0.697998046875,0.696990966797 c 0.0,0.0 -0.826965332031,-0.826995849609 -0.826965332031,-0.826995849609 c -0.281982421875,-0.281982421875 -0.739013671875,-0.281982421875 -1.02203369141,0.0 c 0.0,0.0 -12.9799804688,12.9800109863 -12.9799804688,12.9800109863 c -0.281982421875,0.282989501953 -0.281982421875,0.739990234375 0.0,1.02200317383 c 0.0,0.0 0.827026367188,0.828002929688 0.827026367188,0.828002929688 c 0.0,0.0 -0.697021484375,0.696990966797 -0.697021484375,0.696990966797 c -0.231018066406,0.22998046875 -0.231018066406,0.60498046875 0.0,0.834991455078 c 0.0,0.0 2.82202148438,2.82299804687 2.82202148438,2.82299804688 c 0.23095703125,0.231018066406 0.60498046875,0.231018066406 0.835998535156,0.0 c 0.0,0.0 0.696960449219,-0.696990966797 0.696960449219,-0.696990966797 c 0.0,0.0 0.828002929688,0.826995849609 0.828002929688,0.826995849609 c 0.282043457031,0.282012939453 0.739013671875,0.282012939453 1.02099609375,0.0 c 0.0,0.0 12.9810180664,-12.9809875488 12.9810180664,-12.9809875488 c 0.281982421875,-0.282012939453 0.281982421875,-0.739013671875 0.0,-1.02102661133 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_407"
+                android:translateX="288.41467"
+                android:translateY="37.04959" >
+                <path
+                    android:name="path_406"
+                    android:pathData="M -10.3070068359,-10.5780029297 c 0.0,0.0 0.0,0.0 0.0,0.0 c 4.083984375,4.08401489258 4.083984375,10.7060241699 0.0,14.7900085449 c 0.0,0.0 -3.13397216797,3.13400268555 -3.13397216797,3.13400268555 c -0.699035644531,0.699005126953 -0.699035644531,1.8330078125 0.0,2.53201293945 c 0.698974609375,0.699981689453 1.83294677734,0.699981689453 2.53198242188,0.0 c 0.0,0.0 16.7520141602,-16.7520141602 16.7520141602,-16.7520141602 c 1.79595947266,-1.79498291016 4.70697021484,-1.79498291016 6.501953125,0.0 c 1.79504394531,1.79598999023 1.79504394531,4.70700073242 0.0,6.50201416016 c 0.0,0.0 -4.95495605469,4.95498657227 -4.95495605469,4.95498657227"
+                    android:strokeColor="#FFEDEDED"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_408"
+                android:translateX="281.67126"
+                android:translateY="28.31462" >
+                <path
+                    android:name="path_407"
+                    android:pathData="M -6.70495605469,9.5274810791 c 0.0,0.0 -2.82202148438,-2.8219909668 -2.82202148438,-2.8219909668 c -0.231018066406,-0.230987548828 -0.231018066406,-0.60498046875 0.0,-0.835998535156 c 0.0,0.0 15.3959960938,-15.3970031738 15.3959960938,-15.3970031738 c 0.231018066406,-0.230987548828 0.60498046875,-0.230987548828 0.835998535156,0.0 c 0.0,0.0 2.82299804688,2.82202148438 2.82299804688,2.82202148437 c 0.22998046875,0.230987548828 0.22998046875,0.60498046875 0.0,0.835998535156 c 0.0,0.0 -15.3969726562,15.3969726562 -15.3969726562,15.3969726562 c -0.231018066406,0.231018066406 -0.605041503906,0.231018066406 -0.835998535156,0.0 Z"
+                    android:fillColor="#FF80CAC4" />
+            </group>
+            <group
+                android:name="group_409"
+                android:translateX="258.96481"
+                android:translateY="42.94499" >
+                <path
+                    android:name="path_3_merged"
+                    android:pathData="M -4.14903259277,-7.41850280762 c -4.09698486328,2.291015625 -5.56097412109,7.4700012207 -3.26898193359,11.5679931641 c 2.29098510742,4.09701538086 7.46998596191,5.56100463867 11.5669708252,3.26901245117 c 4.09704589844,-2.29098510742 5.56103515625,-7.4700012207 3.27001953125,-11.5679931641 c -2.2919921875,-4.09701538086 -7.47100830078,-5.56100463867 -11.5680084229,-3.26901245117 Z M -2.05801391602,2.86949157715 c -0.723022460938,0.404998779297 -1.63700866699,0.147003173828 -2.04100036621,-0.576995849609 c -0.404998779297,-0.722991943359 -0.14599609375,-1.6369934082 0.576995849609,-2.04098510742 c 0.72297668457,-0.403991699219 1.63600158691,-0.14599609375 2.04096984863,0.576995849609 c 0.404052734375,0.722991943359 0.146057128906,1.6369934082 -0.576965332031,2.04098510742 Z M 3.52297973633,-0.251510620117 c -0.723022460938,0.404022216797 -1.63702392578,0.146026611328 -2.041015625,-0.576995849609 c -0.404968261719,-0.722991943359 -0.14599609375,-1.6369934082 0.577026367188,-2.04098510742 c 0.722961425781,-0.404998779297 1.63696289062,-0.147003173828 2.041015625,0.576995849609 c 0.403991699219,0.722991943359 0.14599609375,1.6369934082 -0.577026367187,2.04098510742 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_410"
+                android:translateX="265.5148"
+                android:translateY="24.01941" >
+                <path
+                    android:name="path_3_merged_0"
+                    android:pathData="M 1.04946899414,-4.16351318359 c -2.29998779297,-0.579986572266 -4.63397216797,0.815002441406 -5.21301269531,3.11401367188 c -0.579956054688,2.29998779297 0.815002441406,4.63400268555 3.11499023438,5.21398925781 c 2.29901123047,0.579010009766 4.63299560547,-0.815979003906 5.21301269531,-3.11499023438 c 0.579040527344,-2.29998779297 -0.815002441406,-4.63400268555 -3.11499023438,-5.21301269531 Z M -1.75155639648,0.340515136719 c -0.404968261719,-0.10302734375 -0.651977539063,-0.514007568359 -0.548950195312,-0.920013427734 c 0.101989746094,-0.406005859375 0.513977050781,-0.652008056641 0.919982910156,-0.549987792969 c 0.404968261719,0.101989746094 0.651977539062,0.513977050781 0.549011230469,0.919982910156 c -0.101989746094,0.406005859375 -0.514038085937,0.652008056641 -0.920043945313,0.550018310547 Z M 1.38150024414,1.12948608398 c -0.406005859375,-0.101989746094 -0.652038574219,-0.513977050781 -0.550048828125,-0.919982910156 c 0.10302734375,-0.406005859375 0.514038085938,-0.652008056641 0.920043945312,-0.549987792969 c 0.405944824219,0.102996826172 0.651977539062,0.513977050781 0.549987792969,0.919982910156 c -0.101989746094,0.406005859375 -0.514038085938,0.652008056641 -0.919982910156,0.549987792969 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_411"
+                android:translateX="258.38687"
+                android:translateY="44.0869" >
+                <path
+                    android:name="path_3_merged_1"
+                    android:pathData="M -4.1490020752,-7.41850280762 c -4.09698486328,2.291015625 -5.56097412109,7.4700012207 -3.26898193359,11.5679931641 c 2.29098510742,4.09701538086 7.47001647949,5.56100463867 11.5670013428,3.26901245117 c 4.09698486328,-2.29098510742 5.56097412109,-7.4700012207 3.27001953125,-11.5679931641 c -2.29205322266,-4.09701538086 -7.47100830078,-5.56100463867 -11.5680389404,-3.26901245117 Z M -2.05801391602,2.86949157715 c -0.72297668457,0.404998779297 -1.63697814941,0.147003173828 -2.04096984863,-0.576995849609 c -0.404998779297,-0.722991943359 -0.14599609375,-1.6369934082 0.576995849609,-2.04098510742 c 0.722991943359,-0.403991699219 1.63597106934,-0.14599609375 2.04100036621,0.576995849609 c 0.403991699219,0.722991943359 0.14599609375,1.6369934082 -0.577026367188,2.04098510742 Z M 3.52304077148,-0.251510620117 c -0.723022460938,0.404022216797 -1.63702392578,0.146026611328 -2.041015625,-0.576995849609 c -0.405029296875,-0.722991943359 -0.14599609375,-1.6369934082 0.576965332031,-2.04098510742 c 0.723022460938,-0.404998779297 1.63702392578,-0.147003173828 2.041015625,0.576995849609 c 0.403991699219,0.722991943359 0.14599609375,1.6369934082 -0.576965332031,2.04098510742 Z"
+                    android:fillColor="#FFEF6192" />
+            </group>
+            <group
+                android:name="group_412"
+                android:translateX="258.38708"
+                android:translateY="44.02641" >
+                <path
+                    android:name="path_408"
+                    android:pathData="M 5.45098876953,-3.04850769043 c 1.68402099609,3.01000976562 0.607971191406,6.81600952148 -2.40197753906,8.5 c -3.01104736328,1.68301391602 -6.81602478027,0.608001708984 -8.50001525879,-2.40298461914 c -1.68402099609,-3.01000976562 -0.608001708984,-6.81600952148 2.40200805664,-8.49899291992 c 3.01097106934,-1.68402099609 6.81596374512,-0.608001708984 8.49998474121,2.40197753906 Z"
+                    android:strokeColor="#FFEB4079"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_413"
+                android:translateX="264.9368"
+                android:translateY="25.16132" >
+                <path
+                    android:name="path_3_merged_2"
+                    android:pathData="M 1.04946899414,-4.16448974609 c -2.29998779297,-0.579010009766 -4.63397216797,0.815979003906 -5.21301269531,3.11499023438 c -0.579956054688,2.29998779297 0.815002441406,4.63400268555 3.11499023438,5.21398925781 c 2.29901123047,0.579010009766 4.63299560547,-0.815979003906 5.21301269531,-3.11499023438 c 0.579040527344,-2.29998779297 -0.815002441406,-4.63400268555 -3.11499023438,-5.21398925781 Z M -1.75155639648,0.340515136719 c -0.404968261719,-0.10302734375 -0.651977539063,-0.514007568359 -0.548950195312,-0.920013427734 c 0.101989746094,-0.406005859375 0.513977050781,-0.652008056641 0.919982910156,-0.549987792969 c 0.404968261719,0.101989746094 0.651977539062,0.513977050781 0.549011230469,0.919982910156 c -0.101989746094,0.406005859375 -0.514038085937,0.652008056641 -0.920043945313,0.550018310547 Z M 1.38150024414,1.12948608398 c -0.406005859375,-0.101989746094 -0.652038574219,-0.513977050781 -0.550048828125,-0.919982910156 c 0.10302734375,-0.406005859375 0.514038085938,-0.652008056641 0.920043945312,-0.549987792969 c 0.405944824219,0.102996826172 0.651977539062,0.513977050781 0.549987792969,0.919982910156 c -0.101989746094,0.406005859375 -0.514038085938,0.652008056641 -0.919982910156,0.549987792969 Z"
+                    android:fillColor="#FF7985CA" />
+            </group>
+            <group
+                android:name="group_414"
+                android:translateX="281.6712"
+                android:translateY="28.3148" >
+                <path
+                    android:name="path_409"
+                    android:pathData="M -4.34448242188,9.65748596191 c 0.0,0.0 -5.31304931641,-5.31298828125 -5.31304931641,-5.31298828125 c -0.281982421875,-0.281982421875 -0.281982421875,-0.738983154297 0.0,-1.02099609375 c 0.0,0.0 12.9810180664,-12.9809875488 12.9810180664,-12.9809875488 c 0.281982421875,-0.282012939453 0.739013671875,-0.282012939453 1.02099609375,0.0 c 0.0,0.0 5.31298828125,5.31298828125 5.31298828125,5.31298828125 c 0.282043457031,0.282012939453 0.282043457031,0.739013671875 0.0,1.02099609375 c 0.0,0.0 -12.9809570312,12.9809875488 -12.9809570312,12.9809875488 c -0.282043457031,0.282012939453 -0.739013671875,0.282012939453 -1.02099609375,0.0 Z"
+                    android:fillColor="#FF00796B" />
+            </group>
+            <group
+                android:name="group_415"
+                android:translateX="279.83139"
+                android:translateY="30.15451" >
+                <path
+                    android:name="path_410"
+                    android:pathData="M -5.38198852539,-0.952514648438 c 0.0,0.0 9.34594726562,3.32302856445 9.34594726562,3.32302856445 c 0.0,0.0 1.41802978516,-1.41799926758 1.41802978516,-1.41799926758 c 0.0,0.0 -9.34600830078,-3.32302856445 -9.34600830078,-3.32302856445 c 0.0,0.0 -1.41796875,1.41799926758 -1.41796875,1.41799926758 Z"
+                    android:fillColor="#FF25A69A" />
+            </group>
+            <group
+                android:name="group_416"
+                android:translateX="282.44089"
+                android:translateY="27.54501" >
+                <path
+                    android:name="path_411"
+                    android:pathData="M -5.38198852539,-0.952514648438 c 0.0,0.0 9.34594726562,3.32302856445 9.34594726562,3.32302856445 c 0.0,0.0 1.41802978516,-1.41799926758 1.41802978516,-1.41799926758 c 0.0,0.0 -9.34600830078,-3.32302856445 -9.34600830078,-3.32302856445 c 0.0,0.0 -1.41796875,1.41799926758 -1.41796875,1.41799926758 Z"
+                    android:fillColor="#FF25A69A" />
+            </group>
+            <group
+                android:name="group_417"
+                android:translateX="285.05038"
+                android:translateY="24.93552" >
+                <path
+                    android:name="path_412"
+                    android:pathData="M -5.38198852539,-0.952514648438 c 0.0,0.0 9.34594726562,3.32302856445 9.34594726562,3.32302856445 c 0.0,0.0 1.41802978516,-1.41799926758 1.41802978516,-1.41799926758 c 0.0,0.0 -9.34600830078,-3.32302856445 -9.34600830078,-3.32302856445 c 0.0,0.0 -1.41796875,1.41799926758 -1.41796875,1.41799926758 Z"
+                    android:fillColor="#FF25A69A" />
+            </group>
+            <group
+                android:name="group_418"
+                android:translateX="279.34097"
+                android:translateY="30.64502" >
+                <path
+                    android:name="path_413"
+                    android:pathData="M 0.0175476074219,6.31698608398 c 0.0,0.0 -3.32305908203,-9.3459777832 -3.32305908203,-9.3459777832 c 0.0,0.0 3.28802490234,-3.28799438477 3.28802490234,-3.28799438477 c 0.0,0.0 3.32299804688,9.3459777832 3.32299804688,9.3459777832 c 0.0,0.0 -3.28796386719,3.28799438477 -3.28796386719,3.28799438477 Z"
+                    android:fillColor="#FF00887A" />
+            </group>
+            <group
+                android:name="group_419"
+                android:translateX="287.37848"
+                android:translateY="37.49658" >
+                <path
+                    android:name="path_414"
+                    android:pathData="M -10.3070068359,-10.5780029297 c 0.0,0.0 0.0,0.0 0.0,0.0 c 4.083984375,4.08401489258 4.083984375,10.7060241699 0.0,14.7900085449 c 0.0,0.0 -3.13397216797,3.13400268555 -3.13397216797,3.13400268555 c -0.699035644531,0.699005126953 -0.699035644531,1.8330078125 0.0,2.53201293945 c 0.698974609375,0.699981689453 1.83294677734,0.699981689453 2.53198242188,0.0 c 0.0,0.0 16.7520141602,-16.7520141602 16.7520141602,-16.7520141602 c 1.79595947266,-1.79498291016 4.70697021484,-1.79498291016 6.501953125,0.0 c 1.79504394531,1.79598999023 1.79504394531,4.70700073242 0.0,6.50201416016 c 0.0,0.0 -4.95495605469,4.95498657227 -4.95495605469,4.95498657227"
+                    android:strokeColor="#FF25A69A"
+                    android:strokeWidth="1" />
+            </group>
+            <group
+                android:name="group_420"
+                android:translateX="316.34338"
+                android:translateY="125.36769" >
+                <path
+                    android:name="path_415"
+                    android:pathData="M 0.664489746094,-1.16450500488 c 0.0,0.0 -1.32897949219,-0.31999206543 -1.32897949219,-0.31999206543 c 0.0,0.0 0.690979003906,2.96899414062 0.690979003906,2.96899414062 c 0.0,0.0 0.638000488281,-2.6490020752 0.638000488281,-2.6490020752 Z"
+                    android:fillColor="#FFEBEEF0" />
+            </group>
+            <group
+                android:name="group_421"
+                android:translateX="315.43539"
+                android:translateY="126.4007" >
+                <path
+                    android:name="path_416"
+                    android:pathData="M 0.368499755859,2.80099487305 c 0.0,0.0 0.565979003906,-2.34899902344 0.565979003906,-2.34899902344 c 0.0,0.0 -0.690979003906,-2.96899414062 -0.690979003906,-2.96899414062 c 0.0,0.0 -1.17797851562,-0.283996582031 -1.17797851562,-0.283996582031 c 0.0,0.0 1.30297851562,5.60198974609 1.30297851562,5.60198974609 Z"
+                    android:fillColor="#FFDFDFDF" />
+            </group>
+            <group
+                android:name="group_422"
+                android:translateX="312.98007"
+                android:translateY="130.2088" >
+                <path
+                    android:name="path_417"
+                    android:pathData="M 0.737030029297,7.65649414062 c 0.0,0.0 2.08697509766,-8.66398620605 2.08697509766,-8.66398620605 c 0.0,0.0 -1.30297851562,-5.60200500488 -1.30297851563,-5.60200500488 c 0.0,0.0 -4.34503173828,-1.04699707031 -4.34503173828,-1.04699707031 c 0.0,0.0 3.56103515625,15.3129882812 3.56103515625,15.3129882812 Z"
+                    android:fillColor="#FFFAC02C" />
+            </group>
+            <group
+                android:name="group_423"
+                android:translateX="310.12146"
+                android:translateY="133.3911" >
+                <path
+                    android:name="path_418"
+                    android:pathData="M 1.85205078125,11.7129974365 c 0.0,0.0 1.74395751953,-7.23899841309 1.74395751953,-7.23899841309 c 0.0,0.0 -3.56201171875,-15.31199646 -3.56201171875,-15.31199646 c 0.0,0.0 -3.63000488281,-0.875 -3.63000488281,-0.875 c 0.0,0.0 5.44805908203,23.425994873 5.44805908203,23.425994873 Z"
+                    android:fillColor="#FFFA8B00" />
+            </group>
+            <group
+                android:name="group_424"
+                android:translateX="294.26175"
+                android:translateY="138.3602" >
+                <path
+                    android:name="path_419"
+                    android:pathData="M 12.7490539551,21.0 c 0.0,0.0 -33.6620483398,-8.1079864502 -33.6620483398,-8.1079864502 c 0.0,0.0 8.16302490234,-33.8920135498 8.16302490234,-33.8920135498 c 0.0,0.0 33.6629638672,8.10800170898 33.6629638672,8.10800170898 c 0.0,0.0 -8.16394042969,33.891998291 -8.16394042969,33.891998291 Z"
+                    android:fillColor="#FFF5F5F5" />
+            </group>
+            <group
+                android:name="group_425"
+                android:translateX="294.56659"
+                android:translateY="137.09509" >
+                <path
+                    android:name="path_420"
+                    android:pathData="M 10.9924926758,13.7754974365 c 0.0,0.0 -27.0520019531,-6.51599121094 -27.0520019531,-6.51599121094 c 0.0,0.0 5.06597900391,-21.0350036621 5.06597900391,-21.0350036621 c 0.0,0.0 27.0530395508,6.51699829102 27.0530395508,6.51699829102 c 0.0,0.0 -5.06701660156,21.033996582 -5.06701660156,21.033996582 Z"
+                    android:fillColor="#FFCE92D7" />
+            </group>
+            <group
+                android:name="group_426"
+                android:translateX="280.2861"
+                android:translateY="118.71959" >
+                <path
+                    android:name="path_421"
+                    android:pathData="M 23.9784851074,5.34649658203 c 0.0,0.0 -29.1610107422,18.6679992676 -29.1610107422,18.6679992676 c 0.0,0.0 -18.7959594727,-29.3599853516 -18.7959594727,-29.3599853516 c 0.0,0.0 29.160949707,-18.6690063477 29.160949707,-18.6690063477 c 0.0,0.0 18.7960205078,29.3609924316 18.7960205078,29.3609924316 Z"
+                    android:fillColor="#FF63B5F6" />
+            </group>
+            <group
+                android:name="group_427"
+                android:translateX="289.85941"
+                android:translateY="129.9348" >
+                <path
+                    android:name="path_422"
+                    android:pathData="M -14.4049987793,12.5749969482 c 0.0,0.0 28.8099975586,-18.4440002441 28.8099975586,-18.4440002441 c 0.0,0.0 -0.928039550781,-1.44898986816 -0.928039550781,-1.44898986816 c 0.0,0.0 -21.8239746094,-5.25700378418 -21.8239746094,-5.25700378418 c 0.0,0.0 -6.05798339844,25.1499938965 -6.05798339844,25.1499938965 Z"
+                    android:fillColor="#FFDFDFDF" />
+            </group>
+            <group
+                android:name="group_428"
+                android:translateX="289.5217"
+                android:translateY="131.5916" >
+                <path
+                    android:name="path_423"
+                    android:pathData="M 9.93301391602,-4.44650268555 c 0.0,0.0 -15.8810424805,-3.82499694824 -15.8810424805,-3.82499694824 c 0.0,0.0 -3.98498535156,16.5429992676 -3.98498535156,16.5429992676 c 0.0,0.0 19.866027832,-12.7180023193 19.866027832,-12.7180023193 Z"
+                    android:fillColor="#FFAB46BB" />
+            </group>
+            <group
+                android:name="group_429"
+                android:translateX="280.98758"
+                android:translateY="116.09459" >
+                <path
+                    android:name="path_424"
+                    android:pathData="M 23.9784851074,5.34649658203 c 0.0,0.0 -29.1610107422,18.6679992676 -29.1610107422,18.6679992676 c 0.0,0.0 -18.7959594727,-29.3599853516 -18.7959594727,-29.3599853516 c 0.0,0.0 29.160949707,-18.6690063477 29.160949707,-18.6690063477 c 0.0,0.0 18.7960205078,29.3609924316 18.7960205078,29.3609924316 Z"
+                    android:fillColor="#FFF5F5F5" />
+            </group>
+            <group
+                android:name="group_430"
+                android:translateX="280.28586"
+                android:translateY="114.9995" >
+                <path
+                    android:name="path_425"
+                    android:pathData="M 17.5505065918,1.60949707031 c 0.0,0.0 -23.4349975586,15.0030059814 -23.4349975586,15.0030059814 c 0.0,0.0 -11.666015625,-18.2220001221 -11.666015625,-18.2220001221 c 0.0,0.0 23.4360351562,-15.0030059814 23.4360351563,-15.0030059814 c 0.0,0.0 11.6649780273,18.2220001221 11.6649780273,18.2220001221 Z"
+                    android:fillColor="#FFD3E056" />
+            </group>
+            <group
+                android:name="group_431"
+                android:translateX="150.21558"
+                android:translateY="93.9566" >
+                <path
+                    android:name="path_426"
+                    android:pathData="M 9.73051452637,-7.30401611328 c 0.0,0.0 -21.7550048828,5.44801330566 -21.7550048828,5.44801330566 c -1.73899841309,0.434997558594 -2.79600524902,2.19801330566 -2.36000061035,3.93701171875 c 0.0,0.0 0.716995239258,2.86299133301 0.716995239258,2.86299133301 c 0.434997558594,1.73901367188 2.19799804688,2.79600524902 3.93699645996,2.36100769043 c 0.0,0.0 21.7550048828,-5.44799804688 21.7550048828,-5.44799804688 c 1.73899841309,-0.434997558594 2.79600524902,-2.19801330566 2.36100769043,-3.93701171875 c 0.0,0.0 -0.717010498047,-2.8630065918 -0.717010498047,-2.8630065918 c -0.435989379883,-1.74000549316 -2.19898986816,-2.79699707031 -3.93798828125,-2.36100769043 Z"
+                    android:strokeColor="#FFCFD7DC"
+                    android:strokeWidth="1" />
+            </group>
+        </group>
+    </group>
+    <group
+        android:name="swiper"
+        android:translateX="415"
+        android:translateY="168" >
+        <group
+            android:name="rectangle_1" >
+            <path
+                android:name="rectangle_path_2"
+                android:fillColor="?attr/swiper_color"
+                android:pathData="M 0.0,-157.0 l 0.0,0.0 c 1.3807118745,0.0 2.5,1.1192881255 2.5,2.5 l 0.0,309.0 c 0.0,1.3807118745 -1.1192881255,2.5 -2.5,2.5 l 0.0,0.0 c -1.3807118745,0.0 -2.5,-1.1192881255 -2.5,-2.5 l 0.0,-309.0 c 0.0,-1.3807118745 1.1192881255,-2.5 2.5,-2.5 Z" />
+        </group>
+    </group>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/topinfo_animation.xml b/res/drawable/topinfo_animation.xml
new file mode 100644
index 0000000..9f48a0d
--- /dev/null
+++ b/res/drawable/topinfo_animation.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<animated-vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:drawable="@drawable/topinfo" >
+    <target
+        android:name="mask_1"
+        android:animation="@anim/topinfo_mask_1_animation" />
+    <target
+        android:name="swiper"
+        android:animation="@anim/topinfo_swiper_animation" />
+    <target
+        android:name="rectangle_path_2"
+        android:animation="@anim/topinfo_rectangle_path_2_animation" />
+</animated-vector>
diff --git a/res/values/config.xml b/res/interpolator/topinfo_animation_interpolator_0.xml
similarity index 73%
copy from res/values/config.xml
copy to res/interpolator/topinfo_animation_interpolator_0.xml
index 4425488..144b77c 100644
--- a/res/values/config.xml
+++ b/res/interpolator/topinfo_animation_interpolator_0.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 -->
-<resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+<pathInterpolator
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:pathData="M 0.0,0.0 c 0.0,0.0 0.999,1.0 1.0,1.0" />
diff --git a/res/values/config.xml b/res/interpolator/topinfo_animation_interpolator_1.xml
similarity index 73%
copy from res/values/config.xml
copy to res/interpolator/topinfo_animation_interpolator_1.xml
index 4425488..9f6f747 100644
--- a/res/values/config.xml
+++ b/res/interpolator/topinfo_animation_interpolator_1.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 -->
-<resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+<pathInterpolator
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:pathData="M 0.0,0.0 c 0.001,0.0 0.999,1.0 1.0,1.0" />
diff --git a/res/values/config.xml b/res/interpolator/topinfo_animation_interpolator_alpha.xml
similarity index 72%
copy from res/values/config.xml
copy to res/interpolator/topinfo_animation_interpolator_alpha.xml
index 4425488..cb12b28 100644
--- a/res/values/config.xml
+++ b/res/interpolator/topinfo_animation_interpolator_alpha.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 -->
-<resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+<pathInterpolator
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:pathData="M 0.0,0.0 c 0.554680467079,0.0 0.532496972447,0.619831271517 1.0,1.0"/>
diff --git a/res/layout-land/intro_profile_owner.xml b/res/layout-land/intro_profile_owner.xml
new file mode 100644
index 0000000..d0303c5
--- /dev/null
+++ b/res/layout-land/intro_profile_owner.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<com.android.setupwizardlib.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    android:layout="@layout/suw_glif_blank_template"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <FrameLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical">
+
+                <include layout="@layout/intro_animation"/>
+            </FrameLayout>
+
+            <FrameLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical">
+
+                <include layout="@layout/intro_profile_owner_info_buttons"/>
+            </FrameLayout>
+        </LinearLayout>
+    </ScrollView>
+</com.android.setupwizardlib.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/delete_managed_profile_dialog.xml b/res/layout/delete_managed_profile_dialog.xml
index 7aa8151..461c44a 100644
--- a/res/layout/delete_managed_profile_dialog.xml
+++ b/res/layout/delete_managed_profile_dialog.xml
@@ -22,7 +22,7 @@
 
     <ScrollView
         android:layout_weight="1"
-        android:layout_height="0dp"
+        android:layout_height="match_parent"
         style="@style/DialogFragmentScrollView">
 
         <LinearLayout
@@ -32,45 +32,17 @@
 
             <TextView
                 android:id="@+id/delete_managed_profile_opening_paragraph"
-                android:text="@string/opening_paragraph_delete_profile_unknown_company"
+                android:text="@string/opening_paragraph_delete_profile"
                 style="@style/MainText"
-                android:paddingTop="@dimen/row_padding_top"/>
+                android:paddingTop="@dimen/row_padding_top"
+                android:layout_marginBottom="@dimen/main_text_padding_between_text"/>
 
-            <include layout="@layout/device_manager_icon_label" />
-
-            <TextView
-                android:id="@+id/delete_managed_profile_read_more_link"
-                android:text="@string/read_more_delete_profile"
-                android:visibility="gone"
-                style="@style/MainText"/>
+            <include layout="@layout/device_manager_icon_label"/>
 
             <TextView
                 android:id="@+id/delete_managed_profile_closing_paragraph"
                 android:text="@string/sure_you_want_to_delete_profile"
                 style="@style/MainText"/>
-
         </LinearLayout>
-
     </ScrollView>
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/row_height">
-
-        <Button
-            android:id="@+id/delete_managed_profile_positive_button"
-            android:layout_alignParentEnd="true"
-            android:layout_alignParentBottom="true"
-            android:text="@string/delete_profile"
-            style="@style/TransparentButton" />
-
-        <Button
-            android:id="@+id/delete_managed_profile_negative_button"
-            android:layout_alignParentBottom="true"
-            android:layout_toStartOf="@id/delete_managed_profile_positive_button"
-            android:text="@string/cancel_delete_profile"
-            style="@style/TransparentButton" />
-
-    </RelativeLayout>
-
-</LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/device_manager_icon_label.xml b/res/layout/device_manager_icon_label.xml
index 9a1baa9..0d73a6b 100644
--- a/res/layout/device_manager_icon_label.xml
+++ b/res/layout/device_manager_icon_label.xml
@@ -21,14 +21,14 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:paddingTop="@dimen/main_text_padding_between_text"
     android:layout_centerInParent="true"
     android:layout_gravity="center_vertical|start">
     <ImageView
         android:id="@+id/device_manager_icon_view"
         android:layout_width="@dimen/icon_width_height"
         android:layout_height="@dimen/icon_width_height"
-        android:scaleType="centerInside"/>
+        android:importantForAccessibility="no"
+        android:scaleType="fitCenter"/>
     <TextView
         android:id="@+id/device_manager_name"
         android:layout_width="wrap_content"
@@ -37,4 +37,4 @@
         android:gravity="center_vertical"
         android:textColor="@color/text_black"
         android:textSize="@dimen/main_text_size"/>
-</LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/encrypt_device.xml b/res/layout/encrypt_device.xml
index 8656c44..b727aad 100644
--- a/res/layout/encrypt_device.xml
+++ b/res/layout/encrypt_device.xml
@@ -36,8 +36,8 @@
             <Button
                 android:id="@+id/encrypt_button"
                 style="@style/TransparentButton"
-                android:text="@string/encrypt_device_launch_settings"
+                android:text="@string/encrypt"
                 android:paddingTop="@dimen/button_padding_top"/>
         </LinearLayout>
     </LinearLayout>
-</com.android.setupwizardlib.GlifLayout>
+</com.android.setupwizardlib.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/intro_animation.xml b/res/layout/intro_animation.xml
new file mode 100644
index 0000000..136adcd
--- /dev/null
+++ b/res/layout/intro_animation.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!--FrameLayout to provide contentDescription for accessibility.-->
+<!--No option 'yesButHideDescendants' for importantForAccessibility attribute.-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/animation_top_level_frame"
+    android:layout_gravity="center"
+    android:layout_width="@dimen/info_view_width"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:orientation="vertical"
+        android:importantForAccessibility="noHideDescendants">
+
+        <ImageView
+            android:id="@+id/animated_info"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:scaleType="fitCenter"
+            android:src="@drawable/topinfo_animation"/>
+
+        <include layout="@layout/intro_animation_captions"/>
+
+        <LinearLayout
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacer_20"
+            android:gravity="center">
+            <ImageView
+                android:id="@+id/animated_dots"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:scaleType="fitCenter"
+                android:src="@drawable/dots_animation"/>
+        </LinearLayout>
+    </LinearLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/intro_animation_captions.xml b/res/layout/intro_animation_captions.xml
new file mode 100644
index 0000000..99d867a
--- /dev/null
+++ b/res/layout/intro_animation_captions.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!--Visible part of the text strip acting as a viewport.-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="@dimen/info_view_width"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="@dimen/spacer_24">
+    <!--Wider strip containing all titles. Only partially visible.-->
+    <!--Overlap 50% between titles.-->
+    <!--First title appearing at beginning, and at the end for animation continuity.-->
+    <!--Visibility and moving in viewport managed by animations.-->
+    <FrameLayout
+        android:id="@+id/text_master"
+        android:layout_width="@dimen/info_view_width_x2.5"
+        android:layout_height="match_parent">
+        <TextView
+            android:id="@+id/text_0"
+            style="@style/Provisioning2Theme.Text.Primary.Title.InfoAnimation"/>
+        <TextView
+            android:id="@+id/text_1"
+            android:translationX="@dimen/info_view_width_x0.5"
+            android:alpha="0"
+            style="@style/Provisioning2Theme.Text.Primary.Title.InfoAnimation"/>
+        <TextView
+            android:id="@+id/text_2"
+            android:translationX="@dimen/info_view_width"
+            android:alpha="0"
+            style="@style/Provisioning2Theme.Text.Primary.Title.InfoAnimation"/>
+        <TextView
+            android:id="@+id/text_3"
+            android:translationX="@dimen/info_view_width_x1.5"
+            android:alpha="0"
+            style="@style/Provisioning2Theme.Text.Primary.Title.InfoAnimation"/>
+    </FrameLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/intro_device_owner.xml b/res/layout/intro_device_owner.xml
new file mode 100644
index 0000000..fa55548
--- /dev/null
+++ b/res/layout/intro_device_owner.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<com.android.setupwizardlib.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:layout_marginLeft="@dimen/spacer_40"
+        android:layout_marginRight="@dimen/spacer_40"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@+id/device_owner_terms_info"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacer_24"
+            style="@style/Provisioning2Theme.Text.Secondary"/>
+
+        <TextView
+            android:id="@+id/device_owner_provider_info"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacer_24"
+            android:visibility="gone"
+            style="@style/Provisioning2Theme.Text.Secondary"/>
+
+        <LinearLayout
+            android:id="@+id/intro_device_owner_app_info_container"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:visibility="gone">
+
+            <TextView
+                android:id="@+id/device_owner_app_info_text"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacer_24"
+                android:layout_marginBottom="@dimen/spacer_12"
+                style="@style/Provisioning2Theme.Text.Secondary"/>
+
+            <include layout="@layout/device_manager_icon_label"/>
+        </LinearLayout>
+
+        <Button
+            android:id="@+id/next_button"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/intro_button_height"
+            android:layout_gravity="right"
+            android:layout_marginTop="@dimen/spacer_32"
+            android:text="@string/accept_and_continue"
+            style="@style/Provisioning2Theme.Button.Blue"/>
+    </LinearLayout>
+</com.android.setupwizardlib.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/user_consent.xml b/res/layout/intro_profile_owner.xml
similarity index 61%
copy from res/layout/user_consent.xml
copy to res/layout/intro_profile_owner.xml
index e55808b..8de0c0b 100644
--- a/res/layout/user_consent.xml
+++ b/res/layout/intro_profile_owner.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,9 +18,23 @@
 -->
 <com.android.setupwizardlib.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/setup_wizard_layout"
+    android:layout="@layout/suw_glif_blank_template"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
-    <include layout="@layout/user_consent_main_text" />
-</com.android.setupwizardlib.GlifLayout>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+            <include layout="@layout/intro_animation"/>
+
+            <include layout="@layout/intro_profile_owner_info_buttons"/>
+        </LinearLayout>
+    </ScrollView>
+</com.android.setupwizardlib.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/intro_profile_owner_info_buttons.xml b/res/layout/intro_profile_owner_info_buttons.xml
new file mode 100644
index 0000000..547dbac
--- /dev/null
+++ b/res/layout/intro_profile_owner_info_buttons.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_marginLeft="@dimen/spacer_24"
+    android:layout_marginRight="@dimen/spacer_24"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:importantForAccessibility="no">
+
+    <TextView
+        android:id="@+id/profile_owner_short_info"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacer_20"
+        android:breakStrategy="balanced"
+        android:gravity="center"
+        style="@style/Provisioning2Theme.Text.Secondary"/>
+
+    <Button
+        android:id="@+id/show_terms_button"
+        android:text="@string/view_terms"
+        android:contentDescription="@string/read_terms"
+        style="@style/Provisioning2Theme.Button.Transparent"/>
+
+    <Button
+        android:id="@+id/next_button"
+        android:layout_width="@dimen/intro_button_width"
+        android:layout_height="@dimen/intro_button_height"
+        android:layout_marginTop="@dimen/spacer_32"
+        android:text="@string/accept_and_continue"
+        style="@style/Provisioning2Theme.Button.Blue"/>
+
+    <Button
+        android:id="@+id/close_button"
+        android:layout_width="@dimen/intro_button_width"
+        android:layout_height="@dimen/intro_button_height"
+        android:layout_marginTop="@dimen/spacer_16"
+        android:layout_marginBottom="@dimen/spacer_8"
+        android:text="@string/close"
+        style="@style/Provisioning2Theme.Button.Gray"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/learn_more_dialog.xml b/res/layout/learn_more_dialog.xml
deleted file mode 100644
index fae58ee..0000000
--- a/res/layout/learn_more_dialog.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/DialogFragmentTextContainer">
-
-    <ScrollView
-        android:layout_weight="1"
-        android:layout_height="0dp"
-        style="@style/DialogFragmentScrollView">
-
-        <LinearLayout
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:orientation="vertical">
-
-            <TextView
-                android:id="@+id/learn_more_text1"
-                style="@style/MainText"
-                android:paddingTop="@dimen/row_padding_top"/>
-
-            <TextView
-                android:id="@+id/learn_more_frp_warning"
-                style="@style/MainText"
-                android:text="@string/theft_protection_disabled_warning"
-                android:visibility="gone"/>
-
-            <TextView
-                android:id="@+id/learn_more_text2"
-                android:text="@string/contact_your_admin_for_more_info"
-                style="@style/MainText"/>
-
-            <TextView
-                android:id="@+id/learn_more_link"
-                android:textColor="@color/accent"
-                android:text="@string/learn_more_link"
-                android:contentDescription="@string/learn_more_label"
-                style="@style/MainText" />
-
-            <CheckBox
-                android:id="@+id/user_consent_checkbox"
-                android:text="@string/user_consent_msg"
-                style="@style/CheckBox"
-                android:visibility="gone"/>
-
-        </LinearLayout>
-
-    </ScrollView>
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/row_height">
-
-        <Button
-            android:id="@+id/positive_button"
-            android:layout_alignParentEnd="true"
-            android:layout_alignParentBottom="true"
-            android:text="@string/ok_setup"
-            style="@style/TransparentButton" />
-
-        <Button
-            android:id="@+id/negative_button"
-            android:layout_alignParentBottom="true"
-            android:layout_toStartOf="@id/positive_button"
-            android:text="@string/cancel_setup"
-            style="@style/TransparentButton" />
-
-    </RelativeLayout>
-
-</LinearLayout>
diff --git a/res/layout/progress.xml b/res/layout/progress.xml
index 9313afd..2236258 100644
--- a/res/layout/progress.xml
+++ b/res/layout/progress.xml
@@ -22,7 +22,4 @@
     android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
-    <TextView
-        style="@style/MainTextContainer"
-        android:id="@+id/prog_text" />
 </com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/terms_disclaimer_content.xml b/res/layout/terms_disclaimer_content.xml
new file mode 100644
index 0000000..a26ea7b
--- /dev/null
+++ b/res/layout/terms_disclaimer_content.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:orientation="vertical">
+    <TextView
+        android:id="@+id/disclaimer_content"
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:paddingStart="@dimen/spacer_16"
+        android:paddingEnd="@dimen/spacer_16"
+        android:paddingTop="@dimen/spacer_16"
+        android:paddingBottom="@dimen/spacer_16"
+        style="@style/Provisioning2Theme.Text.Secondary"/>
+    <View style="@style/Provisioning2Theme.Divider"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/terms_disclaimer_header.xml b/res/layout/terms_disclaimer_header.xml
new file mode 100644
index 0000000..ccf2850
--- /dev/null
+++ b/res/layout/terms_disclaimer_header.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:descendantFocusability="blocksDescendants"
+    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:orientation="vertical">
+    <View
+        android:id="@+id/divider"
+        style="@style/Provisioning2Theme.Divider"/>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/spacer_16"
+        android:layout_marginLeft="@dimen/spacer_16"
+        android:layout_marginRight="@dimen/spacer_16"
+        android:layout_marginTop="@dimen/spacer_16"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/header_text"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:layout_width="wrap_content"
+            style="@style/Provisioning2Theme.Text.Primary"/>
+        <ImageView
+            android:id="@+id/chevron"
+            android:background="@null"
+            android:clickable="false"
+            android:height="24dp"
+            android:width="24dp"
+            android:layout_gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="0"
+            android:src="@drawable/chevron"/>
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/terms_screen.xml b/res/layout/terms_screen.xml
new file mode 100644
index 0000000..079830e
--- /dev/null
+++ b/res/layout/terms_screen.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Toolbar
+        android:id="@+id/toolbar"
+        android:title="@string/terms"
+        style="@style/Provisioning2Theme.Toolbar"/>
+
+    <ExpandableListView
+        android:id="@+id/terms_container"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:divider="@null"
+        android:groupIndicator="@null"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/user_consent_main_text.xml b/res/layout/user_consent_main_text.xml
deleted file mode 100644
index 17ce3ca..0000000
--- a/res/layout/user_consent_main_text.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/MainTextContainer"
-    android:orientation="vertical">
-    <TextView
-        android:id="@+id/user_consent_message"
-        style="@style/MainText"
-        android:paddingTop="@dimen/row_padding_top" />
-    <TextView
-        android:id="@+id/mdm_info_message"
-        style="@style/MainText"/>
-    <include layout="@layout/device_manager_icon_label"/>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="right"
-        android:orientation="horizontal" >
-        <Button
-            android:id="@+id/setup_button"
-            style="@style/TransparentButton"
-            android:paddingTop="@dimen/button_padding_top"/>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 8f4fa99..bdddec6 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Die volgende program sal jou toestel bestuur:"</string>
     <string name="next" msgid="1004321437324424398">"Volgende"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Stel tans jou werkprofiel op …"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Jou administrateur kan instellings, korporatiewe toegang, programme, toestemmings en data wat met hierdie profiel geassosieer word, insluitend jou netwerkaktiwiteit en jou toestel se ligging, oproepgeskiedenis en kontaksoekgeskiedenis monitor en bestuur."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Jou administrateur kan instellings, korporatiewe toegang, programme, toestemmings, diefstalbeskerming-kenmerke en data wat met hierdie toestel geassosieer word, insluitend netwerkaktiwiteit en jou toestel se ligginginligting, monitor en bestuur."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Jou administrateur kan instellings, korporatiewe toegang, programme, toestemmings en data wat met hierdie profiel geassosieer word, insluitend jou netwerkaktiwiteit, asook jou toestel se ligging, oproepgeskiedenis en kontaksoekgeskiedenis, monitor en bestuur.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontak jou administrateur vir meer inligting, insluitend jou organisasie se privaatheidsbeleide."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Jou administrateur kan instellings, korporatiewe toegang, programme, toestemmings en data wat met hierdie toestel geassosieer word, insluitend jou netwerkaktiwiteit, asook jou toestel se ligging, oproepgeskiedenis en kontaksoekgeskiedenis, monitor en bestuur.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontak jou administrateur vir meer inligting, insluitend jou organisasie se privaatheidsbeleide."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Jy moet \'n wagwoordbeskermde skermslot vir jou toestel hê om diefstalbeskerming-kenmerke te gebruik."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontak jou administrateur vir meer inligting, insluitend jou organisasie se privaatheidsbeleide."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Kom meer te wete"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Kanselleer"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Ek stem in"</string>
+    <string name="url_error" msgid="5958494012986243186">"Hierdie skakel kan nie gewys word nie."</string>
+    <string name="terms" msgid="8295436105384703903">"Bepalings"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Inligting oor werkprofiel"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Inligting oor bestuurde toestel"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Werkprofiel"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primêre gebruiker"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Verwyder werkprofiel?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"\'n Werkprofiel bestaan reeds en word bestuur deur:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Hierdie werkprofiel word vir %s bestuur met behulp van:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vee bestaande profiel uit?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Jy het reeds \'n werkprofiel wat met die volgende program bestuur word:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Lees hier"</a>" voordat jy voortgaan."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"As jy voortgaan, sal alle programme en data in hierdie profiel uitgevee word."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Vee uit"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselleer"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Jy moet jou toestel enkripteer om voort te gaan om jou werkprofiel op te stel. Dit kan \'n ruk duur."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Jy moet jou toestel enkripteer om voort te gaan om dit op te stel. Dit kan \'n ruk duur."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkripteer"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Jou toestel moet geënkripteer word om jou werkprofiel op te stel. Dit kan \'n ruk duur."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Hierdie toestel moet eers geënkripteer word om dit op te stel. Dit kan \'n ruk duur."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Enkripteer toestel?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Enkripteer"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripsie voltooi"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tik om met die opstelling van jou werkprofiel voort te gaan"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kon nie jou werkprofiel opstel nie. Kontak jou IT-afdeling of probeer later weer."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Jou toestel steun nie werkprofiele nie"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Hierdie gebruiker kan nie \'n werkprofiel hê nie"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Kan nie werkprofiel byvoeg nie"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Hierdie gebruiker kan nie \'n werkprofiel hê nie. Kontak jou administrateur vir hulp."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Hierdie gebruiker kan nie werkprofiele hê nie. Kontak jou administrateur."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Werkprofiele kan nie op \'n bestuurde toestel opgestel word nie"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Werkprofiel kan nie geskep word nie omdat jy die maksimum aantal gebruikers op jou toestel bereik het. Verwyder minstens een gebruiker en probeer weer."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Hierdie lanseerderprogram steun nie jou werkprofiel nie. Jy moet oorskakel na \'n lanseerder wat versoenbaar is."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Daar is dalk te veel gebruikers op hierdie toestel. Verwyder \'n gebruiker en probeer dan weer."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Verander toestellanseerder"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Jou werkprofiel kan nie hierdie lanseerderprogram gebruik nie"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Kanselleer"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Gebruiker se opstelling is onvoltooid"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Koppel tans aan Wi-Fi …"</string>
     <string name="progress_download" msgid="3522436271691064624">"Laai tans die administrasieprogram af …"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installeer tans die administrasieprogram …"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Verwyder tans nie-vereiste stelselprogramme …"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Doen tans afrondingswerk …"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Stel tans die toesteleienaar …"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Jou toestel steun nie enkriptering nie. Kontak jou IT-departement."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inisieer toestel tans …"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Hierdie toestel maak nie vir enkripsie voorsiening nie, wat vir opstelling nodig is. Kontak jou administrateur vir hulp."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Staak opstelling en stel toestel terug?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Dit sal jou toestel terugstel en jou na die eerste skerm terugneem"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Staak verdere opstelling en vee jou toestel se data uit?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Kanselleer"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Stel terug"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Kon nie jou toestel opstel nie. Kontak jou IT-afdeling."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Hierdie toestel is reeds opgestel."</string>
+    <string name="reset" msgid="6467204151306265796">"Stel terug"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Kan nie profiel opstel nie"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Kan nie toestel opstel nie"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Kon nie toestel opstel nie. Kontak jou administrateur vir hulp."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kontak jou administrateur vir hulp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Toestel is reeds opgestel"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kon nie aan Wi-Fi koppel nie"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Hierdie toestel is deur fabriekterugstellingbeskerming gesluit. Kontak jou IT-departement."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Terugstelbeskerming is aangeskakel op jou toestel. Kontak jou administrateur vir hulp."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Vee tans uit"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Wag asseblief …"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kon nie die administrasieprogram gebruik nie weens \'n checksum-fout. Kontak jou IT-afdeling."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Kon weens \'n kontrolesomfout nie die administrasieprogram gebruik nie. Kontak jou administrateur vir hulp."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kon nie die administrasieprogram aflaai nie"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan nie die administrasieprogram gebruik nie. Komponente ontbreek of dit is korrup. Kontak jou IT-afdeling."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Kan nie die administrasieprogram gebruik nie. Komponente ontbreek of dit is korrup. Kontak jou administrateur vir hulp."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kon nie die administrasieprogram installeer nie"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Staak opstelling?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nee"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Kanselleer tans …"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Staak profielopstelling?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Jy kan jou werkprofiel later opstel uit die toestelbestuurprogram wat jou organisasie gebruik."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Gaan voort"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Jy kan jou werkprofiel later in jou organisasie se toestelbestuurprogram opstel"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Gaan voort"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stop"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Maak toe"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Jy is op die punt om \'n werkprofiel te skep wat deur jou organisasie bestuur en gemonitor sal word. Bepalings sal geld."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Jy is op die punt om \'n werkprofiel te skep wat deur jou organisasie bestuur en gemonitor sal word. Bepalings van <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sal geld."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"\'n Profiel sal vir jou werkprogramme geskep word. Jou organisasie sal hierdie profiel en die res van jou toestel bestuur en monitor. Bepalings sal geld."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"\'n Profiel sal vir jou werkprogramme geskep word. Jou organisasie sal hierdie profiel en die res van jou toestel bestuur en monitor. Bepalings van <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sal geld."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> sal hierdie toestel bestuur en veilig hou. Bepalings sal geld. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> sal hierdie toestel bestuur en veilig hou. Bepalings van <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> sal geld. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Hierdie skakel is nie veilig nie en kan nie oopgemaak word voordat die toestel klaar opgestel is nie: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Kontak jou <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> as jy vrae het."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kontak jou organisasie se administrateur as jy vrae het"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Opstelling is nie klaar nie. Kontak jou administrateur vir hulp."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Kontak jou administrateur vir hulp"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisasie se administrateur"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> sal hierdie toestel met die volgende program bestuur en monitor:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Jou organisasie"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"jou organisasie"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Bekyk bepalings"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aanvaar, gaan voort"</string>
+    <string name="close" msgid="7208600934846389439">"Maak toe"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Stel jou toestel op"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Verander die manier waarop jy werk"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Skei werk- van persoonlike data"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Een plek vir werkprogramme"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Skakel werk af wanneer jy klaar is"</string>
     <string name="provisioning" msgid="4512493827019163451">"Stel tans op"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Stel tans CA-sertifikate op"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Stel jou profiel op. Begin opstelling"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Stel jou profiel op"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Deur \'n werkprofiel te gebruik, kan jy werkdata van persoonlike data skei"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Jy kan jou werkprogramme op een plek hou deur \'n werkprofiel te gebruik"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Stel jou profiel op. Enkripsie"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Stel jou profiel op. Wys tans vordering"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Stel jou toestel op. Begin opstelling"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Stel jou toestel op"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Stel jou toestel op. Enkripsie"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Stel jou toestel op. Wys tans vordering"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Kom meer te wete-knoppie"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>-ikoon"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>-afdelingopskrif."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>-afdelinginhoud: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Vou uit"</string>
+    <string name="collapse" msgid="7817530505064432580">"Vou in"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Gaan na \'n lys skakels"</string>
+    <string name="access_links" msgid="7991363727326168600">"Gaan na skakels"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Gaan na bepalings"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lees bepalings"</string>
+    <string name="close_list" msgid="9053538299788717597">"Maak lys toe"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Stop opstelling en doen fabriekterugstelling?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"As jy hierdie opstelling beëindig, sal \'n fabriekterugstelling van jou toestel gedoen word en jy sal na die eerste skerm teruggeneem word."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Kanselleer"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Stel toestel terug"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> en <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> en <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 92487b7..d0c64d3 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"የሚከተለው መተግበሪያ መሣሪያዎን ያስተዳድረዋል፦"</string>
     <string name="next" msgid="1004321437324424398">"ቀጣይ"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"የስራ መገለጫዎን በማዘጋጀት ላይ…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"የእርስዎ አስተዳዳሪ ቅንብሮችን፣ የኮርፖሬት መዳረሻን፣ መተግበሪያዎችን፣ ፍቃዶችን፣ እና ከመገለጫው ጋር የሚጎዳኝ ውሂብ፣ የአውታረ መረብ እንቅስቃሴ እና የመሣሪያዎ አካባቢ መረጃን ጨምሮ የመከታተልና የማስተዳደር ብቃት አለው።"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"የእርስዎ አስተዳዳሪ ቅንብሮችን፣ የኮርፖሬት መዳረሻን፣ መተግበሪያዎችን፣ ፍቃዶችን፣ የስርቆት መከላከያ ባህሪያትን፣ እና የአውታረ መረብ እንቅስቃሴ እና የመሣሪያዎ አካባቢ መረጃን ጨምሮ ከዚህ መሣሪያ ጋር የተጎዳኘ ውሂብ የመከታተልና የማስተዳደር ብቃት አለው።"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"የእርስዎ አስተዳዳሪ የአውታረ መረብ እንቅስቃሴዎንና እንዲሁም የመሣሪያዎን አካባቢ፣ የጥሪ ታሪክና የእውቂያ ፍለጋ ታሪክ ጨምሮ ከዚህ መገለጫ ጋር የተጎዳኙ ቅንብሮችን፣ የኮርፖሬት መዳረሻ፣ መተግበሪያዎችን፣ ፈቃዶችን እና ውሂብን የመከታተል እና የማቀናበር ችሎታ አላቸው።<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ስለድርጅትዎ ግላዊነት መመሪያዎች ጨምሮ ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"የእርስዎ አስተዳዳሪ የአውታረ መረብ እንቅስቃሴዎንና እንዲሁም የመሣሪያዎን አካባቢ፣ የጥሪ ታሪክና የእውቂያ ፍለጋ ታሪክ ጨምሮ ከዚህ መሣሪያ ጋር የተጎዳኙ ቅንብሮችን፣ የኮርፖሬት መዳረሻ፣ መተግበሪያዎችን፣ ፈቃዶችን እና ውሂብን የመከታተል እና የማቀናበር ችሎታ አላቸው።<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ስለድርጅትዎ ግላዊነት መመሪያዎች ጨምሮ ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"የስርቆት መከላከያ ባህሪዎችን ለመጠቀም ለእርስዎ መሣሪያ በይለፍ ቃል የተጠበቀ የማያ ገጽ መቆለፊያ ሊኖርዎት ይገባል።"</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"የድርጅትዎ ግላዊነት መመሪያዎችን ጨምሮ ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"ተጨማሪ ለመረዳት"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"ይቅር"</string>
     <string name="ok_setup" msgid="4593707675416137504">"እሺ"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"ፍቃዴን ሰጥቼያለሁ"</string>
+    <string name="url_error" msgid="5958494012986243186">"ይህን አገናኝ ማሳየት አይቻልም።"</string>
+    <string name="terms" msgid="8295436105384703903">"ውሎች"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"የሥራ መገለጫ መረጃ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"የሚተዳደር መሣሪያ መረጃ"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"የስራ መገለጫ"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"ዋና ተጠቃሚ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"የስራ መገለጫ ይወገድ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ቀድሞውኑ ያለ የስራ መገለጫና በሚከተለው የሚተዳደር፡-"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ይሄ የስራ መገለጫ የሚከተለውን በመጠቀም ለ%s የሚቀናበር ነው፦"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ነባር መገለጫ ይሰረዝ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"በሚከተለው መተግበሪያ የሚተዳደር የሥራ መገለጫ ቀደም ብሎ አለዎት፦"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"ከመቀጠልዎ በፊት "<a href="#read_this_link">"ይህን ያንብቡት"</a>"።"</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ከቀጠሉ በዚህ መገለጫ ውስጥ ያሉ ሁሉም መተግበሪያዎች እና ውሂብ ይሰረዛሉ።"</string>
     <string name="delete_profile" msgid="2299218578684663459">"ሰርዝ"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"ይቅር"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"የስራ መገለጫዎን ማዋቀር ለመቀጠል መሣሪያዎን ማመስጠር አለብዎት። ይሄ የተወሰነ ጊዜ ሊወስድ ይችላል።"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"መሣሪያዎን ማዋቀር ለመቀጠል እሱን ማመስጠር ይኖርብዎታል። ይሄ የተወሰነ ጊዜ ሊወስድ ይችላል።"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"አመስጥር"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"የእርስዎን የሥራ መገለጫ ለማዋቀር የእርስዎ መሣሪያ መመሣጠር አለበት። ይህ የተወሰነ ጊዜን ሊወስድ ይችል ይሆናል።"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ይህን መሣሪያ ለማዋቀር በመጀመሪያ መመሣጠር አለበት። ይህ የተወሰነ ጊዜን ሊወስድ ይችል ይሆናል።"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ይህ መሣሪያ ይመሣጠር?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"አመሣጥር"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ማመስጠር ተጠናቅቋል"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"የስራ መገለጫዎን ማዋቀሩን ለመቀጠል ነካ ያድርጉ"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"የስራ መገለጫዎን ማዋቀር አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ ወይም ቆይተው እንደገና ይሞክሩ።"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"መሣሪያዎ የስራ መገለጫዎችን አይደግፍም"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ይህ ተጠቃሚ የስራ መገለጫ ሊኖረው አይችልም"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"የሥራ መገለጫ ማከል አይቻልም"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ይህ ተጠቃሚ የሥራ መገለጫ ሊኖረው አይችልም። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ይህ ተጠቃሚ የሥራ መገለጫዎች ሊኖሩት አይችሉም። የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"የስራ መገለጫዎች በሚቀናበር መሣሪያ ላይ ሊዋቀሩ አይችሉም"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"በመሣሪያዎ ላይ የሚፈቀደው ከፍተኛ የተጠቃሚዎች ብዛት ላይ ስለደረሱ የሥራ መገለጫ ሊፈጠር አልቻለም። ቢያንስ አንድ ተጠቃሚ ያስወግዱ እና እንደገና ይሞክሩ።"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"የስራ መገለጫዎ በዚህ የማስጀመሪያ መተግበሪያ ውስጥ የሚደገፍ አይደለም። ተኳኋኝ ወደሆነ ማስጀመሪያ መቀየር ይኖርብዎታል።"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"በዚህ መሣሪያ ላይ ከልክ በላይ ብዙ ተጠቃሚዎች ሊኖሩ ይችሉ ይሆናል። አንድ ተጠቃሚን ያስወግዱ እና በመቀጠል እንደገና ይሞክሩ።"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"የመሣሪያ አስጀማሪን ለውጥ"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"ይህ አስጀማሪ መተግበሪያ በእርስዎ የሥራ መገለጫ ጥቅም ላይ ሊውል አይችልም"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"ይቅር"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"እሺ"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"የተጠቃሚ ውቅር አልተጠናቀቀም"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"ከWi-Fi ጋር በመገናኘት ላይ…"</string>
     <string name="progress_download" msgid="3522436271691064624">"የአስተዳዳሪ መተግበሪያውን በማውረድ ላይ…"</string>
     <string name="progress_install" msgid="2258045670385866183">"የአስተዳዳሪ መተግበሪያውን በመጫን ላይ…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"የማያስፈልጉ የስርዓት መተግበሪያዎችን በማስወገድ ላይ…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"የአጨራረስ ስራዎችን በመስራት ላይ…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"የመሣሪያውን ባለቤት በማዘጋጀት ላይ…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"የእርስዎ መሣሪያ ምሥጠራን አይደግፍም። የአይቲ ክፍልዎን ያነጋግሩ።"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"መሣሪያን በማስጀመር ላይ…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ይህ መሣሪያ ለማዋቀር የሚያስፈልገውን ምሥጠራን አይፈቅድም። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"ማዋቀር ይቁም እና መሣሪያው ዳግም ይጀምር?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ይህ የእርስዎን መሣሪያ ዳግም ያስጀምረውና ወደ መጀመሪያው ማያ ገጽ መልሶ ይወስደዎታል።"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"ማዋቀር ይቁምና የመሣሪያዎ ውሂብ ይደምሰስ?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ይቅር"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"እሺ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ዳግም አስጀምር"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"መሣሪያዎን ማዋቀር አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ይህ መሣሪያ አስቀድሞ ተዋቅሯል።"</string>
+    <string name="reset" msgid="6467204151306265796">"ዳግም አስጀምር"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"መገለጫን ማዋቀር አይቻልም"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"መሣሪያን ማዋቀር አይቻልም"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"መሣሪያን ማዋቀር አልተቻለም። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"መሣሪያ ቀደም ብሎ ተዋቅሯል"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"ከWi-Fi ጋር መገናኘት አልተቻለም"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ይህ መሳሪያ በፋብሪካ ዳግም ማስጀመር ጥበቃ የተቆለፈ ነው። የአይቲ ክፍልዎን ያነጋግሩ።"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"የእርስዎን መሣሪያ የበራ የዳግም ማዋቀር መጠበቂያ አለው። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"በማጥፋት ላይ"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"እባክዎ ይጠብቁ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"በማረጋገጫ ድምር ስህተት ምክንያት የአስተዳዳሪ መተግበሪያውን መጠቀም አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"በማረጋገጫ ድምር ስህተት ምክንያት የአስተዳዳሪ መተግበሪያውን መጠቀም አልተቻለም። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"የአስተዳዳሪ መተግበሪያውን ማውረድ አልተችላእም"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"የአስተዳዳሪ መተግበሪያውን መጠቀም አይቻልም። ክፍሎች ይጎድሉታል ወይም ተበላሽቷል። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"አስተዳዳሪ መተግበሪያውን መጠቀም አይቻልም። ክፍሎች ይጎድሉታል ወይም ተበላሽቷል። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"የአስተዳዳሪ መተግበሪያውን መጫን አልተቻለም"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ማዋቀር ይቁም?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"አይ"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"አዎ"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"በመሰረዝ ላይ…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"መገለጫን ማዘጋጀት ይቁም?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"በኋላ ላይ የስራ መገለጫዎን ድርጅትዎ ከሚጠቀምበት የመሳሪያ አስተዳደር መተግበሪያ ሆነው ማዘጋጀት ይችላሉ።"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ቀጥል"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"በኋላ ላይ በእርስዎ ድርጅት የመሣሪያ አስተዳዳር መተግበሪያ ላይ የእርስዎን የሥራ መገለጫ ማዋቀር ይችላሉ"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ቀጥል"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"አቁም"</string>
+    <string name="dismiss" msgid="9009534756748565880">"አሰናብት"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"በእርስዎ ድርጅት የሚተዳደር እና ክትትል የሚደረግበት የሥራ መገለጫን ሊፈጥሩ ተቃርበዋል። ውሎች ተፈጻሚ ይሆናሉ።"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"በእርስዎ ድርጅት የሚተዳደር እና ክትትል የሚደረግበት የሥራ መገለጫን ሊፈጥሩ ተቃርበዋል። የ<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ውሎች ተፈጻሚ ይሆናሉ።"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"አንድ መገለጫ ለሥራ መተግበሪያዎችዎ ይፈጠራል። ይህ መገለጫ እና የተቀረው መሣሪያዎ በድርጅትዎ ይተዳደራሉ እና ክትትል ይደረግባቸዋል። ውሎች ተፈጻሚ ይሆናሉ።"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"አንድ መገለጫ ለሥራ መተግበሪያዎችዎ ይፈጠራል። ይህ መገለጫ እና የተቀረው መሣሪያዎ በድርጅትዎ ይተዳደራሉ እና ክትትል ይደረግባቸዋል። የ<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ውሎች ተፈጻሚ ይሆናሉ።"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ይህ መሣሪያ በ<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ይተዳደራል እንዲሁም ደኅንነቱ ይጠበቃል። ውሎች ተፈጻሚ ይሆናሉ። <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ይህ መሣሪያ በ<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ይተዳደራል እንዲሁም ደኅንነቱ ይጠበቃል። የ<xliff:g id="TERMS_HEADERS">%2$s</xliff:g> ውሎች ተፈጻሚ ይሆናሉ። <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ይህ አገናኝ ደኅንነቱ አስተማማኝ አይደለም እና የመሣሪያ ውቅረት እስከሚጠናቀቅ ድረስ ሊከፈት አይችልም፦ <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ጥያቄዎች ካልዎት የእርስዎን <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ያነጋግሩ።"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ጥያቄዎች ካልዎት የእርስዎን ድርጅት አስተዳዳሪ ያነጋግሩ"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ማዋቀር አልተጠናቀቀም። እገዛ ለማግኘት የእርስዎን አስተዳዳሪ ያነጋግሩ።"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"እገዛ ለማግኘት፣ የእርስዎን አስተዳዳሪ ያነጋግሩ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"የድርጅት አስተዳዳሪ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ይህን መሣሪያ የሚከተለውን መተግበሪያ በመጠቀም ያስተዳድረዋል፦"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"የእርስዎ ድርጅት"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"የእርስዎ ድርጅት"</string>
+    <string name="view_terms" msgid="7230493092383341605">"ውሎችን ይመልከቱ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ተቀበል እና ቀጥል"</string>
+    <string name="close" msgid="7208600934846389439">"ዝጋ"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"መሣሪያዎን ያዋቅሩ"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"የሚሰሩበትን መንገድ ይቀይሩ"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"ስራን ከግል ለይ"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ለስራ መተግበሪያዎች የሆነ አንድ ቦታ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ሲጨርሱ ስራን ያጥፉ"</string>
     <string name="provisioning" msgid="4512493827019163451">"በማቅረብ ላይ"</string>
     <string name="copying_certs" msgid="5697938664953550881">"የCA የዕውቅና ማረጋገጫዎችን በማቀነበር ላይ"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"የእርስዎን መገለጫ ያዘጋጁት። ዝግጅት ይጀምሩ"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"የእርስዎን መገለጫ ያዋቅሩ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"የሥራ መገለጫ በመጠቀም የሥራ ውሂብ ከግል ውሂብ መለየት ይችላሉ"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"የሥራ መገለጫን በመጠቀም የእርስዎን የሥራ መተግበሪያዎች በአንድ ቦታ ላይ እንዲሆኑ ማድረግ ይችላሉ"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"መገለጫዎን ያዘጋጁ። ምስጠራ"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"የእርስዎን መገለጫ ያዘጋጁት። ሂደት በማሳየት ላይ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"መሳሪያዎን ያዘጋጁ። ዝግጅት ይጀምሩ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"መሣሪያዎን ያዋቅሩ"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"መሳሪያዎን ያዘጋጁ። ምስጠራ"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"መሳሪያዎን ያዘጋጁ። ሂደትን በማሳየት ላይ"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"የተጨማሪ ይወቁ አዝራር"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> አዶ"</string>
+    <string name="section_heading" msgid="3924666803774291908">"የ<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ክፍል ርዕስ፦"</string>
+    <string name="section_content" msgid="8875502515704374394">"የ<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ክፍል ይዘት፦ <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ዘርጋ"</string>
+    <string name="collapse" msgid="7817530505064432580">"ሰብስብ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"የአገናኞችን ዝርዝር ይድረሱበት"</string>
+    <string name="access_links" msgid="7991363727326168600">"አገናኞችን ይድረሱባቸው"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ውሎችን ይድረሱባቸው"</string>
+    <string name="read_terms" msgid="1745011123626640728">"ውሎችን ያንብቡ"</string>
+    <string name="close_list" msgid="9053538299788717597">"ዝርዝር ዝጋ"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ማዋቀር ቆሞ የፋብሪካ ዳግም ይጀምር?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ይህን ቅንብር መጨረስ መሣሪያውን የፋብሪካ ዳግም ያስጀምረውና ወደ መጀመሪያው ማያ ገጽ መልሶ ይወስደዎታል።"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ተወው"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"መሣሪያ ዳግም አስጀምር"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> እና <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> እና <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>፣ <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>፣ <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0dfa651..f901ce1 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"سيدير التطبيق التالي جهازك:"</string>
     <string name="next" msgid="1004321437324424398">"التالي"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"جارٍ إعداد الملف الشخصي للعمل…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"لدى المشرف إمكانية مراقبة وإدارة كل من الإعدادات والدخول إلى المؤسسة والتطبيقات والأذونات والبيانات المرتبطة بهذا الملف الشخصي، بما في ذلك أنشطة الشبكة وموقع الجهاز وسجل المكالمات وسجل البحث في جهات الاتصال."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"لدى المشرف إمكانية مراقبة وإدارة كل من الإعدادات والدخول إلى المؤسسة والتطبيقات والأذونات وميزات الحماية من السرقة والبيانات المرتبطة بهذا الجهاز، بما في ذلك أنشطة الشبكة ومعلومات موقع جهازك."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"لدى المشرف إمكانية إدارة ومراقبة الإعدادات وإمكانية الوصول إلى المؤسسة والتطبيقات والأذونات والبيانات المقترنة بهذا الملف الشخصي، بما في ذلك أنشطة شبكتك، وكذلك موقع الجهاز وسجّل مكالماته وسجلّ البحث في جهات الاتصال.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>يمكنك الاتصال بالمشرف للحصول على مزيد من المعلومات، بما في ذلك سياسات خصوصية مؤسستك."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"لدى المشرف إمكانية إدارة ومراقبة الإعدادات وإمكانية الوصول إلى المؤسسة والتطبيقات والأذونات والبيانات المقترنة بهذا الجهاز، بما في ذلك أنشطة شبكتك، وكذلك موقع الجهاز وسجّل مكالماته وسجلّ البحث في جهات الاتصال.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>يمكنك الاتصال بالمشرف للحصول على مزيد من المعلومات، بما في ذلك سياسات خصوصية مؤسستك."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"لاستخدام ميزات الحماية من السرقة، يجب أن يتوفر لديك قفل شاشة محمي بكلمة مرور لجهازك."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"اتصل بالمشرف للحصول على مزيد من المعلومات، بما في ذلك سياسات الخصوصية المتبعة في مؤسستك."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"مزيد من المعلومات"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"إلغاء"</string>
     <string name="ok_setup" msgid="4593707675416137504">"موافق"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"أوافق"</string>
+    <string name="url_error" msgid="5958494012986243186">"لا يمكن عرض هذا الرابط."</string>
+    <string name="terms" msgid="8295436105384703903">"البنود"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"معلومات الملف الشخصي للعمل"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"معلومات الجهاز المُدار"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"الملف الشخصي للعمل"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"المستخدم الأساسي"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"هل تريد إزالة الملف الشخصي للعمل؟"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"هناك ملف شخصي للعمل موجود من قبل وتتم إدارته بواسطة:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏تتم إدارة الملف الشخصي للعمل هذا لصالح %s باستخدام:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"هل تريد حذف الملف الشخصي الحالي؟"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"لديك ملف شخصي للعمل من قبل تتم إدارته باستخدام التطبيق التالي:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"قبل المتابعة، يجب "<a href="#read_this_link">"قراءة هذا"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"سيتم حذف جميع التطبيقات والبيانات في هذا الملف الشخصي عند المتابعة."</string>
     <string name="delete_profile" msgid="2299218578684663459">"حذف"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"إلغاء"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"لمتابعة إعداد الملف الشخصي للعمل، يجب عليك تشفير الجهاز. قد يستغرق هذا بعض الوقت."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"لمتابعة إعداد جهازك، يجب تشفير الجهاز. قد يستغرق هذا بعض الوقت."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"تشفير"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"لإعداد الملف الشخصي للعمل، يحتاج جهازك إلى تشفير، وقد يستغرق هذا بعض الوقت."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"لإعداد هذا الجهاز، يلزم تشفيره أولاً، وقد يستغرق هذا بعض الوقت."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"هل تريد تشفير هذا الجهاز؟"</string>
+    <string name="encrypt" msgid="1749320161747489212">"تشفير"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"اكتمل التشفير"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"انقر لمتابعة إعداد الملف الشخصي للعمل"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"تعذر إعداد ملف العمل. يمكنك الاتصال بقسم تكنولوجيا المعلومات أو إعادة المحاولة لاحقًا."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"جهازك ليس متوافقًا مع الملفات الشخصية للعمل"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"يتعذر وضع ملف شخصي للعمل لهذا المستخدم"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"يتعذر إضافة الملف الشخصي للعمل"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"يتعذر أن يكون لهذا المستخدم ملف شخصي للعمل. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"يتعذر أن يكون لهذا المستخدم ملفات شخصية للعمل. يمكنك الاتصال بالمشرف."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"يتعذر إعداد الملفات الشخصية للعمل على جهاز مُدار."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"يتعذر إنشاء الملف الشخصي للعمل لأنك بلغت الحد الأقصى لعدد المستخدمين على جهازك. عليك إزالة حساب مستخدم واحد على الأقل وإعادة المحاولة."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"لا يتوافق الملف الشخصي للعمل مع تطبيق المشغّل هذا. يجب عليك التبديل إلى تطبيق مشغّل متوافق."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ربما يكون عدد المستخدمين على هذا الجهاز كبيرًا جدًا. يمكنك إزالة أحد المستخدمين وإعادة المحاولة بعد ذلك."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"تغيير مشغّل الجهاز"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"لا يمكن للملف الشخصي للعمل استخدام تطبيق المشغّل هذا"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"إلغاء"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"موافق"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"إعداد حساب المستخدم غير مكتمل"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"‏جارٍ الاتصال بشبكة Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"جارٍ تنزيل تطبيق المشرف…"</string>
     <string name="progress_install" msgid="2258045670385866183">"جارٍ تثبيت تطبيق المشرف…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"جارٍ إزالة تطبيقات النظام غير المطلوبة…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"جارٍ وضع اللمسات النهائية…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"جارٍ تعيين مالك الجهاز..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"لا يتوافق جهازك مع التشفير. اتصل بقسم تكنولوجيا المعلومات."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"جارٍ تهيئة الجهاز…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"لا يسمح هذا الجهاز بالتشفير، وهو أمر لازم للإعداد. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"هل تريد إيقاف الإعداد وإعادة ضبط الجهاز؟"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"سيؤدي هذا إلى إعادة ضبط جهازك ورجوعك إلى الشاشة الأولى"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"هل تريد إيقاف الإعداد ومحو بيانات جهازك؟"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"إلغاء"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"موافق"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"إعادة التعيين"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"تعذر إعداد الجهاز. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"سبق إعداد هذا الجهاز."</string>
+    <string name="reset" msgid="6467204151306265796">"إعادة الضبط"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"يتعذر إعداد الملف الشخصي"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"يتعذر إعداد الجهاز"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"تعذر إعداد الجهاز. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"يمكنك الاتصال بالمشرف للحصول على مساعدة"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"سبق إعداد الجهاز"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏تعذر الاتصال بـ Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"تم قفل هذا الجهاز عن طريق حماية إعادة الضبط بحسب بيانات المصنع، فاتصل بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"تم تشغيل حماية إعادة الضبط في جهازك. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"جارٍ محو البيانات"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"يرجى الانتظار..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"تعذر استخدام تطبيق المشرف بسبب خطأ في تدقيق المجموع. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"تعذر استخدام تطبيق المشرف بسبب خطأ في تدقيق المجموع. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"يتعذر تنزيل التطبيق الإداري"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"يتعذر استخدام تطبيق المشرف. بعض المكونات مفقودة أو تالفة. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"تعذر استخدام تطبيق المشرف. بعض المكونات مفقودة أو تالفة. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"يتعذر تثبيت التطبيق الإداري"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"هل تريد إيقاف الإعداد؟"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"لا"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"نعم"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"جارٍ الإلغاء..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"هل تريد إيقاف إعداد الملف الشخصي؟"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"يمكنك لاحقًا إعداد ملفك الشخصي للعمل من تطبيق إدارة الجهاز الذي تستخدمه مؤسستك."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"متابعة"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"يمكنك إعداد الملف الشخصي للعمل لاحقًا في تطبيق إدارة أجهزة مؤسستك"</string>
+    <string name="continue_button" msgid="7177918589510964446">"متابعة"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"إيقاف"</string>
+    <string name="dismiss" msgid="9009534756748565880">"إلغاء"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"أنت بصدد إنشاء ملف شخصي للعمل تتم إدارته ومراقبته بواسطة مؤسستك. تسري البنود."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"أنت بصدد إنشاء ملف شخصي للعمل يخضع لإدارة ومراقبة مؤسستك. تسري البنود المتبعة في <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"سيتم إنشاء ملف شخصي لتطبيقات العمل، وسيخضع هذا الملف الشخصي وبقية محتويات الجهاز لإدارة ومراقبة مؤسستك. تسري البنود."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"سيتم إنشاء ملف شخصي لتطبيقات العمل، وسيخضع هذا الملف الشخصي وبقية محتويات الجهاز لإدارة ومراقبة مؤسستك. تسري البنود في <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ستتم إدارة هذا الجهاز وتأمينه بواسطة <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. تسري البنود. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ستتم إدارة هذا الجهاز وتأمينه بواسطة <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. تسري البنود المتّبعة في <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"هذا الرابط غير آمن ولا يمكن فتحه حتى يكتمل إعداد الجهاز: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"إذا كانت لديك أسئلة، فاتصل بـ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"إذا كانت لديك أسئلة، فاتصل بمشرف مؤسستك"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"لم يكتمل الإعداد. يمكنك الاتصال بالمشرف للحصول على مساعدة."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"يمكنك الاتصال بالمشرف للحصول على مساعدة"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"مشرف المؤسسة"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"ستتولى مؤسسة <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> إدارة هذا الجهاز ومراقبته باستخدام التطبيق التالي:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"مؤسستك"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"مؤسستك"</string>
+    <string name="view_terms" msgid="7230493092383341605">"عرض البنود"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"قبول ومتابعة"</string>
+    <string name="close" msgid="7208600934846389439">"إغلاق"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"إعداد الجهاز"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"تغيير طريقة العمل"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"فصل بيانات العمل عن البيانات الشخصية"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"مصدر واحد لتطبيقات العمل"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"إيقاف العمل عند الانتهاء"</string>
     <string name="provisioning" msgid="4512493827019163451">"جارٍ توفير الشهادات"</string>
     <string name="copying_certs" msgid="5697938664953550881">"‏جارٍ إعداد شهادات CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"إعداد ملفك الشخصي. بدء الإعداد"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"إعداد الملف الشخصي"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"باستخدام ملف شخصي للعمل، يمكنك الفصل بين بيانات العمل والبيانات الشخصية"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"يعني استخدامك ملفًا شخصيًا للعمل أنه يمكنك الاحتفاظ بتطبيقات عملك في مكان واحد"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"إعداد ملفك الشخصي. التشفير"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"إعداد ملفك الشخصي. جارٍ عرض التقدم"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"إعداد جهازك. بدء الإعداد"</string>
+    <string name="setup_device" msgid="6725265673245816366">"إعداد الجهاز"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"إعداد جهازك. التشفير"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"إعداد جهازك. جارٍ عرض التقدم"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"زر \"مزيد من المعلومات\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"رمز <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"عنوان القسم <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"محتوى القسم <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"توسيع"</string>
+    <string name="collapse" msgid="7817530505064432580">"تصغير"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"الوصول إلى قائمة الروابط"</string>
+    <string name="access_links" msgid="7991363727326168600">"الوصول إلى الروابط"</string>
+    <string name="access_terms" msgid="1982500872249763745">"الوصول إلى البنود"</string>
+    <string name="read_terms" msgid="1745011123626640728">"قراءة البنود"</string>
+    <string name="close_list" msgid="9053538299788717597">"إغلاق القائمة"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"أتريد إنهاء الإعداد وإعادة تعيين بيانات المصنع؟"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"سيؤدي إنهاء هذا الإعداد إلى إعادة تعيين بيانات المصنع لجهازك ونقلك إلى الشاشة الأولى مرة أخرى."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"إلغاء"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"إعادة ضبط الجهاز"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> و<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> و<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>، <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>، <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
deleted file mode 100644
index 070119e..0000000
--- a/res/values-az-rAZ/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"İş profili qurması"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Vay!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"İş profili quraşdırın"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Təşkilatınız profilə nəzarət edir və onu güvənli saxlayır. Qalan hər şeyə Siz nəzarət edirsiniz."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Təşkilatınız bu cihaza nəzarət edəcək və onu təhlükəsiz saxlayacaq."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aşağıdakı tətbiqlər bu profilə daxil olmaq istəyir:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aşağıdakı app sizin cihaz idarə edəcək:"</string>
-    <string name="next" msgid="1004321437324424398">"Növbəti"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"İş profiliniz quraşdırılır..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Admininiz ayarlara, korperativ girişə, tətbiqə, icazəyə və bu istifadəçi ilə əlaqədar dataya, həmçinin şəbəkə fəaliyyətinizə, cihazınızın məkan məlumatına, zəng tarixşəsinə və kontakt axtarış tarixçəsinə nəzarət etmək və idarə etmək iqtidarındadır."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Admininiz ayarlar, korporativ giriş, tətbiqlər, icazələr, oğurluğa qarşı qorunma və bu cihaz ilə əlaqədar data, şəbəkə fəaliyyəti və cihazın məkan məlumatına nəzarət və idarə etmək imkanına malikdir."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Oğurluğa qarşı qorunma xüsusiyyətlərini istifadə etmək üçün, cihazınızda parol ilə qorunan ekran kilidi olmalıdır."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Ətraflı məlumat, həmçinin təşkilatınızın məxfilik siyasəti haqqında məlumat almaq üçün admin ilə əlaqə saxlayın."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Ətraflı öyrənin"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Ləğv et"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Razıyam"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"İş profili"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Əsas istifadəçi"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"İş profili silinsin?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"İş profili artıq mövcuddur və bunun tərəfindən idarə olunur:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Bu iş profili %s istifadəsi üçün idarə olunur:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Davam etməmişdən əvvəl "<a href="#read_this_link">"bunu oxuyun"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Davam etsəniz, bu profildə bütün tətbiqlər və data silinəcək."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Sil"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ləğv et"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"İş profilinizi quraşdırmağı davam etdirmək üçün cihazınızı şifrələməli olacaqsınız. Bir az vaxt aparacaq."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Cihazınızın qurulmasını davam etdirmək üçün onu şifrələməli olacaqsınız. Bir az vaxt apara bilər."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Şifrələyin"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Şifrələnmə tamamlandı"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"İş profilinizi quraşdırmağa davam etmək üçün toxunun"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"İş profilinizi quraşdırmaq alınmadı. İnformasiya Texnologiyaları departamentinə müraciət edin və ya yenidən cəhd edin."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Cihazınız iş profillərini dəstəkləmir"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Bu istifadəçinin iş profili ola bilməz"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"İş profilləri idarə oluna cihazda quraşdırıla bilməz"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"İş profili yaradıla bilmədi, çünki cihazınızda maksimum istifadəçi sayına çatmısız. Ən azı bir istifadəçini silin və yenidən cəhd edin."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"İş profiliniz bu işəsalma tətbiqi tərəfindən dəstəklənmir. Uyğun olan işəsalana keçirməyiniz gərəkdir."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Ləğv et"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"İstifadəçi Ayarı Tamamlanmayıb"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"İş cihazı istifadəçisi"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"İş cihazı quraşdırın"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Quraşdırma datası prosesdən keçirilir..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi\'a qoşulur..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Admin tətbiqi endirilir..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Admin tətbiqi quraşdırılır..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Cihaz sahibi ayarlanır..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Cihazınız şifrələməni dəstəkləmir. IT departamentinizlə əlaqə saxlayın."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Quraşdırma dayandırılsın və cihaz datası silinsin?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ləğv edin"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Sıfırlayın"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Cihazınızı quraşdırmaq alınmadı. İnformasiya Texnologiyaları departamentinə müraciət edin."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Bu cihaz artıq quraşdırılıb."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi\'a qoşulmaq alınmadı"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Bu cihaz fabrik sıfırlaması qorunması ilə kilidlənib. IT departamentinizlə əlaqə saxlayın."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Silinir"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Lütfən, gözləyin..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ümumi yoxlanış xətasına görə admin tətbiqini istifadə etmək alınmadı. İnformasiya Texnologiyaları departamentinə müraciət edin."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Admin tətbiqini endirmək alınmadı"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Admin tətbiqini istifadə etmək olmur. Tətbiqin komponentləri çatışmır və ya tətbiq xarabdır. İnformasiya Texnologiyaları departamentinə müraciət edin."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Admin tətbiqini quraşdırmaq alınmadı"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Quraşdırma durdurulsun?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Yox"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Hə"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Ləğv olunur..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profil quraşdırması dayandırılsın?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"İş profilinizi daha sonra təşkilatınız tərəfindən istifadə olunan cihaz idarəetmə tətbiqindən quraşdıra bilərsiniz."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Davam edin"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Dayandırın"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Təmin edilir"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA sertifikatları ayarlanır"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profilinizi ayarlayın. Ayarlamağa başlayın"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profilinizi ayarlayın. Şifrələmə"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Profilinizi ayarlayın. İş prosesi göstərilir"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Cihazınızı ayarlayın. Ayarlamağa başlayın"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Cihazınızı ayarlayın. Şifrələmə"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Cihazınızı ayarlayın. İş prosesi göstərilir"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Ətraflı məlumat düyməsi"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonası"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Quraşdırma sonlandırılsın və zavod sıfırlaması edilsin?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Bu quraşdırmanı sonlandırmaq cihazın fabrik ayarlarına qayıtmasına və ilk ekrana qayıtmağa səbəb olacaq."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Ləğv edin"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Cihazı sıfırlayın"</string>
-</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
new file mode 100644
index 0000000..907ae52
--- /dev/null
+++ b/res/values-az/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"İş profili qurması"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Vay!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"İş profili quraşdırın"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Təşkilatınız profilə nəzarət edir və onu güvənli saxlayır. Qalan hər şeyə Siz nəzarət edirsiniz."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Təşkilatınız bu cihaza nəzarət edəcək və onu təhlükəsiz saxlayacaq."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aşağıdakı tətbiqlər bu profilə daxil olmaq istəyir:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aşağıdakı app sizin cihaz idarə edəcək:"</string>
+    <string name="next" msgid="1004321437324424398">"Növbəti"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"İş profiliniz quraşdırılır..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Admin ayarlara, korperativ girişə, tətbiqə, icazəyə və bu profil ilə əlaqədar dataya, həmçinin şəbəkə fəaliyyətinə, cihaz məkanına, zəng tarixçəsinə və kontakt axtarış tarixçəsinə nəzarət etmək və idarə etmək iqtidarındadır.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Təşkilatın məxfilik siyasəti də daxil olmaqla ətraflı məlumat üçün admin ilə əlaqə saxlayın."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Admin ayarlara, korperativ girişə, tətbiqə, icazəyə və bu cihaz ilə əlaqədar dataya, həmçinin şəbəkə fəaliyyətinə, cihaz məkanına, zəng tarixçəsi və kontakt axtarış tarixçəsinə nəzarət etmək və idarə etmək iqtidarındadır.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Təşkilatın məxfilik siyasəti də daxil olmaqla ətraflı məlumat üçün admin ilə əlaqə saxlayın."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Oğurluğa qarşı qorunma xüsusiyyətlərini istifadə etmək üçün, cihazınızda parol ilə qorunan ekran kilidi olmalıdır."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Ətraflı məlumat, həmçinin təşkilatınızın məxfilik siyasəti haqqında məlumat almaq üçün admin ilə əlaqə saxlayın."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Ətraflı öyrənin"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Ləğv et"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Razıyam"</string>
+    <string name="url_error" msgid="5958494012986243186">"Bu linki göstərmək olmur."</string>
+    <string name="terms" msgid="8295436105384703903">"Şərtlər"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"İş profili məlumatı"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"İdarə edilən cihaz məlumatı"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"İş profili"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Əsas istifadəçi"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Mövcud profil silinsin?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Artıq aşağıdakı tətbiqi istifadə edərək idarə olunan iş profiliniz var:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Davam etməmişdən əvvəl "<a href="#read_this_link">"bunu oxuyun"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Davam etsəniz, bu profildə bütün tətbiqlər və data silinəcək."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Sil"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ləğv et"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"İş profilini quraşdırmaq üçün əvvəlcə cihazı şifrələməli olacaqsınız. Bu proses bir az vaxt ala bilər."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Bu cihazı quraşdırmaq üçün əvvəlcə onu şifrələməli olacaqsınız. Bu proses bir az vaxt ala bilər."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Cihaz şifrələnsin?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Şifrələyin"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Şifrələnmə tamamlandı"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"İş profilinizi quraşdırmağa davam etmək üçün toxunun"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"İş profilinizi quraşdırmaq alınmadı. İnformasiya Texnologiyaları departamentinə müraciət edin və ya yenidən cəhd edin."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"İş profili əlavə etmək mümkün olmadı"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Bu istifadəçinin iş profili ola bilməz. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Bu istifadəçinin iş profili ola bilməz. Admin ilə əlaqə saxlayın."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"İş profilləri idarə oluna cihazda quraşdırıla bilməz"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Bu cihazda həddindən çox istifadəçi ola bilər. İstifadəçini silin və yenidən cəhd edin."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cihaz başladıcısını dəyişin"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Bu işəsalma tətbiqi iş profili tərəfindən istifadə edilə bilməz"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Ləğv et"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"İstifadəçi Ayarı Tamamlanmayıb"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"İş cihazı istifadəçisi"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"İş cihazı quraşdırın"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Quraşdırma datası prosesdən keçirilir..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi\'a qoşulur..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Admin tətbiqi endirilir..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Admin tətbiqi quraşdırılır..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Tələb olunmayan sistem tətbiqləri silinir..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Tamamlama toxunuşları edilir..."</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Cihaz sahibi ayarlanır..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Cihaz sıfırlanır..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Bu cihaz quraşdırma üçün tələb edilən şifrələməyə icazə vermir. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Quraşdırma dayandırılsın və cihaz sıfırlansın?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Bu cihazın sıfırlanmasına və ilk ekrana qayıtmağınıza səbəb olacaq"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Quraşdırma dayandırılsın və cihaz datası silinsin?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ləğv edin"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
+    <string name="reset" msgid="6467204151306265796">"Sıfırlayın"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profili quraşdırmaq mümkün olmadı"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Cihazı quraşdırmaq mümkün olmadı"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Cihazı quraşdırmaq mümkün olmadı. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kömək üçün admin ilə əlaqə saxlayın"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Cihaz artıq quraşdırılıb"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi\'a qoşulmaq alınmadı"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Cihazın sıfırlama qoruması aktiv edilib. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Silinir"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Lütfən, gözləyin..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Ümumi yoxlanış xətasına görə admin tətbiqini istifadə mümkün olmadı. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Admin tətbiqini endirmək alınmadı"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Admin tətbiq istifadə etmək mümkün deyil. Tətbiqin komponentləri çatışmır və ya tətbiq xarabdır. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Admin tətbiqini quraşdırmaq alınmadı"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Quraşdırma durdurulsun?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Yox"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Hə"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Ləğv olunur..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profil quraşdırması dayandırılsın?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"İş profilini daha sonra təşkilatın cihaz idarə tətbiqində quraşdıra bilərsiniz"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Davam edin"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Dayandırın"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Rədd edin"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Təşkilatınız tərəfindən idarə və nəzarət ediləcək yeni iş profili yaratmaq üzrəsiniz. Şərtlər tətbiq ediləcək."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Təşkilatınız tərəfindən idarə və nəzarət ediləcək iş profili yaratmaq üzrəsiniz. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> şərtləri tətbiq ediləcək."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Profil iş tətbiqləri üçün yaradılacaq. Bu profil və cihazın geri qalan hissəsi təşkilatınız tərəfindən idarə və nəzarət ediləcək. Şərtlər tətbiq ediləcək."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Profil iş tətbiqləri üçün yaradılacaq. Bu profil və cihazın geri qalan hissəsi təşkilatınız tərəfindən idarə və nəarət ediləcək. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> şərtləri tətbiq ediləcək."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Bu cihaz <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tərəfindən təhlükəsiz şəkildə idarə ediləcək və saxlanacaq. Şərtlər tətbiq ediləcək. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Bu cihaz <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tərəfindən təhlükəsiz şəkildə idarə ediləcək və saxlanacaq. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> şərtləri tətbiq ediləcək. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Bu link təhlükəsiz deyil və cihaz quraşdırması başa çatana qədər açıla bilməz: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Sualınız varsa, <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ilə əlaqə saxlayın."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Sualınız varsa, təşkilatın admini ilə əlaqə saxlayın"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Quraşdırma tamamlanmadı. Kömək üçün admin ilə əlaqə saxlayın."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Kömək üçün admin ilə əlaqə saxlayın"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"təşkilatın admini"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> aşağıdakı tətbiqi istifadə edərək bu cihazı idarə və nəzarət edəcək:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Təşkilatınız"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"təşkilatınız"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Şərtlərə baxın"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Qəbul və davam edin"</string>
+    <string name="close" msgid="7208600934846389439">"Qapadın"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Cihazınızı quraşdırın"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"İşləmə üsulunuzu dəyişin"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"İşi şəxsidən ayırın"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"İş tətbiqləri üçün vahid məkan"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"İşiniz bitdikdən sonra bağlayın"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Təmin edilir"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA sertifikatları ayarlanır"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Profilinizi quraşdırın"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"İş profili istifadə etməklə iş datasını şəxsi datadan ayıra bilərsiniz"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"İş profili istifadə etməklə iş tətbiqlərini bir yerdə saxlaya bilərsiniz"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profilinizi ayarlayın. Şifrələmə"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Profilinizi ayarlayın. İş prosesi göstərilir"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Cihazınızı quraşdırın"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Cihazınızı ayarlayın. Şifrələmə"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Cihazınızı ayarlayın. İş prosesi göstərilir"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Ətraflı məlumat düyməsi"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonası"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bölmə başlığı."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bölmə kontenti: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Genişləndirin"</string>
+    <string name="collapse" msgid="7817530505064432580">"Yığcamlaşdırın"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Link siyahısını açın"</string>
+    <string name="access_links" msgid="7991363727326168600">"Linkləri açın"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Şərtlərə baxın"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Şərtləri oxuyun"</string>
+    <string name="close_list" msgid="9053538299788717597">"Siyahını bağlayın"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Quraşdırma sonlandırılsın və zavod sıfırlaması edilsin?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Bu quraşdırmanı sonlandırmaq cihazın fabrik ayarlarına qayıtmasına və ilk ekrana qayıtmağa səbəb olacaq."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Ləğv edin"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Cihazı sıfırlayın"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> və <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> və <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c5ab8da..5a06fc4 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Sledeća aplikacija će upravljati uređajem:"</string>
     <string name="next" msgid="1004321437324424398">"Dalje"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Podešava se profil za Work..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administrator može da nadgleda podešavanja, korporativni pristup, aplikacije, dozvole i podatke povezane sa ovim profilom, uključujući aktivnosti na mreži i lokaciju uređaja, istoriju poziva i istoriju pretrage kontakata, kao i da upravlja njima."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administrator može da nadgleda podešavanja, korporativni pristup, aplikacije, dozvole, funkcije za zaštitu od krađe i podatke povezane sa ovim uređajem, uključujući aktivnosti na mreži i informacije o lokaciji uređaja, kao i da upravlja njima."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrator može da nadgleda podešavanja, korporativni pristup, aplikacije, dozvole i podatke povezane sa ovim profilom, kao i da upravlja njima. Tu spadaju aktivnosti na mreži, lokacija uređaja, istorija poziva i istorija pretrage kontakata.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontaktirajte administratora za više informacija, uključujući politiku privatnosti organizacije."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrator može da nadgleda podešavanja, korporativni pristup, aplikacije, dozvole i podatke povezane sa ovim uređajem, kao i da upravlja njima. Tu spadaju aktivnosti na mreži, lokacija uređaja, istorija poziva i istorija pretrage kontakata.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontaktirajte administratora za više informacija, uključujući politiku privatnosti organizacije."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Da biste koristili funkcije za zaštitu uređaja od krađe, na uređaju morate da imate zaključavanje ekrana zaštićeno lozinkom."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontaktirajte administratora da biste saznali više informacija, uključujući politiku privatnosti organizacije."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Saznajte više"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Otkaži"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Potvrdi"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Prihvatam"</string>
+    <string name="url_error" msgid="5958494012986243186">"Ovaj link ne može da se prikaže."</string>
+    <string name="terms" msgid="8295436105384703903">"Uslovi"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informacije o profilu za Work"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informacije o uređaju kojim se upravlja"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil za posao"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primarni korisnik"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Ukloniti profil za Work?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profil za Work već postoji i njime upravlja:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ovim profilom za Work se upravlja za %s pomoću:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Želite li da izbrišete postojeći profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Već imate profil za Work kojim se upravlja pomoću sledeće aplikacije:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Pre nego što nastavite, "<a href="#read_this_link">"pročitajte ovo"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ako nastavite, izbrisaćete sve aplikacije i podatke na ovom profilu."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Izbriši"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Otkaži"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Da biste nastavili sa podešavanjem poslovnog profila, morate da šifrujete uređaj. To može da potraje."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Da biste nastavili sa podešavanjem uređaja, treba da ga šifrujete. To može da potraje."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifruj"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Da biste podesili profil za Work, uređaj treba da se šifruje. To može da potraje."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Da biste podesili ovaj uređaj, prvo treba da se šifruje. To može da potraje."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Šifrovati ovaj uređaj?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifruj"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrovanje je dovršeno"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Dodirnite da biste nastavili sa podešavanjem profila za Work"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nije moguće podesiti profil za posao. Kontaktirajte IT sektor ili pokušajte ponovo kasnije."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Uređaj ne podržava poslovne profile"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ovaj korisnik ne može da ima profil za Work"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Dodavanje profila za Work nije uspelo"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ovaj korisnik ne može da ima profile za Work. Potražite pomoć od administratora."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ovaj korisnik ne može da ima profile za Work. Kontaktirajte administratora."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Ne možete da podešavate profile za posao na upravljanom uređaju"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Pravljenje profila za Work nije uspelo jer je dostignut maksimalan broj korisnika na uređaju. Uklonite najmanje jednog korisnika i pokušajte ponovo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ova aplikacija pokretača ne podržava poslovni profil. Morate da pređete na kompatibilan pokretač."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Na ovom uređaju ima previše korisnika. Uklonite nekog korisnika, pa probajte ponovo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Promenite pokretač za uređaj"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Ova aplikacija pokretača ne može da se koristi preko profila za Work"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Otkaži"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Potvrdi"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Podešavanje korisnika nije dovršeno"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Povezujete se sa Wi-Fi-jem..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Preuzima se aplikacija za administratore..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Instalira se aplikacija za administratore..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Uklanjamo nepotrebne sistemske aplikacije…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Obavljamo završna podešavanja…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Podešava se vlasnik uređaja..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Uređaj ne podržava šifrovanje. Kontaktirajte IT sektor."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Pokrećemo uređaj…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Ovaj uređaj ne dozvoljava šifrovanje, koje je neophodno za podešavanje. Potražite pomoć od administratora."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Želite li da zaustavite podešavanje i resetujete uređaj?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"To će vratiti uređaj na fabrička podešavanja i odvesti vas na prvi ekran"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Želite li da prekinete podešavanje i obrišete podatke uređaja?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Otkaži"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Potvrdi"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetuj"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nije moguće podesiti uređaj. Kontaktirajte IT sektor."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Ovaj uređaj je već podešen."</string>
+    <string name="reset" msgid="6467204151306265796">"Resetuj"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Podešavanje profila nije uspelo"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Podešavanje uređaja nije uspelo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Podešavanje uređaja nije uspelo. Potražite pomoć od administratora."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Potražite pomoć od administratora"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Uređaj je već podešen"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Povezivanje sa Wi-Fi mrežom nije uspelo"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Ovaj uređaj je zaključan zaštitom resetovanja na fabričke vrednosti. Kontaktirajte IT sektor."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Zaštita resetovanja je uključena za uređaj. Potražite pomoć od administratora."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Brisanje"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sačekajte..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nije moguće koristiti aplikaciju za administratore zbog greške u kontrolnom zbiru. Kontaktirajte IT sektor."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Korišćenje aplikacije za administratore nije uspelo zbog greške u kontrolnom zbiru. Potražite pomoć od administratora."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Preuzimanje aplikacije za administratore nije uspelo"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nije moguće koristiti aplikaciju za administratore. Nedostaju joj komponente ili je oštećena. Kontaktirajte IT sektor."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Korišćenje aplikacije za administratore nije uspelo. Nedostaju joj komponente ili je oštećena. Potražite pomoć od administratora."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Instaliranje aplikacije za administratore nije uspelo"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Želite li da prekinete podešavanje?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Otkazuje se…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Želite li da zaustavite podešavanje profila?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Možete kasnije da podesite profil za Work u aplikaciji za upravljanje uređajem koju koristi organizacija."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Nastavi"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Možete kasnije da podesite profil za Work u aplikaciji za upravljanje uređajem koju koristi organizacija."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Nastavi"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zaustavi"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Odbaci"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Napravićete profil za Work. Organizacija će upravljati njim i nadgledati ga. Primenjivaće se uslovi."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Napravićete profil za Work. Organizacija će upravljati njim i nadgledati ga. Primenjivaće se <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> uslovi."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Napravićete profil za aplikacije za Work. Organizacija će upravljati ovim profilom i ostatkom uređaja i nadgledati ih. Primenjivaće se uslovi."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Napravićete profil za aplikacije za Work. Organizacija će upravljati ovim profilom i ostatkom uređaja i nadgledati ih. Primenjivaće se <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> uslovi."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> će upravljati ovim uređajem i štititi ga. Primenjivaće se uslovi. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> će upravljati ovim uređajem i štititi ga. Primenjivaće se <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> uslovi. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ovaj link nije pouzdan i ne može da se otvori dok se ne dovrši podešavanje uređaja: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ako imate pitanja, kontaktirajte: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ako imate pitanja, kontaktirajte administratora organizacije"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Podešavanje nije dovršeno. Potražite pomoć od administratora."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Potražite pomoć od administratora"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrator organizacije"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> će upravljati ovim uređajem i nadgledati ga pomoću sledeće aplikacije:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organizacija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"Organizacija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Prikaži uslove"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Prihvati i nastavi"</string>
+    <string name="close" msgid="7208600934846389439">"Zatvori"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Podesite uređaj"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Promenite način rada"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Odvojite poslovne podatke od ličnih"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Jedno mesto za aplikacije za Work"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Isključite Work kada završite"</string>
     <string name="provisioning" msgid="4512493827019163451">"Dodeljuje se"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Podešava se CA sertifikat"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Podesite profil. Započnite podešavanje"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Podesite profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ako koristite profil za Work, možete da odvojite poslovne od ličnih podataka"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ako koristite profil za Work, možete da čuvate poslovne aplikacije na jednom mestu"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Podesite profil. Šifrovanje"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Podesite profil. Prikazuje se napredak"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Podesite uređaj. Započnite podešavanje"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Podešavanje uređaja"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Podesite uređaj. Šifrovanje"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Podesite uređaj. Prikazuje se napredak"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Dugme Saznajte više"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Naslov odeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sadržaj odeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Proširi"</string>
+    <string name="collapse" msgid="7817530505064432580">"Skupi"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Pristupite listi linkova"</string>
+    <string name="access_links" msgid="7991363727326168600">"Pristupite linkovima"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Pristupite uslovima"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Pročitajte uslove"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zatvori listu"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Žel. li da prekin. podeš. i reset. na fab. podeš.?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ako prekinete podešavanja, resetovaćete uređaj na fabrička podešavanja i vratićete se na početni ekran."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Otkaži"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Resetuj uređaj"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> i <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> i <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
deleted file mode 100644
index 480d2c8..0000000
--- a/res/values-be-rBY/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Наладжванне працоўнага профілю"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Вой!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Наладжванне працоўнага профілю"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Ваша арганізацыя кантралюе гэты профіль і забяспечвае яго абарону. Вы кантралюеце ўсё астатняе на вашай прыладзе."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Ваша арганізацыя будзе кантраляваць гэту прыладу і захоўваць яе ў бяспецы."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Наступнай праграме спатрэбіцца доступ да гэтага профілю:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Наступная праграма будзе кіраваць вашай прыладай:"</string>
-    <string name="next" msgid="1004321437324424398">"Далей"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Наладжванне працоўнага профілю..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"У вашага адміністратара ёсць магчымасць маніторынгу і адміністравання налад, карпаратыўнага доступу, праграм, дазволаў і даных, звязаных з гэтым профілем, у тым ліку інфармацыі пра вашу сеткавую актыўнасць, а таксама месцазнаходжанне прылады, гісторыю выклікаў і гісторыю пошуку кантактаў."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"У вашага адміністратара ёсць магчымасць маніторынгу і адміністравання налад, карпаратыўнага доступу, праграм, дазволаў, функцый абароны ад крадзяжу, а таксама даных, звязаных з гэтай прыладай, у тым ліку інфармацыі пра сеткавую актыўнасць і месцазнаходжанне прылады."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Для выкарыстання функцыі абароны ад крадзяжу вы павінны мець абароненую паролем блакіроўку экрана вашай прылады."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Звярніцеся да адміністратара для атрымання дадатковай інфармацыі, у тым ліку пра палітыкі прыватнасці вашай арганізацыі."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Даведацца больш"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Скасаваць"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Я згаджаюся"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Працоўны профіль"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Асноўны карыстальнік"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Выдаліць працоўны профіль?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Працоўны профіль ужо існуе і знаходзіцца пад кіраваннем:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Гэты працоўны профіль знаходзіцца пад кіраваннем для %s з дапамогай:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Перш чым працягнуць, "<a href="#read_this_link">"прачытайце гэта"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Калі вы працягнеце, усе праграмы і даныя ў гэтым профілі будуць выдалены."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Выдаліць"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Скасаваць"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Каб працягнуць наладжванне працоўнага профілю, вам неабходна зашыфраваць прыладу. Гэта можа заняць некаторы час."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Каб працягнуць наладжванне прылады, вам неабходна зашыфраваць яе. Гэта можа заняць некаторы час."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Зашыфраваць"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шыфраванне завершана"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Краніце, каб працягнуць наладжванне рабочага профілю"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не атрымалася наладзіць ваш працоўны профіль. Звярніцеся ў аддзел ІТ або паўтарыце спробу пазней."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Прылада не падтрымлівае працоўныя профілі"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"У гэтага карыстальніка не можа быць працоўнага профілю"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Працоўныя профілі нельга наладзіць на кіраванай прыладзе"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Нельга стварыць працоўны  профіль, таму што вы дасягнулі максімальнай колькасці карыстальнікаў на прыладзе. Выдаліце хаця б аднаго карыстальніка і паспрабуйце яшчэ раз."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ваш працоўны профіль не падтрымліваецца гэтай праграмай запуску. Вам трэба перайсці на сумяшчальную праграму запуску."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Скасаваць"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Наладжванне карыстальніка не завершана"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Карыстальнік працоўнай прылады"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Наладжванне працоўнай прылады"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Апрацоўка даных наладжвання..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Падлучэнне да Wi-Fi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Спампоўка праграмы для адміністравання..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Усталёўка праграмы для адміністравання..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Выбар уладальніка прылады..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Ваша прылада не падтрымлівае шыфраванне. Звярніцеся ў аддзел ІТ."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Спыніць наладжванне і сцерці даныя прылады?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Скасаваць"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ОК"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Скінуць налады"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Не атрымалася наладзіць прыладу. Звярніцеся ў аддзел ІТ."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Гэта прылада ўжо наладжана."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Немагчыма падлучыцца да Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Гэта прылада заблакіравана абаронай ад скіду да заводскіх налад. Звярніцеся ў аддзел ІТ."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Сціранне"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Пачакайце..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Не атрымалася выкарыстаць праграму для адміністравання з-за памылкі кантрольнай сумы. Звярніцеся ў аддзел ІТ."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не атрымалася загрузіць праграму для адміністравання"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Немагчыма выкарыстаць праграму для адміністравання. У яе адсутнічаюць кампаненты, або яна пашкоджана. Звярніцеся ў аддзел ІТ."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не атрымалася ўсталяваць праграму для адміністравання"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Спыніць наладжванне?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Так"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Скасаванне..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Спыніць наладжванне профілю?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Вы можаце стварыць свой працоўны профіль пазней з праграмы кіравання прыладай, якая выкарыстоўваецца ў вашай арганізацыі."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Працягнуць"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Спыніць"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Забеспячэнне"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Наладжванне сертыфікатаў ЦС"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Наладжванне профілю. Пачатак усталёўкі"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Наладжванне профілю. Шыфраванне"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Наладжванне профілю. Паказ ходу выканання"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Наладжванне прылады. Пачатак усталёўкі"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Наладжванне прылады. Шыфраванне"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Наладжванне прылады. Паказ ходу выканання"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Кнопка «Даведацца больш»"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Значок <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Завяршыць наладжванне і скінуць налады?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Завяршыўшы гэта наладжванне, вы скінеце прыладу да заводскіх налад і перайдзеце да першага экрана."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Скасаваць"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Скід налад прылады"</string>
-</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
new file mode 100644
index 0000000..8912e8f
--- /dev/null
+++ b/res/values-be/strings.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Наладжванне працоўнага профілю"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Вой!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Наладжванне працоўнага профілю"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ваша арганізацыя кантралюе гэты профіль і забяспечвае яго абарону. Вы кантралюеце ўсё астатняе на вашай прыладзе."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Ваша арганізацыя будзе кантраляваць гэту прыладу і захоўваць яе ў бяспецы."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Наступнай праграме спатрэбіцца доступ да гэтага профілю:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Наступная праграма будзе кіраваць вашай прыладай:"</string>
+    <string name="next" msgid="1004321437324424398">"Далей"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Наладжванне працоўнага профілю..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"У вашага адміністратара ёсць магчымасць маніторынгу і адміністравання налад, карпаратыўнага доступу, праграм, дазволаў і даных, звязаных з гэтым профілем, у тым ліку інфармацыі пра вашу сеткавую актыўнасць, а таксама месцазнаходжанне прылады, гісторыю выклікаў і гісторыю пошуку кантактаў.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Звярніцеся да свайго адміністратара для атрымання дадатковай інфармацыі, у тым ліку палітыкі прыватнасці вашай арганізацыі."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"У вашага адміністратара ёсць магчымасць маніторынгу і адміністравання налад, карпаратыўнага доступу, праграм, дазволаў і даных, звязаных з гэтай прыладай, у тым ліку інфармацыі пра вашу сеткавую актыўнасць, а таксама месцазнаходжанне прылады, гісторыю выклікаў і гісторыю пошуку кантактаў.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Звярніцеся да свайго адміністратара для атрымання дадатковай інфармацыі, у тым ліку палітыкі прыватнасці вашай арганізацыі."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Для выкарыстання функцыі абароны ад крадзяжу вы павінны мець абароненую паролем блакіроўку экрана вашай прылады."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Звярніцеся да адміністратара для атрымання дадатковай інфармацыі, у тым ліку пра палітыкі прыватнасці вашай арганізацыі."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Даведацца больш"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Скасаваць"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Я згаджаюся"</string>
+    <string name="url_error" msgid="5958494012986243186">"Гэта спасылка не можа быць адлюстравана."</string>
+    <string name="terms" msgid="8295436105384703903">"Умовы"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Інфармацыя пра працоўны профіль"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Інфармацыя пра прыладу пад кіраваннем"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Працоўны профіль"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Асноўны карыстальнік"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Выдаліць існы профіль?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"У вас ужо ёсць працоўны профіль, які знаходзіцца пад кіраваннем з выкарыстаннем наступнай праграмы:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Перш чым працягнуць, "<a href="#read_this_link">"прачытайце гэта"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Калі вы працягнеце, усе праграмы і даныя ў гэтым профілі будуць выдалены."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Выдаліць"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Скасаваць"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Каб наладзіць ваш працоўны профіль, трэба зашыфраваць прыладу. Гэта можа заняць некаторы час."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Каб наладзіць гэту прыладу, спачатку яе трэба зашыфраваць. Гэта можа заняць некаторы час."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Зашыфраваць прыладу?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Зашыфраваць"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шыфраванне завершана"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Краніце, каб працягнуць наладжванне рабочага профілю"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не атрымалася наладзіць ваш працоўны профіль. Звярніцеся ў аддзел ІТ або паўтарыце спробу пазней."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Немагчыма дадаць працоўны профіль"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Гэты карыстальнік не можа мець працоўны профіль. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Гэты карыстальнік не можа мець працоўныя профілі. Звярніцеся да адміністратара."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Працоўныя профілі нельга наладзіць на кіраванай прыладзе"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"На гэтай прыладзе можа быць занадта шмат карыстальнікаў. Выдаліце карыстальніка і паўтарыце спробу."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Змяніце праграму запуску на прыладзе"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Гэту праграму запуску немагчыма выкарыстоўваць у вашым працоўным профілі"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Скасаваць"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Наладжванне карыстальніка не завершана"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Карыстальнік працоўнай прылады"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Наладжванне працоўнай прылады"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Апрацоўка даных наладжвання..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Падлучэнне да Wi-Fi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Спампоўка праграмы для адміністравання..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Усталёўка праграмы для адміністравання..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Ідзе выдаленне непатрэбных сістэмных праграм…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Дадаюцца апошнія штрыхі…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Выбар уладальніка прылады..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Ідзе ініцыялізацыя прылады…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Гэта прылада не дазваляе выкарыстоўваць шыфраванне, якое патрабуецца для наладкі. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Спыніць наладку і выканаць скід на прыладзе?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Гэта прывядзе да скіду прылады, вы вернецеся на першы экран"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Спыніць наладжванне і сцерці даныя прылады?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Скасаваць"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ОК"</string>
+    <string name="reset" msgid="6467204151306265796">"Выканаць скід"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Немагчыма наладзіць профіль"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Немагчыма наладзіць прыладу"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Не атрымалася наладзіць прыладу. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Звярніцеся да адміністратара па дапамогу"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Прылада ўжо наладжана"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Немагчыма падлучыцца да Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"На вашай прыладзе ўключана абарона ад скіду. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Сціранне"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Пачакайце..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Не атрымалася выкарыстаць праграму адміністратара з-за памылкі кантрольнай сумы. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не атрымалася загрузіць праграму для адміністравання"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Немагчыма выкарыстаць праграму адміністратара. У яе адсутнічаюць кампаненты, або яна пашкоджана. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не атрымалася ўсталяваць праграму для адміністравання"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Спыніць наладжванне?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Так"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Скасаванне..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Спыніць наладжванне профілю?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Вы можаце наладзіць свой працоўны профіль пазней з праграмы кіравання прыладай, якая выкарыстоўваецца ў вашай арганізацыі"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Працягнуць"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Спыніць"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Адхіліць"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Вы збіраецеся стварыць працоўны профіль, які будзе знаходзіцца пад кіраваннем і наглядам вашай арганізацыі. Прымяняюцца ўмовы."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Вы збіраецеся стварыць працоўны профіль, які будзе знаходзіцца пад кіраваннем і наглядам вашай арганізацыі. Прымяняюцца наступныя ўмовы: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Для вашых працоўных праграм будзе створаны профіль. Гэты профіль і астатняя частка вашай прылады будуць знаходзіцца пад кіраваннем і наглядам вашай арганізацыі. Прымяняюцца ўмовы."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Для вашых працоўных праграм будзе створаны профіль. Гэты профіль і астатняя частка вашай прылады будуць знаходзіцца пад кіраваннем і наглядам вашай арганізацыі. Прымяняюцца наступныя ўмовы: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Гэта прылада будзе знаходзіцца пад кіраваннем і аховай <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Прымяняюцца ўмовы. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Гэта прылада будзе знаходзіцца пад кіраваннем і аховай <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Прымяняюцца наступныя ўмовы: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Гэта спасылка ненадзейная, яе нельга адкрыць, пакуль не будзе завершана наладка прылады: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Калі ў вас ёсць пытанні, звярніцеся да <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Калі ў вас ёсць пытанні, звярніцеся да адміністратара вашай арганізацыі"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Наладка не завершана. Звярніцеся да адміністратара па дапамогу."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Звярніцеся да адміністратара па дапамогу"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"адміністратар арганізацыі"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> будзе кіраваць гэтай прыладай, а таксама сачыць за ёй з дапамогай наступнай праграмы:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Ваша арганізацыя"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"вашай арганізацыі"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Праглядзець умовы"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Прыняць і працягнуць"</string>
+    <string name="close" msgid="7208600934846389439">"Закрыць"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Наладзьце сваю прыладу"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Працуйце па-іншаму"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Аддзяліце працоўнае ад асабістага"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Усе праграмы для працы – у адным месцы"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Адключыцеся ад працы, калі скончыце"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Забеспячэнне"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Наладжванне сертыфікатаў ЦС"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Наладзьце свой профіль"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Пры выкарыстанні працоўнага профілю вы можаце аддзяліць працоўныя даныя ад асабістых"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Выкарыстоўваючы працоўны профіль працы, вы можаце захоўваць свае працоўныя праграмы ў адным месцы"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Наладжванне профілю. Шыфраванне"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Наладжванне профілю. Паказ ходу выканання"</string>
+    <!-- no translation found for setup_device (6725265673245816366) -->
+    <skip />
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Наладжванне прылады. Шыфраванне"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Наладжванне прылады. Паказ ходу выканання"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Кнопка «Даведацца больш»"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Значок <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Загаловак раздзела <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Змесціва раздзела <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Разгарнуць"</string>
+    <string name="collapse" msgid="7817530505064432580">"Згарнуць"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Праглядзець спіс спасылак"</string>
+    <string name="access_links" msgid="7991363727326168600">"Праглядзець спасылкі"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Праглядзець умовы"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Прачытаць умовы"</string>
+    <string name="close_list" msgid="9053538299788717597">"Закрыць спіс"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Завяршыць наладжванне і скінуць налады?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Завяршыўшы гэта наладжванне, вы скінеце прыладу да заводскіх налад і перайдзеце да першага экрана."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Скасаваць"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Скід налад прылады"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> і <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> і <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index b18c4ed..d8c2ba4 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Следното приложение ще управлява устройството ви:"</string>
     <string name="next" msgid="1004321437324424398">"Напред"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Служебният ви потребителски профил се настройва…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Администраторът ви може да наблюдава и управлява настройките, корпоративния достъп, приложенията, разрешенията и данните, свързани с този потребителски профил, включително активността ви в мрежата, както и информацията за местоположението на устройството ви, историята на обажданията и тази на търсенията на контакти."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Администраторът ви може да наблюдава и управлява настройките, корпоративния достъп, приложенията, разрешенията, функциите за защита при кражба и данните, свързани с това устройство, включително активността в мрежата и информацията за местоположението му."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Администраторът ви може да наблюдава и управлява настройките, корпоративния достъп, приложенията, разрешенията и данните, свързани с този потребителски профил, включително активността ви в мрежата, както и информацията за местоположението на устройството ви, историята на обажданията и тази на търсенията на контакти.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Свържете се с администратора си за още информация, включително относно правилата за поверителност на организацията си."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Администраторът ви може да наблюдава и управлява настройките, корпоративния достъп, приложенията, разрешенията и данните, свързани с това устройство, включително активността ви в мрежата, както и информацията за местоположението на устройството ви, историята на обажданията и тази на търсенията на контакти.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Свържете се с администратора си за още информация, включително относно правилата за поверителност на организацията си."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"За да използвате функциите за защита при кражба, трябва да имате парола като опция за заключване на екрана на устройството си."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Свържете се с администратора си за още информация, включително относно правилата за поверителност на организацията си."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Научете повече"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Отказ"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Приемам"</string>
+    <string name="url_error" msgid="5958494012986243186">"Тази връзка не може да се покаже."</string>
+    <string name="terms" msgid="8295436105384703903">"Условия"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Информация за служебния потребителски профил"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Информация за управляваното устройство"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Служебен потребителски профил"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Основен потребител"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Да се премахне ли служебният потребителски профил?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Вече съществува служебен потребителски профил и той се управлява от:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Този служебен потребителски профил се управлява от %s посредством:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Да се изтрие ли съществуващият потребителски профил?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Вече имате служебен потребителски профил, който се управлява посредством следното приложение:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Преди да продължите, "<a href="#read_this_link">"прочетете това"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ако продължите, всички приложения и данни в този потребителски профил ще бъдат изтрити."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Изтриване"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Отказ"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"За да продължите с настройването на служебния си потребителски профил, трябва да шифровате устройството си. Това може да отнеме известно време."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"За да продължите с настройването на устройството си, трябва да го шифровате. Това може да отнеме известно време."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифроване"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"За да настроите служебния си потребителски профил, трябва да шифровате устройството си. Това може да отнеме известно време."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"За да настроите устройството, първо трябва да го шифровате. Това може да отнеме известно време."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Шифроване на у-вото?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифроване"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифроването завърши"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Докоснете, за да продължите с настройването на служебния си потребителски профил"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Служебният ви потребителски профил не можа да се настрои. Свържете се с отдела си за информационни технологии или опитайте отново по-късно."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Устройството ви не поддържа служебни потребителски профили"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Този потребител не може да има служебен потребителски профил"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Служебният потребителски профил не може да се добави"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Този потребител не може да има служебен потребителски профил. За помощ се свържете с администратора си."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Този потребител не може да има служебни потребителски профили. Свържете се с администратора си."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Служебните потребителски профили не могат да се настройват на управлявано устройство"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Служебният потребителски профил не може да бъде създаден, защото сте достигнали максималния брой потребители на устройството си. Премахнете поне един от тях и опитайте отново."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Служебният ви потребителски профил не се поддържа от това приложение за стартов панел. Трябва да превключите към съвместим панел."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Възможно е да има твърде много потребители на това устройство. Премахнете някой и опитайте отново."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Промяна на стартовия панел на устройството"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Това приложение за стартов панел не може да се използва от служебния ви потребителски профил"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Отказ"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Настройването на потребителя не е завършено"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Установява се връзка с Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Приложението за администриране се изтегля…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Приложението за администриране се инсталира…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Незадълж. системни приложения се премахват…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Нанасят се завършващите щрихи…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Собственикът на устройството се задава…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Устройството ви не поддържа шифроване. Свържете се с отдела си за информационни технологии."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Устройството се подготвя за работа…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Това устройство не позволява шифроване, което е необходимо за настройването. За помощ се свържете с администратора си."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Искате ли да спрете настройването и да възстановите фабричните настройки на устройството?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"С това действие ще се възстановят фабричните настройки на устройството ви и ще се върнете на първия екран"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Искате ли да спрете настройването и да изтриете данните на устройството си?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Отказ"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Нулиране"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Устройството ви не можа да се настрои. Свържете се с отдела си за информационни технологии."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Това устройство вече е настроено."</string>
+    <string name="reset" msgid="6467204151306265796">"Нулиране"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Потребителският профил не може да се настрои"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Устройството не може да се настрои"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Устройството не можа да се настрои. За помощ се свържете с администратора си."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"За помощ се свържете с администратора си"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Устройството вече е настроено"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не можа да се установи връзка с Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Това устройство е заключено чрез защитата срещу възстановяване на фабричните настройки. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"На това устройство е включена функцията за защита срещу възстановяване на фабричните настройки. За помощ се свържете с администратора си."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Изтрива се"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Моля, изчакайте..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Приложението за администриране не можа да се използва поради грешка в контролната сума. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Приложението за администриране не можа да се използва поради грешка в контролната сума. За помощ се свържете с администратора си."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Приложението за администриране не можа да се изтегли"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Приложението за администриране не може да се използва. В него липсват компоненти или то е повредено. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Приложението за администриране не може да се използва. В него липсват компоненти или то е повредено. За помощ се свържете с администратора си."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Приложението за администриране не можа да се инсталира"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Да се спре ли настройването?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Анулира се…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Да се спре ли настройването на потр. профил?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Можете да настроите служебния си потребителски профил по-късно от използваното от организацията ви приложение за управление на устройствата."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Напред"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Можете да настроите служебния си потребителски профил по-късно от приложението на организацията ви за управление на устройствата"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Напред"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Спиране"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Отхвърляне"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"На път сте да създадете служебен потребителски профил, който ще се управлява и наблюдава от организацията ви. В сила са Общите условия."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"На път сте да създадете служебен потребителски профил, който ще се управлява и наблюдава от организацията ви. В сила са Общите условия на <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"За служебните ви приложения ще бъде създаден потребителски профил. Той и останалата част от устройството ви ще се управляват и наблюдават от организацията ви. В сила са Общите условия."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"За служебните ви приложения ще бъде създаден потребителски профил. Той и останалата част от устройството ви ще се управляват и наблюдават от организацията ви. Ще са в сила Общите условия на <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Това устройство ще се управлява и поддържа защитено от <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. В сила са Общите условия. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Това устройство ще се управлява и поддържа защитено от <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. В сила са Общите условия на <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Тази връзка не е надеждна и не може да бъде отворена, докато настройването на устройството не завърши: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ако имате въпроси, свържете се с/ъс <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ако имате въпроси, свържете се с администратора на организацията си"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Настройването не е завършено. За помощ се свържете с администратора си."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"За помощ се свържете с администратора си"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"администратор на организацията"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ще управлява и наблюдава това устройство посредством следното приложение:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Организацията ви"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"организацията ви"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Преглед на условията"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Приемам и продълж."</string>
+    <string name="close" msgid="7208600934846389439">"Затваряне"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Настройване на устройството ви"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Променете начина, по който работите"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Отделяне на служебните данни от личните"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Едно място за служебните приложения"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Когато сте готови, изключете служебните приложения"</string>
     <string name="provisioning" msgid="4512493827019163451">"Сертификатите се предоставят"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Сертификатите от сертиф. органи се настройват"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Настройване на потребителския ви профил. Стартиране на процеса"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Настройте потребителския си профил"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"С използването на служебен потребителски профил можете да отделите служебните от личните данни"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"С използването на служебен потребителски профил можете да съхранявате служебните си приложения на едно място"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Настройване на потребителския ви профил. Шифроване"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Настройване на потребителския ви профил. Показва се ходът"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Настройване на устройството ви. Стартиране на процеса"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Настройване на устройството ви"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Настройване на устройството ви. Шифроване"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Настройване на устройството ви. Показва се ходът"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"бутон „Научете повече“"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"икона за <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Заглавие на секцията „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“."</string>
+    <string name="section_content" msgid="8875502515704374394">"Съдържание на секцията „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Разгъване"</string>
+    <string name="collapse" msgid="7817530505064432580">"Свиване"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Достъп до списък с връзки"</string>
+    <string name="access_links" msgid="7991363727326168600">"Достъп до връзки"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Общи условия: Достъп"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Общи условия: Четене"</string>
+    <string name="close_list" msgid="9053538299788717597">"Затваряне на списъка"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Прекр. на настр. и възст. на фабр. настройки?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"С прекратяването на настройването ще се възстановят фабричните настройки на устройството ви и ще се върнете на първия екран."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Отказ"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Нулиране на устройството"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> и <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> и <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
deleted file mode 100644
index d89da0f..0000000
--- a/res/values-bn-rBD/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"কর্মস্থলের প্রোফাইল সেট আপ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ওহো!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"কর্মস্থলের প্রোফাইল সেট আপ করুন"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"আপনার প্রতিষ্ঠান এই প্রোফাইল নিয়ন্ত্রণ করে এবং একে সুরক্ষিত রাখে। আপনি আপনার ডিভাইসের বাকি সব কিছু নিয়ন্ত্রণ করেন।"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"আপনার সংগঠন এই ডিভাইসটিকে নিয়ন্ত্রণ করবে এবং এটিকে সুরক্ষিত রাখবে৷"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"নিম্নোল্লিখিত অ্যাপ্লিকেশানটিকে এই প্রোফাইলটি অ্যাক্সেস করতে হবে:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"নিম্নলিখিত অ্যাপ্লিকেশানটি আপনার ডিভাইস পরিচালনা করবে:"</string>
-    <string name="next" msgid="1004321437324424398">"পরবর্তী"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"আপনার কর্মস্থলের প্রোফাইল সেট আপ হচ্ছে..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"আপনার প্রশাসকের কাছে নেটওয়ার্ক কার্যকলাপ ও আপনার ডিভাইসের অবস্থান তথ্য, পুরোনো কলের তালিকা এবং অনুসন্ধান ইতিহাসে যোগাযোগ সহ প্রোফাইলটির সাথে সম্পর্কিত সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ্লিকেশান, অনুমতি এবং ডেটা নিরীক্ষণ ও পরিচালনা করার ক্ষমতা আছে।"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"আপনার প্রশাসকের কাছে সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ্লিকেশান, অনুমতি, চুরির-সুরক্ষা বৈশিষ্ট্য এবং নেটওয়ার্ক কার্যকলাপ ও আপনার ডিভাইসের অবস্থান তথ্য সহ ডেটা নিরীক্ষণ ও পরিচালনা করার ক্ষমতা আছে।"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"চুরির-সুরক্ষা বৈশিষ্ট্যগুলি ব্যবহার করতে আপনার ডিভাইসে অবশ্যই একটি পাসওয়ার্ড দ্বারা সুরক্ষিত স্ক্রীন লক ব্যবস্থাটিকে সক্ষম রাখতে হবে৷"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"আপনার প্রতিষ্ঠানের গোপনীয়তা নীতিগুলি সহ আরো তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন।"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"আরো জানুন"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"বাতিল করুন"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ঠিক আছে"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"আমি সম্মতি জানাচ্ছি"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"কর্মস্থলের প্রোফাইল"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"প্রাথমিক ব্যবহারকারী"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"কর্মস্থলের প্রোফাইল সরাবেন?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"একটি কাজের প্রোফাইল আগে থেকেই বিদ্যমান আছে এবং দ্বারা পরিচালিত হয়:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s এর জন্য পরিচালিত এই কাজের প্রোফাইলটি এগুলি ব্যবহার করছে:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"প্রক্রিয়ার আগে, "<a href="#read_this_link">"এটি পড়ুন"</a>"৷"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"যদি আপনি চালিয়ে যান তবে এই প্রোফাইলের সমস্ত অ্যাপ্লিকেশান ও ডেটা মুছে ফেলা হবে।"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"মুছুন"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"বাতিল করুন"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করা অবিরত রাখতে, আপনাকে আপনার ডিভাইস এনক্রিপ্ট করতে হবে। এর জন্য কিছুক্ষণ সময় লাগবে।"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"আপনার ডিভাইস সেট আপ করা চালিয়ে যেতে, আপনাকে আপনার ডিভাইস এনক্রিপ্ট করতে হবে৷ এটি কিছুটা সময় নিতে পারে৷"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"এনক্রিপ্ট করুন"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"এনক্রিপশন সম্পূর্ণ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করা অব্যাহত রাখতে আলতো চাপ দিন"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"আপনার কর্মস্থলের প্রোফাইলটি সেটআপ করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন অথবা পরে আবার চেষ্টা করুন।"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"আপনার ডিভাইস কর্মস্থলের প্রোফাইলগুলি সমর্থন করে না"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"এই ব্যবহারকারীর কোনো কর্মস্থলের প্রোফাইল থাকতে পারে না৷"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"কাজের প্রোফাইলগুলি একটি পরিচালিত ডিভাইসে সেটআপ করা যাবে না"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"কাজের প্রোফাইল তৈরি করা যাবে না কারণ আপনি আপনার ডিভাইসে সর্বোচ্চ সংখ্যক ব্যবহারকারীর সীমা ছাড়িয়ে গেছেন। অন্ততপক্ষে একজন ব্যবহারকারীকে সরান এবং পুনরায় চেষ্টা করুন।"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"আপনার কর্মস্থলের প্রোফাইল এই লঞ্চার অ্যাপ্লিকেশান দ্বারা সমর্থিত নয়। আপনাকে একটি সামঞ্জস্যপূর্ণ লঞ্চারে যেতে হবে।"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"বাতিল করুন"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ঠিক আছে"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ব্যবহারকারীর সেট-আপ সম্পূর্ণ হয়নি"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"কর্মস্থলের ডিভাইসের ব্যবহারকারী"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"কর্মস্থলের ডিভাইস সেট আপ করুন"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"সেটআপ ডেটার প্রক্রিয়া হচ্ছে..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ওয়াই-ফাই -এ সংযুক্ত হচ্ছে..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"প্রশাসক অ্যাপ্লিকেশান ডাউনলোড হচ্ছে..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল হচ্ছে..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ডিভাইসের মালিক সেট করা হচ্ছে..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"আপনার ডিভাইস এনক্রিপশান সমর্থন করে না৷ আপনার আইটি বিভাগের সাথে যোগাযোগ করুন৷"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"সেট আপ করা বন্ধ করে আপনার ডিভাইসের ডেটা মুছে ফেলবেন?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"বাতিল করুন"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ঠিক আছে"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"পুনরায় সেট করুন"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"আপনার ডিভাইস সেট আপ করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"এই ডিভাইসটি ইতিমধ্যে সেট আপ হয়ে আছে৷"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ওয়াই-ফাই এর সাথে সংযুক্ত করা যায়নি"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"এই ডিভাইসটি ফ্যাক্টরি রিসেট সুরক্ষার দ্বারা লক হয়েছে। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"মোছা হচ্ছে"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"দয়া করে অপেক্ষা করুন..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"একটি চেকসাম ত্রুটির কারণে প্রশাসক অ্যাপ্লিকেশান ব্যবহার করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"প্রশাসক অ্যাপ্লিকেশানটি ডাউনলোড করা যায়নি"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"প্রশাসক অ্যাপ্লিকেশান ব্যবহার করা যাচ্ছে না। এতে কিছু উপাদান অনুপস্থিত আছে বা এটি ক্ষতিগ্রস্ত হয়েছে। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল করা যায়নি।"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"সেট আপ করা বন্ধ করবেন?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"না"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"হ্যাঁ"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"বাতিল করা হচ্ছে..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"প্রোফাইল সেটআপ বন্ধ করবেন?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"আপনি আপনার প্রতিষ্ঠানের দ্বারা ব্যবহৃত ডিভাইস পরিচালনার অ্যাপ্লিকেশান থেকে পরে আপনার কর্মস্থলের প্রোফাইল সেট আপ করতে পারবেন৷"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"চালিয়ে যান"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"থামান"</string>
-    <string name="provisioning" msgid="4512493827019163451">"প্রস্তুতি চলছে"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA সংশাপত্রগুলি সেট আপ করা হচ্ছে"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"আপনার প্রোফাইল সেট আপ করুন৷ সেটআপ শুরু"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"আপনার প্রোফাইল সেট আপ করুন৷ এনক্রিপশন"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"আপনার প্রোফাইল সেট আপ করুন৷ অগ্রগতি দেখাচ্ছে"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"আপনার ডিভাইস সেট আপ করুন৷ সেটআপ শুরু"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"আপনার ডিভাইস সেট আপ করুন৷ এনক্রিপশন"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"আপনার ডিভাইস সেট আপ করুন৷ অগ্রগতি দেখাচ্ছে"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"আরো জানুন বোতাম"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> আইকন"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"সেট আপ করার কাজ বন্ধ করে, ফ্যাক্টরি রিসেট করবেন?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"এই সেট আপ করার কাজটি বন্ধ করা হলে তা আপনার ডিভাইসের ফ্যাক্টরি রিসেট করবে এবং আপনাকে প্রথম স্ক্রীনে নিয়ে যাবে৷"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"বাতিল করুন"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ডিভাইস পুনরায় সেট করুন"</string>
-</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
new file mode 100644
index 0000000..8fef1ec
--- /dev/null
+++ b/res/values-bn/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"কর্মস্থলের প্রোফাইল সেট আপ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ওহো!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"কর্মস্থলের প্রোফাইল সেট আপ করুন"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"আপনার প্রতিষ্ঠান এই প্রোফাইল নিয়ন্ত্রণ করে এবং একে সুরক্ষিত রাখে। আপনি আপনার ডিভাইসের বাকি সব কিছু নিয়ন্ত্রণ করেন।"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"আপনার সংগঠন এই ডিভাইসটিকে নিয়ন্ত্রণ করবে এবং এটিকে সুরক্ষিত রাখবে৷"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"নিম্নোল্লিখিত অ্যাপ্লিকেশানটিকে এই প্রোফাইলটি অ্যাক্সেস করতে হবে:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"নিম্নলিখিত অ্যাপ্লিকেশানটি আপনার ডিভাইস পরিচালনা করবে:"</string>
+    <string name="next" msgid="1004321437324424398">"পরবর্তী"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"আপনার কর্মস্থলের প্রোফাইল সেট আপ হচ্ছে..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"আপনার প্রশাসক আপনার প্রোফাইলের সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ, অনুমতি, এবং নেটওয়ার্ক কার্যকলাপ সহ আপনার প্রোফাইলের সাথে সম্পর্কিত ডেটা, এবং আপনার ডিভাইসের অবস্থান, এবং কল ও পরিচিতি অনুসন্ধানের ইতিহাসের উপরে নজর রাখতে ও সেগুলি পরিচালনা করতে পারেন।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>আপনার প্রতিষ্ঠানের গোপনীয়তা নীতি সহ আরো তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"আপনার প্রশাসক আপনার ডিভাইসের সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ, অনুমতি, এবং নেটওয়ার্ক কার্যকলাপ সহ ডিভাইসের সাথে সম্পর্কিত ডেটা, ডিভাইসের অবস্থান, এবং কল ও পরিচিতি অনুসন্ধানের ইতিহাসের উপরে নজর রাখতে ও সেগুলি পরিচালনা করতে পারেন।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>আপনার প্রতিষ্ঠানের গোপনীয়তা নীতি সহ আরো তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"চুরির-সুরক্ষা বৈশিষ্ট্যগুলি ব্যবহার করতে আপনার ডিভাইসে অবশ্যই একটি পাসওয়ার্ড দ্বারা সুরক্ষিত স্ক্রীন লক ব্যবস্থাটিকে সক্ষম রাখতে হবে৷"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"আপনার প্রতিষ্ঠানের গোপনীয়তা নীতিগুলি সহ আরো তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"আরো জানুন"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"বাতিল করুন"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ঠিক আছে"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"আমি সম্মতি জানাচ্ছি"</string>
+    <string name="url_error" msgid="5958494012986243186">"লিঙ্কটি প্রদর্শন করা যাচ্ছে না।"</string>
+    <string name="terms" msgid="8295436105384703903">"শর্তাদি"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"কর্মস্থলের প্রোফাইলের তথ্য"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"পরিচালিত ডিভাইসের তথ্য"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"কর্মস্থলের প্রোফাইল"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"প্রাথমিক ব্যবহারকারী"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"বর্তমান প্রোফাইলটি মুছবেন?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"এই অ্যাপটি ব্যবহার করে আগে থেকেই আপনার একটি কর্মস্থলের প্রোফাইল পরিচালনা করা হয়:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"প্রক্রিয়ার আগে, "<a href="#read_this_link">"এটি পড়ুন"</a>"৷"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"যদি আপনি চালিয়ে যান তবে এই প্রোফাইলের সমস্ত অ্যাপ্লিকেশান ও ডেটা মুছে ফেলা হবে।"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"মুছুন"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"বাতিল করুন"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করতে হলে আপনার ডিভাইস এনক্রিপ্ট করতে হবে। এতে কিছুটা সময় লাগতে পারে।"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ডিভাইসটি সেট আপ করার আগে এনক্রিপ্ট করা প্রয়োজন। এতে কিছুটা সময় লাগতে পারে।"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"এনক্রিপ্ট করবেন?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"এনক্রিপ্ট করুন"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"এনক্রিপশন সম্পূর্ণ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করা অব্যাহত রাখতে আলতো চাপ দিন"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"আপনার কর্মস্থলের প্রোফাইলটি সেটআপ করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন অথবা পরে আবার চেষ্টা করুন।"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"কর্মস্থলের প্রোফাইল যোগ করা যাবে না"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"এই ব্যবহারকারী কর্মস্থলের প্রোফাইল তৈরি করতে পারবেন না৷ সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"এই ব্যবহারকারী কর্মস্থলের প্রোফাইল তৈরি করতে পারবেন না৷ প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"কাজের প্রোফাইলগুলি একটি পরিচালিত ডিভাইসে সেটআপ করা যাবে না"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"মনে হচ্ছে এই ডিভাইসের ব্যবহারকারীর সংখ্য খুব বেশি। একজন ব্যবহারকারীকে সরিয়ে আবার চেষ্টা করুন।"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ডিভাইস লঞ্চার পরিবর্তন করুন"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"আপনার কর্মস্থলের প্রোফাইল থেকে এই লঞ্চার অ্যাপটি ব্যবহার করা যাবে না"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"বাতিল করুন"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ঠিক আছে"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ব্যবহারকারীর সেট-আপ সম্পূর্ণ হয়নি"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"কর্মস্থলের ডিভাইসের ব্যবহারকারী"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"কর্মস্থলের ডিভাইস সেট আপ করুন"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"সেটআপ ডেটার প্রক্রিয়া হচ্ছে..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ওয়াই-ফাই -এ সংযুক্ত হচ্ছে..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"প্রশাসক অ্যাপ্লিকেশান ডাউনলোড হচ্ছে..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল হচ্ছে..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"অ-প্রয়োজনীয় সিস্টেম অ্যাপ্সকে সরানো হচ্ছে…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"শেষের কয়েকটি জিনিস যোগ করা হচ্ছে…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ডিভাইসের মালিক সেট করা হচ্ছে..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ডিভাইস আরম্ভ করা হচ্ছে…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"এই ডিভাইসে এনক্রিপশন সমর্থিত নয়, কিন্তু সেট আপের জন্য সেটি প্রয়োজনীয়। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"সেট আপ বন্ধ করে ডিভাইসটি আবার সেট করবেন?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"এটি আপনার ডিভাইসকে আবার সেট করে আপনাকে প্রথম স্ক্রিনে নিয়ে যাবে"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"সেট আপ করা বন্ধ করে আপনার ডিভাইসের ডেটা মুছে ফেলবেন?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"বাতিল করুন"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ঠিক আছে"</string>
+    <string name="reset" msgid="6467204151306265796">"আবার সেট করুন"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"প্রোফাইল সেট আপ করা যাচ্ছে না"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ডিভাইসটি সেট আপ করা যাচ্ছে না"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ডিভাইসটি সেট আপ করা যায়নি। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ডিভাইসটি আগেই সেট আপ করা হয়েছে"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ওয়াই-ফাই এর সাথে সংযুক্ত করা যায়নি"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"আপনার ডিভাইসে রিসেট প্রতিরোধ চালু আছে। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"মোছা হচ্ছে"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"দয়া করে অপেক্ষা করুন..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"একটি চেকসাম ত্রুটির কারণে প্রশাসক অ্যাপ ব্যবহার করা যায়নি। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"প্রশাসক অ্যাপ্লিকেশানটি ডাউনলোড করা যায়নি"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"প্রশাসক অ্যাপ ব্যবহার করা যাচ্ছে না। অ্যাপের কিছু উপাদান অনুপস্থিত আছে বা ক্ষতিগ্রস্ত হয়েছে। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল করা যায়নি।"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"সেট আপ করা বন্ধ করবেন?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"না"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"হ্যাঁ"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"বাতিল করা হচ্ছে..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"প্রোফাইল সেটআপ বন্ধ করবেন?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"আপনি পরে আপনার প্রতিষ্ঠানের ডিভাইস পরিচালনা অ্যাপ ব্যবহার করে আপনার কর্মস্থলের প্রোফাইল সেট আপ করতে পারবেন"</string>
+    <string name="continue_button" msgid="7177918589510964446">"চালিয়ে যান"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"থামান"</string>
+    <string name="dismiss" msgid="9009534756748565880">"খারিজ করুন"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"আপনি এমন একটি কর্মস্থলের প্রোফাইল তৈরি করতে চলেছেন যেটি আপনার প্রতিষ্ঠান পরিচালনা এবং নিরীক্ষণ করবে। শর্তাবলী প্রযোজ্য।"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"আপনি এমন একটি কর্মস্থলের প্রোফাইল তৈরি করতে চলেছেন যেটি আপনার প্রতিষ্ঠান পরিচালনা এবং নিরীক্ষণ করবে। <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> এর শর্তাবলী প্রযোজ্য।"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"আপনার কর্মস্থলের অ্যাপগুলির জন্য একটি প্রোফাইল তৈরি করা হবে। আপনার প্রতিষ্ঠান এই প্রোফাইলটি ও আপনার ডিভাইসের অন্যান্য ক্রিয়াকলাপ পরিচালনা এবং নিরীক্ষণ করবে। শর্তাবলী প্রযোজ্য।"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"আপনার কর্মস্থলের অ্যাপগুলির জন্য একটি প্রোফাইল তৈরি করা হবে। আপনার প্রতিষ্ঠান এই প্রোফাইলটি ও আপনার ডিভাইসের অন্যান্য ক্রিয়াকলাপ পরিচালনা এবং নিরীক্ষণ করবে। <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> এর শর্তাবলী প্রযোজ্য।"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> এই ডিভাইসটি পরিচালনা করবে ও নিরাপদ রাখবে। শর্তাবলী প্রযোজ্য। <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> এই ডিভাইসটি. পরিচালনা করবে ও নিরাপদ রাখবে। <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> এ থাকা শর্তাবলী প্রযোজ্য। <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"এই লিঙ্কটি নিরাপদ নয় এবং ডিভাইস সেট আপ সম্পূর্ণ না হওয়া পর্যন্ত খোলা যাবে না: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"কোনো প্রশ্ন থাকলে <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> এর সাথে যোগাযোগ করুন।"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"কোনো প্রশ্ন থাকলে আপনার প্রতিষ্ঠানের প্রশাসকের সাথে যোগাযোগ করুন"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"সেট আপ শেষ হয়নি। সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন৷"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"সহায়তার জন্য প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"প্রতিষ্ঠানের প্রশাসক"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"আপনার প্রতিষ্ঠান এই অ্যাপটির সাহায্যে এই ডিভাইসটিকে পরিচালনা এবং নিরীক্ষণ করবে: <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"আপনার প্রতিষ্ঠান"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"আপনার প্রতিষ্ঠান"</string>
+    <string name="view_terms" msgid="7230493092383341605">"শর্তাবলী দেখুন"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"মেনে নিয়ে এগিয়ে যান"</string>
+    <string name="close" msgid="7208600934846389439">"বন্ধ করুন"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"আপনার ডিভাইস সেট আপ করুন"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"আপনার কাজের পদ্ধতি পাল্টান"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"ব্যক্তিগত থেকে কাজ আলাদা করুন"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"কর্মস্থলের সমস্ত অ্যাপ এক জায়গায়"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"আপনার কাজ হয়ে গেলে কর্মস্থলের প্রোফাইল বন্ধ করে দিন"</string>
+    <string name="provisioning" msgid="4512493827019163451">"প্রস্তুতি চলছে"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA সংশাপত্রগুলি সেট আপ করা হচ্ছে"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"আপনার প্রোফাইল সেট আপ করুন"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"কর্মস্থলের প্রোফাইল ব্যবহার করে আপনি ব্যক্তিগত ডেটা থেকে কর্মস্থলের ডেটা আলাদা রাখতে পারবেন"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"কর্মস্থলের প্রোফাইল ব্যবহার করে আপনি কর্মস্থলের অ্যাপগুলি এক যায়গায় রাখতে পারেন"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"আপনার প্রোফাইল সেট আপ করুন৷ এনক্রিপশন"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"আপনার প্রোফাইল সেট আপ করুন৷ অগ্রগতি দেখাচ্ছে"</string>
+    <string name="setup_device" msgid="6725265673245816366">"আপনার ডিভাইস সেট আপ করুন"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"আপনার ডিভাইস সেট আপ করুন৷ এনক্রিপশন"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"আপনার ডিভাইস সেট আপ করুন৷ অগ্রগতি দেখাচ্ছে"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"আরো জানুন বোতাম"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> আইকন"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> বিভাগের শিরোনাম।"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> বিভাগের সামগ্রী: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"প্রসারিত করুন"</string>
+    <string name="collapse" msgid="7817530505064432580">"সঙ্কুচিত করুন"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"লিঙ্কের তালিকা অ্যাক্সেস করুন"</string>
+    <string name="access_links" msgid="7991363727326168600">"লিঙ্কগুলি অ্যাক্সেস করুন"</string>
+    <string name="access_terms" msgid="1982500872249763745">"শর্তাবলী দেখুন"</string>
+    <string name="read_terms" msgid="1745011123626640728">"শর্তাবলী পড়ুন"</string>
+    <string name="close_list" msgid="9053538299788717597">"তালিকা বন্ধ করুন"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"সেট আপ করার কাজ বন্ধ করে, ফ্যাক্টরি রিসেট করবেন?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"এই সেট আপ করার কাজটি বন্ধ করা হলে তা আপনার ডিভাইসের ফ্যাক্টরি রিসেট করবে এবং আপনাকে প্রথম স্ক্রীনে নিয়ে যাবে৷"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"বাতিল করুন"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ডিভাইস আবার সেট করুন"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> এবং <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> এবং <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
deleted file mode 100644
index 44990ab..0000000
--- a/res/values-bs-rBA/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Postavljanje radnog profila"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Postavite radni profil"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Vaša organizacija upravlja ovim profilom i održava njegovu sigurnost. Vi upravljate svime ostalim na uređaju."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Vaša organizacija će kontrolirati i štititi ovaj uređaj."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Ovoj aplikaciji je potreban pristup profilu:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Sljedeća aplikacija će upravljati vašim uređajem:"</string>
-    <string name="next" msgid="1004321437324424398">"Naprijed"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Postavlja se vaš profil za posao..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Vaš administrator ima mogućnost da prati postavke, korporativni pristup, aplikacije, odobrenja i podatke povezane s ovim profilom, uključujući vaše aktivnosti na mreži i informacije o lokaciji vašeg uređaja, historiju poziva i historiju pretrage kontakata, kao i da upravlja njima."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Vaš administrator ima mogućnost da prati postavke, korporativni pristup, aplikacije, odobrenja i podatke povezane s ovim uređajem, uključujući aktivnosti na mreži i informacije o lokaciji vašeg uređaja, kao i da upravlja njima."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Da biste koristili funkciju za zaštitu od krađe, zaključani ekran vašeg uređaja mora biti zaštićen lozinkom."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Za više informacija, uključujući pravila vaše organizacije o privatnosti, obratite se svom administratoru."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Saznajte više"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Otkaži"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"U redu"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Pristajem"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Poslovni profil"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Glavni korisnik"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Želite li ukloniti profil za posao?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profil za posao već postoji i njime upravlja:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ovim profilom za posao se upravlja za organizaciju %s pomoću:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Prije nego što nastavite, "<a href="#read_this_link">"pročitajte ovo"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ako nastavite, sve aplikacije i podaci sa ovog profila će biti izbrisani."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Tipka za brisanje"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Otkaži"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Da nastavite postavljati profil za posao, morate šifrirati svoj uređaj. To može potrajati."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Da nastavite postavljati svoj uređaj, trebate ga šifrirati. To može potrajati."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifriraj"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifriranje je završeno"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Dodirnite da nastavite podešavanje svog radnog profila"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nije moguće podesiti vaš poslovni profil. Obratite se odjelu za IT ili pokušajte ponovo kasnije."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaš uređaj ne podržava poslovne profile"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ovaj korisnik ne može imati poslovni profil"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Profili za posao se ne mogu postaviti na uređaju kojim se upravlja"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Profil za posao se ne može kreirati jer ste dostigli maksimalni broj korisnika na svom uređaju. Uklonite barem jednog korisnika i pokušajte ponovo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ovaj pokretač aplikacija ne podržava vaš poslovni profil. Upotrijebite neki kompatibilan pokretač."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Otkaži"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Uredu"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Korisnik nije dovršio postavljanje"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Korisnik poslovnog uređaja"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Postavite radni uređaj"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Obrađuju se podaci za postavljanje..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Povezuje se na Wi-Fi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Preuzima se aplikacija za administratora..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Instalira se aplikacija za administratora..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Postavlja se vlasnik uređaja..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Vaš uređaj ne podržava šifriranje. Obratite se svom IT odjelu."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Želite li prekinuti postavljanje i izbrisati podatke na svom uređaju?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Otkaži"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Uredu"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Poništi"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nije moguće podesiti uređaj. Obratite se odjelu za IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Ovaj uređaj je već postavljen."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nije moguće povezivanje na Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Ovaj uređaj je zaključan putem zaštite od vraćanja na tvorničke postavke. Kontaktirajte svoj odjel za IT."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Briše se"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sačekajte..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nije moguće koristiti aplikaciju administratora zbog greške kod provjere. Obratite se odjelu za IT."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nije moguće preuzeti aplikaciju administratora"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nije moguće koristiti aplikaciju administratora. Nedostaju neke komponente ili je neispravna. Obratite se odjelu za IT."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nije moguće instalirati aplikaciju administratora"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Želite li zaustaviti postavljanje?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Otkazuje se..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Želite li zaustaviti postavljanje profila?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Profil za posao možete postaviti kasnije preko aplikacije za upravljanje uređajem koju koristi vaša organizacija."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Nastavi"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zaustavi"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Dodjeljivanje"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Postavljaju se CA certifikati"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Postavite svoj profil. Započnite postavljanje"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Postavite svoj profil. Šifriranje"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Postavite svoj profil. Prikazuje se napredak"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Postavite svoj uređaj. Započnite postavljanje"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Postavite svoj uređaj. Šifriranje"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Postavite svoj uređaj. Prikazuje se napredak"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Dugme Saznajte više"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Okončati podešavanje i vratiti na fabričke postavke?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Okončanjem ovog podešavanja, vaš uređaj će biti vraćen na fabričke postavke te ćete se vratiti na početni ekran."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Otkaži"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ponovo pokreni uređaj"</string>
-</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
new file mode 100644
index 0000000..f31ba41
--- /dev/null
+++ b/res/values-bs/strings.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Postavljanje radnog profila"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Postavite radni profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Vaša organizacija upravlja ovim profilom i održava njegovu sigurnost. Vi upravljate svime ostalim na uređaju."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Vaša organizacija će kontrolirati i štititi ovaj uređaj."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Ovoj aplikaciji je potreban pristup profilu:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Sljedeća aplikacija će upravljati vašim uređajem:"</string>
+    <string name="next" msgid="1004321437324424398">"Naprijed"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Postavlja se vaš profil za posao..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Vaš administrator može pratiti i upravljati postavkama, korporativnim pristupom, aplikacijama, dozvolama i podacima povezanim s ovim profilom, uključujući vašu aktivnost na mreži kao i lokaciju vašeg uređaja, historiju poziva i historiju pretraživanja kontakata.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Za više informacija, uključujući i pravila privatnosti vaše organizacije, obratite se administratoru."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Vaš administrator može pratiti i upravljati postavkama, korporativnim pristupom, aplikacijama, dozvolama i podacima povezanim s ovim uređajem, uključujući vašu aktivnost na mreži kao i lokaciju vašeg uređaja, historiju poziva i historiju pretraživanja kontakata.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Za više informacija, uključujući i pravila privatnosti vaše organizacije, obratite se administratoru."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Da biste koristili funkciju za zaštitu od krađe, zaključani ekran vašeg uređaja mora biti zaštićen lozinkom."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Za više informacija, uključujući pravila vaše organizacije o privatnosti, obratite se svom administratoru."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Saznajte više"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Otkaži"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"U redu"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Pristajem"</string>
+    <string name="url_error" msgid="5958494012986243186">"Nije moguće prikazati ovaj link."</string>
+    <string name="terms" msgid="8295436105384703903">"Uslovi"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informacije o radnom profilu"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Podaci o upravljanom uređaju"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Poslovni profil"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Glavni korisnik"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Izbrisati postojeći profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Već imate radni profil kojim se upravlja pomoću sljedeće aplikacije:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Prije nego što nastavite, "<a href="#read_this_link">"pročitajte ovo"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ako nastavite, sve aplikacije i podaci sa ovog profila će biti izbrisani."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Tipka za brisanje"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Otkaži"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Da bi se postavio radni profil, uređaj treba šifrirati. To može malo potrajati."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Da bi se ovaj uređaj postavio, prvo ga treba šifrirati. To može malo potrajati."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Želite li šifrirati?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifriraj"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifriranje je završeno"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Dodirnite da nastavite podešavanje svog radnog profila"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nije moguće podesiti vaš poslovni profil. Obratite se odjelu za IT ili pokušajte ponovo kasnije."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nije moguće dodati radni profil"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ovaj korisnik ne može imati radne profile. Obratite se administratoru za pomoć."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ovaj korisnik ne može imati radne profile. Obratite se administratoru."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Profili za posao se ne mogu postaviti na uređaju kojim se upravlja"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Moguće je da na uređaju ima previše korisnika. Uklonite korisnika, zatim pokušajte ponovo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Promijenite pokretač uređaja"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Vaš profil ne može koristiti aplikaciju za pokretanje"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Otkaži"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Uredu"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Korisnik nije dovršio postavljanje"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Korisnik poslovnog uređaja"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Postavite radni uređaj"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Obrađuju se podaci za postavljanje..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Povezuje se na Wi-Fi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Preuzima se aplikacija za administratora..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Instalira se aplikacija za administratora..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Uklanjanje suvišnih sistemskih aplikacija…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Završni potezi…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Postavlja se vlasnik uređaja..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Pokretanje uređaja…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Ovaj uređaj ne dozvoljava šifriranje, koje je potrebno za postavljanje. Obratite se administratoru za pomoć."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Želite li zaustaviti postavljanje i ponovo ostaviti uređaj?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Ovim će se uređaj ponovo postaviti i vratit će vas na početni ekran."</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Želite li prekinuti postavljanje i izbrisati podatke na svom uređaju?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Otkaži"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Uredu"</string>
+    <string name="reset" msgid="6467204151306265796">"Vrati na zadano"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Nije moguće postaviti profil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Nije moguće postaviti uređaj"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Uređaj nije postavljen. Obratite se administratoru za pomoć."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Obratite se administratoru za pomoć"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Uređaj je već postavljen"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nije moguće povezivanje na Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Na vašem uređaju je uključena opcija za ponovno postavljanje zaštite. Obratite se administratoru za pomoć."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Briše se"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sačekajte..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Aplikacija administratora nije korištena zbog greške prilikom kontrolne provjere. Obratite se administratoru za pomoć."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nije moguće preuzeti aplikaciju administratora"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Nije moguće koristiti aplikaciju administratora. Nedostaju joj komponente ili je neispravna. Obratite se administratoru za pomoć."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nije moguće instalirati aplikaciju administratora"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Želite li zaustaviti postavljanje?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Otkazuje se..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Želite li zaustaviti postavljanje profila?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Radni profil možete postaviti kasnije u aplikaciji za upravljanje uređajem vaše organizacije"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Nastavi"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zaustavi"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Odbaci"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Kreirat ćete novi radni profil kojim će upravljati i kojeg će pratiti vaša organizacija. Važit će uslovi."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Kreirat ćete novi radni profil kojim će upravljati i kojeg će pratiti vaša organizacija. Važit će uslovi iz: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Kreirat će se profil za vaše radne aplikacije. Tim profilom i ostatkom uređaja upravljat će i pratit će vaša organizacija. Važit će uslovi."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Kreirat će se profil za vaše radne aplikacije. Tim profilom i ostatkom uređaja upravljat će vaša organizacija. Važit će uslovi iz: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Ovim uređajem će upravljati i sigurnost mu održavati <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Važit će uslovi. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Ovim uređajem će upravljati i sigurnost mu održavati <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Važit će uslovi iz: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ovaj link nije siguran i ne može se otvoriti dok se ne završi postavljanje uređaja: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ako imate pitanja, kontaktirajte: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ako imate pitanja, obratite se administratoru organizacije."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Postavljanje nije završeno. Obratite se administratoru za pomoć."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Obratite se administratoru za pomoć."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrator organizacije"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> upravljat će i pratiti ovaj uređaj koristeći sljedeću aplikaciju:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Vaša organizacija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"vaša organizacija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Pogleajte uslove"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Prihvati i nastavi"</string>
+    <string name="close" msgid="7208600934846389439">"Zatvori"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Postavite svoj uređaj"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Promijenite način na koji radite"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Odvojite poslovno od ličnog"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Jedno mjesto za radne aplikacije"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Isključite radni profil kada završite"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Dodjeljivanje"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Postavljaju se CA certifikati"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Postavite svoj profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Korištenjem radnog profila možete razdvojiti poslovne podatke od ličnih."</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Korištenjem radnog profila, radne aplikacije možete čuvati na jednom mjestu"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Postavite svoj profil. Šifriranje"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Postavite svoj profil. Prikazuje se napredak"</string>
+    <!-- no translation found for setup_device (6725265673245816366) -->
+    <skip />
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Postavite svoj uređaj. Šifriranje"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Postavite svoj uređaj. Prikazuje se napredak"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Dugme Saznajte više"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Zaglavlje odjeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sadržaj odjeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Proširi"</string>
+    <string name="collapse" msgid="7817530505064432580">"Skupi"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Pristupite spisku linkova"</string>
+    <string name="access_links" msgid="7991363727326168600">"Pristupite linkovima"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Pristupite uslovima"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Pročitajte uslove"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zatvori spisak"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Okončati podešavanje i vratiti na fabričke postavke?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Okončanjem ovog podešavanja, vaš uređaj će biti vraćen na fabričke postavke te ćete se vratiti na početni ekran."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Otkaži"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ponovo pokreni uređaj"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> i <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> i <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 2a1e4c7..b917e2b 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"L\'aplicació que es mostra a continuació gestionarà el dispositiu:"</string>
     <string name="next" msgid="1004321437324424398">"Següent"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"S\'està configurant el perfil professional..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions, els permisos i les dades associades amb aquest perfil, inclosa la teva activitat de xarxa, així com la ubicació del dispositiu, l\'historial de trucades i l\'historial de cerca de contactes."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions, els permisos, les funcions de protecció antirobatori i les dades associades amb aquest dispositiu, inclosa l\'activitat de xarxa i la informació d\'ubicació del dispositiu."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions, els permisos i les dades associades a aquest perfil, inclosa l\'activitat de xarxa, així com la ubicació, l\'historial de trucades i l\'historial de cerca de contactes del dispositiu.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacta amb l\'administrador per obtenir més informació i consultar les polítiques de privadesa de la teva organització."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions, els permisos i les dades associades a aquest dispositiu, inclosa l\'activitat de xarxa, així com la ubicació, l\'historial de trucades i l\'historial de cerca de contactes del dispositiu.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacta amb l\'administrador per obtenir més informació i consultar les polítiques de privadesa de la teva organització."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Per utilitzar les funcions de protecció antirobatori has de fer servir un bloqueig de pantalla protegit per contrasenya al dispositiu."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contacta amb l\'administrador per obtenir-ne més informació i consultar les polítiques de privadesa de la teva organització."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Més informació"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancel·la"</string>
     <string name="ok_setup" msgid="4593707675416137504">"D\'acord"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Accepto"</string>
+    <string name="url_error" msgid="5958494012986243186">"No es pot mostrar aquest enllaç."</string>
+    <string name="terms" msgid="8295436105384703903">"Condicions"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informació del perfil professional"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informació del dispositiu gestionat"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil professional"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuari principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Vols suprimir el perfil professional?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Ja existeix un perfil professional. L\'administrador és:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s gestiona aquest perfil professional mitjançant:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vols suprimir el perfil existent?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Ja tens un perfil professional gestionat mitjançant l\'aplicació següent:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Abans de continuar, "<a href="#read_this_link">"llegeix aquesta informació"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Si continues, se suprimiran totes les aplicacions i totes les dades d\'aquest perfil."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Suprimeix"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel·la"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Per continuar amb la configuració del perfil professional, hauràs d\'encriptar el dispositiu. És possible que tardis una estona a fer-ho."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Per continuar configurant el dispositiu, l\'hauràs d\'encriptar. És possible que tardis una estona a fer-ho."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encripta"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Per configurar el teu perfil professional, s\'ha d\'encriptar el dispositiu. Aquest procés pot trigar una estona."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Per configurar el dispositiu, primer s\'ha d\'encriptar. Aquest procés pot trigar una estona."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encriptar dispositiu?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encripta"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptació completa"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toca per continuar configurant el perfil professional"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No s\'ha pogut configurar el perfil professional. Contacta amb el departament de TI o prova-ho més tard."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"El dispositiu no és compatible amb els perfils professionals."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Aquest usuari no pot tenir un perfil professional"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"No es pot afegir un perfil professional"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Aquest usuari no pot tenir un perfil professional. Contacta amb l\'administrador per obtenir ajuda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Aquest usuari no pot tenir perfils professionals. Contacta amb l\'administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Els perfils professionals no es poden configurar en un dispositiu gestionat"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"No es pot crear el perfil professional perquè has arribat al màxim d\'usuaris permesos al dispositiu. Suprimeix-ne un com a mínim i torna-ho a provar."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Aquesta aplicació de Launcher no admet el teu perfil professional. Has de fer servir un Launcher que sigui compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"És possible que hi hagi massa usuaris en aquest dispositiu. Suprimeix un usuari i torna-ho a provar."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Canvia el menú d\'aplicacions del dispositiu"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"El teu perfil professional no pot fer servir aquesta aplicació de menú d\'aplicacions"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel·la"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"D\'acord"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"La configuració d\'usuari no està completa"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"S\'està connectant a la Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"S\'està baixant l\'aplicació d\'administració..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Instal·lant l\'aplicació d\'administració..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Suprimint aplic. del sistema no obligatòries…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Estem afegint els últims retocs…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Definint el propietari del dispositiu..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"El dispositiu no admet l\'encriptació. Contacta amb el departament de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"El dispositiu s\'està inicialitzant…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Aquest dispositiu no permet l\'encriptació, necessària per a la configuració. Contacta amb l\'administrador per obtenir ajuda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Vols aturar la configuració i restablir el dispositiu?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Aquest procés restablirà el dispositiu i tornaràs a la primera pantalla"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Vols deixar de configurar el dispositiu i esborrar-ne les dades?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel·la"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"D\'acord"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restableix"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"No s\'ha pogut configurar el dispositiu. Contacta amb el departament de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Aquest dispositiu ja està configurat."</string>
+    <string name="reset" msgid="6467204151306265796">"Restableix"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"No es pot configurar el perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"No es pot configurar el dispositiu"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"No s\'ha pogut configurar el dispositiu. Contacta amb l\'administrador per obtenir ajuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contacta amb l\'administrador per obtenir ajuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"El dispositiu ja està configurat"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"No s\'ha pogut connectar a la Wi-Fi."</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Aquest dispositiu està bloquejat per la protecció de restabliment de fàbrica. Contacta amb el departament de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"El teu dispositiu té activada la protecció per recuperar les dades de fàbrica. Contacta amb l\'administrador per obtenir ajuda."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"S\'està esborrant"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Espera…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No s\'ha pogut fer servir l\'aplicació d\'administració a causa d\'un error de la suma de comprovació. Contacta amb el departament de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"No s\'ha pogut fer servir l\'aplicació d\'administració a causa d\'un error de suma de comprovació. Contacta amb l\'administrador per obtenir ajuda."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No s\'ha pogut baixar l\'aplicació d\'administració."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No es pot fer servir l\'aplicació d\'administració perquè està malmesa o hi falten components. Contacta amb el departament de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"No s\'ha pogut fer servir l\'aplicació d\'administració perquè està malmesa o hi falten components. Contacta amb l\'administrador per obtenir ajuda."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No s\'ha pogut instal·lar l\'aplicació d\'administració."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Vols aturar la configuració?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"S\'està cancel·lant..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Vols aturar la configuració del perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Pots configurar el perfil professional més endavant des de l\'aplicació de gestió de dispositius de la teva organització."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continua"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Pots configurar el teu perfil professional més endavant a l\'aplicació de gestió de dispositius de la teva organització"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continua"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Atura"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignora"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Estàs a punt de crear un perfil professional que la teva organització gestionarà i supervisarà. S\'hi apliquen condicions."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Estàs a punt de crear un perfil professional que la teva organització gestionarà i supervisarà. S\'hi apliquen les condicions de: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Es crearà un perfil per a les aplicacions de la feina. La teva organització gestionarà i supervisarà aquest perfil i la resta del dispositiu. S\'hi apliquen condicions."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Es crearà un perfil per a les aplicacions de la feina. La teva organització gestionarà i supervisarà aquest perfil i la resta del dispositiu. S\'hi apliquen les condicions de: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionarà i protegirà aquest dispositiu. S\'hi apliquen condicions. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionarà i protegirà aquest dispositiu. S\'hi apliquen les condicions de: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Aquest enllaç no és segur i no es pot obrir fins que hagi finalitzat la configuració del dispositiu: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Si tens cap dubte, contacta amb: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Si tens cap dubte, contacta amb l\'administrador de la teva organització"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"No s\'ha completat la configuració. Contacta amb l\'administrador per obtenir ajuda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Contacta amb l\'administrador per obtenir ajuda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador de l\'organització"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionarà i supervisarà aquest dispositiu amb l\'aplicació següent:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"La teva organització"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"la teva organització"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Mostra les condicions"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accepta i continua"</string>
+    <string name="close" msgid="7208600934846389439">"Tanca"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configura el dispositiu"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Canvia la manera de treballar"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Mantén separades les dades personals i de la feina"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Un lloc per a les aplicacions de la feina"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desactiva el perfil professional quan hagis acabat"</string>
     <string name="provisioning" msgid="4512493827019163451">"S\'estan administrant"</string>
     <string name="copying_certs" msgid="5697938664953550881">"S\'estan configurant els certificats de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configura el perfil. Inicia la configuració"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configura el perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Amb un perfil professional, pots mantenir separades les dades personals i de la feina"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Amb un perfil professional, pots tenir les teves aplicacions de la feina en un mateix lloc."</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configura el perfil. Encriptació"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configura el perfil. S\'està mostrant el progrés"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configura el dispositiu. Inicia la configuració"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configura el teu dispositiu"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configura el dispositiu. Encriptació"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configura el dispositiu. S\'està mostrant el progrés"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botó Més informació"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Encapçalament de la secció <xliff:g id="SECTION_HEADING">%1$s</xliff:g>"</string>
+    <string name="section_content" msgid="8875502515704374394">"Contingut de la secció <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Desplega"</string>
+    <string name="collapse" msgid="7817530505064432580">"Replega"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accedeix a una llista d\'enllaços"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accedeix als enllaços"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accedeix als termes"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Llegeix les condicions"</string>
+    <string name="close_list" msgid="9053538299788717597">"Tanca la llista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Acabem configuració i restablim dades fàbrica?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"En finalitzar aquesta configuració, es restabliran les dades de fàbrica del dispositiu i se\'t dirigirà a la primera pantalla."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancel·la"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Restableix el dispositiu"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> i <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> i <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index af030b6..89e8cc0 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Vaše zařízení bude spravovat následující aplikace:"</string>
     <string name="next" msgid="1004321437324424398">"Další"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Nastavování pracovního profilu…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace, oprávnění a data přidružená k tomuto profilu, včetně aktivity v síti, informací o poloze vašeho zařízení, historie volání a historie vyhledávání kontaktů."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace, oprávnění, funkce ochrany proti krádeži a data přidružená k tomuto zařízení, včetně aktivity v síti a informací o poloze vašeho zařízení."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace, oprávnění a data přidružená k tomuto profilu, včetně aktivity v síti, informací o poloze zařízení, historie volání a historie vyhledávání kontaktů.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Další informace, včetně zásad ochrany soukromí vaší organizace, vám poskytne administrátor."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace, oprávnění a data přidružená k tomuto zařízení, včetně aktivity v síti, informací o poloze zařízení, historie volání a historie vyhledávání kontaktů.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Další informace, včetně zásad ochrany soukromí vaší organizace, vám poskytne administrátor."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Chcete-li používat funkce ochrany proti krádeži, je nutné mít v zařízení nastaven zámek obrazovky chráněný heslem."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Další informace, včetně zásad ochrany soukromí vaší organizace, vám poskytne administrátor."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Další informace"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Zrušit"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Souhlasím"</string>
+    <string name="url_error" msgid="5958494012986243186">"Tento odkaz nelze zobrazit."</string>
+    <string name="terms" msgid="8295436105384703903">"Smluvní podmínky"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informace o pracovním profilu"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informace o spravovaném zařízení"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Pracovní profil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primární uživatel"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Odstranit pracovní profil?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Pracovní profil již existuje a je spravován následující aplikací:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tento pracovní profil je spravován pro doménu %s pomocí aplikace:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Smazat existující profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Již máte pracovní profil, který spravuje tato aplikace:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Než budete pokračovat, přečtěte si "<a href="#read_this_link">"tento článek"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Pokud budete pokračovat, veškeré aplikace a data v tomto profilu budou vymazána."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Smazat"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušit"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Chcete-li v nastavování pracovního profilu pokračovat, bude třeba zařízení zašifrovat. Může to chvíli trvat."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Chcete-li v nastavování zařízení pokračovat, budete jej muset zašifrovat. Může to chvíli trvat."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Zašifrovat"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Chcete-li nastavit pracovní profil, zařízení je potřeba nejprve zašifrovat. Může to chvíli trvat."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Chcete-li zařízení nastavit, je potřeba ho nejprve zašifrovat. Může to chvíli trvat."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Zašifrovat zařízení?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Zašifrovat"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrování dokončeno"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Klepnutím pokračujte v nastavování pracovního profilu"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nastavení pracovního profilu se nezdařilo. Obraťte se na oddělení IT nebo to zkuste znovu později."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaše zařízení pracovní profily nepodporuje."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Tento uživatel nemůže mít pracovní profil"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Pracovní profil nelze přidat"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Tento uživatel nemůže mít pracovní profil. Nápovědu vám poskytne administrátor."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Tento uživatel nemůže mít pracovní profily. Obraťte se na administrátora."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Na spravovaném zařízení nelze nastavit pracovní profily"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Pracovní profil nelze vytvořit, protože jste v zařízení dosáhli maximálního počtu uživatelů. Alespoň jednoho uživatele odeberte a zkuste to znovu."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Váš pracovní profil tato aplikace spouštěče nepodporuje. Budete muset přejít na spouštěč, který je kompatibilní."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Zařízení pravděpodobně používá příliš mnoho uživatelů. Odeberte některého uživatele a zkuste to znovu."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Změňte spouštěč v zařízení"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Pracovní profil tuto spouštěcí aplikaci nepodporuje"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Zrušit"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Nastavení uživatele nebylo dokončeno"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Připojování k síti Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Stahování administrátorské aplikace…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Probíhá instalace administrátorské aplikace…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Odstraňování nechtěných systémových aplikací…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Provádění posledních úprav…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Nastavování vlastníka zařízení…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Vaše zařízení šifrování nepodporuje. Obraťte se na oddělení IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicializace zařízení…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"K nastavení je vyžadováno šifrování, které ale toto zařízení nepodporuje. Nápovědu vám poskytne administrátor."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Ukončit nastavování a resetovat zařízení?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Zařízení se resetujete a budete vráceni na první obrazovku"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ukončit nastavování a vymazat data zařízení?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Zrušit"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetovat"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nastavení zařízení se nezdařilo. Obraťte se na oddělení IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Toto zařízení je již nastaveno."</string>
+    <string name="reset" msgid="6467204151306265796">"Resetovat"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profil nelze nastavit"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Zařízení nelze nastavit"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Zařízení nelze nastavit. Nápovědu vám poskytne administrátor."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Nápovědu vám poskytne administrátor"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Zařízení je již nastaveno"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Připojení k síti Wi-Fi se nezdařilo"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Toto zařízení je uzamčeno ochranou před resetováním továrního nastavení. Kontaktujte své IT oddělení."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"V zařízení je zapnuta ochrana před resetováním. Nápovědu vám poskytne administrátor."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Mazání"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Prosím čekejte..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kvůli chybě kontrolního součtu nelze aplikaci pro správu použít. Obraťte se na oddělení IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Kvůli chybě kontrolního součtu nelze aplikaci pro správu použít. Nápovědu vám poskytne administrátor."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Stažení aplikace pro správu se nezdařilo."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikaci pro správu nelze použít. Buď v ní chybí některé komponenty, nebo je poškozená. Obraťte se na oddělení IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Aplikaci pro správu nelze použít. Buď v ní chybí některé komponenty, nebo je poškozená. Nápovědu vám poskytne administrátor."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Instalace aplikace pro správu se nezdařila."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Zastavit nastavování?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ano"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Rušení..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ukončit nastavení profilu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Pracovní profil si můžete nastavit později pomocí aplikace na správu zařízení, kterou používá vaše organizace."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Pokračovat"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Pracovní profil si můžete nastavit později pomocí aplikace na správu zařízení, kterou používá vaše organizace"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Pokračovat"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zastavit"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Zrušit"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Chystáte se vytvořit pracovní profil, který bude spravován a sledován vaší organizací. Platí podmínky."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Chystáte se vytvořit pracovní profil, který bude spravován a sledován vaší organizací. Platí podmínky <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Bude vytvořen profil pro vaše pracovní aplikace. Tento profil a zbytek zařízení bude spravován a sledován vaší organizací. Platí podmínky."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Bude vytvořen profil pro vaše pracovní aplikace. Tento profil a zbytek zařízení bude spravován a sledován vaší organizací. Platí podmínky <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Toto zařízení bude spravovat a zabezpečovat <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Platí podmínky. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Toto zařízení bude spravovat a zabezpečovat <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Platí podmínky <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Následující odkaz není zabezpečený a bude ho možné otevřít, až bude zařízení nastaveno: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"V případě dotazů vám pomůže <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"V případě dotazů vám pomůže administrátor organizace"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Nastavení není dokončeno. Nápovědu vám poskytne administrátor."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Nápovědu vám poskytne administrátor"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrátor organizace"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> bude zařízení spravovat a sledovat pomocí následující aplikace:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Vaše organizace"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"vaše organizace"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Zobrazit smluvní podmínky"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Přijmout a pokračovat"</string>
+    <string name="close" msgid="7208600934846389439">"Zavřít"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Nastavení zařízení"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Pracujte jinak"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Oddělte pracovní data od osobních"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Jedno místo pro pracovní aplikace"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Až budete mít hotovo, pracovní profil vypněte"</string>
     <string name="provisioning" msgid="4512493827019163451">"Správa účtů"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Nastavování certifikátů CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Nastavení profilu – zahájení nastavení"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Nastavení profilu"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Když použijete pracovní profil, můžete oddělit pracovní data od osobních"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Když použijete pracovní profil, budete mít pracovní aplikace na jednom místě"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Nastavení profilu – šifrování"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Nastavení profilu – zobrazuje se průběh"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Nastavení zařízení – zahájení nastavení"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavení zařízení"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Nastavení zařízení – šifrování"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Nastavení zařízení – zobrazuje se průběh"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Tlačítko k zobrazení dalších informací"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona společnosti <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Záhlaví sekce <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Obsah sekce <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Rozbalit"</string>
+    <string name="collapse" msgid="7817530505064432580">"Sbalit"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Přístup k seznamu odkazů"</string>
+    <string name="access_links" msgid="7991363727326168600">"Přístup k odkazům"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Přístup k podmínkám"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Přečíst podmínky"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zavřít seznam"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Ukončit nastavení a obnovit?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Když toto nastavení ukončíte, zařízení se obnoví do továrního nastavení a budete vráceni na první obrazovku."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Zrušit"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Resetovat zařízení"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> a <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> a <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ee75de4..4947016 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Den følgende app vil styre din enhed:"</string>
     <string name="next" msgid="1004321437324424398">"Næste"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Konfigurerer din arbejdsprofil…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, tilladelser og data, der er knyttet til denne profil, herunder din netværksaktivitet samt enhedens placering, opkaldshistorik og historik for søgning efter kontaktpersoner."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, tilladelser, funktioner, der beskytter mod tyveri, og data, der er knyttet til denne enhed, herunder netværksaktivitet og enhedens stedoplysninger."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, tilladelser og data, der er knyttet til denne profil, herunder din netværksaktivitet samt enhedens placering, opkaldshistorik og historik for søgning efter kontaktpersoner. <xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakt din administrator for at få flere oplysninger, herunder om din organisations privatlivspolitik."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, tilladelser og data, der er knyttet til denne enhed, herunder din netværksaktivitet samt enhedens placering, opkaldshistorik og historik for søgning efter kontaktpersoner. <xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakt din administrator for at få flere oplysninger, herunder om din organisations privatlivspolitik."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Hvis du vil bruge funktionen, der beskytter mod tyveri, skal din enhed have en skærmlås med en tilhørende adgangskode."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontakt din administrator for at få flere oplysninger, herunder om din organisations privatlivspolitik."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Få flere oplysninger"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Annuller"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Jeg accepterer"</string>
+    <string name="url_error" msgid="5958494012986243186">"Dette link kan ikke vises."</string>
+    <string name="terms" msgid="8295436105384703903">"Vilkår"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Oplysninger om arbejdsprofil"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Oplysninger om administrerede enheder"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbejdsprofil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primær bruger"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Vil du fjerne arbejdsprofilen?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Der findes allerede en arbejdsprofil, som administreres af:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Denne arbejdsprofil administreres af %s ved hjælp af:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vil du slette den eksisterende profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Du har allerede en arbejdsprofil, som administreres via den følgende app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Inden du fortsætter, bør du "<a href="#read_this_link">"læse dette"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Hvis du fortsætter, slettes alle apps og data i denne profil."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Slet"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuller"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Du skal kryptere din enhed, inden du kan fortsætte konfigurationen af din arbejdsprofil. Dette kan tage et stykke tid."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Du skal kryptere din enhed, inden du kan fortsætte konfigurationen. Dette kan tage et stykke tid."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptér"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Din enhed skal være krypteret, før du kan konfigurere din arbejdsprofil. Dette kan tage et stykke tid."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Denne enhed skal være krypteret, før den kan blive konfigureret. Dette kan tage et stykke tid."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Kryptér denne enhed?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Kryptér"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen er fuldført"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tryk for at fortsætte konfigurationen af din arbejdsprofil"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Din arbejdsprofil kunne ikke oprettes. Kontakt din IT-afdeling, eller prøv igen senere."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Din enhed understøtter ikke arbejdsprofiler"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Denne bruger kan ikke have en arbejdsprofil"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Det er ikke muligt at tilføje en arbejdsprofil"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Denne bruger kan ikke have en arbejdsprofil. Kontakt din administrator for at få hjælp."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Denne bruger kan ikke have arbejdsprofiler. Kontakt din administrator."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Work-profiler kan ikke konfigureres på en administreret enhed"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Der kunne ikke oprettes en arbejdsprofil, da du har nået det maksimale antal tilladte brugere på din enhed. Fjern mindst én bruger, og prøv igen."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Din arbejdsprofil understøttes ikke af denne starter. Skift til en starter, der er kompatibel."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Der er muligvis for mange brugere på denne enhed. Fjern en bruger, og prøv igen."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Skift enhedsstarter"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Denne starter kan ikke bruges af din arbejdsprofil"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Annuller"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Oprettelsen af brugeren er ikke fuldført"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Opretter forbindelse til Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Downloader administrationsappen…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installerer administrationsappen…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Fjerner systemapps, der ikke er påkrævede…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Forbereder de sidste detaljer…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Angiver enhedens ejer…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Din enhed understøtter ikke kryptering. Kontakt din it-afdeling."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialiserer enheden…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Denne enhed tillader ikke kryptering, som er nødvendig for konfigurationen. Kontakt din administrator for at få hjælp."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Vil du afbryde konfigurationen og nulstille enheden?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Dette vil nulstille enheden og føre dig tilbage til den første skærm"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Vil du standse konfigurationen og slette enhedens data?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuller"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Gendan fabriksdata"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Din enhed kunne ikke konfigureres. Kontakt din it-afdeling."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Denne enhed er allerede konfigureret"</string>
+    <string name="reset" msgid="6467204151306265796">"Nulstil"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profilen kan ikke konfigureres"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Enheden kan ikke konfigureres"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Enheden kunne ikke konfigureres. Kontakt din administrator for at få hjælp."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kontakt din administrator for at få hjælp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Enheden er allerede konfigureret"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Der kunne ikke oprettes forbindelse til Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Denne enhed er låst, da den er beskyttet mod gendannelse af fabriksindstillingerne. Kontakt din it-afdeling."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Din enhed har aktiveret beskyttelse mod nulstilling. Kontakt din administrator for at få hjælp."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Sletter…"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Vent et øjeblik…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Administrationsappen kunne ikke bruges på grund af en fejl i kontrolsummen. Kontakt din it-afdeling."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Administrationsappen kunne ikke bruges på grund af en fejl i kontrolsummen. Kontakt din administrator for at få hjælp."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administrationsappen kunne ikke hentes"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrationsappen kan ikke bruges. Den mangler komponenter eller er beskadiget. Kontakt din it-afdeling."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Administrationsappen kan ikke bruges. Den mangler komponenter eller er beskadiget. Kontakt din administrator for at få hjælp."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administrationsappen kunne ikke installeres"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Vil du standse konfigurationen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nej"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Annullerer…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Vil du stoppe profilkonfigurationen?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Du kan konfigurere din arbejdsprofil senere fra den app til enhedsadministration, der bruges i din organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Fortsæt"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Du kan konfigurere din arbejdsprofil senere i din organisations app til enhedsadministration"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Fortsæt"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stop"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Luk"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Du er ved at oprette en arbejdsprofil, som administreres og overvåges af din organisation. Vilkår er gældende."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Du er ved at oprette en arbejdsprofil, som administreres og overvåges af din organisation. Vilkår fra <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> er gældende."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Der oprettes en profil til dine arbejdsapps. Denne profil og resten af din enhed administreres og overvåges af din organisation. Vilkår er gældende."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Der oprettes en profil til dine arbejdsapps. Denne profil og resten af din enhed administreres og overvåges af din organisation. Vilkår fra <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> er gældende."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Denne enhed administreres og beskyttes af <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Vilkår er gældende. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Denne enhed administreres og beskyttes af <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Vilkår fra <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> er gældende. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Dette link er ikke sikkert og kan ikke åbnes, før konfigurationen er gennemført: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Kontakt <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>, hvis du har nogen spørgsmål."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kontakt din organisations administrator, hvis du har nogen spørgsmål"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Konfigurationen er ikke gennemført. Kontakt din administrator for at få hjælp."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Kontakt din administrator for at få hjælp"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisationens administrator"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> administrerer og overvåger denne enhed ved hjælp af følgende app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Din organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"din organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Se vilkår"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Acceptér og fortsæt"</string>
+    <string name="close" msgid="7208600934846389439">"Luk"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfigurer din enhed"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"En ny måde at arbejde på"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Adskil arbejde og privatliv"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Ét sted til arbejdsapps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Luk for arbejdet, når du er færdig"</string>
     <string name="provisioning" msgid="4512493827019163451">"Leverer"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Konfigurerer CA-certifikater"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfigurer din profil. Start konfiguration"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Konfigurer din profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ved at bruge en arbejdsprofil kan du adskille arbejdsdata fra personlige data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Du kan samle dine apps til arbejdsbrug ét sted via en arbejdsprofil"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfigurer din profil. Kryptering"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Konfigurer din profil. Viser fremskridt"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfigurer enheden. Start konfiguration"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurer din enhed"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Konfigurer enheden. Kryptering"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Konfigurer enheden. Viser fremskridt"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Knappen Få flere oplysninger"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikonet <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Overskrift for sektionen <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sektionen <xliff:g id="SECTION_HEADING">%1$s</xliff:g> med indholdet: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Udvid"</string>
+    <string name="collapse" msgid="7817530505064432580">"Skjul"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Få adgang til en liste over links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Få adgang til links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Få adgang til termer"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Læs vilkår"</string>
+    <string name="close_list" msgid="9053538299788717597">"Luk listen"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Vil du afslutte konfigurationen og gendanne fabriksdataene?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Når du afslutter konfigurationen, gendannes fabriksdataene på enheden, og du føres tilbage til den første skærm."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Annuller"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Nulstil enheden"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> og <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> og <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index feef8f3..c609e05 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Dein Gerät wird von der folgenden App verwaltet:"</string>
     <string name="next" msgid="1004321437324424398">"Weiter"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Arbeitsprofil wird eingerichtet…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Dein Administrator kann die mit diesem Profil verknüpften Einstellungen, Unternehmenszugriffsrechte, Apps, Berechtigungen und Daten überwachen und verwalten, einschließlich deiner Netzwerkaktivitäten sowie des Standorts, der Anrufliste und des Kontaktsuchverlaufs deines Geräts."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Dein Administrator kann die mit diesem Gerät verbundenen Einstellungen, Unternehmenszugriffsrechte, Apps, Berechtigungen, Diebstahlschutzfunktionen und Daten überwachen und verwalten, einschließlich der Netzwerkaktivitäten und der Standortinformationen deines Geräts."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Der Administrator kann die mit diesem Profil verbundenen Einstellungen, Unternehmenszugriffsrechte, Apps, Berechtigungen und Daten überwachen und verwalten, einschließlich der Netzwerkaktivitäten, der Standortinformationen, der Anrufliste und des Kontaktsuchverlaufs deines Geräts.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Weitere Informationen, unter anderem auch zur Datenschutzerklärung deiner Organisation, erhältst du von deinem Administrator."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Der Administrator kann die mit diesem Gerät verbundenen Einstellungen, Unternehmenszugriffsrechte, Apps, Berechtigungen und Daten überwachen und verwalten, einschließlich der Netzwerkaktivitäten, der Standortinformationen, der Anrufliste und des Kontaktsuchverlaufs deines Geräts.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Weitere Informationen, unter anderem auch zur Datenschutzerklärung deiner Organisation, erhältst du von deinem Administrator."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Du benötigst eine passwortgeschützte Displaysperre, um die Funktionen zum Schutz vor Diebstahl verwenden zu können."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Weitere Informationen, auch zur Datenschutzerklärung Ihres Unternehmens, erhältst du bei deinem Administrator."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Weitere Informationen"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Abbrechen"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Ich stimme zu."</string>
+    <string name="url_error" msgid="5958494012986243186">"Anzeige nicht möglich."</string>
+    <string name="terms" msgid="8295436105384703903">"Nutzungsbedingungen"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Arbeitsprofilinformationen"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Info zu verwalteten Geräten"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbeitsprofil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Hauptnutzer"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Arbeitsprofil entfernen?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Es ist bereits ein Arbeitsprofil vorhanden und wird verwaltet von:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Dieses Arbeitsprofil wird für %s von der folgenden App verwaltet:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vorhandenes Profil löschen?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Du hast bereits ein Arbeitsprofil, das mit folgender App verwaltet wird:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Bevor du fortfährst, "<a href="#read_this_link">"lies diese Informationen"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Wenn du den Vorgang fortsetzt, werden alle Apps und Daten in diesem Profil gelöscht."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Löschen"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Abbrechen"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Um mit dem Einrichten deines Arbeitsprofils fortzufahren, musst du dein Gerät verschlüsseln. Dies kann einige Zeit dauern."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Um mit dem Einrichten deines Geräts fortzufahren, musst du es verschlüsseln. Dies kann einige Zeit dauern."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Verschlüsseln"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Um das Arbeitsprofil einzurichten, muss dein Gerät verschlüsselt werden. Das kann einige Zeit in Anspruch nehmen."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Um das Gerät einzurichten, muss es zunächst verschlüsselt werden. Das kann einige Zeit in Anspruch nehmen."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Dieses Gerät verschlüsseln?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Verschlüsseln"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Verschlüsselung abgeschlossen"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tippe, um die Einrichtung des Arbeitsprofils fortzusetzen"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Dein Arbeitsprofil konnte nicht eingerichtet werden. Bitte wende dich an deine IT-Abteilung oder versuche es später erneut."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Dein Gerät unterstützt keine Arbeitsprofile."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Dieser Nutzer kann kein Arbeitsprofil haben."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Arbeitsprofil kann nicht hinzugefügt werden"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Für diesen Nutzer kann kein Arbeitsprofil eingerichtet werden. Bitte wende dich an den Administrator."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Für diesen Nutzer können keine Arbeitsprofile eingerichtet werden. Bitte wende dich an den Administrator."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Auf verwalteten Geräten können keine Arbeitsprofile eingerichtet werden."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Das Arbeitsprofil kann nicht erstellt werden, da die maximale Nutzeranzahl auf diesem Gerät bereits erreicht wurde. Bitte entferne mindestens einen Nutzer und versuche es erneut."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Dein Arbeitsprofil wird von dieser Launcher-App nicht unterstützt. Wechsle zu einem kompatiblen Launcher."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Das sind zu viele Nutzer für dieses Gerät. Entferne einen Nutzer und versuche es noch einmal."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Geräte-Launcher ändern"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Dein Arbeitsprofil wird von dieser Launcher-App nicht unterstützt"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Abbrechen"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Nutzerverwaltungskonfiguration unvollständig"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"WLAN-Verbindung wird hergestellt…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Admin-App wird heruntergeladen…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Admin-App wird installiert…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Nicht benötigte System-Apps werden entfernt…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Ein paar Kleinigkeiten werden angepasst…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Geräteeigentümer wird eingerichtet…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Dein Gerät unterstützt keine Verschlüsselung. Wende dich an deine IT-Abteilung."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Gerät wird initialisiert…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Auf dem Gerät ist keine Verschlüsselung möglich. Diese ist für die Einrichtung erforderlich. Bitte wende dich an den Administrator."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Einrichtung unterbrechen und Gerät zurücksetzen?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Dein Gerät wird zurückgesetzt und der erste Bildschirm wird wieder angezeigt"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Einrichtung abbrechen und Daten von deinem Gerät löschen?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Abbrechen"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Zurücksetzen"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Das Gerät konnte nicht eingerichtet werden. Bitte wende dich an deine IT-Abteilung."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Dieses Gerät ist bereits eingerichtet."</string>
+    <string name="reset" msgid="6467204151306265796">"Zurücksetzen"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profil kann nicht eingerichtet werden"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Gerät kann nicht eingerichtet werden"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Das Gerät konnte nicht eingerichtet werden. Bitte wende dich an den Administrator."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Bitte wende dich an den Administrator"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Das Gerät ist bereits eingerichtet"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Es konnte keine WLAN-Verbindung hergestellt werden."</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Dieses Gerät ist durch den Schutz vor Zurücksetzen auf die Werkseinstellungen gesperrt. Bitte wende dich an deine IT-Abteilung."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Auf dem Gerät ist der Schutz vor Zurücksetzen auf Werkseinstellungen aktiviert. Bitte wende dich an den Administrator."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Löschen"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Bitte warten..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Fehler bei der Prüfsumme. Die Admin-App kann nicht genutzt werden. Bitte wende dich an deine IT-Abteilung."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Die Admin-App konnte aufgrund eines Fehlers bei der Prüfsumme nicht verwendet werden. Bitte wende dich an den Administrator."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Die Admin-App konnte nicht heruntergeladen werden."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Die Admin-App kann nicht genutzt werden. Sie wurde beschädigt oder es fehlen Komponenten. Bitte wende dich an deine IT-Abteilung."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Die Admin-App kann nicht genutzt werden. Sie wurde beschädigt oder es fehlen Komponenten. Bitte wende dich an den Administrator."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Die Admin-App konnte nicht installiert werden."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Einrichtung abbrechen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nein"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Vorgang wird abgebrochen…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profileinrichtung abbrechen?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Du kannst dein Arbeitsprofil später über die von deiner Organisation verwendete Geräteverwaltungs-App einrichten."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Weiter"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Du kannst dein Arbeitsprofil später über die Geräteverwaltungs-App deiner Organisation einrichten"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Weiter"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Beenden"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Schließen"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Du erstellst gerade ein Arbeitsprofil, das danach von deiner Organisation verwaltet und überwacht wird. Es gelten die Nutzungsbedingungen."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Du erstellst gerade ein Arbeitsprofil, das danach von deiner Organisation verwaltet und überwacht wird. Es gelten die Nutzungsbedingungen von <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Für deine Apps für die Arbeit wird ein Arbeitsprofil erstellt. Das Profil und dein Gerät werden von deiner Organisation verwaltet und überwacht. Es gelten die Nutzungsbedingungen."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Für deine Apps für die Arbeit wird ein Arbeitsprofil erstellt. Das Profil und dein Gerät werden von deiner Organisation verwaltet und überwacht. Es gelten die Nutzungsbedingungen von <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Das Gerät wird von <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> verwaltet. Deine Organisation kümmert sich auch um den entsprechenden Schutz. Es gelten die Nutzungsbedingungen. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Das Gerät wird von <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> verwaltet. Deine Organisation kümmert sich auch um den entsprechenden Schutz. Es gelten die Nutzungsbedingungen von <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Dieser Link ist nicht sicher und kann erst geöffnet werden, wenn die Einrichtung des Geräts abgeschlossen ist: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Bitte wende dich bei Fragen an den <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Bitte wende dich bei Fragen an den Administrator deiner Organisation"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Die Einrichtung ist nicht abgeschlossen. Bitte wende dich an den Administrator."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Bitte wende dich an den Administrator"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"Administrator der Organisation"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> verwaltet und überwacht das Gerät mithilfe der folgenden App:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Meine Organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"meiner Organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Nutzungsbedingungen ansehen"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Akzeptieren &amp; weiter"</string>
+    <string name="close" msgid="7208600934846389439">"Schließen"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Gerät einrichten"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Arbeitsweise ändern"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Geschäftliche und private Daten trennen"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Ein Platz für alle beruflichen Apps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Arbeitsbereich ausschalten, wenn du fertig bist"</string>
     <string name="provisioning" msgid="4512493827019163451">"Nutzerverwaltung"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA-Zertifikate werden eingerichtet"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profil einrichten. Einrichtung starten."</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Profil einrichten"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Mit einem Arbeitsprofil kannst du Arbeitsdaten von persönlichen Daten trennen"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Mit einem Arbeitsprofil findest du all deine Apps für die Arbeit an einem Ort"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Profil einrichten. Verschlüsselung."</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Profil einrichten. Fortschritt wird angezeigt."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Gerät einrichten. Einrichtung starten."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Gerät einrichten"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Gerät einrichten. Verschlüsselung."</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Gerät einrichten. Fortschritt wird angezeigt."</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Schaltfläche \"Weitere Informationen\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Symbol \"<xliff:g id="ICON_LABEL">%1$s</xliff:g>\""</string>
+    <string name="section_heading" msgid="3924666803774291908">"Überschrift des Abschnitts <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Inhalt des Abschnitts <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Maximieren"</string>
+    <string name="collapse" msgid="7817530505064432580">"Minimieren"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Liste mit Links aufrufen"</string>
+    <string name="access_links" msgid="7991363727326168600">"Links aufrufen"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Bedingungen aufrufen"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Bedingungen anzeigen"</string>
+    <string name="close_list" msgid="9053538299788717597">"Liste schließen"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Einrichtung beenden &amp; auf Werkszustand zurück?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Wenn du diese Einrichtung beendest, wird dein Gerät auf die Werkseinstellungen zurückgesetzt und dir wird der erste Bildschirm angezeigt."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Abbrechen"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Gerät zurücksetzen"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> und <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> und <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 04542ca..9848c6b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Η παρακάτω εφαρμογή θα διαχειρίζεται τη συσκευή σας:"</string>
     <string name="next" msgid="1004321437324424398">"Επόμενο"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Δημιουργία του προφίλ εργασίας σας…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται τις ρυθμίσεις, την εταιρική πρόσβαση, τις εφαρμογές, τα δικαιώματα και τα δεδομένα που σχετίζονται με αυτό το προφίλ, συμπεριλαμβανομένης της δραστηριότητας δικτύου σας, καθώς και της τοποθεσίας, του ιστορικού κλήσεων και του ιστορικού αναζήτησης επαφών της συσκευής σας."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται τις ρυθμίσεις, την εταιρική πρόσβαση, τις εφαρμογές, τα δικαιώματα, τις λειτουργίες προστασίας από κλοπή και τα δεδομένα που σχετίζονται με αυτήν τη συσκευή, συμπεριλαμβανομένης της δραστηριότητας δικτύου και των πληροφοριών τοποθεσίας της συσκευής σας."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται τις ρυθμίσεις, την εταιρική πρόσβαση, τις εφαρμογές τα δικαιώματα και τα δεδομένα που έχουν συσχετιστεί με αυτό το προφίλ, μεταξύ άλλων τη δραστηριότητα δικτύου, καθώς και την τοποθεσία της συσκευής σας, το ιστορικό κλήσεων και το ιστορικό αναζήτησης επαφών.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Επικοινωνήστε με τον διαχειριστή σας για περισσότερες πληροφορίες, συμπεριλαμβανομένων των πολιτικών απορρήτου του οργανισμού σας."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται τις ρυθμίσεις, την εταιρική πρόσβαση, τις εφαρμογές τα δικαιώματα και τα δεδομένα που έχουν συσχετιστεί με αυτήν τη συσκευή, μεταξύ άλλων τη δραστηριότητα δικτύου, καθώς και την τοποθεσία της συσκευής σας, το ιστορικό κλήσεων και το ιστορικό αναζήτησης επαφών.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Επικοινωνήστε με τον διαχειριστή σας για περισσότερες πληροφορίες, συμπεριλαμβανομένων των πολιτικών απορρήτου του οργανισμού σας."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Για να χρησιμοποιήσετε τις λειτουργίες προστασίας από κλοπή, πρέπει να έχετε ενεργοποιήσει το κλείδωμα οθόνης με προστασία κωδικού πρόσβασης στη συσκευή σας."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Επικοινωνήστε με το διαχειριστή σας για περισσότερες πληροφορίες, συμπεριλαμβανομένων των πολιτικών απορρήτου του οργανισμού σας."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Μάθετε περισσότερα"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Ακύρωση"</string>
     <string name="ok_setup" msgid="4593707675416137504">"ΟΚ"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Συμφωνώ"</string>
+    <string name="url_error" msgid="5958494012986243186">"Αδυναμία προβολής αυτού του συνδέσμου."</string>
+    <string name="terms" msgid="8295436105384703903">"Όροι"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Πληροφορίες προφίλ εργασίας"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Πληροφορίες διαχειριζόμενης συσκευής"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Προφίλ εργασίας"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Κύριος χρήστης"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Κατάργηση προφίλ εργασίας;"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Υπάρχει ήδη προφίλ εργασίας και η διαχείρισή του γίνεται από:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Η διαχείριση αυτού του προφίλ γίνεται για %s χρησιμοποιώντας:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Να διαγραφεί το υπάρχον προφίλ;"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Έχετε ήδη προφίλ εργασίας το οποίο διαχειρίζεται από την εξής εφαρμογή:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Πριν συνεχίσετε, "<a href="#read_this_link">"διάβασε αυτό"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Αν συνεχίσετε, όλες οι εφαρμογές και τα δεδομένα αυτού του προφίλ θα διαγραφούν."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Διαγραφή"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Ακύρωση"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Για να συνεχίσετε με τη ρύθμιση του προφίλ εργασίας σας, θα πρέπει να κρυπτογραφήσετε τη συσκευή σας. Αυτό μπορεί να διαρκέσει λίγη ώρα."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Για να συνεχίσετε με τη ρύθμιση της συσκευής σας, θα πρέπει να την κρυπτογραφήσετε. Αυτό μπορεί να διαρκέσει λίγη ώρα."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Κρυπτογράφηση"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Η συσκευή σας πρέπει να κρυπτογραφηθεί πριν ρυθμίσετε το προφίλ εργασίας σας. Αυτή η διαδικασία μπορεί να διαρκέσει λίγη ώρα."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Η συσκευή θα πρέπει να κρυπτογραφηθεί πριν τη ρύθμισή της. Αυτή η διαδικασία μπορεί να διαρκέσει λίγη ώρα."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Κρυπτογρ. συσκευής;"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Κρυπτογράφηση"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Η κρυπτογράφηση ολοκληρώθηκε"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Πατήστε για να συνεχίσετε τη ρύθμιση του προφίλ εργασίας σας"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Δεν ήταν δυνατή η ρύθμιση του προφίλ εργασίας σας. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης ή δοκιμάστε ξανά αργότερα."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Η συσκευή σας δεν υποστηρίζει τα προφίλ εργασίας"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Αυτός ο χρήστης δεν μπορεί να έχει προφίλ εργασίας"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Η προσθήκη προφίλ εργασίας δεν είναι δυνατή"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Αυτός ο χρήστης δεν μπορεί να έχει προφίλ εργασίας. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Αυτός ο χρήστης δεν μπορεί να έχει προφίλ εργασίας. Επικοινωνήστε με τον διαχειριστή σας."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Δεν είναι δυνατή η ρύθμιση προφίλ εργασίας σε μια διαχειριζόμενη συσκευή"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Δεν είναι δυνατή η δημιουργία προφίλ εργασίας επειδή συμπληρώσατε τον μέγιστο αριθμό χρηστών στη συσκευή σας. Καταργήστε τουλάχιστον έναν χρήστη και δοκιμάστε ξανά."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Το προφίλ εργασίας σας δεν υποστηρίζεται από αυτήν την εφαρμογή εκκίνησης. Θα πρέπει να χρησιμοποιήσετε μια συμβατή εφαρμογή εκκίνησης."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Πιθανώς να υπάρχουν υπερβολικά πολλοί χρήστες σε αυτήν τη συσκευή. Καταργήστε έναν χρήστη και δοκιμάστε ξανά."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Αλλάξτε την εφαρμογή εκκίνησης συσκευής"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Αυτή η εφαρμογή εκκίνησης δεν μπορεί να χρησιμοποιηθεί από το προφίλ εργασίας σας"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Ακύρωση"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Μη ολοκληρωμένη ρύθμιση χρήστη"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Σύνδεση με Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Λήψη εφαρμογής διαχείρισης…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Εγκατάσταση εφαρμογής διαχείρισης…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Κατάργηση μη απαιτούμενων εφαρμ. συστήματος…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Προσθήκη τελευταίων στοιχείων…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Ρύθμιση του κατόχου της συσκευής…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Η συσκευή σας δεν υποστηρίζει την κρυπτογράφηση. Επικοινωνήστε με το τμήμα πληροφορικής."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Αρχικοποίηση συσκευής…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Αυτή η συσκευή δεν επιτρέπει κρυπτογράφηση που απαιτείται για τη ρύθμιση. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Διακοπή ρύθμισης και επαναφορά της συσκευής;"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Με αυτή την ενέργεια, θα γίνει επαναφορά της συσκευής και θα επιστρέψετε στην αρχική οθόνη"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Διακοπή ρύθμισης και διαγραφή των δεδομένων της συσκευής σας;"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ακύρωση"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Επαναφορά"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Δεν ήταν δυνατή η ρύθμιση της συσκευής σας. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Αυτή η συσκευή έχει ρυθμιστεί ήδη."</string>
+    <string name="reset" msgid="6467204151306265796">"Επαναφορά"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Η ρύθμιση προφίλ δεν είναι δυνατή"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Η ρύθμιση της συσκευής δεν είναι δυνατή"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Η ρύθμιση της συσκευής δεν είναι δυνατή. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Η συσκευή έχει ήδη ρυθμιστεί"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Δεν είναι δυνατή η σύνδεση στο Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Αυτή η συσκευή είναι κλειδωμένη από την προστασία επαναφοράς των εργοστασιακών ρυθμίσεων. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Η προστασία επαναφοράς έχει ενεργοποιηθεί στη συσκευή σας. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Διαγραφή"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Περιμένετε…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Δεν ήταν δυνατή η χρήση της εφαρμογής διαχείρισης λόγω σφάλματος του αθροίσματος ελέγχου. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Δεν ήταν δυνατή η χρήση της εφαρμογής διαχείρισης λόγω ενός σφάλματος αθροίσματος ελέγχου. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Δεν ήταν δυνατή η λήψη της εφαρμογής διαχείρισης"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Δεν ήταν δυνατή η χρήση της εφαρμογής διαχείρισης. Λείπουν στοιχεία ή είναι κατεστραμμένα. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Δεν είναι δυνατή η χρήση της εφαρμογής διαχείρισης λόγω καταστροφής ή έλλειψης στοιχείων. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Δεν ήταν δυνατή η εγκατάσταση της εφαρμογής διαχείρισης"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Διακοπή ρύθμισης;"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Όχι"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ναι"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Ακύρωση…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Διακοπή ρύθμισης προφίλ;"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Μπορείτε να ρυθμίσετε το προφίλ εργασίας σας αργότερα από την εφαρμογή διαχείρισης συσκευής που χρησιμοποιείται από τον οργανισμό σας."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Συνέχεια"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Μπορείτε να ρυθμίσετε το προφίλ εργασίας σας αργότερα από την εφαρμογή διαχείρισης συσκευής του οργανισμού σας."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Συνέχεια"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Διακοπή"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Παράβλεψη"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Πρόκειται να δημιουργήσετε ένα προφίλ εργασίας που θα διαχειρίζεται και θα παρακολουθεί ο οργανισμός σας. Ισχύουν όροι."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Πρόκειται να δημιουργήσετε ένα προφίλ εργασίας που θα διαχειρίζεται και θα παρακολουθεί ο οργανισμός σας. Ισχύουν οι όροι από <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Θα δημιουργηθεί ένα προφίλ για τις εφαρμογές εργασίας σας. Ο οργανισμός σας θα διαχειρίζεται και θα παρακολουθεί αυτό το προφίλ και την υπόλοιπη συσκευή σας. Ισχύουν όροι."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Θα δημιουργηθεί ένα προφίλ για τις εφαρμογές εργασίας σας. Ο οργανισμός σας θα διαχειρίζεται και θα παρακολουθεί αυτό το προφίλ και την υπόλοιπη συσκευή σας. Ισχύουν οι όροι από <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Ο οργανισμός <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> θα διαχειρίζεται και θα διατηρεί ασφαλή αυτήν τη συσκευή. Ισχύουν όροι. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Ο οργανισμός <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> θα διαχειρίζεται και θα διατηρεί ασφαλή αυτήν τη συσκευή. Ισχύουν οι όροι από <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Αυτός ο σύνδεσμος δεν είναι ασφαλής και δεν μπορεί να ανοιχθεί μέχρι να ολοκληρωθεί η ρύθμιση της συσκευής: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Εάν έχετε ερωτήσεις, επικοινωνήστε με τον διαχειριστή <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Εάν έχετε ερωτήσεις, επικοινωνήστε με τον διαχειριστή του οργανισμού σας"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Η ρύθμιση δεν έχει ολοκληρωθεί. Για βοήθεια, επικοινωνήστε με τον διαχειριστή σας."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Για βοήθεια, απευθυνθείτε στον διαχειριστή σας"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"διαχειριστής οργανισμού"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Ο οργανισμός <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> θα διαχειρίζεται και θα παρακολουθεί αυτήν τη συσκευή χρησιμοποιώντας την παρακάτω εφαρμογή:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Ο οργανισμός σας"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ο οργανισμός σας"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Προβολή όρων"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Αποδοχή και συνέχεια"</string>
+    <string name="close" msgid="7208600934846389439">"Κλείσιμο"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Ρύθμιση της συσκευής"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Αλλάξτε τον τρόπο που εργάζεστε"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Διαχωρίστε την εργασία από τα προσωπικά"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Ένα μέρος για τις εφαρμογές εργασίας"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Απενεργοποίηση εφαρμογών εργασίας αφού τελειώσετε"</string>
     <string name="provisioning" msgid="4512493827019163451">"Παροχή"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Ρύθμιση πιστοποιητικών CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Ρύθμιση του προφίλ σας. Έναρξη εγκατάστασης"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Ρυθμίστε το προφίλ σας"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Χρησιμοποιώντας ένα προφίλ εργασίας, μπορείτε να διαχωρίσετε τα δεδομένα εργασίας από τα προσωπικά δεδομένα σας"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Χρησιμοποιώντας ένα προφίλ εργασίας, μπορείτε να διατηρήσετε τις εφαρμογές της εργασίας σας σε ένα σημείο"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Ρύθμιση του προφίλ σας. Κρυπτογράφηση"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Ρύθμιση του προφίλ σας. Εμφάνιση προόδου"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Ρύθμιση της συσκευής σας. Έναρξη εγκατάστασης"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Ρύθμιση της συσκευής σας"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Ρύθμιση της συσκευής σας. Κρυπτογράφηση"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Ρύθμιση της συσκευής σας. Εμφάνιση προόδου"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Κουμπί \"Μάθετε περισσότερα\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Εικονίδιο <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Κεφαλίδα ενότητας <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Περιεχόμενο ενότητας <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Ανάπτυξη"</string>
+    <string name="collapse" msgid="7817530505064432580">"Σύμπτυξη"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Πρόσβαση σε λίστα συνδέσμων"</string>
+    <string name="access_links" msgid="7991363727326168600">"Πρόσβαση σε συνδέσμους"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Πρόσβαση στους όρους"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Ανάγνωση όρων"</string>
+    <string name="close_list" msgid="9053538299788717597">"Κλείσιμο λίστας"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Τερματισμός ρύθμ. και επαναφ. εργ. ρυθμίσεων;"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Με τον τερματισμό αυτής της ρύθμισης, θα επανέλθουν οι εργοστασιακές ρυθμίσεις της συσκευής σας και θα μεταφερθείτε ξανά στην πρώτη οθόνη."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Ακύρωση"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Επαναφορά συσκευής"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> και <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> και <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 9c4be71..863d17f 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"The following app will manage your device:"</string>
     <string name="next" msgid="1004321437324424398">"Next"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Setting up your work profile…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, theft-protection features and data associated with this device, including network activity and your device\'s location information."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this device including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"To use theft-protection features, you must have a password-protected screen lock for your device."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Learn more"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancel"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"I consent"</string>
+    <string name="url_error" msgid="5958494012986243186">"This link cannot be displayed."</string>
+    <string name="terms" msgid="8295436105384703903">"Terms"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Work profile info"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Managed device info"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Work profile"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primary user"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"A work profile already exists and is managed by:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Delete existing profile?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"You already have a work profile which is managed using the following app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Before proceeding, "<a href="#read_this_link">"read this"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"If you continue, all apps and data in this profile will be deleted."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"To continue setting up your device, you\'ll need to encrypt it. This may take some time."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encrypt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"To set up your work profile, your device needs to be encrypted. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"To set up this device, it needs to be encrypted first. This may take some time."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encrypt this device?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encrypt"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encryption complete"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tap to continue setting up your work profile"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Couldn\'t set up your work profile. Contact your IT department or try again later."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Your device doesn\'t support work profiles"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"This user cannot have a work profile"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Can\'t add work profile"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"This user can\'t have a work profile. For help, contact your admin."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"This user cannot have work profiles. Contact your admin."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Work profiles can not be set up on a managed device"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Work profile can\'t be created because you\'ve reached the maximum number of users on your device. Remove at least one user and try again."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"There may be too many users on this device. Remove a user, then try again."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Change device launcher"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"This launcher app can\'t be used by your work profile"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"User Setup Incomplete"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connecting to Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Downloading the admin app…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installing the admin app…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Removing non-required system apps…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Putting finishing touches…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Setting the device owner…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Your device does not support encryption. Contact your IT department."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialising device…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"This device doesn\'t allow encryption, which is needed for setup. For help, contact your admin."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Stop setup &amp; reset device?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"This will reset your device and take you back to the first screen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Stop setting up and delete your device\'s data?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reset"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Couldn\'t set up your device. Contact your IT department."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"This device has already been set up."</string>
+    <string name="reset" msgid="6467204151306265796">"Reset"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Can\'t set up profile"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Can\'t set up device"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Couldn\'t set up device. For help, contact your admin."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contact your admin for help"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Device is already set up"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Couldn\'t connect to Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"This device is locked by factory reset protection. Contact your IT department."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Your device has reset protection turned on. For help, contact your admin."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Erasing"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Please wait..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Couldn\'t use the admin app due to a checksum error. Contact your IT department."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Couldn\'t use the admin app due to a checksum error. For help, contact your admin."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Couldn\'t download the admin app"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Can\'t use the admin app. It\'s missing components or is corrupted. For help, contact your admin."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Couldn\'t install the admin app"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Stop setting up?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelling…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stop profile setup?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"You can set up your work profile later from the device management app used by your organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continue"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"You can set up your work profile later in your organisation\'s device management app"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continue"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stop"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Dismiss"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms will apply. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms from <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> will apply. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"This link isn\'t secure and can\'t be opened until device setup is finished: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"If you have questions, contact your <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"If you have questions, contact your organisation\'s admin"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Setup isn\'t finished. For help, contact your admin."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"For help, contact your admin"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisation\'s admin"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> will manage and monitor this device using the following app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Your organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"your organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"View terms"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accept &amp; continue"</string>
+    <string name="close" msgid="7208600934846389439">"Close"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Set up your device"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Change the way that you work"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separate work from personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"One place for work apps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Turn off work when you\'ve finished"</string>
     <string name="provisioning" msgid="4512493827019163451">"Provisioning"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Setting up CA certificates"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Set up your profile. Start setup"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Set up your profile"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"By using a work profile, you can separate work data from personal data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"By using a work profile, you can keep your work apps in one place"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Set up your profile. Encryption"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Set up your profile. Showing progress"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Set up your device. Start setup"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Set up your device"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Set up your device. Encryption"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Set up your device. Showing progress"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Learn more button"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> icon"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section heading."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section content: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expand"</string>
+    <string name="collapse" msgid="7817530505064432580">"Collapse"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Access a list of links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Access links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Access terms"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Read terms"</string>
+    <string name="close_list" msgid="9053538299788717597">"Close list"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"End setup and factory reset?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ending this setup will factory reset your device and take you back to the first screen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancel"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Reset device"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> and <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> and <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 9c4be71..863d17f 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"The following app will manage your device:"</string>
     <string name="next" msgid="1004321437324424398">"Next"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Setting up your work profile…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, theft-protection features and data associated with this device, including network activity and your device\'s location information."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this device including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"To use theft-protection features, you must have a password-protected screen lock for your device."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Learn more"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancel"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"I consent"</string>
+    <string name="url_error" msgid="5958494012986243186">"This link cannot be displayed."</string>
+    <string name="terms" msgid="8295436105384703903">"Terms"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Work profile info"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Managed device info"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Work profile"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primary user"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"A work profile already exists and is managed by:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Delete existing profile?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"You already have a work profile which is managed using the following app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Before proceeding, "<a href="#read_this_link">"read this"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"If you continue, all apps and data in this profile will be deleted."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"To continue setting up your device, you\'ll need to encrypt it. This may take some time."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encrypt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"To set up your work profile, your device needs to be encrypted. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"To set up this device, it needs to be encrypted first. This may take some time."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encrypt this device?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encrypt"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encryption complete"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tap to continue setting up your work profile"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Couldn\'t set up your work profile. Contact your IT department or try again later."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Your device doesn\'t support work profiles"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"This user cannot have a work profile"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Can\'t add work profile"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"This user can\'t have a work profile. For help, contact your admin."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"This user cannot have work profiles. Contact your admin."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Work profiles can not be set up on a managed device"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Work profile can\'t be created because you\'ve reached the maximum number of users on your device. Remove at least one user and try again."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"There may be too many users on this device. Remove a user, then try again."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Change device launcher"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"This launcher app can\'t be used by your work profile"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"User Setup Incomplete"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connecting to Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Downloading the admin app…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installing the admin app…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Removing non-required system apps…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Putting finishing touches…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Setting the device owner…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Your device does not support encryption. Contact your IT department."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialising device…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"This device doesn\'t allow encryption, which is needed for setup. For help, contact your admin."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Stop setup &amp; reset device?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"This will reset your device and take you back to the first screen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Stop setting up and delete your device\'s data?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reset"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Couldn\'t set up your device. Contact your IT department."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"This device has already been set up."</string>
+    <string name="reset" msgid="6467204151306265796">"Reset"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Can\'t set up profile"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Can\'t set up device"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Couldn\'t set up device. For help, contact your admin."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contact your admin for help"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Device is already set up"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Couldn\'t connect to Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"This device is locked by factory reset protection. Contact your IT department."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Your device has reset protection turned on. For help, contact your admin."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Erasing"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Please wait..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Couldn\'t use the admin app due to a checksum error. Contact your IT department."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Couldn\'t use the admin app due to a checksum error. For help, contact your admin."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Couldn\'t download the admin app"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Can\'t use the admin app. It\'s missing components or is corrupted. For help, contact your admin."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Couldn\'t install the admin app"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Stop setting up?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelling…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stop profile setup?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"You can set up your work profile later from the device management app used by your organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continue"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"You can set up your work profile later in your organisation\'s device management app"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continue"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stop"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Dismiss"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms will apply. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms from <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> will apply. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"This link isn\'t secure and can\'t be opened until device setup is finished: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"If you have questions, contact your <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"If you have questions, contact your organisation\'s admin"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Setup isn\'t finished. For help, contact your admin."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"For help, contact your admin"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisation\'s admin"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> will manage and monitor this device using the following app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Your organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"your organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"View terms"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accept &amp; continue"</string>
+    <string name="close" msgid="7208600934846389439">"Close"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Set up your device"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Change the way that you work"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separate work from personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"One place for work apps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Turn off work when you\'ve finished"</string>
     <string name="provisioning" msgid="4512493827019163451">"Provisioning"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Setting up CA certificates"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Set up your profile. Start setup"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Set up your profile"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"By using a work profile, you can separate work data from personal data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"By using a work profile, you can keep your work apps in one place"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Set up your profile. Encryption"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Set up your profile. Showing progress"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Set up your device. Start setup"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Set up your device"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Set up your device. Encryption"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Set up your device. Showing progress"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Learn more button"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> icon"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section heading."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section content: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expand"</string>
+    <string name="collapse" msgid="7817530505064432580">"Collapse"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Access a list of links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Access links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Access terms"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Read terms"</string>
+    <string name="close_list" msgid="9053538299788717597">"Close list"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"End setup and factory reset?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ending this setup will factory reset your device and take you back to the first screen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancel"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Reset device"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> and <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> and <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 9c4be71..863d17f 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"The following app will manage your device:"</string>
     <string name="next" msgid="1004321437324424398">"Next"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Setting up your work profile…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, theft-protection features and data associated with this device, including network activity and your device\'s location information."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this profile, including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Your admin has the ability to monitor and manage settings, corporate access, apps, permissions and data associated with this device including your network activity, as well as your device\'s location, call history and contact search history.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"To use theft-protection features, you must have a password-protected screen lock for your device."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contact your admin for more information, including your organisation\'s privacy policies."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Learn more"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancel"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"I consent"</string>
+    <string name="url_error" msgid="5958494012986243186">"This link cannot be displayed."</string>
+    <string name="terms" msgid="8295436105384703903">"Terms"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Work profile info"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Managed device info"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Work profile"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primary user"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"A work profile already exists and is managed by:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Delete existing profile?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"You already have a work profile which is managed using the following app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Before proceeding, "<a href="#read_this_link">"read this"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"If you continue, all apps and data in this profile will be deleted."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"To continue setting up your device, you\'ll need to encrypt it. This may take some time."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encrypt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"To set up your work profile, your device needs to be encrypted. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"To set up this device, it needs to be encrypted first. This may take some time."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encrypt this device?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encrypt"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encryption complete"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tap to continue setting up your work profile"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Couldn\'t set up your work profile. Contact your IT department or try again later."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Your device doesn\'t support work profiles"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"This user cannot have a work profile"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Can\'t add work profile"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"This user can\'t have a work profile. For help, contact your admin."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"This user cannot have work profiles. Contact your admin."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Work profiles can not be set up on a managed device"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Work profile can\'t be created because you\'ve reached the maximum number of users on your device. Remove at least one user and try again."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"There may be too many users on this device. Remove a user, then try again."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Change device launcher"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"This launcher app can\'t be used by your work profile"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"User Setup Incomplete"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connecting to Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Downloading the admin app…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installing the admin app…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Removing non-required system apps…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Putting finishing touches…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Setting the device owner…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Your device does not support encryption. Contact your IT department."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialising device…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"This device doesn\'t allow encryption, which is needed for setup. For help, contact your admin."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Stop setup &amp; reset device?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"This will reset your device and take you back to the first screen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Stop setting up and delete your device\'s data?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reset"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Couldn\'t set up your device. Contact your IT department."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"This device has already been set up."</string>
+    <string name="reset" msgid="6467204151306265796">"Reset"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Can\'t set up profile"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Can\'t set up device"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Couldn\'t set up device. For help, contact your admin."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contact your admin for help"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Device is already set up"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Couldn\'t connect to Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"This device is locked by factory reset protection. Contact your IT department."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Your device has reset protection turned on. For help, contact your admin."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Erasing"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Please wait..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Couldn\'t use the admin app due to a checksum error. Contact your IT department."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Couldn\'t use the admin app due to a checksum error. For help, contact your admin."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Couldn\'t download the admin app"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Can\'t use the admin app. It\'s missing components or is corrupted. For help, contact your admin."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Couldn\'t install the admin app"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Stop setting up?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelling…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stop profile setup?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"You can set up your work profile later from the device management app used by your organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continue"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"You can set up your work profile later in your organisation\'s device management app"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continue"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stop"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Dismiss"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"You\'re about to create a work profile that will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms will apply."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organisation. Terms from <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> will apply."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms will apply. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"This device will be managed and kept secure by <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Terms from <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> will apply. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"This link isn\'t secure and can\'t be opened until device setup is finished: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"If you have questions, contact your <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"If you have questions, contact your organisation\'s admin"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Setup isn\'t finished. For help, contact your admin."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"For help, contact your admin"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisation\'s admin"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> will manage and monitor this device using the following app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Your organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"your organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"View terms"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accept &amp; continue"</string>
+    <string name="close" msgid="7208600934846389439">"Close"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Set up your device"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Change the way that you work"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separate work from personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"One place for work apps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Turn off work when you\'ve finished"</string>
     <string name="provisioning" msgid="4512493827019163451">"Provisioning"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Setting up CA certificates"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Set up your profile. Start setup"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Set up your profile"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"By using a work profile, you can separate work data from personal data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"By using a work profile, you can keep your work apps in one place"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Set up your profile. Encryption"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Set up your profile. Showing progress"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Set up your device. Start setup"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Set up your device"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Set up your device. Encryption"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Set up your device. Showing progress"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Learn more button"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> icon"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section heading."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> section content: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expand"</string>
+    <string name="collapse" msgid="7817530505064432580">"Collapse"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Access a list of links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Access links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Access terms"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Read terms"</string>
+    <string name="close_list" msgid="9053538299788717597">"Close list"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"End setup and factory reset?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ending this setup will factory reset your device and take you back to the first screen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancel"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Reset device"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> and <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> and <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c2f016c..a0f8af6 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"La siguiente aplicación administrará tu dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Siguiente"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando tu perfil de trabajo…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"El administrador puede supervisar y administrar la configuración, el acceso corporativo, las apps, los permisos y los datos asociados al perfil, lo que incluye la actividad de red, la ubicación del dispositivo, el historial de llamadas y el historial de búsqueda de contactos."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"El administrador puede supervisar y administrar la configuración, el acceso corporativo, las apps, los permisos, las funciones de protección contra robos y los datos asociados a este dispositivo, incluidas la actividad de red y la información de ubicación del dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Tu administrador puede controlar y administrar la configuración, el acceso corporativo, las apps, los permisos y los datos asociados a este perfil, como la actividad de red, la información de ubicación, el historial de llamadas y el historial de búsqueda de contactos de tu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Comunícate con tu administrador para obtener más información, incluidas las políticas de privacidad de la organización."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Tu administrador puede controlar y administrar la configuración, el acceso corporativo, las apps, los permisos y los datos asociados a este dispositivo, como la actividad de red, la información de ubicación, el historial de llamadas y el historial de búsqueda de contactos de tu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Comunícate con tu administrador para obtener más información, incluidas las políticas de privacidad de la organización."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para poder usar las funciones de protección contra robos, debes activar el bloqueo de pantalla mediante protección por contraseña."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Comunícate con el administrador para obtener más información, como las políticas de privacidad de la organización."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Más información"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Aceptar"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Doy mi consentimiento."</string>
+    <string name="url_error" msgid="5958494012986243186">"No es posible mostrar el vínculo."</string>
+    <string name="terms" msgid="8295436105384703903">"Términos y condiciones"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Información del perfil de trabajo"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Información del dispositivo administrado"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabajo"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuario principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"¿Eliminar perfil de trabajo?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Ya existe un perfil de trabajo que administra:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"La siguiente aplicación administra el perfil de trabajo de %s:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"¿Deseas borrar el perfil existente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Ya tienes un perfil de trabajo que se administra con la siguiente app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de continuar, "<a href="#read_this_link">"lee esta información"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Si continúas, se borrarán todas las apps y los datos de este perfil."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar con la configuración del perfil de trabajo, deberás encriptar el dispositivo. Esto podría tardar un poco."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para continuar con la configuración del dispositivo, deberás encriptarlo. Este proceso podría tardar un poco."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encriptar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Para configurar tu perfil de trabajo, tu dispositivo debe estar encriptado. Este proceso podría tardar un poco."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Para configurar este dispositivo, debe estar encriptado primero. Este proceso podría tardar un poco."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"¿Encriptar dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encriptar"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptación completa"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Presiona para seguir configurando tu perfil de trabajo"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No se pudo configurar el perfil de trabajo. Comunícate con el Departamento de TI o vuelve a intentarlo más tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"El dispositivo no admite perfiles de trabajo."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este usuario no puede tener un perfil de trabajo"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"No se puede agregar el perfil de trabajo"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este usuario no puede tener un perfil de trabajo. Para obtener ayuda, comunícate con tu administrador."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este usuario no puede tener perfiles de trabajo. Comunícate con tu administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Los perfiles de trabajo no se pueden configurar en un dispositivo administrado."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"No se puede crear el perfil de trabajo porque alcanzaste el número máximo de usuarios en el dispositivo. Quita al menos un usuario y vuelve a intentarlo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Esta aplicación de launcher no admite tu perfil de trabajo. Deberás utilizar un launcher compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Hay demasiados usuarios en este dispositivo. Quita un usuario y vuelve a intentarlo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cambia el selector de dispositivos"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Esta app de Launcher no se puede usar en tu perfil de trabajo"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuración de usuario incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando a Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Descargando la aplicación de administración…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instalando la aplicación de administración…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Quitando apps del sistema no necesarias…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Últimos retoques…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Configurando propietario del dispositivo…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"El dispositivo no es compatible con la encriptación. Comunícate con el departamento de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Iniciando dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo no permite la encriptación, que es necesaria para la configuración. Para obtener ayuda, comunícate con tu administrador."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"¿Detener configuración y restablecer dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Este proceso restablecerá tu dispositivo y regresarás a la primera pantalla"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"¿Quieres detener la configuración y borrar los datos del dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Aceptar"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"No se pudo configurar el dispositivo. Comunícate con el Departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo ya está configurado."</string>
+    <string name="reset" msgid="6467204151306265796">"Restablecer"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"No se puede configurar el perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"No se puede configurar el dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"No se pudo configurar el dispositivo. Comunícate con el administrador para obtener ayuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Comunícate con tu administrador para obtener ayuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"El dispositivo ya está configurado"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"No se pudo conectar a la red Wi-Fi."</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"El dispositivo está bloqueado a causa de la protección contra restablecimiento de configuración de fábrica. Comunícate con el departamento de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Tu dispositivo tiene la protección contra el restablecimiento activada. Para obtener ayuda, comunícate con tu administrador."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Borrando"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Espera un momento…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No se pudo usar la aplicación de administración debido a un error de suma de comprobación. Comunícate con el Departamento de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"No se pudo usar la app de administración debido a un error de suma de comprobación. Para obtener ayuda, comunícate con tu administrador."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No se pudo descargar la aplicación de administración."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No se puede usar la aplicación de administración. Hay componentes que faltan o que están dañados. Comunícate con el Departamento de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"No se puede usar la app de administración. Hay componentes que faltan o que están dañados. Para obtener ayuda, comunícate con tu administrador."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No se pudo instalar la aplicación de administración."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"¿Deseas detener la configuración?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"¿Deseas detener la configuración del perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Puedes configurar tu perfil de trabajo más tarde desde la aplicación de administración del dispositivo que utiliza tu organización."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Puedes configurar tu perfil de trabajo más tarde en la app de administración del dispositivo de tu organización"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Detener"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Descartar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Estás a punto de crear un perfil de trabajo que tu organización administrará y controlará. Se aplicarán condiciones."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Estás a punto de crear un perfil de trabajo que tu organización administrará y controlará. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Se creará un perfil para tus apps de trabajo. Tu organización administrará y controlará este perfil y el resto de tu dispositivo. Se aplicarán condiciones."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Se creará un perfil para tus app de trabajo. Tu organización administrará y controlará este perfil y el resto de tu dispositivo. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> administrará este dispositivo y lo mantendrá seguro. Se aplicarán las condiciones. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> administrará este dispositivo y lo mantendrá seguro. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Este vínculo no es seguro y no se podrá abrir hasta que haya finalizado la configuración del dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Si tienes preguntas, comunícate con tu <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Si tienes preguntas, comunícate con el administrador de tu organización"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"No finalizó la configuración. Para obtener ayuda, comunícate con tu administrador."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Para obtener ayuda, comunícate con tu administrador"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador de la organización"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> administrará y controlará este dispositivo con la siguiente app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Tu organización"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"tu organización"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ver Términos y condiciones"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceptar y continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Cerrar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configura el dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Cambia tu manera de trabajar"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separa los datos del trabajo de tu información personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Un lugar para las apps de trabajo"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desactiva el perfil de trabajo cuando termines"</string>
     <string name="provisioning" msgid="4512493827019163451">"Aprovisionando"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Configuración de certificados de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurar tu perfil. Comenzar la configuración"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configura tu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Si usas un perfil de trabajo, puedes separar los datos personales de los laborales"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Si usas un perfil de trabajo, podrás tener las apps correspondientes en un solo lugar"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurar tu perfil. Encriptación"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurar tu perfil. Mostrando el progreso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurar el dispositivo. Comenzar la configuración"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar el dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurar el dispositivo. Encriptación"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurar el dispositivo. Mostrando el progreso"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botón Más información"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ícono de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Título de la sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>"</string>
+    <string name="section_content" msgid="8875502515704374394">"Contenido de la sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expandir"</string>
+    <string name="collapse" msgid="7817530505064432580">"Contraer"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accede a la lista de vínculos"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accede a los vínculos"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Condiciones de acceso"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Leer condiciones"</string>
+    <string name="close_list" msgid="9053538299788717597">"Cerrar lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"¿Finalizar y restablecer configuración?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Cuando finalices, se restablecerá la configuración de fábrica del dispositivo y regresarás a la primera pantalla."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Restablecer el dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> y <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> y <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index dfc5bfd..82a3abf 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Esta aplicación administrará tu dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Siguiente"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando tu perfil de trabajo…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Tu administrador puede controlar y administrar los ajustes, el acceso corporativo, las aplicaciones, los permisos y los datos asociados al perfil, como la actividad de red, la ubicación del dispositivo, el historial de llamadas y el historial de búsqueda de contactos."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Tu administrador puede controlar y administrar los ajustes, el acceso corporativo, las aplicaciones, los permisos, las funciones de protección antirrobo y los datos asociados a este dispositivo, como la información sobre su ubicación y la actividad de red."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"El administrador puede supervisar y administrar los ajustes, el acceso corporativo, las aplicaciones, los permisos y los datos asociados a este perfil, como la actividad de red, la información sobre su ubicación, el historial de llamadas y el historial de búsqueda de contactos.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ponte en contacto con el administrador para obtener más información, por ejemplo, sobre las políticas de privacidad de tu organización."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"El administrador puede supervisar y administrar los ajustes, el acceso corporativo, las aplicaciones, los permisos y los datos asociados a este dispositivo, como la actividad de red, la información sobre su ubicación, el historial de llamadas y el historial de búsqueda de contactos.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ponte en contacto con el administrador para obtener más información, por ejemplo, sobre las políticas de privacidad de tu organización."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Debes tener un bloqueo de pantalla protegido por contraseña en tu dispositivo para utilizar las funciones de protección antirrobo."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Ponte en contacto con el administrador para obtener más información, como las políticas de privacidad de tu organización."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Más información"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Aceptar"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Estoy de acuerdo"</string>
+    <string name="url_error" msgid="5958494012986243186">"No se puede mostrar el enlace."</string>
+    <string name="terms" msgid="8295436105384703903">"Condiciones"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Información sobre el perfil de trabajo"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Información sobre el dispositivo administrado"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabajo"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuario principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"¿Quitar perfil de trabajo?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Ya existe un perfil de trabajo, que está administrado por:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de trabajo está administrado para %s con:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"¿Eliminar el perfil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Ya tienes un perfil de trabajo administrado por esta aplicación:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Para continuar, "<a href="#read_this_link">"consulta esta información"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Si continuas, se eliminarán las aplicaciones y los datos de este perfil."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para seguir configurando tu perfil de trabajo, tendrás que cifrar el dispositivo. Este proceso puede tardar unos minutos."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para seguir configurando el dispositivo, tendrás que cifrarlo. Este proceso puede tardar unos minutos."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Cifrar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Para configurar el perfil de trabajo, hay que cifrar el dispositivo. Este proceso puede tardar un poco."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Para configurar este dispositivo, primero hay que cifrarlo. Este proceso puede tardar un poco."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"¿Cifrar dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Cifrar"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Cifrado completado"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tocar para seguir configurando el perfil"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No se ha podido configurar el perfil de trabajo. Ponte en contacto con el departamento de TI o vuelve a intentarlo más tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Tu dispositivo no admite perfiles de trabajo"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este usuario no puede tener un perfil de trabajo"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"No se puede añadir el perfil de trabajo"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este usuario no puede tener un perfil de trabajo. Para obtener ayuda, ponte en contacto con el administrador."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este usuario no puede tener perfiles de trabajo. Ponte en contacto con el administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Los perfiles de trabajo no se pueden configurar en un dispositivo administrado"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"No se puede crear el perfil de trabajo porque se ha alcanzado el número máximo de usuarios del dispositivo. Elimina uno o varios usuarios y vuelve a intentarlo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Esta aplicación de launcher no admite tu perfil de trabajo. Debes utilizar un launcher que sea compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Puede que este dispositivo tenga demasiados usuarios. Quita uno y vuelve a intentarlo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cambiar el launcher del dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Tu perfil de trabajo no puede utilizar esta aplicación de launcher"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuración de usuario incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando a red Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Descargando aplicación de administración…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instalando aplicación de administración…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Quitando aplicaciones del sistema innecesarias…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Dando los últimos retoques…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Estableciendo propietario del dispositivo…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Tu dispositivo no es compatible con el cifrado. Ponte en contacto con el departamento de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicializando el dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo no admite el cifrado, que es necesario para la configuración. Para obtener ayuda, ponte en contacto con el administrador."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"¿Detener la configuración y recuperar los datos del dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Este proceso recuperará la configuración del dispositivo y volverás a la primera pantalla"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"¿Quieres detener la configuración y borrar los datos del dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Aceptar"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"No se ha podido configurar el dispositivo. Ponte en contacto con el departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo ya está configurado."</string>
+    <string name="reset" msgid="6467204151306265796">"Recuperar"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"No se ha podido configurar el perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"No se ha podido configurar el dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"No se ha podido configurar el dispositivo. Para obtener ayuda, ponte en contacto con el administrador."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Ponte en contacto con el administrador para obtener ayuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"El dispositivo ya se ha configurado"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"No se ha podido establecer conexión con la red Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Este dispositivo está bloqueado con la protección para restablecer datos de fábrica. Ponte en contacto con el departamento de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"La protección para recuperar los datos de fábrica está activada en el dispositivo. Para obtener ayuda, ponte en contacto con el administrador."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Borrando"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Espera..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No se ha podido utilizar la aplicación de administración debido a un error de la suma de comprobación. Ponte en contacto con el departamento de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"No se ha podido utilizar la aplicación de administración debido a un error de suma de comprobación. Para obtener ayuda, ponte en contacto con el administrador."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No se ha podido descargar la aplicación de administración"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No se puede utilizar la aplicación de administración porque faltan componentes o está dañada. Ponte en contacto con el administrador de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"No se puede utilizar la aplicación de administración. Faltan componentes o están dañada. Para obtener ayuda, ponte en contacto con el administrador."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No se ha podido instalar la aplicación de administración"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"¿Detener configuración?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"¿Detener la configuración del perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Puedes configurar tu perfil de trabajo más tarde con la aplicación de administración de dispositivos que utilice tu organización."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Puedes configurar tu perfil de trabajo más tarde con la aplicación de administración de dispositivos de tu organización"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Detener"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Descartar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Estás a punto de crear un perfil de trabajo que gestionará y supervisará tu organización. Se aplicarán condiciones."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Estás a punto de crear un perfil de trabajo que gestionará y supervisará tu organización. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Se creará un perfil para tus aplicaciones de trabajo. Tu organización gestionará y supervisará este perfil y el resto de tu dispositivo. Se aplicarán condiciones."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Se creará un perfil para tus aplicaciones de trabajo. Tu organización gestionará y supervisará este perfil y el resto de tu dispositivo. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionará este dispositivo y se encargará de su seguridad. Se aplicarán condiciones. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionará este dispositivo y se encargará de su seguridad. Se aplicarán las condiciones de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Este enlace no es seguro y no se podrá abrir hasta que no se termine de configurar el dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Si tienes alguna pregunta, ponte en contacto con <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Si tienes alguna pregunta, ponte en contacto con el administrador de tu organización"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"La configuración no se ha completado. Para obtener ayuda, ponte en contacto con el administrador."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Para obtener ayuda, ponte en contacto con el administrador"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador de la organización"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestionará y supervisará este dispositivo mediante la siguiente aplicación:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Tu organización"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"tu organización"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ver condiciones"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceptar y continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Cerrar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configura el dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Cambia tu forma de trabajar"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separa tus datos del trabajo de tu información personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Un único lugar para las aplicaciones de trabajo"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desconecta del trabajo en cuanto lo acabes"</string>
     <string name="provisioning" msgid="4512493827019163451">"Administrando"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Configurando certificados de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configura tu perfil. Iniciar configuración"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configura tu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Si utilizas un perfil de trabajo, puedes mantener separados tus datos personales y los profesionales"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Si utilizas un perfil de trabajo, puedes tener todas tus aplicaciones de trabajo en un único lugar"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configura tu perfil. Cifrado"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configura tu perfil. Mostrando progreso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configura tu dispositivo. Iniciar configuración"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configura tu dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configura tu dispositivo. Cifrado"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configura tu dispositivo. Mostrando progreso"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botón para obtener más información"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icono de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Título de la sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Contenido de la sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Mostrar"</string>
+    <string name="collapse" msgid="7817530505064432580">"Ocultar"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accede a una lista de enlaces"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accede a los enlaces"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accede a condiciones"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lee las condiciones"</string>
+    <string name="close_list" msgid="9053538299788717597">"Cerrar lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"¿Cancelar configuración y restablecer datos?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Al finalizar esta configuración, se restablecerán los datos de fábrica de tu dispositivo y volverás a la primera pantalla."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Restablecer dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> y <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> y <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
deleted file mode 100644
index b60dc23..0000000
--- a/res/values-et-rEE/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Tööprofiili seadistamine"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Vabandust!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Tööprofiili seadistamine"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Teie organisatsioon haldab seda profiili ja hoiab seda turvalisena. Kõike muud oma seadmes juhite teie."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Seda seadet haldab ja hoiab turvalisena teie organisatsioon."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Järgmine rakendus nõuab juurdepääsu sellele profiilile:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Teie seadet haldab järgmine rakendus:"</string>
-    <string name="next" msgid="1004321437324424398">"Järgmine"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Tööprofiili seadistamine ..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Teie administraator saab jälgida ning hallata selle profiiliga seotud seadeid, ettevõtte juurdepääsu, rakendusi, lube ja andmeid, sh teie võrgutegevust, seadme asukohta, kõneajalugu ning kontaktide otsinguajalugu."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Teie administraator saab jälgida ja hallata selle seadmega seotud seadeid, ettevõtte juurdepääsu, rakendusi, lube, vargusevastase kaitse funktsioone ning andmeid, sh võrgutegevust ja seadme asukohateavet."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Vargusevastase kaitse funktsioonide kasutamiseks peab teie seadmes olema seadistatud parooliga kaitstud ekraanilukk."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Lisateabe saamiseks (sh organisatsiooni privaatsuseeskirjade kohta) võtke ühendust administraatoriga."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Lisateave"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Tühista"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Olen nõus"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Tööprofiil"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Peamine kasutaja"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Kas eemaldada tööprofiil?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"See tööprofiil on juba olemas ja seda hallatakse rakendusega"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Seda tööprofiili hallatakse domeeni %s puhul rakendusega"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Enne jätkamist "<a href="#read_this_link">"lugege seda"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jätkamisel kustutatakse kõik sellel profiilil olevad rakendused ja andmed."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Kustuta"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Tühista"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Tööprofiili seadistamise jätkamiseks peate seadme krüpteerima. Selleks võib kuluda pisut aega."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Seadme seadistamise jätkamiseks peate selle krüpteerima. Selleks võib kuluda pisut aega."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Krüpteeri"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krüpteerimine on lõpule viidud"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Puudutage tööprofiili seadistamise jätkamiseks"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tööprofiili ei õnnestunud seadistada. Võtke ühendust oma IT-osakonnaga või proovige hiljem uuesti."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Teie seade ei toeta tööprofiile"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Sellel kasutajal ei saa tööprofiili olla"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Tööprofiile ei saa hallatud seadmes seadistada"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Tööprofiili ei saa luua, kuna teie seadmes on juba maksimaalne arv kasutajaid. Eemaldage vähemalt üks kasutaja ja proovige uuesti."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"See käivitusrakendus ei toeta teie tööprofiili. Peate minema üle ühilduvale käivitusrakendusele."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Tühista"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Kasutaja seadistus pole valmis"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Tööseadme kasutaja"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Tööseadme seadistamine"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Seadistamisandmete töötlemine ..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"WiFi-ga ühenduse loomine ..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Administraatori rakenduse allalaadimine ..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Administraatori rakenduse installimine ..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Seadme omaniku määramine ..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Teie seade ei toeta krüpteerimist. Võtke ühendust IT-osakonnaga."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Kas peatada seadistamine ja kustutada seadme andmed?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Tühista"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Lähtesta"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Seadet ei õnnestunud seadistada. Võtke ühendust oma IT-osakonnaga."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"See seade on juba seadistatud."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"WiFi-ga ei saanud ühendust"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"See seade on tehaseseadetele lähtestamise kaitsega lukustatud. Võtke ühendust IT-osakonnaga."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Kustutamine"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Oodake ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Administraatori rakendust ei saa kasutada kontrollsumma vea tõttu. Võtke ühendust oma IT-osakonnaga."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administraatorirakendust ei õnnestunud alla laadida"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administraatori rakendust ei saa kasutada. See ei sisalda kõiki komponente või on rikutud. Võtke ühendust oma IT-osakonnaga."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administraatorirakendust ei õnnestunud installida"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Kas peatada seadistamine?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ei"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Jah"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Tühistamine ..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Kas peatada profiili seadistamine?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Saate oma tööprofiili seadistada hiljem organisatsioonis kasutatava seadmehalduse rakenduse kaudu."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Jätka"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Peata"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Ettevalmistamine"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA-sertifikaatide seadistamine"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profiili seadistamine. Seadistamise alustamine"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profiili seadistamine. Krüpteerimine"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Profiili seadistamine. Edenemise kuvamine"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Seadme seadistamine. Seadistamise alustamine"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Seadme seadistamine. Krüpteerimine"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Seadme seadistamine. Edenemise kuvamine"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Nupp Lisateave"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikoon <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Lõpetada seadistus ja läht. tehaseandmetele?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Seadistuse lõpetamisel lähtestatakse seade tehaseandmetele ja teid viiakse tagasi esimesele ekraanile."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Tühista"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Lähtesta seade"</string>
-</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
new file mode 100644
index 0000000..ab049e9
--- /dev/null
+++ b/res/values-et/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Tööprofiili seadistamine"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Vabandust!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Tööprofiili seadistamine"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Teie organisatsioon haldab seda profiili ja hoiab seda turvalisena. Kõike muud oma seadmes juhite teie."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Seda seadet haldab ja hoiab turvalisena teie organisatsioon."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Järgmine rakendus nõuab juurdepääsu sellele profiilile:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Teie seadet haldab järgmine rakendus:"</string>
+    <string name="next" msgid="1004321437324424398">"Järgmine"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Tööprofiili seadistamine ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Teie administraator saab jälgida ja hallata selle profiiliga seotud seadeid, ettevõtte juurdepääsu, rakendusi, lube ja andmeid, sealhulgas võrgutegevusi ning ka seadme asukohta, kõneajalugu ja kontaktide otsinguajalugu.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Lisateabe saamiseks, sh organisatsiooni privaatsuseeskirjadega tutvumiseks, võtke ühendust administraatoriga."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Teie administraator saab jälgida ja hallata selle seadmega seotud seadeid, ettevõtte juurdepääsu, rakendusi, lube ja andmeid, sealhulgas võrgutegevusi ning ka seadme asukohta, kõneajalugu ja kontaktide otsinguajalugu.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Lisateabe saamiseks, sh organisatsiooni privaatsuseeskirjadega tutvumiseks, võtke ühendust administraatoriga."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Vargusevastase kaitse funktsioonide kasutamiseks peab teie seadmes olema seadistatud parooliga kaitstud ekraanilukk."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Lisateabe saamiseks (sh organisatsiooni privaatsuseeskirjade kohta) võtke ühendust administraatoriga."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Lisateave"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Tühista"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Olen nõus"</string>
+    <string name="url_error" msgid="5958494012986243186">"Seda linki ei saa kuvada."</string>
+    <string name="terms" msgid="8295436105384703903">"Tingimused"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Tööprofiili teave"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Hallatava seadme teave"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Tööprofiil"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Peamine kasutaja"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Kas kustutada olemasolev profiil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Teil on juba tööprofiil, mida hallatakse järgmise rakendusega:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Enne jätkamist "<a href="#read_this_link">"lugege seda"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jätkamisel kustutatakse kõik sellel profiilil olevad rakendused ja andmed."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Kustuta"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Tühista"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Tööprofiili seadistamiseks tuleb seade esmalt krüpteerida. Selleks võib kuluda pisut aega."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Selle seadme seadistamiseks tuleb see esmalt krüpteerida. Selleks võib kuluda pisut aega."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Kas seade krüpteer.?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Krüpteeri"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krüpteerimine on lõpule viidud"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Puudutage tööprofiili seadistamise jätkamiseks"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tööprofiili ei õnnestunud seadistada. Võtke ühendust oma IT-osakonnaga või proovige hiljem uuesti."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Tööprofiili ei saa lisada"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Sellel kasutajal ei saa tööprofiili olla. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Sellel kasutajal ei saa tööprofiile olla. Võtke ühendust administraatoriga."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Tööprofiile ei saa hallatud seadmes seadistada"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Selles seadmes võib olla liiga palju kasutajaid. Eemaldage kasutaja ja proovige uuesti."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Muutke seadme käivitusprogrammi"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Seda käivitusrakendust ei saa teie tööprofiiliga kasutada"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Tühista"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Kasutaja seadistus pole valmis"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Tööseadme kasutaja"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Tööseadme seadistamine"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Seadistamisandmete töötlemine ..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"WiFi-ga ühenduse loomine ..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Administraatori rakenduse allalaadimine ..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Administraatori rakenduse installimine ..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Ebavajalike süsteemirakenduste eemaldamine …"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Viimistlemine …"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Seadme omaniku määramine ..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Seadme lähtestamine …"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"See seade ei luba krüpteerimist, mis on seadistamiseks vajalik. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Kas peatada seadistamine ja lähtestada seade?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"See lähtestab teie seadme ja teid viiakse tagasi esimesele ekraanile"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Kas peatada seadistamine ja kustutada seadme andmed?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Tühista"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
+    <string name="reset" msgid="6467204151306265796">"Lähtesta"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profiili ei saa seadistada"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Seadet ei saa seadistada"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Seadet ei õnnestunud seadistada. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Abi saamiseks võtke ühendust administraatoriga"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Seade on juba seadistatud"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"WiFi-ga ei saanud ühendust"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Teie seadmes on lähtestamiskaitse sisse lülitatud. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Kustutamine"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Oodake ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Administraatori rakendust ei saa kasutada kontrollsumma vea tõttu. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administraatorirakendust ei õnnestunud alla laadida"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Administraatori rakendust ei saa kasutada. See ei sisalda kõiki komponente või on rikutud. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administraatorirakendust ei õnnestunud installida"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Kas peatada seadistamine?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Jah"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Tühistamine ..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Kas peatada profiili seadistamine?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Saate oma tööprofiili seadistada hiljem organisatsioonis kasutatava seadmehalduse rakenduse kaudu"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Jätka"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Peata"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Loobu"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Loote tööprofiili, mida haldab ja jälgib teie organisatsioon. Kehtivad tingimused."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Loote tööprofiili, mida haldab ja jälgib teie organisatsioon. Kehtivad teenuste <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> tingimused."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Teie töörakenduste jaoks luuakse profiil. Seda profiili ja ülejäänud seadet haldab ning jälgib teie organisatsioon. Kehtivad tingimused."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Teie töörakenduste jaoks luuakse profiil. Seda profiili ja ülejäänud seadet haldab ning jälgib teie organisatsioon. Kehtivad teenuste <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> tingimused."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Seda seadet haldab ja hoiab turvalisena <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Kehtivad tingimused. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Seda seadet haldab ja hoiab turvalisena <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Kehtivad teenuste <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> tingimused. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"See link ei ole turvaline ja seda ei saa avada enne, kui seadme seadistamine on lõpetatud: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Kui teil on küsimusi, võtke ühendust administraatoriga <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kui teil on küsimusi, võtke ühendust oma organisatsiooni administraatoriga"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Seadistamine pole lõpetatud. Abi saamiseks võtke ühendust administraatoriga."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Abi saamiseks võtke ühendust administraatoriga"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisatsiooni administraator"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> haldab ja jälgib seda seadet järgmise rakenduse abil:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Teie organisatsioon"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"teie organisatsioon"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Tingimuste kuvamine"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Nõustu ja jätka"</string>
+    <string name="close" msgid="7208600934846389439">"Sule"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Seadme seadistamine"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Muutke oma töötamisviisi"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Eraldage töö ja isiklik elu"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Üks koht töörakenduste jaoks"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Kui olete lõpetanud, lülitage töö välja"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Ettevalmistamine"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA-sertifikaatide seadistamine"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Seadistage oma profiil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Tööprofiili kasutades saate tööandmed isiklikest andmetest eraldada"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Tööprofiili kasutades saate töörakendused hoida ühes kohas"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profiili seadistamine. Krüpteerimine"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Profiili seadistamine. Edenemise kuvamine"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Seadme seadistamine"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Seadme seadistamine. Krüpteerimine"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Seadme seadistamine. Edenemise kuvamine"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Nupp Lisateave"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikoon <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Jaotise <xliff:g id="SECTION_HEADING">%1$s</xliff:g> pealkiri."</string>
+    <string name="section_content" msgid="8875502515704374394">"Jaotise <xliff:g id="SECTION_HEADING">%1$s</xliff:g> sisu: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Laiendamine"</string>
+    <string name="collapse" msgid="7817530505064432580">"Ahendamine"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Juurdepääs linkide loendile"</string>
+    <string name="access_links" msgid="7991363727326168600">"Juurdepääs linkidele"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Juurdep. terminitele"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lugege tingimusi"</string>
+    <string name="close_list" msgid="9053538299788717597">"Sule loend"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Lõpetada seadistus ja läht. tehaseandmetele?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Seadistuse lõpetamisel lähtestatakse seade tehaseandmetele ja teid viiakse tagasi esimesele ekraanile."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Tühista"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Lähtesta seade"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ja <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ja <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
deleted file mode 100644
index 1670df8..0000000
--- a/res/values-eu-rES/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Laneko profilaren konfigurazioa"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Arazo bat izan da."</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Konfiguratu laneko profila"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Erakundeak kontrolatzen du profila eta seguru mantentzen du. Gailuan duzun gainerako guztia zeuk kontrolatzen duzu."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Erakundeak kontrolatuko du gailua, eta seguru mantenduko du."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikazio honek profila atzitu beharko du:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aplikazio honek kudeatuko du zure gailua:"</string>
-    <string name="next" msgid="1004321437324424398">"Hurrengoa"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Work profila konfiguratzen…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratzaileak ikuskatu eta kudeatu egin ditzake profil honekin erlazionatutako ezarpenak, enpresaren sarbide-baimenak, aplikazioak, baimenak eta datuak (sarean izandako jarduerak, deien historia, kontaktuen bilaketa-historia eta gailuaren kokapenari buruzko informazioa barne)."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratzaileak ikuskatu eta kudeatu egin ditzake gailuarekin erlazionatutako ezarpenak, enpresaren sarbide-baimenak, aplikazioak, baimenak, lapurreten aurka babesteko eginbideak eta datuak (sarean izandako jarduerak eta gailuaren kokapenari buruzko informazioa barne)."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Lapurreten aurkako babesaren eginbideak erabiltzeko, pasahitzez babestutako pantaila-blokeoa izan behar duzu gailuan."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Informazio gehiago lortzeko (baita erakundearen pribatutasun-gidalerroei buruzkoa ere), jarri administratzailearekin harremanetan."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Lortu informazio gehiago"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Utzi"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Ados"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Baimentzen dut"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Laneko profila"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Erabiltzaile nagusia"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Laneko profila kendu nahi duzu?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Laneko profil hau badago lehendik, eta honek kudeatzen du:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s domeinuko laneko profil hau honen bidez kudeatzen da:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Aurrera egin aurretik, "<a href="#read_this_link">"irakurri hau"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Aurrera eginez gero, profileko aplikazio eta datu guztiak ezabatuko dira."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Ezabatu"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Utzi"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Laneko profila konfiguratzen jarraitzeko, gailua enkriptatu beharko duzu. Minutu batzuk behar izan ditzakegu horretarako."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Gailua konfiguratzen jarraitzeko, enkriptatu egin beharko duzu. Denbora pixka bat behar izan daiteke horretarako."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkriptatu"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkriptatu da"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Laneko profila konfiguratzen jarraitzeko, sakatu hau"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ezin izan da konfiguratu laneko profila. Jarri informatika-sailarekin harremanetan edo saiatu berriro geroago."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Gailuak ez du laneko profilik onartzen"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Erabiltzaileak ezin du laneko profila izan"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Ezin da konfiguratu laneko profilik kudeatutako gailuetan"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Ezin da sortu Work profila gailuan izan dezakezun erabiltzaile mugara iritsi zarelako. Kendu erabiltzaile bat gutxienez eta saiatu berriro."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Aplikazio abiarazle honek ez du zure laneko profila onartzen. Abiarazle bateragarri bat erabili beharko duzu."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Utzi"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Ados"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Ez da konfiguratu erabiltzailea"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Laneko gailuaren erabiltzailea"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Konfiguratu laneko gailua"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Konfigurazio-datuak prozesatzen…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi sarera konektatzen…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Administrazio-aplikazioa deskargatzen…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Administrazio-aplikazioa instalatzen…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Gailuaren jabea ezartzen…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Gailuak ez du enkriptatzeko aukera ematen. Jarri IKT sailarekin harremanetan."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Konfiguratzeari utzi nahi diozu eta gailuko datu guztiak ezabatu nahi dituzu?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Utzi"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ados"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Berrezarri"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Ezin izan da konfiguratu gailua. Jarri informatika-sailarekin harremanetan."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Gailua konfiguratuta dago dagoeneko."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ezin izan da Wi-Fi sarera konektatu"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Jatorrizko datuen berrezartze-babesaren bidez dago blokeatuta gailua. Jarri IKT sailarekin harremanetan."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Ezabatzen"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Itxaron, mesedez…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ezin izan da erabili administrazio-aplikazioa, batuketa egitean errore bat gertatu delako. Jarri informatika-sailarekin harremanetan."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ezin izan da administrazio-aplikazioa deskargatu"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ezin da erabili administrazio-aplikazioa. Osagaiak falta zaizkio edo hondatuta dago. Jarri informatika-sailarekin harremanetan."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ezin izan da administrazio-aplikazioa instalatu"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Konfiguratzeari utzi nahi diozu?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ez"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Bai"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Bertan behera uzten…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profila konfiguratzeari utzi nahi diozu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Work profila geroago konfigura dezakezu erakundeak gailuak konfiguratzeko darabilen aplikaziotik."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Jarraitu"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Gelditu"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Hornitzen"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA ziurtagiriak konfiguratzen"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfiguratu profila. Hasi konfigurazioa"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfiguratu profila. Enkriptatzea"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Konfiguratu profila. Garapena ikusgai dago"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfiguratu gailua. Hasi konfigurazioa"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Konfiguratu gailua. Enkriptatzea"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Konfiguratu gailua. Garapena ikusgai dago"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Informazio gehiago lortzeko botoia"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonoa"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Konfigurazioa amaitu eta jatorrizko datuak berrezarri?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Konfigurazioa amaitzen baduzu, gailuaren jatorrizko ezarpenak berrezarriko dira eta lehenengo pantailara joango zara."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Utzi"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Berrezarri gailua"</string>
-</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
new file mode 100644
index 0000000..1a5b9a0
--- /dev/null
+++ b/res/values-eu/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Laneko profilaren konfigurazioa"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Arazo bat izan da."</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Konfiguratu laneko profila"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Erakundeak kontrolatzen du profila eta seguru mantentzen du. Gailuan duzun gainerako guztia zeuk kontrolatzen duzu."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Erakundeak kontrolatuko du gailua, eta seguru mantenduko du."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikazio honek profila atzitu beharko du:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aplikazio honek kudeatuko du zure gailua:"</string>
+    <string name="next" msgid="1004321437324424398">"Hurrengoa"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Work profila konfiguratzen…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratzaileak gainbegiratu eta kudeatu egin ditzake ezarpenak, enpresa-sarbidea, aplikazioak, baimenak eta profilarekin erlazionatutako datuak (hala nola sareko jarduerak, gailuaren kokapena, deien historia eta kontaktuen bilaketa-historia).<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Informazio gehiago lortzeko (esaterako, erakundearen pribatutasun-gidalerroak), jarri administratzailearekin harremanetan."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratzaileak gainbegiratu eta kudeatu egin ditzake ezarpenak, enpresa-sarbidea, aplikazioak, baimenak eta gailuarekin erlazionatutako datuak (hala nola sareko jarduerak, gailuaren kokapena, deien historia eta kontaktuen bilaketa-historia).<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Informazio gehiago lortzeko (esaterako, erakundearen pribatutasun-gidalerroak), jarri administratzailearekin harremanetan."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Lapurreten aurkako babesaren eginbideak erabiltzeko, pasahitzez babestutako pantaila-blokeoa izan behar duzu gailuan."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Informazio gehiago lortzeko (baita erakundearen pribatutasun-gidalerroei buruzkoa ere), jarri administratzailearekin harremanetan."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Lortu informazio gehiago"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Utzi"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Ados"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Baimentzen dut"</string>
+    <string name="url_error" msgid="5958494012986243186">"Ezin da bistaratu esteka."</string>
+    <string name="terms" msgid="8295436105384703903">"Baldintzak"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Laneko profileko informazioa"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Kudeatutako gailuko informazioa"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Laneko profila"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Erabiltzaile nagusia"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Dagoen profila ezabatu nahi duzu?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Dagoeneko badaukazu aplikazio honen bidez kudeatzen den laneko profil bat:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Aurrera egin aurretik, "<a href="#read_this_link">"irakurri hau"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Aurrera eginez gero, profileko aplikazio eta datu guztiak ezabatuko dira."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ezabatu"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Utzi"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Laneko profila konfiguratzeko, enkriptatu egin beharko duzu gailua. Denbora pixka bat beharko da."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Gailua konfiguratzeko, enkriptatu egin beharko duzu. Denbora pixka bat beharko da."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Gailua enkriptatu?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Enkriptatu"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkriptatu da"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Laneko profila konfiguratzen jarraitzeko, sakatu hau"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ezin izan da konfiguratu laneko profila. Jarri informatika-sailarekin harremanetan edo saiatu berriro geroago."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Ezin da gehitu laneko profila"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Erabiltzaile honek ezin du izan laneko profilik. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Erabiltzaile honek ezin du izan laneko profilik. Jarri administratzailearekin harremanetan."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Ezin da konfiguratu laneko profilik kudeatutako gailuetan"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Agian erabiltzaile gehiegik darabilte gailua. Kendu erabiltzaile bat eta saiatu berriro."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Aldatu gailu-abiarazlea"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Abiarazle hau ezin da erabili laneko profilarekin"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Utzi"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ados"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Ez da konfiguratu erabiltzailea"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Laneko gailuaren erabiltzailea"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Konfiguratu laneko gailua"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Konfigurazio-datuak prozesatzen…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi sarera konektatzen…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Administrazio-aplikazioa deskargatzen…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Administrazio-aplikazioa instalatzen…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Behar ez diren aplikazioetatik kentzen…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Azken ukituak ematen…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Gailuaren jabea ezartzen…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Gailua hasieratzen…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Gailuak ez du onartzen enkriptatzea, baina aukera hori nahitaezkoa da konfiguratu ahal izateko. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Konfigurazioa geldiarazi eta gailuaren jatorrizko datuak berrezarri nahi dituzu?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Gailuaren jatorrizko datuak berrezarriko dira eta lehenengo pantailara itzuliko zara"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Konfiguratzeari utzi nahi diozu eta gailuko datu guztiak ezabatu nahi dituzu?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Utzi"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ados"</string>
+    <string name="reset" msgid="6467204151306265796">"Berrezarri jatorrizko datuak"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Ezin da konfiguratu profila"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Ezin da konfiguratu gailua"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Ezin izan da konfiguratu gailua. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Laguntza lortzeko, jarri administratzailearekin harremanetan"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Konfiguratuta dago gailua"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ezin izan da Wi-Fi sarera konektatu"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Jatorrizko datuak berrezartzearen aurkako babesa aktibatuta du gailuak. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Ezabatzen"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Itxaron, mesedez…"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Ezin izan da erabili gailua administratzeko aplikazioa, errore bat gertatu delako batuketa egitean. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ezin izan da administrazio-aplikazioa deskargatu"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Ezin da erabili gailua administratzeko aplikazioa. Osagaiak falta zaizkio edo hondatuta dago. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ezin izan da administrazio-aplikazioa instalatu"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Konfiguratzeari utzi nahi diozu?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ez"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Bai"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Bertan behera uzten…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profila konfiguratzeari utzi nahi diozu?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Geroago ere konfigura dezakezu laneko profila erakundeak gailua kudeatzeko duen aplikazioan"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Egin aurrera"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Gelditu"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Baztertu"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Erakundeak kudeatuko eta gainbegiratuko duen laneko profil bat sortzera zoaz. Baldintza batzuk aplikatuko dira."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Erakundeak kudeatuko eta gainbegiratuko duen laneko profil bat sortzera zoaz. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> enpresen baldintzak aplikatuko dira."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Profil bat sortuko da laneko aplikazioetarako. Erakundeak kudeatuko eta gainbegiratuko ditu bai profil hori, bai gailuaren gainerako datuak eta eginbideak. Baldintza batzuk aplikatuko dira."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Profil bat sortuko da laneko aplikazioetarako. Erakundeak kudeatuko eta gainbegiratuko ditu bai profil hori, bai gailuaren gainerako datuak eta eginbideak. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> enpresen baldintzak aplikatuko dira."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> erakundeak kudeatuko eta babestuko du gailua. Baldintza batzuk aplikatuko dira. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> erakundeak kudeatuko eta babestuko du gailua. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> enpresen baldintzak aplikatuko dira. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Esteka hau ez da segurua eta ezin da ireki gailua konfiguratzen amaitu arte: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Zalantzarik baduzu, jarri <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>rekin harremanetan."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Zalantzarik baduzu, jarri erakundeko administratzailearekin harremanetan"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Oraindik ez da amaitu konfiguratzen. Laguntza lortzeko, jarri administratzailearekin harremanetan."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Laguntza lortzeko, jarri administratzailearekin harremanetan"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"erakundeko administratzailea"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Aplikazio honen bidez kudeatuko eta gainbegiratuko du gailua <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> erakundeak:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Zure erakundea"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"zure erakundea"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ikusi baldintzak"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Onartu eta egin aurrera"</string>
+    <string name="close" msgid="7208600934846389439">"Itxi"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfiguratu gailua"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Aldatu lana egiteko modua"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Bereizi lana eta bizitza pertsonala"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Laneko aplikazioen txokoa"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Lanaldia amaitutakoan, utzi lanak alde batera"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Hornitzen"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA ziurtagiriak konfiguratzen"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Konfiguratu profila"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Laneko profila erabilita, bereizita izan ditzakezu laneko datuak eta datu pertsonalak"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Laneko profila erabilita, toki berean izan ditzakezu laneko aplikazio guztiak"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfiguratu profila. Enkriptatzea"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Konfiguratu profila. Garapena ikusgai dago"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfiguratu gailua"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Konfiguratu gailua. Enkriptatzea"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Konfiguratu gailua. Garapena ikusgai dago"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Informazio gehiago lortzeko botoia"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonoa"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> atalaren goiburua."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ataleko edukia: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Zabaldu"</string>
+    <string name="collapse" msgid="7817530505064432580">"Tolestu"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Sartu esteken zerrendan"</string>
+    <string name="access_links" msgid="7991363727326168600">"Sartu esteketan"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Sartu baldintzetan"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Irakurri baldintzak"</string>
+    <string name="close_list" msgid="9053538299788717597">"Itxi zerrenda"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Konfigurazioa amaitu eta jatorrizko datuak berrezarri?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Konfigurazioa amaitzen baduzu, gailuaren jatorrizko ezarpenak berrezarriko dira eta lehenengo pantailara joango zara."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Utzi"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Berrezarri gailua"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> eta <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> eta <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index b3f4407..e9bd597 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"برنامه زیر، دستگاهتان را مدیریت می‌کند:"</string>
     <string name="next" msgid="1004321437324424398">"بعدی"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"در حال راه اندازی نمایه کاری‌تان…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"سرپرست سیستمتان می‌تواند بر تنظیمات، دسترسی شرکتی، برنامه‌ها، مجوزها و داده‌های مرتبط با این نمایه، از جمله فعالیت شبکه و اطلاعات مکان دستگاه‌، سابقه تماس و سابقه جستجوی مخاطب شما نظارت کرده و آن‌ها را مدیریت کند."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"سرپرست سیستمتان می‌تواند بر تنظیمات، دسترسی شرکتی، برنامه‌ها، مجوزها، قابلیت‌های محافظت دربرابر دزدی و داده‌های مرتبط با این دستگاه، از جمله فعالیت شبکه و اطلاعات مکان دستگاه‌ شما نظارت کرده و آن‌ها را مدیریت کند."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"سرپرست سیستمتان می‌تواند تنظیمات، دسترسی شرکتی، برنامه‌ها، مجوزها و داده‌های مرتبط با این نمایه (ازجمله فعالیت شما در شبکه و همچنین مکان دستگاه، سابقه تماس و سابقه جستجوی مخاطب) را پایش و مدیریت کند.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>برای دریافت اطلاعات بیشتر (ازجمله خط‌مشی‌های رازداری سازمانتان)، با سرپرست سیستم تماس بگیرید."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"سرپرست سیستمتان می‌تواند تنظیمات، دسترسی شرکتی، برنامه‌ها، مجوزها و داده‌های مرتبط با این دستگاه (ازجمله فعالیت شما در شبکه و همچنین مکان دستگاه، سابقه تماس و سابقه جستجوی مخاطب) را پایش و مدیریت کند.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>برای دریافت اطلاعات بیشتر (ازجمله خط‌مشی‌های رازداری سازمانتان)، با سرپرست سیستم تماس بگیرید."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"برای استفاده از قابلیت‌های محافظت دربرابر دزدی، باید برای دستگاهتان قفل صفحه با محافظت گذرواژه داشته باشید."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"برای دریافت اطلاعات بیشتر، از جمله خط‌مشی‌های رازداری سازمانتان، با سرپرست سیستمتان تماس بگیرید."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"بیشتر بدانید"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"لغو"</string>
     <string name="ok_setup" msgid="4593707675416137504">"تأیید"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"رضایت دارم"</string>
+    <string name="url_error" msgid="5958494012986243186">"این پیوند نمی‌تواند نمایش داده شود."</string>
+    <string name="terms" msgid="8295436105384703903">"شرایط"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"اطلاعات نمایه کاری"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"اطلاعات دستگاه مدیریت‌شده"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"نمایه کاری"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"کاربر اصلی"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"نمایه کاری حذف شود؟"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"یک نمایه کاری درحال حاضر موجود است و توسط این فرد مدیریت می‌شود:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏سرپرست زیر این نمایه کاری را برای %s مدیریت می‌کند:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"نمایه موجود حذف شود؟"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"از قبل یک نمایه کاری دارید که توسط برنامه زیر مدیریت می‌شود:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"قبل از ادامه، "<a href="#read_this_link">"این را بخوانید"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"اگر ادامه دهید، همه برنامه‌ها و داده‌ها در این نمایه حذف خواهند شد."</string>
     <string name="delete_profile" msgid="2299218578684663459">"حذف"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"لغو"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"برای ادامه تنظیم نمایه کاری‌تان، باید دستگاهتان را رمزگذاری کنید. شاید این کار مدتی طول بکشد."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"برای ادامه تنظیم دستگاهتان، باید آن را رمزگذاری کنید. شاید این کار مدتی طول بکشد."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"رمزگذاری"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"برای تنظیم نمایه کاری‌تان، دستگاه شما باید رمزگذاری شود. این کار ممکن است مدتی طول بکشد."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"قبل از اینکه این دستگاه بتواند راه‌اندازی شود باید رمزگذاری شود. این کار ممکن است مدتی طول بکشد."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"این دستگاه رمزگذاری شود؟"</string>
+    <string name="encrypt" msgid="1749320161747489212">"رمزگذاری"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"رمزگذاری کامل شد"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"برای ادامه راه‌اندازی نمایه کاری‌تان، ضربه بزنید"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"نمایه کاریتان تنظیم نشد. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید یا دوباره بعداً امتحان کنید."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"دستگاهتان از نمایه‌های کاری پشتیبانی نمی‌کند"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"این کاربر نمی‌تواند نمایه کاری داشته باشد"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"نمی‌توان نمایه کاری اضافه کرد"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"این کاربر نمی‌تواند نمایه کاری داشته باشد. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"این کاربر نمی‌تواند نمایه کاری داشته باشد. با سرپرست سیستم تماس بگیرید."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"نمی‌توان نمایه‌های کاری را در دستگاه مدیریت شده تنظیم کرد"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"نمایه کاری ایجاد نمی‌شود زیرا به حداکثر تعداد کاربران در دستگاهتان رسیده‌اید. حداقل یک کاربر را پاک کنید و دوباره امتحان کنید."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"نمایه کاریتان از سوی این برنامه راه‌انداز پشتیبانی نمی‌شود. باید راه‌انداز خودتان را به راه‌اندازی تغییر دهید که سازگار است."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ممکن است تعداد کاربران در این دستگاه خیلی زیاد باشد. کاربری را بردارید، سپس دوباره امتحان کنید."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"راه‌انداز دستگاه را تغییر دهید"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"این برنامه راه‌اندازی نمی‌تواند توسط نمایه کاری‌تان استفاده شود"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"لغو"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"تأیید"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"تنظیم کاربر کامل نیست"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"‏در حال برقراری اتصال به Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"در حال بارگیری برنامه سرپرست…"</string>
     <string name="progress_install" msgid="2258045670385866183">"در حال نصب برنامه سرپرست…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"درحال حذف برنامه‌های غیرلازم سیستم…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"درحال افزودن موارد تکمیلی…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"در حال تنظیم مالک دستگاه…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"دستگاهتان از رمزگذاری پشتیبانی نمی‌کند. با بخش فناوری اطلاعات تماس بگیرید."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"مقداردهی اولیه دستگاه…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"این دستگاه از رمزگذاری، که برای راه‌اندازی لازم است پشتیبانی نمی‌کند. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"راه‌اندازی متوقف و دستگاه بازنشانی شود؟"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"این کار دستگاه شما را بازنشانی می‌کند و شما را به صفحه اول برمی‌گرداند"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"راه‌اندازی متوقف شود و داده‌های دستگاهتان پاک شود؟"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"لغو"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"تأیید"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"بازنشانی"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"دستگاهتان تنظیم نشد. با بخش فناوری اطلاعاتتان تماس بگیرید."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"این دستگاه از قبل راه‌اندازی شده است."</string>
+    <string name="reset" msgid="6467204151306265796">"بازنشانی"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"نمی‌توان نمایه را تنظیم کرد"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"نمی‌توان دستگاه را راه‌اندازی کرد"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"دستگاه راه‌اندازی نشد. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"دستگاه قبلاً راه‌اندازی شده است"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏اتصال به Wi-Fi ممکن نیست"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"این دستگاه توسط محافظت بازنشانی کارخانه، قفل شده است. با بخش فناوری اطلاعات تماس بگیرید."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"محافظت در برابر بازنشانی، در دستگاه شما روشن است. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"در حال پاک کردن"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"لطفاً صبر کنید..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"به دلیل خطای چک‌سام، برنامه سرپرست استفاده نشد. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"به دلیل خطای سرجمع (چک‌سام) نمی‌توان از برنامه سرپرست استفاده کرد. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"برنامه سرپرستی بارگیری نشد"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"برنامه سرپرست استفاده نمی‌شود. مؤلفه‌های آن وجود ندارند یا خراب هستند. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"نمی‌توان از برنامه سرپرست استفاده کرد. بعضی از مؤلفه‌ها در آن وجود ندارد یا خراب است. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"برنامه سرپرستی نصب نشد"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"راه‌اندازی متوقف شود؟"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"نه"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"بله"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"در حال لغو…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"راه‌اندازی متوقف شود؟"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"در فرصت دیگری می‌توانید از برنامه مدیریت دستگاه مورداستفاده سازمانتان، نمایه کاری‌تان را راه‌اندازی کنید."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ادامه"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"در فرصت دیگری می‌توانید از برنامه مدیریت دستگاه مورداستفاده سازمانتان، نمایه کاری‌تان را راه‌اندازی کنید"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ادامه"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"توقف"</string>
+    <string name="dismiss" msgid="9009534756748565880">"نپذیرفتن"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"می‌خواهید یک نمایه کاری ایجاد کنید که توسط سازمانتان مدیریت و پایش خواهد شد. شرایط اعمال می‌شود."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"می‌خواهید یک نمایه کاری ایجاد کنید که توسط سازمان شما مدیریت و پایش خواهد شد. شرایط <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> اعمال می‌شود."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"نمایه‌ای برای برنامه‌های کاری‌تان ایجاد می‌شود. این نمایه و مابقی دستگاهتان توسط سازمان شما مدیریت و پایش خواهد شد. شرایط اعمال می‌شود."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"نمایه‌ای برای برنامه‌های کاری‌تان ایجاد می‌شود. این نمایه و مابقی دستگاهتان توسط سازمان شما مدیریت و پایش خواهد شد. شرایط <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> اعمال می‌شود."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> این دستگاه را مدیریت می‌کند و ایمن نگه می‌دارد. شرایط اعمال می‌شود. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> این دستگاه را مدیریت می‌کند و ایمن نگه می‌دارد. شرایط <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> اعمال می‌شود. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"این پیوند ایمن نیست و تا وقتی راه‌اندازی دستگاه تمام نشود نمی‌تواند باز شود: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"اگر سؤالی دارید، با <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> خود تماس بگیرید."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"اگر سؤالی دارید، با سرپرست سیستم سازمانتان تماس بگیرید"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"راه‌اندازی تمام نشده است. برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"برای دریافت راهنمایی با سرپرست سیستم تماس بگیرید."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"سرپرست سیستم سازمان"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ازطریق برنامه زیر، این دستگاه را مدیریت و پایش خواهد کرد:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"سازمان شما"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"سازمان شما"</string>
+    <string name="view_terms" msgid="7230493092383341605">"مشاهده شرایط"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"پذیرفتن و ادامه"</string>
+    <string name="close" msgid="7208600934846389439">"بستن"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"راه‌اندازی دستگاه"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"روش کارتان را تغییر دهید"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"جداسازی داده‌های کاری‌ از داده‌های شخصی"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"یک مکان برای برنامه‌های کاری"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"وقتی کارتان تمام شد،‌ نمایه کاری را خاموش کنید"</string>
     <string name="provisioning" msgid="4512493827019163451">"در حال ارائه دسترسی"</string>
     <string name="copying_certs" msgid="5697938664953550881">"‏تنظیم گواهی‌های CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"نمایه‌تان را راه‌اندازی کنید. شروع تنظیم"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"تنظیم نمایه"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"با استفاده از نمایه کاری، می‌توانید داده‌های کاری را از داده‌های شخصی جدا نگه‌دارید"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"با استفاده از نمایه کاری، می‌توانید برنامه‌های کاری‌تان را در یک مکان نگه‌دارید"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"نمایه‌تان را راه‌اندازی کنید. رمزگذاری"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"نمایه‌تان را راه‌اندازی کنید. نمایش پیشرفت"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"دستگاهتان را تنظیم کنید. شروع تنظیم"</string>
+    <string name="setup_device" msgid="6725265673245816366">"تنظیم کردن دستگاه"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"دستگاهتان را تنظیم کنید. رمزگذاری"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"دستگاهتان را تنظیم کنید. نمایش پیشرفت"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"دکمه بیشتر بدانید"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"نماد <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"عنوان بخش <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"محتوای بخش <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"بزرگ کردن"</string>
+    <string name="collapse" msgid="7817530505064432580">"کوچک کردن"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"دسترسی به فهرست پیوندها"</string>
+    <string name="access_links" msgid="7991363727326168600">"پیوندهای دسترسی"</string>
+    <string name="access_terms" msgid="1982500872249763745">"شرایط دسترسی"</string>
+    <string name="read_terms" msgid="1745011123626640728">"خواندن شرایط"</string>
+    <string name="close_list" msgid="9053538299788717597">"بستن فهرست"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"لغو راه‌اندازی و بازنشانی کارخانه‌ای؟"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"لغو این راه‌اندازی باعث بازنشانی کارخانه‌ای دستگاهتان می‌شود و شما را به صفحه اول برمی‌گرداند."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"لغو"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"بازنشانی دستگاه"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> و <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> و <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>، <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>، <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 8541dd7..1861775 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Laitettasi hallinnoi seuraava sovellus:"</string>
     <string name="next" msgid="1004321437324424398">"Seuraava"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Määritetään työprofiilia…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Järjestelmänvalvoja voi valvoa ja hallinnoida tämän profiilin asetuksia, yrityskäyttöä, sovelluksia, käyttöoikeuksia ja profiiliin liittyviä tietoja, kuten verkon käyttöä, laitteen sijaintitietoja, puheluhistoriaa ja yhteystietojen hakuhistoriaa."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Järjestelmänvalvoja voi valvoa ja hallinnoida tämän laitteen asetuksia, yrityskäyttöä, sovelluksia, käyttöoikeuksia, varkaudenesto-ominaisuuksia ja laitteeseen liittyviä tietoja, kuten verkon käyttöä ja sijaintitietoja."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Järjestelmänvalvoja voi valvoa ja hallinnoida asetuksia, yrityskäyttöä, sovelluksia, käyttöoikeuksia, verkon käyttöä ja tämän profiilin tietoja, kuten laitteen sijaintitietoja, soittohistoriaa ja yhteystietojen hakuhistoriaa.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ota yhteyttä järjestelmänvalvojaan, jos haluat lisätietoja, esimerkiksi tietoja organisaation tietosuojakäytännöistä."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Järjestelmänvalvoja voi valvoa ja hallinnoida asetuksia, yrityskäyttöä, sovelluksia, käyttöoikeuksia ja laitteen tietoja, kuten verkon käyttöä, laitteen sijaintitietoja, soittohistoriaa ja yhteystietojen hakuhistoriaa.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ota yhteyttä järjestelmänvalvojaan, jos haluat lisätietoja, esimerkiksi tietoa organisaation tietosuojakäytännöistä."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Jotta voit käyttää varkaudenesto-ominaisuuksia, laitteesi täytyy käyttää salasanasuojattua näytön lukitusta."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Pyydä järjestelmänvalvojalta lisätietoja esimerkiksi organisaation tietosuojakäytännöistä."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Lisätietoja"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Peruuta"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Suostun"</string>
+    <string name="url_error" msgid="5958494012986243186">"Tätä linkkiä ei voi näyttää."</string>
+    <string name="terms" msgid="8295436105384703903">"Käyttöehdot"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Työprofiilin tiedot"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Hallinnoidun laitteen tiedot"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Työprofiili"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Ensisijainen käyttäjä"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Poistetaanko työprofiili?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Työprofiili on jo olemassa. Sen hallinnoija on:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Organisaation %s työprofiilia hallinnoi"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Poistetaanko nykyinen profiili?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Sinulla on jo työprofiili, jota hallinnoi seuraava sovellus:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Lue tämä"</a>" ennen kuin jatkat."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jos jatkat, kaikki tämän profiilin sovellukset ja tiedot poistetaan."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Poista"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Peruuta"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Työprofiilin määritysten jatkaminen edellyttää laitteen salaamista. Tämä voi kestää hetken."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Jos haluat jatkaa laitteen asennusta, sinun on salattava se. Tämä voi kestää hetken."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Salaa"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Laite on salattava ennen työprofiilin määritystä. Tämä voi kestää hetken."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Laite on salattava ennen määritystä. Tämä voi kestää hetken."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Salataanko laite?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Salaa"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Salaus on valmis"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Jatka työprofiilin määrittämistä koskettamalla."</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Työprofiilin määrittäminen epäonnistui. Ota yhteyttä yrityksesi IT-osastoon tai yritä myöhemmin uudelleen."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Laite ei tue työprofiileja"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Tällä käyttäjällä ei voi olla työprofiilia."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Työprofiilin lisääminen epäonnistui."</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Tälle käyttäjälle ei voi luoda työprofiilia. Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Tälle käyttäjälle ei voi luoda työprofiilia. Ota yhteyttä järjestelmänvalvojaasi."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Työprofiilien asetuksia ei voi määrittää hallinnoidulla laitteella."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Työprofiilin luominen ei onnistu, sillä laitteellasi on jo enimmäismäärä käyttäjiä. Poista vähintään yksi käyttäjä ja yritä uudelleen."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Tämä käynnistysohjelma ei tue profiilisiasi. Vaihda yhteensopivaan käynnistysohjelmaan."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Tällä laitteella saattaa olla liian monta käyttäjää. Poista käyttäjä ja yritä uudelleen."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Vaihda laitteen käynnistysohjelma."</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Työprofiili ei voi käyttää tätä käynnistyssovellusta."</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Peruuta"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Määritys ei ole valmis"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Muodostetaan Wi-Fi-yhteyttä…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Ladataan hallintasovellusta…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Asennetaan hallintasovellusta…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Poistetaan valinnaisia järjestelmäsovelluksia"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Viimeistellään…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Määritetään laitteen omistajaa…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Laitteesi ei tue salausta. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Alustetaan laitetta…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Määrittäminen edellyttää salaamista, mutta laite ei salli sitä. Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Lopetetaanko määritys ja palautetaanko laite?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Tämä palauttaa laitteesi tehdasasetukset ja vie sinut asennuksen alkuun."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Haluatko keskeyttää määrittämisen ja tyhjentää laitteen tiedot?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Peruuta"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Nollaa"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Laitteen asetusten määrittäminen epäonnistui. Ota yhteyttä yrityksesi IT-osastoon."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Laitteen asetukset on jo määritetty."</string>
+    <string name="reset" msgid="6467204151306265796">"Palauta"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profiilin määritys epäonnistui."</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Laitteen määritys epäonnistui."</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Laitteen määrittäminen epäonnistui. Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Laite on jo määritetty."</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-yhteyden muodostaminen epäonnistui"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Laite on lukittu tehdasasetusten palautussuojauksella. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Palauttamisen esto on käytössä laitteella. Pyydä apua järjestelmänvalvojalta."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Tyhjennetään"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Odota…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Hallintasovelluksen käyttäminen epäonnistui tarkistussummavirheen vuoksi. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Hallintasovelluksen käyttäminen epäonnistui summan tarkistusvirheen vuoksi. Pyydä apua järjestelmänvalvojalta."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Hallintasovelluksen lataaminen epäonnistui"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Hallintasovellusta ei voi käyttää. Sovellus on vioittunut tai siitä puuttuu komponentteja. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Hallintasovellusta ei voi käyttää. Sovellus on vioittunut tai siitä puuttuu komponentteja. Pyydä apua järjestelmänvalvojalta."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Hallintasovelluksen asentaminen epäonnistui"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Keskeytetäänkö määrittäminen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ei"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Kyllä"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Peruutetaan…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Lopetetaanko profiilin määritys?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Voit määrittää työprofiilisi myöhemmin käyttämällä yrityksesi käytössä olevaa laitehallintasovellusta."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Jatka"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Voit määrittää työprofiilisi myöhemmin yrityksesi laitehallintasovelluksella."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Jatka"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Pysäytä"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Hylkää"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Olet luomassa uutta työprofiilia, jota organisaatiosi hallinnoi ja valvoo. Käyttöehtoja sovelletaan."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Olet luomassa uutta työprofiilia, jota organisaatiosi hallinnoi ja valvoo. Seuraavia käyttöehtoja sovelletaan: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Työsovelluksillesi luodaan uusi profiili. Organisaatiosi hallinnoi ja valvoo tätä profiilia ja muuta laitteen käyttöä. Käyttöehtoja sovelletaan."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Sinulle luodaan uusi työprofiili. Organisaatiosi hallinnoi ja valvoo tätä profiilia ja muuta laitteen käyttöä. Seuraavia käyttöehtoja sovelletaan: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> hallinnoi tätä laitetta ja pitää sen suojattuna. Käyttöehtoja sovelletaan. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> hallinnoi tätä laitetta ja pitää sen suojattuna. Seuraavia käyttöehtoja sovelletaan: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Tämä linkki ei ole turvallinen, eikä sitä voi avata ennen kuin laite on määritetty: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>."</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> vastaa mahdollisiin kysymyksiin."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Jos sinulla on kysyttävää, ota yhteyttä organisaation järjestelmänvalvojaan."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Määritys ei ole valmis. Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Pyydä apua järjestelmänvalvojalta."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisaation järjestelmänvalvoja"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> hallinnoi ja valvoo tätä laitetta seuraavan sovelluksen avulla:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organisaatiosi"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organisaatiosi"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Näytä käyttöehdot"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Hyväksy ja jatka"</string>
+    <string name="close" msgid="7208600934846389439">"Sulje"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Määritä laite"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Uudista työtapasi"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Pidä työ- ja henkilökohtaiset asiat erillään"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Työsovellukset yhdessä paikassa"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Sammuta työsovellukset päivän päätteeksi"</string>
     <string name="provisioning" msgid="4512493827019163451">"Käyttäjien hallintaa suoritetaan"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Määritetään CA-varmenteita"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Määritä profiilisi. Aloita määritys"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Luo profiili"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Työprofiilin avulla pidät työtiedot erillään yksityisistä tiedoista."</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Työprofiilin avulla työsovellukset löytyvät yhdestä paikasta."</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Määritä profiilisi. Salaus"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Määritä profiilisi. Näytetään edistyminen"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Määritä laitteesi. Aloita määritys"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Määritä laitteen asetukset"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Määritä laitteesi. Salaus"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Määritä laitteesi. Näytetään edistyminen"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Lisätietoja-painike"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Kuvake: <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Osion <xliff:g id="SECTION_HEADING">%1$s</xliff:g> otsikko"</string>
+    <string name="section_content" msgid="8875502515704374394">"Osion <xliff:g id="SECTION_HEADING">%1$s</xliff:g> sisältö: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Laajenna"</string>
+    <string name="collapse" msgid="7817530505064432580">"Tiivistä"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Näytä linkkiluettelo"</string>
+    <string name="access_links" msgid="7991363727326168600">"Näytä linkit"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Näytä termit"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lue ehdot"</string>
+    <string name="close_list" msgid="9053538299788717597">"Sulje luettelo"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Lopeta asennus ja palauta tehdasasetukset?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Tämän asennuksen lopettaminen palauttaa laitteesi tehdasasetukset ja vie sinut asennuksen alkuun."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Peruuta"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Palauta laitteen tehdasasetukset"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ja <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ja <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 1031eaa..4ab54c8 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"L\'application suivante va gérer votre appareil :"</string>
     <string name="next" msgid="1004321437324424398">"Suivant"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configuration de votre profil professionnel en cours…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Votre administrateur peut surveiller et gérer les paramètres, l\'accès aux données d\'entreprise, les applications, les autorisations et les données associées au profil, y compris la position, l\'historique d\'appel et l\'historique de recherche de contacts."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"L\'administrateur de votre entreprise peut surveiller et gérer les paramètres, les accès, les applications, les autorisations, les fonctionnalités de protection contre le vol et les données associés à cet appareil, y compris votre activité réseau et les données de localisation de votre appareil."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations et les données associées à ce profil, y compris votre activité réseau et les données de localisation, l\'historique des appels et l\'historique des recherches de contacts de votre appareil.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Pour consulter plus d\'information, y compris les politiques de confidentialité de votre entreprise, communiquez avec votre administrateur."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations et les données associées à cet appareil, y compris votre activité réseau et les données de localisation, l\'historique des appels et l\'historique des recherches de contacts de votre appareil.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Pour consulter plus d\'information, y compris les politiques de confidentialité de votre entreprise, communiquez avec votre administrateur."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Pour utiliser les fonctionnalités de protection contre le vol, vous devez activer le verrouillage d\'écran protégé par mot de passe sur votre appareil."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Pour obtenir plus d\'information, y compris les politiques de confidentialité de votre entreprise, communiquez avec votre administrateur."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"En savoir plus"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Annuler"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"J\'accepte"</string>
+    <string name="url_error" msgid="5958494012986243186">"Impossible d\'afficher ce lien."</string>
+    <string name="terms" msgid="8295436105384703903">"Conditions d\'utilisation"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Détail du profil professionnel"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Renseignements sur l\'appareil géré"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil professionnel"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Utilisateur principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Supprimer le profil professionnel?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Un profil professionnel existe déjà et est géré par :"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ce profil professionnel est géré pour %s avec l\'application suivante :"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Supprimer le profil existant?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Vous avez déjà un profil professionnel, géré par l\'application suivante :"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Avant de continuer, "<a href="#read_this_link">"lisez ceci"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Si vous continuez, toutes les applications et les données de ce profil seront supprimées."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Supprimer"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pour continuer la configuration de votre profil professionnel, vous devrez chiffrer votre appareil. Cela peut prendre un certain temps."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Pour continuer la configuration de votre appareil, vous devrez le chiffrer. Cela peut prendre un certain temps."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Chiffrer"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Cet appareil doit être crypté avant que vous puissiez configurer un profil professionnel. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Cet appareil doit être crypté avant de pouvoir être configuré. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Crypter cet appareil?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Crypter"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Chiffrement terminé"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Touchez ici pour continuer la configuration de votre profil professionnel"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossible de configurer votre profil professionnel. Communiquez avec votre service informatique, ou réessayez plus tard."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Votre appareil ne prend pas en charge les profils professionnels"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Cet utilisateur ne peut pas avoir de profil professionnel"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Impossible d\'ajouter le profil professionnel"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Cet utilisateur ne peut pas se servir d\'un profil professionnel. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Cet utilisateur ne peut pas se servir d\'un profil professionnel. Communiquez avec votre administrateur."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Impossible de configurer des profils professionnels sur un appareil géré"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Impossible de créer un profil professionnel, car vous avez atteint le nombre maximal d\'utilisateurs sur votre appareil. Veuillez supprimer au moins un profil utilisateur, puis réessayer."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Votre profil professionnel n\'est pas pris en charge par cette application de lancement. Vous devrez utiliser un lanceur d\'applications compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Trop de personnes utilisent peut-être déjà cet appareil. Supprimez un compte utilisateur, puis réessayez."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Changer le lanceur d\'applications de l\'appareil"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Impossible d\'utiliser ce lanceur d\'applications avec votre profil professionnel"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Annuler"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuration de l\'utilisateur incomplète"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connexion au Wi-Fi en cours…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Téléchargement de l\'appli d\'administration…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installation de l\'appli d\'administration…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Suppression des applis système non requises…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Finalisation du processus en cours…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Définition du propriétaire de l\'appareil…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Votre appareil ne prend pas en charge le chiffrement. Communiquez avec votre service informatique."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialisation de l\'appareil en cours…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Ce dispositif n\'autorise pas le cryptage, qui est nécessaire pour la configuration. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Arrêter la configuration et réinitialiser l\'appareil?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Votre appareil sera réinitialisé à ses paramètres d\'usine et vous serez redirigé vers le premier écran."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Arrêter la configuration et effacer les données de votre appareil?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuler"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Réinitialiser"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossible de configurer votre appareil. Communiquez avec votre service informatique."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Cet appareil a déjà été configuré."</string>
+    <string name="reset" msgid="6467204151306265796">"Réinitialiser"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Impossible de configurer le profil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Impossible de configurer l\'appareil"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Impossible de configurer votre appareil. Communiquez avec votre administrateur."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Pour obtenir de l\'aide, communiquez avec votre administrateur"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"L\'appareil est déjà configuré"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossible de se connecter au réseau Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Cet appareil est verrouillé par la protection contre le rétablissement de la configuration d\'usine. Veuillez communiquer avec votre service informatique."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"La protection contre la réinitialisation est activée sur votre appareil. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Suppression en cours..."</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Veuillez patienter..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Communiquez avec votre service informatique."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossible de télécharger l\'application d\'administration"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossible d\'utiliser l\'application d\'administration. Des composants sont manquants ou corrompus. Communiquez avec votre service informatique."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Impossible d\'utiliser l\'application d\'administration. Des composants sont manquants ou corrompus. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossible d\'installer l\'application d\'administration"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Arrêter la configuration?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oui"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Annulation en cours..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Arrêter la configuration du profil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Vous avez la possibilité de configurer votre profil professionnel plus tard à l\'aide de l\'application de gestion d\'appareil utilisée par votre organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuer"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Vous pouvez configurer votre profil professionnel plus tard dans l\'application de gestion de l\'appareil fournie par votre entreprise"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuer"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Arrêter"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Fermer"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Vous êtes sur le point de créer un profil professionnel qui sera géré et contrôlé par votre organisation. Certaines conditions s\'appliquent."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Vous êtes sur le point créer un profil professionnel qui sera géré et contrôlé par votre organisation. Certaines conditions de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> s\'appliquent."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Un profil sera créé pour vos applications professionnelles. Ce profil et le reste de votre appareil sont gérés et contrôlés par votre organisation. Certaines conditions s\'appliquent."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Un profil sera créé pour vos applications professionnelles. Ce profil et le reste de votre appareil sont gérés et contrôlés par votre organisation. Certaines conditions de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> s\'appliquent."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Cet appareil sera géré et sécurisé par <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Certaines conditions s\'appliquent. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Cet appareil sera géré et sécurisé par <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Les conditions de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> s\'appliquent. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ce lien n\'est pas sécurisé. Impossible de l\'ouvrir tant que la configuration de l\'appareil n\'est pas terminée : <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Si vous avez des questions, communiquez avec votre <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Si vous avez des questions, communiquez avec l\'administrateur de votre organisation"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"La configuration n\'est pas terminée. Pour obtenir de l\'aide, communiquez avec votre administrateur."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Pour obtenir de l\'aide, communiquez avec votre administrateur"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"l\'administrateur de l\'organisation"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gérera et contrôlera cet appareil à l\'aide de l\'application suivante :"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Votre entreprise"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"votre entreprise"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Consulter les conditions d\'utilisation"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accepter et continuer"</string>
+    <string name="close" msgid="7208600934846389439">"Fermer"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configurer votre appareil"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Changez la façon dont vous travaillez"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Séparez votre contenu professionnel et personnel"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Un endroit unique pour vos applications professionnelles"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Désactiver le profil professionnel lorsque vous avez terminé"</string>
     <string name="provisioning" msgid="4512493827019163451">"Approvisionnement en cours…"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Configuration des certificats CA en cours…"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurer votre profil. Lancement de la configuration."</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurer votre profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"En utilisant un profil professionnel, vous pouvez séparer vos données professionnelles de vos données personnelles"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"En utilisant un profil professionnel, vous pouvez garder vos applications de bureau en un seul endroit"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurer votre profil. Chiffrement."</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurer votre profil. Affichage de la progression."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurer votre appareil. Lancement de la configuration."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurer l\'appareil"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurer votre appareil. Chiffrement."</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurer votre appareil. Affichage de la progression."</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Bouton En savoir plus"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icône <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"En-tête de section <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Section de contenu <xliff:g id="SECTION_HEADING">%1$s</xliff:g> : <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Développer"</string>
+    <string name="collapse" msgid="7817530505064432580">"Réduire"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accéder à une liste de liens"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accéder aux liens"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accéder aux termes"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lire les conditions"</string>
+    <string name="close_list" msgid="9053538299788717597">"Fermer la liste"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Temin. la config. et réinitialiser l\'appareil?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Si vous annulez cette configuration, votre appareil sera réinitialisé à ses paramètres d\'usine et vous serez redirigé vers le premier écran."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Annuler"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Réinitialiser l\'appareil"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> et <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> et <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index d7d4760..c2e1af2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"L\'application suivante gérera votre appareil :"</string>
     <string name="next" msgid="1004321437324424398">"Suivant"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configuration de votre profil professionnel en cours…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations et les données associées à ce profil, y compris votre activité réseau et les données de localisation, l\'historique des appels et l\'historique des recherches de contacts de votre appareil."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations, les fonctionnalités de protection contre le vol et les données associées à cet appareil, y compris l\'activité réseau et les informations de localisation de votre appareil."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations et les données associées à ce profil, y compris votre activité réseau et les données de localisation, l\'historique des appels et l\'historique des recherches de contacts de votre appareil.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Pour plus d\'informations, y compris les règles de confidentialité de votre entreprise, contactez votre administrateur."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les autorisations et les données associées à cet appareil, y compris votre activité réseau et les données de localisation, l\'historique des appels et l\'historique des recherches de contacts de votre appareil.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Pour plus d\'informations, y compris les règles de confidentialité de votre entreprise, contactez votre administrateur."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Pour utiliser les fonctionnalités de protection contre le vol sur votre appareil, vous devez activer le verrouillage de l\'écran protégé par mot de passe sur celui-ci."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contactez votre administrateur pour obtenir plus d\'informations, y compris les règles de confidentialité de votre organisation."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"En savoir plus"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Annuler"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"J\'accepte"</string>
+    <string name="url_error" msgid="5958494012986243186">"Impossible d\'afficher ce lien."</string>
+    <string name="terms" msgid="8295436105384703903">"Conditions d\'utilisation"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Infos sur le profil professionnel"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Infos sur l\'appareil géré"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil professionnel"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Utilisateur principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Supprimer le profil professionnel ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Un profil professionnel existe déjà et est géré par :"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ce profil professionnel est géré pour %s avec l\'application suivante :"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Supprimer le profil existant ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Vous possédez déjà un profil professionnel, qui est géré par l\'application suivante :"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Avant de continuer, "<a href="#read_this_link">"lisez ces informations"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Si vous continuez, toutes les applications et les données associées à ce profil seront supprimées."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Supprimer"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pour poursuivre la configuration de votre profil professionnel, vous devez chiffrer les données de votre appareil. Cette opération peut prendre un certain temps."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Pour continuer la configuration de votre appareil, vous devez chiffrer les données qu\'il contient. Cette opération peut prendre un certain temps."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Chiffrer"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Pour pouvoir configurer votre profil professionnel, vous devez chiffrer votre appareil. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Cet appareil doit être chiffré avant de pouvoir être configuré. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Chiffrer appareil ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Chiffrer"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Chiffrement terminé"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Appuyez pour continuer la configuration de votre profil professionnel."</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossible de configurer votre profil professionnel. Contactez votre service informatique, ou réessayez plus tard."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Votre appareil n\'est pas compatible avec les profils professionnels."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Cet utilisateur ne peut pas avoir de profil professionnel."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Impossible d\'ajouter un profil professionnel"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Cet utilisateur ne peut pas se servir d\'un profil professionnel. Contactez votre administrateur pour obtenir de l\'aide."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Cet utilisateur ne peut pas se servir d\'un profil professionnel. Contactez votre administrateur."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Impossible de configurer des profils professionnels sur un appareil géré."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Impossible de créer un profil professionnel, car vous avez atteint le nombre maximal d\'utilisateurs sur votre appareil. Veuillez supprimer au moins un profil utilisateur, puis réessayer."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Votre profil professionnel n\'est pas compatible avec cette application de lanceur. Vous devez utiliser un lanceur compatible."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Trop de personnes utilisent peut-être déjà cet appareil. Supprimez un compte utilisateur, puis réessayez."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Changer le lanceur d\'applications de l\'appareil"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Impossible d\'utiliser ce lanceur d\'applications avec votre profil professionnel"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Annuler"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuration de l\'utilisateur incomplète"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connexion au réseau Wi-Fi en cours…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Téléchargement application d\'administration…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installation application d\'administration…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Suppression des applis système non requises…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Finalisation du processus…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Définition du propriétaire de l\'appareil…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Votre appareil n\'est pas compatible avec le chiffrement. Contactez votre service informatique."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialisation de l\'appareil…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Cet appareil n\'autorise pas le chiffrement nécessaire à la configuration. Contactez votre administrateur pour obtenir de l\'aide."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Arrêter la configuration et réinitialiser l\'appareil ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Votre appareil sera réinitialisé, et vous reviendrez au premier écran"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Arrêter la configuration et effacer les données de votre appareil ?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuler"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Réinitialiser"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossible de configurer votre appareil. Contactez votre service informatique."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Cet appareil est déjà configuré."</string>
+    <string name="reset" msgid="6467204151306265796">"Réinitialiser"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Impossible de configurer le profil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Impossible de configurer l\'appareil"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Impossible de configurer l\'appareil. Contactez votre administrateur pour obtenir de l\'aide."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contacter votre administrateur pour obtenir de l\'aide"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Appareil déjà configuré"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossible de se connecter au réseau Wi-Fi."</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Cet appareil est verrouillé par la protection contre le rétablissement de la configuration d\'usine. Veuillez contacter votre service informatique."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"La protection contre la réinitialisation est activée sur votre appareil. Contactez votre administrateur pour obtenir de l\'aide."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Suppression en cours"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Veuillez patienter..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Contactez votre service informatique."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Contactez votre administrateur pour obtenir de l\'aide."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossible de télécharger l\'application d\'administration."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossible d\'utiliser l\'application d\'administration. Des composants sont manquants ou corrompus. Contactez votre service informatique."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Impossible d\'utiliser l\'application d\'administration. Il lui manque des composants, ou elle est endommagée. Contactez votre administrateur pour obtenir de l\'aide."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossible d\'installer l\'application d\'administration."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Arrêter la configuration ?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oui"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Annulation en cours…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Arrêter la configuration du profil ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Vous avez la possibilité de configurer votre profil professionnel plus tard à l\'aide de l\'application de gestion d\'appareil utilisée par votre organisation."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuer"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Vous pouvez configurer votre profil professionnel plus tard dans l\'application de gestion de l\'appareil fournie par votre entreprise"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuer"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Arrêter"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignorer"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Vous allez créer un profil professionnel qui sera géré et contrôlé par votre entreprise. Des conditions d\'utilisation s\'appliquent."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Vous allez créer un profil professionnel qui sera géré et contrôlé par votre entreprise. Les conditions d\'utilisation <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> s\'appliquent."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Un profil sera créé pour vos applications professionnelles. Ce profil et le reste de l\'appareil seront gérés et contrôlés par votre entreprise. Des conditions d\'utilisation s\'appliquent."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Un profil sera créé pour vos applications professionnelles. Ce profil et le reste de l\'appareil seront gérés et contrôlés par votre entreprise. Les conditions d\'utilisation  <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> s\'appliquent."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Cet appareil sera géré et sécurisé par <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Des conditions d\'utilisation s\'appliquent. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Cet appareil sera géré et sécurisé par <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Les conditions d\'utilisation <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> s\'appliquent. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ce lien n\'est pas sécurisé. Impossible de l\'ouvrir tant que la configuration de l\'appareil n\'est pas terminée : <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Si vous avez des questions, contactez votre <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Contacter votre administrateur en cas de questions"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Configuration non terminée. Contactez votre administrateur pour obtenir de l\'aide."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Contacter votre administrateur pour obtenir de l\'aide"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrateur de l\'entreprise"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gérera et contrôlera cet appareil à l\'aide de l\'application suivante :"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Votre organisation"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"votre organisation"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Consulter les conditions d\'utilisation"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accepter et continuer"</string>
+    <string name="close" msgid="7208600934846389439">"Fermer"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configurer l\'appareil"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Une nouvelle manière de travailler"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Séparez vos données professionnelles de vos données personnelles"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Toutes vos applications professionnelles au même endroit"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Désactiver le profil professionnel lorsque vous avez terminé"</string>
     <string name="provisioning" msgid="4512493827019163451">"Configuration en cours"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Configuration des certificats CA en cours…"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurer votre profil. Lancement de la configuration."</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurer votre profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"L\'utilisation d\'un profil professionnel vous permet de séparer vos données professionnelles de vos données personnelles"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"En utilisant un profil professionnel, vous pouvez conserver toutes vos applications professionnelles au même endroit"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurer votre profil. Chiffrement."</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurer votre profil. Affichage de la progression."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurer votre appareil. Lancement de la configuration."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurer l\'appareil"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurer votre appareil. Chiffrement."</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurer votre appareil. Affichage de la progression."</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Bouton \"En savoir plus\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icône <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Titre de la section \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\"."</string>
+    <string name="section_content" msgid="8875502515704374394">"Contenu de la section \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\" : <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Développer"</string>
+    <string name="collapse" msgid="7817530505064432580">"Réduire"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accéder à une liste de liens"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accéder aux liens"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Voir les conditions"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lire les conditions"</string>
+    <string name="close_list" msgid="9053538299788717597">"Fermer la liste"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Annuler config. et rétablir config. usine ?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"L\'annulation de la configuration entraîne le rétablissement de la configuration d\'usine de votre appareil et vous redirige vers l\'écran de départ."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Annuler"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Réinitialiser l\'appareil"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> et <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> et <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
deleted file mode 100644
index 19a68fa..0000000
--- a/res/values-gl-rES/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Configuración do perfil de traballo"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Vaia!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Configurar o perfil de traballo"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"A túa organización controla este perfil e manteno seguro. Ti controlas o resto do contido do dispositivo."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"A túa organización controlará e protexerá este dispositivo."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A seguinte aplicación ten que acceder ao teu perfil:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"A seguinte aplicación xestionará o teu dispositivo:"</string>
-    <string name="next" msgid="1004321437324424398">"Seguinte"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando o teu perfil de traballo..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"O teu administrador pode supervisar e xestionar a configuración, o acceso corporativo, as aplicacións, os permisos e os datos asociados ao perfil, incluída a actividade da rede, a localización do teu dispositivo, o historial de chamadas e o historial de buscas de contactos."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"O teu administrador pode supervisar e xestionar a configuración, o acceso corporativo, as aplicacións, os permisos, as funcións antirroubo e os datos asociados a este dispositivo, incluída a actividade da rede e a información de localización do teu dispositivo."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para usar as funcións antirroubo, o teu dispositivo debe contar cun bloqueo da pantalla protexido por contrasinal."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contacta co teu administrador para obter máis información, incluídas as políticas de privacidade da túa organización."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Máis información"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Aceptar"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Acepto"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil do traballo"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuario principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Eliminar perfil de traballo?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Xa existe un perfil de traballo e está xestionado por:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de traballo está xestionado para %s con:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de proceder, "<a href="#read_this_link">"le esta información"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se continúas, eliminaranse todas as aplicacións e os datos deste perfil."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar coa configuración do teu perfil de traballo, terás que encriptar o teu dispositivo.  Este proceso pode tardar uns minutos."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para continuar coa configuración do dispositivo, terás que encriptalo. Este proceso pode tardar uns minutos."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Cifrar"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Cifrado completo"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toca para continuar coa configuración do teu perfil de traballo"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Non se puido configurar o teu perfil de traballo. Ponte en contacto co departamento de TI ou téntao de novo máis tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O teu dispositivo non admite perfís de traballo"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este usuario non pode ter un perfil de traballo"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Os perfís de traballo non se poden configurar nun dispositivo xestionado"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Non se pode crear o perfil de traballo porque alcanzaches o número máximo de usuarios no teu dispositivo. Elimina un ou máis usuarios e téntao de novo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O teu perfil de traballo non é compatible con esta aplicación do menú de aplicacións. Terás que cambiar a un menú de aplicacións compatible."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuración do usuario incompleta"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuario do dispositivo de traballo"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Configurar o dispositivo de traballo"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Procesando datos de configuración..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando coa wifi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Descargando a aplicación de administración..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Instalando a aplicación de administración..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Definindo o propietario do dispositivo..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"O dispositivo non é compatible coa encriptación. Ponte en contacto co teu departamento de TI."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Queres deter a configuración e borrar os datos do dispositivo?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Aceptar"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Non se puido configurar o teu dispositivo. Ponte en contacto co departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo xa está configurado."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Non se puido conectar coa wifi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Este dispositivo está bloqueado pola protección de restablecemento de fábrica. Contacta co teu departamento de TI."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Borrando"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Agarda..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Non se puido utilizar a aplicación de administración debido a un erro da suma de verificación. Ponte en contacto co departamento de TI."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Non se puido descargar a aplicación de administración"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Non se pode utilizar a aplicación de administración. Fáltanlle compoñentes ou está danada. Ponte en contacto co departamento de TI."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Non se puido instalar a aplicación de administración"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Queres deter a configuración?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Si"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Queres deter a configuración do perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Podes configurar o teu perfil de traballo máis tarde desde a aplicación de xestión do dispositivo que utiliza a túa organización."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Deter"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Aprovisionando"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Configurando certificados de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configura o teu perfil. Iniciar configuración"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Configura o teu perfil. Encriptación"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Configura o teu perfil. Mostrando progreso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configura o teu dispositivo. Iniciar configuración"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Configura o teu dispositivo. Encriptación"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Configura o teu dispositivo. Mostrando progreso"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Botón Máis información"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Icona de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Finalizar config. e realizar restablecemento?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ao finalizar esta configuración, restableceranse os valores de fábrica do dispositivo e accederás á primeira pantalla."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Restablecer dispositivo"</string>
-</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
new file mode 100644
index 0000000..68c5a23
--- /dev/null
+++ b/res/values-gl/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Configuración do perfil de traballo"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Vaia!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Configurar o perfil de traballo"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"A túa organización controla este perfil e manteno seguro. Ti controlas o resto do contido do dispositivo."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"A túa organización controlará e protexerá este dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A seguinte aplicación ten que acceder ao teu perfil:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"A seguinte aplicación xestionará o teu dispositivo:"</string>
+    <string name="next" msgid="1004321437324424398">"Seguinte"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando o teu perfil de traballo..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"O teu administrador pode controlar e xestionar a configuración, o acceso corporativo, as aplicacións, os permisos e os datos asociados con este perfil, mesmo a actividade da túa rede; así como a localización do dispositivo, o historial de chamadas e o historial de busca de contactos.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacta co teu administrador para obter máis información e consultar as políticas de privacidade da túa organización."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"O teu administrador pode controlar e xestionar a configuración, o acceso corporativo, as aplicacións, os permisos e os datos asociados con este dispositivo, mesmo a actividade da túa rede; así como a localización do dispositivo, o historial de chamadas e o historial de busca de contactos.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacta co teu administrador para obter máis información e consultar as políticas de privacidade da túa organización."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para usar as funcións antirroubo, o teu dispositivo debe contar cun bloqueo da pantalla protexido por contrasinal."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contacta co teu administrador para obter máis información, incluídas as políticas de privacidade da túa organización."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Máis información"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Aceptar"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Acepto"</string>
+    <string name="url_error" msgid="5958494012986243186">"Non se pode mostrar esta ligazón."</string>
+    <string name="terms" msgid="8295436105384703903">"Condicións"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Información do perfil de traballo"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Información sobre o dispositivo xestionado"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil do traballo"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuario principal"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Queres eliminar o perfil existente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Xa tes un perfil de traballo que se xestiona mediante a seguinte aplicación:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de proceder, "<a href="#read_this_link">"le esta información"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se continúas, eliminaranse todas as aplicacións e os datos deste perfil."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Antes de configurar o teu perfil de traballo, hai que encriptar o dispositivo. Este proceso pode tardar uns minutos."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Antes de configurar este dispositivo, hai que encriptalo. Este proceso pode tardar uns minutos."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encriptar disposit.?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encriptar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Cifrado completo"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toca para continuar coa configuración do teu perfil de traballo"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Non se puido configurar o teu perfil de traballo. Ponte en contacto co departamento de TI ou téntao de novo máis tarde."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Produciuse un erro ao engadir o perfil de traballo"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este usuario non pode ter un perfil de traballo. Contacta co administrador para obter axuda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este usuario non pode ter perfís de traballo. Contacta co administrador."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Os perfís de traballo non se poden configurar nun dispositivo xestionado"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Este dispositivo ten demasiados usuarios. Quita un e téntao de novo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cambia o launcher do dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"O teu perfil de traballo non pode utilizar este launcher"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuración do usuario incompleta"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuario do dispositivo de traballo"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Configurar o dispositivo de traballo"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Procesando datos de configuración..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando coa wifi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Descargando a aplicación de administración..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Instalando a aplicación de administración..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Eliminando aplicacións non obrigatorias…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Dando os últimos retoques…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Definindo o propietario do dispositivo..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Iniciando dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo non permite utilizar a encriptación, que é necesaria para a configuración. Contacta co administrador para obter axuda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Queres deter a configuración e restablecer o dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Desta forma restablecerase o dispositivo e accederás á primeira pantalla"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Queres deter a configuración e borrar os datos do dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Aceptar"</string>
+    <string name="reset" msgid="6467204151306265796">"Restablecer"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Produciuse un erro ao configurar o perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Produciuse un erro ao configurar o dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Non se puido configurar o dispositivo. Contacta co administrador para obter axuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contacta co administrador para obter axuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"O dispositivo xa está configurado"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Non se puido conectar coa wifi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"O teu dispositivo ten activada a protección contra o restablecemento de fábrica. Contacta co administrador para obter axuda."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Borrando"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Agarda..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Non se puido utilizar a aplicación de administración debido a un erro da suma de verificación. Contacta co administrador para obter axuda."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Non se puido descargar a aplicación de administración"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Produciuse un erro ao utilizar a aplicación de administración. Fáltanlle compoñentes ou está danada. Contacta co administrador para obter axuda."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Non se puido instalar a aplicación de administración"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Queres deter a configuración?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Si"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Queres deter a configuración do perfil?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Podes configurar o perfil de traballo máis tarde na aplicación de xestión de dispositivos da túa organización"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Deter"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignorar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Estás a punto de crear un perfil de traballo, que a túa organización xestionará e controlará. Aplicaranse as condicións pertinentes."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Estás a punto de crear un perfil de traballo que a túa organización xestionará e controlará. Aplicaranse as condicións de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Crearase un perfil para as aplicacións que utilizas para traballar. A túa organización xestionará e controlará este perfil e o resto do dispositivo. Aplicaranse as condicións pertinentes."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Crearase un perfil para as aplicacións que utilizas para traballar. A túa organización xestionará e controlará este perfil e o resto do dispositivo. Aplicaranse as condicións de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> xestionará e protexerá este dispositivo. Aplicaranse as condicións pertinentes. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> xestionará e protexerá este dispositivo. Aplícanse as condicións de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Esta ligazón non é segura e non se pode abrir ata que se remate de configurar o dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Se tes algunha dúbida, contacta co <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Se tes algunha pregunta, contacta co administrador da túa organización"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"A configuración non rematou. Contacta co administrador para obter axuda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Contacta co administrador para obter axuda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador da organización"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> xestionará e controlará este dispositivo coa seguinte aplicación:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"A túa organización"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"a túa organización"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Consultar condicións"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceptar e continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Pechar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configurar o teu dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Cambia a forma de traballar"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separar o perfil do traballo do persoal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Un lugar para as aplicacións do traballo"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Esquécete do traballo en canto o remates"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Aprovisionando"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Configurando certificados de CA"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configura o teu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Se utilizas un perfil de traballo, podes manter separados os datos persoais e os do traballo"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Se utilizas un perfil de traballo, podes manter nun único lugar as aplicacións que utilizas para traballar"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Configura o teu perfil. Encriptación"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Configura o teu perfil. Mostrando progreso"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configura o teu dispositivo"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Configura o teu dispositivo. Encriptación"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Configura o teu dispositivo. Mostrando progreso"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Botón Máis información"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Icona de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Título da sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Contido da sección <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Despregar"</string>
+    <string name="collapse" msgid="7817530505064432580">"Contraer"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accede a unha lista de ligazóns"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accede a ligazóns"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accede a condicións"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Le as condicións"</string>
+    <string name="close_list" msgid="9053538299788717597">"Pechar lista"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Finalizar config. e realizar restablecemento?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ao finalizar esta configuración, restableceranse os valores de fábrica do dispositivo e accederás á primeira pantalla."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Restablecer dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> e <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> e <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
deleted file mode 100644
index 0f2e9c9..0000000
--- a/res/values-gu-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"કાર્ય પ્રોફાઇલ સેટ કરો"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ઊફ્ફ્ફ!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"કાર્ય પ્રોફાઇલ સેટ કરો"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"તમારી સંસ્થા આ પ્રોફાઇલને નિયંત્રિત કરે છે અને તેને સુરક્ષિત રાખે છે. તમે તમારા ઉપકરણ પર બાકીનું બધું નિયંત્રિત કરો છો."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"તમારી સંસ્થા આ ઉપકરણનું નિયંત્રણ કરશે અને તેને સુરક્ષિત રાખશે."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"નીચેની એપ્લિકેશનને આ પ્રોફાઇલ ઍક્સેસ કરવાની જરૂર પડશે:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"નીચેની ઍપ્લિકેશન તમારા ઉપકરણને સંચાલિત કરશે:"</string>
-    <string name="next" msgid="1004321437324424398">"આગલું"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"તમારી કાર્ય પ્રોફાઇલ સેટ કરી રહ્યું છે..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"તમારા વ્યવસ્થાપક પાસે નેટવર્ક પ્રવૃત્તિ તેમજ તમારા ઉપકરણનું સ્થાન, કૉલ ઇતિહાસ અને સામગ્રી શોધ ઇતિહાસ સહિત સેટિંગ્સ, કૉર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, પરવાનગીઓ અને આ પ્રોફાઇલ સાથે સંકળાયેલ ડેટાને મૉનિટર અને સંચાલિત કરવાની ક્ષમતા છે."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"તમારા વ્યવસ્થાપક પાસે નેટવર્ક પ્રવૃત્તિ અને તમારા ઉપકરણની સ્થાન માહિતી સહિત સેટિંગ્સ, કૉર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, પરવાનગીઓ અને આ ઉપકરણ સાથે સંકળાયેલ ડેટાને મૉનિટર અને સંચાલિત કરવાની ક્ષમતા છે."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ચોરીથી-રક્ષણની સુવિધાઓનો ઉપયોગ કરવા માટે, તમારી પાસે તમારા ઉપકરણ માટે પાસવર્ડથી-સુરક્ષિત સ્ક્રીન લૉક હોવો આવશ્યક છે."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"તમારી સંસ્થાની ગોપનીયતા નીતિઓ સહિત વધુ માહિતી માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"વધુ જાણો"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"રદ કરો"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ઓકે"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"હું સંમતિ આપું છું"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"કાર્ય પ્રોફાઇલ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"પ્રાથમિક વપરાશકર્તા"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"કાર્ય પ્રોફાઇલ દૂર કરીએ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"કાર્ય પ્રોફાઇલ પહેલેથી અસ્તિત્વમાં છે અને આમના દ્વારા સંચાલિત થાય છે:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"આ કાર્ય પ્રોફાઇલને આની મદદથી %s માટે સંચાલિત કરી છે:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"આગળ વધતા પહેલાં, "<a href="#read_this_link">"આ વાંચો"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"જો ચાલુ રાખો છો, તો આ પ્રોફાઇલમાંની તમામ ઍપ્લિકેશનો અને ડેટા કાઢી નાખવામાં આવશે."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"કાઢી નાખો"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"રદ કરો"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"તમારી કાર્ય પ્રોફાઇલ સેટ કરવાનું ચાલુ રાખવા માટે, તમારે તમારા ઉપકરણને એન્ક્રિપ્ટ કરવાની જરૂર પડશે. આમાં થોડો સમય લાગી શકે છે."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"તમારા ઉપકરણને સેટ કરવાનું ચાલુ રાખવા માટે, તમારે તેને એન્ક્રિપ્ટ કરવાની જરૂર છે. આમાં થોડો સમય લાગી શકે છે."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"એન્ક્રિપ્ટ કરો"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"એન્ક્રિપ્શન પૂર્ણ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"તમારી કાર્ય પ્રોફાઇલ સેટ કરવાનું ચાલુ રાખવા માટે ટૅપ કરો"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"તમારી કાર્ય પ્રોફાઇલ સેટ કરી શકાઈ નથી. તમારા આઇટી વિભાગનો સંપર્ક કરો અથવા પછી ફરીથી પ્રયાસ કરો."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"તમારું ઉપકરણ કાર્ય પ્રોફાઇલ્સનું સમર્થન કરતું નથી"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"આ વપરાશકર્તા કાર્ય પ્રોફાઇલ ધરાવી શકતો નથી"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"સંચાલિત ઉપકરણ પર કાર્ય પ્રોફાઇલ્સ સેટ કરી શકાતી નથી"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"કાર્ય પ્રોફાઇલ બનાવી શકાતી નથી કારણ કે તમે તમારા ઉપકરણ પર વપરાશકર્તાઓની મહત્તમ સંખ્યા સુધી પહોંચી ગયા છો. ઓછામાં ઓછો એક વપરાશકર્તા દૂર કરો અને ફરીથી પ્રયાસ કરો."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"તમારી કાર્ય પ્રોફાઇલ આ લોન્ચર ઍપ્લિકેશન દ્વારા સમર્થિત નથી. તમારે તેવા એક લોન્ચર પર સ્વિચ કરવું જોઈએ જે સુસંગત હોય."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"રદ કરો"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ઓકે"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"વપરાશકર્તા સેટઅપ અપૂર્ણ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"કાર્ય ઉપકરણના વપરાશકર્તા"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"કાર્ય ઉપકરણને સેટ કરો"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"સેટઅપ ડેટા પર પ્રક્રિયા કરી રહ્યું છે..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi સાથે કનેક્ટ કરી રહ્યું છે..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"વ્યવસ્થાપક ઍપ્લિકેશન ડાઉનલોડ કરી રહ્યું છે..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"વ્યવસ્થાપક ઍપ્લિકેશન ઇન્સ્ટોલ કરે છે..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ઉપકરણ માલિક સેટ કરી રહ્યું છે..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"તમારું ઉપકરણ એન્ક્રિપ્શનનું સમર્થન કરતું નથી. તમારા IT વિભાગનો સંપર્ક કરો."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"સેટ કરવાનું બંધ કરીને તમારા ઉપકરણનો ડેટા કાઢી નાખીએ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"રદ કરો"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ઓકે"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ફરીથી સેટ કરો"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"તમારું ઉપકરણ સેટ કરી શકાયું નથી. તમારા આઇટી વિભાગનો સંપર્ક કરો."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"આ ઉપકરણ પહેલાંથી જ સેટ કરેલું છે."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi સાથે કનેક્ટ કરી શકાયું નથી"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"આ ઉપકરણ ફેક્ટરી ફરીથી સેટ કરો સુરક્ષા દ્વારા લૉક કરેલ છે. તમારા IT વિભાગનો સંપર્ક કરો."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"કાઢી નાંખી રહ્યું છે"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"કૃપા કરીને રાહ જુઓ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"એક ચેકસમ ભૂલને કારણે વ્યવસ્થાપક એપ્લિકેશનનો ઉપયોગ કરી શકાયો નથી. તમારા IT વિભાગનો સંપર્ક કરો."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"વ્યવસ્થાપક ઍપ્લિકેશન ડાઉનલોડ કરી શકાઈ નથી"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"વ્યવસ્થાપક એપ્લિકેશનનો ઉપયોગ કરી શકતાં નથી. તેમાં ઘટકો ખૂટે છે અથવા દૂષિત છે. તમારા IT વિભાગનો સંપર્ક કરો."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"વ્યવસ્થાપક ઍપ્લિકેશન ઇન્સ્ટોલ કરી શકાઈ નહીં"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"સેટ કરવાનું રોકીએ?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"નહીં"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"હા"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"રદ કરી રહ્યું છે..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"પ્રોફાઇલ સેટઅપ રોકીએ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"તમે તમારી કાર્ય પ્રોફાઇલ, તમારી સંસ્થા દ્વારા ઉપયોગમાં લેવાતી ઉપકરણ સંચાલન એપ્લિકેશનથી પછીથી સેટ કરી શકો છો."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ચાલુ રાખો"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"રોકો"</string>
-    <string name="provisioning" msgid="4512493827019163451">"જોગવાઈ કરી રહ્યું છે"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA પ્રમાણપત્રો સેટ કરી રહ્યાં છે"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"તમારી પ્રોફાઇલ સેટ કરો. સેટઅપ શરૂ કરો"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"તમારી પ્રોફાઇલ સેટ કરો. એન્ક્રિપ્શન"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"તમારી પ્રોફાઇલ સેટ કરો. પ્રગતિ દર્શાવી રહ્યાં છે"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"તમારું ઉપકરણ સેટ કરો. સેટઅપ શરૂ કરો"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"તમારું ઉપકરણ સેટ કરો. એન્ક્રિપ્શન"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"તમારું ઉપકરણ સેટ કરો. પ્રગતિ દર્શાવી રહ્યાં છે"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"વધુ જાણો બટન"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> આયકન"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"સેટઅપ સમાપ્ત કરી અને ફેક્ટરી રીસેટ કરીએ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"આ સેટઅપને સમાપ્ત કરવું તમારા ઉપકરણને ફેક્ટરી રીસેટ કરશે અને તે તમને પહેલી સ્ક્રીન પર પરત લઈ જશે."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"રદ કરો"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ઉપકરણ ફરીથી સેટ કરો"</string>
-</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
new file mode 100644
index 0000000..39fdddf
--- /dev/null
+++ b/res/values-gu/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"કાર્ય પ્રોફાઇલ સેટ કરો"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ઊફ્ફ્ફ!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"કાર્ય પ્રોફાઇલ સેટ કરો"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"તમારી સંસ્થા આ પ્રોફાઇલને નિયંત્રિત કરે છે અને તેને સુરક્ષિત રાખે છે. તમે તમારા ઉપકરણ પર બાકીનું બધું નિયંત્રિત કરો છો."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"તમારી સંસ્થા આ ઉપકરણનું નિયંત્રણ કરશે અને તેને સુરક્ષિત રાખશે."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"નીચેની એપ્લિકેશનને આ પ્રોફાઇલ ઍક્સેસ કરવાની જરૂર પડશે:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"નીચેની ઍપ્લિકેશન તમારા ઉપકરણને સંચાલિત કરશે:"</string>
+    <string name="next" msgid="1004321437324424398">"આગલું"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"તમારી કાર્ય પ્રોફાઇલ સેટ કરી રહ્યું છે..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"તમારા વ્યવસ્થાપક સેટિંગ્સ, કૉર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, પરવાનગીઓ અને તમારી નેટવર્ક પ્રવૃત્તિ સહિતનો આ પ્રોફાઇલ સાથે સંલગ્ન ડેટા, ઉપરાંત તમારા ઉપકરણનું સ્થાન, કૉલ ઇતિહાસ અને સંપર્ક શોધ ઇતિહાસનું નિયમન તથા સંચાલન કરવાની ક્ષમતા ધરાવે છે.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>તમારી સંસ્થાની ગોપનીયતા નીતિ સહિતની વધુ માહિતી માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"તમારા વ્યવસ્થાપક સેટિંગ્સ, કૉર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, પરવાનગીઓ અને તમારી નેટવર્ક પ્રવૃત્તિ સહિતનો આ ઉપકરણ સાથે સંલગ્ન ડેટા, ઉપરાંત તમારા ઉપકરણનું સ્થાન, કૉલ ઇતિહાસ અને સંપર્ક શોધ ઇતિહાસનું નિયમન તથા સંચાલન કરવાની ક્ષમતા ધરાવે છે.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>તમારી સંસ્થાની ગોપનીયતા નીતિ સહિતની વધુ માહિતી માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ચોરીથી-રક્ષણની સુવિધાઓનો ઉપયોગ કરવા માટે, તમારી પાસે તમારા ઉપકરણ માટે પાસવર્ડથી-સુરક્ષિત સ્ક્રીન લૉક હોવો આવશ્યક છે."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"તમારી સંસ્થાની ગોપનીયતા નીતિઓ સહિત વધુ માહિતી માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"વધુ જાણો"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"રદ કરો"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ઓકે"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"હું સંમતિ આપું છું"</string>
+    <string name="url_error" msgid="5958494012986243186">"આ લિંક પ્રદર્શિત કરી શકાશે નહીં."</string>
+    <string name="terms" msgid="8295436105384703903">"શરતો"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"કાર્ય પ્રોફાઇલની માહિતી"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"સંચાલિત ઉપકરણની માહિતી"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"કાર્ય પ્રોફાઇલ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"પ્રાથમિક વપરાશકર્તા"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"વર્તમાન પ્રોફાઇલ કાઢી નાખીએ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"તમે પહેલેથી નિમ્નલિખિત ઍપ્લિકેશનના ઉપયોગ દ્વારા સંચાલિત કાર્ય પ્રોફાઇલ ધરાવો છો:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"આગળ વધતા પહેલાં, "<a href="#read_this_link">"આ વાંચો"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"જો ચાલુ રાખો છો, તો આ પ્રોફાઇલમાંની તમામ ઍપ્લિકેશનો અને ડેટા કાઢી નાખવામાં આવશે."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"કાઢી નાખો"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"રદ કરો"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"તમારી કાર્ય પ્રોફાઇલ સેટ કરવા માટે, તમારા ઉપકરણને એન્ક્રિપ્ટ કરવાની જરૂર છે. આમાં થોડો સમય લાગી શકે છે."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"આ ઉપકરણ સેટ કરવા માટે, તેને પહેલાં એન્ક્રિપ્ટ કરવાની જરૂર છે. આમાં થોડો સમય લાગી શકે છે."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"આને એન્ક્રિપ્ટ કરીએ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"એન્ક્રિપ્ટ કરો"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"એન્ક્રિપ્શન પૂર્ણ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"તમારી કાર્ય પ્રોફાઇલ સેટ કરવાનું ચાલુ રાખવા માટે ટૅપ કરો"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"તમારી કાર્ય પ્રોફાઇલ સેટ કરી શકાઈ નથી. તમારા આઇટી વિભાગનો સંપર્ક કરો અથવા પછી ફરીથી પ્રયાસ કરો."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"કાર્ય પ્રોફાઇલ ઉમેરી શકતા નથી"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"આ વપરાશકર્તા કાર્ય પ્રોફાઇલ ધરાવી શકે નહીં. તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"આ વપરાશકર્તા કાર્ય પ્રોફાઇલો ધરાવી શકે નહીં. તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"સંચાલિત ઉપકરણ પર કાર્ય પ્રોફાઇલ્સ સેટ કરી શકાતી નથી"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"આ ઉપકરણ પર કદાચ ઘણા બધા વપરાશકર્તાઓ છે. એક વપરાશકર્તાને દૂર કરો, પછી ફરીથી પ્રયાસ કરો."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ઉપકરણ લોન્ચર બદલો"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"તમારી કાર્ય પ્રોફાઇલ દ્વારા આ લોન્ચર ઍપ્લિકેશનનો ઉપયોગ કરી શકાશે નહીં"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"રદ કરો"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ઓકે"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"વપરાશકર્તા સેટઅપ અપૂર્ણ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"કાર્ય ઉપકરણના વપરાશકર્તા"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"કાર્ય ઉપકરણને સેટ કરો"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"સેટઅપ ડેટા પર પ્રક્રિયા કરી રહ્યું છે..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi સાથે કનેક્ટ કરી રહ્યું છે..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"વ્યવસ્થાપક ઍપ્લિકેશન ડાઉનલોડ કરી રહ્યું છે..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"વ્યવસ્થાપક ઍપ્લિકેશન ઇન્સ્ટોલ કરે છે..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"બિન-આવશ્યક સિસ્ટમ ઍપ્લિકેશનો દૂર કરે છે…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"અંતિમ રૂપ આપી રહ્યાં છે…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ઉપકરણ માલિક સેટ કરી રહ્યું છે..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ઉપકરણ શરૂ કરી રહ્યાં છે…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"સેટઅપ માટે આવશ્યક છે તે એન્ક્રિપ્શનની મંજૂરી આ ઉપકરણ આપતું નથી. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"સેટઅપ અટકાવીને ઉપકરણને ફરીથી સેટ કરીએ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"આ તમારા ઉપકરણને ફરીથી સેટ કરશે અને તમને પાછા પ્રથમ સ્ક્રીન પર લઈ જશે"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"સેટ કરવાનું બંધ કરીને તમારા ઉપકરણનો ડેટા કાઢી નાખીએ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"રદ કરો"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ઓકે"</string>
+    <string name="reset" msgid="6467204151306265796">"ફરીથી સેટ કરો"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"પ્રોફાઇલ સેટ કરી શકતા નથી"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ઉપકરણ સેટ કરી શકતા નથી"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ઉપકરણ સેટ કરી શક્યા નહીં. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"સહાય માટે તમારા વ્યવસ્થાપકનો સંપર્ક કરો"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ઉપકરણ પહેલેથી જ સેટ કરેલું છે"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi સાથે કનેક્ટ કરી શકાયું નથી"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"તમારા ઉપકરણે સુરક્ષા ફરીથી સેટ કરવાનું ચાલુ કર્યું છે. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"કાઢી નાંખી રહ્યું છે"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"કૃપા કરીને રાહ જુઓ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ચેકસમ ભૂલને કારણે વ્યવસ્થાપક ઍપ્લિકેશનનો ઉપયોગ કરી ન શક્યા. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"વ્યવસ્થાપક ઍપ્લિકેશન ડાઉનલોડ કરી શકાઈ નથી"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"વ્યવસ્થાપક ઍપ્લિકેશનનો ઉપયોગ કરી શકતા નથી. તેમાં ઘટકો ખૂટે છે તે અથવા દૂષિત છે. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"વ્યવસ્થાપક ઍપ્લિકેશન ઇન્સ્ટોલ કરી શકાઈ નહીં"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"સેટ કરવાનું રોકીએ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"નહીં"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"હા"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"રદ કરી રહ્યું છે..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"પ્રોફાઇલ સેટઅપ રોકીએ?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"તમે તમારી સંસ્થાની ઉપકરણ સંચાલન ઍપ્લિકેશનમાં પછીથી તમારી કાર્ય પ્રોફાઇલ સેટ કરી શકો છો"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ચાલુ રાખો"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"રોકો"</string>
+    <string name="dismiss" msgid="9009534756748565880">"છોડી દો"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"તમે એક કાર્ય પ્રોફાઇલ બનાવવા જઈ રહ્યા છો, જેનું સંચાલન અને નિયમન તમારી સંસ્થા દ્વારા થશે. શરતો લાગુ થશે."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"તમે એક કાર્ય પ્રોફાઇલ બનાવવા જઈ રહ્યા છો, જેનું સંચાલન અને નિયમન તમારી સંસ્થા દ્વારા થશે. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>ની શરતો લાગુ થશે."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"તમારી કાર્ય ઍપ્લિકેશનો માટે એક પ્રોફાઇલ બનાવવામાં આવશે. આ પ્રોફાઇલનું અને તમારા બાકીના ઉપકરણનું સંચાલન અને નિયમન તમારી સંસ્થા દ્વારા થશે. શરતો લાગુ થશે."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"તમારી કાર્ય ઍપ્લિકેશનો માટે એક પ્રોફાઇલ બનાવવામાં આવશે. આ પ્રોફાઇલનું અને તમારા બાકીના ઉપકરણનું સંચાલન અને નિયમન તમારી સંસ્થા દ્વારા થશે. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>ની શરતો લાગુ થશે."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"આ ઉપકરણનું સંચાલન અને સુરક્ષા <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> દ્વારા કરવામાં આવશે. શરતો લાગુ થશે. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"આ ઉપકરણનું સંચાલન અને સુરક્ષા <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> દ્વારા કરવામાં આવશે. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>ની શરતો લાગુ થશે. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"આ લિંક સુરક્ષિત નથી અને જ્યાં સુધી ઉપકરણનું સેટઅપ પૂર્ણ ન થાય, ત્યાં સુધી તે ખોલી શકાશે નહીં: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"જો તમને પ્રશ્નો હોય, તો તમારા <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>નો સંપર્ક કરો."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"જો તમને પ્રશ્નો હોય, તો તમારી સંસ્થાના વ્યવસ્થાપકનો સંપર્ક કરો"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"સેટઅપ પૂર્ણ થયું નથી. સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"સહાય માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"સંસ્થાના વ્યવસ્થાપક"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> નિમ્નલિખિત ઍપ્લિકેશનનો ઉપયોગ કરીને આ ઉપકરણનું સંચાલન અને નિયમન કરશે:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"તમારી સંસ્થા"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"તમારી સંસ્થા"</string>
+    <string name="view_terms" msgid="7230493092383341605">"શરતો જુઓ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"સ્વીકારો અને ચાલુ રાખો"</string>
+    <string name="close" msgid="7208600934846389439">"બંધ કરો"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"તમારા ઉપકરણને સેટ કરો"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"તમારી કાર્યપદ્ધતિમાં ફેરફાર કરો"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"વ્યક્તિગત ડેટામાંથી કાર્ય ડેટાને અલગ કરો"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"કાર્ય ઍપ્લિકેશનો માટે એક સ્થાન"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"જ્યારે તમારું કાર્ય પૂર્ણ થાય ત્યારે બંધ કરો"</string>
+    <string name="provisioning" msgid="4512493827019163451">"જોગવાઈ કરી રહ્યું છે"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA પ્રમાણપત્રો સેટ કરી રહ્યાં છે"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"તમારી પ્રોફાઇલ સેટ કરો"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"કાર્ય પ્રોફાઇલનો ઉપયોગ કરીને, તમે કાર્ય ડેટાને વ્યક્તિગત ડેટાથી જુદો પાડી શકો છો"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"કાર્ય પ્રોફાઇલનો ઉપયોગ કરીને, તમે તમારી કાર્ય ઍપ્લિકેશનો એક સ્થાને રાખી શકો છો"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"તમારી પ્રોફાઇલ સેટ કરો. એન્ક્રિપ્શન"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"તમારી પ્રોફાઇલ સેટ કરો. પ્રગતિ દર્શાવી રહ્યાં છે"</string>
+    <string name="setup_device" msgid="6725265673245816366">"તમારા ઉપકરણને સેટ કરો"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"તમારું ઉપકરણ સેટ કરો. એન્ક્રિપ્શન"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"તમારું ઉપકરણ સેટ કરો. પ્રગતિ દર્શાવી રહ્યાં છે"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"વધુ જાણો બટન"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> આયકન"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> વિભાગીય મથાળું."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> વિભાગીય સામગ્રી: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"વિસ્તૃત કરો"</string>
+    <string name="collapse" msgid="7817530505064432580">"સંકુચિત કરો"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"લિંકની સૂચિને ઍક્સેસ કરો"</string>
+    <string name="access_links" msgid="7991363727326168600">"લિંકને ઍક્સેસ કરો"</string>
+    <string name="access_terms" msgid="1982500872249763745">"શરતોને ઍક્સેસ કરો"</string>
+    <string name="read_terms" msgid="1745011123626640728">"શરતો વાંચો"</string>
+    <string name="close_list" msgid="9053538299788717597">"સૂચિ બંધ કરો"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"સેટઅપ સમાપ્ત કરી અને ફેક્ટરી રીસેટ કરીએ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"આ સેટઅપને સમાપ્ત કરવું તમારા ઉપકરણને ફેક્ટરી રીસેટ કરશે અને તે તમને પહેલી સ્ક્રીન પર પરત લઈ જશે."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"રદ કરો"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ઉપકરણ ફરીથી સેટ કરો"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> અને <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> અને <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f46dd7f..dbbe896 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"निम्‍न ऐप आपके डिवाइस को प्रबंधित करेगा:"</string>
     <string name="next" msgid="1004321437324424398">"अगला"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"आपकी कार्य प्रोफ़ाइल सेट की जा रही है…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"आपके व्यवस्थापक के पास इस प्रोफ़ाइल से संबद्ध सेटिंग, कॉर्पोरेट एक्सेस, ऐप्लिकेशन, अनुमतियों और डेटा की निगरानी करने तथा उन्हें प्रबंधित करने की क्षमता है, जिसमें आपकी नेटवर्क गतिविधि के साथ ही आपके डिवाइस का स्थान, कॉल इतिहास और संपर्क खोज इतिहास शामिल है."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"आपके व्यवस्थापक के पास नेटवर्क गतिविधि और आपके डिवाइस के स्थान की जानकारी सहित, इस डिवाइस से संबद्ध सेटिंग, कॉर्पोरेट एक्सेस, ऐप्लिकेशन, अनुमतियों और डेटा की निगरानी करने और उसे प्रबंधित करने की क्षमता है."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"आपका व्यवस्थापक आपकी नेटवर्क गतिविधि सहित, इस प्रोफ़ाइल से जुड़ी सेटिंग, कॉर्पोरेट एक्सेस, ऐप्लिकेशन, अनुमतियों और डेटा के साथ ही आपके डिवाइस के स्थान, कॉल इतिहास और संपर्क खोज इतिहास की निगरानी और उसका प्रबंधन कर सकता है.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>अपने संगठन की निजता नीतियों सहित, अधिक जानकारी के लिए अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"आपका व्यवस्थापक आपकी नेटवर्क गतिविधि सहित, इस डिवाइस से जुड़ी सेटिंग, कॉर्पोरेट एक्सेस, ऐप्लिकेशन, अनुमतियों और डेटा के साथ ही आपके डिवाइस के स्थान, कॉल इतिहास और संपर्क खोज इतिहास की निगरानी और उसका प्रबंधन कर सकता है.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>अपने संगठन की निजता नीतियों सहित, अधिक जानकारी के लिए अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"चोरी से सुरक्षा संबंधी सुविधाओं का उपयोग करने के लिए, आपके पास अपने डिवाइस के लिए पासवर्ड द्वारा सुरक्षित स्क्रीन लॉक होना चाहिए."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"अपने संगठन की निजता नीतियों सहित, अधिक जानकारी के लिए अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"और जानें"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"अभी नहीं"</string>
     <string name="ok_setup" msgid="4593707675416137504">"ठीक"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"मैं सहमत हूं"</string>
+    <string name="url_error" msgid="5958494012986243186">"यह लिंक दिखाया नहीं जा सकता."</string>
+    <string name="terms" msgid="8295436105384703903">"शर्तें"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"कार्य प्रोफ़ाइल की जानकारी"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"प्रबंधित डिवाइस की जानकारी"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफ़ाइल"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"प्राथमिक उपयोगकर्ता"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफ़ाइल निकालें?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"एक कार्य प्रोफ़ाइल पहले से मौजूद है और इनके द्वारा प्रबंधित की जाती है:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"यह कार्य प्रोफ़ाइल %s के लिए इसके उपयोग से प्रबंधित की जाती है:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"मौजूदा प्रोफ़ाइल हटाना चाहते हैं?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"आपकी एक कार्य प्रोफ़ाइल पहले से है जिसका प्रबंधन इस ऐप्लिकेशन के उपयोग से किया जाता है:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"आगे बढ़ने से पहले, "<a href="#read_this_link">"यह पढ़ें"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"यदि आप जारी रखते हैं, तो इस प्रोफ़ाइल के सभी ऐप्लिकेशन और डेटा को हटा दिया जाएगा."</string>
     <string name="delete_profile" msgid="2299218578684663459">"हटाएं"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"अभी नहीं"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"अपनी कार्य प्रोफ़ाइल सेट करना जारी रखने के लिए, आपको अपने डिवाइस को एन्क्रिप्ट करना होगा. इसमें कुछ समय लग सकता है."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"अपना डिवाइस सेट करना जारी रखने के लिए, आपको इसे एन्‍क्रिप्‍ट करना होगा. इसमें कुछ समय लग सकता है."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"एन्‍क्रिप्‍ट करें"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"अपनी कार्य प्रोफ़ाइल सेट अप करने के लिए, आपके डिवाइस को एन्क्रिप्ट करना ज़रूरी है. इसमें कुछ समय लग सकता है."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"यह डिवाइस सेट अप करने के लिए, सबसे पहले इसे एन्क्रिप्ट करना ज़रूरी है. इसमें कुछ समय लग सकता है."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"डिवाइस एन्क्रिप्ट करें?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"एन्‍क्रिप्‍ट करें"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"एन्‍क्रिप्‍शन पूर्ण"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"अपनी कार्य प्रोफ़ाइल सेट करना जारी रखने के लिए टैप करें"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"आपकी कार्य प्रोफ़ाइल सेट नहीं की जा सकी. अपने IT विभाग से संपर्क करें या बाद में पुन: प्रयास करें."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"आपका डिवाइस कार्य प्रोफ़ाइल का समर्थन नहीं करता"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"इस उपयोगकर्ता की कार्य प्रोफ़ाइल नहीं हो सकती"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"कार्य प्रोफ़ाइल जोड़ी नहीं जा सकती"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"इस उपयोगकर्ता की कार्य प्रोफ़ाइल नहीं हो सकती. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"इस उपयोगकर्ता की कार्य प्रोफ़ाइल नहीं हो सकतीं. अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"कार्य प्रोफ़ाइल किसी प्रबंधित डिवाइस पर सेटअप नहीं की जा सकतीं"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"कार्य प्रोफ़ाइल नहीं बनाई जा सकती क्योंकि आप अपने डिवाइस पर उपयोगकर्ताओं की अधिकतम संख्या तक पहुंच गए हैं. कम से कम एक उपयोगकर्ता को निकालें और पुन: प्रयास करें."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"आपकी कार्य प्रोफ़ाइल इस लॉन्चर ऐप्स द्वारा समर्थित नहीं है. आपको किसी संगत लॉन्चर पर स्विच करना होगा."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"इस डिवाइस पर शायद बहुत से उपयोगकर्ता हैं. किसी उपयोगकर्ता को निकालें, फिर दोबारा कोशिश करें."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"डिवाइस लॉन्चर बदलें"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"आपकी कार्य प्रोफ़ाइल इस लॉन्चर ऐप्लिकेशन का उपयोग नहीं कर सकती"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"अभी नहीं"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"ठीक"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"उपयोगकर्ता सेटअप अधूरा है"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"वाई-फ़ाई से कनेक्ट हो रहा है…"</string>
     <string name="progress_download" msgid="3522436271691064624">"नियंत्रक ऐप डाउनलोड हो रहा है…"</string>
     <string name="progress_install" msgid="2258045670385866183">"नियंत्रक ऐप इंस्टॉल हो रहा है…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"अनावश्यक सिस्टम ऐप्लिकेशन निकाले जा रहे हैं…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"अंतिम रूप दिया जा रहा है…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"डिवाइस स्वामी सेट किया जा रहा है…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"आपका डिवाइस एन्क्रिप्शन का समर्थन नहीं करता. अपने आईटी विभाग से संपर्क करें."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"डिवाइस शुरू हो रहा है…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"यह डिवाइस एन्क्रिप्शन की अनुमति नहीं देता है, जो सेटअप के लिए ज़रूरी है. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"सेटअप रोकेंं और डिवाइस रीसेट करें?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"इससे आपका डिवाइस रीसेट हो जाएगा और आप वापस पहली स्क्रीन पर चले जाएंगे"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"सेट करना बंद करें और आपके डिवाइस का डेटा मिटाएं?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"अभी नहीं"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"ठीक"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"रीसेट करें"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"आपका डिवाइस सेट नहीं किया जा सका. अपने IT विभाग से संपर्क करें."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"यह डिवाइस पहले से सेट किया गया है."</string>
+    <string name="reset" msgid="6467204151306265796">"रीसेट करें"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"प्रोफ़ाइल सेट अप नहीं की जा सकती"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"डिवाइस सेट अप नहीं किया जा सकता"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"डिवाइस सेट अप नहीं किया जा सका. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"सहायता के लिए अपने व्यवस्थापक से संपर्क करें"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"डिवाइस पहले ही सेट अप किया जा चुका है"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाई-फ़ाई से कनेक्‍ट नहीं हो सका"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"इस डिवाइस को फ़ैक्‍टरी रीसेट सुरक्षा के द्वारा लॉक किया गया है. अपने आईटी विभाग से संपर्क करें."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"आपके डिवाइस में रीसेट सुरक्षा चालू है. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"मिटाया जा रहा है"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"कृपया प्रतीक्षा करें..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"चेकसम त्रुटि के कारण व्यवस्थापक ऐप्स का उपयोग नहीं किया जा सका. अपने IT विभाग से संपर्क करें."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"चेकसम गड़बड़ी के कारण व्यवस्थापक ऐप्लिकेशन का उपयोग नहीं किया जा सका. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"व्यवस्थापक ऐप्स डाउनलोड नहीं किया जा सका"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"व्यवस्थापक ऐप्स का उपयोग नहीं किया जा सकता. उसमें घटक अनुपलब्ध हैं या वे दूषित हैं. अपने IT विभाग से संपर्क करें."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"व्यवस्थापक ऐप्लिकेशन का उपयोग नहीं किया जा सकता. उसमें घटक मौजूद नहीं हैं या वह खराब है. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"व्यवस्थापक ऐप्स इंस्टॉल नहीं किया जा सका"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"सेट करना रोकें?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"नहीं"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"हां"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"बंद किया जा रहा है..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"प्रोफ़ाइल सेटअप रोकें?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"आप बाद में अपने संगठन द्वारा उपयोग किए जाने वाले डिवाइस प्रबंधन ऐप से अपनी कार्य प्रोफ़ाइल सेट कर सकते हैं."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"जारी रखें"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"आप बाद में अपने संगठन के डिवाइस प्रबंधन ऐप्लिकेशन में अपनी कार्य प्रोफ़ाइल सेट अप कर सकते हैं"</string>
+    <string name="continue_button" msgid="7177918589510964446">"जारी रखें"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"रोकें"</string>
+    <string name="dismiss" msgid="9009534756748565880">"खारिज करें"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"आप ऐसी कार्य प्रोफ़ाइल बनाने जा रहे हैं जिसका प्रबंधन और निगरानी आपका संगठन करेगा. शर्तें लागू होंगी."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"आप ऐसी कार्य प्रोफ़ाइल बनाने जा रहे हैं जिसका प्रबंधन और निगरानी आपका संगठन करेगा. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> की शर्तें लागू होंगी."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"आपके कार्य ऐप्लिकेशन के लिए एक प्रोफ़ाइल बनाई जाएगी. इस प्रोफ़ाइल और आपके बाकी डिवाइस का प्रबंधन और उसकी निगरानी आपका संगठन करेगा. शर्तें लागू होंगी."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"आपके कार्य ऐप्लिकेशन के लिए एक प्रोफ़ाइल बनाई जाएगी. इस प्रोफ़ाइल और आपके बाकी डिवाइस का प्रबंधन और उसकी निगरानी आपका संगठन करेगा. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> की शर्तें लागू होंगी."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"इस डिवाइस का प्रबंधन <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> करेगा और वही उसे सुरक्षित बनाए रखेगा. शर्तें लागू होंगी. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"इस डिवाइस का प्रबंधन <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> करेगा और वही उसे सुरक्षित बनाए रखेगा. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> की शर्तें लागू होंगी. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"यह लिंक सुरक्षित नहीं है और इसे डिवाइस सेटअप पूरा हो जाने तक नहीं खोला जा सकता: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"अगर आप सवाल पूछना चाहते हैं, तो अपने <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> से संपर्क करें."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"अगर आप सवाल पूछना चाहते हैं, तो अपने संगठन के व्यवस्थापक से संपर्क करें"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"सेटअप पूरा नहीं हुआ है. सहायता के लिए, अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"सहायता के लिए, अपने व्यवस्थापक से संपर्क करें"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"संगठन का व्यवस्थापक"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> इस ऐप्लिकेशन का उपयोग करके आपके डिवाइस का प्रबंधन और उसकी निगरानी करेगा:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"आपका संगठन"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"आपका संगठन"</string>
+    <string name="view_terms" msgid="7230493092383341605">"शर्तें देखें"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"स्वीकारें व जारी रखें"</string>
+    <string name="close" msgid="7208600934846389439">"बंद करें"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"अपना डिवाइस सेट करें"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"अपने काम करने का तरीका बदलें"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"कार्य को व्यक्तिगत से अलग करें"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"कार्य ऐप्लिकेशन के लिए एक स्थान"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"जब आपका काम हो जाए तो काम बंद कर दें"</string>
     <string name="provisioning" msgid="4512493827019163451">"प्रावधान किया जा रहा है"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA प्रमाणपत्र सेट किए जा रहे हैं"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"अपनी प्रोफ़ाइल सेट करें. सेटअप प्रारंभ करें"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"अपनी प्रोफ़ाइल सेट अप करें"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"कार्य प्रोफ़ाइल का उपयोग करके, आप कार्य डेटा को व्यक्तिगत डेटा से अलग कर सकते हैं"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"कार्य प्रोफ़ाइल का उपयोग करके, आप अपने कार्य ऐप्लिकेशन एक ही स्थान पर रख सकते हैं"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"अपनी प्रोफ़ाइल सेट करें. एन्क्रिप्शन"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"अपनी प्रोफ़ाइल सेट करें. प्रगति दिखा रहा है"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"अपना डिवाइस सेट करें. सेटअप प्रारंभ करें"</string>
+    <string name="setup_device" msgid="6725265673245816366">"अपना डिवाइस सेट करें"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"अपना डिवाइस सेट करें. एन्क्रिप्शन"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"अपना डिवाइस सेट करें. प्रगति दिखा रहा है"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"और जानें बटन"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> आइकन"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> अनुभाग शीर्षक."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> अनुभाग सामग्री: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"विस्तृत करें"</string>
+    <string name="collapse" msgid="7817530505064432580">"संक्षिप्त करें"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"लिंक की सूची एक्सेस करें"</string>
+    <string name="access_links" msgid="7991363727326168600">"लिंक एक्सेस करें"</string>
+    <string name="access_terms" msgid="1982500872249763745">"शर्तें एक्सेस करें"</string>
+    <string name="read_terms" msgid="1745011123626640728">"शर्तें पढ़ें"</string>
+    <string name="close_list" msgid="9053538299788717597">"सूची बंद करें"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"सेटअप समाप्त करें और फ़ैक्टरी रीसेट करें?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"इस सेटअप को समाप्त करने से आपका डिवाइस फ़ैक्टरी रीसेट हो जाएगा और आपको वापस पहली स्क्रीन पर ले जाया जाएगा."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"अभी नहीं"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"डिवाइस रीसेट करें"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> और <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> और <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index bbd96e0..82dd2e9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Vašim će uređajem upravljati sljedeća aplikacija:"</string>
     <string name="next" msgid="1004321437324424398">"Dalje"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Postavljanje radnog profila…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Vaš administrator može nadzirati postavke, korporacijski pristup, aplikacije, dopuštenja i podatke povezane s profilom, uključujući aktivnosti na mreži, podatke o lokaciji uređaja, povijest poziva i pretraživanje kontakata te upravljati njima."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Vaš administrator može nadzirati postavke, korporacijski pristup, aplikacije, dopuštenja, značajke za zaštitu od krađe i podatke povezane s uređajem, uključujući aktivnosti na mreži i podatke o lokaciji uređaja te upravljati njima."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrator može nadzirati postavke, korporacijski pristup, aplikacije, dopuštenja i podatke o profilu, uključujući vašu aktivnost na mreži i lokaciju uređaja, povijest poziva i povijest pretraživanja kontakata te upravljati njima.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Obratite se administratoru za više informacija, uključujući informacije o pravilima o privatnosti vaše organizacije."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrator može nadzirati postavke, korporacijski pristup, aplikacije, dopuštenja i podatke o uređaju, uključujući vašu aktivnost na mreži i lokaciju uređaja, povijest poziva i povijest pretraživanja kontakata te upravljati njima.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Obratite se administratoru za više informacija, uključujući informacije o pravilima o privatnosti vaše organizacije."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Da biste upotrebljavali značajke za zaštitu od krađe, na uređaju morate postaviti zaporku za otključavanje zaslona."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Više informacija, uključujući pravila o privatnosti u organizaciji, možete saznati od administratora."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Saznajte više"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Odustani"</string>
     <string name="ok_setup" msgid="4593707675416137504">"U redu"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Prihvaćam"</string>
+    <string name="url_error" msgid="5958494012986243186">"Veza se ne može prikazati."</string>
+    <string name="terms" msgid="8295436105384703903">"Uvjeti"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informacije o radnom profilu"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informacije o upravljanom uređaju"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Radni profil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primarni korisnik"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Ukloniti radni profil?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Poslovni profil već postoji i njime upravlja:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ovaj je radni profil pod upravljanjem domene %s putem:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Izbrisati postojeći profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Već imate radni profil kojim se upravlja pomoću sljedeće aplikacije:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Prije nego što nastavite, "<a href="#read_this_link">"pročitajte ovo"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ako nastavite, izbrisat će se sve aplikacije i podaci na ovom profilu."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Izbriši"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Odustani"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Da biste nastavili s postavljanjem svog radnog profila, morat ćete šifrirati uređaj. To može potrajati."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Da biste nastavili s postavljanjem uređaja, morat ćete ga šifrirati. To može potrajati."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifriranje"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Vaš se uređaj mora kriptirati da bi se postavio radni profil. To može potrajati."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Ovaj se uređaj mora kriptirati da bi se mogao postaviti. To može potrajati."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Kriptirati uređaj?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Kriptiraj"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripcija je dovršena"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Dodirnite da biste nastavili postavljati radni profil"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Postavljanje vašeg radnog profila nije uspjelo. Obratite se IT odjelu ili pokušajte ponovno kasnije."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaš uređaj ne podržava radne profile."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Taj korisnik ne može imati radni profil"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nije moguće dodati radni profil"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Taj korisnik ne može imati radni profil. Ako vam je potrebna pomoć, obratite se administratoru."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Taj korisnik ne može imati radne profile. Obratite se administratoru."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Radne profile nije moguće postavljati na upravljanim uređajima"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Nije uspjela izrada radnog profila jer ste dosegnuli maksimalni broj korisnika na uređaju. Uklonite barem jednog korisnika i pokušajte ponovo."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacija pokretača ne podržava vaš radni profil. Morat ćete prijeći na kompatibilni pokretač."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Uređaj možda ima previše korisnika. Uklonite jednog od njih i pokušajte ponovo."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Promijenite pokretač na uređaju"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Vaš radni profil ne može upotrebljavati tu aplikaciju pokretača"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Odustani"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"U redu"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Postavljanje korisnika nije dovršeno"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Povezivanje s Wi-Fi-jem…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Preuzimanje administratorske aplikacije…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instaliranje administratorske aplikacije…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Brisanje aplikacija sustava koje nisu nužne…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Dodavanje završnih detalja…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Postavljanje vlasnika uređaja…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Uređaj ne podržava enkripciju. Obratite se IT odjelu."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicijalizacija uređaja…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Ovaj uređaj ne dopušta enkripciju koja je potrebna za postavljanje. Ako vam je potrebna pomoć, obratite se administratoru."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Želite li zaustaviti postavljanje i vratiti uređaj na zadano?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Uređaj će se vratiti na tvorničke postavke i na prvi zaslon"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Želite li zaustaviti postavljanje i izbrisati podatke uređaja?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Odustani"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"U redu"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Vrati na zadano"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Postavljanje uređaja nije uspjelo. Obratite se IT odjelu."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Ovaj je uređaj već postavljen."</string>
+    <string name="reset" msgid="6467204151306265796">"Vrati na zadano"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Postavljanje profila nije uspjelo"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Postavljanje uređaja nije uspjelo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Postavljanje uređaja nije uspjelo. Ako vam je potrebna pomoć, obratite se administratoru."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Obratite se administratoru ako vam je potrebna pomoć"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Uređaj je već postavljen"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Spajanje na Wi-Fi nije uspjelo"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Uređaj je zaštićen od vraćanja na tvorničke postavke. Obratite se IT odjelu."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Na vašem je uređaju uključena zaštita od vraćanja na zadano. Ako vam je potrebna pomoć, obratite se administratoru."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Brisanje"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Pričekajte..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Upotreba administratorske aplikacije nije uspjela zbog pogreške kontrolnog zbroja. Obratite se IT odjelu."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Upotreba administratorske aplikacije nije uspjela zbog pogreške kontrolnog zbroja. Ako vam je potrebna pomoć, obratite se administratoru."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Preuzimanje administratorske aplikacije nije uspjelo"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administratorska aplikacija ne može se upotrebljavati. Nedostaju joj neke komponente ili je oštećena. Obratite se IT odjelu."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Administratorska aplikacija ne može se upotrebljavati. Nedostaju joj neke komponente ili je oštećena. Ako vam je potrebna pomoć, obratite se administratoru."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Instaliranje administratorske aplikacije nije uspjelo"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Želite li prekinuti postavljanje?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Poništavanje…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Želite li zaustaviti postavljanje profila?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Radni profil možete postaviti kasnije iz aplikacije za upravljanje uređajem kojom se koristi vaša organizacija."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Nastavi"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Radni profil možete postaviti kasnije u aplikaciji za upravljanje uređajem svoje organizacije"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Nastavi"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zaustavi"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Odbaci"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Izradit ćete radni profil koji će biti pod upravljanjem i nadzorom vaše organizacije. Primjenjivat će se uvjeti."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Izradit ćete radni profil koji će biti pod upravljanjem i nadzorom vaše organizacije. Primjenjivat će se uvjeti tvrtki <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Izradit će se profil za vaše aplikacije za posao. Taj profil i ostatak vašeg uređaja bit će pod upravljanjem i nadzorom vaše organizacije. Primjenjivat će se uvjeti."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Izradit će se profil za vaše aplikacije za posao. Taj profil i ostatak vašeg uređaja bit će pod upravljanjem i nadzorom vaše organizacije. Primjenjivat će se uvjeti tvrtki <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> upravljat će ovim uređajem i pružati mu sigurnosnu zaštitu. Primjenjivat će se uvjeti. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> upravljat će ovim uređajem i pružati mu sigurnosnu zaštitu. Primjenjivat će se uvjeti tvrtki <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ova veza nije sigurna i ne može se otvoriti dok se uređaj ne postavi: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ako imate pitanja, obratite se organizaciji <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ako imate pitanja, obratite se administratoru organizacije"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Postavljanje nije dovršeno. Ako vam je potrebna pomoć, obratite se administratoru."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Ako vam je potrebna pomoć, obratite se administratoru"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrator organizacije"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> upravljat će ovim uređajem i nadzirati ga pomoću sljedeće aplikacije:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Vaša organizacija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"vaša organizacija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Prikaz uvjeta"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Prihvati i nastavi"</string>
+    <string name="close" msgid="7208600934846389439">"Zatvori"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Postavljanje uređaja"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Promijenite način rada"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Odvojite poslovno od osobnog"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Jedno mjesto za aplikacije za posao"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Isključite radni profil kad završite"</string>
     <string name="provisioning" msgid="4512493827019163451">"Omogućivanje"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Postavljanje CA certifikata"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Postavljanje profila. Pokretanje postavljanja"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Postavljanje profila"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Radni profil omogućuje vam da poslovne podatke odvojite od osobnih"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Radni profil omogućuje vam da aplikacije za posao držite na jednom mjestu"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Postavljanje profila. Enkripcija"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Postavljanje profila. Prikazivanje napretka"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Postavljanje uređaja. Pokretanje postavljanja"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Postavljanje uređaja"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Postavljanje uređaja. Enkripcija"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Postavljanje uređaja. Prikazivanje napretka"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Gumb Saznajte više"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Zaglavlje odjeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sadržaj odjeljka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Proširivanje"</string>
+    <string name="collapse" msgid="7817530505064432580">"Sažimanje"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Pristup popisu veza"</string>
+    <string name="access_links" msgid="7991363727326168600">"Pristup vezama"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Pristup uvjetima"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Pročitajte uvjete"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zatvori popis"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Prekinuti i vratiti na tvorničke postavke?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ako prekinete postavljanje, uređaj će se vratiti na tvorničke postavke i na prvi zaslon."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Odustani"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Vrati uređaj na zadano"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> i <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> i <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 55ddbb0..9c95f44 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"A következő alkalmazás kezelni fogja az eszközt:"</string>
     <string name="next" msgid="1004321437324424398">"Tovább"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Munkaprofil beállítása…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"A rendszergazda felügyelheti és kezelheti a beállításokat, a vállalati szintű hozzáférést, az alkalmazásokat, az engedélyeket, illetve az ehhez a profilhoz társított adatokat, beleértve a hálózati tevékenységeket, valamint az eszköz helyadatait, híváslistáját és névjegykeresési előzményeit."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"A rendszergazda felügyelheti és kezelheti a beállításokat, a vállalatszintű hozzáférést, az alkalmazásokat, az engedélyeket, a lopásvédelmi funkciókat, illetve az ezzel az eszközzel társított adatokat, így például a hálózati tevékenységeket és az eszköz helyadatait."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"A rendszergazda figyelheti és kezelheti a beállításokat, a munkahelyi hozzáférést, az alkalmazásokat, az engedélyeket és a jelen profillal kapcsolatos adatokat, beleértve az Ön hálózati tevékenységét, az eszköz helyadatait, a híváslistát és a névjegykeresési előzményeket.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ha további információt szeretne kapni erről, valamint szervezete adatvédelmi irányelveiről, lépjen kapcsolatba a rendszergazdával."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"A rendszergazda figyelheti és kezelheti a beállításokat, a munkahelyi hozzáférést, az alkalmazásokat, az engedélyeket és a jelen eszközzel kapcsolatos adatokat, beleértve az Ön hálózati tevékenységét, az eszköz helyadatait, a híváslistát és a névjegykeresési előzményeket.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ha további információt szeretne kapni erről, valamint szervezete adatvédelmi irányelveiről, lépjen kapcsolatba a rendszergazdával."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"A lopásvédelmi funkciók használatához jelszavas képernyőzárat kell beállítania eszközén."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Vegye fel a kapcsolatot rendszergazdájával, ha további információt szeretne kapni, például szervezetének adatvédelmi irányelveiről."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"További információ"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Mégse"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Beleegyezem"</string>
+    <string name="url_error" msgid="5958494012986243186">"Ez a link nem jeleníthető meg."</string>
+    <string name="terms" msgid="8295436105384703903">"Feltételek"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"A munkaprofil adatai"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"A kezelt eszköz adatai"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Munkaprofil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Elsődleges felhasználó"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Eltávolítja a munkahelyi profilt?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Már létezik munkaprofil. Kezelője:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s számára a következővel kezelik ezt a munkahelyi profilt:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Törölni szeretné a meglévő profilt?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Már rendelkezik munkaprofillal, amelyet a következő alkalmazással kezelnek:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Mielőtt folytatná, "<a href="#read_this_link">"olvassa el ezt"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ha folytatja, a profilban tárolt valamennyi alkalmazás és adat törlődik."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Törlés"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Mégse"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"A munkaprofil beállításának folytatásához titkosítania kell eszközét. Ez időigényes lehet."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"A beállítás folytatásához titkosítania kell eszközét. Ez időigényes lehet."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Titkosítás"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Munkaprofil beállítása előtt az eszközt titkosítani kell. Ez időigényes lehet."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Beállítás előtt az eszközt titkosítani kell. Ez időigényes lehet."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Eszköz titkosítása?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Titkosítás"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"A titkosítás kész"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Koppintson a munkaprofil beállításának folytatásához"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Munkaprofil beállítása sikertelen. Forduljon az informatikai részleghez, vagy próbálja újra később."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Eszköze nem támogatja a munkaprofilokat"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ennek a felhasználónak nem lehet munkahelyi profilja"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nem lehet munkaprofilt hozzáadni"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ennek a felhasználónak nem lehet munkaprofilja. Segítségért forduljon a rendszergazdához."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ennek a felhasználónak nem lehet munkaprofilja. Forduljon a rendszergazdához."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Munkaprofilt nem lehet beállítani felügyelt eszközön"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Nem hozható létre munkaprofil, mert elérte az eszközén maximálisan engedélyezett felhasználók számát. Távolítson el legalább egy felhasználót, és próbálkozzon újra."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Az Ön munkahelyi profilját nem támogatja ez az indítóalkalmazás. Egy kompatibilis indítóra kell váltania."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Elképzelhető, hogy túl sok felhasználó van az eszközön. Távolítsa el valamelyiket, és próbálja újra."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Módosítsa az eszköz indítóját"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Az indítóalkalmazás nem használható a munkaprofillal"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Mégse"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"A felhasználóbeállítás hiányos"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Kapcsolódás Wi-Fi-hez…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Rendszergazda-alkalmazás letöltése…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Rendszergazda-alkalmazás telepítése…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Nem szükséges rendszeralkalmazások törlése…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Utolsó simítások elvégzése…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Az eszköz tulajdonosának beállítása…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Eszköze nem támogatja a titkosítást. Forduljon az informatikai részleghez."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Eszköz inicializálása…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Az eszköz nem engedélyezi a titkosítást, amelyre azonban szükség van a beállításhoz. Segítségért forduljon a rendszergazdához."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Leállítja a beállítást és visszaállítja az eszközt?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Ezzel visszaállítja az eszközt, és visszakerül az elsőként látott képernyőre"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Megszakítja a beállítást és törli az eszköz adatait?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Mégse"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Visszaállítás"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nem sikerült az eszköz beállítása. Forduljon az informatikai részleghez."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Az eszközt már beállították."</string>
+    <string name="reset" msgid="6467204151306265796">"Visszaállítás"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Nem sikerült a profil beállítása"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Nem sikerült az eszköz beállítása"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Nem sikerült az eszköz beállítása. Segítségért forduljon a rendszergazdához."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Segítségért forduljon a rendszergazdához"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Az eszköz beállítása már megtörtént"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nem sikerült csatlakozni a Wi-Fi hálózathoz"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"A gyárialapérték-visszaállítási védelem zárolta az eszközt. Forduljon az informatikai részleghez."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Az eszközön be van kapcsolva a gyárialapérték-visszaállítási védelem. Segítségért forduljon a rendszergazdához."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Törlés"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Kérjük, várjon…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ellenőrzési hiba miatt nem sikerült letölteni a rendszergazda-alkalmazást. Forduljon az informatikai részleghez."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Ellenőrzési hiba miatt nem lehetett használni a rendszergazdai alkalmazást. Segítségért forduljon a rendszergazdához."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nem lehetett letölteni a rendszergazdai alkalmazást"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"A rendszergazda-alkalmazás nem használható, mivel egyes elemei hiányoznak vagy sérültek. Forduljon az informatikai részleghez."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"A rendszergazdai alkalmazás nem használható, mivel sérült, vagy egyes elemei hiányoznak. Segítségért forduljon a rendszergazdához."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nem lehetett telepíteni a rendszergazdai alkalmazást"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Megszakítja a beállítást?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nem"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Igen"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Törlés…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Leállítja a profil létrehozását?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Munkaprofilját létrehozhatja később a szervezete által használt eszközkezelői alkalmazásban."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Tovább"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Munkaprofilját létrehozhatja később a szervezet eszközkezelői alkalmazásában"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Tovább"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Leállítás"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Bezárás"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Munkaprofilt készül létrehozni, amelyet szervezete kezel majd. Feltételek vannak érvényben."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Munkaprofilt készül létrehozni, amelyet szervezete kezel és figyel majd. A(z) <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> feltételei érvényesek."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"A létrejövő profilban a munkahelyi alkalmazásai lesznek megtalálhatók. A profilt és az eszköz többi részét szervezete kezeli és figyeli. Feltételek vannak érvényben."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"A létrejövő profilban a munkahelyi alkalmazásai lesznek megtalálhatók. A profilt és az eszköz többi részét szervezete kezeli és figyeli. A(z) <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> feltételei érvényesek."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Ezt az eszközt a továbbiakban a(z) <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> kezeli és tartja biztonságban. Feltételek vannak érvényben. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Ezt az eszközt a továbbiakban a(z) <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> kezeli és tartja biztonságban. A(z) <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> feltételei érvényesek. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"A következő link nem biztonságos, és a beállítás befejezéséig nem lehet megnyitni: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ha kérdései vannak, forduljon a következő a személyhez: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kérdéseivel forduljon a szervezet rendszergazdájához"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"A beállítás nem lett befejezve. Segítségért forduljon a rendszergazdához."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Segítségért forduljon a rendszergazdához"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"a szervezet rendszergazdája"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"A(z) <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> kezeli és figyeli majd ezt az eszközt a következő alkalmazás segítségével:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Az Ön szervezete"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"az Ön szervezete"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Feltételek megtekintése"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Elfogad és folytat"</string>
+    <string name="close" msgid="7208600934846389439">"Bezárás"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Az eszköz beállítása"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Megváltoztathatja munkamódszereit"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Munkahelyi és személyes adatok elkülönítése"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Munkával kapcsolatos alkalmazások egy helyen"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"A munkamenet kikapcsolása a befejezés után"</string>
     <string name="provisioning" msgid="4512493827019163451">"Hozzáférés-kezelés"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA-tanúsítvány beállítása"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Állítsa be profilját. A beállítás megkezdése"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Profil beállítása"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Munkaprofil használatával elkülönítheti munkahelyi és személyes adatait"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Munkaprofil használatával a munkahelyi alkalmazásait egy helyen tarthatja"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Állítsa be profilját. Titkosítás"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Állítsa be profilját. Előrehaladás megjelenítése"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Állítsa be eszközét. A beállítás megkezdése"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Eszköz beállítása"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Állítsa be eszközét. Titkosítás"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Állítsa be eszközét. Előrehaladás megjelenítése"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"„További információ” gomb"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikon"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> szakaszcím."</string>
+    <string name="section_content" msgid="8875502515704374394">"A(z) <xliff:g id="SECTION_HEADING">%1$s</xliff:g> szakasz tartalmazza: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Kibontás"</string>
+    <string name="collapse" msgid="7817530505064432580">"Összecsukás"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Linkek listájának megtekintése"</string>
+    <string name="access_links" msgid="7991363727326168600">"Linkek megtekintése"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ÁSZF megtekintése"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Feltételek olvasása"</string>
+    <string name="close_list" msgid="9053538299788717597">"Lista bezárása"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Leállítja, és visszaállítja a gyári adatokat?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"A beállítás befejezésével visszaállítja az eszköz gyári beállításait, és visszakerül az először látott képernyőre."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Mégse"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Eszköz visszaállítása"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> és <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> és <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
deleted file mode 100644
index 1708a09..0000000
--- a/res/values-hy-rAM/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Աշխատանքային պրոֆիլը կարգավորում"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Վա՜յ:"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Աշխատանքային պրոֆիլի կարգավորում"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Ձեր կազմակերպությունը վերահսկում է այս պրոֆիլը և պաշտպանում է այն: Ձեր սարքի մնացած ամեն ինչը վերահսկում եք ինքներդ:"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Այս սարքի վերահսկողությունը և անվտանգությունը ապահովելու է ձեր կազմակերպությունը:"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Անհրաժեշտ է, որ հետևյալ հավելվածը մուտք գործի այս պրոֆիլ՝"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Հետևյալ հավելվածը կառավարելու է սարքը՝"</string>
-    <string name="next" msgid="1004321437324424398">"Հաջորդը"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Աշխատանքային պրոֆիլի կարգավորում..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել այս պրոֆիլի հետ կապակցված կարգավորումները, կորպորատիվ մուտքը, հավելվածները, թույլտվությունները և տվյալները, ներառյալ ձեր ցանցային գործունեությունը, ինչպես նաև ձեր սարքի տեղադրության տվյալները, զանգերի պատմությունը և կոնտակտների որոնման պատմությունը:"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել այս սարքի հետ կապակցված կարգավորումները, կորպորատիվ մուտքը, հավելվածները, թույլտվությունները, գողությունից պաշտպանվելու գործառույթները և տվյալները, ներառյալ ցանցային գործունեությունը և ձեր սարքի տեղադրության տվյալները:"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Գողությունից պաշտպանվելու գործառույթներն օգտագործելու համար դուք պետք է սարքում ունենաք գաղտնաբառով պաշտպանված էկրանի փական:"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Լրացուցիչ տեղեկությունների համար, ինչպես նաև ձեր ընկերության գաղտնիության քաղաքականություններին ծանոթանալու համար դիմեք ձեր ադմինիստրատորին:"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Մանրամասն"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Չեղարկել"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Լավ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Համաձայն եմ"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Աշխատանքային պրոֆիլ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Առաջնային օգտատեր"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Հեռացնե՞լ աշխատանքային պրոֆիլը:"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Արդեն գոյություն ունի աշխատանքային պրոֆիլ: Կառավարիչ՝"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Այս աշխատանքային պրոֆիլը %s-ի համար կառավարվում է այս հավելվածի օգնությամբ՝"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Շարունակելուց առաջ "<a href="#read_this_link">"կարդացեք սա"</a>":"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Շարունակելու դեպքում այս պրոֆիլի բոլոր հավելվածներն ու տվյալները կջնջվեն:"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Ջնջել"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Չեղարկել"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Աշխատանքային պրոֆիլի կարգավորումը շարունակելու համար դուք պետք է կոդավորեք ձեր սարքը: Կոդավորումը կարող է որոշ ժամանակ պահանջել:"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Սարքի կարգավորումը շարունակելու համար դուք պետք է գաղտնագրեք այն: Դա կարող է որոշ ժամանակ պահանջել:"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Կոդավորել"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Կոդավորումն ավարտվեց"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Հպեք՝ ձեր աշխատանքային պրոֆիլի կարգավորումը շարունակելու համար"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Չհաջողվեց ստեղծել ձեր աշխատանքը պրոֆիլը: Դիմեք ձեր տեխնիկական սպասարկման բաժին կամ փորձեք մի փոքր ուշ:"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Ձեր սարքը չի աջակցում աշխատանքային պրոֆիլներ"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Այս օգտատերը չի կարող աշխատանքային պրոֆիլ ունենալ"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Հնարավոր չէ կարգավորել աշխատանքային պրոֆիլները կառավարվող սարքի վրա"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Հնարավոր չէ ստեղծել աշխատանքային պրոֆիլ, քանի որ ձեր սարքում օգտատերների առավելագույն քանակն արդեն լրացել է: Հեռացրեք առնվազն մեկ օգտատեր, ապա նորից փորձեք:"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ձեր պրոֆիլը չի աջակցվում այս գործարկչի կողմից: Դուք պետք է փոխարկեք դեպի որևէ աջակցող գործարկիչ:"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Չեղարկել"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Լավ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Օգտատիրոջ կարգավորումն անավարտ է"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Աշխատանքային սարքի օգտագործող"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Աշխատանքային սարքի կարգավորում"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Տեղադրման տվյալների մշակում…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Կապակցում Wi-Fi-ին..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Ադմինիստրատոր հավելվածի ներբեռնում…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Ադմինիստրատոր հավելվածի տեղադրում…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Սարքի սեփականատիրոջ նշանակում..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Ձեր սարքը չի աջակցում գաղտնագրումը: Դիմեք ձեր ՏՏ բաժնի մասնագետներին:"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Դադարեցնե՞լ կարգավորումը և ջնջել սարքի տվյալները:"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Չեղարկել"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Լավ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Վերակայել"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Չհաջողվեց կարգավորել ձեր սարքը: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Այս սարքն արդեն կարգավորված է:"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Չհաջողվեց միանալ Wi-Fi-ին"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Գործարանային վերակայման պաշտպանությունը կողպել է այս սարքը: Դիմեք ձեր ՏՏ բաժանմունքին:"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Ջնջում"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Խնդրում ենք սպասել..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Հնարավոր չէ օգտագործել ադմինիստրատորի ծրագիրը՝ ստուգման սխալի պատճառով: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Չհաջողվեց ներբեռնել ադմինիստրատորի հավելվածը"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Հնարավոր չէ օգտագործել ադմինիստրատորի ծրագիրը: Դրանում բացակայում են բաղադրիչներ կամ այն թերի է: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Չհաջողվեց տեղադրել ադմինիստրատորի հավելվածը"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Դադարեցնե՞լ կարգավորումը:"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ոչ"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Այո"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Չեղարկում..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Դադարեցնե՞լ պրոֆիլի կարգավորումը:"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Հետագայում կարող եք կարգավորել ձեր աշխատանքային պրոֆիլը՝ անցնելով ձեր կազմակերպության սարքի կառավարման հավելված:"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Շարունակել"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Դադարեցնել"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Նախապատրաստում"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"ՎԿ վկայագրերի կարգավորում"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Կարգավորեք ձեր պրոֆիլը: Սկսեք տեղակայումը"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Կարգավորեք ձեր պրոֆիլը: Գաղտնագրում"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Կարգավորեք ձեր պրոֆիլը: Ընթացքի ցուցադրում"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Կարգավորեք սարքը: Սկսեք տեղակայումը"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Կարգավորեք սարքը: Գաղտնագրում"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Կարգավորեք սարքը: Ընթացքի ցուցադրում"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"«Մանրամասներ» կոճակ"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>-ի պատկերակ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Ավարտե՞լ կարգավորումը և կատարել գործարանային վերակայում:"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Կարգավորման ավարտից հետո կկատարվի գործարանային վերակայում և վերադարձ առաջին էկրանին:"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Չեղարկել"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Վերակայել սարքը"</string>
-</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
new file mode 100644
index 0000000..5c9f767
--- /dev/null
+++ b/res/values-hy/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Աշխատանքային պրոֆիլը կարգավորում"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Վա՜յ:"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Աշխատանքային պրոֆիլի կարգավորում"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ձեր կազմակերպությունը վերահսկում է այս պրոֆիլը և պաշտպանում է այն: Ձեր սարքի մնացած ամեն ինչը վերահսկում եք ինքներդ:"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Այս սարքի վերահսկողությունը և անվտանգությունը ապահովելու է ձեր կազմակերպությունը:"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Անհրաժեշտ է, որ հետևյալ հավելվածը մուտք գործի այս պրոֆիլ՝"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Հետևյալ հավելվածը կառավարելու է սարքը՝"</string>
+    <string name="next" msgid="1004321437324424398">"Հաջորդը"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Աշխատանքային պրոֆիլի կարգավորում..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել այս պրոֆիլի հետ կապակցված կարգավորումները, կորպորատիվ մուտքը, հավելվածները, թույլտվությունները և տվյալները, ներառյալ ձեր ցանցային գործունեությունը, ինչպես նաև ձեր սարքի տեղադրության տվյալները, զանգերի պատմությունը և կոնտակտների որոնման պատմությունը:<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Լրացուցիչ (այդ թվում նաև ձեր կազմակերպության գաղտնիության քաղաքականությունների մասին) տեղեկություններ ստանալու համար դիմեք ձեր ադմինիստրատորին:"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել այս սարքի հետ կապակցված կարգավորումները, կորպորատիվ մուտքը, հավելվածները, թույլտվությունները և տվյալները, ներառյալ ձեր ցանցային գործունեությունը, ինչպես նաև ձեր սարքի տեղադրության տվյալները, զանգերի պատմությունը և կոնտակտների որոնման պատմությունը:<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Լրացուցիչ (այդ թվում նաև ձեր կազմակերպության գաղտնիության քաղաքականությունների մասին) տեղեկություններ ստանալու համար դիմեք ձեր ադմինիստրատորին:"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Գողությունից պաշտպանվելու գործառույթներն օգտագործելու համար դուք պետք է սարքում ունենաք գաղտնաբառով պաշտպանված էկրանի փական:"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Լրացուցիչ տեղեկությունների համար, ինչպես նաև ձեր ընկերության գաղտնիության քաղաքականություններին ծանոթանալու համար դիմեք ձեր ադմինիստրատորին:"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Մանրամասն"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Չեղարկել"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Հաստատել"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Համաձայն եմ"</string>
+    <string name="url_error" msgid="5958494012986243186">"Հնարավոր չէ ցուցադրել այս հղումը:"</string>
+    <string name="terms" msgid="8295436105384703903">"Պայմաններ"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Աշխատանքային պրոֆիլի տվյալները"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Կառավարվող սարքի տվյալները"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Աշխատանքային պրոֆիլ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Առաջնային օգտատեր"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Ջնջե՞լ առկա պրոֆիլը:"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Դուք արդեն ունեք աշխատանքային պրոֆիլ, որը կառավարվում է հետևյալ հավելվածի օգնությամբ՝"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Շարունակելուց առաջ "<a href="#read_this_link">"կարդացեք սա"</a>":"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Շարունակելու դեպքում այս պրոֆիլի բոլոր հավելվածներն ու տվյալները կջնջվեն:"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ջնջել"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Չեղարկել"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ձեր աշխատանքային պրոֆիլը կարգավորելու նպատակով անհրաժեշտ է գաղտնագրել ձեր սարքը։ Դա կարող է որոշ ժամանակ պահանջել:"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Այս սարքը կարգավորելու համար այն նախ անհրաժեշտ է գաղտնագրել։ Դա կարող է որոշ ժամանակ պահանջել:"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Գաղտնագրե՞լ սարքը։"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Գաղտնագրել"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Կոդավորումն ավարտվեց"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Հպեք՝ ձեր աշխատանքային պրոֆիլի կարգավորումը շարունակելու համար"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Չհաջողվեց ստեղծել ձեր աշխատանքը պրոֆիլը: Դիմեք ձեր տեխնիկական սպասարկման բաժին կամ փորձեք մի փոքր ուշ:"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Հնարավոր չէ ավելացնել աշխատանքային պրոֆիլ"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Այս օգտատերը չի կարող աշխատանքային պրոֆիլ ունենալ։ Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Այս օգտատերը չի կարող աշխատանքային պրոֆիլներ ունենալ։ Դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Հնարավոր չէ կարգավորել աշխատանքային պրոֆիլները կառավարվող սարքի վրա"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Հնարավոր է, որ այս սարքում չափազանց շատ օգտատերեր կան։ Հեռացրեք օգտատերերից մեկին, ապա փորձեք նորից։"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Փոխեք սարքի գործարկիչը"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Ձեր աշխատանքային պրոֆիլը չի կարող օգտագործել այս գործարկիչը"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Չեղարկել"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Հաստատել"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Օգտատիրոջ կարգավորումն անավարտ է"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Աշխատանքային սարքի օգտագործող"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Աշխատանքային սարքի կարգավորում"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Տեղադրման տվյալների մշակում…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Կապակցում Wi-Fi-ին..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Ադմինիստրատոր հավելվածի ներբեռնում…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Ադմինիստրատոր հավելվածի տեղադրում…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Համակարգի ոչ անհրաժեշտ հավելվածները հեռացվում են…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Կարգավորումն ավարտվում է…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Սարքի սեփականատիրոջ նշանակում..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Սարքը նախապատրաստվում է…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Այս սարքում արգելված է գաղտնագրումը, որն անհրաժեշտ է կարգավորումներ կատարելու համար։ Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Դադարեցնե՞լ կարգավորումը և վերակայել սարքը։"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Արդյունքում սարքը կվերակայվի, և դուք կվերադառնաք առաջին էկրան:"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Դադարեցնե՞լ կարգավորումը և ջնջել սարքի տվյալները:"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Չեղարկել"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Եղավ"</string>
+    <string name="reset" msgid="6467204151306265796">"Վերակայել"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Հնարավոր չէ կարգավորել պրոֆիլը"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Հնարավոր չէ կարգավորել սարքը"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Չհաջողվեց կարգավորել սարքը: Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Սարքն արդեն կարգավորված է"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Չհաջողվեց միանալ Wi-Fi-ին"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Ձեր սարքում միացված է վերակայումից պաշտպանությունը։ Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Ջնջում"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Խնդրում ենք սպասել..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Հնարավոր չէ օգտագործել ադմինիստրատորի հավելվածը հսկիչ գումարի սխալի պատճառով: Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Չհաջողվեց ներբեռնել ադմինիստրատորի հավելվածը"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Հնարավոր չէ օգտագործել ադմինիստրատորի հավելվածը: Դրանում բացակայում են բաղադրիչներ կամ այն վնասված է: Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Չհաջողվեց տեղադրել ադմինիստրատորի հավելվածը"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Դադարեցնե՞լ կարգավորումը:"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ոչ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Այո"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Չեղարկում..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Դադարեցնե՞լ պրոֆիլի կարգավորումը:"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Հետագայում կարող եք կարգավորել ձեր աշխատանքային պրոֆիլը ձեր կազմակերպության սարքի կառավարման հավելվածում"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Շարունակել"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Դադարեցնել"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Փակել"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Դուք պատրաստվում եք ստեղծել աշխատանքային պրոֆիլ, որը կկառավարվի և կվերահսկվի ձեր կազմակերպության կողմից: Կիրառվում են հատուկ պայմաններ։"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Դուք պատրաստվում եք ստեղծել աշխատանքային պրոֆիլ, որը կկառավարվի և կվերահսկվի ձեր կազմակերպության կողմից: Կիրառվում են <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> պայմանները։"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Ձեր աշխատանքային հավելվածների համար կստեղծվի պրոֆիլ: Այդ պրոֆիլը, ինչպես նաև ձեր սարքն ամբողջությամբ կկառավարվեն և կվերահսկվեն ձեր կազմակերպության կողմից: Կիրառվում են հատուկ պայմաններ։"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Ձեր աշխատանքային հավելվածների համար կստեղծվի պրոֆիլ: Այդ պրոֆիլը, ինչպես նաև ձեր սարքն ամբողջությամբ կկառավարվեն և կվերահսկվեն ձեր կազմակերպության կողմից: Կիրառվում են <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> պայմանները։"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Այս սարքը կկառավարվի <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> կազմակերպության կողմից, որը կապահովի նրա անվտանգությունը: Կիրառվում են հատուկ պայմաններ։ <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Այս սարքը կկառավարվի <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> կազմակերպության կողմից, որը կապահովի նրա անվտանգությունը: Կիրառվում են <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> պայմանները։ <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Այս հղումն ապահով չէ և չի կարող բացվել մինչև սարքի կարգավորման ավարտը՝ <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Եթե հարցեր ունեք, դիմեք ձեր <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>-ին։"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Եթե հարցեր ունեք, դիմեք ձեր կազմակերպության ադմինիստրատորին"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Կարգավորումը չի ավարտվել։ Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին։"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Օգնություն ստանալու համար դիմեք ձեր ադմինիստրատորին"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"կազմակերպության ադմինիստրատոր"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> կազմակերպությունը կկառավարի և կվերահսկի այս սարքը հետևյալ հավելվածի օգնությամբ՝"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Ձեր կազմակերպությունը"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ձեր կազմակերպությունը"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Դիտել պայմանները"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Ընդունել և շարունակել"</string>
+    <string name="close" msgid="7208600934846389439">"Փակել"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Կարգավորեք ձեր սարքը"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Փոխեք ձեր աշխատելաոճը"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Աշխատանքային և անձնական տվյալների տարանջատում"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Միասնական տարածք աշխատանքային հավելվածների համար"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Ավարտելուց հետո անջատեք աշխատանքային պրոֆիլը"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Նախապատրաստում"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"ՎԿ վկայագրերի կարգավորում"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Կարգավորել պրոֆիլը"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Աշխատանքային պրոֆիլ օգտագործելու միջոցով կարող եք առանձնացնել աշխատանքային և անձնական տվյալները"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Աշխատանքային պրոֆիլ օգտագործելու միջոցով կարող եք ձեր աշխատանքային հավելվածները պահել մեկ տեղում"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Կարգավորեք ձեր պրոֆիլը: Գաղտնագրում"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Կարգավորեք ձեր պրոֆիլը: Ընթացքի ցուցադրում"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Կարգավորեք ձեր սարքը"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Կարգավորեք սարքը: Գաղտնագրում"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Կարգավորեք սարքը: Ընթացքի ցուցադրում"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"«Մանրամասներ» կոճակ"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>-ի պատկերակ"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> բաժնի վերնագիրը։"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> բաժնի բովանդակությունը՝ <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Ընդարձակել"</string>
+    <string name="collapse" msgid="7817530505064432580">"Կոծկել"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Բացել հղումների ցուցակը"</string>
+    <string name="access_links" msgid="7991363727326168600">"Բացել հղումները"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Բացել տերմինները"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Կարդալ պայմանները"</string>
+    <string name="close_list" msgid="9053538299788717597">"Փակել ցուցակը"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Ավարտե՞լ կարգավորումը և կատարել գործարանային վերակայում:"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Կարգավորման ավարտից հետո կկատարվի գործարանային վերակայում և վերադարձ առաջին էկրանին:"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Չեղարկել"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Վերակայել սարքը"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> և <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> և <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 31aa0e2..dbe6f7d 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aplikasi berikut akan mengelola perangkat Anda:"</string>
     <string name="next" msgid="1004321437324424398">"Berikutnya"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Menyiapkan profil kerja..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Admin memiliki kemampuan untuk memantau dan mengelola setelan, akses perusahaan, aplikasi, izin, dan data yang terkait dengan profil ini, termasuk aktivitas jaringan, serta lokasi, riwayat panggilan, dan riwayat penelusuran kontak perangkat."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Admin memiliki kemampuan untuk memantau dan mengelola setelan, akses perusahaan, aplikasi, izin, fitur perlindungan dari pencurian, dan data yang terkait dengan perangkat ini, termasuk aktivitas jaringan dan informasi lokasi perangkat."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Admin dapat memantau dan mengelola setelan, akses korporat, aplikasi, izin, dan data terkait profil ini, termasuk aktivitas jaringan, serta lokasi, histori panggilan, dan histori penelusuran kontak dari perangkat.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hubungi admin untuk mengetahui informasi selengkapnya, termasuk kebijakan privasi organisasi."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Admin dapat memantau dan mengelola setelan, akses korporat, aplikasi, izin, dan data terkait perangkat ini, termasuk aktivitas jaringan, serta lokasi, histori panggilan, dan histori penelusuran kontak dari perangkat.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hubungi admin untuk mengetahui informasi selengkapnya, termasuk kebijakan privasi organisasi."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Untuk menggunakan fitur perlindungan dari pencurian, Anda harus memiliki kunci layar yang dilindungi sandi untuk perangkat."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hubungi admin untuk informasi selengkapnya, termasuk kebijakan privasi organisasi."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Pelajari lebih lanjut"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Batal"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Oke"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Saya setuju"</string>
+    <string name="url_error" msgid="5958494012986243186">"Tautan tak bisa ditampilkan."</string>
+    <string name="terms" msgid="8295436105384703903">"Persyaratan"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Info profil kerja"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Info perangkat yang dikelola"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil kerja"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Pengguna utama"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Buang profil kerja?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profil kerja sudah ada dan dikelola oleh:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Profil kerja ini dikelola untuk %s menggunakan:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Hapus profil yang ada?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Anda telah memiliki profil kerja yang dikelola menggunakan aplikasi berikut:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Sebelum melanjutkan, "<a href="#read_this_link">"baca ini"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jika Anda melanjutkan, semua aplikasi dan data dalam profil ini akan dihapus."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Hapus"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Untuk melanjutkan penyiapan profil kerja, Anda perlu mengenkripsi perangkat. Tindakan ini mungkin sedikit memakan waktu."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Untuk melanjutkan penyiapan perangkat, Anda perlu mengenkripsi perangkat. Tindakan ini mungkin sedikit memakan waktu."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkripsikan"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Untuk menyiapkan profil kerja, Anda perlu mengenkripsi perangkat. Tindakan ini mungkin memakan waktu beberapa saat."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Enkripsikan terlebih dahulu untuk menyiapkan perangkat. Tindakan ini mungkin memakan waktu beberapa saat."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Enkripsikan perangkat ini?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Enkripsikan"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripsi selesai"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ketuk untuk melanjutkan penyiapan profil kerja"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tidak dapat menyiapkan profil kerja Anda. Hubungi departemen TI atau coba lagi nanti."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Perangkat Anda tidak mendukung profil kerja"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Pengguna ini tidak dapat memiliki profil kerja"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Tidak dapat menambahkan profil kerja"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Pengguna ini tidak dapat memiliki profil kerja. Hubungi admin untuk meminta bantuan."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Pengguna ini tidak dapat memiliki profil kerja. Harap hubungi admin."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Profil kerja tidak dapat disiapkan di perangkat yang dikelola"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Profil kerja tidak dapat dibuat karena jumlah maksimum pengguna di perangkat telah tercapai. Hapus setidaknya satu pengguna dan coba lagi."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profil kerja Anda tidak didukung oleh peluncur aplikasi ini. Anda perlu beralih ke peluncur yang kompatibel."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Mungkin ada terlalu banyak pengguna di perangkat ini. Hapus salah satu pengguna, lalu coba lagi."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Ubah peluncur perangkat"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Aplikasi peluncur ini tidak dapat digunakan oleh profil kerja"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Batal"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Oke"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Penyiapan Pelanggan Belum Selesai"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Menyambungkan ke Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Mendownload aplikasi admin..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Memasang aplikasi admin..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Menghapus aplikasi sistem yang tidak diperlukan..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Menambahkan sentuhan akhir..."</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Menyetel pemilik perangkat..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Perangkat tidak mendukung enkripsi. Hubungi departemen TI Anda."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Memulai perangkat..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Perangkat ini tidak mengizinkan enkripsi yang diperlukan untuk penyiapan. Hubungi admin untuk meminta bantuan."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Hentikan penyiapan &amp; setel ulang perangkat?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Tindakan ini akan menyetel ulang perangkat dan membawa Anda kembali ke layar pertama"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Berhenti menyiapkan dan hapus data perangkat?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Batal"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Oke"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Setel ulang"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Tidak dapat menyiapkan perangkat. Hubungi departemen TI Anda."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Perangkat ini sudah disiapkan."</string>
+    <string name="reset" msgid="6467204151306265796">"Setel ulang"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Tidak dapat menyiapkan profil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Tidak dapat menyiapkan perangkat"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Tidak dapat menyiapkan perangkat. Hubungi admin untuk mendapatkan bantuan."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Hubungi admin untuk mendapatkan bantuan"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Perangkat sudah disiapkan"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Tidak dapat tersambung ke Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Perangkat ini dikunci oleh perlindungan pengembalian ke setelan pabrik. Hubungi departemen TI Anda."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Perangkat telah mengaktifkan perlindungan penyetelan ulang. Hubungi admin untuk meminta bantuan."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Menghapus"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Harap tunggu..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Tidak dapat menggunakan aplikasi admin karena kesalahan checksum. Hubungi departemen TI Anda."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Tidak dapat menggunakan aplikasi admin karena error checksum. Hubungi admin untuk meminta bantuan."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Tidak dapat mendownload aplikasi admin"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Tidak dapat menggunakan aplikasi admin. Komponen hilang atau rusak. Hubungi departemen TI Anda."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Tidak dapat menggunakan aplikasi admin. Komponen hilang atau rusak. Hubungi admin untuk meminta bantuan."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Tidak dapat memasang aplikasi admin"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Berhenti menyiapkan?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Tidak"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ya"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Membatalkan…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Hentikan penyiapan profil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Anda dapat menyiapkan profil kerja nanti dari aplikasi pengelolaan perangkat yang digunakan oleh organisasi."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Lanjutkan"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Anda dapat menyiapkan profil kerja nanti di aplikasi pengelolaan perangkat organisasi"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Lanjutkan"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Berhenti"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Tutup"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Anda akan membuat profil kerja yang dikelola dan dipantau oleh organisasi Anda. Persyaratan berlaku."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Anda akan membuat profil kerja yang dikelola dan dipantau oleh organisasi Anda. Persyaratan dari <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> akan berlaku."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Profil akan dibuat untuk aplikasi kerja. Profil ini dan perangkat Anda akan dikelola serta dipantau oleh organisasi. Persyaratan berlaku."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Profil akan dibuat untuk aplikasi kerja. Profil ini dan perangkat Anda akan dikelola serta dipantau oleh organisasi. Persyaratan dari <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> akan berlaku."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Perangkat akan dikelola dan dijaga keamanannya oleh <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Persyaratan berlaku. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Perangkat ini akan dikelola dan dijaga keamanannya oleh <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Persyaratan dari <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> akan berlaku. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Link ini tidak aman dan tidak dapat dibuka sampai penyiapan perangkat selesai: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Jika ada pertanyaan, hubungi <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Jika ada pertanyaan, hubungi admin organisasi Anda"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Penyiapan belum selesai. Hubungi admin untuk meminta bantuan."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Hubungi admin untuk meminta bantuan"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"admin organisasi"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> akan mengelola dan memantau perangkat ini menggunakan aplikasi berikut:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organisasi Anda"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organisasi Anda"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Lihat persyaratan"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Terima &amp; lanjutkan"</string>
+    <string name="close" msgid="7208600934846389439">"Tutup"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Siapkan perangkat"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ubah cara kerja Anda"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Pisahkan data kerja dari data pribadi"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Satu tempat untuk aplikasi kerja"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Nonaktifkan profil kerja jika sudah selesai"</string>
     <string name="provisioning" msgid="4512493827019163451">"Penyediaan"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Menyiapkan Sertifikat CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Menyiapkan profil. Mulai penyiapan"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Siapkan profil Anda"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Dengan menggunakan profil kerja, Anda dapat memisahkan data kerja dari data pribadi"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Dengan menggunakan profil kerja, Anda dapat menyimpan aplikasi kerja di 1 tempat"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Menyiapkan profil. Enkripsi"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Menyiapkan profil. Menampilkan kemajuan"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Menyiapkan perangkat. Mulai penyiapan"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Siapkan perangkat Anda"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Menyiapkan perangkat. Enkripsi"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Menyiapkan perangkat. Menampilkan kemajuan"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Tombol pelajari lebih lanjut"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikon <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Judul rubrik <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Konten rubrik <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Luaskan"</string>
+    <string name="collapse" msgid="7817530505064432580">"Ciutkan"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Mengakses daftar link"</string>
+    <string name="access_links" msgid="7991363727326168600">"Mengakses link"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Mengakses istilah"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Baca persyaratan"</string>
+    <string name="close_list" msgid="9053538299788717597">"Tutup daftar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Selesaikan dan kembalikan ke setelan pabrik?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Menyelesaikan penyiapan ini akan mengembalikan perangkat ke setelan pabrik dan membawa Anda kembali ke layar pertama."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Batal"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Setel ulang perangkat"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> dan <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> dan <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
deleted file mode 100644
index 699760a..0000000
--- a/res/values-is-rIS/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Uppsetning vinnusniðs"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Úbbs!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Setja upp vinnusnið"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Fyrirtækið þitt stjórnar þessu sniði og heldur því öruggu. Þú hefur stjórn yfir öllu öðru í tækinu."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Fyrirtækið þitt mun stjórna þessu tæki og tryggja öryggi þess."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Eftirfarandi forrit mun þurfa að fá aðgang að þessu sniði:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Eftirfarandi forrit mun stjórna tækinu:"</string>
-    <string name="next" msgid="1004321437324424398">"Áfram"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Setur upp vinnusniðið…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækjaaðgangi, forritum, heimildum og gögnum sem tengjast þessu sniði, þar á meðal netnotkun ásamt staðsetningarupplýsingum tækisins, símtalaferli og tengiliðaleitarferli."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækjaaðgangi, forritum, heimildum, þjófavarnareiginleikum og gögnum sem tengjast þessu tæki, þar á meðal netnotkun og staðsetningarupplýsingum tækisins."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Til að nota þjófavarnareiginleikana þarftu að vera með skjálás með aðgangsorði á tækinu."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hafðu samband við kerfisstjórann til að fá frekari upplýsingar, þar á meðal um persónuverndarstefnu fyrirtækisins."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Frekari upplýsingar"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Hætta við"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Í lagi"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Ég veiti samþykki mitt"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Vinnusnið"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Aðalnotandi"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Fjarlægja vinnusnið?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Vinnusnið er þegar til og stjórnandi þess er:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Þessu vinnusniði er stjórnað af %s sem notar:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Lestu þetta"</a>" áður en þú heldur áfram."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ef þú heldur áfram verður öllum forritum og gögnum á þessu sniði eytt."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Eyða"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hætta við"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Til að halda uppsetningu vinnusniðsins áfram þarftu að dulkóða tækið þitt. Þetta getur tekið svolitla stund."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Til að halda uppsetningu tækisins áfram þarftu að dulkóða það. Þetta getur tekið svolitla stund."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Dulrita"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Dulkóðun lokið"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ýttu til að halda áfram að setja upp vinnusnið"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ekki var hægt að setja upp vinnusniðið þitt. Hafðu samband við upplýsingatæknisvið eða reyndu aftur síðar."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Tækið þitt styður ekki vinnusnið"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Þessi notandi getur ekki notað vinnusnið"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Ekki er hægt að setja upp vinnusnið í stýrðu tæki"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Ekki er hægt að búa til vinnusnið því að hámarksfjölda notenda í tækinu er náð. Fjarlægðu að minnsta kosti einn notanda og reyndu aftur."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ræsiforritið styður ekki vinnusniðið þitt. Þú þarft að skipta yfir í ræsiforrit með stuðningi."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Hætta við"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Í lagi"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Uppsetningu notanda ekki lokið"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Notandi vinnutækis"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Setja upp vinnutæki"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Vinnur úr uppsetningargögnum…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Tengist Wi-Fi…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Sækir stjórnforritið…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Setur upp stjórnforritið…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Stillir eiganda tækisins…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Tækið styður ekki dulkóðun. Hafðu samband við tæknideildina."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Viltu hætta uppsetningu og eyða gögnum tækisins?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Hætta við"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Í lagi"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Endurstilla"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Ekki var hægt að setja upp tækið. Hafðu samband við upplýsingatæknisvið."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Þetta tæki er nú þegar uppsett."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ekki var hægt að tengjast Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Þessu tæki er læst með vörn gegn núllstillingu tækis. Hafðu samband við upplýsingatæknisvið."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Þurrkað út"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Augnablik..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ekki var hægt að nota stjórnforritið vegna villu í þversummu. Hafðu samband við upplýsingatæknisvið."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ekki tókst að sækja stjórnunarforritið"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ekki er hægt að nota stjórnforritið. Það skortir íhluti eða er skemmt. Hafðu samband við upplýsingatæknisvið."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ekki tókst að setja stjórnunarforritið upp"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Hætta uppsetningu?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nei"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Já"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Hættir við…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stöðva uppsetningu sniðs?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Þú getur sett vinnusniðið upp síðar úr tækjastjórnunarforritinu sem fyrirtækið þitt notar."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Halda áfram"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stöðva"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Úthlutar"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Setur upp CA-vottorð"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Setja upp snið. Hefja uppsetningu"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Setja upp snið. Dulkóðun"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Setja upp snið. Sýnir framvindu"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Setja upp tækið. Hefja uppsetningu"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Setur upp tækið. Dulkóðun"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Setja upp tækið. Sýnir framvindu"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Hnappurinn Frekari upplýsingar"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Tákn <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Hætta í uppsetningu og núllstilla?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ef þú lokar uppsetningunni verður tækið núllstillt og þú ferð aftur á upphafsskjárinn."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Hætta við"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Endurstilla tækið"</string>
-</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
new file mode 100644
index 0000000..4c573f5
--- /dev/null
+++ b/res/values-is/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Uppsetning vinnusniðs"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Úbbs!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Setja upp vinnusnið"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Fyrirtækið þitt stjórnar þessu sniði og heldur því öruggu. Þú hefur stjórn yfir öllu öðru í tækinu."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Fyrirtækið þitt mun stjórna þessu tæki og tryggja öryggi þess."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Eftirfarandi forrit mun þurfa að fá aðgang að þessu sniði:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Eftirfarandi forrit mun stjórna tækinu:"</string>
+    <string name="next" msgid="1004321437324424398">"Áfram"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Setur upp vinnusniðið…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækisaðgangi, forritum, heimildum og gögnum sem tengjast þessum prófíl, auk netnotkunar og staðsetningu tækis, símtalaferli og leit að tengiliðum.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Frekari upplýsingar fást hjá kerfisstjóranum, þar á meðal um persónuverndarstefnur fyrirtækisins þíns."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækisaðgangi, forritum, heimildum og gögnum sem tengjast þessu tæki, auk netnotkunar og staðsetningu tækis, símtalaferli og leit að tengiliðum.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Frekari upplýsingar fást hjá kerfisstjóranum, þar á meðal um persónuverndarstefnur fyrirtækisins þíns."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Til að nota þjófavarnareiginleikana þarftu að vera með skjálás með aðgangsorði á tækinu."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hafðu samband við kerfisstjórann til að fá frekari upplýsingar, þar á meðal um persónuverndarstefnu fyrirtækisins."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Frekari upplýsingar"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Hætta við"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Í lagi"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Ég veiti samþykki mitt"</string>
+    <string name="url_error" msgid="5958494012986243186">"Ekki er hægt að birta þennan tengil."</string>
+    <string name="terms" msgid="8295436105384703903">"Skilmálar"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Upplýsingar um vinnusnið"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Upplýsingar um stjórnað tæki"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Vinnusnið"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Aðalnotandi"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Eyða fyrirliggjandi sniði?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Þú ert þegar með vinnusnið sem haft er umsjón með eftirfarandi forriti:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Lestu þetta"</a>" áður en þú heldur áfram."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ef þú heldur áfram verður öllum forritum og gögnum á þessu sniði eytt."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eyða"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hætta við"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Dulkóða þarf tækið áður en hægt er að setja vinnusniðið upp. Þetta kann að taka svolitla stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Dulkóða þarf þetta tæki áður en hægt er að setja það upp. Þetta kann að taka svolitla stund."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Viltu dulkóða þetta tæki?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Dulkóða"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Dulkóðun lokið"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ýttu til að halda áfram að setja upp vinnusnið"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ekki var hægt að setja upp vinnusniðið þitt. Hafðu samband við upplýsingatæknisvið eða reyndu aftur síðar."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Ekki er hægt að bæta við vinnusniði"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Þessi notandi getur ekki notað vinnusnið. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Þessi notandi getur ekki notað vinnusnið. Hafðu samband við kerfisstjóra."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Ekki er hægt að setja upp vinnusnið í stýrðu tæki"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Hugsanlega eru of margir notendur á þessu tæki. Fjarlægðu notanda og reyndu aftur."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Skipta um ræsiforrit tækis"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Ekki er hægt að nota þetta ræsiforrit á vinnusniðinu þínu."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Hætta við"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Í lagi"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Uppsetningu notanda ekki lokið"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Notandi vinnutækis"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Setja upp vinnutæki"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Vinnur úr uppsetningargögnum…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Tengist Wi-Fi…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Sækir stjórnforritið…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Setur upp stjórnforritið…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Fjarlægir ónauðsynleg kerfisforrit…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Lýkur við frágang…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Stillir eiganda tækisins…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Frumstillir tæki…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Þetta tæki leyfir ekki dulkóðun, sem krafist er við uppsetningu. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Viltu stöðva uppsetningu og endurstilla tækið?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Þetta endurstillir tækið þitt og flytur þig aftur á fyrsta skjáinn"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Viltu hætta uppsetningu og eyða gögnum tækisins?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Hætta við"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Í lagi"</string>
+    <string name="reset" msgid="6467204151306265796">"Endurstilla"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Ekki er hægt að setja upp snið"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Ekki er hægt að setja tæki upp"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Ekki var hægt að setja upp tækið. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kerfisstjóri getur veitt aðstoð"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Tæki er nú þegar sett upp"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ekki var hægt að tengjast Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Kveikt er á endurstillingarvörn tækisins. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Þurrkað út"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Augnablik..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Ekki var hægt að nota stjórnunarforritið vegna villu í þversummu. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ekki tókst að sækja stjórnunarforritið"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Ekki er hægt að nota stjórnunarforritið. Eitthvað vantar í það eða það er bilað. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ekki tókst að setja stjórnunarforritið upp"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Hætta uppsetningu?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Já"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Hættir við…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stöðva uppsetningu sniðs?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Þú getur sett vinnusniðið þitt upp seinna í tækisstjórnunarforriti fyrirtækisins"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Áfram"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stöðva"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Hunsa"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Þú ert að stofna vinnusnið sem fyrirtækið þitt stýrir og hefur eftirlit með. Skilmálar eiga við."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Þú ert að stofna nýtt vinnusnið sem fyrirtækið þitt stýrir og hefur eftirlit með. Skilmálar <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> eiga við."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Snið verður stofnað fyrir vinnuforritin þín. Fyrirtækið þitt mun stýra og hafa eftirlit með þessu sniði og tækinu þínu. Skilmálar eiga við."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Snið verður stofnað fyrir vinnuforritin þín. Fyrirtækið þitt mun stýra og hafa eftirlit með þessu sniði og tækinu þínu. Skilmálar <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> eiga við."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Þetta tæki verður í umsjón <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, sem mun einnig tryggja öryggi þess. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Þetta tæki verður í umsjón <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, sem mun einnig tryggja öryggi þess. Skilmálar <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> eiga við. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Þessi tengill er ekki öruggur og ekki er hægt að opna hann fyrir uppsetningu tækisins er lokið: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ef spurningar vakna skaltu hafa samband við <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ef spurningar vakna skaltu hafa samband við kerfisstjóra fyrirtækisins"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Uppsetningu er ekki lokið. Leitaðu aðstoðar hjá kerfisstjóra."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Leitaðu aðstoðar hjá kerfisstjóra"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"kerfisstjóri fyrirtækis"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> mun stjórna og hafa eftirlit með þessu tæki í gegnum eftirfarandi forrit:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Fyrirtækið þitt"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"fyrirtækið þitt"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Lesa skilmálana"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Samþykkja og áfram"</string>
+    <string name="close" msgid="7208600934846389439">"Loka"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Settu upp tækið"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Breyttu því hvernig þú vinnur"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Aðgreindu vinnu frá persónulegu"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Einn staður fyrir vinnuforrit"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Slökkva á vinnu þegar þú ert búin(n)"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Úthlutar"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Setur upp CA-vottorð"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Setja upp þitt snið"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Með því að nota vinnusnið geturðu aðskilið vinnugögnin þín frá persónulegum gögnum"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Með vinnusniði geturðu geymt öll vinnutengd forrit á einum stað"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Setja upp snið. Dulkóðun"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Setja upp snið. Sýnir framvindu"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Uppsetning tækis"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Setur upp tækið. Dulkóðun"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Setja upp tækið. Sýnir framvindu"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Hnappurinn Frekari upplýsingar"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Tákn <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Fyrirsögn hlutans <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Efni hlutans <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Stækka"</string>
+    <string name="collapse" msgid="7817530505064432580">"Minnka"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Opna tenglalista"</string>
+    <string name="access_links" msgid="7991363727326168600">"Opna tengla"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Opna skilmála"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lesa skilmála"</string>
+    <string name="close_list" msgid="9053538299788717597">"Loka lista"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Hætta í uppsetningu og núllstilla?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ef þú lokar uppsetningunni verður tækið núllstillt og þú ferð aftur á upphafsskjárinn."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Hætta við"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Endurstilla tækið"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> og <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> og <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9dab553..31a59f1 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"La seguente app gestirà il tuo dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Avanti"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Impostazione di un profilo di lavoro…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"L\'amministratore può monitorare e gestire impostazioni, accesso aziendale, app, autorizzazioni e dati associati al profilo, incluse l\'attività di rete, la posizione del dispositivo, la cronologia chiamate e la cronologia delle ricerche di contatti."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"L\'amministratore può monitorare e gestire impostazioni, accesso aziendale, app, autorizzazioni, funzioni antifurto e dati associati al dispositivo, incluse l\'attività di rete e le informazioni sulla posizione del dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"L\'amministratore può monitorare e gestire impostazioni, accesso aziendale, app, autorizzazioni e dati associati a questo profilo, incluse l\'attività di rete, la posizione del dispositivo, la cronologia chiamate e la cronologia delle ricerche di contatti.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contatta il tuo amministratore per ulteriori informazioni e per conoscere le norme sulla privacy della tua organizzazione."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"L\'amministratore può monitorare e gestire impostazioni, accesso aziendale, app, autorizzazioni e dati associati a questo dispositivo, incluse l\'attività di rete, la posizione del dispositivo, la cronologia chiamate e la cronologia delle ricerche di contatti.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contatta il tuo amministratore per ulteriori informazioni e per conoscere le norme sulla privacy della tua organizzazione."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Per poter utilizzare le funzioni antifurto, è necessario impostare sul dispositivo un blocco schermo protetto tramite password."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Per ulteriori informazioni, contatta il tuo amministratore e consulta le norme sulla privacy della tua organizzazione."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Ulteriori informazioni"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Annulla"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Accetto"</string>
+    <string name="url_error" msgid="5958494012986243186">"Impossibile visualizzare il link."</string>
+    <string name="terms" msgid="8295436105384703903">"Termini"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informazioni sui profili di lavoro"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informazioni sul dispositivo gestito"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profilo di lavoro"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Utente principale"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Rimuovere il profilo di lavoro?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profilo di lavoro già presente e gestito da:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Il profilo di lavoro viene gestito per %s tramite:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Eliminare il profilo esistente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Hai già un profilo di lavoro gestito con la seguente app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Prima di procedere, "<a href="#read_this_link">"leggi qui"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se continui, tutti i dati e le app di questo profilo verranno eliminati."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Elimina"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Annulla"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Per continuare la configurazione del profilo di lavoro, dovrai crittografare il dispositivo. L\'operazione potrebbe richiedere del tempo."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Per continuare la configurazione del dispositivo, dovrai crittografarlo. Questa operazione potrebbe richiedere tempo."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Crittografa"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Per configurare il profilo di lavoro devi prima criptare il dispositivo. L\'operazione potrebbe richiedere tempo."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Per configurare questo dispositivo devi prima criptarlo. L\'operazione potrebbe richiedere tempo."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Criptare il dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Cripta"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Crittografia completa"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tocca per continuare a configurare il profilo di lavoro"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossibile impostare il tuo profilo di lavoro. Contatta il tuo reparto IT oppure riprova in un secondo momento."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Il tuo dispositivo non supporta profili di lavoro"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Questo utente non può avere un profilo di lavoro"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Impossibile aggiungere il profilo di lavoro"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Questo utente non può avere un profilo di lavoro. Per assistenza, contatta l\'amministratore."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Questo utente non può avere profili di lavoro. Contatta l\'amministratore."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"I profili di lavoro non possono essere configurati su un dispositivo gestito"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Impossibile creare il profilo di lavoro perché è stato raggiunto il numero massimo di utenti sul dispositivo. Rimuovi almeno un utente e riprova."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Il tuo profilo di lavoro non è supportato da questa app Avvio applicazioni. Devi passare a un\'app Avvio applicazioni compatibile."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"È possibile che sul dispositivo siano configurati troppi utenti. Rimuovi un utente e riprova."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cambia Avvio applicazioni del dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Questa app Avvio applicazioni non supporta il tuo profilo di lavoro"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Annulla"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configurazione utenti incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Connessione a rete Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Download dell\'app dell\'amministratore…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installazione dell\'app dell\'amministratore…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Rimozione app di sistema non obbligatorie…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Applicazione degli ultimi ritocchi…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Impostazione del proprietario dispositivo…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Il dispositivo non supporta la crittografia. Contatta il reparto IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inizializzazione del dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Questo dispositivo non consente la crittografia, necessaria per la configurazione. Per assistenza, contatta l\'amministratore."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Interrompere la configurazione e reimpostare il dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Il dispositivo verrà reimpostato e tornerai alla prima schermata"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Interrompere la configurazione e cancellare i dati del dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annulla"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reimposta"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossibile impostare il dispositivo. Contatta il tuo reparto IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Questo dispositivo è già configurato."</string>
+    <string name="reset" msgid="6467204151306265796">"Reimposta"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Impossibile configurare il profilo"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Impossibile configurare il dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Impossibile configurare il dispositivo. Per assistenza, contatta l\'amministratore."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contatta l\'amministratore per ricevere assistenza"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Il dispositivo è già configurato"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossibile connettersi alla rete Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Questo dispositivo è bloccato dalla funzione di protezione dal ripristino dei dati di fabbrica. Contatta il reparto IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Sul dispositivo è attiva la protezione dal ripristino. Per assistenza, contatta l\'amministratore."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Cancellazione in corso"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Attendere prego…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossibile utilizzare l\'app dell\'amministratore per un errore di checksum. Contatta il tuo reparto IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Impossibile utilizzare l\'app di amministrazione a causa di un errore di checksum. Per assistenza, contatta l\'amministratore."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossibile scaricare l\'app di amministrazione"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossibile utilizzare l\'app dell\'amministratore per componenti mancanti o danneggiati. Contatta il tuo reparto IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Impossibile utilizzare l\'app di amministrazione perché è danneggiata o mancano dei componenti. Per assistenza, contatta l\'amministratore."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossibile installare l\'app di amministrazione"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Interrompere la configurazione?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sì"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Annullamento…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Interrompere la configurazione del profilo?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Puoi configurare il tuo profilo di lavoro in un secondo momento dall\'app per la gestione dei dispositivi utilizzata dalla tua organizzazione."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continua"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Puoi configurare il tuo profilo di lavoro in un secondo momento nell\'app per la gestione dei dispositivi della tua organizzazione"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continua"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Interrompi"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignora"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Stai per creare un profilo di lavoro che verrà gestito e monitorato dalla tua organizzazione. Si applicano termini."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Stai per creare un profilo di lavoro che verrà gestito e monitorato dalla tua organizzazione. Si applicano i termini di <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Verrà creato un profilo per le tue app di lavoro. Il profilo e gli altri dati del dispositivo saranno gestiti e monitorati dalla tua organizzazione. Si applicano termini."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Verrà creato un profilo per le tue app di lavoro. Il profilo e gli altri dati del dispositivo saranno gestiti e monitorati dalla tua organizzazione. Si applicano i termini di <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Questo dispositivo verrà gestito e protetto dalla <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Si applicano termini. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Questo dispositivo verrà gestito e protetto dalla <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Si applicano i termini di <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Questo link non è sicuro e può essere aperto solo al termine della configurazione del dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Per eventuali domande, contatta il tuo <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Per eventuali domande, contatta l\'amministratore della tua organizzazione"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Configurazione non terminata. Per assistenza, contatta l\'amministratore."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Per assistenza, contatta l\'amministratore"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"amministratore dell\'organizzazione"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> gestirà e monitorerà questo dispositivo usando la seguente app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"La tua organizzazione"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"tua organizzazione"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Visualizza termini"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Accetta e continua"</string>
+    <string name="close" msgid="7208600934846389439">"Chiudi"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configura il tuo dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Cambia il tuo modo di lavorare"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separa i dati relativi al lavoro da quelli personali"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Tutte le app di lavoro in un unico posto"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Stacca dal lavoro quando hai finito"</string>
     <string name="provisioning" msgid="4512493827019163451">"Provisioning in corso"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Configurazione dei certificati CA in corso"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurazione del profilo. Avvio configurazione"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configura il tuo profilo"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Se usi un profilo di lavoro, puoi separare i dati relativi al lavoro dai tuoi dati personali"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Se usi un profilo di lavoro, puoi tenere le app di lavoro in un unico posto"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurazione del profilo. Crittografia"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurazione del profilo. Visualizzazione avanzamento"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurazione del dispositivo. Avvio configurazione"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurazione del dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurazione del dispositivo. Crittografia"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurazione del dispositivo. Visualizzazione avanzamento"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Pulsante Ulteriori informazioni"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Titolo della sezione <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Contenuti della sezione <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Espandi"</string>
+    <string name="collapse" msgid="7817530505064432580">"Comprimi"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accedi a un elenco di link"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accedi ai link"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accedi ai termini"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Leggi i termini"</string>
+    <string name="close_list" msgid="9053538299788717597">"Chiudi l\'elenco"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Terminare la configurazione e ripristinare i dati di fabbrica?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Se termini la configurazione verrà eseguito il ripristino dei dati di fabbrica del dispositivo e verrai reindirizzato alla prima schermata."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Annulla"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ripristina dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> e <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> e <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index ec9246d..df56ccd 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -28,35 +28,41 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"האפליקציה הבאה תנהל את המכשיר שלך:"</string>
     <string name="next" msgid="1004321437324424398">"הבא"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"מגדיר את פרופיל העבודה שלך…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"מנהל המערכת יכול לבצע מעקב ולנהל הגדרות, גישה ארגונית, אפליקציות, הרשאות ונתונים המשויכים לפרופיל הזה, כולל פעילות ברשת, מיקום המכשיר, היסטוריית השיחות והיסטוריית החיפושים של אנשי הקשר."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"מנהל המערכת יכול לבצע מעקב ולנהל הגדרות, גישה ארגונית, אפליקציות ונתונים המשויכים למכשיר הזה, כולל פעילות ברשת ומידע על מיקום המכשיר."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"מנהל המערכת יכול לנטר ולנהל הגדרות, גישה ארגונית, אפליקציות, הרשאות ונתונים המשויכים לפרופיל זה, כולל הפעילות שלך ברשת, וכן את מיקום המכשיר, את היסטוריית השיחות ואת היסטוריית החיפושים של אנשי הקשר.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>פנה למנהל המערכת לקבלת מידע נוסף, כולל מידע על מדיניות הפרטיות של הארגון."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"מנהל המערכת יכול לנטר ולנהל הגדרות, גישה ארגונית, אפליקציות, הרשאות ונתונים המשויכים למכשיר זה, כולל הפעילות שלך ברשת, וכן את מיקום המכשיר, את היסטוריית השיחות ואת היסטוריית החיפושים של אנשי הקשר.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>פנה למנהל המערכת לקבלת מידע נוסף, כולל מידע על מדיניות הפרטיות של הארגון."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"כדי להשתמש בתכונות הגנה מפני גניבה, נדרשת נעילת מסך המוגנת על ידי סיסמה במכשיר."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"פנה למנהל המערכת לקבלת מידע נוסף, כולל מדיניות הפרטיות של הארגון."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"למידע נוסף"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"בטל"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ביטול"</string>
     <string name="ok_setup" msgid="4593707675416137504">"אישור"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"אני מסכים"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"אני מסכים/ה"</string>
+    <string name="url_error" msgid="5958494012986243186">"לא ניתן להציג את הקישור."</string>
+    <string name="terms" msgid="8295436105384703903">"תנאים"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"הפרטים של פרופיל העבודה"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"פרטי המכשיר המנוהל"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"פרופיל עבודה"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"משתמש ראשי"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"האם להסיר את פרופיל העבודה?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"כבר קיים פרופיל עבודה, והוא מנוהל על ידי:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏פרופיל העבודה הזה מנוהל בשביל %s באמצעות:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"למחוק את הפרופיל הקיים?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"כבר יש לך פרופיל עבודה, והאפליקציה הבאה מנהלת אותו:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"קרא את המידע שכאן"</a>" לפני שתמשיך."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"אם תמשיך, כל האפליקציות והנתונים בפרופיל זה יימחקו."</string>
     <string name="delete_profile" msgid="2299218578684663459">"מחק"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"בטל"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"כדי להמשיך בהגדרת פרופיל העבודה, יהיה עליך להצפין את המכשיר. הפעולה הזו עשויה להימשך זמן מה."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"כדי להמשיך בהגדרת המכשיר, עליך להצפין אותו. הפעולה הזו עשויה להימשך זמן מה."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"הצפן"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ביטול"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"כדי להגדיר את פרופיל העבודה, עליך להצפין את המכשיר. הפעולה הזו עשויה להימשך זמן מה."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"כדי להגדיר את המכשיר, עליך להצפין אותו. הפעולה הזו עשויה להימשך זמן מה."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"להצפין את המכשיר?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"הצפן"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ההצפנה הושלמה"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"הקש כדי להמשיך בהגדרת פרופיל העבודה שלך"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"‏לא ניתן להגדיר את פרופיל העבודה שלך. צור קשר עם מחלקת ה-IT או נסה שוב מאוחר יותר."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"המכשיר שלך אינו תומך בפרופילי עבודה"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"למשתמש זה לא יכול להיות פרופיל עבודה"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"לא ניתן להוסיף פרופיל עבודה"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"למשתמש זה לא יכול להיות פרופיל עבודה. לקבלת עזרה, פנה למנהל המערכת."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"למשתמש זה לא יכול להיות פרופיל עבודה. פנה למנהל המערכת."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"לא ניתן להגדיר פרופילים של עבודה במכשיר מנוהל"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"לא ניתן ליצור פרופיל עבודה מפני שהגעת למספר המשתמשים המקסימלי במכשיר. הסר משתמש אחד לפחות ונסה שוב."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"פרופיל העבודה שלך אינו נתמך על ידי אפליקציית ההפעלה הזו. יהיה עליך לעבור למפעיל אפליקציות תואם."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"בטל"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ייתכן שיש יותר מדי משתמשים במכשיר. הסר משתמש אחד ונסה שוב."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"שנה את מפעיל האפליקציות במכשיר"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"פרופיל העבודה שלך לא יכול להשתמש במפעיל האפליקציות הזה"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ביטול"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"אישור"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"הגדרת המשתמש אינה מלאה"</string>
     <string name="default_owned_device_username" msgid="3915120202811807955">"משתמש של מכשיר עבודה"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"‏מתחבר ל-Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"מוריד את אפליקציית הניהול…"</string>
     <string name="progress_install" msgid="2258045670385866183">"מתקין את אפליקציית הניהול…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"מסיר אפליקציות מערכת שאינן נחוצות…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"מוסיף ליטושים אחרונים..."</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"מגדיר את בעל המכשיר…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"‏המכשיר שברשותך אינו תומך בהצפנה. צור קשר עם מחלקת ה-IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"מאתחל את המכשיר…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"המכשיר לא תומך בהצפנה הנדרשת להגדרה. לקבלת עזרה, פנה למנהל המערכת."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"להפסיק את ההגדרה ולאפס את המכשיר?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"פעולה זו תאפס את המכשיר להגדרות היצרן ותחזיר אותך למסך הראשון"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"האם להפסיק את ההגדרה ולמחוק את נתוני המכשיר?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"בטל"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ביטול"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"אישור"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"אפס"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"‏לא ניתן להגדיר את המכשיר. צור קשר עם מחלקת ה-IT שלך."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"המכשיר הזה כבר מוגדר."</string>
+    <string name="reset" msgid="6467204151306265796">"אפס את המכשיר"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"לא ניתן להגדיר את הפרופיל"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"לא ניתן להגדיר את המכשיר"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"לא ניתן היה להגדיר את המכשיר. לקבלת עזרה, פנה למנהל המערכת."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"פנה למנהל המערכת לקבלת עזרה"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"המכשיר כבר הוגדר"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏אין אפשרות להתחבר ל-Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"‏המכשיר הזה נעול באמצעות הגנה מפני איפוס לנתוני היצרן. פנה אל מחלקת ה-IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"התכונה \'הגנה מפני איפוס להגדרות היצרן\' מופעלת במכשיר. לקבלת עזרה, פנה למנהל המערכת."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"מוחק"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"אנא המתן..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"‏לא ניתן להשתמש באפליקציית הניהול עקב שגיאה בסיכום הביקורת. צור קשר עם מחלקת ה-IT שלך."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"לא ניתן להשתמש באפליקציית הניהול עקב שגיאה בסיכום הביקורת. לקבלת עזרה, פנה למנהל המערכת."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"לא ניתן להוריד את אפליקציית הניהול"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"‏לא ניתן להשתמש באפליקציית הניהול. חסרים בה מרכיבים או שהיא פגומה. צור קשר עם מחלקת ה-IT שלך."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"לא ניתן להשתמש באפליקציית הניהול. חסרים בה מרכיבים או שהיא פגומה. לקבלת עזרה, פנה למנהל המערכת."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"לא ניתן להתקין את אפליקציית הניהול"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"האם להפסיק את תהליך ההגדרה?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"לא"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"כן"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"מבטל…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"האם להפסיק את הגדרת הפרופיל?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"באפשרותך להגדיר את פרופיל העבודה מאוחר יותר באמצעות האפליקציה לניהול המכשיר שבה משתמש הארגון שלך."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"המשך"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"תוכל להגדיר את פרופיל העבודה מאוחר יותר באמצעות האפליקציה לניהול המכשיר שבה משתמש הארגון שלך."</string>
+    <string name="continue_button" msgid="7177918589510964446">"המשך"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"עצור"</string>
+    <string name="dismiss" msgid="9009534756748565880">"סגור"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"אתה עומד ליצור פרופיל עבודה חדש שהארגון שלך ינהל וינטר. בכפוף לתנאים."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"אתה עומד ליצור פרופיל עבודה חדש שהארגון שלך ינהל וינטר. בכפוף לתנאים של <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"ייווצר פרופיל לאפליקציות העבודה שלך. הארגון שלך ינהל וינטר את הפרופיל ואת המכשיר כולו. בכפוף לתנאים."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"ייווצר פרופיל לאפליקציות העבודה שלך. הארגון שלך ינהל וינטר את הפרופיל ואת המכשיר כולו. בכפוף לתנאים של <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"מכשיר זה ינוהל ואבטחתו תטופל על ידי <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. בכפוף לתנאים. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"מכשיר זה ינוהל ואבטחתו תטופל על ידי <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. בכפוף לתנאים של <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"הקישור הזה לא מאובטח ולא ניתן יהיה לפתוח אותו עד לסיום ההגדרה של המכשיר: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"אם יש לך שאלות, פנה אל <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"אם יש לך שאלות, פנה למנהל המערכת של הארגון"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ההגדרה לא הסתיימה. לקבלת עזרה, פנה למנהל המערכת."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"לקבלת עזרה, פנה למנהל המערכת"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"מנהל המערכת של הארגון"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ינהל וינטר את המכשיר הזה באמצעות האפליקציה הבאה:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"הארגון שלך"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"הארגון שלך"</string>
+    <string name="view_terms" msgid="7230493092383341605">"הצג תנאים והגבלות"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"קבל והמשך"</string>
+    <string name="close" msgid="7208600934846389439">"סגור"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"הגדרת המכשיר"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"כך תשנה את אופן העבודה שלך"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"איך להפריד את נתוני העבודה מהנתונים האישיים"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"מקום אחד לכל אפליקציות העבודה"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"כבה את העבודה כשתסיים"</string>
     <string name="provisioning" msgid="4512493827019163451">"קובע את התצורה"</string>
     <string name="copying_certs" msgid="5697938664953550881">"‏מגדיר אישורי CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"הגדר את הפרופיל. התחל בהגדרה"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"הגדרת הפרופיל שלך"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"פרופיל העבודה מאפשר לך להפריד בין נתוני עבודה לנתונים האישיים"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"פרופיל עבודה מאפשר לך לגשת לכל אפליקציות העבודה שלך ממקום אחד"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"הגדר את הפרופיל. הצפנה"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"הגדר את הפרופיל. מציג התקדמות"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"הגדר את המכשיר. התחל בהגדרה"</string>
+    <string name="setup_device" msgid="6725265673245816366">"הגדרת המכשיר שלך"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"הגדר את המכשיר. הצפנה"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"הגדר את המכשיר. מציג התקדמות"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"לחצן \'למידע נוסף\'"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"סמל <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"כותרת הקטע \'<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\'."</string>
+    <string name="section_content" msgid="8875502515704374394">"תוכן הקטע \'<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\': <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"הרחבה"</string>
+    <string name="collapse" msgid="7817530505064432580">"כיווץ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"גישה לרשימת קישורים"</string>
+    <string name="access_links" msgid="7991363727326168600">"גישה לקישורים"</string>
+    <string name="access_terms" msgid="1982500872249763745">"גישה למונחים"</string>
+    <string name="read_terms" msgid="1745011123626640728">"לקריאת התנאים"</string>
+    <string name="close_list" msgid="9053538299788717597">"סגור את הרשימה"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"האם לסיים את ההגדרה ולאפס את המכשיר להגדרות היצרן?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"סיום ההגדרה הזאת יגרום לאיפוס המכשיר להגדרות היצרן ויעביר אותך למסך הראשון."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"בטל"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ביטול"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"איפוס מכשיר"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> וגם <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ו-<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 00c4c8b..6b6a60a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"お使いの端末は次のアプリによって管理されます。"</string>
     <string name="next" msgid="1004321437324424398">"次へ"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"仕事用プロファイルをセットアップしています…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"管理者は、ネットワーク アクティビティ、端末の位置情報、通話履歴、連絡先の検索履歴など、このプロファイルに関連付けられた設定、コーポレート アクセス、アプリ、権限、データを監視および管理できます。"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"管理者は、ネットワーク アクティビティや端末の位置情報など、この端末に関連付けられた設定、コーポレート アクセス、アプリ、権限、盗難防止機能、データを確認して管理できます。"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"管理者は、ネットワーク アクティビティ、端末の位置情報、通話履歴、連絡先の検索履歴など、このプロファイルに関連付けられた設定、コーポレート アクセス、アプリ、権限、データを監視および管理できます。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>組織のプライバシー ポリシーなど詳しくは管理者にお問い合わせください。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"管理者は、ネットワーク アクティビティ、端末の位置情報、通話履歴、連絡先の検索履歴など、この端末に関連付けられた設定、コーポレート アクセス、アプリ、権限、データを監視および管理できます。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>組織のプライバシー ポリシーなど詳しくは管理者にお問い合わせください。"</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"盗難防止機能を使用するには、端末でパスワードで保護された画面ロックを設定する必要があります。"</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"組織のプライバシー ポリシーなど詳しくは管理者にお問い合わせください。"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"詳細"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"キャンセル"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"同意します"</string>
+    <string name="url_error" msgid="5958494012986243186">"このリンクを表示できません。"</string>
+    <string name="terms" msgid="8295436105384703903">"利用規約"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"仕事用プロファイルの情報"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"管理対象端末の情報"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"仕事用プロファイル"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"メインユーザー"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"仕事用プロファイルの削除"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"仕事用プロファイルは既に存在します。管理するアプリ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"この「%s」の仕事用プロファイルは次のアプリによって管理されています:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"既存のプロファイルを削除しますか?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"仕事用プロファイルはすでに存在し、次のアプリで管理されています。"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"次に進む前に"<a href="#read_this_link">"こちらをご覧ください"</a>"。"</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"続行すると、このプロファイルのアプリとデータはすべて削除されます。"</string>
     <string name="delete_profile" msgid="2299218578684663459">"削除"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"キャンセル"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"仕事用プロファイルのセットアップを続行するには、端末を暗号化する必要があります。これにはしばらく時間がかかる場合があります。"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"端末の設定を続行するには、端末を暗号化する必要があります。これにはしばらく時間がかかる場合があります。"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"暗号化"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"仕事用プロファイルをセットアップするには、端末を暗号化する必要があります。これには時間がかかる場合があります。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"この端末をセットアップするには、まず暗号化する必要があります。これには時間がかかる場合があります。"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"この端末の暗号化"</string>
+    <string name="encrypt" msgid="1749320161747489212">"暗号化"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"暗号化が完了"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"引き続き仕事用プロファイルをセットアップするにはタップしてください"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"仕事用プロファイルをセットアップできませんでした。IT部門にお問い合わせいただくか、しばらくしてからもう一度お試しください。"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"お使いの端末は仕事用プロファイルをサポートしていません。"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"このユーザーには仕事用プロファイルを設定できません"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"仕事用プロファイルを追加できません"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"このユーザーには仕事用プロファイルを設定できません。詳しくは管理者にお問い合わせください。"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"このユーザーには仕事用プロファイルを設定できません。管理者にお問い合わせください。"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"仕事用プロファイルは、管理対象端末にはセットアップできません"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"端末のユーザー数の上限に達しているため仕事用プロファイルを作成できません。ユーザーを少なくとも1人削除してもう一度お試しください。"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"このランチャーアプリは仕事用プロファイルに対応していません。互換性のあるランチャーに切り替える必要があります。"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"この端末のユーザーが多すぎる可能性があります。ユーザーを削除してから、もう一度お試しください。"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"端末ランチャーを変更してください"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"仕事用プロファイルではこのランチャー アプリを使用できません"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"キャンセル"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"ユーザー設定が完了していません"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fiに接続しています…"</string>
     <string name="progress_download" msgid="3522436271691064624">"管理アプリをダウンロードしています…"</string>
     <string name="progress_install" msgid="2258045670385866183">"管理アプリをインストールしています…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"不要なシステムアプリを削除しています…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"最終調整を行っています…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"端末の所有者を設定しています…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"お使いの端末では暗号化がサポートされていません。IT 部門にお問い合わせください。"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"端末を初期化しています…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"この端末ではセットアップに必要な暗号化が許可されていません。詳しくは管理者にお問い合わせください。"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"端末のセットアップとリセットの停止"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"これで、端末が初期状態にリセットされて最初の画面に戻ります"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"セットアップを中止して端末のデータを消去しますか?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"キャンセル"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"リセット"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"端末をセットアップできませんでした。IT部門にお問い合わせください。"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"この端末は既にセットアップ済みです。"</string>
+    <string name="reset" msgid="6467204151306265796">"リセット"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"プロファイルをセットアップできません"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"端末をセットアップできません"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"端末をセットアップできませんでした。詳しくは管理者にお問い合わせください。"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"詳しくは管理者にお問い合わせください"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"端末はすでにセットアップされています"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fiに接続できませんでした"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"この端末は出荷時設定へのリセット保護によりロックされています。IT部門にお問い合わせください。"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"この端末では出荷時設定へのリセット保護が有効になっています。詳しくは管理者にお問い合わせください。"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"消去中"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"お待ちください..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"チェックサムエラーのため管理アプリを使用できませんでした。IT部門にお問い合わせください。"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"チェックサムエラーのため管理アプリを使用できませんでした。詳しくは管理者にお問い合わせください。"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"管理アプリをダウンロードできませんでした"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理アプリを使用できません。このアプリはコンポーネントがないか、破損しています。IT部門にお問い合わせください。"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"管理アプリを使用できません。このアプリはコンポーネントがないか、破損しています。詳しくは管理者にお問い合わせください。"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"管理アプリをインストールできませんでした"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"セットアップを中止しますか?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"いいえ"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"はい"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"キャンセルしています…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"プロファイルのセットアップを中止しますか?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"組織で使用されている端末管理アプリを使用して、後で仕事用プロファイルをセットアップすることもできます。"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"続行"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"仕事用プロファイルは、組織で使用している端末管理アプリで後からセットアップできます"</string>
+    <string name="continue_button" msgid="7177918589510964446">"続行"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"停止"</string>
+    <string name="dismiss" msgid="9009534756748565880">"閉じる"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"仕事用プロファイルを作成しようとしています。このプロファイルは組織によって管理および監視されます。利用規約が適用されます。"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"仕事用プロファイルを作成しようとしています。このプロファイルは組織によって管理および監視されます。<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> の利用規約が適用されます。"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"仕事用アプリのプロファイルが作成されます。このプロファイルと端末の残りの設定は組織によって管理および監視されます。利用規約が適用されます。"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"仕事用アプリのプロファイルが作成されます。このプロファイルと端末の残りの設定は組織によって管理および監視されます。<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> の利用規約が適用されます。"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"この端末は<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>によって管理され、安全に保護されます。利用規約が適用されます。<xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"この端末は<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>によって管理され、安全に保護されます。<xliff:g id="TERMS_HEADERS">%2$s</xliff:g> の利用規約が適用されます。<xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"このリンク(<xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>)は安全ではないため、端末のセットアップが完了するまで開けません。"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ご不明な点がある場合は、<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>にお問い合わせください。"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ご不明な点がある場合は、組織の管理者にお問い合わせください"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"セットアップが完了していません。詳しくは管理者にお問い合わせください。"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"詳しくは管理者にお問い合わせください"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"組織の管理者"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>では、この端末の管理、監視に次のアプリを使用しています。"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"あなたの組織"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"あなたの組織"</string>
+    <string name="view_terms" msgid="7230493092383341605">"規約を表示"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"同意して続行"</string>
+    <string name="close" msgid="7208600934846389439">"閉じる"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"端末を設定してください"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"効率よく仕事できるようになります"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"仕事とプライベートを区別"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"仕事用アプリを 1 か所に"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"仕事とプライベートをしっかり切り替え"</string>
     <string name="provisioning" msgid="4512493827019163451">"プロビジョニングしています"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA証明書をセットアップしています"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"プロファイルのセットアップ: セットアップの開始"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"プロファイルの設定"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"仕事用プロファイルを使用すると、仕事用データと個人データを区別できます"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"仕事用プロファイルを使用すると、仕事用アプリを 1 か所にまとめられます"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"プロファイルのセットアップ: 暗号化"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"プロファイルのセットアップ: 進行状況の表示"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"端末のセットアップ: セットアップの開始"</string>
+    <string name="setup_device" msgid="6725265673245816366">"端末のセットアップ"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"端末のセットアップ: 暗号化"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"端末のセットアップ: 進行状況の表示"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"詳細ボタン"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>アイコン"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> セクションの見出し"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> セクションのコンテンツ: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"展開"</string>
+    <string name="collapse" msgid="7817530505064432580">"折りたたむ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"リンクのリストにアクセスします"</string>
+    <string name="access_links" msgid="7991363727326168600">"リンクにアクセスします"</string>
+    <string name="access_terms" msgid="1982500872249763745">"規約にアクセスします"</string>
+    <string name="read_terms" msgid="1745011123626640728">"規約を読む"</string>
+    <string name="close_list" msgid="9053538299788717597">"リストを閉じる"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"セットアップを終了して初期状態にリセットしますか?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"このセットアップを終了すると端末が初期状態にリセットされて最初の画面に戻ります。"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"キャンセル"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"端末のリセット"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>、<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g>、および<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>、<xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>、<xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
deleted file mode 100644
index 5782c4c..0000000
--- a/res/values-ka-rGE/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"სამსახურის პროფილის დაყენება"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"უკაცრავად!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"სამსახურის პროფილის დაყენება"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"თქვენი ორგანიზაცია აკონტროლებს ამ პროფილს და მის უსაფრთხოებას. ყველაფერ დანარჩენს კი თქვენ აკონტროლებთ თქვენს მოწყობილობაზე."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"თქვენი ორგანიზაცია კონტროლს გაუწევს ამ მოწყობილობას და მის უსაფრთხოებას უზრუნველყოფს."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"შემდეგ აპს ამ პროფილზე წვდომა დაჭირდება:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"შემდეგი აპი მართავს თქვენს მოწყობილობას:"</string>
-    <string name="next" msgid="1004321437324424398">"შემდეგი"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"თქვენი სამუშაო პროფილის დაყენება…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"თქვენს ადმინისტრატორს შეუძლია ამ პროფილთან დაკავშირებული პარამეტრების, კორპორატიული წვდომის, აპების, ნებართვებისა და მონაცემების (მათ შორის, თქვენი ქსელის აქტივობის, მოწყობილობის მდებარეობის, საუბრის ისტორიის და კონტაქტების ძიების ისტორიის) მონიტორინგი და მართვა."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"თქვენს ადმინისტრატორს შეუძლია ამ მოწყობილობასთან დაკავშირებული პარამეტრების, კორპორატიული წვდომის, აპების, ნებართვების, მოპარვისგან დაცვის ფუნქციებისა და მონაცემების (მათ შორის, ქსელის აქტივობისა და თქვენი მოწყობილობის მდებარეობის ინფორმაციის) მონიტორინგი და მართვა."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"მოპარვისგან დაცვის ფუნქციების გამოსაყენებლად, თქვენი მოწყობილობა პაროლით დაცულ ეკრანის დაბლოკვას უნდა იყენებდეს."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"დამატებითი ინფორმაციისთვის, მათ შორის, თქვენი ორგანიზაციის კონფიდენციალურობის დებულებების თაობაზე, დაუკავშირდით თქვენს ადმინისტრატორს."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"შეიტყვეთ მეტი"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"გაუქმება"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"კარგი"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ვეთანხმები"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"სამუშაო პროფილი"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ძირითადი მომხმარებელი"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"წავშალოთ სამუშაო პროფილი?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"სამუშაო პროფილი უკვე არსებობს და მას მართავს:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ამ სამუშაო პროფილის მართვა ხორციელდება %s-სთვის, რა დროსაც გამოიყენება:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"გაგრძელებამდე "<a href="#read_this_link">"ეს წაიკითხეთ"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"გაგრძელების შემთხვევაში, ამ პროფილში არსებული ყველა აპი და მონაცემი წაიშლება."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"წაშლა"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"გაუქმება"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"თქვენი სამუშაო პროფილის შექმნის გასაგრძელებლად, უნდა დაშიფროთ თქვენი მოწყობილობა. ამას შესაძლოა გარკვეული დრო დასჭირდეს."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"თქვენი მოწყობილობის დაყენების გასაგრძელებლად საჭიროა მისი დაშიფვრა. ამას შესაძლოა რამდენიმე წუთი დასჭირდეს."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"დაშიფრვა"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"დაშიფვრა დასრულდა"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"შეეხეთ თქვენი სამსახურის პროფილის დაყენების გასაგრძელებლად"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"თქვენი სამუშაო პროფილი ვერ შეიქმნა. დაუკავშირდით თქვენს IT განყოფილებას ან სცადეთ ისევ."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"თქვენს მოწყობილობას არ აქვს სამუშაო პროფილების მხარდაჭერა"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ამ მომხმარებელს სამუშაო პროფილის ქონა არ შეუძლია"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"სამუშაო პროფილების დაყენება არ შეიძლება მართულ მოწყობილობაზე."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"სამსახურის პროფილი ვერ შეიქმნება, რადგან თქვენს მოწყობილობაზე მიღწეულია მომხმარებელთა მაქსიმალური რაოდენობა. წაშალეთ მინიმუმ ერთი მომხმარებელი და ისევ სცადეთ."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"თქვენი პროფილი ამ გამშვები აპის მიერ მხარდაჭერილი არ არის. მოგიწევთ გადახვიდეთ თავსებად გამშვებზე."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"გაუქმება"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"კარგი"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"მომხმარებლის ანგარიშის გამართვა ვერ მოხერხდა"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"სამუშაო მოწყობილობის მომხმარებელი"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"სამსახურის მოწყობილობის დაყენება"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"დაყენების მონაცემების დამუშავება…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-თან დაკავშირება…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"ადმინისტრატორის აპის ჩამოტვირთვა…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"ადმინისტრატორის აპის ინსტალაცია…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"მოწყობილობის მფლობელის დაყენება…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"დაშიფვრა მხარდაუჭერელია თქვენი მოწყობილობის მიერ. დაუკავშირდით თქვენს IT განყოფილებას."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"შეჩერდეს დაყენება და წაიშალოს თქვენი მოწყობილობის მონაცემები?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"გაუქმება"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"კარგი"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ჩამოყრა"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"თქვენი მოწყობილობის დაყენება ვერ მოხერხდა. დაუკავშირდით თქვენს IT განყოფილებას."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ეს მოწყობილობა უკვე დაყენებულია."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-თან დაკავშირება ვერ მოხერხდა"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ეს მოწყობილობა ჩაკეტილია ქარხნული პარამეტრბის დაცვით. დაუკავშირდით თქვენს IT განყოფილებას."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ამოშლა"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"გთხოვთ, დაელოდოთ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა checksum-ის შეცდომის გამო. დაუკავშირდით თქვენს IT განყოფილებას."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ადმინისტრატორის აპის ჩამოტვირთვა ვერ მოხერხდა."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა. მას აკლია კომპონენტები, ან დაზიანებულია. დაუკავშირდით თქვენს IT განყოფილებას."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ადმინისტრატორის აპი ვერ დაინსტალირდა."</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"გსურთ დაყენების შეჩერება?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"არა"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"კი"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"გაუქმება…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"გსურთ პროფილის დაყენების შეჩერება?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"შეგიძლიათ დააყენოთ თქვენი სამუშაო პროფილი მოგვიანებით მოწყობილობის მართვის აპიდან, რომელსაც იყენებს თქვენი ორგანიზაცია."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"გაგრძელება"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"შეწყვეტა"</string>
-    <string name="provisioning" msgid="4512493827019163451">"დანერგვა"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA სერთიფიკატების დაყენება"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"თქვენი პროფილის დაყენება. დაყენების დაწყება"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"თქვენი პროფილის დაყენება. დაშიფვრა"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"თქვენი პროფილის დაყენება. ნაჩვენებია პროგრესი"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"თქვენი მოწყობილობის გამართვა. დაყენების დაწყება"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"თქვენი მოწყობილობის გამართვა. დაშიფვრა"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"თქვენი მოწყობილობის გამართვა. ნაჩვენებია პროგრესი"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"შეიტყვეთ მეტის ღილაკი"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>-ის ხატულა"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"გსურთ დასრულება და ქარხნული პარამ. დაბრუნება?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"მიმდინარე დაყენების დასრულების შემთხვევაში, თქვენი მოწყობილობა ქარხნულ პარამეტრებს დაუბრუნდება და პირველ ეკრანზე გადახვალთ."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"გაუქმება"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"მოწყობილობის საწყის მდგომარეობაზე დაბრუნება"</string>
-</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
new file mode 100644
index 0000000..0f10516
--- /dev/null
+++ b/res/values-ka/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"სამსახურის პროფილის დაყენება"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"უკაცრავად!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"სამსახურის პროფილის დაყენება"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"თქვენი ორგანიზაცია აკონტროლებს ამ პროფილს და მის უსაფრთხოებას. ყველაფერ დანარჩენს კი თქვენ აკონტროლებთ თქვენს მოწყობილობაზე."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"თქვენი ორგანიზაცია კონტროლს გაუწევს ამ მოწყობილობას და მის უსაფრთხოებას უზრუნველყოფს."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"შემდეგ აპს ამ პროფილზე წვდომა დაჭირდება:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"შემდეგი აპი მართავს თქვენს მოწყობილობას:"</string>
+    <string name="next" msgid="1004321437324424398">"შემდეგი"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"თქვენი სამუშაო პროფილის დაყენება…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"თქვენს ადმინისტრატორს შეუძლია ამ პროფილთან დაკავშირებული პარამეტრების, კორპორაციული წვდომის, აპების, ნებართვებისა და მონაცემების (მათ შორის, თქვენი ქსელის აქტივობის, მოწყობილობის მდებარეობის, საუბრის ისტორიისა და კონტაქტების ძიების ისტორიის) მონიტორინგი და მართვა.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>დამატებითი ინფორმაციისთვის (მათ შორის, თქვენი ორგანიზაციის კონფიდენციალურობის დებულებების შესახებ) დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"თქვენს ადმინისტრატორს შეუძლია ამ მოწყობილობასთან დაკავშირებული პარამეტრების, კორპორაციული წვდომის, აპების, ნებართვებისა და მონაცემების (მათ შორის, თქვენი ქსელის აქტივობის, მოწყობილობის მდებარეობის, საუბრის ისტორიისა და კონტაქტების ძიების ისტორიის) მონიტორინგი და მართვა.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>დამატებითი ინფორმაციისთვის (მათ შორის, თქვენი ორგანიზაციის კონფიდენციალურობის დებულებების შესახებ) დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"მოპარვისგან დაცვის ფუნქციების გამოსაყენებლად, თქვენი მოწყობილობა პაროლით დაცულ ეკრანის დაბლოკვას უნდა იყენებდეს."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"დამატებითი ინფორმაციისთვის, მათ შორის, თქვენი ორგანიზაციის კონფიდენციალურობის დებულებების თაობაზე, დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"შეიტყვეთ მეტი"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"გაუქმება"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"კარგი"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ვეთანხმები"</string>
+    <string name="url_error" msgid="5958494012986243186">"ამ ბმულის ჩვენება ვერ ხერხდება."</string>
+    <string name="terms" msgid="8295436105384703903">"პირობები"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"სამსახურის პროფილის ინფორმაცია"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"მართული მოწყობილობის ინფორმაცია"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"სამუშაო პროფილი"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ძირითადი მომხმარებელი"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"გსურთ არსებული პროფილის წაშლა?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"თქვენ უკვე გაქვთ სამსახურის პროფილი, რომელიც იმართება შემდეგი აპით:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"გაგრძელებამდე "<a href="#read_this_link">"ეს წაიკითხეთ"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"გაგრძელების შემთხვევაში, ამ პროფილში არსებული ყველა აპი და მონაცემი წაიშლება."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"წაშლა"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"გაუქმება"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"სამსახურის პროფილის დასაყენებლად საჭიროა თქვენი მოწყობილობის დაშიფვრა. ამას გარკვეული დრო დასჭირდება."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ამ მოწყობილობის დასაყენებლად, პირველ რიგში, საჭიროა მისი დაშიფვრა. ამას გარკვეული დრო დასჭირდება."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"დაიშიფროს მოწყობილობა?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"დაშიფვრა"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"დაშიფვრა დასრულდა"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"შეეხეთ თქვენი სამსახურის პროფილის დაყენების გასაგრძელებლად"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"თქვენი სამუშაო პროფილი ვერ შეიქმნა. დაუკავშირდით თქვენს IT განყოფილებას ან სცადეთ ისევ."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"სამსახურის პროფილის დამატება ვერ მოხერხდა"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ამ მომხმარებელს სამსახურის პროფილის ქონა არ შეუძლია. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ამ მომხმარებელს სამსახურის პროფილების ქონა არ შეუძლია. დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"სამუშაო პროფილების დაყენება არ შეიძლება მართულ მოწყობილობაზე."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ამ მოწყობილობაზე მეტისმეტად ბევრი მომხმარებელია. ამოშალეთ მომხმარებელი და ცადეთ ხელახლა."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"მოწყობილობის გამშვები ვერ შეიცვალა"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"გამშვების ამ აპს თქვენი სამსახურის პროფილი ვერ გამოიყენებს"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"გაუქმება"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"კარგი"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"მომხმარებლის ანგარიშის გამართვა ვერ მოხერხდა"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"სამუშაო მოწყობილობის მომხმარებელი"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"სამსახურის მოწყობილობის დაყენება"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"დაყენების მონაცემების დამუშავება…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-თან დაკავშირება…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"ადმინისტრატორის აპის ჩამოტვირთვა…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"ადმინისტრატორის აპის ინსტალაცია…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"არასაჭირო სისტემური აპების ამოშლა…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"მიმდინარეობს ბოლო შტრიხების შეტანა…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"მოწყობილობის მფლობელის დაყენება…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"მიმდინარეობს მოწყობილობის ინიცირება…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ამ მოწყობილობის მიერ მხარდაუჭერელია დაშიფვრა, რომელიც საჭიროა დაყენებისას. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"გსურთ დაყენების შეწყვეტა და მოწყობილობის გადაყენება?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ეს ქმედება გადააყენებს თქვენს მოწყობილობას და პირველ ეკრანს დაუბრუნდებით"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"შეჩერდეს დაყენება და წაიშალოს თქვენი მოწყობილობის მონაცემები?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"გაუქმება"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"კარგი"</string>
+    <string name="reset" msgid="6467204151306265796">"გადაყენება"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"პროფილის დაყენება ვერ მოხერხდა"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"მოწყობილობის დაყენება ვერ მოხერხდა"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"თქვენი მოწყობილობის დაყენება ვერ მოხერხდა. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"მოწყობილობა უკვე დაყენებულია"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-თან დაკავშირება ვერ მოხერხდა"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"თქვენს მოწყობილობაზე ჩართულია გადაყენებისგან დაცვა. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ამოშლა"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"გთხოვთ, დაელოდოთ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა საკონტროლო ჯამთან დაკავშირებული შეცდომის გამო. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ადმინისტრატორის აპის ჩამოტვირთვა ვერ მოხერხდა."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა, რადგან მას აკლია კომპონენტები, ან დაზიანებულია. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ადმინისტრატორის აპი ვერ დაინსტალირდა."</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"გსურთ დაყენების შეჩერება?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"არა"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"კი"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"გაუქმება…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"გსურთ პროფილის დაყენების შეჩერება?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"სამსახურის პროფილის მოგვიანებით დაყენება თქვენი ორგანიზაციის მოწყობილობის მართვის აპში შეგიძლიათ"</string>
+    <string name="continue_button" msgid="7177918589510964446">"გაგრძელება"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"შეწყვეტა"</string>
+    <string name="dismiss" msgid="9009534756748565880">"დახურვა"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"თქვენ აპირებთ, შექმნათ სამსახურის პროფილი, რომლის მართვას და მონიტორინგს თქვენი ორგანიზაცია განახორციელებს. იმოქმედებს პირობები."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"თქვენ აპირებთ, შექმნათ სამსახურის პროფილი, რომლის მართვას და მონიტორინგს თქვენი ორგანიზაცია განახორციელებს. იმოქმედებს შემდეგი კომპან(ებ)ის პირობები: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"თქვენი სამსახურის აპებისთვის შეიქმნება პროფილი. აღნიშნული პროფილის და მთლიანად მოწყობილობის მართვას და მონიტორინგს თქვენი ორგანიზაცია განახორციელებს. იმოქმედებს პირობები."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"თქვენი სამსახურის აპებისთვის შეიქმნება პროფილი. აღნიშნული პროფილის და მთლიანად მოწყობილობის მართვას და მონიტორინგს თქვენი ორგანიზაცია განახორციელებს. იმოქმედებს შემდეგი კომპან(ებ)ის პირობები: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ამ მოწყობილობას შემდგომში <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> მართავს, რომელიც მის უსაფრთხოებასაც უზრუნველყოფს. იმოქმედებს პირობები. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ამ მოწყობილობას შემდგომში <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> მართავს, რომელიც მის უსაფრთხოებასაც უზრუნველყოფს. იმოქმედებს შემდეგი კომპან(ებ)ის პირობები: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ეს ბმული დაუცველია და მოწყობილობის დაყენების დასრულებამდე ვერ გაიხსენება: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"თუ შეკითხვები გაქვთ, თქვენი <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> პასუხების მიღებაში დაგეხმარებათ."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"თუ შეკითხვები გაქვთ, დაუკავშირდით თქვენი ორგანიზაციის ადმინისტრატორს"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"დაყენება არ დასრულდა. დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"დახმარებისთვის დაუკავშირდით თქვენს ადმინისტრატორს"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ორგანიზაციის ადმინისტრატორი"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ამ მოწყობილობის მართვას და მონიტორინგს განახორციელებს შემდეგი აპის მეშვეობით:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"თქვენი ორგანიზაცია"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"თქვენი ორგანიზაცია"</string>
+    <string name="view_terms" msgid="7230493092383341605">"წესების ნახვა"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"მიღება და გაგრძელება"</string>
+    <string name="close" msgid="7208600934846389439">"დახურვა"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"თქვენი მოწყობილობის დაყენება"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"შეცვალეთ მუშაობის ჩვეული მეთოდი"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"განაცალკევეთ სამსახურის და პირადი მონაცემები"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ერთიანი სივრცე სამსახურის აპებისთვის"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"გამორთეთ სამსახურის აპები, როცა მუშაობას დაასრულებთ"</string>
+    <string name="provisioning" msgid="4512493827019163451">"დანერგვა"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA სერთიფიკატების დაყენება"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"თქვენი პროფილის დაყენება"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"სამსახურის პროფილი სამსახურისა და პირადი მონაცემების განცალკევებაში დაგეხმარებათ"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"სამსახურის პროფილი სამსახურის აპების ერთ სივრცეში თავმოყრაში დაგეხმარებათ"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"თქვენი პროფილის დაყენება. დაშიფვრა"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"თქვენი პროფილის დაყენება. ნაჩვენებია პროგრესი"</string>
+    <string name="setup_device" msgid="6725265673245816366">"თქვენი მოწყობილობის დაყენება"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"თქვენი მოწყობილობის გამართვა. დაშიფვრა"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"თქვენი მოწყობილობის გამართვა. ნაჩვენებია პროგრესი"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"შეიტყვეთ მეტის ღილაკი"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>-ის ხატულა"</string>
+    <string name="section_heading" msgid="3924666803774291908">"სექციის „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“ სათაური."</string>
+    <string name="section_content" msgid="8875502515704374394">"სექციის „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“ კონტენტი: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"გაშლა"</string>
+    <string name="collapse" msgid="7817530505064432580">"ჩაკეცვა"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ბმულების სიაზე წვდომა"</string>
+    <string name="access_links" msgid="7991363727326168600">"ბმულებზე წვდომა"</string>
+    <string name="access_terms" msgid="1982500872249763745">"პირობებზე წვდომა"</string>
+    <string name="read_terms" msgid="1745011123626640728">"პირობების წაკითხვა"</string>
+    <string name="close_list" msgid="9053538299788717597">"სიის დახურვა"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"გსურთ დასრულება და ქარხნული პარამ. დაბრუნება?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"მიმდინარე დაყენების დასრულების შემთხვევაში, თქვენი მოწყობილობა ქარხნულ პარამეტრებს დაუბრუნდება და პირველ ეკრანზე გადახვალთ."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"გაუქმება"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"მოწყობილობის საწყის მდგომარეობაზე დაბრუნება"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> და <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> და <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
deleted file mode 100644
index 97b5c83..0000000
--- a/res/values-kk-rKZ/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Жұмыс профилін реттеу"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Жұмыс профилін реттеу"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Ұйымыңыз осы профильді басқарады және оны қауіпсіз сақтайды. Сіз құрылғыдағы барлық басқа нәрселерді басқарасыз."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Ұйымыңыз осы құрылғыны басқарады және оны қорғайды."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Келесі қолданбаға осы профильге қатынасу қажет болады:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Келесі қолданба құрылғыңызды басқарады:"</string>
-    <string name="next" msgid="1004321437324424398">"Келесі"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Жұмыс профиліңіз реттелуде…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Әкімшіде параметрлерді, корпоративтік ресурстарды пайдалану рұқсатын, қолданбаларды, басқа рұқсаттарды және осы профильге қатысты деректерді, соның ішінде желідегі белсенділікті, құрылғының орналасқан жерін, қоңырау тарихы мен контактіні іздеу тарихын бақылау және басқару мүмкіндігі бар."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Әкімшіде параметрлерді, корпоративтік ресурстарды пайдалану рұқсатын, қолданбаларды, басқа рұқсаттарды, ұрлықтан қорғау функцияларын және осы құрылғымен байланысты деректерді, соның ішінде желідегі белсенділікті және құрылғының орны туралы ақпаратты бақылау және басқару мүмкіндігі бар."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Ұрлықтан қорғау функцияларын пайдалану үшін, құрылғыда құпия сөзбен қорғалған экран құлпы болуы тиіс."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Қосымша ақпарат, соның ішінде ұйымның құпиялылық саясаттары туралы ақпарат алу үшін әкімшіге хабарласыңыз."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Қосымша мәліметтер"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Бас тарту"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Жарайды"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Келісемін"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жұмыс профилі"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Негізгі пайдаланушы"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Жұмыс проф. жою керек пе?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Жұмыс профилі бұрыннан бар және оны басқарушы:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Бұл жұмыс профилі %s пайдалану үшін басқарылады:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Жалғастырудан бұрын "<a href="#read_this_link">"мынаны оқыңыз"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Жалғастырсаңыз, осы профильдегі барлық қолданбалар мен деректер жойылады."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Жою"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Бас тарту"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Жұмыс профиліңізді реттеуді жалғастыру үшін құрылғыңызды шифрлауыңыз керек. Бұл біраз уақыт алуы мүмкін."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Құрылғыны реттеуді жалғастыру үшін оны шифрлау керек. Бұл біраз уақыт алуы мүмкін."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлау"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлау аяқталды"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Жұмыс профилін реттеуді жалғастыру үшін түртіңіз"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жұмыс профиліңізді реттеу мүмкін болмады. АТ бөліміне хабарласыңыз немесе әрекетті кейінірек қайталаңыз."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Құрылғыңыз жұмыс профильдерін қолдамайды"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Бұл пайдаланушыда жұмыс профилі бола алмайды"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Жұмыс профильдері басқарылатын құрылғыда орнатылмайды"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Жұмыс профилін жасау мүмкін емес, өйткені құрылғыда ең көп пайдаланушылар санына жеттіңіз. Кемінде бір пайдаланушыны жойып, әрекетті қайталаңыз."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Жұмыс профиліңізді осы қосқыш қолданба қолдамайды. Үйлесімді қосқышқа ауысу керек."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Бас тарту"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Жарайды"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Пайдаланушыны орнату аяқталмады"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Жұмыс құрылғысының пайдаланушысы"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Жұмыс құрылғысын реттеу"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Реттеу деректері өңделуде…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi желісіне қосылу орындалуда…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Әкімші қолданбасы жүктелуде…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Әкімші қолданбасы орнатылуда…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Құрылғы иесі орнатылуда…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Құрылғыңыз шифрлауды қолдамайды. АТ бөліміне хабарласыңыз."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Орнатуды тоқтатып, құрылғы деректерін өшіру керек пе?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Бас тарту"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Жарайды"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Қалпына келтіру"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Құрылғыңызды реттеу мүмкін болмады. АТ бөліміне хабарласыңыз."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Бұл құрылғы орнатылып қойған."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi желісіне қосылу мүмкін болмады"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Бұл құрылғы зауыттық қалпына келтіру қорғанысы арқылы құлыптанған. АТ бөліміне хабарласыңыз."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Өшірілуде"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Күте тұрыңыз…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Бақылау сомасының қатесіне байланысты әкімші қолданбасын пайдалану мүмкін болмады. АТ бөліміне хабарласыңыз."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Әкімші қолданбасын жүктеу мүмкін болмады"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Әкімші қолданбасын пайдалану мүмкін емес. Оның құрамдастары жетіспейді немесе ол бүлінген. АТ бөліміне хабарласыңыз."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Әкімші қолданбасын орнату мүмкін болмады"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Орнатуды тоқтату керек пе?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жоқ"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Иә"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Бас тартылуда…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профиль реттеуді тоқтату керек пе?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Жұмыс профилінің параметрлерін кейінірек ұйымыңыз пайдаланатын құрылғыларды басқару қолданбасынан орнатуға болады."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Жалғастыру"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Тоқтату"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Дайындау"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA сертификаттарын реттеу"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Профиль параметрлерін орнату. Параметрлерді орната бастау"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профиль параметрлерін орнату. Шифрлау"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Профиль параметрлерін орнату. Барысы көрсетілуде"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Құрылғы параметрлерін орнату. Орната бастау"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Құрылғы параметрлерін орнату. Шифрлау"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Құрылғы параметрлерін орнату. Барысы көрсетілуде"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Толығырақ мәлімет түймесі"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> белгішесі"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Реттеуді аяқтап, зауыттық параметрлерді қалпына келтіру керек пе?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Осы реттеуді аяқтау құрылғының зауыттық параметрлерін қалпына келтіреді және сізді бірінші экранға қайтарады."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Бас тарту"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Құрылғыны қалпына келтіру"</string>
-</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
new file mode 100644
index 0000000..978ef51
--- /dev/null
+++ b/res/values-kk/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Жұмыс профилін реттеу"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Жұмыс профилін реттеу"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ұйымыңыз осы профильді басқарады және оны қауіпсіз сақтайды. Сіз құрылғыдағы барлық басқа нәрселерді басқарасыз."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Ұйымыңыз осы құрылғыны басқарады және оны қорғайды."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Келесі қолданбаға осы профильге қатынасу қажет болады:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Келесі қолданба құрылғыңызды басқарады:"</string>
+    <string name="next" msgid="1004321437324424398">"Келесі"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Жұмыс профиліңіз реттелуде…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Әкімші параметрлерді, корпоративтік ресурстарды пайдалануды, қолданбаларды, рұқсаттарды және осы профильмен байланысты деректерді, соның ішінде желідегі белсенділікті, әрі құрылғының орналасқан жерін, қоңыраулар тарихы мен контактілерді іздеу тарихын бақылай және басқара алады.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Қосымша ақпарат, соның ішінде ұйымның құпиялылық саясаттары туралы ақпарат алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Әкімші параметрлерді, корпоративтік ресурстарды пайдалануды, қолданбаларды, рұқсаттарды және осы құрылғымен байланысты деректерді, соның ішінде желідегі белсенділікті, әрі құрылғының орналасқан жерін, қоңыраулар тарихы мен контактілерді іздеу тарихын бақылай және басқара алады.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Қосымша ақпарат, соның ішінде ұйымның құпиялылық саясаттары туралы ақпарат алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Ұрлықтан қорғау функцияларын пайдалану үшін, құрылғыда құпия сөзбен қорғалған экран құлпы болуы тиіс."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Қосымша ақпарат, соның ішінде ұйымның құпиялылық саясаттары туралы ақпарат алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Қосымша мәліметтер"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Бас тарту"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Жарайды"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Келісемін"</string>
+    <string name="url_error" msgid="5958494012986243186">"Бұл сілтеме көрсетілмейді."</string>
+    <string name="terms" msgid="8295436105384703903">"Шарттар"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Жұмыс профилінің ақпараты"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Басқарылатын құрылғы ақпараты"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жұмыс профилі"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Негізгі пайдаланушы"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Қолданыстағы профиль жойылсын ба?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Келесі қолданба басқаратын жұмыс профиліңіз бұрыннан бар:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Жалғастырудан бұрын "<a href="#read_this_link">"мынаны оқыңыз"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Жалғастырсаңыз, осы профильдегі барлық қолданбалар мен деректер жойылады."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Жою"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Бас тарту"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Жұмыс профилін реттеу үшін құрылғыны шифрлау керек. Бұл біраз уақыт алуы мүмкін."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Реттеу үшін алдымен бұл құрылғыны реттеу керек. Бұл біраз уақыт алуы мүмкін."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Осы құрылғыны шифрлау керек пе?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифрлау"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлау аяқталды"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Жұмыс профилін реттеуді жалғастыру үшін түртіңіз"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жұмыс профиліңізді реттеу мүмкін болмады. АТ бөліміне хабарласыңыз немесе әрекетті кейінірек қайталаңыз."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Жұмыс профилін қосу мүмкін емес"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Бұл пайдаланушы жұмыс профильдерін жасай алмайды. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Бұл пайдаланушы жұмыс профильдерін жасай алмайды. Әкімшіге хабарласыңыз."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Жұмыс профильдері басқарылатын құрылғыда орнатылмайды"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Бұл құрылғыда пайдаланушылар тым көп болуы мүмкін. Бір пайдаланушыны жойып, әрекетті қайталаңыз."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Құрылғыны іске қосқышты өзгерту"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Жұмыс профиліңіз бұл іске қосқыш қолданбаны пайдалана алмайды"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Бас тарту"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Жарайды"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Пайдаланушыны орнату аяқталмады"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Жұмыс құрылғысының пайдаланушысы"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Жұмыс құрылғысын реттеу"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Реттеу деректері өңделуде…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi желісіне қосылу орындалуда…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Әкімші қолданбасы жүктелуде…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Әкімші қолданбасы орнатылуда…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Қажет емес жүйе қолданбалары өшірілуде…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Соңғы түзетулер енгізілуде…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Құрылғы иесі орнатылуда…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Құрылғы жұмысқа дайындалуда…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Бұл құрылғы реттеу үшін керек шифрлауға рұқсат етпейді. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Реттеуді тоқтатып, құрылғыны бастапқы күйге қайтару керек пе?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Құрылғы бастапқы күйге қайтарылады және сіз бірінші экранға ораласыз"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Орнатуды тоқтатып, құрылғы деректерін өшіру керек пе?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Бас тарту"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Жарайды"</string>
+    <string name="reset" msgid="6467204151306265796">"Бастапқы күйге қайтару"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Профильді реттеу мүмкін емес"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Құрылғыны реттеу мүмкін емес"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Құрылғыны реттеу мүмкін болмады. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Анықтама алу үшін әкімшіге хабарласыңыз"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Құрылғы реттеліп қойылған"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi желісіне қосылу мүмкін болмады"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Құрылғыда бастапқы күйге қайтарудан қорғау қосылған. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Өшірілуде"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Күте тұрыңыз…"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Бақылау сомасы қатесіне байланысты әкімші қолданбасын пайдалану мүмкін болмады. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Әкімші қолданбасын жүктеу мүмкін болмады"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Әкімші қолданбасын пайдалану мүмкін емес. Оның құрамдастары жетіспейді немесе ол бүлінген. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Әкімші қолданбасын орнату мүмкін болмады"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Орнатуды тоқтату керек пе?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жоқ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Иә"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Бас тартылуда…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профиль реттеуді тоқтату керек пе?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Жұмыс профилін ұйымның құрылғыны басқару қолданбасында кейінірек реттеуге болады"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Жалғастыру"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Тоқтату"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Жабу"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Сіз ұйымыңыз басқаратын және бақылайтын жұмыс профилін жасайын деп жатырсыз. Шарттар қолданылады."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Сіз ұйымыңыз басқаратын және бақылайтын жұмыс профилін жасайын деп жатырсыз. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> шарттары қолданылады."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Жұмыс қолданбаларыңыз үшін профиль жасалады. Бұл профильді және құрылғының қалған бөлігін ұйымыңыз басқарады және бақылайды. Шарттар қолданыладды."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Жұмыс қолданбаларыңыз үшін профиль жасалады. Бұл профильді және құрылғының қалған бөлігін ұйымыңыз басқарады және бақылайды. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> шарттары қолданылады."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Бұл құрылғыны <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> басқарады және қорғайды. Шарттар қолданылады. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Бұл құрылғыны <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> басқарады және қорғайды. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> шарттары қолданылады. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Бұл сілтеме қауіпті және құрылғыны реттеу аяқталғанша оны ашуға болмайды: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Сұрақтарыңыз болса, <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> хабарласыңыз."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Сұрақтарыңыз болса, ұйым әкімшісіне хабарласыңыз"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Реттеу аяқталмады. Анықтама алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Анықтама алу үшін әкімшіге хабарласыңыз"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ұйым әкімшісі"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> келесі қолданба арқылы осы құрылғыны басқарады және бақылайды:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Ұйымыңыз"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ұйымыңыз"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Шарттарды көру"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Қабылдау және жалғастыру"</string>
+    <string name="close" msgid="7208600934846389439">"Жабу"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Құрылғыны реттеу"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Басқаша жұмыс істеу"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Жұмыс және жеке деректерді бөлек ұстау"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Барлық жұмыс қолданбаларына ортақ орын"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Аяқтаған кезде, жұмыс профилін өшіріп қойыңыз"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Дайындау"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA сертификаттарын реттеу"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Профильді реттеу"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Жұмыс профилін пайдалансаңыз, жұмыс деректерін жеке деректерден бөле аласыз"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Жұмыс профилін пайдалансаңыз, жұмыс қолданбаларын бір орында ұстай аласыз"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профиль параметрлерін орнату. Шифрлау"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Профиль параметрлерін орнату. Барысы көрсетілуде"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Құрылғыны реттеу"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Құрылғы параметрлерін орнату. Шифрлау"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Құрылғы параметрлерін орнату. Барысы көрсетілуде"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Толығырақ мәлімет түймесі"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> белгішесі"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> бөлімінің тақырыбы."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> бөлімінің мазмұны: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Жаю"</string>
+    <string name="collapse" msgid="7817530505064432580">"Жию"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Сілтемелер тізіміне кіру"</string>
+    <string name="access_links" msgid="7991363727326168600">"Сілтемелерге кіру"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Шарттарға кіру"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Шарттарды оқу"</string>
+    <string name="close_list" msgid="9053538299788717597">"Тізімді жабу"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Реттеуді аяқтап, зауыттық параметрлерді қалпына келтіру керек пе?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Осы реттеуді аяқтау құрылғының зауыттық параметрлерін қалпына келтіреді және сізді бірінші экранға қайтарады."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Бас тарту"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Құрылғыны қалпына келтіру"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> және <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> және <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
deleted file mode 100644
index 7e7a864..0000000
--- a/res/values-km-rKH/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"ដំឡើងប្រវត្តិរូបការងារ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"អូ​!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"កំណត់ប្រវត្តិរូបការងារ"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"ស្ថាប័ន​របស់​អ្នកពិនិត្យ​ប្រវត្តិរូប​នេះ ហើយ​រក្សាទុក​វា​​ដោយ​សុវត្ថិភាព។ អ្នក​ពិនិត្យ​អ្វីៗ​ផ្សេង​ទៀត​នៅ​លើ​ឧបករណ៍​របស់​អ្នក។"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"ស្ថាប័នរបស់អ្នកនឹងគ្រប់គ្រងឧបករណ៍នេះ និងរក្សាវាឲ្យមានសុវត្ថិភាព។"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"កម្មវិធី​ខាង​ក្រោម​​នឹង​ត្រូវ​ចូល​ដំណើរការ​ប្រវត្តិរូប​របស់​អ្នក៖"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"កម្មវិធីខាងក្រោមនឹងគ្រប់គ្រងឧបករណ៍របស់អ្នក៖"</string>
-    <string name="next" msgid="1004321437324424398">"បន្ទាប់"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"កំពុងដំឡើងប្រវត្តិរូបការងាររបស់អ្នក…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"អ្នកគ្រប់គ្រងរបស់អ្នកមានលទ្ធភាពតាមដាន និងគ្រប់គ្រងការកំណត់ ការចូលដំណើរការជារួម កម្មវិធី សិទ្ធិអនុញ្ញាត និងទិន្នន័យដែលពាក់ព័ន្ធជាមួយប្រវត្តិរូបនេះ ដោយរាប់បញ្ចូលទាំងសកម្មភាពបណ្តាញ ក៏ដូចជាទីតាំងឧបករណ៍ ប្រវត្តិនៃការហៅទូរស័ព្ទ និងប្រវត្តិស្វែងរកទំនាក់ទំនងរបស់អ្នកផងដែរ។"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"អ្នកគ្រប់គ្រងរបស់អ្នកមានលទ្ធភាពតាមដាន និងគ្រប់គ្រងការកំណត់ ការចូលដំណើរការជារួម កម្មវិធី សិទ្ធិអនុញ្ញាត លក្ខណៈពិសេសការពារពីការលួច និងទិន្នន័យដែលពាក់ព័ន្ធនឹងឧបករណ៍នេះ ដោយរាប់បញ្ចូលទាំងសកម្មភាពបណ្តាញ និងព័តមានទីតាំងឧបករណ៍របស់អ្នកផងដែរ។"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ដើម្បីប្រើលក្ខណៈពិសេសការពារពីការលួច អ្នកត្រូវមានសោអេក្រង់ដែលបានការពារដោយពាក្យសម្ងាត់សម្រាប់ឧបករណ៍របស់អ្នក។"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ព័ត៌មានបន្ថែម ដោយរួមទាំងគោលការណ៍ភាពឯកជនស្ថាប័នរបស់អ្នកផងដែរ។"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"ស្វែងយល់​បន្ថែម"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"បោះបង់"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"យល់ព្រម"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ខ្ញុំយល់ព្រម"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"ប្រវត្តិរូប​ការងារ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"អ្នកប្រើសំខាន់"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"លុបប្រវត្តិរូបការងារ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ប្រវត្តិរូបការងារមានរួចទៅហើយ ហើយត្រូវបានគ្រប់គ្រងដោយ៖"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ប្រវត្តិរូបការងារនេះត្រូវបានគ្រប់គ្រងសម្រាប់ការប្រើប្រាស់ %s"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"មុននឹងដំណើរការ "<a href="#read_this_link">"សូមអាន"</a>" នេះ។"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ប្រសិនបើអ្នកបន្ត នោះកម្មវិធី និងទិន្នន័យទាំងអស់នៅក្នុងប្រវត្តិរូបនេះនឹងត្រូវបានលុប។"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"លុប"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"បោះបង់"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ដើម្បីបន្តរៀបចំទម្រង់ការងាររបស់អ្នក អ្នកត្រូវអ៊ិនគ្រីបឧបករណ៍របស់អ្នក។ វាអាចប្រើពេលមួយរយៈ។"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"ដើម្បីបន្តដំឡើងឧបករណ៍របស់អ្នក អ្នកត្រូវអ៊ីនគ្រីបវា។ វាអាចចំណាយពេលបន្តិច។"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"ដាក់​លេខ​កូដ"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ការ​ដាក់​លេខ​កូដ​បាន​បញ្ចប់"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ប៉ះដើម្បីបន្តការដំឡើងប្រវត្តិរូបការងាររបស់អ្នក"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"មិន​អាច​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក ឬ​ព្យាយាម​ម្ដងទៀត​ពេល​ក្រោយ។"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ឧបករណ៍​របស់​អ្នក​មិន​គាំទ្រ​ប្រវត្តិរូប​ការងារ។"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"អ្នកប្រើនេះមិនអាចមានប្រវត្តិរូបការងារទេ"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"ប្រវត្តិរូបការងារមិនអាចកំណត់ឡើងវិញបានទេនៅលើឧបករណ៍ដែលបានគ្រប់គ្រង"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"មិនអាចបង្កើតប្រវត្តិរូបការងារបានទេ ពីព្រោះអ្នកបានឈានដល់ចំនួនអ្នកប្រើអតិបរមានៅលើឧបករណ៍របស់អ្នកហើយ។ យកអ្នកប្រើចេញយ៉ាងហោចណាស់មួយ ហើយព្យាយាមម្តងទៀត។"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ប្រវត្តិរូប​ការងារ​របស់​អ្នក​មិន​ត្រូវ​បាន​គាំទ្រ​ដោយ​កម្មវិធី​ launcher នេះ​នៅ​ឡើយ​ទេ។ អ្នក​នឹង​ត្រូវ​ប្ដូរ​ទៅ launcher ដែល​ត្រូវ​គ្នា។"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"បោះបង់"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"យល់ព្រម"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ការដំឡើងអ្នកប្រើមិនពេញលេញ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"អ្នកប្រើ​ឧបករណ៍​ការងារ"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"ដំឡើងឧបករណ៍ការងារ"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"កំពុងដំណើរការទិន្នន័យដំឡើង…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"កំពុងភ្ជាប់ទៅ Wi-Fi…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"កំពុងទាញយកកម្មវិធីគ្រប់គ្រង…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"កំពុងដំឡើងកម្មវិធីគ្រប់គ្រង…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"កំពុងកំណត់ម្ចាស់ឧបករណ៍…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"ឧបករណ៍របស់អ្នកមិនគាំទ្រការអ៊ិនគ្រីបទេ សូមទាក់ទងទៅផ្នែក IT របស់អ្នក។"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"បញ្ឈប់ការដំឡើង ហើយលុបទិន្នន័យនៅក្នុងឧបករណ៍របស់អ្នកចេញ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"បោះបង់"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"យល់ព្រម"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"កំណត់​ឡើងវិញ"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"មិន​អាច​រៀបចំ​ឧបករណ៍​របស់​អ្នក។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ឧបករណ៍នេះបានដំឡើងរួចហើយ។"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"មិន​​អាច​តភ្ជាប់​វ៉ាយហ្វាយ"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ឧបករណ៍ត្រូវបានចាក់សោដោយការការពារចំពោះការកំណត់ដូចចេញពីរោងចក្រ។ ទាក់ទងផ្នែក IT របស់អ្នក។"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"លុប"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"សូម​រង់ចាំ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"មិន​អាច​ប្រើ​កម្មវិធី​របស់​អ្នកគ្រប់គ្រង ដោយសារ​កំហុស​​ឆែកសាំ​។​ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"មិន​អាច​ទាញ​យក​កម្មវិធី​គ្រប់គ្រង"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"មិន​អាច​ប្រើ​កម្មវិធី​របស់​អ្នក​គ្រប់គ្រង។ វា​បាត់​សមាសធាតុ ឬ​ក៏​ខូច។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"មិន​អាច​ដំឡើង​កម្មវិធី​គ្រប់គ្រង"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"បញ្ឈប់ការដំឡើង?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ទេ"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"បាទ/ចាស"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"កំពុងបោះបង់…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"បញ្ឈប់ការដំឡើងប្រវត្តិរូប?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"អ្នកអាចដំឡើងប្រវត្តិរូបរបស់អ្នកនៅពេលក្រោយ ចេញពីកម្មវិធីគ្រប់គ្រងឧបករណ៍ដែលបានប្រើដោយស្ថាប័នរបស់អ្នក។"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"បន្ត"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"បញ្ឈប់"</string>
-    <string name="provisioning" msgid="4512493827019163451">"ការផ្តល់"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"ការដំឡើងវិញ្ញាបនបត្រ CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ដំឡើងប្រវត្តិរូបរបស់អ្នក។ ចាប់ផ្តើមដំឡើង"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"ដំឡើងប្រវត្តិរូបរបស់អ្នក។ ការអ៊ីនគ្រីប"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"ដំឡើងប្រវត្តិរូបរបស់អ្នក។ បង្ហាញការវិវឌ្ឍន៍"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ដំឡើងឧបករណ៍របស់អ្នក។ ចាប់ផ្តើមដំឡើង"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"ដំឡើងឧបករណ៍របស់អ្នក។ ការអ៊ីនគ្រីប"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"ដំឡើងឧបករណ៍របស់អ្នក។ បង្ហាញការវិវឌ្ឍន៍"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"ប៊ូតុងស្វែងយល់បន្ថែម"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"រូបតំណាង <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"បញ្ចប់ការដំឡើង ហើយកំណត់ដូចចេញពីរោងចក្រឬ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ការបញ្ចប់ការដំឡើងនេះនឹងកំណត់ឧបករណ៍របស់អ្នកដូចចេញពីរោងចក្រឡើងវិញ និងនាំអ្នកទៅកាន់អេក្រង់ដំបូង។"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"បោះបង់"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"កំណត់ឧបករណ៍ឡើងវិញ"</string>
-</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
new file mode 100644
index 0000000..758d1b7
--- /dev/null
+++ b/res/values-km/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"ដំឡើងប្រវត្តិរូបការងារ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"អូ​!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"កំណត់ប្រវត្តិរូបការងារ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ស្ថាប័ន​របស់​អ្នកពិនិត្យ​ប្រវត្តិរូប​នេះ ហើយ​រក្សាទុក​វា​​ដោយ​សុវត្ថិភាព។ អ្នក​ពិនិត្យ​អ្វីៗ​ផ្សេង​ទៀត​នៅ​លើ​ឧបករណ៍​របស់​អ្នក។"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"ស្ថាប័នរបស់អ្នកនឹងគ្រប់គ្រងឧបករណ៍នេះ និងរក្សាវាឲ្យមានសុវត្ថិភាព។"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"កម្មវិធី​ខាង​ក្រោម​​នឹង​ត្រូវ​ចូល​ដំណើរការ​ប្រវត្តិរូប​របស់​អ្នក៖"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"កម្មវិធីខាងក្រោមនឹងគ្រប់គ្រងឧបករណ៍របស់អ្នក៖"</string>
+    <string name="next" msgid="1004321437324424398">"បន្ទាប់"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"កំពុងដំឡើងប្រវត្តិរូបការងាររបស់អ្នក…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"អ្នកគ្រប់គ្រងរបស់អ្នកមានលទ្ធភាពតាមដាន និងគ្រប់គ្រងការកំណត់ ការចូលកម្មវិធី កម្មវីធី សិទ្ធិអនុញ្ញាត និងទិន្នន័យដែលពាក់ព័ន្ធនឹងកម្រងព័ត៌មាននេះ រួមទាំងសកម្មភាពបណ្តាញ ក៏ដូចជាទីតាំងឧបករណ៍ ប្រវត្តិហៅទូរសព្ទ និងប្រវត្តិស្វែងរកទំនាក់ទំនងរបស់អ្នកផងដែរ។<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>សូមទាក់ទងទៅអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ព័ត៌មានបន្ថែម ដោយរាប់បញ្ចូលទាំងគោលការណ៍ឯកជនភាពរបស់ស្ថាប័នអ្នកផងដែរ។"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"អ្នកគ្រប់គ្រងរបស់អ្នកមានលទ្ធភាពតាមដាន និងគ្រប់គ្រងការកំណត់ ការចូលកម្មវិធី កម្មវីធី សិទ្ធិអនុញ្ញាត និងទិន្នន័យដែលពាក់ព័ន្ធនឹងឧបករណ៍នេះ រួមទាំងសកម្មភាពបណ្តាញ ក៏ដូចជាទីតាំងឧបករណ៍ ប្រវត្តិហៅទូរសព្ទ និងប្រវត្តិស្វែងរកទំនាក់ទំនងរបស់អ្នកផងដែរ។<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>សូមទាក់ទងទៅអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ព័ត៌មានបន្ថែម ដោយរាប់បញ្ចូលទាំងគោលការណ៍ឯកជនភាពរបស់ស្ថាប័នអ្នកផងដែរ។"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ដើម្បីប្រើលក្ខណៈពិសេសការពារពីការលួច អ្នកត្រូវមានសោអេក្រង់ដែលបានការពារដោយពាក្យសម្ងាត់សម្រាប់ឧបករណ៍របស់អ្នក។"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នកសម្រាប់ព័ត៌មានបន្ថែម ដោយរួមទាំងគោលការណ៍ភាពឯកជនស្ថាប័នរបស់អ្នកផងដែរ។"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ស្វែងយល់​បន្ថែម"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"បោះបង់"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"យល់ព្រម"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ខ្ញុំយល់ព្រម"</string>
+    <string name="url_error" msgid="5958494012986243186">"មិន​អាច​បង្ហាញ​តំណ​នេះ​បាន​ទេ។"</string>
+    <string name="terms" msgid="8295436105384703903">"លក្ខខណ្ឌ"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ព័ត៌មាន​អំពី​កម្រងព័ត៌មាន​ការងារ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"ព័ត៌មាន​អំពី​ឧបករណ៍​ដែល​ស្ថិតក្រោម​ការគ្រប់គ្រង"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ប្រវត្តិរូប​ការងារ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"អ្នកប្រើសំខាន់"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"លុប​កម្រង​ព័ត៌មាន​ដែល​មាន​ស្រាប់?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"អ្នក​មាន​កម្រង​ព័ត៌មាន​ការងារ​ដែល​ស្ថិត​ក្រោម​ការគ្រប់គ្រង​របស់​កម្មវិធី​ខាងក្រោម​រួច​ហើយ៖"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"មុននឹងដំណើរការ "<a href="#read_this_link">"សូមអាន"</a>" នេះ។"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ប្រសិនបើអ្នកបន្ត នោះកម្មវិធី និងទិន្នន័យទាំងអស់នៅក្នុងប្រវត្តិរូបនេះនឹងត្រូវបានលុប។"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"លុប"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"បោះបង់"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"ដើម្បី​រៀបចំ​កម្រងព័ត៌មាន​ការងារ​របស់​អ្នក ឧបករណ៍​របស់​អ្នកត្រូវ​តែ​អ៊ិនគ្រីប។ វាអាច​ចំណាយ​ពេល​បន្តិច។"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ដើម្បី​រៀបចំ​ឧបករណ៍​នេះ វាត្រូវ​តែ​អ៊ិនគ្រីប​ជាមុនសិន។ វាអាច​ចំណាយពេល​បន្តិច។"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"អ៊ីនគ្រីប​ឧបករណ៍​នេះ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"អ៊ិនគ្រីប"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ការ​ដាក់​លេខ​កូដ​បាន​បញ្ចប់"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ប៉ះដើម្បីបន្តការដំឡើងប្រវត្តិរូបការងាររបស់អ្នក"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"មិន​អាច​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក ឬ​ព្យាយាម​ម្ដងទៀត​ពេល​ក្រោយ។"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"មិនអាច​បញ្ចូល​កម្រងព័ត៌មាន​ការងារ​បានទេ"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"អ្នក​ប្រើប្រាស់​នេះ​មិនអាច​មាន​កម្រងព័ត៌មាន​ការងារ​បាន​ទេ។ សូម​ទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់​អ្នក។"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"អ្នកប្រើប្រាស់​នេះ​មិនអាច​មាន​កម្រងព័ត៌មាន​ការងារ​បានទេ។ សូម​ទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់​អ្នក។"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"ប្រវត្តិរូបការងារមិនអាចកំណត់ឡើងវិញបានទេនៅលើឧបករណ៍ដែលបានគ្រប់គ្រង"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"អាច​មាន​អ្នកប្រើប្រាស់​ច្រើនពេក​នៅលើ​ឧបករណ៍​នេះ។ សូម​ដក​អ្នកប្រើប្រាស់​មួយ​ចេញ បន្ទាប់​មក​ព្យាយាម​ម្តងទៀត។"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ផ្លាស់ប្តូរ​កម្មវិធី​ចាប់ផ្ដើម​របស់​ឧបករណ៍"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"យកម្រងព័ត៌មាន​ការងារ​របស់​អ្នក​មិនអាច​ប្រើកម្មវិធី​ចាប់ផ្ដើមនេះ​បានទេ"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"បោះបង់"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"យល់ព្រម"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ការដំឡើងអ្នកប្រើមិនពេញលេញ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"អ្នកប្រើ​ឧបករណ៍​ការងារ"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"ដំឡើងឧបករណ៍ការងារ"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"កំពុងដំណើរការទិន្នន័យដំឡើង…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"កំពុងភ្ជាប់ទៅ Wi-Fi…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"កំពុងទាញយកកម្មវិធីគ្រប់គ្រង…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"កំពុងដំឡើងកម្មវិធីគ្រប់គ្រង…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"កំពុងលុបកម្មវិធីប្រព័ន្ធដែលមិនចាំបាច់…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"កំពុងបន្ថែមចំណុចកែសម្រួលចុងក្រោយ…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"កំពុងកំណត់ម្ចាស់ឧបករណ៍…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"កំពុងចាប់ផ្តើមឧបករណ៍…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ឧបករណ៍នេះ​មិន​អនុញ្ញាត​ឲ្យ​ធ្វើ​ការ​អ៊ិនគ្រីបទេ ប៉ុន្តែវាជាតម្រូវការចាំបាច់​សម្រាប់​ការរៀបចំ។ សូមទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ។"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"បញ្ឈប់​ការរៀបចំ ហើយ​កំណត់​ឧបករណ៍​ឡើង​វិញ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"វា​នឹង​កំណត់​ឧបករណ៍​របស់អ្នក​ឡើងវិញ រួច​នាំអ្នក​ត្រលប់​ទៅ​អេក្រង់​ដំបូង​វិញ"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"បញ្ឈប់ការដំឡើង ហើយលុបទិន្នន័យនៅក្នុងឧបករណ៍របស់អ្នកចេញ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"បោះបង់"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"យល់ព្រម"</string>
+    <string name="reset" msgid="6467204151306265796">"កំណត់​ឡើងវិញ"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"មិនអាច​រៀបចំ​កម្រងព័ត៌មាន​បានទេ"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"មិនអាច​រៀបចំ​ឧបករណ៍​បានទេ"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"មិនអាច​រៀបចំ​ឧបករណ៍បានទេ។ សូម​ទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់អ្នក​ ដើម្បី​ទទួល​បានជំនួយ។"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"សូមទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ឧបករណ៍​ត្រូវបាន​រៀបចំ​រួចហើយ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"មិន​​អាច​តភ្ជាប់​វ៉ាយហ្វាយ"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ឧបករណ៍​របស់អ្នក​បានបើក​ការ​ការពារ​ការកំណត់​ឡើងវិញ។ សូមទាក់ទងទៅ​អ្នកគ្រប់គ្រង​របស់អ្នក ដើម្បី​ទទួលបាន​ជំនួយ។"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"លុប"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"សូម​រង់ចាំ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"មិនអាច​ប្រើ​កម្មវិធី​អ្នក​គ្រប់គ្រង​បានទេ ដោយសារ​មាន​បញ្ហា​លេខត្រូតពិនិត្យ។ សូមទាក់ទង​ទៅ​អ្នកគ្រប់គ្រង​របស់អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ។"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"មិន​អាច​ទាញ​យក​កម្មវិធី​គ្រប់គ្រង"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"មិនអាច​ប្រើ​កម្មវិធី​អ្នក​គ្រប់គ្រង​បានទេ។ ធាតុមួយ​ចំនួន​បានបាត់ ឬ​ខូច។ សូម​ទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​របស់​អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ។"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"មិន​អាច​ដំឡើង​កម្មវិធី​គ្រប់គ្រង"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"បញ្ឈប់ការដំឡើង?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ទេ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"បាទ/ចាស"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"កំពុងបោះបង់…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"បញ្ឈប់ការដំឡើងប្រវត្តិរូប?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"អ្នកអាច​រៀបចំ​កម្រងព័ត៌មាន​ការងារ​របស់អ្នក​នៅពេល​ក្រោយ​នៅក្នុង​កម្មវិធី​គ្រប់គ្រង​ឧបករណ៍​របស់​ស្ថាប័ន​អ្នក"</string>
+    <string name="continue_button" msgid="7177918589510964446">"បន្ត"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"បញ្ឈប់"</string>
+    <string name="dismiss" msgid="9009534756748565880">"បដិសេធ"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"អ្នក​ត្រៀម​នឹង​បង្កើត​កម្រង​ព័ត៌មាន​ការងារ ដែល​ស្ថិត​ក្រោម​ការ​គ្រប់គ្រង និង​តាមដាន​ដោយ​ស្ថាប័ន​របស់​អ្នក។ លក្ខខណ្ឌ​នឹង​ត្រូវបាន​អនុវត្ត។"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"អ្នក​ត្រៀម​នឹង​បង្កើត​កម្រង​ព័ត៌មាន​ការងារ ដែលស្ថិត​ក្រោម​ការគ្រប់គ្រង និង​តាមដាន​ដោយស្ថាប័ន​របស់​អ្នក។ លក្ខខណ្ឌ​របស់ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> នឹងត្រូវបានអនុវត្ត។"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"កម្រង​ព័ត៌មាន​នឹងត្រូវ​បានបង្កើតឡើង​សម្រាប់​កម្មវិធី​ការងារ​របស់​អ្នក។ កម្រង​ព័ត៌មាន​នេះ និង​ផ្នែក​ផ្សេង​ទៀត​នៃ​ឧបករណ៍​របស់អ្នក​នឹង​ស្ថិត​ក្រោម​ការគ្រប់គ្រង និង​តាមដាន​ដោយ​ស្ថាប័ន​របស់​អ្នក។ លក្ខខណ្ឌ​នឹង​ត្រូវបាន​អនុវត្ត។"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"កម្រង​ព័ត៌មាន​នឹងត្រូវ​បានបង្កើតឡើង​សម្រាប់​កម្មវិធី​ការងារ​របស់​អ្នក។ កម្រង​ព័ត៌មាន​នេះ និង​ផ្នែក​ផ្សេង​ទៀត​នៃ​ឧបករណ៍​របស់អ្នក​នឹង​ស្ថិត​ក្រោម​ការគ្រប់គ្រង និង​តាមដាន​ដោយ​ស្ថាប័ន​របស់​អ្នក។ លក្ខខណ្ឌ​របស់ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> នឹងត្រូវបានអនុវត្ត។"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ឧបករណ៍នេះ​នឹង​ស្ថិតក្រោម​ការ​គ្រប់គ្រង និង​រក្សា​ឲ្យ​មាន​សុវត្ថិភាព​ដោយ <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>។ លក្ខខណ្ឌ​នឹង​ត្រូវបាន​អនុវត្ត។ <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ឧបករណ៍នេះ​នឹង​ស្ថិតក្រោម​ការ​គ្រប់គ្រង និង​រក្សា​ឲ្យ​មាន​សុវត្ថិភាព​ដោយ <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ។ លក្ខណ្ឌដែលបានពី <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> នឹង​ត្រូវបាន​អនុវត្ត។ <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"តំណនេះ​មិនមាន​សុវត្ថិភាពទេ និង​មិនអាច​បើក​បានទេ រហូតដល់​ការរៀបចំ​ឧបករណ៍​ត្រូវបាន​បញ្ចប់៖ <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ប្រសិន​បើអ្នក​មាន​សំណួរ សូម​ទាក់ទង​ទៅ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> របស់អ្នក។"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ប្រសិន​បើអ្នក​មាន​សំណួរ សូម​ទាក់ទង​ទៅ​អ្នកគ្រប់គ្រង​របស់ស្ថាប័ន​របស់អ្នក"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ការរៀបចំ​មិន​បាន​បញ្ចប់​ទេ។ សូមទាក់ទង​ទៅ​អ្នកគ្រប់គ្រង​របស់​អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ។"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"សូម​ទាក់ទង​ទៅអ្នកគ្រប់គ្រង​របស់អ្នក ដើម្បី​ទទួល​បាន​ជំនួយ។"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"អ្នក​គ្រប់គ្រង​របស់​ស្ថាប័ន"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> នឹង​គ្រប់គ្រង ព្រមទាំង​តាមដាន​ឧបករណ៍​នេះ​ដោយប្រើ​កម្មវិធី​ដូចខាងក្រោម៖"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"ស្ថាប័ន​របស់​អ្នក"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ស្ថាប័ន​របស់​អ្នក"</string>
+    <string name="view_terms" msgid="7230493092383341605">"មើលលក្ខខណ្ឌ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ព្រមទទួល និង​បន្ត"</string>
+    <string name="close" msgid="7208600934846389439">"បិទ"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"រៀបចំឧបករណ៍របស់អ្នក"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"ផ្លាស់ប្តូររបៀបធ្វើការងាររបស់អ្នក"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"បែងចែកទិន្នន័យការងារពីទិន្នន័យផ្ទាល់ខ្លួន"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"កន្លែង​តែ​មួយសម្រាប់​កម្មវិធី​ការងារ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"បិទ​ការងារ​នៅពេល​ដែល​អ្នក​ធ្វើ​រួច"</string>
+    <string name="provisioning" msgid="4512493827019163451">"ការផ្តល់"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"ការដំឡើងវិញ្ញាបនបត្រ CA"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"រៀបចំ​កម្រង​ព័ត៌មាន​របស់អ្នក"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ការ​ប្រើប្រាស់​កម្រង​ព័ត៌មាន​ការងារ​ផ្តល់លទ្ធភាព​ឲ្យ​អ្នក​បែងចែក​ទិន្នន័យ​ការងារ​ដាច់​ដោយឡែក​ពី​ទិន្នន័យ​ផ្ទាល់​ខ្លួន"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"ការ​ប្រើប្រាស់​កម្រង​ព័ត៌មាន​ការងារ​ផ្តល់លទ្ធភាព​ឲ្យ​អ្នក​រក្សាទុក​កម្មវិធីការងារ​របស់អ្នក​នៅកន្លែង​តែមួយ"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"ដំឡើងប្រវត្តិរូបរបស់អ្នក។ ការអ៊ីនគ្រីប"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"ដំឡើងប្រវត្តិរូបរបស់អ្នក។ បង្ហាញការវិវឌ្ឍន៍"</string>
+    <string name="setup_device" msgid="6725265673245816366">"រៀបចំ​ឧបករណ៍​របស់​អ្នក"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"ដំឡើងឧបករណ៍របស់អ្នក។ ការអ៊ីនគ្រីប"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"ដំឡើងឧបករណ៍របស់អ្នក។ បង្ហាញការវិវឌ្ឍន៍"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"ប៊ូតុងស្វែងយល់បន្ថែម"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"រូបតំណាង <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"ចំណងជើង​ផ្នែក <xliff:g id="SECTION_HEADING">%1$s</xliff:g> ។"</string>
+    <string name="section_content" msgid="8875502515704374394">"មាតិកា​ផ្នែក <xliff:g id="SECTION_HEADING">%1$s</xliff:g>៖ <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"បង្ហាញ"</string>
+    <string name="collapse" msgid="7817530505064432580">"លាក់"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ចូល​ប្រើប្រាស់​បញ្ជីតំណ"</string>
+    <string name="access_links" msgid="7991363727326168600">"តំណចូល​ប្រើប្រាស់"</string>
+    <string name="access_terms" msgid="1982500872249763745">"លក្ខខណ្ឌ​ចូល​ប្រើប្រាស់"</string>
+    <string name="read_terms" msgid="1745011123626640728">"អាន​លក្ខខណ្ឌ"</string>
+    <string name="close_list" msgid="9053538299788717597">"បិទ​បញ្ជី"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"បញ្ចប់ការដំឡើង ហើយកំណត់ដូចចេញពីរោងចក្រឬ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ការបញ្ចប់ការដំឡើងនេះនឹងកំណត់ឧបករណ៍របស់អ្នកដូចចេញពីរោងចក្រឡើងវិញ និងនាំអ្នកទៅកាន់អេក្រង់ដំបូង។"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"បោះបង់"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"កំណត់ឧបករណ៍ឡើងវិញ"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> និង <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> និង <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
deleted file mode 100644
index dd00bbf..0000000
--- a/res/values-kn-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಾಣಿಕೆ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ಓಹ್!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"ಈ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಹಾಗೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಕಾಪಾಡುತ್ತದೆ. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದನ್ನೂ ನೀವು ನಿಯಂತ್ರಿಸಬಹುದು."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಈ ಸಾಧನವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಹಾಗೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸುತ್ತದೆ."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಈ ಪ್ರೊಫೈಲ್ ಪ್ರವೇಶಿಸುವ ಅಗತ್ಯವಿದೆ:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:"</string>
-    <string name="next" msgid="1004321437324424398">"ಮುಂದೆ"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆ ಅಲ್ಲದೆ ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ, ಕರೆ ಇತಿಹಾಸ ಮತ್ತು ಸಂಪರ್ಕ ಹುಡುಕಾಟದ ಇತಿಹಾಸ ಸೇರಿದಂತೆ, ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನುಮತಿಗಳು ಹಾಗೂ ಈ ಪ್ರೊಫೈಲ್‌ಗೆ ಜೊತೆಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಡೇಟಾವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ ಮಾಹಿತಿ ಸೇರಿದಂತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನುಮತಿಗಳು, ಕಳವು ಸಂರಕ್ಷಣಾ ವೈಶಿಷ್ಟ್ಯತೆಗಳು ಮತ್ತು ಈ ಸಾಧನದೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಡೇಟಾವನ್ನು ವೀಕ್ಷಿಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯ ಹೊಂದಿರುತ್ತಾರೆ."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ಕಳವು ಸಂರಕ್ಷಣಾ ವೈಶಿಷ್ಟ್ಯತೆಗಳನ್ನು ಉಪಯೋಗಿಸಲು, ನಿಮ್ಮ ಸಾಧನವು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಣೆಯ ಸ್ಕ್ರೀನ್ ಲಾಕ್‌ ಅನ್ನು ಹೊಂದಿರಬೇಕು."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಗೌಪ್ಯತೆ ನೀತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ, ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ಸರಿ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ನಾನು ಸಮ್ಮತಿಸುತ್ತೇನೆ"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ಪ್ರಾಥಮಿಕ ಬಳಕೆದಾರ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ತೆಗೆದುಹಾಕುವುದೇ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ಕಾರ್ಯ ಪ್ರೊಫೈಲ್ ಈಗಾಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಇವರಿಂದ ನಿರ್ವಹಿಸಲಾಗಿದೆ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ಈ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು %s ಬಳಸಲು ನಿರ್ವಹಿಸಲಾಗಿದೆ:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"ಮುಂದುವರಿಯುವ ಮೊದಲು, "<a href="#read_this_link">"ಇದನ್ನು ಓದಿ"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ನೀವು ಮುಂದುವರಿಸಿದರೆ, ಈ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿನ ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"ಅಳಿಸಿ"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಇದು ಸ್ವಲ್ಪ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನೀವು ಅದನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಇದಕ್ಕೆ ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"ಎನ್‌ಕ್ರಿಪ್ಟ್‌‌ ಮಾಡಿ"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ ಅಥವಾ ನಂತರ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ನಿಮ್ಮ ಸಾಧನವು ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ಈ ಬಳಕೆದಾರರಿಗೆ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"ನಿರ್ವಹಿಸಿದ ಸಾಧನದಲ್ಲಿ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಬಳಕೆದಾರರ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ನೀವು ತಲುಪಿರುವ ಕಾರಣ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ರಚಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಕನಿಷ್ಠ ಒಬ್ಬ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಈ ಲಾಂಚರ್‌‌ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ. ನೀವು, ಹೊಂದಿಕೆಯಾಗುವಂತಹ ಲಾಂಚರ್‌‌ಗೆ ಬದಲಾಯಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ಸರಿ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ಬಳಕೆದಾರ ಸೆಟಪ್ ಅಪೂರ್ಣವಾಗಿದೆ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"ಕೆಲಸದ ಸಾಧನದ ಬಳಕೆದಾರರು"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"ಕೆಲಸದ ಸಾಧನವನ್ನು ಹೊಂದಿಸಿ"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"ಸೆಟಪ್‌ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ವೈ-ಫೈಗೆ ಸಂಪರ್ಕಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್‌ ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್‌ ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ಸಾಧನದ ಮಾಲೀಕರನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"ನಿಮ್ಮ ಸಾಧನವು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುವುದೇ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಡೇಟಾವನ್ನು ಅಳಿಸುವುದೇ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ಸರಿ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ಮರುಹೊಂದಿಸು"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ಈ ಸಾಧನವನ್ನು ಈಗಾಗಲೇ ಹೊಂದಿಸಲಾಗಿದೆ."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ವೈ-ಫೈ ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ಈ ಸಾಧನವನ್ನು ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸುವಿಕೆ ರಕ್ಷಣೆಯಿಂದ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ಅಳಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ಚೆಕ್‌ಸಮ್ ದೋಷ ಎದುರಾಗಿರುವ ಕಾರಣ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇದರಲ್ಲಿ ಕಾಂಪೊನೆಂಟ್‌ಗಳು ಕಾಣೆಯಾಗಿವೆ ಅಥವಾ ದೋಷಪೂರಿತವಾಗಿವೆ, ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್‌ ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ಹೊಂದಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದೇ?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ಇಲ್ಲ"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ಹೌದು"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ರದ್ದುಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ಪ್ರೊಫೈಲ್ ಸೆಟಪ್ ನಿಲ್ಲಿಸುವುದೇ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"ನಿಮ್ಮ ಸಂಸ್ಥೆ ಬಳಸಿರುವ ಸಾಧನ ನಿರ್ವಾಹಕದಿಂದ ನಂತರದಲ್ಲಿ ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನೀವು ಹೊಂದಿಸಬಹುದು."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ಮುಂದುವರಿಸು"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ನಿಲ್ಲಿಸು"</string>
-    <string name="provisioning" msgid="4512493827019163451">"ಒದಗಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸಿ. ಸೆಟಪ್‌ ಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ. ಎನ್‌ಕ್ರಿಪ್ಶನ್"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸಿ. ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ. ಸೆಟಪ್‌ ಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ. ಎನ್‌ಕ್ರಿಪ್ಶನ್"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ. ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ ಬಟನ್‌"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ಐಕಾನ್‌"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ಸೆಟಪ್ ಮತ್ತು ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸುವಿಕೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸುವುದೇ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ಈ ಸೆಟಪ್ ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಫ್ಯಾಕ್ಟರಿ ಸೆಟ್ಟಿಂಗ್‌ಗೆ ಮರುಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮನ್ನು ಮೊದಲ ಪರದೆಗೆ ಕರೆದೊಯ್ಯುತ್ತದೆ."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
-</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
new file mode 100644
index 0000000..9449931
--- /dev/null
+++ b/res/values-kn/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಾಣಿಕೆ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ಓಹ್!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ಈ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಹಾಗೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಕಾಪಾಡುತ್ತದೆ. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದನ್ನೂ ನೀವು ನಿಯಂತ್ರಿಸಬಹುದು."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಈ ಸಾಧನವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಹಾಗೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸುತ್ತದೆ."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಈ ಪ್ರೊಫೈಲ್ ಪ್ರವೇಶಿಸುವ ಅಗತ್ಯವಿದೆ:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:"</string>
+    <string name="next" msgid="1004321437324424398">"ಮುಂದೆ"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನುಮತಿಗಳ ನಿಗಾ ವಹಿಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯ ನಿಮ್ಮ ನಿರ್ವಾಹಕರಿಗಿರುತ್ತದೆ. ಮಾತ್ರವಲ್ಲ, ಈ ಪ್ರೊಫೈಲ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾ ಮತ್ತು ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆಯೂ ಸೇರಿದಂತೆ ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ, ಕರೆಯ ಇತಿಹಾಸ ಮತ್ತು ಸಂಪರ್ಕಗಳ ಹುಡುಕಾಟದ ಇತಿಹಾಸವನ್ನು ಕೂಡ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಅಧಿಕಾರ ಅವರಿಗಿರುತ್ತದೆ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಗೌಪ್ಯತೆ ನೀತಿಗಳೂ ಸೇರಿದಂತೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನುಮತಿಗಳ ನಿಗಾ ವಹಿಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯ ನಿಮ್ಮ ನಿರ್ವಾಹಕರಿಗಿರುತ್ತದೆ. ಮಾತ್ರವಲ್ಲ, ಈ ಸಾಧನಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾ ಮತ್ತು ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆಯೂ ಸೇರಿದಂತೆ ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ, ಕರೆಯ ಇತಿಹಾಸ ಮತ್ತು ಸಂಪರ್ಕಗಳ ಹುಡುಕಾಟದ ಇತಿಹಾಸವನ್ನು ಕೂಡ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಅಧಿಕಾರ ಅವರಿಗಿರುತ್ತದೆ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಗೌಪ್ಯತೆ ನೀತಿಗಳೂ ಸೇರಿದಂತೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ಕಳವು ಸಂರಕ್ಷಣಾ ವೈಶಿಷ್ಟ್ಯತೆಗಳನ್ನು ಉಪಯೋಗಿಸಲು, ನಿಮ್ಮ ಸಾಧನವು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಣೆಯ ಸ್ಕ್ರೀನ್ ಲಾಕ್‌ ಅನ್ನು ಹೊಂದಿರಬೇಕು."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಗೌಪ್ಯತೆ ನೀತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ, ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ಸರಿ"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ನಾನು ಸಮ್ಮತಿಸುತ್ತೇನೆ"</string>
+    <string name="url_error" msgid="5958494012986243186">"ಈ ಲಿಂಕ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+    <string name="terms" msgid="8295436105384703903">"ನಿಯಮಗಳು"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಮಾಹಿತಿ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"ನಿರ್ವಹಿಸುವ ಸಾಧನದ ಮಾಹಿತಿ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ಪ್ರಾಥಮಿಕ ಬಳಕೆದಾರ"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"ಈ ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಿಕೊಂಡು ನಿರ್ವಹಿಸುವ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು ನೀವು ಈಗಾಗಲೇ ಹೊಂದಿರುವಿರಿ"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"ಮುಂದುವರಿಯುವ ಮೊದಲು, "<a href="#read_this_link">"ಇದನ್ನು ಓದಿ"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ನೀವು ಮುಂದುವರಿಸಿದರೆ, ಈ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿನ ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ಅಳಿಸಿ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾಗಿದೆ. ಇದಕ್ಕೆ ಕೊಂಚ ಕಾಲಾವಕಾಶ ಬೇಕಾಗಬಹುದು."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ಈ ಸಾಧನವನ್ನು ಹೊಂದಿಸಲು, ಮೊದಲಿಗೆ ಇದನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾಗಿದೆ. ಇದಕ್ಕೆ ಕೊಂಚ ಕಾಲಾವಕಾಶ ಬೇಕಾಗಬಹುದು."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ಎನ್‌ಕ್ರಿಪ್ಟ್?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"ಎನ್‌ಕ್ರಿಪ್ಟ್‌‌"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ ಅಥವಾ ನಂತರ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಸೇರಿಸಲಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ಈ ಬಳಕೆದಾರರು ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿರುವಂತಿಲ್ಲ.ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ಈ ಬಳಕೆದಾರರು ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಹೊಂದುವಂತಿಲ್ಲ. ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"ನಿರ್ವಹಿಸಿದ ಸಾಧನದಲ್ಲಿ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ಈ ಸಾಧನದಲ್ಲಿ ಅತಿ ಹೆಚ್ಚು ಬಳಕೆದಾರರು ಇರುವಂತೆ ಕಾಣಿಸುತ್ತಿದೆ. ಓರ್ವ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ, ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ಸಾಧನದ ಲಾಂಚರ್ ಬದಲಾಯಿಸಿ"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"ಈ ಲಾಂಚರ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಬಳಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ಸರಿ"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ಬಳಕೆದಾರ ಸೆಟಪ್ ಅಪೂರ್ಣವಾಗಿದೆ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ಕೆಲಸದ ಸಾಧನದ ಬಳಕೆದಾರರು"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"ಕೆಲಸದ ಸಾಧನವನ್ನು ಹೊಂದಿಸಿ"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"ಸೆಟಪ್‌ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ವೈ-ಫೈಗೆ ಸಂಪರ್ಕಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್‌ ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"ನಿರ್ವಾಹಕ ಅಪ್ಲಿಕೇಶನ್‌ ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"ಸಿಸ್ಟಂ ಅಗತ್ಯವಿಲ್ಲದ ಅಪ್ಲಿ. ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"ಅಂತಿಮ ಸ್ಪರ್ಶಗಳನ್ನು ನೀಡಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ಸಾಧನದ ಮಾಲೀಕರನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ಸಾಧನವನ್ನು ಆರಂಭಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ಹೊಂದಿಸುವುದಕ್ಕಾಗಿ ಅಗತ್ಯವಿರುವ ಎನ್‌ಕ್ರಿಪ್ಷನ್ ಅನ್ನು ಈ ಸಾಧನ ಅನುಮತಿಸುತ್ತಿಲ್ಲ. ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"ಸೆಟಪ್ ನಿಲ್ಲಿಸಿ ಸಾಧನ ಮರುಹೊಂದಿಸುವುದೇ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ಇದು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಮೊದಲ ಪರದೆಗೆ ನಿಮ್ಮನ್ನು ಮರಳಿ ಕರೆದೊಯ್ಯುತ್ತದೆ"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುವುದೇ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಡೇಟಾವನ್ನು ಅಳಿಸುವುದೇ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ಸರಿ"</string>
+    <string name="reset" msgid="6467204151306265796">"ಮರುಹೊಂದಿಸಿ"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ಸಾಧನ ಹೊಂದಿಸಲಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ಸಾಧನವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ಸಾಧನವನ್ನು ಈಗಾಗಲೇ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ವೈ-ಫೈ ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಮರುಹೊಂದಿಸುವಿಕೆ ಸಂರಕ್ಷಣೆ ಆನ್ ಆಗಿದೆ. ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ಅಳಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ಚೆಕ್‌ಸಮ್ ದೋಷ ಎದುರಾಗಿರುವ ಕಾರಣ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇದರ ಘಟಕಗಳು ಕಾಣೆಯಾಗಿವೆ ಅಥವಾ ದೋಷಪೂರಿತವಾಗಿವೆ. ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್‌ ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ಹೊಂದಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದೇ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ಇಲ್ಲ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ಹೌದು"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ರದ್ದುಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ಪ್ರೊಫೈಲ್ ಸೆಟಪ್ ನಿಲ್ಲಿಸುವುದೇ?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಸಾಧನ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಆನಂತರ  ಹೊಂದಿಸಬಹುದು"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ಮುಂದುವರಿಸಿ"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ನಿಲ್ಲಿಸಿ"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ವಜಾಗೊಳಿಸಿ"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"ನೀವು ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಒಂದನ್ನು ರಚಿಸುತ್ತಿದ್ದೀರಿ. ಅದನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ನಿಯಮಗಳು ಅನ್ವಯಿಸುತ್ತವೆ."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"ನೀವು ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಒಂದನ್ನು ರಚಿಸುತ್ತಿದ್ದೀರಿ. ಅದನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ನ ನಿಯಮಗಳು ಅನ್ವಯಿಸುತ್ತವೆ."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಪ್ರೊಫೈಲ್ ಒಂದನ್ನು ರಚಿಸಲಾಗುವುದು. ಈ ಪ್ರೊಫೈಲ್ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಉಳಿದ ಭಾಗವನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ನಿಯಮಗಳು ಅನ್ವಯಿಸುತ್ತವೆ."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಪ್ರೊಫೈಲ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಈ ಪ್ರೊಫೈಲ್ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಉಳಿದ ಭಾಗವನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ನ ನಿಯಮಗಳು ಅನ್ವಯವಾಗುತ್ತವೆ."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ಈ ಸಾಧನವನ್ನು <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿರಿಸುತ್ತದೆ. ನಿಯಮಗಳು ಅನ್ವಯವಾಗುತ್ತವೆ. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ಈ ಸಾಧನವನ್ನು <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿರಿಸುತ್ತದೆ. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> ನ ನಿಯಮಗಳು ಅನ್ವಯವಾಗುತ್ತವೆ. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ಈ ಲಿಂಕ್ ಸುರಕ್ಷಿತವಾಗಿಲ್ಲ ಮತ್ತು ಸಾಧನದ ಸೆಟಪ್ ಪೂರ್ತಿಯಾಗುವವರೆಗೆ ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ನಿಮ್ಮಲ್ಲಿ ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ, ನಿಮ್ಮ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ಅವರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ನೀವು ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ಸೆಟಪ್ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ. ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"ಸಹಾಯಕ್ಕಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರು"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"ಈ ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಿಕೊಂಡು ಈ ಸಾಧನವನ್ನು <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"ನಿಮ್ಮ ಸಂಘಟನೆ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ನಿಮ್ಮ ಸಂಸ್ಥೆ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"ನಿಯಮಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ಸಮ್ಮತಿಸಿ, ಮುಂದುವರಿಸಿ"</string>
+    <string name="close" msgid="7208600934846389439">"ಮುಚ್ಚಿ"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"ನೀವು ಕೆಲಸ ಮಾಡುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸಿ"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"ಕೆಲಸವನ್ನು ವೈಯಕ್ತಿಕದಿಂದ ಪ್ರತ್ಯೇಕಿಸಿ"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ಉದ್ಯೋಗ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಒಂದೇ ಸ್ಥಳ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ನೀವು ಪೂರ್ಣಗೊಳಿಸಿದಾಗ ಕೆಲಸವನ್ನು ಆಫ್ ಮಾಡಿ"</string>
+    <string name="provisioning" msgid="4512493827019163451">"ಒದಗಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಬಳಸುವ ಮೂಲಕ, ನೀವು ಉದ್ಯೋಗ ಡೇಟಾವನ್ನು ವೈಯಕ್ತಿಕ ಡೇಟಾದಿಂದ ಪ್ರತ್ಯೇಕಿಸಬಹುದು"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಬಳಸಿಕೊಂಡು, ನಿಮ್ಮ ಉದ್ಯೋಗ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನೀವು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಇರಿಸಿಕೊಳ್ಳಬಹುದು"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ. ಎನ್‌ಕ್ರಿಪ್ಶನ್"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸಿ. ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ. ಎನ್‌ಕ್ರಿಪ್ಶನ್"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"ನಿಮ್ಮ ಸಾಧನ ಹೊಂದಿಸಿ. ಪ್ರಗತಿಯನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ ಬಟನ್‌"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ಐಕಾನ್‌"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ವಿಭಾಗದ ಶಿರೋನಾಮೆ."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ವಿಭಾಗದ ವಿಷಯ: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ವಿಸ್ತೃತಗೊಳಿಸಿ"</string>
+    <string name="collapse" msgid="7817530505064432580">"ಕುಗ್ಗಿಸಿ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ಲಿಂಕ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
+    <string name="access_links" msgid="7991363727326168600">"ಲಿಂಕ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ಪದಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
+    <string name="read_terms" msgid="1745011123626640728">"ನಿಯಮಗಳನ್ನು ಓದಿ"</string>
+    <string name="close_list" msgid="9053538299788717597">"ಪಟ್ಟಿಯನ್ನು ಮುಚ್ಚಿ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ಸೆಟಪ್ ಮತ್ತು ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸುವಿಕೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸುವುದೇ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ಈ ಸೆಟಪ್ ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಫ್ಯಾಕ್ಟರಿ ಸೆಟ್ಟಿಂಗ್‌ಗೆ ಮರುಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮನ್ನು ಮೊದಲ ಪರದೆಗೆ ಕರೆದೊಯ್ಯುತ್ತದೆ."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ಮತ್ತು <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ಮತ್ತು <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index f9584b9..3152bde 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"내 기기를 관리하는 앱:"</string>
     <string name="next" msgid="1004321437324424398">"다음"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"직장 프로필 설정 중..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"관리자는 네트워크 활동, 기기의 위치, 통화 기록, 연락처 검색 기록을 비롯하여 이 프로필과 연결된 데이터, 설정, 기업 액세스, 앱, 권한을 모니터링하고 관리할 수 있습니다."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"관리자는 네트워크 활동 및 기기의 위치 정보를 비롯하여 기기와 연결된 데이터, 설정, 기업 액세스, 앱, 권한, 도난 방지 기능을 모니터링하고 관리할 수 있습니다."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"관리자는 설정, 기업 액세스, 앱, 권한과 사용자의 네트워크 활동, 기기 위치, 통화 기록, 연락처 검색 기록 등 이 프로필과 연결된 데이터를 모니터링하고 관리할 수 있습니다.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>조직의 개인정보 보호 정책을 비롯한 자세한 내용을 알아보려면 관리자에게 문의하세요."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"관리자는 설정, 기업 액세스, 앱, 권한과 사용자의 네트워크 활동, 기기 위치, 통화 기록, 연락처 검색 기록 등 이 기기와 연결된 데이터를 모니터링하고 관리할 수 있습니다.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>조직의 개인정보 보호 정책을 비롯한 자세한 내용을 알아보려면 관리자에게 문의하세요."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"도난 방지 기능을 사용하려면 기기에 비밀번호로 보호되는 화면 잠금이 있어야 합니다."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"조직의 개인정보처리방침을 비롯한 자세한 내용은 관리자에게 문의하세요."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"자세히 알아보기"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"취소"</string>
     <string name="ok_setup" msgid="4593707675416137504">"확인"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"동의합니다."</string>
+    <string name="url_error" msgid="5958494012986243186">"표시할 수 없는 링크입니다."</string>
+    <string name="terms" msgid="8295436105384703903">"약관"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"직장 프로필 정보"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"관리 기기 정보"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"직장 프로필"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"기본 사용자"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"직장 프로필을 삭제하시겠습니까?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"직장 프로필이 이미 있으며 다음을 통해 관리됨:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"이 직장 프로필은 다음을 사용하여 %s에 대해 관리됩니다."</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"기존 프로필을 삭제하시겠습니까?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"직장 프로필이 이미 있으며 다음 앱을 통해 관리됩니다."</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"계속하기 전에 "<a href="#read_this_link">"이 글을 읽어주세요"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"계속하면 이 프로필에 있는 모든 앱과 데이터가 삭제됩니다."</string>
     <string name="delete_profile" msgid="2299218578684663459">"삭제"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"취소"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"직장 프로필 설정을 계속하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"설정을 계속하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"암호화"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"직장 프로필을 설정하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"이 기기를 설정하려면 먼저 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"기기를 암호화하시겠습니까?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"암호화"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"암호화 완료"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"계속해서 직장 프로필을 설정하려면 탭하세요."</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"직장 프로필을 설정할 수 없습니다. IT 부서에 문의하거나 나중에 다시 시도해 주시기 바랍니다."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"직장 프로필을 지원하지 않는 기기입니다."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"이 사용자는 직장 프로필을 보유할 수 없습니다."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"직장 프로필을 추가할 수 없습니다."</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"이 사용자는 직장 프로필을 보유할 수 없습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"이 사용자는 직장 프로필을 보유할 수 없습니다. 관리자에게 문의하세요."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"직장 프로필은 관리 대상 기기에서 설정할 수 없습니다."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"기기에 허용되는 최대 사용자 수에 도달하여 직장 프로필을 만들 수 없습니다. 하나 이상의 사용자 프로필을 삭제하고 다시 시도해 주세요."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"이 런처 앱은 직장 프로필을 지원하지 않습니다. 호환되는 런처로 전환해야 합니다."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"기기에 사용자가 너무 많을 수 있습니다. 사용자를 삭제한 다음 나중에 다시 시도해 주세요."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"기기 런처를 변경하세요."</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"이 런처 앱은 직장 프로필에서 사용될 수 없습니다."</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"취소"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"확인"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"사용자 설정 완료되지 않음"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi에 연결 중..."</string>
     <string name="progress_download" msgid="3522436271691064624">"관리 앱 다운로드 중..."</string>
     <string name="progress_install" msgid="2258045670385866183">"관리 앱 설치 중..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"불필요한 시스템 앱 삭제 중…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"마무리하는 중…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"기기 소유자 설정 중..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"기기가 암호화를 지원하지 않습니다. IT 부서에 문의하세요."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"기기 초기화 중..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"이 기기는 설정에 필요한 암호화를 허용하지 않습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"설정을 중단하고 기기를 재설정하시겠습니까?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"기기가 재설정되고 처음 화면으로 이동합니다."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"설정을 중단하고 기기 데이터를 삭제하시겠습니까?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"취소"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"확인"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"초기화"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"기기를 설정할 수 없습니다. IT 부서에 문의해 주시기 바랍니다."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"기기가 이미 설정되었습니다."</string>
+    <string name="reset" msgid="6467204151306265796">"재설정"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"프로필을 설정할 수 없습니다."</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"기기를 설정할 수 없습니다."</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"기기를 설정할 수 없습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"관리자에게 문의하여 지원을 받으세요."</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"기기가 이미 설정되었습니다."</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi에 연결할 수 없습니다."</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"기기가 초기화 보호 기능으로 잠겨 있습니다. IT 부서에 문의하세요."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"기기에서 초기화 방지가 설정되어 있습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"지우는 중"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"잠시 기다려 주세요..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"체크섬 오류로 인해 관리 앱을 사용할 수 없습니다. IT 부서에 문의해 주시기 바랍니다."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"체크섬 오류로 인해 관리자 앱을 사용할 수 없습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"관리 앱을 다운로드할 수 없습니다."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"관리 앱을 사용할 수 없습니다. 구성요소가 없거나 손상되었습니다. IT 부서에 문의해 주시기 바랍니다."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"관리자 앱을 사용할 수 없습니다. 구성요소가 없거나 손상되었습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"관리 앱을 설치할 수 없습니다."</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"설정을 중지하시겠습니까?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"아니요"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"예"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"취소 중..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"프로필 설정을 중지하시겠습니까?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"이후에 조직에서 사용하는 기기 관리 앱에서 직장 프로필을 설정할 수 있습니다."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"계속"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"나중에 조직의 기기 관리 앱에서 직장 프로필을 설정할 수 있습니다."</string>
+    <string name="continue_button" msgid="7177918589510964446">"계속"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"중지"</string>
+    <string name="dismiss" msgid="9009534756748565880">"닫기"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"조직에서 관리 및 모니터링하는 직장 프로필을 만듭니다. 약관이 적용됩니다."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"조직에서 관리 및 모니터링하는 직장 프로필을 만듭니다. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>의 약관이 적용됩니다."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"업무용 앱 프로필이 생성됩니다. 이 프로필과 기기의 나머지 부분은 조직에서 관리 및 모니터링합니다. 약관이 적용됩니다."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"업무용 앱 프로필이 생성됩니다. 이 프로필과 기기의 나머지 부분은 조직에서 관리 및 모니터링합니다. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>의 약관이 적용됩니다."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"이 기기는 <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>에서 관리하며 안전하게 보호됩니다. 약관이 적용됩니다. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"이 기기는 <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>에서 관리하며 안전하게 보호됩니다. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> 약관이 적용됩니다. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"이 링크는 안전하지 않으며 기기 설정이 완료될 때까지 열 수 없습니다. <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"궁금한 점이 있으면 <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>에게 문의하세요."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"궁금한 점이 있으면 조직의 관리자에게 문의하세요."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"설정이 완료되지 않았습니다. 도움이 필요하면 관리자에게 문의하세요."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"도움이 필요하면 관리자에게 문의하세요."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"조직의 관리자"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>에서 다음 앱을 사용하여 이 기기를 관리 및 모니터링합니다."</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"조직"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"조직"</string>
+    <string name="view_terms" msgid="7230493092383341605">"약관 보기"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"동의 및 계속"</string>
+    <string name="close" msgid="7208600934846389439">"닫기"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"기기 설정"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"작업 방식의 변화"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"직장 및 개인 데이터 구분"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"업무용 앱을 한 곳에서 사용"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"완료 시 작업 종료"</string>
     <string name="provisioning" msgid="4512493827019163451">"프로비저닝 중..."</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA 인증서 설정"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"프로필을 설정합니다. 설정 시작"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"프로필 설정"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"직장 프로필을 사용하면 개인 데이터와 업무 데이터를 분리할 수 있습니다."</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"직장 프로필을 사용하여 업무용 앱을 한 곳에서 관리할 수 있습니다."</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"프로필을 설정합니다. 암호화"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"프로필을 설정합니다. 진행 상황 보기"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"기기를 설정합니다. 설정 시작"</string>
+    <string name="setup_device" msgid="6725265673245816366">"기기 설정"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"기기를 설정합니다. 암호화"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"기기를 설정합니다. 진행 상황 보기"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"자세히 알아보기 버튼"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> 아이콘"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> 섹션 제목"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> 섹션 콘텐츠: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"확대"</string>
+    <string name="collapse" msgid="7817530505064432580">"접기"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"링크 목록에 액세스하세요."</string>
+    <string name="access_links" msgid="7991363727326168600">"링크에 액세스하세요."</string>
+    <string name="access_terms" msgid="1982500872249763745">"약관에 액세스하세요."</string>
+    <string name="read_terms" msgid="1745011123626640728">"약관 읽기"</string>
+    <string name="close_list" msgid="9053538299788717597">"목록 닫기"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"설정을 종료하고 초기화하시겠습니까?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"이 설정을 종료하면 기기가 초기화되고 처음 화면으로 이동합니다."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"취소"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"기기 초기화"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> 및 <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> 및 <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
deleted file mode 100644
index d05617b..0000000
--- a/res/values-ky-rKG/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Жумуш профилин жөндөө"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Жумуш профилин жөндөө"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Ишканаңыз бул профилди көзөмөлдөп, коопсуздугун камсыз кылып турат. Түзмөгүңүздөгү калган нерсенин бардыгын өзүңүз көзөмөлдөйсүз."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Ишканаңыз бул түзмөктү көзөмөлдөп, коопсуздугун камсыз кылат."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Төмөнкү колдонмо бул профилди колдонушу керек."</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Төмөнкү колдонмо түзмөгүңүздү башкармакчы:"</string>
-    <string name="next" msgid="1004321437324424398">"Кийинки"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Жумуш профилиңиз жөндөлүүдө…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Администраторуңуз жөндөөлөрдү, корпоративдик ресурстарды колдонуу мүмкүнчүлүгүн, колдонмолорду, уруксаттарды жана ушул профилге байланышкан дайындарды, ошондой эле Интернетте жасалган аракеттер, түзмөктүн жайгашкан жери, чалуу таржымалы жана байланыштарды издөө таржымалы сыяктуу ушул түзмөктөгү дайындарды көзөмөлдөп жана башкара алат."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Администраторуңуз жөндөөлөрдү, колдонмолорду, уруксаттарды, түзмөгүңүздүн уурдалып кетишинен коргоо функцияларын жана ушул түзмөктөгү корпоративдик ресурстарды колдонуу мүмкүнчүлүгүнүн параметрлерин, ошондой эле жайгашкан жер же Интернетте жасалган аракеттер сыяктуу ушул түзмөктөгү дайындарды көзөмөлдөп жана башкара алат."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Түзмөгүңүздүн уурдалып кетишинен коргоо функциясын колдонуу үчүн түзмөгүңүздү сырсөз менен кулпулап коюңуз."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Көбүрөөк маалымат алып, ишканаңыздын купуялык саясатын билүү үчүн администраторуңузга кайрылыңыз."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Көбүрөөк билүү"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Жокко чыгаруу"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Жарайт"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Мен макулмун"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жумуш профили"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Негизги колдонуучу"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Жумуш профили алынып салынсынбы?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Жумуш профили мурунтан эле бар жана аны төмөнкү башкарат:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Бул жумуш профили %s үчүн төмөнкү аркылуу башкарылат:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Улантуудан мурун "<a href="#read_this_link">"муну окуп чыгыңыз"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Эгер улантсаңыз, бул профилдеги бардык колдонмолор жана дайындар жок кылынат."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Жок кылуу"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Жокко чыгаруу"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Жумуш профилиңизди орнотууну улантуу үчүн, түзмөгүңүздү шифрлешиңиз керек. Буга бир аз убакыт талап кылынышы мүмкүн."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Түзмөгүңүздү орнотууну улантуу үчүн, аны шифрлешиңиз керек болот. Ал бир нече убакыт алышы мүмкүн."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлөө"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлөө аяктады"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Жумуш профилиңизди жөндөөнү улантуу үчүн таптап коюңуз"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жумуш профилиңиз негизделген жок. IT бөлүмүңүзгө кайрылыңыз же бир аздан кийин дагы аракет кылып көрүңүз."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Түзмөгүңүздө жумуш профилдери колдоого алынбайт"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Бул колдонуучу жумуш профилине ээ боло албайт"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Башкарылган түзмөктөн жумуш профилдерин орнотуу мүмкүн эмес"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Түзмөгүңүздөгү колдонуучулардын саны белгиленген эң жогорку чекке жеткендиктен жумуш профили түзүлбөйт. Кеминде бир колдонуучуну алып салып, кайра аракет кылыңыз."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Жумуш профилиңизде бул ишке киргизгич колдонмосу колдоого албайт. Дал келе турган жүргүзгүчкө которулушуңуз керек."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Жокко чыгаруу"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Жарайт"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Колдонуучунун жөндөөсү толук эмес"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Жумуш түзмөгүн колдонуучу"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Жумуш түзмөгүн жөндөө"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Орнотуу дайындары иштетилүүдө…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi\'га туташууда…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Администратор колдонмосу жүктөлүп алынууда…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Администратор колдонмосу орнотулууда…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Түзмөк ээси коюлууда…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Түзмөгүңүздө шифрлөө колдоого алынбайт. IT бөлүмүңүзгө кайрылыңыз."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Орнотуу токтотулуп, түзмөгүңүздүн дайындары тазалансынбы?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Жокко чыгаруу"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Баштапкы абалга келтирүү"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Түзмөгүңүз негизделген жок. IT бөлүмүңүзгө кайрылыңыз."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Бул түзмөк мурунтан эле орнотулган."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi\'га туташкан жок"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Жөндөөлөр баштапкы абалга келтирилип жатканда түзмөк кулпуланып калды. IT бөлүмүңүзгө кайрылыңыз."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Өчүрүүдө"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Күтө туруңуз…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Жыйынтыктоочу сумма катасынан улам, администратордун колдонмосу иштеген жок. IT бөлүмүңүзгө кайрылыңыз."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Администратор колдонмосу жүктөлүп алынган жок"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Администратор колдонмосу иштебей жатат. Анын айрым курамдык бөлүктөрү жок же бузук. IT бөлүмүңүзгө кайрылыңыз."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Администратор колдонмосу орнотулган жок"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Орнотуу токтотулсунбу?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жок"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ооба"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Жокко чыгарылууда…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профилди жөндөө токтотулсунбу?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Жумуш профилиңизди кийинчерээк ишканаңыз пайдаланган түзмөктү башкаруу колдонмосунан жөндөй аласыз."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Улантуу"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Токтотуу"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Демилгелөөдө"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA тастыктамалары орнотулууда"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Профилиңизди жөндөңүз. Жөндөп баштоо"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профилиңизди жөндөңүз. Шифрлөө"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Профилиңизди жөндөңүз. Иштин илгерилөөсү көрсөтүлүүдө"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Түзмөгүңүздү жөндөңүз. Жөндөп баштоо"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Түзмөгүңүздү жөндөңүз. Шифрлөө"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Түзмөгүңүздү жөндөңүз. Иштин илгерилөөсү көрсөтүлүүдө"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Көбүрөөк билүү баскычы"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> сөлөкөтү"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Жөндөө токтотулп, түзмк баштпк аблга келснби?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Бул жөндөө токтотулса түзмөгүңүз баштапкы абалга келтирилип, кайрадан биринчи экранга өтөсүз."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Жокко чыгаруу"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Түзмөктү баштапкы абалга келтирүү"</string>
-</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
new file mode 100644
index 0000000..5ca082d
--- /dev/null
+++ b/res/values-ky/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Жумуш профилин жөндөө"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Жумуш профилин жөндөө"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ишканаңыз бул профилди көзөмөлдөп, коопсуздугун камсыз кылып турат. Түзмөгүңүздөгү калган нерсенин бардыгын өзүңүз көзөмөлдөйсүз."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Ишканаңыз бул түзмөктү көзөмөлдөп, коопсуздугун камсыз кылат."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Төмөнкү колдонмо бул профилди колдонушу керек."</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Төмөнкү колдонмо түзмөгүңүздү башкармакчы:"</string>
+    <string name="next" msgid="1004321437324424398">"Кийинки"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Жумуш профилиңиз жөндөлүүдө…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Администраторуңуз жөндөөлөрдү, корпоративдик кирүү мүмкүнчүлүгүн, колдонмолорду, уруксаттарды жана ушул профилге байланыштуу дайындарды, ошондой эле Интернеттеги аракеттериңиз, түзмөгүңүздүн жайгашкан жери, чалуу таржымалы жана байланыштарды издөө таржымалы тууралуу маалыматты көзөмөлдөп жана башкара алат.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Көбүрөөк маалымат алып, ишканаңыздын купуялык саясатын билүү үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Администраторуңуз жөндөөлөрдү, корпоративдик кирүү мүмкүнчүлүгүн, колдонмолорду, уруксаттарды жана ушул түзмөккө байланыштуу дайындарды, ошондой эле Интернеттеги аракеттериңиз, түзмөгүңүздүн жайгашкан жери, чалуу таржымалы жана байланыштарды издөө таржымалы тууралуу маалыматты көзөмөлдөп жана башкара алат.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Көбүрөөк маалымат алып, ишканаңыздын купуялык саясатын билүү үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Түзмөгүңүздүн уурдалып кетишинен коргоо функциясын колдонуу үчүн түзмөгүңүздү сырсөз менен кулпулап коюңуз."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Көбүрөөк маалымат алып, ишканаңыздын купуялык саясатын билүү үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Көбүрөөк билүү"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Жок"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Жарайт"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Мен макулмун"</string>
+    <string name="url_error" msgid="5958494012986243186">"Бул шилтемени ачуу мүмкүн эмес."</string>
+    <string name="terms" msgid="8295436105384703903">"Шарттар"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Жумуш профили жөнүндө маалымат"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Башкарылган түзмөк жөнүндө маалымат"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жумуш профили"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Негизги колдонуучу"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Учурдагы профиль жок кылынсынбы?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Жумуш профилиңиз мурунтан эле бар, ал төмөнкү колдонмо аркылуу башкарылат:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Улантуудан мурун "<a href="#read_this_link">"муну окуп чыгыңыз"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Эгер улантсаңыз, бул профилдеги бардык колдонмолор жана дайындар жок кылынат."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Жок кылуу"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Жок"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Жумуш профилиңизди жөндөө үчүн түзмөгүңүздү шифрлеп алыш керек. Буга бир аз убакыт кетиши мүмкүн."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Бул түзмөктү жөндөөдөн мурун аны шифрлеп алыш керек. Буга бир аз убакыт кетиши мүмкүн."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Бул түзмөк шифрл-би?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифрлөө"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлөө аяктады"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Жумуш профилиңизди жөндөөнү улантуу үчүн таптап коюңуз"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жумуш профилиңиз негизделген жок. IT бөлүмүңүзгө кайрылыңыз же бир аздан кийин дагы аракет кылып көрүңүз."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Жумуш профили кошулбай жатат"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Бул колдонуучуга жумуш профилин түзүүгө болбойт. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Бул колдонуучуга жумуш профилин түзүүгө болбойт. Администраторуңузга кайрылыңыз."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Башкарылган түзмөктөн жумуш профилдерин орнотуу мүмкүн эмес"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Бул түзмөктө колдонуучулар өтө көп окшойт. Бир колдонуучуну алып салып, кайра аракет кылыңыз."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Түзмөктүн жүргүзгүчүн өзгөртүү"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Бул жүргүзүүчү колдонмо жумуш профилиңизде иштебейт"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Жокко чыгаруу"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Жарайт"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Колдонуучунун жөндөөсү толук эмес"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Жумуш түзмөгүн колдонуучу"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Жумуш түзмөгүн жөндөө"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Орнотуу дайындары иштетилүүдө…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi\'га туташууда…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Администратор колдонмосу жүктөлүп алынууда…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Администратор колдонмосу орнотулууда…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Керексиз тутум колдонмолорун алып салууда..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Бир аз күтө туруңуз…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Түзмөк ээси коюлууда…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Түзмөккө баштапкы маанини берүүдө..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Бул түзмөктө жөндөөгө керектүү шифрлөө функциясына тыюу салынган. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Жөндөө токтотулуп, түзмөк баштапкы абалына келтирилсинби?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Ушуну менен түзмөгүңүз баштапкы абалга келтирилип, кайрадан биринчи экранга өтөсүз."</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Орнотуу токтотулуп, түзмөгүңүздүн дайындары тазалансынбы?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Жок"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
+    <string name="reset" msgid="6467204151306265796">"Баштапкы абалга келтирүү"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Профиль жөндөлбөй жатат"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Түзмөк жөндөлбөй жатат"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Түзмөк жөндөлбөй койду. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Жардам алуу үчүн администраторуңузга кайрылыңыз"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Түзмөк мурда жөндөлгөн"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi\'га туташкан жок"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Түзмөгүңүздө баштапкы абалга келтирүүдөн коргоо функциясы иштетилген. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Өчүрүүдө"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Күтө туруңуз…"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Жыйынтыктоочу сумма катасынан улам, администратордун колдонмосу иштеген жок. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Администратор колдонмосу жүктөлүп алынган жок"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Администратор колдонмосу иштебей жатат. Анын айрым курамдык бөлүктөрү жок же бузук. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Администратор колдонмосу орнотулган жок"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Орнотуу токтотулсунбу?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жок"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ооба"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Жокко чыгарылууда…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профилди жөндөө токтотулсунбу?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Жумуш профилиңизди кийинчерээк ишканаңыздын түзмөктү башкаруучу колдонмосунан жөндөй аласыз"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Улантуу"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Токтотуу"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Жабуу"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Жумуш профилин түзгөнү жатасыз. Аны ишканаңыз көзөмөлдөп, башкарат. Шарттар колдонулат."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Жумуш профилин түзгөнү жатасыз. Аны ишканаңыз көзөмөлдөп, башкарат. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> шарттары колдонулат."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Профиль жумушка керектүү колдонмолоруңуз үчүн түзүлөт. Бул профилди жана түзмөгүңүздүн башка бөлүгүн ишканаңыз көзөмөлдөп, башкарат. Шарттар колдонулат."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Профиль жумушка керектүү колдонмолоруңуз үчүн түзүлөт. Бул профилди жана түзмөгүңүздүн башка бөлүгүн ишканаңыз көзөмөлдөп, башкарат. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> шарттары колдонулат."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Бул түзмөк <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> тарабынан башкарылып, коопсуздугу сакталат. Шарттар колдонулат. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Бул түзмөк <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> тарабынан башкарылып, коопсуздугу сакталат. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> шарттары колдонулат. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Бул шилтеме кооптуу жана түзмөк жөндөлмөйүнчө аны ачууга болбойт: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Суроолоруңуз болсо, <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> менен байланышыңыз."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Суроолоруңуз болсо, ишканаңыздын администраторуна кайрылыңыз."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Жөндөө аягына чыккан жок. Жардам алуу үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Жардам алуу үчүн администраторуңузга кайрылыңыз"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ишкананын администратору"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> бул түзмөктү төмөнкү колдонмо аркылуу көзөмөлдөп, башкарат:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Сиздин ишкана"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"сиздин ишкана"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Шарттарды карап көрүңүз"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Кабыл алып, улантуу"</string>
+    <string name="close" msgid="7208600934846389439">"Жабуу"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Түзмөгүңүздү жөндөп алыңыз"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Жаңыча иштеп баштаңыз"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Жумушка тиешелүү дайындарды жеке дайындардан ажыратыңыз"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Жумушка байланыштуу колдонмолор бир жерде сакталат"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Иштеп бүткөнүңүздөн кийин, жумуш профили өчүрүлөт"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Демилгелөөдө"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA тастыктамалары орнотулууда"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Профилди жөндөө"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Жумуш профилин колдонуу менен жумуш дайындарын жеке дайындардан ажырата аласыз"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Жумуш профилин колдонуу менен, жумушка байланыштуу колдонмолорду бир жерде сактай аласыз"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профилиңизди жөндөңүз. Шифрлөө"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Профилиңизди жөндөңүз. Иштин илгерилөөсү көрсөтүлүүдө"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Түзмөгүңүздү негиздөө"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Түзмөгүңүздү жөндөңүз. Шифрлөө"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Түзмөгүңүздү жөндөңүз. Иштин илгерилөөсү көрсөтүлүүдө"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Көбүрөөк билүү баскычы"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> сөлөкөтү"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Бөлүмдүн аталышы: <xliff:g id="SECTION_HEADING">%1$s</xliff:g>"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> бөлүмүнүн мазмуну: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Жайып көрсөтүү"</string>
+    <string name="collapse" msgid="7817530505064432580">"Жыйыштыруу"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Шилтемелердин тизмесин ачуу"</string>
+    <string name="access_links" msgid="7991363727326168600">"Шилтемелерди ачуу"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Шарттарды ачуу"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Шарттарды окуу"</string>
+    <string name="close_list" msgid="9053538299788717597">"Тизмени жабуу"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Жөндөө токтотулп, түзмк баштпк аблга келснби?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Бул жөндөө токтотулса түзмөгүңүз баштапкы абалга келтирилип, кайрадан биринчи экранга өтөсүз."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Жок"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Түзмөктү баштапкы абалга келтирүү"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> жана <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> жана <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
deleted file mode 100644
index 622c8d1..0000000
--- a/res/values-lo-rLA/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"ຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ອຸຍ!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"ຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"ອົງ​ກອນ​ຂອງ​ທ່ານ​ຄວບ​ຄຸມໂປຣ​ໄຟລ໌​ນີ້​ ແລະ​​ເຮັດ​ໃຫ້​ມັນ​ປອດ​ໄພ. ຢ່າງ​ອື່ນໆ​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ແມ່ນ​ທ່ານ​​ເປັນ​ຜູ່ຄວບ​ຄຸມ​."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"ອົງ​ການ​ຂອງ​ທ່ານ​ຈະ​ຄວບ​ຄຸມ​ອຸ​ປະ​ກອນ​ນີ້ ແລະ ຮັກ​ສາ​ໃຫ້​ມັນ​ປອດ​ໄພ."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ແອັບຯ​ຕໍ່​ໄປ​ນີ້​ຈະຕ້ອງ​ການ​ເຂົ້າ​ເຖິງ​ໂປຣ​ໄຟລ໌​ນີ້:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ແອັບຯ​ຕໍ່​ໄປ​ນີ້​ຈະຄຸ້ມ​ຄອງ​ອຸ​ປະ​ກອນ:"</string>
-    <string name="next" msgid="1004321437324424398">"ຕໍ່ໄປ"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​​ໂປ​ຣ​ໄຟ​ລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານມີຄວາມສາມາດໃນການກວດສອບ ແລະ ຈັດການການຕັ້ງຄ່າຕ່າງໆໄດ້, ການເຂົ້າເຖິງອົງກອນ, ແອັບ, ສິດອະນຸຍາດ ແລະ ຂໍ້ມູນທີ່ເຊື່ອມໂຍງກັບໂປຣໄຟລ໌ນີ້ ຮວມເຖິງການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານ ແລະ ຂໍ້ມູນສະຖານທີ່ອຸປະກອນຂອງທ່ານ, ປະຫວັດການໂທ ແລະ ປະຫວັດການຊອກຫາລາຍຊື່ຜູ້ຕິດຕໍ່ນຳ."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສາມາດກວດສອບ ແລະ ຕິດຕາມການຕັ້ງຄ່າ, ການເຂົ້າຫາອົງກອນ, ແອັບ, ສິດອະນຸຍາດ, ຄຸນສົມບັດການປ້ອງກັນໂຈນ ແລະ ຂໍ້ມູນທີ່ເຊື່ອມໂຍງກັບອຸປະກອນນີ້ໄດ້ ຮວມທັງການເຄື່ອນໄຫວໃນເຄືອຂ່າຍ ແລະ ຂໍ້ມູນທີ່ຢູ່ອຸປະກອນຂອງທ່ານນຳ."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ເພື່ອໃຊ້ຄຸນສົມບັດປ້ອງກັນໂຈນ, ທ່ານຕ້ອງເປີດໃຊ້ໜ້າຈໍລັອກແບບໃຊ້ລະຫັດຜ່ານໃນອຸປະກອນຂອງທ່ານກ່ອນ."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ຮວມໄປເຖິງນະໂຍບາຍຄວາມເປັນສ່ວນໂຕຂອງອົງກອນຂອງທ່ານ."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"ສຶກ​ສາ​ເພີ່ມ​ເຕີມ"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"​ຍົກ​ເລີກ"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ຕົກລົງ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ຂ້ອຍ​ຍິນຍອມ"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ຜູ້​ໃຊ້​ຕົ້ນ​ຕໍ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"ລຶບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກບໍ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກມີຢູ່ແລ້ວ ແລະຖືກຄວບຄຸມໂດຍ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ມີການຈັດການໂປຣໄຟລບ່ອນເຮັດວຽກສໍາລັບ %s ການໃຊ້:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"ກ່ອນດຳເນີນການ, "<a href="#read_this_link">"ໃຫ້ອ່ານ"</a>" ນີ້."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ຫາກທ່ານດຳເນີນການຕໍ່, ແອັບ ແລະ ຂໍ້ມູນທັງໝົດໃນໂປຣໄຟລ໌ນີ້ຈະຖືກລຶບອອກໄປ."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"​ລຶບ"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"​ຍົກ​ເລີກ"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"​ເພື່ອ​ສືບ​ຕໍ່​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ, ທ່ານ​ຈະ​ຕ້ອງ​ເຂົ້າ​ລະ​ຫັດ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ກ່ອນ. ຂັ້ນ​ຕອນ​ນີ້​ຈະ​ໃຊ້​ເວ​ລາ​ໄລ​ຍະ​ນຶ່ງ."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"ເພື່ອສືບຕໍ່ການຕັ້ງອຸປະກອນຂອງທ່ານ, ທ່ານຈະຈຳເປັນຕ້ອງເຂົ້າລະຫັດມັນໄວ້. ນີ້ອາດຈະໃຊ້ເວລາໜ້ອຍໜຶ່ງ."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"​ເຂົ້າ​ລະ​ຫັດ"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ການ​ເຂົ້າ​ລະ​ຫັດ​ສຳ​ເລັດ​ແລ້ວ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ແຕະເພື່ອສືບຕໍ່ການຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ບໍ່​ສາ​ມາດ​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ໄດ້. ກະ​ລຸ​ນາ​ຕິດ​ຕໍ່​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ ຫຼື​ລອງ​ໃໝ່​ໃນ​ພາຍຫຼັງ."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານບໍ່​ຮອງ​ຮັບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ຜູ້​ໃຊ້​ນີ້​ບໍ່​ສາ​ມາດ​ມີ​ໂປ​ຣ​ໄຟ​ລ໌​ວຽກ​ໄດ້"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"ບໍ່​ສາ​ມາດ​ຕັ້ງ​ໂປ​ຣ​ໄຟ​ລ໌​ວຽກ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ​ທີ່​ຄຸ້ມ​ຄອງ​ແລ້ວ​ໄດ້"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ບໍ່ສາມາດສ້າງໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້ ເພາະວ່າທ່ານໄດ້ຮອດຈຳນວນຜູ້ໃຊ້ສູງສຸດຢູ່ເທິງອຸປະກອນຂອງທ່ານແລ້ວ. ໃຫ້ເອົາອອກຢ່າງນ້ອຍໜຶ່ງຜູ້ໃຊ້ ແລະລອງໃໝ່."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານບໍ່​ຮອງ​ຮັບ​ແອັບຯ Launcher ນີ້. ທ່ານ​ຈະ​ຕ້ອງ​ສະ​ລັບ​ໄປ​ໃຊ້ Launcher ທີ່​ໃຊ້​ຮ່ວມ​ກັນ​ໄດ້."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"​ຍົກ​ເລີກ"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ຕົກລົງ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ການ​ຕັ້ງ​ຜູ້​ໃຊ້​ບໍ່​ສຳ​ເລັດ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"​​ຜູ່​ໃຊ້​ອຸ​ປະ​ກອນ​ບ່ອນ​ເຮັດ​ວຽກ"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"ຕັ້ງຄ່າອຸປະກອນບ່ອນເຮັດວຽກ"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"ກຳ​ລັງ​ປະ​ມວນ​ຜົນ​ຂໍ້​ມູນ​ການ​ຕັ້ງ​ຄ່າ..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ກຳ​ລັງ​ເຊື່ອມ​ຕໍ່​ກັ​ບ Wi-Fi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"ກຳ​ລັງ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ້ຄວບ​ຄຸມ​ລະ​ບົບ..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"ກຳ​ລັງ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ້​ຄວບ​ຄຸມ​ລະ​ບົບ..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"ອຸປະກອນຂອງທ່ານບໍ່ຮອງຮັບການເຂົ້າລະຫັດ. ໃຫ້ຕິດຕໍ່ພະແນກໄອທີຂອງທ່ານ."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ຢຸດການຕັ້ງ ແລະລຶບຂໍ້ມູນຂອງອຸປະກອນຂອງທ່ານບໍ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"​ຍົກ​ເລີກ"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ຕົກລົງ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ຣີເຊັດ"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"​ບໍ່​ສາ​ມາດ​ຕັ້ງ​ຄ່າ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ໄດ້. ໃຫ້​ຕິດ​ຕໍ່​​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"​ອຸ​ປະ​ກອນ​ນີ້​ຖືກ​ຕັ້ງ​ຄ່າ​ໄວ້​ແລ້ວ."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ບໍ່​ສາ​ມາດ​ເຊື່ອມ​ຕໍ່ Wi-Fi ໄດ້"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ອຸປະກອນ​ນີ້​ຖືກ​ລັອກ​ໂດຍ​ການ​ປ້ອງ​ກັນ​ການ​ຕັ້ງ​ຄ່າ​ໃໝ່​ຈາກ​ໂຮງງານ. ​ໃຫ້​ຕິດ​ຕໍ່​ຫາ​ພະ​ແນ​ກ​ໄອ​ທີ​ຂອງ​ທ່ານ."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ກຳລັງລຶບ"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ກະລຸນາລໍຖ້າ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ບໍ່​ສາ​ມາດ​​ໃຊ້​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້​ເນື່ອງ​ຈາກ checksum ຜິດ​ພາດ. ໃຫ້​ຕິດ​ຕໍ່​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ບໍ່​ສາ​ມາດ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ບໍ່​ສາ​ມາດ​ໃຊ້​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້. ມັນ​ຂາດ​ອົງ​ປະ​ກອບທີ່​ຕ້ອງ​ໃຊ້ ຫຼື​​ໄຟລ໌​ມີ​ບັນ​ຫາ. ໃຫ້​ຕິດ​ຕໍ່​ພະ​ແນກ​ຂອງ​ທ່ານ."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ບໍ່​ສາ​ມາດ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ຢຸດ​ການ​ຕິດ​ຕັ້ງ​ຫຼື​ບໍ່?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ບໍ່"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"​ແມ່ນ​ແລ້ວ"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ກຳລັງຍົກເລີກ..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ຢຸດ​ການ​ຕັ້ງ​ຄ່າ​ໂປ​ຣ​ໄຟ​ລ໌​ບໍ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"ທ່ານ​ສາ​ມາດ​ຕັ້ງ​ໂປ​ຣ​ໄຟ​ລ໌​ເຄືອ​ຂ່າຍ​ຂອງ​ທ່ານ​ໄດ້​ພາຍ​ຫຼັງ​ຈາກ​ແອັບຯ​ການ​ຈັດ​ການ​ອຸ​ປະ​ກອນ​ທີ່​ອົງ​ການ​ຂອງ​ທ່ານ​ໃຊ້."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ດຳເນີນການຕໍ່"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ຢຸດ"</string>
-    <string name="provisioning" msgid="4512493827019163451">"ກຳ​ລັງ​ຈັດ​ການ"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"ການ​ຕັ້ງ​ໃບ​ຢັ້ງ​ຢືນ CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ຕັ້ງ​​ຄ່າອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ເລີ່ມ​ການ​ຕັ້ງ​ຄ່າ"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"ຕັ້ງ​​ຄ່າໂປ​ຣ​ໄຟ​ລ໌ຂອງ​ທ່ານ. ການ​ເຂົ້າ​ລະ​ຫັດ"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"ຕັ້ງ​ຄ່າ​ການ​ໂປ​ຣ​ໄຟ​ລ໌​ຂອງ​ທ່ານ. ສະ​ແດງ​ຄວາມ​ຄືບ​ໜ້າ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ຕັ້ງ​​ຄ່າອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ເລີ່ມ​ການ​ຕັ້ງ​ຄ່າ"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"ຕັ້ງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ການ​ເຂົ້າ​ລະ​ຫັດ"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"ຕັ້ງ​ຄ່າ​ການ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ສະ​ແດງ​ຄວາມ​ຄືບ​ໜ້າ"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"ປຸ່ມຮຽນຮູ້ເພີ່ມ​ເຕີມ"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"ໄອ​ຄອນ <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ສິ້ນສຸດການຕັ້ງຄ່າ ແລະ ຣີເຊັດເປັນຄ່າໂຮງງານບໍ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ການສິ້ນສຸດການຕັ້ງຄ່ານີ້ຈະຣີເຊັດອຸປະກອນຂອງທ່ານໃຫ້ເປັນຄ່າຈາກໂຮງງານ ແລະ ຈະພາທ່ານໄປສູ່ໜ້າຈໍທຳອິດ."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ຍົກເລີກ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ຣີເຊັດອຸປະກອນ"</string>
-</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
new file mode 100644
index 0000000..99ee154
--- /dev/null
+++ b/res/values-lo/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"ຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ອຸຍ!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"ຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ອົງ​ກອນ​ຂອງ​ທ່ານ​ຄວບ​ຄຸມໂປຣ​ໄຟລ໌​ນີ້​ ແລະ​​ເຮັດ​ໃຫ້​ມັນ​ປອດ​ໄພ. ຢ່າງ​ອື່ນໆ​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ແມ່ນ​ທ່ານ​​ເປັນ​ຜູ່ຄວບ​ຄຸມ​."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"ອົງ​ການ​ຂອງ​ທ່ານ​ຈະ​ຄວບ​ຄຸມ​ອຸ​ປະ​ກອນ​ນີ້ ແລະ ຮັກ​ສາ​ໃຫ້​ມັນ​ປອດ​ໄພ."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ແອັບຯ​ຕໍ່​ໄປ​ນີ້​ຈະຕ້ອງ​ການ​ເຂົ້າ​ເຖິງ​ໂປຣ​ໄຟລ໌​ນີ້:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ແອັບຯ​ຕໍ່​ໄປ​ນີ້​ຈະຄຸ້ມ​ຄອງ​ອຸ​ປະ​ກອນ:"</string>
+    <string name="next" msgid="1004321437324424398">"ຕໍ່ໄປ"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​​ໂປ​ຣ​ໄຟ​ລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມ ແລະ ຈັດການການຕັ້ງຄ່າ, ການເຂົ້າເຖິງຂອງອົງກອນ, ແອັບ, ສິດອະນຸຍາດ ແລະ ຂໍ້ມູນທີ່ເຊື່ອມໂຍງກັບໂປຣໄຟລ໌ນີ້ ຮວມທັງການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ຮວມທັງນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງອົງກອນທ່ານນຳ."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານມີຄວາມສາມາດໃນການຕິດຕາມ ແລະ ຈັດການການຕັ້ງຄ່າ, ການເຂົ້າເຖິງຂອງອົງກອນ, ແອັບ, ສິດອະນຸຍາດ ແລະ ຂໍ້ມູນທີ່ເຊື່ອມໂຍງກັບອຸປະກອນນີ້ ຮວມທັງການເຄື່ອນໄຫວໃນເຄືອຂ່າຍຂອງທ່ານ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ຮວມທັງນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງອົງກອນທ່ານນຳ."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ເພື່ອໃຊ້ຄຸນສົມບັດປ້ອງກັນໂຈນ, ທ່ານຕ້ອງເປີດໃຊ້ໜ້າຈໍລັອກແບບໃຊ້ລະຫັດຜ່ານໃນອຸປະກອນຂອງທ່ານກ່ອນ."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ຮວມໄປເຖິງນະໂຍບາຍຄວາມເປັນສ່ວນໂຕຂອງອົງກອນຂອງທ່ານ."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ສຶກ​ສາ​ເພີ່ມ​ເຕີມ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"​ຍົກ​ເລີກ"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ຕົກລົງ"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ຂ້ອຍ​ຍິນຍອມ"</string>
+    <string name="url_error" msgid="5958494012986243186">"This link cannot be displayed."</string>
+    <string name="terms" msgid="8295436105384703903">"ຂໍ້ກຳນົດ"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ຂໍ້ມູນໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"ຂໍ້ມູນອຸປະກອນທີ່ມີການຈັດການ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ຜູ້​ໃຊ້​ຕົ້ນ​ຕໍ"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ລຶບໂປຣໄຟລ໌ທີ່ມີຢູ່ແລ້ວອອກບໍ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"ທ່ານມີໂປຣໄຟລ໌ບ່ອນເຮັດວຽກທີ່ຖືກຈັດການໂດຍແອັບຕໍ່ໄປນີ້ຢູ່ກ່ອນແລ້ວ:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"ກ່ອນດຳເນີນການ, "<a href="#read_this_link">"ໃຫ້ອ່ານ"</a>" ນີ້."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ຫາກທ່ານດຳເນີນການຕໍ່, ແອັບ ແລະ ຂໍ້ມູນທັງໝົດໃນໂປຣໄຟລ໌ນີ້ຈະຖືກລຶບອອກໄປ."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"​ລຶບ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"​ຍົກ​ເລີກ"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"ເພື່ອຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ, ອຸປະກອນຂອງທ່ານຈະຕ້ອງເຂົ້າລະຫັດກ່ອນ. ຂັ້ນຕອນນີ້ຈະໃຊ້ເວລາປະມານໜຶ່ງ."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ເພື່ອຕັ້ງຄ່າອຸປະກອນນີ້, ມັນຈະຕ້ອງຖືກເຂົ້າລະຫັດກ່ອນ. ຂັ້ນຕອນນີ້ຈະໃຊ້ເວລາປະມານໜຶ່ງ."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ເຂົ້າລະຫັດອຸປະກອນນີ້ບໍ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"ເຂົ້າລະຫັດ"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ການ​ເຂົ້າ​ລະ​ຫັດ​ສຳ​ເລັດ​ແລ້ວ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ແຕະເພື່ອສືບຕໍ່ການຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ບໍ່​ສາ​ມາດ​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ໄດ້. ກະ​ລຸ​ນາ​ຕິດ​ຕໍ່​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ ຫຼື​ລອງ​ໃໝ່​ໃນ​ພາຍຫຼັງ."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"ບໍ່ສາມາດເພີ່ມໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ຜູ້ໃຊ້ນີ້ບໍ່ສາມາດມີໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ຜູ້ໃຊ້ນີ້ບໍ່ສາມາດມີໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້. ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"ບໍ່​ສາ​ມາດ​ຕັ້ງ​ໂປ​ຣ​ໄຟ​ລ໌​ວຽກ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ​ທີ່​ຄຸ້ມ​ຄອງ​ແລ້ວ​ໄດ້"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ມີຜູ້ໃຊ້ໃນອຸປະກອນນີ້ຫຼາຍເກີນໄປ. ໃຫ້ລຶບຜູ້ໃຊ້ຄົນໃດຄົນໜຶ່ງອອກແລ້ວລອງໃໝ່."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ປ່ຽນຕົວເປີດອຸປະກອນ"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"ແອັບຕົວເປີດນີ້ບໍ່ສາມາດໃຊ້ໄດ້ໂດຍໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"​ຍົກ​ເລີກ"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ຕົກລົງ"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ການ​ຕັ້ງ​ຜູ້​ໃຊ້​ບໍ່​ສຳ​ເລັດ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"​​ຜູ່​ໃຊ້​ອຸ​ປະ​ກອນ​ບ່ອນ​ເຮັດ​ວຽກ"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"ຕັ້ງຄ່າອຸປະກອນບ່ອນເຮັດວຽກ"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"ກຳ​ລັງ​ປະ​ມວນ​ຜົນ​ຂໍ້​ມູນ​ການ​ຕັ້ງ​ຄ່າ..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ກຳ​ລັງ​ເຊື່ອມ​ຕໍ່​ກັ​ບ Wi-Fi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"ກຳ​ລັງ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ້ຄວບ​ຄຸມ​ລະ​ບົບ..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"ກຳ​ລັງ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ້​ຄວບ​ຄຸມ​ລະ​ບົບ..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"ກຳລັງລຶບແອັບລະບົບທີ່ບໍ່ຕ້ອງໃຊ້ອອກ…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"ກຳລັງດຳເນີນຂັ້ນຕອນສຸດທ້າຍ…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ກຳລັງເລີ່ມຕົ້ນອຸປະກອນ…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ອຸປະກອນນີ້ບໍ່ອະນຸຍາດໃຫ້ເຂົ້າລະຫັດ, ເຊິ່ງຈຳເປັນຕ້ອງໃຊ້ສຳລັບການຕັ້ງຄ່າ. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"ຢຸດການຕັ້ງຄ່າ ແລ້ວຣີເຊັດອຸປະກອນບໍ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ນີ້ຈະເປັນການຣີເຊັດອຸປະກອນຂອງທ່ານ ແລະ ພາທ່ານໄປໜ້າຈໍຫຼັກ"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ຢຸດການຕັ້ງ ແລະລຶບຂໍ້ມູນຂອງອຸປະກອນຂອງທ່ານບໍ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"​ຍົກ​ເລີກ"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ຕົກລົງ"</string>
+    <string name="reset" msgid="6467204151306265796">"ຣີເຊັດ"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ບໍ່ສາມາດຕັ້ງຄ່າໂປຣໄຟລ໌ໄດ້"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ບໍ່ສາມາດຕັ້ງຄ່າອຸປະກອນໄດ້"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ບໍ່ສາມາດຕັ້ງຄ່າອຸປະກອນໄດ້. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານສຳລັບຄວາມຊ່ວຍເຫຼືອ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ອຸປະກອນຖືກຕັ້ງຄ່າມາກ່ອນແລ້ວ."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ບໍ່​ສາ​ມາດ​ເຊື່ອມ​ຕໍ່ Wi-Fi ໄດ້"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ອຸປະກອນຂອງທ່ານມີການເປີດໃຊ້ການປ້ອງກັນການຣີເຊັດ. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ກຳລັງລຶບ"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ກະລຸນາລໍຖ້າ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ບໍ່ສາມາດໃຊ້ແອັບຜູ້ເບິ່ງແຍງລະບົບເນື່ອງຈາກ checksum ຜິດພາດ. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ບໍ່​ສາ​ມາດ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"ບໍ່ສາມາດໃຊ້ແອັບຜູ້ເບິ່ງແຍງລະບົບເນື່ອງຈາກມັນບໍ່ມີອົງປະກອບບາງຢ່າງ ຫຼື ອົງປະກອບເສຍຫາຍ. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ບໍ່​ສາ​ມາດ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ຢຸດ​ການ​ຕິດ​ຕັ້ງ​ຫຼື​ບໍ່?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ບໍ່"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"​ແມ່ນ​ແລ້ວ"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ກຳລັງຍົກເລີກ..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ຢຸດ​ການ​ຕັ້ງ​ຄ່າ​ໂປ​ຣ​ໄຟ​ລ໌​ບໍ?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"ທ່ານສາມາດຕັ້ງຄ່າໂປຣໄຟລ໌ຂອງທ່ານໄດ້ໃນພາຍຫຼັງໃນແອັບການຈັດການອຸປະກອນຂອງອົງກອນທ່ານ"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ດຳເນີນການຕໍ່"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ຢຸດ"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ປິດໄວ້"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"ທ່ານກຳລັງຈະສ້າງໂປຣໄຟລ໌ບ່ອນເຮັດວຽກທີ່ຖືກຈັດການ ແລະ ຕິດຕາມໂດຍອົງກອນຂອງທ່ານ. ມີຂໍ້ກຳນົດຕ່າງໆ."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"ທ່ານກຳລັງຈະສ້າງໂປຣໄຟລ໌ບ່ອນເຮັດວຽກທີ່ຖືກຈັດການ ແລະ ຕິດຕາມໂດຍອົງກອນຂອງທ່ານ. ມີການນຳໃຊ້ຂໍ້ກຳນົດຈາກ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"ລະບົບຈະສ້າງໂປຣໄຟລ໌ສຳລັບແອັບບ່ອນເຮັດວຽກຂອງທ່ານ. ໂປຣໄຟລ໌ນີ້ ແລະ ສ່ວນທີ່ເຫຼືອຂອງອຸປະກອນທ່ານຈະຖືກຈັດການ ແລະ ຕິດຕາມໂດຍອົງກອນຂອງທ່ານ. ມີຂໍ້ກຳນົດຕ່າງໆ."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"ລະບົບຈະສ້າງໂປຣໄຟລ໌ສຳລັບແອັບບ່ອນເຮັດວຽກຂອງທ່ານ. ໂປຣໄຟລ໌ນີ້ ແລະ ສ່ວນທີ່ເຫຼືອຂອງອຸປະກອນທ່ານຈະຖືກຈັດການ ແລະ ຕິດຕາມໂດຍອົງກອນຂອງທ່ານ. ມີການນຳໃຊ້ຂໍ້ກຳນົດຈາກ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ອຸປະກອນນີ້ຈະຖືກຈັດການ ແລະ ຮັກສາຄວາມປອດໄພໂດຍ <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. ມີຂໍ້ກຳນົດນຳໃຊ້. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ອຸປະກອນນີ້ຈະຖືກຈັດການ ແລະ ຮັກສາຄວາມປອດໄພໂດຍ <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. ມີຂໍ້ກຳນົດຈາກ <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> ນຳ. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ລິ້ງນີ້ບໍ່ປອດໄພ ແລະ ບໍ່ສາມາດເປີດໄດ້ຈົນກວ່າຈະຕັ້ງຄ່າອຸປະກອນແລ້ວໆ: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ຫາກທ່ານມີຄຳຖາມ, ໃຫ້ຕິດຕໍ່ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ຂອງທ່ານ."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ຫາກທ່ານມີຄຳຖາມ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບອົງກອນຂອງທ່ານ"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ຕັ້ງຄ່າຍັງບໍ່ແລ້ວເທື່ອ. ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງຂອງທ່ານ."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"ສຳລັບຄວາມຊ່ວຍເຫຼືອ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ຜູ້ເບິ່ງແຍງລະບົບອົງກອນ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ຈະຈັດການ ແລະ ຕິດຕາມອຸປະກອນນີ້ໂດຍໃຊ້ແອັບຕໍ່ໄປນີ້:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"ອົງກອນຂອງທ່ານ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ອົງກອນຂອງທ່ານ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"ເບິ່ງຂໍ້ກຳນົດ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ຍອມຮັບ ແລະ ດຳເນີນການຕໍ່"</string>
+    <string name="close" msgid="7208600934846389439">"ປິດ"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"ຕັ້ງຄ່າອຸປະກອນຂອງທ່ານ"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Change the way you work"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separate work from personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ບ່ອນດຽວສຳລັບແອັບເຮັດວຽກ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ປິດວຽກເມື່ອທ່ານເຮັດແລ້ວໆ"</string>
+    <string name="provisioning" msgid="4512493827019163451">"ກຳ​ລັງ​ຈັດ​ການ"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"ການ​ຕັ້ງ​ໃບ​ຢັ້ງ​ຢືນ CA"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"ຕັ້ງຄ່າໂປຣໄຟລ໌ຂອງທ່ານ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ໂດຍການນຳໃຊ້ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ທ່ານຈະສາມາດແຍກຂໍ້ມູນບ່ອນເຮັດວຽກອອກຈາກຂໍ້ມູນສ່ວນຕົວໄດ້"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"ໂດຍການນຳໃຊ້ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ທ່ານຈະສາມາດເກັບແອັບບ່ອນເຮັດວຽກຂອງທ່ານໄວ້ບ່ອນດຽວໄດ້"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"ຕັ້ງ​​ຄ່າໂປ​ຣ​ໄຟ​ລ໌ຂອງ​ທ່ານ. ການ​ເຂົ້າ​ລະ​ຫັດ"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"ຕັ້ງ​ຄ່າ​ການ​ໂປ​ຣ​ໄຟ​ລ໌​ຂອງ​ທ່ານ. ສະ​ແດງ​ຄວາມ​ຄືບ​ໜ້າ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ຕັ້ງ​ຄ່າ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"ຕັ້ງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ການ​ເຂົ້າ​ລະ​ຫັດ"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"ຕັ້ງ​ຄ່າ​ການ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ສະ​ແດງ​ຄວາມ​ຄືບ​ໜ້າ"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"ປຸ່ມຮຽນຮູ້ເພີ່ມ​ເຕີມ"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"ໄອ​ຄອນ <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ສ່ວນຫົວພາກສ່ວນ."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ເນື້ອຫາພາກສ່ວນ: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ຂະຫຍາຍ"</string>
+    <string name="collapse" msgid="7817530505064432580">"ຫຍໍ້ເຂົ້າ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ເຂົ້າເຖິງລາຍຊື່ຂອງລິ້ງ"</string>
+    <string name="access_links" msgid="7991363727326168600">"ເຂົ້າເຖິງລິ້ງ"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ເຂົ້າເຖິງຂໍ້ກຳນົດ"</string>
+    <string name="read_terms" msgid="1745011123626640728">"ອ່ານຂໍ້ກໍານົດ"</string>
+    <string name="close_list" msgid="9053538299788717597">"ປິດລາຍຊື່"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ສິ້ນສຸດການຕັ້ງຄ່າ ແລະ ຣີເຊັດເປັນຄ່າໂຮງງານບໍ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ການສິ້ນສຸດການຕັ້ງຄ່ານີ້ຈະຣີເຊັດອຸປະກອນຂອງທ່ານໃຫ້ເປັນຄ່າຈາກໂຮງງານ ແລະ ຈະພາທ່ານໄປສູ່ໜ້າຈໍທຳອິດ."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ຍົກເລີກ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ຣີເຊັດອຸປະກອນ"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ແລະ <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ແລະ <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 89d25a6..dcfc04b 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Ši programa tvarkys jūsų įrenginį:"</string>
     <string name="next" msgid="1004321437324424398">"Kitas"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Nustatomas darbo profilis..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės duomenų pasiekiamumo parinktis, programas, leidimus ir su profiliu susietus duomenis, įskaitant tinklo veiklą, įrenginio vietovės informaciją, skambučių istoriją ir kontaktų paieškos istoriją."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės duomenų pasiekiamumo parinktis, programas, leidimus, apsaugos nuo vagystės funkcijas ir su šiuo įrenginiu susietus duomenis, įskaitant tinklo veiklą ir įrenginio vietovės informaciją."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės prieigą, programas, leidimus ir su šiuo profiliu susijusius duomenis, įskaitant tinklo veiklą ir įrenginio vietą, skambučių istoriją ir kontaktų paieškos istoriją.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Daugiau informacijos, įskaitant organizacijos privatumo politiką, galite gauti susisiekę su administratoriumi."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės prieigą, programas, leidimus ir su šiuo įrenginiu susijusius duomenis, įskaitant tinklo veiklą ir įrenginio vietovę, skambučių istoriją ir kontaktų paieškos istoriją.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Daugiau informacijos, įskaitant organizacijos privatumo politiką, galite gauti susisiekę su administratoriumi."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Kad galėtumėte naudoti apsaugos nuo vagystės funkcijas, turite nustatyti slaptažodžiu apsaugotą įrenginio ekrano užraktą."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Susisiekite su administratoriumi, jei reikia daugiau informacijos, įskaitant organizacijos privatumo politiką."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Sužinokite daugiau"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Atšaukti"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Gerai"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Aš sutinku"</string>
+    <string name="url_error" msgid="5958494012986243186">"Šios nuorodos negalima pateikti."</string>
+    <string name="terms" msgid="8295436105384703903">"Sąlygos"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Darbo profilio informacija"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Tvarkoma įrenginio informacija"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Darbo profilis"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Pagrindinis naudotojas"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Pašalinti darbo profilį?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Darbo profilis jau yra ir jį tvarko:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Šis darbo profilis tvarkomas %s naudojant:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Ištrinti esamą profilį?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Jau turite darbo profilį, kuris tvarkomas naudojant toliau nurodytą programą."</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Prieš tęsdami "<a href="#read_this_link">"perskaitykite tai"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jei tęsite, bus ištrintos visi šio profilio duomenys ir programos."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Ištrinti"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Atšaukti"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Jei norite tęsti darbo profilio sąranką, turite šifruoti įrenginį. Tai gali šiek tiek užtrukti."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Kad galėtumėte tęsti įrenginio sąranką, turėsite jį šifruoti. Tai gali šiek tiek užtrukti."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifruoti"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Kad būtų galima nustatyti darbo profilį, įrenginys turi būti šifruotas. Tai gali šiek tiek užtrukti."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Kad būtų galima nustatyti šį įrenginį, jis pirmiausia turi būti šifruotas. Tai gali šiek tiek užtrukti."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Šifr. šį įrenginį?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifruoti"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifruotė baigta"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Palieskite, kad galėtumėte tęsti darbo profilio sąranką"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nepavyko nustatyti jūsų darbo profilio. Susisiekite su IT skyriumi arba vėliau bandykite dar kartą."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Įrenginys nepalaiko darbo profilių"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Šis naudotojas negali turėti darbo profilio"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Negalima pridėti darbo profilio"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Šis naudotojas negali turėti darbo profilio. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Šis naudotojas negali turėti darbo profilių. Susisiekite su administratoriumi."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Darbo profilių negalima nustatyti tvarkomame įrenginyje"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Negalima sukurti darbo profilio, nes pasiekėte maksimalų naudotojų skaičių įrenginyje. Pašalinkite bent vieną naudotoją ir bandykite dar kartą."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ši paleidimo priemonės programa nepalaiko darbo profilio. Reikės naudoti suderinamą paleidimo priemonę."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Šiame įrenginyje yra per daug naudotojų. Pašalinkite naudotoją, tada bandykite dar kartą."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Pakeiskite įrenginio paleidimo priemonę"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Šios paleidimo priemonės programos negalima naudoti darbo profilyje"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Atšaukti"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Gerai"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Naudotojo sąranka nebaigta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Prisijungiama prie „Wi-Fi“..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Atsisiunčiama administratoriaus programa..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Diegiama administratoriaus programa..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Šalinamos nebūtinos sistemos programos…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Baigiama…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Nustatomas įrenginio savininkas..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Jūsų įrenginyje nepalaikoma šifruotė. Susisiekite su IT skyriumi."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicijuojamas įrenginys…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Šiame įrenginyje neleidžiama naudoti šifruotės, kuri reikalinga atliekant sąranką. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Sustabdyti sąranką ir atkurti įrenginio gamyklinius nustatymus?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Tai atlikus bus atkurti gamykliniai įrenginio duomenys ir jūs būsite nukreipti į pirmąjį ekraną"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Stabdyti įrenginio duomenų nustatymą ir trynimą?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Atšaukti"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Gerai"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Nustatyti iš naujo"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nepavyko nustatyti įrenginio. Susisiekite su IT skyriumi."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Šis įrenginys jau nustatytas."</string>
+    <string name="reset" msgid="6467204151306265796">"Nustatyti iš naujo"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Negalima nustatyti profilio"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Negalima nustatyti įrenginio"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Nepavyko nustatyti įrenginio. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Jei reikia pagalbos, susisiekite su administratoriumi"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Įrenginys jau nustatytas"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nepavyko prisijungti prie „Wi-Fi“"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Šis įrenginys užrakintas taikant gamyklinių nustatymų apsaugą. Susisiekite su IT skyriumi."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Įrenginyje išjungta gamyklinių duomenų atkūrimo apsauga. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Ištrinama"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Palaukite..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nepavyko naudoti administratoriaus programos dėl kontrolinės sumos klaidos. Susisiekite su IT skyriumi."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Nepavyko naudoti administratoriaus programos dėl kontrolinės sumos klaidos. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nepavyko atsisiųsti administratoriaus programos"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Negalima naudoti administratoriaus programos. Trūksta jos komponentų arba ji sugadinta. Susisiekite su IT skyriumi."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Negalima naudoti administratoriaus programos. Trūksta jos komponentų arba ji sugadinta. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nepavyko įdiegti administratoriaus programos"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Stabdyti sąranką?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Taip"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Atšaukiama…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Stabdyti profilio sąranką?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Galėsite vėliau nustatyti darbo profilį naudodami organizacijos naudojamą įrenginio tvarkymo programą."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Tęsti"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Galėsite vėliau nustatyti darbo profilį naudodami organizacijos įrenginio tvarkymo programą"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Tęsti"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Sustabdyti"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Atsisakyti"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Ketinate sukurti darbo profilį, kurį tvarkys ir stebės jūsų organizacija. Bus taikomos sąlygos."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Ketinate sukurti darbo profilį, kurį tvarkys ir stebės jūsų organizacija. Bus taikomos <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sąlygos."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Bus sukurtas jūsų darbo programoms skirtas profilis. Šį profilį ir kitus įrenginio nustatymus tvarkys ir stebės jūsų organizacija. Bus taikomos sąlygos."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Bus sukurtas jūsų darbo programoms skirtas profilis. Šį profilį ir kitus įrenginio nustatymus tvarkys ir stebės jūsų organizacija. Bus taikomos <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sąlygos."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tvarkys šį įrenginį ir rūpinsis jo sauga. Bus taikomos sąlygos. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tvarkys šį įrenginį ir rūpinsis jo sauga. Bus taikomos <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> sąlygos. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ši nuoroda nėra saugi ir jos negalima atidaryti, kol įrenginio sąranka nebus baigta: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Jei kyla klausimų, susisiekite su <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Jei kyla klausimų, susisiekite su organizacijos administratoriumi"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Sąranka nėra baigta. Jei reikia pagalbos, susisiekite su administratoriumi."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Jei reikia pagalbos, susisiekite su administratoriumi"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organizacijos administratoriumi"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tvarkys ir stebės šį įrenginį, naudodama toliau nurodytą programą."</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Jūsų organizacija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"jūsų organizacija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Peržiūrėti sąlygas"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Sutikti ir tęsti"</string>
+    <string name="close" msgid="7208600934846389439">"Uždaryti"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Įrenginio sąranka"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Pakeiskite darbo būdą"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Atskirkite darbo duomenis nuo asmeninių"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Darbo programos vienoje vietoje"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Baigus išjungti darbą"</string>
     <string name="provisioning" msgid="4512493827019163451">"Aprūpinama"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Nustatomi CA sertifikatai"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Nustatykite profilį. Pradėti sąranką"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Nustatykite profilį"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Naudodami darbo profilį galite atskirti darbo duomenis nuo asmeninių."</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Naudodami darbo profilį galite vienoje vietoje laikyti darbo programas"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Nustatykite profilį. Šifruotė"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Nustatykite profilį. Rodoma eiga"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Nustatykite įrenginį. Pradėti sąranką"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nustatykite įrenginį"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Nustatykite įrenginį. Šifruotė"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Nustatykite įrenginį. Rodoma eiga"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Mygtukas „Sužinokite daugiau“"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> piktograma"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Skilties „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“ antraštė."</string>
+    <string name="section_content" msgid="8875502515704374394">"Skilties „<xliff:g id="SECTION_HEADING">%1$s</xliff:g>“ turinys: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Išskleisti"</string>
+    <string name="collapse" msgid="7817530505064432580">"Sutraukti"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Pasiekite nuorodų sąrašą"</string>
+    <string name="access_links" msgid="7991363727326168600">"Pasiekite nuorodas"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Pasiekite sąlygas"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Skaityti sąlygas"</string>
+    <string name="close_list" msgid="9053538299788717597">"Uždaryti sąrašą"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Užbaigti sąranką ir atkurti gamykl. duomenis?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Užbaigus šią sąranką bus atkurti gamykliniai įrenginio duomenys ir jūs būsite nukreipti į pirmąjį ekraną."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Atšaukti"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Iš naujo nustatyti įrenginį"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ir <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ir <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index a5240b4..71a72be 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Šī lietotne pārvaldīs jūsu ierīci:"</string>
     <string name="next" msgid="1004321437324424398">"Tālāk"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Notiek darba profila iestatīšana..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Jūsu administrators var pārraudzīt un pārvaldīt iestatījumus, piekļuvi uzņēmumā, lietotnes, atļaujas un datus, kas ir saistīti ar šo profilu, tostarp tīklā veiktās darbības, kā arī informāciju par jūsu ierīces atrašanās vietu, zvanu vēsturi un kontaktpersonu meklēšanas vēsturi."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Jūsu administrators var pārraudzīt un pārvaldīt iestatījumus, piekļuvi uzņēmumā, lietotnes, atļaujas, zādzību novēršanas funkcijas un datus, kas ir saistīti ar šo ierīci, tostarp tīklā veiktās darbības un informāciju par jūsu ierīces atrašanās vietu."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrators var pārraudzīt un pārvaldīt iestatījumus, korporatīvo piekļuvi, lietotnes, atļaujas un profila datus, tostarp aktivitāti tīklā, kā arī informāciju par ierīces atrašanās vietu, zvanu vēsturi un kontaktu meklēšanas vēsturi.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Lai iegūtu plašāku informāciju, tostarp uzzinātu par organizācijas konfidencialitātes politikām, sazinieties ar administratoru."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrators var pārraudzīt un pārvaldīt iestatījumus, korporatīvo piekļuvi, lietotnes, atļaujas un ierīces datus, tostarp aktivitāti tīklā, kā arī informāciju par ierīces atrašanās vietu, zvanu vēsturi un kontaktu meklēšanas vēsturi.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Lai iegūtu plašāku informāciju, tostarp uzzinātu par organizācijas konfidencialitātes politikām, sazinieties ar administratoru."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Lai izmantotu zādzību novēršanas funkcijas, jūsu ierīcē ir jābūt iestatītai ar paroli aizsargātai ekrāna bloķēšanai."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Lai iegūtu plašāku informāciju, tostarp informāciju par uzņēmuma konfidencialitātes politikām, sazinieties ar administratoru."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Uzzināt vairāk"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Atcelt"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Labi"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Es piekrītu"</string>
+    <string name="url_error" msgid="5958494012986243186">"Šo saiti nevar attēlot."</string>
+    <string name="terms" msgid="8295436105384703903">"Noteikumi"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Darba profila informācija"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informācija par pārvaldīto ierīci"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Darba profils"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Galvenais lietotājs"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Vai noņemt darba profilu?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Darba profils jau pastāv, un to pārvalda:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Šis darba profils tiek pārvaldīts domēnā %s, izmantojot:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vai dzēst esošo profilu?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Jums jau ir darba profils, kas tiek pārvaldīts, izmantojot šo lietotni:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Pirms turpināt, "<a href="#read_this_link">"izlasiet šo informāciju"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ja turpināsiet, visas lietotnes un dati šajā profilā tiks izdzēstas."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Dzēst"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Atcelt"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Lai turpinātu darba profila iestatīšanu, jums ir jāšifrē sava ierīce. Tas var ilgt kādu laiku."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Lai turpinātu ierīces iestatīšanu, jums tā ir jāšifrē. Tas var ilgt kādu laiku."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifrēt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Lai iestatītu darba profilu, ierīcē jāiespējo šifrēšana. Tas var ilgt kādu laiku."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Lai iestatītu šo ierīci, tajā jāiespējo šifrēšana. Tas var ilgt kādu laiku."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Vai iespējot ierīcē šifrēšanu?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifrēt"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrēšana pabeigta"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Pieskarieties, lai turpinātu darba profila iestatīšanu."</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nevarēja iestatīt darba profilu. Sazinieties ar IT nodaļu vai vēlāk mēģiniet vēlreiz."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Jūsu ierīcē netiek atbalstīti darba profili"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Šis lietotājs nevar izmantot darba profilu."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Neizdevās pievienot darba profilu"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Šis lietotājs nevar izmantot darba profilu. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Šis lietotājs nevar izmantot darba profilu. Sazinieties ar administratoru."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Darba profilus nevar iestatīt pārvaldītā ierīcē."</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Darba profilu nevar izveidot, jo esat sasniedzis ierīces lietotāju maksimālo skaitu. Noņemiet vismaz vienu lietotāju un mēģiniet vēlreiz."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Šī palaišanas lietotne neatbalsta jūsu darba profilu. Jums jālieto saderīga palaišanas programma."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Ierīcei var būt pārāk daudz lietotāju. Noņemiet lietotāju un pēc tam mēģiniet vēlreiz."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Mainīt ierīces palaišanas programmu"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Šo palaišanas programmu nevar izmantot jūsu darba profilam."</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Atcelt"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Labi"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Lietotāja iestatīšana nav pilnīga"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Notiek savienojuma izveide ar Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Notiek administratora lietotnes lejupielāde…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Notiek administratora lietotnes instalēšana…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Nepieprasīto sistēmas lietotņu noņemšana…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Notiek iestatīšanas pabeigšana…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Notiek ierīces īpašnieka iestatīšana..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Jūsu ierīce neatbalsta šifrēšanu. Sazinieties ar IT nodaļu."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Notiek ierīces inicializēšana..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Šajā ierīcē nav atļauts izmantot šifrēšanu, kas ir nepieciešama iestatīšanai. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Vai pārtraukt iestatīšanu un atiestatīt ierīci?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Jūsu ierīce tiks atiestatīta un tiks atvērts sākuma ekrāns."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Vai pārtraukt iestatīšanu un izdzēst ierīces datus?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Atcelt"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Labi"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Atiestatīt"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nevarēja iestatīt ierīci. Sazinieties ar IT nodaļu."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Šī ierīce jau ir iestatīta."</string>
+    <string name="reset" msgid="6467204151306265796">"Atiestatīt"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Neizdevās iestatīt profilu"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Neizdevās iestatīt ierīci"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Neizdevās iestatīt ierīci. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Ierīce jau ir iestatīta."</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Neizdevās izveidot savienojumu ar Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Šī ierīce ir bloķēta, izmantojot rūpnīcas datu atiestatīšanas aizsardzību. Sazinieties ar IT nodaļu."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Jūsu ierīcē ir iespējota atiestatīšanas aizsardzība. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Notiek dzēšana"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Lūdzu, uzgaidiet…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nevarēja izmantot administratora lietotni kontrolsummas kļūdas dēļ. Sazinieties ar IT nodaļu."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Neizdevās izmantot administratora lietotni kontrolsummas kļūdas dēļ. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Neizdevās ielādēt administratora lietotni"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nevar izmantot administratora lietotni. Tajā trūkst komponentu, vai tā ir bojāta. Sazinieties ar IT nodaļu."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Nevar izmantot administratora lietotni. Tajā trūkst komponentu, vai tā ir bojāta. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Neizdevās instalēt administratora lietotni"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Vai apturēt iestatīšanu?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nē"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Jā"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Notiek atcelšana…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Vai pārtraukt profila iestatīšanu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Varat iestatīt darba profilu vēlāk no ierīces pārvaldības lietotnes, kas tiek izmantota jūsu organizācijā."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Turpināt"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Varat iestatīt darba profilu vēlāk no ierīces pārvaldības lietotnes, kas tiek izmantota jūsu organizācijā."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Turpināt"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Apturēt"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Nerādīt"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Tiks izveidots darba profils, ko pārvaldīs jūsu organizācija. Ir spēkā pakalpojuma lietošanas noteikumi."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Tiks izveidots darba profils, ko pārvaldīs jūsu organizācija. Ir spēkā <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> pakalpojuma sniegšanas noteikumi."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Tiks izveidots profils jūsu darba lietotnēm. Šo profilu un pārējos ierīces iestatījumus pārvaldīs jūsu organizācija. Ir spēkā pakalpojuma lietošanas noteikumi."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Tiks izveidots profils jūsu darba lietotnēm. Šo profilu un pārējos ierīces iestatījumus pārvaldīs jūsu organizācija. Ir spēkā <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> pakalpojuma lietošanas noteikumi."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Šo ierīci pārvaldīs un tās drošību uzturēs <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Ir spēkā pakalpojuma lietošanas noteikumi. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Šo ierīci pārvaldīs un tās drošību uzturēs <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Ir spēkā <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> pakalpojuma lietošanas noteikumi. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Šī saite nav droša, un to var atvērt tikai tad, kad ierīces iestatīšana ir pabeigta: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ja jums radās jautājumi, sazinieties ar <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ja jums radās jautājumi, sazinieties ar organizācijas administratoru."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Iestatīšana netika pabeigta. Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Lai saņemtu palīdzību, sazinieties ar administratoru."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organizācijas administrators"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> pārvaldīs ierīci, izmantojot šo lietotni:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Jūsu organizācija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"jūsu organizācija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Skatīt noteikumus"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Piekrist un turpināt"</string>
+    <string name="close" msgid="7208600934846389439">"Aizvērt"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Ierīces iestatīšana"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Mainiet strādāšanas veidu"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Nodaliet darba datus no personīgajiem datiem"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Darba lietotnes vienkopus"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Darba režīma izslēgšana"</string>
     <string name="provisioning" msgid="4512493827019163451">"Notiek nodrošināšana"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Notiek CA sertifikātu iestatīšana"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profila iestatīšana. Iestatīšanas sākšana"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Iestatiet savu profilu"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Izmantojot darba profilu, varat nodalīt darba datus no personīgajiem datiem."</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Izmantojot darba profilu, varat vienuviet piekļūt visām darbā izmantotajām lietotnēm."</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Profila iestatīšana. Šifrēšana"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Profila iestatīšana. Norises rādīšana"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Ierīces iestatīšana. Iestatīšanas sākšana"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Ierīces iestatīšana"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Ierīces iestatīšana. Šifrēšana"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Ierīces iestatīšana. Norises rādīšana"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Poga “Uzzināt vairāk”"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Sadaļas “<xliff:g id="SECTION_HEADING">%1$s</xliff:g>” virsraksts."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sadaļas “<xliff:g id="SECTION_HEADING">%1$s</xliff:g>” saturs: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Izvērst"</string>
+    <string name="collapse" msgid="7817530505064432580">"Sakļaut"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Piekļūt sarakstam ar saitēm"</string>
+    <string name="access_links" msgid="7991363727326168600">"Piekļūt saitēm"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Piekļūt noteikumiem"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lasīt noteikumus"</string>
+    <string name="close_list" msgid="9053538299788717597">"Aizvērt sarakstu"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Apturēt iestatīšanu un atiestatīt datus?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Apturot iestatīšanu, jūsu ierīcē tiks atiestatīti rūpnīcas dati un tiksiet novirzīts uz pirmo ekrānu."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Atcelt"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Atiestatīt ierīci"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> un <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> un <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
deleted file mode 100644
index 95a8b06..0000000
--- a/res/values-mk-rMK/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Поставување работен профил"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Оф леле!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Поставување работен профил"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Вашата организација го контролира профилот и го одржува безбеден. Вие контролирате сѐ останато на уредот."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Организацијата ќе го контролира уредот и ќе го чува безбеден."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Следнава апликација ќе треба да пристапува до профилот:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Следнава апликација ќе управува со уредот:"</string>
-    <string name="next" msgid="1004321437324424398">"Следно"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Се поставува работниот профил..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Администраторот може да ги следи и да управува со поставките, корпоративниот пристап, апликациите, дозволите и податоците поврзани со профилот, како и со мрежната активност, локацијата на уредот, историјата на повици и историјата на пребарување контакти."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Администраторот може да ги следи и да управува со поставките, корпоративниот пристап, апликациите, дозволите, карактеристиките за заштита од кражба и податоците поврзани со уредов, како и со мрежната активност и информациите за локацијата на уредот."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"За користење на карактеристиките за заштита од кражба, мора да имате поставено заклучување екран со лозинка за уредот."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Контактирајте со администраторот за повеќе информации, како и за политиките за приватност на организацијата."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Дознај повеќе"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Откажи"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Во ред"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Се согласувам"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Работен профил"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Примарен корисник"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Да се отстрани работниот профил?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Веќе постои работен профил и со него управува:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Овој работен профил е управуван за %s со користење на:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Пред да продолжите, "<a href="#read_this_link">"прочитајте го ова"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Доколку продолжите, сите апликации и податоци на профилот ќе се избришат."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Избриши"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"За да продолжите со поставување на работниот профил, ќе треба да го шифрирате уредот. Тоа може да потрае."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"За да продолжите со поставување на уредот, ќе треба да го шифрирате. Тоа може да потрае."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрирај"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрирањето е завршено"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Допрете за да продолжи поставувањето на работниот профил"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не можевме да го поставиме работниот профил. Контактирајте со одделот за ИТ или обидете се повторно подоцна."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Уредот не поддржува работни профили"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Корисников не може да има работен профил"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Работни профили не може да се поставуваат на управуван уред"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Не може да се создаде работен профил бидејќи го достигнавте максималниот број корисници на вашиот уред. Отстранете барем еден корисник и обидете се повторно."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Работниот профил не е поддржан од оваа апликација на стартерот. Ќе треба да се префрлите на стартер којшто е компатибилен."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Откажи"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Во ред"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Поставувањето корисник е нецелосно"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Корисник на работен уред"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Поставување работен уред"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Податоците за поставување се обработуваат..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Се поврзува на Wi-Fi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Администраторската апликација се презема..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Администраторската апликација се инсталира..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Се поставува сопственикот на уредот..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Уредот не поддржува шифрирање, Контактирајте со одделот IT."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Дали да се запре поставувањето и да се избришат податоците на уредот?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Откажи"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Во ред"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ресетирај"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Не можевме да го поставиме уредот. Контактирајте со одделот за ИТ."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Уредот е веќе поставен."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не можеше да се поврзе со Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Уредов е заклучен со заштита со фабричко ресетирање. Контактирајте со одделот за ИТ."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Се брише"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Почекајте..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Не можевме да ја користиме администраторската апликација поради грешка во контролната сума. Контактирајте со одделот за ИТ."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не можеше да се преземе апликацијата за администратор"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Не може да се користи администраторската апликација. Ѝ недостасуваат компоненти или е оштетена. Контактирајте со одделот за ИТ."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не можеше да се инсталира апликацијата за администратор"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Дали да се запре поставувањето?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Се откажува..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Сопри го поставувањето на профилот?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Работниот профил може да го поставите подоцна од апликацијата за управување со уредот што ја користи вашата организација."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Продолжи"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Сопри"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Се обезбедува"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Се поставуваат сертификатите ЦА"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Поставете го профилот. Започнете поставување"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Поставете го профилот. Шифрирање"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Поставете го профилот. Напредокот се прикажува"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Поставете го уредот. Започнете поставување"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Поставете го уредот. Шифрирање"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Поставете го уредот. Напредокот се прикажува"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Копче Дознај повеќе"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Икона за <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Отк. поставување и ресет. до фабр. поставки?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ако се откаже поставувањево, уредот ќе се ресетира до фабричките поставки и ќе се врати на првиот екран."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Откажи"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ресетирај го уредот"</string>
-</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
new file mode 100644
index 0000000..1de6eab
--- /dev/null
+++ b/res/values-mk/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Поставување работен профил"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Оф леле!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Поставување работен профил"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Вашата организација го контролира профилот и го одржува безбеден. Вие контролирате сѐ останато на уредот."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Организацијата ќе го контролира уредот и ќе го чува безбеден."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Следнава апликација ќе треба да пристапува до профилот:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Следнава апликација ќе управува со уредот:"</string>
+    <string name="next" msgid="1004321437324424398">"Следно"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Се поставува работниот профил..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Администраторот може да ги следи и да управува со поставките, корпоративниот пристап, апликациите, дозволите и податоците поврзани со профилот, како и со активноста на мрежата, локацијата на уредот, историјата на повици и историјата на пребарување контакти.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Контактирајте со администраторот за повеќе информации, како и за политиките за приватност на вашата организација."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Администраторот може да ги следи и да управува со поставките, корпоративниот пристап, апликациите, дозволите и податоците поврзани со уредот, како и со активноста на мрежата, локацијата на уредот, историјата на повици и историјата на пребарување контакти.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Контактирајте со администраторот за повеќе информации, како и за политиките за приватност на вашата организација."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"За користење на карактеристиките за заштита од кражба, мора да имате поставено заклучување екран со лозинка за уредот."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Контактирајте со администраторот за повеќе информации, како и за политиките за приватност на организацијата."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Дознај повеќе"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Откажи"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Во ред"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Се согласувам"</string>
+    <string name="url_error" msgid="5958494012986243186">"Линкот не може да се прикаже."</string>
+    <string name="terms" msgid="8295436105384703903">"Услови"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Информации за работен профил"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Информации за управуваниот уред"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Работен профил"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Примарен корисник"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Да се избрише постоечкиот профил?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Веќе имате работен профил со кој се управува со следната апликација:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Пред да продолжите, "<a href="#read_this_link">"прочитајте го ова"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Доколку продолжите, сите апликации и податоци на профилот ќе се избришат."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Избриши"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"За да се постави вашиот работен профил, уредот треба да се шифрира. Тоа може да потрае некое време."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"За да се постави, уредов прво треба да се шифрира. Тоа може да потрае некое време."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Да се шифр. уредот?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифрирај"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрирањето е завршено"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Допрете за да продолжи поставувањето на работниот профил"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не можевме да го поставиме работниот профил. Контактирајте со одделот за ИТ или обидете се повторно подоцна."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Не може да се додаде работен профил"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Корисников не може да има работен профил. За помош, контактирајте со вашиот администратор."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Корисников не може да има работни профили. Контактирајте со вашиот администратор."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Работни профили не може да се поставуваат на управуван уред"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Можно е да има премногу корисници на уредов. Отстранете некој корисник, па обидете се повторно."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Променете го стартерот на апликацијата"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Вашиот работен профил не може да ја користи оваа апликација на стартер"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Откажи"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Во ред"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Поставувањето корисник е нецелосно"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Корисник на работен уред"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Поставување работен уред"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Податоците за поставување се обработуваат..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Се поврзува на Wi-Fi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Администраторската апликација се презема..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Администраторската апликација се инсталира..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Отстранување непотребни системски апликации…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Додавање крајни финеси…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Се поставува сопственикот на уредот..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Уредот се иницијализира…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Уредов не дозволува шифрирање, што е потребно за поставување. За помош, контактирајте со вашиот администратор."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Да се сопре поставувањето и да се ресетира уредот?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Со ова уредот ќе се ресетира и ќе се врати на првиот екран"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Дали да се запре поставувањето и да се избришат податоците на уредот?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Откажи"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Во ред"</string>
+    <string name="reset" msgid="6467204151306265796">"Ресетирај"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Не може да се постави профил"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Не може да се постави уредот"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Не можеше да се постави уредот. За помош, контактирајте со вашиот администратор."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Контактирајте со вашиот администратор за помош"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Уредот е веќе поставен"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не можеше да се поврзе со Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"На вашиот уред е вклучена заштита од ресетирање. За помош, контактирајте со вашиот администратор."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Се брише"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Почекајте..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Не можеше да се користи апликацијата за администраторот поради грешка со контролна сума. За помош, контактирајте со вашиот администратор."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не можеше да се преземе апликацијата за администратор"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Не може да се користи апликацијата за администраторот. Или ѝ недостасуваат компоненти или е оштетена. За помош, контактирајте со вашиот администратор."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не можеше да се инсталира апликацијата за администратор"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Дали да се запре поставувањето?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Се откажува..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Сопри го поставувањето на профилот?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Вашиот работен профил може да го поставите подоцна во апликацијата за управување со уредот на вашата организација"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Продолжи"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Сопри"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Отфрли"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Ќе создадете работен профил што ќе го управува и следи вашата организацијата. Важат стандардните услови."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Ќе создадете работен профил што ќе го управува и следи вашата организацијата. Важат условите од <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Ќе се создаде профил за вашите апликации за работа. Профилот и остатокот од уредот ќе ги управува и следи вашата организација. Важат стандардните услови."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Ќе се создаде профил за вашите апликации за работа. Профилот и остатокот од уредот ќе ги управува и следи вашата организација. Важат условите од <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ќе управува со уредов и ќе го обезбедува. Важат стандардните услови. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ќе управува со уредов и ќе го обезбедува. Важат условите од <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Линков не е безбеден и не може да се отвори сѐ додека не заврши поставувањето на уредот: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ако имате прашања, контактирајте го вашиот <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ако имате прашања, контактирајте го администраторот во вашата организација"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Поставувањето не е завршено. За помош, контактирајте со вашиот администратор."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"За помош, контактирајте со вашиот администратор"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"администратор на организација"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ќе го управува и следи уредов со следната апликација:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Вашата организација"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"вашата организација"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Прикажи услови"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Прифати и продолжи"</string>
+    <string name="close" msgid="7208600934846389439">"Затвори"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Поставете го уредот"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Променете го начинот на кој работите"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Одделете ги службените од личните"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Едно место за работните апликации"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Исклучете ја работната кога ќе завршите"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Се обезбедува"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Се поставуваат сертификатите ЦА"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Поставете го вашиот профил"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ако користите работен профил, може да ги одделите работните од личните податоци"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ако користите работен профил, може да ги чувате апликациите за работа на едно место"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Поставете го профилот. Шифрирање"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Поставете го профилот. Напредокот се прикажува"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Поставете го уредот"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Поставете го уредот. Шифрирање"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Поставете го уредот. Напредокот се прикажува"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Копче Дознај повеќе"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Икона за <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Наслов на делот &amp;quot;<xliff:g id="SECTION_HEADING">%1$s</xliff:g>&amp;quot;."</string>
+    <string name="section_content" msgid="8875502515704374394">"Содржина на делот &amp;quot;<xliff:g id="SECTION_HEADING">%1$s</xliff:g>&amp;quot;: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Прошири"</string>
+    <string name="collapse" msgid="7817530505064432580">"Собери"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Пристапете до список со линкови"</string>
+    <string name="access_links" msgid="7991363727326168600">"Пристапете до линкови"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Пристапете до услови"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Прочитај ги условите"</string>
+    <string name="close_list" msgid="9053538299788717597">"Затвори го списокот"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Отк. поставување и ресет. до фабр. поставки?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ако се откаже поставувањево, уредот ќе се ресетира до фабричките поставки и ќе се врати на првиот екран."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Откажи"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ресетирај го уредот"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> и <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> и <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
deleted file mode 100644
index 7b4500c..0000000
--- a/res/values-ml-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കൽ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ക്ഷമിക്കണം!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുക"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"നിങ്ങളുടെ ഓർഗനൈസേഷൻ, ഈ പ്രൊഫൈൽ നിയന്ത്രിച്ച് അവ സുരക്ഷിതമായി സൂക്ഷിക്കുന്നു. ഉപകരണത്തിലെ മറ്റുള്ളവയെല്ലാം നിങ്ങൾക്ക് നിയന്ത്രിക്കാനാവും."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"നിങ്ങളുടെ സ്ഥാപനം, ഈ ഉപകരണം നിയന്ത്രിക്കുകയും സുരക്ഷിതമായി സൂക്ഷിക്കുകയും ചെയ്യും."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ഇനിപ്പറയുന്ന അപ്ലിക്കേഷന് ഈ പ്രൊഫൈൽ ആക്‌സസ്സുചെയ്യേണ്ടിവരും:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ഇനിപ്പറയുന്ന അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഉപകരണത്തെ നിയന്ത്രിക്കും:"</string>
-    <string name="next" msgid="1004321437324424398">"അടുത്തത്"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കുന്നു…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ആക്റ്റിവിറ്റി ഉൾപ്പെടെ ഈ പ്രൊഫൈലുമായി ബന്ധപ്പെട്ട ക്രമീകരണവും കോർപ്പറേറ്റ് ആക്‌സസും ആപ്സും അനുമതികളും വിവരങ്ങളും, കൂടാതെ ഉപകരണത്തിന്റെ ലൊക്കേഷനും കോൾ ചരിത്രവും കോൺടാക്റ്റ് തിരയൽ ചരിത്രവും നിരീക്ഷിക്കാനും മാനേജുചെയ്യാനും നിങ്ങളുടെ അഡ്‌മിന് കഴിയും."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"നെറ്റ്‌വർക്ക് ആക്ടിവിറ്റിയും ഉപകരണത്തിന്റെ ലൊക്കേഷൻ വിവരവും ഉൾപ്പെടെ, ഈ ഉപകരണവുമായി ബന്ധപ്പെട്ട ക്രമീകരണവും കോർപ്പറേറ്റ് ആക്‌സസും ആപ്സും അനുമതികളും മോഷണ പരിരക്ഷാ ഫീച്ചറുകളും വിവരങ്ങളും നിരീക്ഷിക്കാനും മാനേജുചെയ്യാനും നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് കഴിയും."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"മോഷണ പരിരക്ഷാ ഫീച്ചറുകൾ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ ഉപകരണത്തിൽ പാസ്‌വേഡ് കൊണ്ട് പരിരക്ഷിച്ചിട്ടുള്ള ഒരു സ്ക്രീൻ ലോക്ക് ഉണ്ടായിരിക്കണം."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ സ്വകാര്യതാ നയങ്ങൾ ഉൾപ്പെടെയുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്‌മിനിസ്‌ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"കൂടുതലറിയുക"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"റദ്ദാക്കുക"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ശരി"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ഞാൻ സമ്മതിക്കുന്നു"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"പ്രാഥമിക ഉപയോക്താവ്"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കംചെയ്യണോ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ഒരു ഔദ്യോഗിക പ്രൊഫൈൽ ഇതിനകം നിലവിലുണ്ട്, ഇത് നിയന്ത്രിക്കുന്നത്:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ഇതുപയോഗിക്കുന്ന %s എന്നതിനായാണ് ഈ ഔദ്യോഗിക പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"തുടരുന്നതിന് മുമ്പ്, "<a href="#read_this_link">"ഇത് വായിക്കുക"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"നിങ്ങൾ തുടരുകയാണെങ്കിൽ, ഈ പ്രൊഫൈലിലെ എല്ലാ ആപ്‌സും ഡാറ്റയും ഇല്ലാതാക്കും."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"ഇല്ലാതാക്കുക"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"റദ്ദാക്കുക"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ, നിങ്ങളുടെ ഉപകരണം എൻക്രിപ്റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുത്തേക്കാം."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുന്നത് തുടരാൻ, ഉപകരണം എൻക്രിപ്‌റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുക്കാം."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"എൻക്രിപ്‌റ്റുചെയ്യുക"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"എൻക്രി‌പ്‌റ്റുചെയ്യൽ പൂർത്തിയാക്കുക"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ ടാപ്പുചെയ്യുക"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"നിങ്ങളുടെ ഉപകരണം ഔദ്യോഗിക പ്രൊഫൈലുകളെ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ഈ ഉപയോക്താവിന് ഒരു ഔദ്യോഗിക പ്രൊഫൈൽ ഉണ്ടാകാൻ പാടില്ല"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"ഒരു നിയന്ത്രിത ഉപകരണത്തിൽ ഔദ്യോഗിക പ്രൊഫൈലുകൾ സജ്ജമാക്കാനാവില്ല"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ഉപകരണത്തിൽ പരമാവധി ഉപയോക്താക്കൾ ഉള്ളതുകൊണ്ട് ഔദ്യോഗിക പ്രൊഫൈൽ സൃഷ്‌ടിക്കാൻ കഴിയില്ല. ഒരു ഉപയോക്താവിനെയെങ്കിലും നീക്കംചെയ്‌തുകൊണ്ട് വീണ്ടും ശ്രമിക്കുക."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ഈ ലോഞ്ചർ അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലിനെ പിന്തുണയ്‌ക്കില്ല. അനുയോജ്യമായ ലോഞ്ചറിലേക്ക് മാറേണ്ടതുണ്ട്."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"റദ്ദാക്കുക"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ശരി"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ഉപയോക്തൃ സജ്ജമാക്കൽ അപൂർണ്ണമാണ്"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"ഔദ്യോഗിക ഉപകരണത്തിന്റെ ഉപയോക്താവ്"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"ഔദ്യോഗിക ഉപകരണം സജ്ജീകരിക്കുക"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"സജ്ജീകരണ ഡാറ്റ പ്രോസസ്സുചെയ്യുന്നു…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-യിലേക്ക് ബന്ധിപ്പിക്കുന്നു…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"അഡ്‌മിൻ ആപ്പ് ഡൗൺലോഡുചെയ്യുന്നു…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"അഡ്‌മിൻ ആപ്പ് ഇൻസ്റ്റാളുചെയ്യുന്നു…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ഉപകരണ ഉടമയെ സജ്ജമാക്കുന്നു…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"നിങ്ങളുടെ ഉപകരണ എൻക്രിപ്ഷൻ പിന്തുണയ്ക്കുന്നില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"സജ്ജീകരിക്കുന്നത് അവസാനിപ്പിച്ച് നിങ്ങളുടെ ഉപകരണത്തിന്റെ ഡാറ്റ മായ്‌ക്കണമെന്ന് തീർച്ചയാണോ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"റദ്ദാക്കുക"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ശരി"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"പുനഃസജ്ജമാക്കുക"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ഈ ഉപകരണം ഇതിനകം തന്നെ സജ്ജീകരിച്ചിരിക്കുന്നു."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"വൈഫൈ ലേക്ക് കണക്‌റ്റുചെയ്യാനായില്ല"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ഫാക്‌ടറി പുനഃസജ്ജീകരണ പരിരക്ഷ ഉപയോഗിച്ച് നിങ്ങളുടെ ഉപകരണം ലോക്കുചെയ്തിരിക്കുന്നു. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"മായ്‌ക്കുന്നു"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"കാത്തിരിക്കുക..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ഒരു ചെക്ക്‌സം പിശക് കാരണം അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഉപയോഗിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഡൗൺലോഡുചെയ്യാനായില്ല"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഉപയോഗിക്കാനാവില്ല. അതിന്റെ ഘടകഭാഗങ്ങൾ നഷ്‌ടപ്പെട്ടതോ കേടായതോ ആണ്. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഇൻസ്റ്റാളുചെയ്യാനായില്ല"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"സജ്ജീകരിക്കൽ നിർത്തണോ?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"അല്ല"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"അതെ"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"റദ്ദാക്കുന്നു…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"പ്രൊഫൈൽ സജ്ജമാക്കൽ നിർത്തണോ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"സ്ഥാപനം ഉപയോഗിക്കുന്ന ഉപകരണ മാനേജ്‌മെന്റ് ആപ്പിൽ നിന്ന്, നിങ്ങൾക്ക് പിന്നീട് ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കാവുന്നതാണ്."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"തുടരുക"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"അവസാനിപ്പിക്കുക"</string>
-    <string name="provisioning" msgid="4512493827019163451">"പ്രൊവിഷൻ ചെയ്യുന്നു"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA സർട്ടിഫിക്കറ്റ് സജ്ജമാക്കുന്നു"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക. സജ്ജമാക്കൽ ആരംഭിക്കുക"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക. എൻക്രിപ്ഷൻ"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക. പുരോഗതി കാണിക്കുന്നു"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"നിങ്ങളുടെ ഉപകരണം സജ്ജമാക്കുക. സജ്ജമാക്കൽ ആരംഭിക്കുക"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"നിങ്ങളുടെ ഉപകരണം സജ്ജമാക്കുക. എൻക്രിപ്ഷൻ"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"നിങ്ങളുടെ ഉപകരണം സജ്ജമാക്കുക. പുരോഗതി കാണിക്കുന്നു"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"\'കൂടുതലറിയുക\' ബട്ടൺ"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ഐക്കൺ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"സജ്ജമാക്കൽ അവസാനിപ്പിച്ച് ഫാക്ടറി റീസെറ്റ് നടത്തണോ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ഈ സജ്ജമാക്കൽ അവസാനിപ്പിക്കുന്നത് നിങ്ങളുടെ ഉപകരണത്തെ ഫാക്ടറി റീസെറ്റിലേയ്ക്ക് നയിക്കുകയും സജ്ജമാക്കലിന്റെ തുടക്ക സ്ക്രീനിലേക്ക് നിങ്ങൾ മടങ്ങുകയും ചെയ്യും."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"റദ്ദാക്കുക"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ഉപകരണം പുനഃസജ്ജീകരിക്കുക"</string>
-</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
new file mode 100644
index 0000000..cca3d23
--- /dev/null
+++ b/res/values-ml/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കൽ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ക്ഷമിക്കണം!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുക"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"നിങ്ങളുടെ ഓർഗനൈസേഷൻ, ഈ പ്രൊഫൈൽ നിയന്ത്രിച്ച് അവ സുരക്ഷിതമായി സൂക്ഷിക്കുന്നു. ഉപകരണത്തിലെ മറ്റുള്ളവയെല്ലാം നിങ്ങൾക്ക് നിയന്ത്രിക്കാനാവും."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"നിങ്ങളുടെ സ്ഥാപനം, ഈ ഉപകരണം നിയന്ത്രിക്കുകയും സുരക്ഷിതമായി സൂക്ഷിക്കുകയും ചെയ്യും."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ഇനിപ്പറയുന്ന അപ്ലിക്കേഷന് ഈ പ്രൊഫൈൽ ആക്‌സസ്സുചെയ്യേണ്ടിവരും:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ഇനിപ്പറയുന്ന അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഉപകരണത്തെ നിയന്ത്രിക്കും:"</string>
+    <string name="next" msgid="1004321437324424398">"അടുത്തത്"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കുന്നു…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ആക്റ്റിവിറ്റി ഉൾപ്പെടെ, ക്രമീകരണം, കോർപ്പറേറ്റ് ആക്സസ്സ്, ആപ്‌സ്, അനുമതികൾ, ഈ പ്രൊഫൈലുമായി ബന്ധപ്പെടുത്തിയിട്ടുള്ള ഡാറ്റ എന്നിവയും നിങ്ങളുടെ ഉപകരണത്തിന്റെ ലൊക്കേഷനും കോൾ ചരിത്രവും കോൺടാക്റ്റ് തിരയൽ ചരിത്രവും നിരീക്ഷിക്കുന്നതിനും മാനേജുചെയ്യുന്നതിനും നിങ്ങളുടെ അഡ്‌മിന് കഴിയും.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ സ്വകാര്യതാ നയങ്ങൾ ഉൾപ്പെടെയുള്ള കൂടുതൽ വിവരങ്ങൾ അറിയുന്നതിന് നിങ്ങളുടെ അഡ്മിനെ ബന്ധപ്പെടുക."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ആക്റ്റിവിറ്റി ഉൾപ്പെടെ, ക്രമീകരണം, കോർപ്പറേറ്റ് ആക്സസ്സ്, ആപ്‌സ്, അനുമതികൾ, ഈ ഉപകരണവുമായി ബന്ധപ്പെടുത്തിയിട്ടുള്ള ഡാറ്റ എന്നിവയും നിങ്ങളുടെ ഉപകരണത്തിന്റെ ലൊക്കേഷനും കോൾ ചരിത്രവും കോൺടാക്റ്റ് തിരയൽ ചരിത്രവും നിരീക്ഷിക്കുന്നതിനും മാനേജുചെയ്യുന്നതിനും നിങ്ങളുടെ അഡ്‌മിന് കഴിയും.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ സ്വകാര്യതാ നയങ്ങൾ ഉൾപ്പെടെയുള്ള കൂടുതൽ വിവരങ്ങൾ അറിയുന്നതിന് നിങ്ങളുടെ അഡ്മിനെ ബന്ധപ്പെടുക."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"മോഷണ പരിരക്ഷാ ഫീച്ചറുകൾ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ ഉപകരണത്തിൽ പാസ്‌വേഡ് കൊണ്ട് പരിരക്ഷിച്ചിട്ടുള്ള ഒരു സ്ക്രീൻ ലോക്ക് ഉണ്ടായിരിക്കണം."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ സ്വകാര്യതാ നയങ്ങൾ ഉൾപ്പെടെയുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്‌മിനിസ്‌ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"കൂടുതലറിയുക"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"റദ്ദാക്കുക"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ശരി"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ഞാൻ സമ്മതിക്കുന്നു"</string>
+    <string name="url_error" msgid="5958494012986243186">"ഈ ലിങ്ക് പ്രദർശിപ്പിക്കാൻ കഴിയില്ല."</string>
+    <string name="terms" msgid="8295436105384703903">"നിബന്ധനകള്‍"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ഔദ്യോഗിക പ്രൊഫൈൽ വിവരം"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"മാനേജുചെയ്യപ്പെടുന്ന ഉപകരണത്തിന്റെ വിവരങ്ങൾ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"പ്രാഥമിക ഉപയോക്താവ്"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"നിലവിലെ പ്രൊഫൈൽ ഇല്ലാതാക്കണോ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"ഇനിപ്പറയുന്ന ആപ്പ് ഉപയോഗിച്ചുകൊണ്ട് മാനേജുചെയ്യപ്പെടുന്ന ഒരു ഔദ്യോഗിക പ്രൊഫൈൽ നിങ്ങൾക്ക് ഇതിനകം തന്നെയുണ്ട്:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"തുടരുന്നതിന് മുമ്പ്, "<a href="#read_this_link">"ഇത് വായിക്കുക"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"നിങ്ങൾ തുടരുകയാണെങ്കിൽ, ഈ പ്രൊഫൈലിലെ എല്ലാ ആപ്‌സും ഡാറ്റയും ഇല്ലാതാക്കും."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ഇല്ലാതാക്കുക"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"റദ്ദാക്കുക"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നതിന്, നിങ്ങളുടെ ഉപകരണം എൻക്രിപ്‌റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുക്കാം."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ഈ ഉപകരണം സജ്ജീകരിക്കുന്നതിന്, ആദ്യമത് എൻക്രിപ്‌റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുക്കാം."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ഈ ഉപകരണം എൻക്രിപ്‌റ്റുചെയ്യണോ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"എൻക്രിപ്‌റ്റുചെയ്യുക"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"എൻക്രി‌പ്‌റ്റുചെയ്യൽ പൂർത്തിയാക്കുക"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ ടാപ്പുചെയ്യുക"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"ഔദ്യോഗിക പ്രൊഫൈൽ ചേർക്കാൻ കഴിയില്ല"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ഈ ഉപയോക്താവിന് ഔദ്യോഗിക പ്രൊഫൈൽ ഉണ്ടാകാൻ പാടില്ല. നിങ്ങളുടെ അഡ്‌മിനെ ബന്ധപ്പെടുക."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ഈ ഉപയോക്താവിന് ഔദ്യോഗിക പ്രൊഫൈലുകൾ ഉണ്ടാകാൻ പാടില്ല. നിങ്ങളുടെ അഡ്‌മിനെ ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"ഒരു നിയന്ത്രിത ഉപകരണത്തിൽ ഔദ്യോഗിക പ്രൊഫൈലുകൾ സജ്ജമാക്കാനാവില്ല"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ഈ ഉപകരണത്തിൽ ഒരുപാട് ഉപയോക്താക്കൾ ഉണ്ടായിരുന്നേക്കാം. ഒരു ഉപയോക്താവിനെ നീക്കംചെയ്യുക, തുടർന്ന് വീണ്ടും ശ്രമിച്ചുനോക്കുക."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ഉപകരണ ലോഞ്ചർ മാറ്റുക"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"നിങ്ങളുടെ പ്രൊഫലിന് ഈ ലോഞ്ചർ ആപ്പ് ഉപയോഗിക്കാൻ കഴിയില്ല"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"റദ്ദാക്കുക"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ശരി"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ഉപയോക്തൃ സജ്ജമാക്കൽ അപൂർണ്ണമാണ്"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ഔദ്യോഗിക ഉപകരണത്തിന്റെ ഉപയോക്താവ്"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"ഔദ്യോഗിക ഉപകരണം സജ്ജീകരിക്കുക"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"സജ്ജീകരണ ഡാറ്റ പ്രോസസ്സുചെയ്യുന്നു…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-യിലേക്ക് ബന്ധിപ്പിക്കുന്നു…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"അഡ്‌മിൻ ആപ്പ് ഡൗൺലോഡുചെയ്യുന്നു…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"അഡ്‌മിൻ ആപ്പ് ഇൻസ്റ്റാളുചെയ്യുന്നു…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"ആവശ്യമില്ലാത്ത സിസ്റ്റം ആപ്‌സ് നീക്കംചെയ്യുന്നു…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"മിനുക്കുപണികൾ നടത്തുന്നു…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ഉപകരണ ഉടമയെ സജ്ജമാക്കുന്നു…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ഉപകരണം ആരംഭിക്കുന്നു…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ഈ ഉപകരണം എൻക്രിപ്ഷൻ അനുവദിക്കുന്നില്ല, സജ്ജമാക്കലിന് എൻക്രിപ്ഷൻ ആവശ്യവുമാണ്. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"സജ്ജമാക്കൽ നിർത്തുകയും ഉപകരണം പുനഃക്രമീകരിക്കുകയും ചെയ്യണോ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"നിങ്ങളുടെ ഉപകരണത്തെ ഇത് റീസെറ്റുചെയ്യും, തുടക്ക സ്ക്രീനിലേക്ക് നിങ്ങളെ തിരികെ കൊണ്ടുപോകും"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"സജ്ജീകരിക്കുന്നത് അവസാനിപ്പിച്ച് നിങ്ങളുടെ ഉപകരണത്തിന്റെ ഡാറ്റ മായ്‌ക്കണമെന്ന് തീർച്ചയാണോ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"റദ്ദാക്കുക"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ശരി"</string>
+    <string name="reset" msgid="6467204151306265796">"പുനഃസജ്ജമാക്കുക"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"പ്രൊഫൈൽ സജ്ജമാക്കാൻ കഴിയില്ല"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ഉപകരണം സജ്ജമാക്കാൻ കഴിയില്ല"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കാനായില്ല. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ഉപകരണം ഇതിനകം തന്നെ സജ്ജീകരിച്ചിരിക്കുന്നു"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"വൈഫൈ ലേക്ക് കണക്‌റ്റുചെയ്യാനായില്ല"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ഈ ഉപകരണത്തിൽ റീസെറ്റ് ചെയ്യാതിരിക്കാനുള്ള പരിരക്ഷ ഓണാക്കിയിട്ടുണ്ട്. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"മായ്‌ക്കുന്നു"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"കാത്തിരിക്കുക..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ഒരു ചെക്ക്‌സം പിശക് കാരണം അഡ്‌മിൻ ആപ്പ് ഉപയോഗിക്കാനായില്ല. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഡൗൺലോഡുചെയ്യാനായില്ല"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"അഡ്‌മിൻ ആപ്പ് ഉപയോഗിക്കാനാവില്ല. അതിന്റെ ഘടകഭാഗങ്ങൾ നഷ്‌ടപ്പെട്ടിരിക്കുന്നു അല്ലെങ്കിൽ അത് കേടായിരിക്കുന്നു. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഇൻസ്റ്റാളുചെയ്യാനായില്ല"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"സജ്ജീകരിക്കൽ നിർത്തണോ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"അല്ല"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"അതെ"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"റദ്ദാക്കുന്നു…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"പ്രൊഫൈൽ സജ്ജമാക്കൽ നിർത്തണോ?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ ഉപകരണ മാനേജ്‌മെന്റ് ആപ്പിൽ നിങ്ങൾക്ക് പിന്നീട് ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജമാക്കാവുന്നതാണ്"</string>
+    <string name="continue_button" msgid="7177918589510964446">"തുടരുക"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"അവസാനിപ്പിക്കുക"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ഒഴിവാക്കുക"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"നിങ്ങളുടെ സ്ഥാപനത്താൽ മാനേജുചെയ്യപ്പെടുകയും നിരീക്ഷിക്കപ്പെടുകയും ചെയ്യുന്ന ഒരു ഔദ്യോഗിക പ്രൊഫൈൽ നിങ്ങൾ സൃഷ്‌ടിക്കാൻ പോകുകയാണ്. നിബന്ധനകൾ ബാധകമാണ്."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"നിങ്ങളുടെ സ്ഥാപനത്താൽ മാനേജുചെയ്യപ്പെടുകയും നിരീക്ഷിക്കപ്പെടുകയും ചെയ്യുന്ന ഒരു ഔദ്യോഗിക പ്രൊഫൈൽ നിങ്ങൾ സൃഷ്‌ടിക്കാൻ പോകുകയാണ്. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> എന്നതിൽ നിന്നുള്ള ‌നിബന്ധനകൾ ബാധകമാകും."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്കായി ഒരു പ്രൊഫൈൽ സൃഷ്‌ടിക്കപ്പെടും. ഈ ‌പ്രൊഫൈലും ബാക്കി ഉപകരണവും നിങ്ങളുടെ സ്ഥാപനം മാനേജുചെയ്യുകയും നിരീക്ഷിക്കുകയും ചെയ്യും. നിബന്ധനകൾ ബാധകമാണ്."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്കായി ഒരു പ്രൊഫൈൽ സൃഷ്‌ടിക്കപ്പെടും. ഈ ‌പ്രൊഫൈലും ബാക്കി ഉപകരണവും നിങ്ങളുടെ സ്ഥാപനം മാനേജുചെയ്യുകയും നിരീക്ഷിക്കുകയും ചെയ്യും. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> എന്നതിൽ നിന്നുള്ള ‌നിബന്ധനകൾ ബാധകമാകും."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ഈ ഉപകരണം മാനേജുചെയ്യുന്നതും സുരക്ഷിതമായി സൂക്ഷിക്കുന്നതും <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ആണ്. നിബന്ധനകൾ ബാധകമാവും. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ഈ ഉപകരണം മാനേജുചെയ്യുന്നതും സുരക്ഷിതമായി സൂക്ഷിക്കുന്നതും <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ആണ്. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> എന്നതിലെ നിബന്ധനകൾ ബാധകമാവും.<xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ഈ ലിങ്ക് സുരക്ഷിതമല്ല, ഉപകരണ സജ്ജമാക്കൽ പൂർത്തിയാകുന്നത് വരെ തുറക്കാൻ കഴിയില്ല: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"നിങ്ങൾക്ക് ചോദ്യങ്ങൾ ഉണ്ടെങ്കിൽ, <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> എന്ന അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"നിങ്ങൾക്ക് ചോദ്യങ്ങൾ ഉണ്ടെങ്കിൽ, നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"സജ്ജമാക്കൽ പൂർത്തിയായില്ല. സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"സഹായത്തിന് നിങ്ങളുടെ അഡ്‌മിനുമായി ബന്ധപ്പെടുക"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"സ്ഥാപനത്തിന്റെ അഡ്മിൻ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"താഴെ പറയുന്ന ആപ്പ് ഉപയോഗിച്ച് <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ഈ ഉപകരണം മാനേജുചെയ്യുകയും നിരീക്ഷിക്കുകയും ചെയ്യും:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"നിങ്ങളുടെ ഓർഗനൈസേഷൻ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"നിങ്ങളുടെ ഓർഗനൈസേഷൻ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"നിബന്ധനകൾ കാണുക"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"സ്വീകരിക്കൂ, തുടരൂ"</string>
+    <string name="close" msgid="7208600934846389439">"അടയ്‌ക്കുക"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുക"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"നിങ്ങൾ ജോലി ചെയ്യുന്ന രീതി തന്നെ മാറ്റുക"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"ഔദ്യോഗിക വിവരങ്ങളും വ്യക്തിഗത വിവരങ്ങളും വെവ്വേറെയാക്കുക"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"വർക്ക് ആപ്പുകൾക്കായുള്ള ഒരിടം"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ഉപയോഗത്തിനുശേഷം വർക്ക് ഓഫ് ചെയ്യുക"</string>
+    <string name="provisioning" msgid="4512493827019163451">"പ്രൊവിഷൻ ചെയ്യുന്നു"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA സർട്ടിഫിക്കറ്റ് സജ്ജമാക്കുന്നു"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ഔദ്യോഗിക പ്രൊഫൈൽ ഉപയോഗിക്കുന്നതിലൂടെ, നിങ്ങൾക്ക് ഔദ്യോഗിക ഡാറ്റയും സ്വകാര്യ ഡാറ്റയും വേർതിരിക്കാം"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"ഔദ്യോഗിക പ്രൊഫൈൽ ഉപയോഗിക്കുന്നതിലൂടെ, ഒരിടത്ത് നിങ്ങൾക്ക് ഔദ്യോഗിക ആപ്പുകൾ സൂക്ഷിക്കാവുന്നതാണ്"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക. എൻക്രിപ്ഷൻ"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"നിങ്ങളുടെ പ്രൊഫൈൽ സജ്ജമാക്കുക. പുരോഗതി കാണിക്കുന്നു"</string>
+    <string name="setup_device" msgid="6725265673245816366">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുക"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"നിങ്ങളുടെ ഉപകരണം സജ്ജമാക്കുക. എൻക്രിപ്ഷൻ"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"നിങ്ങളുടെ ഉപകരണം സജ്ജമാക്കുക. പുരോഗതി കാണിക്കുന്നു"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"\'കൂടുതലറിയുക\' ബട്ടൺ"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ഐക്കൺ"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> വിഭാഗ തലക്കെട്ട്."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> വിഭാഗ ഉള്ളടക്കം: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"വികസിപ്പിക്കുക"</string>
+    <string name="collapse" msgid="7817530505064432580">"ചുരുക്കുക"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ലിങ്കുകളുടെ ലിസ്റ്റ് ആക്സസ്സ് ചെയ്യുക"</string>
+    <string name="access_links" msgid="7991363727326168600">"ലിങ്കുകൾ ആക്സസ്സ് ചെയ്യുക"</string>
+    <string name="access_terms" msgid="1982500872249763745">"പദങ്ങൾ ആക്സസ്സ് ചെയ്യുക"</string>
+    <string name="read_terms" msgid="1745011123626640728">"നിബന്ധനകൾ വായിക്കുക"</string>
+    <string name="close_list" msgid="9053538299788717597">"ലിസ്റ്റ് അടയ്ക്കുക"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"സജ്ജമാക്കൽ അവസാനിപ്പിച്ച് ഫാക്ടറി റീസെറ്റ് നടത്തണോ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ഈ സജ്ജമാക്കൽ അവസാനിപ്പിക്കുന്നത് നിങ്ങളുടെ ഉപകരണത്തെ ഫാക്ടറി റീസെറ്റിലേയ്ക്ക് നയിക്കുകയും സജ്ജമാക്കലിന്റെ തുടക്ക സ്ക്രീനിലേക്ക് നിങ്ങൾ മടങ്ങുകയും ചെയ്യും."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"റദ്ദാക്കുക"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ഉപകരണം പുനഃസജ്ജീകരിക്കുക"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="SECOND_ITEM">%2$s</xliff:g> എന്നിവ"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g>, <xliff:g id="LAST_ITEM_0">%2$s</xliff:g> എന്നിവ"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
deleted file mode 100644
index de279ea..0000000
--- a/res/values-mn-rMN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Ажлын профайлын тохиргоо"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Алдаа!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Ажлын профайл тохируулах"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Таны компани энэ профайлыг хянаж, аюулгүй байлгадаг. Та төхөөрөмж дээрх бусад зүйлсийг хянана."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Танай байгууллага таны төхөөрөмжийг удирдаж, аюулгүй байлгана."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Дараах апп энэ профайлд хандах шаардлагатай:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Дараах апп таны төхөөрөмжийг удирдах болно:"</string>
-    <string name="next" msgid="1004321437324424398">"Дараах"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Таны ажлын профайлыг үүсгэж байна…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Таны админ тохиргоо, байгууллагын хандалт, апп, зөвшөөрөл болон таны сүлжээний үйл ажиллагаа, төхөөрөмжийн байршил, дуудлагын түүх, харилцагч, хайлтын түүх зэрэг энэ профайлтай холбоотой өгөгдлийг хянах, удирдах боломжтой."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Таны админ тохиргоо, байгууллагын хандалт, апп, зөвшөөрөл, хулгайчаас хамгаалах онцлог, мөн сүлжээний ажиллагаа, төхөөрөмжийн байршлын мэдээлэл гэх мэт энэ төхөөрөмжтэй холбогдох мэдээллийг хянах, удирдах эрхтэй."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Хулгайчаас хамгаалах онцлогийг хэрэглэхийн тулд төхөөрөмждөө нууц үг бүхий дэлгэцийн түгжээтэй байх хэрэгтэй."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Админтайгаа холбогдож, байгууллагынхаа нууцлалын бодлого зэрэг дэлгэрэнгүй мэдээллийг авна уу."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Дэлгэрэнгүй үзэх"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Цуцлах"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Би зөвшөөрч байна"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ажлын профайл"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Үндсэн хэрэглэгч"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Ажлын профайлыг устгах"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Ажлын профайл аль хэдийн байгаа бөгөөд удирдагч нь:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Дараахын тусламжтайгаар энэхүү ажлын профайлыг %s-д зориулан удирддаг."</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Эхлүүлэхийн өмнө, "<a href="#read_this_link">"үүнийг уншаарай"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Хэрэв та үргэлжлүүлбэл энэ профайлын бүх апп, өгөгдөл устах болно."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Устгах"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Цуцлах"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ажлын профайлыг үргэлжлүүлэн суулгахын тулд өөрийн төхөөрөмжийг шифрлэх шаардлагатай. .Энэ процессийг гүйцэтгэхэд тодорхой хугацаа шаардагдах магадлалтай."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Та төхөөрөмж дээрх тохиргоог хийхийн тулд өөрийн төхөөрөмжийг шифрлэх шаардлагатай. Энэ процессийг гүйцэтгэхэд тодорхой хугацаа шаардагдах болно."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлэх"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлэлт дууссан"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ажлын профайлаа үргэлжлүүлэн тохируулахын тулд дарна уу"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Таны ажлын профайлыг тохируулж чадсангүй. МТ хэлтэстэй холбогдох буюу дараа дахин оролдоно уу."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Таны төхөөрөмж ажлын профайлыг дэмждэггүй"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Энэ хэрэглэгч ажлын профайлтай байх боломжгүй"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Ажлын профайлыг хяналттай төхөөрөмж дээр суулгаж болохгүй"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Таны төхөөрөмж дээрх хэрэглэгчдийн тоо дээд хязгаарт хүрсэн тул ажлын профайл үүсгэх боломжгүй байна. Та хамгийн багадаа 1 хэрэглэгч устгаад дахин оролдоно уу."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Таны ажлын профайл энэ эхлүүлэгч апп-аар дэмжигдээгүй байна. Таарах эхлүүлэгч апп-р солино уу."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Цуцлах"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Хэрэглэгчийн Тохируулга Дуусаагүй"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Ажлын төхөөрөмжийн хэрэглэгч"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Ажлын төхөөрөмж тохируулах"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Тохируулгын өгөгдлийг боловсруулж байна…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-д холбогдож байна…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Админ апп-ийг татаж авч байна…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Админ апп-ийг суулгаж байна…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Төхөөрөмж эзэмшигчийг тохируулж байна…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Таны төхөөрөмж шифрлэлтийг дэмждэггүй. Та IT-н хэлтэст хандана уу."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Төхөөрөмжийг тохируулахыг зогсоож, өгөгдлийг устгах уу?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Цуцлах"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ОК"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Дахин шинэчлэх"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Таны төхөөрөмжийг тохируулж чадсангүй. МТ хэлтэстэй холбогдоно уу."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Төхөөрөмж аль хэдийн тохируулагдсан"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-д холбогдож чадсангүй"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Энэ төхөөрөмж нь үйлдвэрийн хамгаалалтын тохируулгын улмаас түгжигдсэн байна. МТ хэлтэстэй холбогдоно уу."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Арилгаж байна"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Түр хүлээнэ үү..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"checksum алдаанаас шалтгаалан админ апп-г ашиглаж чадсангүй. МТ хэлтэстэй холбогдоно уу."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Админ апп-г татаж авч чадсангүй"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Админ апп-г ашиглах боломжгүй. Бүрдэл дутагдсан эсхүл гэмтсэн байна. МТ хэлтэстэй холбогдоно уу."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Админ апп-г суулгаж чадсангүй"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Тохируулгыг зогсоох уу?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Үгүй"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Тийм"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Цуцалж байна..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профайл үүсгэхийг зогсоох уу?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Төхөөрөмжийн менежментийн апп-ийг танай компани ашигласны дараа та өөрийн ажлын профайлыг үүсгэх боломжтой."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Үргэлжлүүлэх"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Зогсоох"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Давхар суулгаж байна..."</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA гэрчилгээнүүдийг тохируулж байна"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Профайлаа үүсгэнэ үү. Үүсгэж эхлэх"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профайлаа үүсгэнэ үү. Шифр"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Профайлаа үүсгэнэ үү. Ахицыг харуулж байна"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Tөхөөрөмжөө суурилуулна уу. Суурилуулалтыг эхлүүлэх"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Төхөөрөмжөө суурилуулна уу. Шифр"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Төхөөрөмжөө суурилуулна уу. Aхицыг харуулж байна"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Дэлгэрэнгүй үзэх товчлуур"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> дүрс тэмдэг"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Тохируулгыг дуусгаж, үйлдвэрийн төлөвт шилжүүлэх үү?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Энэ тохируулгыг дуусгаснаар таны төхөөрөмжийг үйлвэрийн төлөвт шилжүүлж, таныг анхны дэлгэцэд аваачих болно."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Цуцлах"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Төхөөрөмжийг дахин тохируулах"</string>
-</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
new file mode 100644
index 0000000..06b8157
--- /dev/null
+++ b/res/values-mn/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Ажлын профайлын тохиргоо"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Алдаа!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Ажлын профайл тохируулах"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Таны компани энэ профайлыг хянаж, аюулгүй байлгадаг. Та төхөөрөмж дээрх бусад зүйлсийг хянана."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Танай байгууллага таны төхөөрөмжийг удирдаж, аюулгүй байлгана."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Дараах апп энэ профайлд хандах шаардлагатай:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Дараах апп таны төхөөрөмжийг удирдах болно:"</string>
+    <string name="next" msgid="1004321437324424398">"Дараах"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Таны ажлын профайлыг үүсгэж байна…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Таны админ тохиргоо, байгууллагын хандалт, апп, зөвшөөрөл болон таны сүлжээний үйл ажиллагаа, төхөөрөмжийн байршил, дуудлагын түүх, харилцагч, хайлтын түүх зэрэг энэ профайлтай холбоотой өгөгдлийг хянах, удирдах боломжтой.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Байгууллагынхаа нууцлалын бодлого зэрэг дэлгэрэнгүй мэдээлэл авах бол админтайгаа холбогдоно уу."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Таны админ тохиргоо, байгууллагын хандалт, апп, зөвшөөрөл болон таны сүлжээний үйл ажиллагаа, төхөөрөмжийн байршил, дуудлагын түүх, харилцагч, хайлтын түүх зэрэг энэ төхөөрөмжтэй холбоотой өгөгдлийг хянах, удирдах боломжтой.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Байгууллагынхаа нууцлалын бодлого зэрэг дэлгэрэнгүй мэдээлэл авах бол админтайгаа холбогдоно уу."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Хулгайчаас хамгаалах онцлогийг хэрэглэхийн тулд төхөөрөмждөө нууц үг бүхий дэлгэцийн түгжээтэй байх хэрэгтэй."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Админтайгаа холбогдож, байгууллагынхаа нууцлалын бодлого зэрэг дэлгэрэнгүй мэдээллийг авна уу."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Дэлгэрэнгүй үзэх"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Цуцлах"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Би зөвшөөрч байна"</string>
+    <string name="url_error" msgid="5958494012986243186">"Энэ холбоосыг харуулах боломжгүй."</string>
+    <string name="terms" msgid="8295436105384703903">"Нөхцөл"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Ажлын профайлын мэдээлэл"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Удирдсан төхөөрөмжийн мэдээлэл"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ажлын профайл"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Үндсэн хэрэглэгч"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Одоогийн профайлыг устгах уу?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Танд дараах аппын удирдсан ажлын профайл байна:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Эхлүүлэхийн өмнө, "<a href="#read_this_link">"үүнийг уншаарай"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Хэрэв та үргэлжлүүлбэл энэ профайлын бүх апп, өгөгдөл устах болно."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Устгах"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Цуцлах"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ажлын профайлаа тохируулахын тулд төхөөрөмжөө шифрлэх шаардлагатай. Үүнд тодорхой хугацаа шаардлагатай."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Энэ төхөөрөмжийг тохируулахын тулд эхлээд шифрлэх шаардлагатай. Үүнд тодорхой хугацаа шаардлагатай."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Энэ төхөөрөмжийг шифрлэх үү?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифрлэх"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлэлт дууссан"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ажлын профайлаа үргэлжлүүлэн тохируулахын тулд дарна уу"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Таны ажлын профайлыг тохируулж чадсангүй. МТ хэлтэстэй холбогдох буюу дараа дахин оролдоно уу."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Ажлын профайл нэмэх боломжгүй байна"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Энэ хэрэглэгчид ажлын профайл байх боломжгүй. Тусламж авах бол админтайгаа холбогдоно уу."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Энэ хэрэглэгчид ажлын профайл байх боломжгүй. Админтайгаа холбогдоно уу."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Ажлын профайлыг хяналттай төхөөрөмж дээр суулгаж болохгүй"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Энэ төхөөрөмжид хэт олон хэрэглэгч байж болзошгүй. Хэрэглэгчийг устгаад дахин оролдоно уу."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Төхөөрөмж эхлүүлэгчийг өөрчлөх"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Энэ эхлүүлэгч аппыг таны ажлын профайлаас ашиглах боломжгүй"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Цуцлах"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Хэрэглэгчийн Тохируулга Дуусаагүй"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Ажлын төхөөрөмжийн хэрэглэгч"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Ажлын төхөөрөмж тохируулах"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Тохируулгын өгөгдлийг боловсруулж байна…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi-д холбогдож байна…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Админ апп-ийг татаж авч байна…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Админ апп-ийг суулгаж байна…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Шаардлагагүй системийн апп-г устгаж байна…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Дуусгах хүрэлтийг оруулж байна…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Төхөөрөмж эзэмшигчийг тохируулж байна…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Төхөөрөмжийн анхны утгыг олж байна..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Энэ төхөөрөмж тохируулгад шаардлагатай шифрийг зөвшөөрдөггүй. Тусламж авахын тулд админтайгаа холбогдоно уу."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Тохиргоог зогсоож, төхөөрөмжийг шинэчлэх үү?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Энэ нь таны төхөөрөмжийг шинэчилж анхны дэлгэцэд аваачих болно"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Төхөөрөмжийг тохируулахыг зогсоож, өгөгдлийг устгах уу?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Цуцлах"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ОК"</string>
+    <string name="reset" msgid="6467204151306265796">"Шинэчлэх"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Профайл тохируулах боломжгүй байна"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Төхөөрөмж тохируулах боломжгүй байна"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Төхөөрөмжийг тохируулж чадсангүй. Тусламж авахын тулд админтайгаа холбогдоно уу."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Тусламж авах бол админтайгаа холбогдоно уу"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Төхөөрөмжийг аль хэдийн тохируулсан"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-д холбогдож чадсангүй"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Таны төхөөрөмжийн шинэчлэх хамгаалалт асаалттай байна. Тусламж авахын тулд админтайгаа холбогдоно уу."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Арилгаж байна"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Түр хүлээнэ үү..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Checksum алдааны улмаас админы аппыг ашиглах боломжгүй байна. Тусламж авах бол админтайгаа холбогдоно уу."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Админ апп-г татаж авч чадсангүй"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Админ апп гэмтсэн эсвэл хэсэг нь дутуу байгаа тул үүнийг ашиглах боломжгүй байна. Тусламж авах бол админтайгаа холбогдоно уу."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Админ апп-г суулгаж чадсангүй"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Тохируулгыг зогсоох уу?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Үгүй"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Тийм"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Цуцалж байна..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Профайл үүсгэхийг зогсоох уу?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Та ажлын профайлаа дараа нь байгууллагынхаа төхөөрөмжийн удирдлагын апп-д тохируулах боломжтой"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Үргэлжлүүлэх"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Зогсоох"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Хаах"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Та ажлын профайл үүсгэх гэж байгаа бөгөөд үүнийг таны байгууллага удирдаж, хянана. Нөхцөл хэрэгжих болно."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Та ажлын профайл үүсгэх гэж байгаа бөгөөд үүнийг таны байгууллага удирдаж, хянана. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>-н нөхцөл хэрэгжих болно."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Профайлыг таны ажлын апп-д зориулан үүсгэх болно. Энэ профайл болон төхөөрөмжийг таны байгууллага удирдаж, хянана. Нөхцөл хэрэгжих болно."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Таны ажлын аппад профайл үүсгэх болно. Энэ профайл, таны бусад төхөөрөмжийг танай байгууллага удирдаж, хянах болно. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>-н нөхцөлийн дагуу хэрэгжинэ."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Энэ төхөөрөмжийг <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> удирдаж, аюулгүй байлгана. Нөхцөл хэрэгжих болно. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Энэ төхөөрөмжийг <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> удирдаж, аюулгүй байлгана. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>-н нөхцөл хэрэгжинэ. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Энэ холбоос аюултай бөгөөд үүнийг төхөөрөмжийн тохиргоо дуусах хүртэл нээх боломжгүй: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Хэрэв танд асуулт байвал <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>-тай холбогдоно уу."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Хэрэв танд асуулт байгаа бол байгууллагынхаа админтай холбогдоно уу"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Тохиргоо дуусаагүй байна. Тусламж авах бол админтайгаа холбогдоно уу."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Тусламж авах бол админтайгаа холбогдоно уу"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"байгууллагын админ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> дараах аппыг ашиглан төхөөрөмжийг удирдаж, хянах болно:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Таны байгууллага"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"таны байгууллага"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Нөхцөлийг харах"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Зөвшөөрөөд, үргэлжлүүлэх"</string>
+    <string name="close" msgid="7208600934846389439">"Хаах"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Төхөөрөмжөө тохируулна уу"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ажиллах арга барилаа өөрчилнө үү"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Ажлын болон хувийн өгөгдлийг тусгаарлах"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Ажлын аппыг нэг дороос"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Дууссан үедээ ажлыг унтраах"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Давхар суулгаж байна..."</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA гэрчилгээнүүдийг тохируулж байна"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Профайлаа тохируулна уу"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ажлын профайл ашигласнаар ажлын өгөгдлөө хувийн өгөгдлөөс салгах боломжтой"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ажлын профайл ашигласнаар та ажлын апп-аа нэг дор хадгалах боломжтой"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Профайлаа үүсгэнэ үү. Шифр"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Профайлаа үүсгэнэ үү. Ахицыг харуулж байна"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Төхөөрөмжөө тохируулна уу"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Төхөөрөмжөө суурилуулна уу. Шифр"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Төхөөрөмжөө суурилуулна уу. Aхицыг харуулж байна"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Дэлгэрэнгүй үзэх товчлуур"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> дүрс тэмдэг"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> хэсгийн гарчиг."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> хэсгийн агуулга: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Дэлгэх"</string>
+    <string name="collapse" msgid="7817530505064432580">"Буулгах"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Холбоосын жагсаалтад хандах"</string>
+    <string name="access_links" msgid="7991363727326168600">"Холбоосонд хандах"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Нөхцөлийг харах"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Нөхцөлийг унших"</string>
+    <string name="close_list" msgid="9053538299788717597">"Жагсаалтыг хаах"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Тохируулгыг дуусгаж, үйлдвэрийн төлөвт шилжүүлэх үү?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Энэ тохируулгыг дуусгаснаар таны төхөөрөмжийг үйлвэрийн төлөвт шилжүүлж, таныг анхны дэлгэцэд аваачих болно."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Цуцлах"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Төхөөрөмжийг дахин тохируулах"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> болон <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> болон <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
deleted file mode 100644
index c35be0a..0000000
--- a/res/values-mr-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"कार्य प्रोफाईल सेटअप"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"अरेरे!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"कार्य प्रोफाईल सेट करा"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"आपली संस्था हे प्रोफाईल नियंत्रित करते आणि ते सुरक्षित ठेवते. आपण आपल्या डिव्हाइसवरील अन्य प्रत्येकगोष्ट नियंत्रित करता."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"आपली संस्‍था या डिव्‍हाइसचे नियंत्रण करेल आणि त्यास सुरक्षित ठेवेल."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"खालील अ‍ॅपला या प्रोफाईलमध्‍ये प्रवेश करण्‍याची आवश्‍यकता असेल:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"खालील अ‍ॅप आपले डिव्‍हाइस व्यवस्‍थापित करेल:"</string>
-    <string name="next" msgid="1004321437324424398">"पुढील"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"आपले कार्य प्रोफाईल सेट करीत आहे..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"आपल्या प्रशासकाकडे नेटवर्क क्रियाकलाप तसेच आपल्या डिव्हाइसची स्थान माहिती, कॉल इतिहास आणि संपर्क शोध इतिहासासह सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, परवानग्या आणि या प्रोफाईलसह संबद्ध असलेल्या डेटाचे परीक्षण करण्याची आणि व्यवस्थापित करण्याची क्षमता आहे."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"आपल्या प्रशासकाकडे सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, परवानग्या, चोरीपासून-संरक्षण करणे आणि नेटवर्क क्रियाकलाप आणि आपल्या डिव्हाइसच्या स्थान माहितीसह या डिव्हाइससह संबद्ध असलेल्या डेटाचे परीक्षण करण्याची आणि व्यवस्थापित करण्याची क्षमता आहे."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"चोरीपासून-संरक्षण वैशिष्ट्ये वापरण्यासाठी, आपल्याकडे आपल्या डिव्हाइससाठी संकेतशब्द-संरक्षित स्क्रीन लॉक असणे आवश्यक आहे."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"आपल्या संस्थेच्या गोपनीयता धोरणांसह अधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"अधिक जाणून घ्या"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"रद्द करा"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ठीक आहे"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"मी संमती देतो"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाईल"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"प्राथमिक वापरकर्ता"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफाईल काढायचे?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"कार्य प्रोफाईल आधीपासून विद्यमान आहे आणि याद्वारे व्यवस्थापित केले आहे:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"हे कार्य प्रोफाईल %s वापरासाठी व्यवस्थापित केले आहे:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"पुढे जाण्यापूर्वी, "<a href="#read_this_link">"हे वाचा"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"आपण सुरू ठेवल्यास, या प्रोफाईल मधील सर्व अॅप्स आणि डेटा हटविला जाईल."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"हटवा"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द करा"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्‍यासाठी, आपल्‍याला आपले डिव्हाइस कूटबद्ध करणे आवश्‍यक असेल. यास कदाचित काही वेळ लागू शकतो."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"आपले डिव्हाइस सेट करणे सुरु ठेवण्यासाठी, आपल्याला ते कूटबद्ध करणे आवश्यक असेल. यास कदाचित काही वेळ लागू शकतो."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"कूटबद्ध करा"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"कूटबद्धीकरण पूर्ण"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्यासाठी टॅप करा"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"आपले कार्य प्रोफाईल सेट करणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा किंवा नंतर पुन्हा प्रयत्न करा."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"आपले डिव्‍हाइस कार्य प्रोफाईलचे समर्थन करीत नाही"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"या वापरकर्त्याकडे कार्य प्रोफाईल असू शकत नाही"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"व्यवस्थापित केलेल्‍या डिव्‍हाइसवर कार्य प्रोफाईल सेट केले जाऊ शकत नाही"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"कार्य प्रोफाईल तयार केले जाऊ शकत नाही कारण आपण आपल्‍या डिव्‍हाइसवरील वापरकर्त्यांच्या कमाल संख्‍येवर पोहचला आहात. किमान एक वापरकर्ता काढा आणि पुन्हा प्रयत्न करा."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"आपले कार्य प्रोफाईल या लाँचर अॅपद्वारे समर्थित नाही. आपल्याला सुसंगत असलेल्या लाँचरवर स्विच करण्याची आवश्यकता असेल."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द करा"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ठीक आहे"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"वापरकर्ता सेटअप अपूर्ण"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य डिव्‍हाइसचा वापरकर्ता"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"कार्य डिव्हाइस सेट करा"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"सेटअप डेटावर प्रक्रिया करीत आहे..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"वाय-फाय ला कनेक्ट करीत आहे..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"प्रशासन अॅप डाउनलोड करीत आहे..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"प्रशासन अॅप स्थापित करीत आहे..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"डिव्हाइस मालक सेट करीत आहे..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"आपले डिव्हाइस कूटबद्धीकरणास समर्थन देत नाही. आपल्या IT विभागाशी संपर्क साधा."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"सेट करणे थांबवायचे आणि आपला डिव्‍हाइस डेटा मिटवायचा?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द करा"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ठीक आहे"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"रीसेट करा"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"आपले डिव्हाइस सेट करणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"हे डिव्‍हाइस आधीपासून सेट केले आहे."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाय-फाय ला कनेक्ट करू शकलो नाही"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"हे डिव्हाइस फॅक्टरी रीसेट संरक्षणाद्वारे संरक्षित आहे. आपल्या IT विभागाशी संपर्क साधा."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"मिटवत आहे"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"कृपया प्रतीक्षा करा..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"एका checksum त्रुटीमुळे प्रशासन अॅप वापरणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अ‍ॅप डाउनलोड करणे शक्य झाले नाही"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"प्रशासन अॅप वापरणे शक्य नाही. ते गहाळ घटक किंवा दूषित आहेत. आपल्या IT विभागाशी संपर्क साधा."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अ‍ॅप स्‍थापित करणे शक्य झाले नाही"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"सेट करणे थांबवायचे?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"नाही"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"होय"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"रद्द करत आहे..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"प्रोफाईल सेटअप थांबवायचे?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"आपल्‍या संस्‍थेद्वारे वापरलेल्या डिव्‍हाइस व्यवस्थापन अ‍ॅपमधून आपण आपले कार्य प्रोफाईल नंतर सेट करू शकता."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"सुरू ठेवा"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"थांबा"</string>
-    <string name="provisioning" msgid="4512493827019163451">"तरतूद"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA प्रमाणपत्रे सेट करीत आहे"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"आपले प्रोफाईल सेट करा. सेटअप प्रारंभ करा"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"आपले प्रोफाईल सेट करा. कूटबद्धीकरण"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"आपले प्रोफाईल सेट करा. प्रगती दर्शवित आहे"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"आपले डिव्‍हाइस सेट करा. सेटअप प्रारंभ करा"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"आपले डिव्‍हाइस सेट करा. कूटबद्धीकरण"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"आपले डिव्‍हाइस सेट करा. प्रगती दर्शवित आहे"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"अधिक जाणून घ्‍या बटण"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> चिन्ह"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"सेटअप रद्द करून फॅक्टरी रीसेट करायचे?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"हे सेटअप समाप्त केल्याने आपले डिव्हाइस फॅक्टरी रीसेट केले जाईल आणि आपल्याला परत प्रथम स्क्रीनवर नेण्यात येईल."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"रद्द करा"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"डिव्हाइस रीसेट करा"</string>
-</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
new file mode 100644
index 0000000..b079bad
--- /dev/null
+++ b/res/values-mr/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"कार्य प्रोफाईल सेटअप"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"अरेरे!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"कार्य प्रोफाईल सेट करा"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"आपली संस्था हे प्रोफाईल नियंत्रित करते आणि ते सुरक्षित ठेवते. आपण आपल्या डिव्हाइसवरील अन्य प्रत्येकगोष्ट नियंत्रित करता."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"आपली संस्‍था या डिव्‍हाइसचे नियंत्रण करेल आणि त्यास सुरक्षित ठेवेल."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"खालील अ‍ॅपला या प्रोफाईलमध्‍ये प्रवेश करण्‍याची आवश्‍यकता असेल:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"खालील अ‍ॅप आपले डिव्‍हाइस व्यवस्‍थापित करेल:"</string>
+    <string name="next" msgid="1004321437324424398">"पुढील"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"आपले कार्य प्रोफाईल सेट करीत आहे..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"आपल्या प्रशासकाकडे आपला नेटवर्क क्रियाकलाप तसेच आपल्या डिव्हाइसचे स्थान, कॉल इतिहास आणि संपर्क शोध इतिहास यांसह या प्रोफाइलशी संबद्ध सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, परवानग्या आणि डेटा यांचे परीक्षण आणि व्यवस्थापन करण्याची क्षमता आहे.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>आपल्या संस्थेच्या गोपनीयता धोरणासह अधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"आपल्या प्रशासकाकडे आपला नेटवर्क क्रियाकलाप तसेच आपल्या डिव्हाइसचे स्थान, कॉल इतिहास आणि संपर्क शोध इतिहास यांसह या डिव्हाइसशी संबद्ध सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, परवानग्या आणि डेटा यांचे परीक्षण आणि व्यवस्थापन करण्याची क्षमता आहे.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>आपल्या संस्थेच्या गोपनीयता धोरणासह अधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"चोरीपासून-संरक्षण वैशिष्ट्ये वापरण्यासाठी, आपल्याकडे आपल्या डिव्हाइससाठी संकेतशब्द-संरक्षित स्क्रीन लॉक असणे आवश्यक आहे."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"आपल्या संस्थेच्या गोपनीयता धोरणांसह अधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"अधिक जाणून घ्या"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"रद्द करा"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ठीक आहे"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"मी संमती देतो"</string>
+    <string name="url_error" msgid="5958494012986243186">"ही लिंक प्रदर्शित करता येणार नाही."</string>
+    <string name="terms" msgid="8295436105384703903">"अटी"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"कार्य प्रोफाइल माहिती"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"व्यवस्थापित डिव्हाइस माहिती"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाईल"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"प्राथमिक वापरकर्ता"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"विद्यमान प्रोफाइल हटवायचे?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"आपल्याकडे आधीपासून पुढील अ‍ॅप वापरून व्यवस्थापित केलेले कार्य प्रोफाइल आहे:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"पुढे जाण्यापूर्वी, "<a href="#read_this_link">"हे वाचा"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"आपण सुरू ठेवल्यास, या प्रोफाईल मधील सर्व अॅप्स आणि डेटा हटविला जाईल."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"हटवा"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द करा"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"आपले कार्य प्रोफाइल सेट करण्यासाठी, आपले डिव्हाइस कूटबद्ध करणे आवश्यक आहे. यासाठी काही वेळ लागू शकतो."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"हे डिव्हाइस सेट करण्यासाठी, ते प्रथम कूटबद्ध करणे आवश्यक आहे. यासाठी काही वेळ लागू शकतो."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"हे डिव्‍हाइस कूटबद्ध करायचे?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"कूटबद्ध करा"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"कूटबद्धीकरण पूर्ण"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्यासाठी टॅप करा"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"आपले कार्य प्रोफाईल सेट करणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा किंवा नंतर पुन्हा प्रयत्न करा."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"कार्य प्रोफाइल जोडू शकत नाही"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"या वापरकर्त्याकडे कार्य प्रोफाइल असू शकत नाही. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"या वापरकर्त्याकडे कार्य प्रोफाइल असू शकत नाहीत. आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"व्यवस्थापित केलेल्‍या डिव्‍हाइसवर कार्य प्रोफाईल सेट केले जाऊ शकत नाही"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"या डिव्हाइसवर खूप जास्त वापरकर्ते असू शकतात. एखादा वापरकर्ता काढा, नंतर पुन्हा प्रयत्न करा."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"डिव्हाइस लाँचर बदला"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"हे लाँचर अ‍ॅप आपल्या कार्य प्रोफाइलद्वारे वापरले जाऊ शकत नाही"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द करा"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ठीक आहे"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"वापरकर्ता सेटअप अपूर्ण"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य डिव्‍हाइसचा वापरकर्ता"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"कार्य डिव्हाइस सेट करा"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"सेटअप डेटावर प्रक्रिया करीत आहे..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"वाय-फाय ला कनेक्ट करीत आहे..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"प्रशासन अॅप डाउनलोड करीत आहे..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"प्रशासन अॅप स्थापित करीत आहे..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"आवश्यक-नसलेले सिस्टीम अॅप्स काढत आहे..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"अखेरच्या सुधारणा करीत आहे..."</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"डिव्हाइस मालक सेट करीत आहे..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"डिव्हाइस प्रारंभ करत आहे..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"सेटअपसाठी आवश्यक असणार्‍या कूटबद्धीकरणाला हे डिव्हाइस अनुमती देत नाही. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"सेटअप थांबवून डिव्हाइस रीसेट करायचे?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"हे आपले डिव्हाइस रीसेट करेल आणि आपल्याला पहिल्या स्क्रीनकडे परत नेईल"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"सेट करणे थांबवायचे आणि आपला डिव्‍हाइस डेटा मिटवायचा?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द करा"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ठीक आहे"</string>
+    <string name="reset" msgid="6467204151306265796">"रीसेट करा"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"प्रोफाइल सेट करू शकत नाही"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"डिव्हाइस सेट करू शकत नाही"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"डिव्हाइस सेट करता आले नाही. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"मदतीसाठी आपल्या प्रशासकाशी संपर्क साधा"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"डिव्हाइस आधीच सेट केले आहे"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाय-फाय ला कनेक्ट करू शकलो नाही"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"आपल्या डिव्हाइसचे रीसेट संरक्षण चालू आहे. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"मिटवत आहे"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"कृपया प्रतीक्षा करा..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"चेकसम त्रुटीमुळे प्रशासक अ‍ॅप वापरता आले नाही. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अ‍ॅप डाउनलोड करणे शक्य झाले नाही"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"प्रशासक अ‍ॅप वापरू शकत नाही. त्याचे घटक गहाळ आहेत किंवा दूषित झालेले आहेत. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अ‍ॅप स्‍थापित करणे शक्य झाले नाही"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"सेट करणे थांबवायचे?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"नाही"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"होय"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"रद्द करत आहे..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"प्रोफाईल सेटअप थांबवायचे?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"आपण आपले कार्य प्रोफाइल नंतर आपल्या संस्थेच्या डिव्हाइस व्यवस्थापन अ‍ॅपमध्ये सेट करू शकता"</string>
+    <string name="continue_button" msgid="7177918589510964446">"सुरू ठेवा"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"थांबा"</string>
+    <string name="dismiss" msgid="9009534756748565880">"डिसमिस करा"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"आपण अशी कार्य प्रोफाइल तयार करणार आहात जिचे आपल्या संस्थेद्वारे व्यवस्थापन आणि परीक्षण केले जाईल. अटी लागू होतील."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"आपण अशी कार्य प्रोफाइल तयार करणार आहात जिचे आपल्या संस्थेद्वारे व्यवस्थापन आणि परीक्षण केले जाईल. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> कडील अटी लागू होतील."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"आपल्या कार्य अ‍ॅप्ससाठी प्रोफाइल तयार केले जाईल. या प्रोफाइलचे आणि आपल्या उर्वरित डिव्हाइसचे आपल्या संस्थेद्वारे व्यवस्थापन आणि परीक्षण केले जाईल. अटी लागू होतील."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"आपल्या कार्य अ‍ॅप्ससाठी प्रोफाइल तयार केले जाईल. या प्रोफाइलचे आणि आपल्या उर्वरित डिव्हाइसचे आपल्या संस्थेद्वारे व्यवस्थापन आणि परीक्षण केले जाईल. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> कडील अटी लागू होतील."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"हे डिव्हाइस <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> द्वारे व्‍यवस्‍थापित केले जाईल आणि सुरक्षित ठेवले जाईल. अटी लागू होतील. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"हे डिव्‍हाइस <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> द्वारे व्‍यवस्‍थापित केले जाईल आणि सुरक्षित ठेवले जाईल. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> कडील अटी लागू होतील. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"हा दुवा सुरक्षित नाही आणि डिव्हाइस सेटअप पूर्ण होईपर्यंत उघडला जाऊ शकत नाही: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"आपल्याला प्रश्न असल्यास, आपल्या <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> शी संपर्क साधा."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"आपल्याला प्रश्न असल्यास, आपल्या संस्थेच्या प्रशासकाशी संपर्क साधा"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"सेटअप पूर्ण झाला नाही. मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"मदतीसाठी, आपल्या प्रशासकाशी संपर्क साधा"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"संस्थेचा प्रशासक"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> पुढील अ‍ॅप वापरून या डिव्हाइसचे व्यवस्थापन आणि परीक्षण करेल:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"आपली संस्‍था"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"आपली संस्था"</string>
+    <string name="view_terms" msgid="7230493092383341605">"अटी पहा"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"स्वीकारा व सुरू ठेवा"</string>
+    <string name="close" msgid="7208600934846389439">"बंद करा"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"आपले डिव्हाइस सेट करा"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"आपण ज्या पद्धतीने कार्य करता ती पद्धत बदला"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"वैैयक्तिक मधून कार्य स्वतंत्र करा"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"कार्यसंबंधित अॅप्ससाठी एक ठिकाण"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"आपले काम पूर्ण झाल्‍यानंतर बंद करा"</string>
+    <string name="provisioning" msgid="4512493827019163451">"तरतूद"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA प्रमाणपत्रे सेट करीत आहे"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"आपली प्रोफाइल सेट करा"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"कार्य प्रोफाइल वापरून, आपण वैयक्तिक डेटामधून कार्य डेटा वेगळा करू शकता"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"कार्य प्रोफाइल वापरून, आपण आपले कार्य अॅप्स एका ठिकाणी ठेवू शकता"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"आपले प्रोफाईल सेट करा. कूटबद्धीकरण"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"आपले प्रोफाईल सेट करा. प्रगती दर्शवित आहे"</string>
+    <string name="setup_device" msgid="6725265673245816366">"आपले डिव्हाइस सेट करा"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"आपले डिव्‍हाइस सेट करा. कूटबद्धीकरण"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"आपले डिव्‍हाइस सेट करा. प्रगती दर्शवित आहे"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"अधिक जाणून घ्‍या बटण"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> चिन्ह"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> विभाग मथळा."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> विभाग सामग्री: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"विस्तृत करा"</string>
+    <string name="collapse" msgid="7817530505064432580">"संकुचित करा"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"दुव्यांच्या सूचीमध्ये प्रवेश करा"</string>
+    <string name="access_links" msgid="7991363727326168600">"प्रवेश दुवे"</string>
+    <string name="access_terms" msgid="1982500872249763745">"अटींमध्ये प्रवेश करा"</string>
+    <string name="read_terms" msgid="1745011123626640728">"अटी वाचा"</string>
+    <string name="close_list" msgid="9053538299788717597">"सूची बंद करा"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"सेटअप रद्द करून फॅक्टरी रीसेट करायचे?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"हे सेटअप समाप्त केल्याने आपले डिव्हाइस फॅक्टरी रीसेट केले जाईल आणि आपल्याला परत प्रथम स्क्रीनवर नेण्यात येईल."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"रद्द करा"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"डिव्हाइस रीसेट करा"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> आणि <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> आणि <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
deleted file mode 100644
index 984b341..0000000
--- a/res/values-ms-rMY/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Persediaan profil kerja"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Op!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Sediakan profil kerja"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasi anda mengawal profil ini dan memastikan profil selamat. Anda mengawal segala perkara lain pada peranti anda."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Organisasi anda akan mengawal peranti ini dan memastikannya selamat."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Apl berikut perlu mengakses profil ini:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Apl berikut akan mengurus peranti anda:"</string>
-    <string name="next" msgid="1004321437324424398">"Seterusnya"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Menyediakan profil kerja anda…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Pentadbir anda berupaya memantau dan mengurus tetapan, akses korporat, apl, kebenaran dan data yang dikaitkan dengan profil ini, termasuk aktiviti rangkaian serta lokasi, sejarah panggilan dan sejarah carian kenalan peranti anda."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Pentadbir anda berupaya memantau dan mengurus tetapan, akses korporat, apl, kebenaran, ciri perlindungan kecurian dan data yang dikaitkan dengan peranti ini, termasuk aktiviti rangkaian dan maklumat lokasi peranti anda."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Untuk menggunakan ciri perlindungan kecurian, anda mesti mempunyai kunci skrin yang dilindungi kata laluan untuk peranti anda."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hubungi pentadbir anda untuk mendapatkan maklumat lanjut, termasuk dasar privasi organisasi anda."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Ketahui lebih lanjut"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Batal"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Saya bersetuju"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil kerja"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Pengguna utama"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Alih keluar profil kerja?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profil kerja sudah wujud dan diurus oleh:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Profil kerja ini diurus untuk %s menggunakan:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Sebelum meneruskan, "<a href="#read_this_link">"baca ini"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jika anda meneruskan, semua apl dan data dalam profil ini akan dipadamkan."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Padam"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Untuk meneruskan penyediaan profil kerja anda, anda perlu menyulitkan peranti anda. Proses ini boleh mengambil masa yang lama."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Untuk terus menyediakan peranti anda, anda perlu menyulitkan peranti itu. Proses ini boleh mengambil masa yang lama."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Sulitkan"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Penyulitan selesai"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ketik untuk terus menyediakan profil kerja anda"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tidak dapat menyediakan profil kerja anda. Hubungi jabatan IT anda atau cuba sebentar lagi."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Peranti anda tidak menyokong profil kerja"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Pengguna ini tidak boleh mempunyai profil kerja"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Profil kerja tidak boleh disediakan pada peranti terurus"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Profil kerja tidak dapat dibuat kerana anda telah mencapai bilangan maksimum pengguna pada peranti anda. Alih keluar sekurang-kurangnya seorang pengguna, kemudian cuba lagi."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profil kerja anda tidak disokong oleh apl pelancar ini. Anda perlu bertukar kepada pelancar yang serasi."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Batal"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Persediaan Pengguna Tidak Lengkap"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Pengguna peranti kerja"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Sediakan peranti kerja"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Memproses data persediaan…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Menyambung ke Wi-Fi…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Memuat turun apl pentadbir…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Memasang apl pentadbir…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Menetapkan pemilik peranti…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Peranti anda tidak menyokong penyulitan. Hubungi jabatan IT anda."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Berhenti membuat persediaan dan padamkan data peranti anda?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Batal"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Tetapkan semula"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Tidak dapat menyediakan peranti anda. Hubungi jabatan IT anda."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Peranti ini sudah disediakan."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Tidak boleh menyambung kepada Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Peranti ini dikunci oleh perlindungan tetapan semula kilang. Hubungi bahagian IT anda."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Memadam"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sila tunggu..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Tidak dapat menggunakan apl pentadbir kerana ralat semak jumlah. Hubungi jabatan IT anda."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Tidak dapat memuat turun apl pentadbir"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Tidak dapat menggunakan apl pentadbir. Apl ketiadaan komponen atau rosak. Hubungi jabatan IT anda."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Tidak dapat memasang apl pentadbir"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Berhenti membuat persediaan?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Tidak"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ya"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Membatalkan…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Hentikan persediaan profil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Anda boleh menyediakan profil kerja anda selepas ini daripada apl pengurusan peranti yang digunakan oleh organisasi anda."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Teruskan"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Berhenti"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Memperuntukkan"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Menyediakan sijil CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Sediakan profil anda. Mulakan persediaan"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Sediakan profil anda. Penyulitan"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Sediakan profil anda. Menunjukkan kemajuan"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Sediakan peranti anda. Mulakan persediaan"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Sediakan peranti anda. Penyulitan"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Sediakan peranti anda. Menunjukkan kemajuan"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Butang ketahui lebih lanjut"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikon <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Tamatkan persediaan &amp; buat ttpn smla kilang?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Tindakan menamatkan persediaan ini akan menjalankan penetapan semula kilang pada peranti dan membawa anda ke skrin yang pertama."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Batal"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Tetapkan semula peranti"</string>
-</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
new file mode 100644
index 0000000..39a863a
--- /dev/null
+++ b/res/values-ms/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Persediaan profil kerja"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Op!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Sediakan profil kerja"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasi anda mengawal profil ini dan memastikan profil selamat. Anda mengawal segala perkara lain pada peranti anda."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Organisasi anda akan mengawal peranti ini dan memastikannya selamat."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Apl berikut perlu mengakses profil ini:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Apl berikut akan mengurus peranti anda:"</string>
+    <string name="next" msgid="1004321437324424398">"Seterusnya"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Menyediakan profil kerja anda…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Pentadbir anda berupaya memantau dan mengurus tetapan, akses korporat, apl, kebenaran dan data yang berkaitan dengan profil ini, termasuk aktiviti rangkaian anda serta lokasi, sejarah panggilan dan sejarah carian kenalan peranti anda.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hubungi pentadbir anda untuk mendapatkan maklumat lanjut, termasuk dasar privasi organisasi anda."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Pentadbir anda berupaya memantau dan mengurus tetapan, akses korporat, apl, kebenaran dan data yang berkaitan dengan peranti ini, termasuk aktiviti rangkaian anda serta lokasi, sejarah panggilan dan sejarah carian kenalan peranti anda.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hubungi pentadbir anda untuk mendapatkan maklumat lanjut, termasuk dasar privasi organisasi anda."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Untuk menggunakan ciri perlindungan kecurian, anda mesti mempunyai kunci skrin yang dilindungi kata laluan untuk peranti anda."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hubungi pentadbir anda untuk mendapatkan maklumat lanjut, termasuk dasar privasi organisasi anda."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Ketahui lebih lanjut"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Batal"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Saya bersetuju"</string>
+    <string name="url_error" msgid="5958494012986243186">"Pautan ini tidak boleh dipaparkan."</string>
+    <string name="terms" msgid="8295436105384703903">"Syarat"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Maklumat profil kerja"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Maklumat peranti terurus"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil kerja"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Pengguna utama"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Padamkan profil semasa?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Anda sudah mempunyai profil kerja yang diurus menggunakan apl berikut:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Sebelum meneruskan, "<a href="#read_this_link">"baca ini"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Jika anda meneruskan, semua apl dan data dalam profil ini akan dipadamkan."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Padam"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Untuk menyediakan profil kerja, peranti anda perlu disulitkan. Proses ini mungkin mengambil masa yang lama."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Untuk menyediakan peranti ini, sulitkan peranti terlebih dahulu. Proses ini mungkin mengambil masa yang lama."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Sulitkan peranti ini?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Sulitkan"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Penyulitan selesai"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ketik untuk terus menyediakan profil kerja anda"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tidak dapat menyediakan profil kerja anda. Hubungi jabatan IT anda atau cuba sebentar lagi."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Tidak dapat menambahkan profil kerja"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Pengguna ini tidak boleh mempunyai profil kerja. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Pengguna ini tidak boleh mempunyai profil kerja. Hubungi pentadbir anda."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Profil kerja tidak boleh disediakan pada peranti terurus"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Peranti ini mungkin digunakan oleh terlalu ramai pengguna. Alih keluar seorang pengguna, kemudian cuba lagi."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Tukar pelancar peranti"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Apl pelancar ini tidak dapat digunakan oleh profil kerja anda"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Batal"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Persediaan Pengguna Tidak Lengkap"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Pengguna peranti kerja"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Sediakan peranti kerja"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Memproses data persediaan…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Menyambung ke Wi-Fi…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Memuat turun apl pentadbir…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Memasang apl pentadbir…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Mengalih keluar apl sistem yg tdk diperlukan…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Melaksanakan kemasan akhir…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Menetapkan pemilik peranti…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Memulakan peranti..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Peranti ini tidak membenarkan penyulitan, yang diperlukan untuk persediaan. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Hentikan persediaan &amp; tetapkan semula peranti?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Tindakan ini akan menetapkan semula peranti dan membawa anda ke skrin yang pertama."</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Berhenti membuat persediaan dan padamkan data peranti anda?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Batal"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
+    <string name="reset" msgid="6467204151306265796">"Tetapkan semula"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Tidak dapat menyediakan profil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Tidak dapat menyediakan peranti"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Tidak dapat menyediakan peranti. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Hubungi pentadbir anda untuk mendapatkan bantuan"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Peranti sudah disediakan"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Tidak boleh menyambung kepada Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Perlindungan tetapan semula peranti anda dihidupkan. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Memadam"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sila tunggu..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Tidak dapat menggunakan apl pentadbir kerana ralat hasil tambah semak. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Tidak dapat memuat turun apl pentadbir"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Tidak dapat menggunakan apl pentadbir. Apl ketiadaan komponen atau rosak. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Tidak dapat memasang apl pentadbir"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Berhenti membuat persediaan?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Tidak"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ya"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Membatalkan…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Hentikan persediaan profil?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Anda boleh menyediakan profil kerja anda selepas ini dalam apl pengurusan peranti organisasi anda"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Teruskan"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Berhenti"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ketepikan"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Anda akan membuat profil kerja yang diurus dan dipantau oleh organisasi anda. Syarat dikenakan."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Anda akan membuat profil kerja yang diurus dan dipantau oleh organisasi anda. Syarat daripada <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> dikenakan."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Satu profil akan dibuat untuk apl kerja anda. Profil ini dan peranti anda yang selebihnya diurus dan dipantau oleh organisasi anda. Syarat dikenakan."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Satu profil akan dibuat untuk apl kerja anda. Profil ini dan peranti anda yang selebihnya diurus dan dipantau oleh organisasi anda. Syarat daripada <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> dikenakan."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Peranti ini akan diurus dan dilindungi oleh <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Syarat dikenakan. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Peranti ini akan diurus dan dilindungi oleh <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Syarat daripada <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> dikenakan. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Pautan ini tidak selamat dan tidak dapat dibuka sehingga persediaan peranti selesai. <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Jika anda ingin mengemukakan soalan, hubungi <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> anda."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Jika anda ingin mengemukakan soalan, hubungi pentadbir organisasi anda"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Persediaan belum selesai. Untuk mendapatkan bantuan, hubungi pentadbir anda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Untuk mendapatkan bantuan, hubungi pentadbir anda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"pentadbir organisasi"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> akan mengurus dan memantau peranti ini menggunakan apl berikut:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organisasi anda"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organisasi anda"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Lihat syarat"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Terima &amp; teruskan"</string>
+    <string name="close" msgid="7208600934846389439">"Tutup"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Sediakan peranti anda"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ubah cara anda bekerja"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Asingkan kerja daripada peribadi"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Satu tempat untuk apl kerja"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Matikan kerja setelah selesai"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Memperuntukkan"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Menyediakan sijil CA"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Sediakan profil anda"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Dengan menggunakan profil kerja, anda boleh mengasingkan data kerja daripada data peribadi"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Dengan menggunakan profil kerja, anda dapat menyimpan apl kerja anda di satu tempat"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Sediakan profil anda. Penyulitan"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Sediakan profil anda. Menunjukkan kemajuan"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Sediakan peranti anda"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Sediakan peranti anda. Penyulitan"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Sediakan peranti anda. Menunjukkan kemajuan"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Butang ketahui lebih lanjut"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikon <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Tajuk bahagian <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Kandungan bahagian <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Kembangkan"</string>
+    <string name="collapse" msgid="7817530505064432580">"Runtuhkan"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Akses senarai pautan"</string>
+    <string name="access_links" msgid="7991363727326168600">"Akses pautan"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Akses syarat"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Baca syarat"</string>
+    <string name="close_list" msgid="9053538299788717597">"Tutup senarai"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Tamatkan persediaan &amp; buat ttpn smla kilang?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Tindakan menamatkan persediaan ini akan menjalankan penetapan semula kilang pada peranti dan membawa anda ke skrin yang pertama."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Batal"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Tetapkan semula peranti"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> dan <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> dan <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
deleted file mode 100644
index bd0a306..0000000
--- a/res/values-my-rMM/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"အလုပ်ပရိုဖိုင် စနစ်ထည့်သွင်းမှု"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"အူးပ်စ်!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"အလုပ်ပရိုဖိုင်ကို စနစ်ထည့်သွင်းမှုပြုလုပ်ပါ"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"သင်၏ အဖွဲ့အစည်းက ဒီပရိုဖိုင်ကို ထိန်းချုပ်လျက် လုံခြုံအောင် ထားရှိပါသည်။ သင်သည် သင့် ကိရိယာ ထဲက ကျန်အရာများကို ထိန်းချုပ်ပါသည်။"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"သင့်အဖွဲ့အစည်းက ဒီကိရိယာကို ထိန်းချုပ်လျက် လုံခြုံအောင် စောင့်ရှောက်ပေးမည်။"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"အောက်ပါ အက်ပ်က ဒီပရိုဖိုင်ကို ရယူသုံးရန် လိုအပ်မည်:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"အောက်ပါအပ်ဖ်မှ သင့်ကိရိယာကို စီမံခန့်ခွဲလိမ့်မည်။"</string>
-    <string name="next" msgid="1004321437324424398">"ရှေ့သို့"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"သင်၏အလုပ် ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်နေသည်..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"သင့်စီမံခန့်ခွဲသူသည် ကွန်ရက်လုပ်ဆောင်ချက်၊ စက်ပစ္စည်း၏တည်နေရာ၊ ခေါ်ဆိုမှုမှတ်တမ်းနှင့် အဆက်အသွယ် ရှာဖွေမှုမှတ်တမ်းများအပါအဝင် ဆက်တင်များ၊ ပူးပေါင်းအသုံးပြုမှု၊ အက်ပ်များ၊ ခွင့်ပြုချက်များနှင့် သင့်ပရိုဖိုင်နှင့်ဆက်စပ်လျက်ရှိသည့် ဒေတာများကို စောင့်ကြည့်ပြီး စီမံခန့်ခွဲနိုင်ပါသည်။"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"သင့်စီမံခန့်ခွဲသူသည် ကွန်ရက်လုပ်ဆောင်ချက်နှင့် သင့်စက်ပစ္စည်း၏တည်နေရာ အချက်အလက်များအပါအဝင် ဆက်တင်များ၊ ပူးပေါင်းအသုံးပြုမှုများ၊ အက်ပ်များ၊ ခွင့်ပြုချက်များ၊ သူခိုးရန်မှ ကာကွယ်ခြင်း ဝန်ဆောင်မှုများနှင့် ဤစက်ပစ္စည်းနှင့် ဆက်စပ်နေသည့် ဒေတာများကို စီမံခန့်ခွဲခွင့်ရှိပါသည်။"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"သူခိုးရန်မှကာကွယ်ခြင်း ဝန်ဆောင်မှုများကိုအသုံးပြုရန်၊ သင့်စက်ပစ္စည်းတွင် စကားဝှက်ဖြင့်ကာကွယ်ထားသည့် ဖန်သားပြင်လော့ခ်ချခြင်း ရှိရပါမည်။"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"သင့်အဖွဲ့အစည်း၏ ပုဂ္ဂိုလ်ရေးဆိုင်ရာ လုံခြုံရေးမူဝါဒများအပါအဝင်၊ နောက်ထပ်အချက်အလက်များအတွက် သင့်စီမံခန့်ခွဲသူကိုဆက်သွယ်ပါ။"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"ပိုမိုသိလိုလျှင်"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"မလုပ်တော့"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"အိုကေ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"သဘောတူခွင့်ပြုသည်"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"အလုပ် ပရိုဖိုင်"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ပထမအသုံးပြုသူ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"အလုပ်ပရိုဖိုင် ဖယ်မည်လား?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"အလုပ်ပရိုဖိုင်တစ်ခု ရှိပြီးဖြစ်ကာ ၎င်းအား စီမံခန့်ခွဲသည်မှာ-"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ဤအလုပ်ပရိုဖိုင်အား ဖော်ပြပါအား သုံးရန်အတွက် စီမံသည်-"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"ရှေ့မဆက်မှီ၊ "<a href="#read_this_link">"ဖတ်ပါ"</a>"။"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"သင်ရှေ့ဆက်လျှင်၊ ဤပရိုဖိုင်ရှိ အက်ပ်များနှင့် ဒေတာများအားလုံးကို ဖျက်လိုက်ပါမည်။"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"ဖျက်ရန်"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"မလုပ်တော့"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"သင့် အလုပ်ပရိုဖိုင်ကို ဆက်လက် တပ်ဆင်သတ်မှတ်ရန်၊ သင့်စက်အား လျှို့ဝှက်ကုဒ် သွင်းရမည်။ အချိန်အနည်းငယ် ကြာနိုင်သည်။"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"သင့်စက်ပစ္စည်းအား ဆက်လက် တပ်ဆင်ရန်၊ လုံခြုံအောင်ပြုလုပ်ရန် လိုအပ်သည်။ ၎င်းသည် အချိန်အနည်းငယ် ယူရပါမည်။"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"လျှို့ဝှက်ကုဒ်သွင်း"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"လျှို့ဝှက်ကုဒ် သွင်းမှု ပြီးဆုံးသွားပြီ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"သင့်အလုပ်ပရိုဖိုင်ကို ရှေ့ဆက်စနစ်ထည့်သွင်းမှု ပြုလုပ်ရန် တို့ပါ"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"သင်၏ အလုပ် ပရိုဖိုင်ကို စဖွင့်စီစဉ် မရခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ သို့မဟုတ် နောက်မှာ ထပ်စမ်းပါ။"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"သင့်စက်က အလုပ်ပရိုဖိုင်များကို မပံ့ပိုးပါ။"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ဒီအသုံးပြုသူထံတွင် အလုပ် ပရိုဖိုင် မရှိနိုင်ပါ"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"စီမံထားသော စက်ကိရိယာတစ်ခုတွင် အလုပ်ပရိုဖိုင်များ ပြင်ဆင်သတ်မှတ်နိုင်ခြင်း မရှိပါ"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"သင့်စက်ကိရိယာတွင် သုံးစွဲသူ အများဆုံးအရေအတွက်သို့ ရောက်ရှိပြီးဖြစ်သောကြောင့် အလုပ်ပရိုဖိုင်းအား မဖန်တီးနိုင်ပါ။ သုံးစွဲသူတစ်ယောက်အား အနည်းဆုံး ဖယ်ထုတ်ပြီး ထပ်မံကြိုးစားပါ။"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"သင့် အလုပ် ပရိုဖိုင်ကို ဒီဖွင့်တင်ရေး အက်ပ်မှ မပံ့ပိုးပါ။ သင်သည် လိုက်ဖက်သည့် ဖွင့်တင်ရေးစက်သို့ ပြောင်းရန် လိုသည်။"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"မလုပ်တော့"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"အိုကေ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"အသုံးပြုသူ ပြင်ဆင်သတ်မှတ်မှု မပြီးစီးပါ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"အလုပ်စက်ပစ္စည်း အသုံးပြုသူ"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"အလုပ်စက်ပစ္စည်းကို စနစ်ထည့်သွင်းမှုပြုလုပ်ပါ"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"ဖွဲ့စည်းပုံအချက်အလက်ကို စီမံဆောင်ရွက်နေသည်..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ကြိုးမဲ့အင်တာနက်သို့ ချိတ်ဆက်နေသည်..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"စီမံအုပ်ချုပ်သူ အပ်ဖ်ကို ဒေါင်းလုဒ်လုပ်နေသည်..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"စီမံအုပ်ချုပ်သူ အပ်ဖ်ကို ထည့်သွင်းနေသည်..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"စက်ပစ္စည်းပိုင်ရှင်ကို အသင့်သုံးနိုင်ရန်စီစဉ်နေသည်..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"သင့်စက်ပစ္စည်းသည် အသွင်ဝှက်ခြင်းကို ပံ့ပိုးမှုမရှိပါ။ သင့်အိုင်တီဌာနကို ဆက်သွယ်ပါ။"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"စဖွင့်စီစဉ်မှုအား ရပ်စဲကာ သင့် ကိရိယာ၏ဒေတာကို ဖျက်ပစ်မည်လား?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"မလုပ်တော့"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"အိုကေ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ပြန်ညှိရန်"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"သင်၏ ကိရိယာကို စဖွင့်စီစဉ် မပေးနိုင်ခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ဤစက်အား ပြင်ဆင်သတ်မှတ်ပြီး၏။"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ဝိုင်−ဖိုင်ကို ချိတ်ဆက်မရပါ"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ဤစက်ပစ္စည်းကို စက်ရုံ ပြန်လည်သတ်မှတ်မှု ကာကွယ်ခြင်းဖြင့် သော့ခတ်ထားသည်။ သင့်အိုင်တီဌာနကို ဆက်သွယ်ပါ။"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ဖျက်နေသည်"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ခဏစောင့်ပါ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"checksum အမှားကြောင့် စီမံအုပ်ချုပ်သူ အက်ပ်ကို မသုံးနိုင်ခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"အက်ဒမင် အက်ပ်ကို ဒေါင်းလုဒ် မလုပ်နိုင်ခဲ့ပါ။"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"စီမံအုပ်ချုပ်သူ အက်ပ်ကို မသုံးနိုင်ခဲ့ပါ။ ၎င်းထဲက အစိတ်အပိုင်းများ ​ပျောက်နေ သို့မဟုတ် ပျက်စီးနေသည်။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"အက်ဒမင် အက်ပ်ကို မတပ်ဆင်နိုင်ပါ။"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"စဖွင့်သတ်မှတ်ခြင်း ရပ်စဲမလား?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ပယ်ဖျက်နေသည်..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ကိုယ်ရေးအချက်အလက် အသင့်သုံးနိုင်ရန်စီစဉ်ခြင်းကိုရပ်တန့်လိုပါသလား။"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"သင့်အဖွဲ့အစည်းမှအသုံးပြုတဲ့ စက်ပစ္စည်းစီမံခန့်ခွဲမှုအပ်ဖ်ကနေ နောက်ပိုင်းတွင်သင်၏အလုပ်ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်နိုင်သည်။"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ဆက်လုပ်ရန်"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ရပ်ပါ"</string>
-    <string name="provisioning" msgid="4512493827019163451">"စီမံဆောင်ရွက်ပေးနေသည်။"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA လက်မှတ်များကို တည်ဆောက်ခြင်း"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"သင့်ရဲ့ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ အသင့်သုံးနိုင်ရန်စတင်လုပ်ဆောင်ပါ"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"သင့်ရဲ့ကိုယ်ရေးအချက်အလက်ကိုအသင့်အသုံးပြုရန်စီစဉ်ပါ။ လျှို့ဝှက်ကုဒ်သွင်းခြင်း"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"သင့်ရဲ့ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ တိုးတက်မှုကိုဖော်ပြပါ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"သင့်ရဲ့စက်ပစ္စည်းကိုအသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ အသင့်သုံးနိုင်ရန်စတင်‌လုပ်ဆောင်ပါ"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"သင့်ရဲ့စက်ပစ္စည်းကိုအသုံးပြုနိုင်ရန်စီစဉ်ပါ။ လျှို့ဝှက်ကုဒ်သွင်းခြင်း"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"သင့်ရဲ့စက်ပစ္စည်းကိုအသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ တိုးတက်မှုကိုဖော်ပြပါ"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"ခလုတ်များအကြောင်းထပ်လေ့လာပါ"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ကိုယ်စားပြုရုပ်ပုံ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"စနစ်ထည့်သွင်းမှု အဆုံးသတ်ပြီး စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်မလား။"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ဤစနစ်ထည့်သွင်းမှုကို အဆုံးသတ်ခြင်းသည် သင့်စက်ပစ္စည်းကို စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်ပေးမည်ဖြစ်ပြီး ပထမဦးဆုံးစာမျက်နှာသို့ ပို့ပေးပါလိမ့်မည်။"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"မလုပ်တော့"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"စက်ပစ္စည်းကို မူလဆက်တင်သို့ ပြန်လည်သတ်မှတ်ပါ"</string>
-</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
new file mode 100644
index 0000000..0db1b0e
--- /dev/null
+++ b/res/values-my/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"အလုပ်ပရိုဖိုင် စနစ်ထည့်သွင်းမှု"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"အူးပ်စ်!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"အလုပ်ပရိုဖိုင်ကို စနစ်ထည့်သွင်းမှုပြုလုပ်ပါ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"သင်၏ အဖွဲ့အစည်းက ဒီပရိုဖိုင်ကို ထိန်းချုပ်လျက် လုံခြုံအောင် ထားရှိပါသည်။ သင်သည် သင့် ကိရိယာ ထဲက ကျန်အရာများကို ထိန်းချုပ်ပါသည်။"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"သင့်အဖွဲ့အစည်းက ဒီကိရိယာကို ထိန်းချုပ်လျက် လုံခြုံအောင် စောင့်ရှောက်ပေးမည်။"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"အောက်ပါ အက်ပ်က ဒီပရိုဖိုင်ကို ရယူသုံးရန် လိုအပ်မည်:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"အောက်ပါအပ်ဖ်မှ သင့်ကိရိယာကို စီမံခန့်ခွဲလိမ့်မည်။"</string>
+    <string name="next" msgid="1004321437324424398">"ရှေ့သို့"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"သင်၏အလုပ် ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်နေသည်..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"စီမံခန့်ခွဲသူသည် စက်ပစ္စည်း၏တည်နေရာ၊ ခေါ်ဆိုမှုမှတ်တမ်းနှင့် အဆက်အသွယ်ရှာဖွေမှု မှတ်တမ်းများအပြင် သင်၏ ကွန်ရက်လုပ်ဆောင်ချက်များ အပါအဝင် ဆက်တင်များ၊ ပူးပေါင်းအသုံးပြုမှု၊ အက်ပ်များ၊ ခွင့်ပြုချက်များနှင့် သင့်ပရိုဖိုင်နှင့် ဆက်စပ်လျက်ရှိသည့် ဒေတာများကို စောင့်ကြည့်စီမံနိုင်ပါသည်။<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>သင့်အဖွဲ့အစည်း၏ ပုဂ္ဂိုလ်ရေးဆိုင်ရာ မူဝါဒများ အပါအဝင် ထပ်မံသိရှိလိုပါက စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"စီမံခန့်ခွဲသူသည် စက်ပစ္စည်း၏တည်နေရာ၊ ခေါ်ဆိုမှုမှတ်တမ်းနှင့် အဆက်အသွယ်ရှာဖွေမှု မှတ်တမ်းများအပြင် သင်၏ ကွန်ရက်လုပ်ဆောင်ချက်များ အပါအဝင် ဆက်တင်များ၊ ပူးပေါင်းအသုံးပြုမှု၊ အက်ပ်များ၊ ခွင့်ပြုချက်များနှင့် ဤစက်ပစ္စည်းနှင့် ဆက်စပ်လျက်ရှိသည့် ဒေတာများကို စောင့်ကြည့်စီမံနိုင်ပါသည်။<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>သင့်အဖွဲ့အစည်း၏ ပုဂ္ဂိုလ်ရေးဆိုင်ရာ မူဝါဒများ အပါအဝင် ထပ်မံသိရှိလိုပါက စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"သူခိုးရန်မှကာကွယ်ခြင်း ဝန်ဆောင်မှုများကိုအသုံးပြုရန်၊ သင့်စက်ပစ္စည်းတွင် စကားဝှက်ဖြင့်ကာကွယ်ထားသည့် ဖန်သားပြင်လော့ခ်ချခြင်း ရှိရပါမည်။"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"သင့်အဖွဲ့အစည်း၏ ပုဂ္ဂိုလ်ရေးဆိုင်ရာ လုံခြုံရေးမူဝါဒများအပါအဝင်၊ နောက်ထပ်အချက်အလက်များအတွက် သင့်စီမံခန့်ခွဲသူကိုဆက်သွယ်ပါ။"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ပိုမိုသိလိုလျှင်"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"မလုပ်တော့"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"အိုကေ"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"သဘောတူခွင့်ပြုသည်"</string>
+    <string name="url_error" msgid="5958494012986243186">"ဤလင့်ခ်ကို ဖော်ပြ၍မရပါ။"</string>
+    <string name="terms" msgid="8295436105384703903">"စည်းကမ်းချက်များ"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"အလုပ်ပရိုဖိုင် အချက်အလက်များ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"စီမံခန့်ခွဲထားသည့် စက်ပစ္စည်းအချက်အလက်များ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"အလုပ် ပရိုဖိုင်"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ပထမအသုံးပြုသူ"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"လက်ရှိပရိုဖိုင်ကို ဖျက်လိုပါသလား။"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"အောက်ပါအက်ပ်ကို သုံး၍ စီမံခန့်ခွဲထားသော အလုပ်ပရိုဖိုင်တစ်ခု ရှိပြီးသားဖြစ်သည်−"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"ရှေ့မဆက်မှီ၊ "<a href="#read_this_link">"ဖတ်ပါ"</a>"။"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"သင်ရှေ့ဆက်လျှင်၊ ဤပရိုဖိုင်ရှိ အက်ပ်များနှင့် ဒေတာများအားလုံးကို ဖျက်လိုက်ပါမည်။"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ဖျက်ရန်"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"မလုပ်တော့"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"သင်၏ အလုပ်ပရိုဖိုင်ကို စနစ်ထည့်သွင်းနိုင်ရန်အတွက် အသွင်ဝှက်ထားရပါမည်။ အချိန်အနည်းငယ် ကြာနိုင်သည်။"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ဤစက်ပစ္စည်းကို စနစ်ထည့်သွင်းနိုင်ရန်အတွက် ဦးစွာအသွင်ဝှက်ထားရပါမည်။ အချိန်အနည်းငယ် ကြာနိုင်သည်။"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"အသွင်ဝှက်လိုပါသလား။"</string>
+    <string name="encrypt" msgid="1749320161747489212">"အသွင်ဝှက်ရန်"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"လျှို့ဝှက်ကုဒ် သွင်းမှု ပြီးဆုံးသွားပြီ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"သင့်အလုပ်ပရိုဖိုင်ကို ရှေ့ဆက်စနစ်ထည့်သွင်းမှု ပြုလုပ်ရန် တို့ပါ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"သင်၏ အလုပ် ပရိုဖိုင်ကို စဖွင့်စီစဉ် မရခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ သို့မဟုတ် နောက်မှာ ထပ်စမ်းပါ။"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"အလုပ်ပရိုဖိုင်ကို ထည့်၍မရပါ"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ဤအသုံးပြုသူအတွက် အလုပ်ပရိုဖိုင်ပြုလုပ်၍မရပါ။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ဤအသုံးပြုသူအတွက် အလုပ်ပရိုဖိုင်ပြုလုပ်၍မရပါ။ သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"စီမံထားသော စက်ကိရိယာတစ်ခုတွင် အလုပ်ပရိုဖိုင်များ ပြင်ဆင်သတ်မှတ်နိုင်ခြင်း မရှိပါ"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ဤစက်ပစ္စည်းတွင် အသုံးပြုသူ အလွန်များနေသောကြောင့် ဖြစ်နိုင်ပါသည်။ အသုံးပြုသူတစ်ဦးကို ဖယ်ရှားပြီး ထပ်လုပ်ကြည့်ပါ။"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"စက်ပစ္စည်း launcher ကို ပြောင်းပါ"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"ဤ launcher အက်ပ်ကို သင်၏ အလုပ်ပရိုဖိုင်အတွက် အသုံးပြု၍မရပါ"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"မလုပ်တော့"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"အိုကေ"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"အသုံးပြုသူ ပြင်ဆင်သတ်မှတ်မှု မပြီးစီးပါ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"အလုပ်စက်ပစ္စည်း အသုံးပြုသူ"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"အလုပ်စက်ပစ္စည်းကို စနစ်ထည့်သွင်းမှုပြုလုပ်ပါ"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"ဖွဲ့စည်းပုံအချက်အလက်ကို စီမံဆောင်ရွက်နေသည်..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"ကြိုးမဲ့အင်တာနက်သို့ ချိတ်ဆက်နေသည်..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"စီမံအုပ်ချုပ်သူ အပ်ဖ်ကို ဒေါင်းလုဒ်လုပ်နေသည်..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"စီမံအုပ်ချုပ်သူ အပ်ဖ်ကို ထည့်သွင်းနေသည်..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"မလိုအပ်သည့် စနစ်အက်ပ်များကို ဖယ်ရှားနေသည်…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"အပြီးသတ်ပြင်ဆင်မှုများ ပြုလုပ်နေသည်…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"စက်ပစ္စည်းပိုင်ရှင်ကို အသင့်သုံးနိုင်ရန်စီစဉ်နေသည်..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"စက်ပစ္စည်းကို စတင်နေသည်…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ဤစက်ပစ္စည်းသည် စနစ်ထည့်သွင်းမှုအတွက် လိုအပ်သည့် အသွင်ဝှက်ခြင်းကို ခွင့်မပြုပါ။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"စနစ်ထည့်သွင်းမှုကိုရပ်ပြီး စက်ပစ္စည်းကို ပြင်ဆင်သတ်မှတ် လိုပါသလား။"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"၎င်းသည် သင်၏ စက်ပစ္စည်းကို ပြင်ဆင်သတ်မှတ်ပြီး ပထမဆုံးစာမျက်နှာသို့ ပြန်ပို့ပေးပါမည်"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"စဖွင့်စီစဉ်မှုအား ရပ်စဲကာ သင့် ကိရိယာ၏ဒေတာကို ဖျက်ပစ်မည်လား?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"မလုပ်တော့"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"အိုကေ"</string>
+    <string name="reset" msgid="6467204151306265796">"ပြန်သတ်မှတ်ရန်"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ပရိုဖိုင်ကို စနစ်ထည့်သွင်း၍ မရပါ"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"စက်ပစ္စည်းကို စနစ်ထည့်သွင်း၍ မရပါ"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"စက်ပစ္စည်းကို စနစ်ထည့်သွင်း၍ မရပါ။ အကူအညီရယူရန် သင်၏စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"အကူအညီလိုပါက သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"စက်ပစ္စည်းကို စနစ်ထည့်သွင်းပြီးသား ဖြစ်သည်"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ဝိုင်−ဖိုင်ကို ချိတ်ဆက်မရပါ"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"သင်၏ စက်ပစ္စည်းတွင် ပြင်ဆင်သတ်မှတ်မှုအား ကာကွယ်ခြင်းစနစ်ကို ဖွင့်ထားပါသည်။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ဖျက်နေသည်"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ခဏစောင့်ပါ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Checksum အမှားတစ်ခုကြောင့် စီမံခန့်ခွဲရန်အက်ပ်ကို သုံး၍မရပါ။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"အက်ဒမင် အက်ပ်ကို ဒေါင်းလုဒ် မလုပ်နိုင်ခဲ့ပါ။"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"စီမံခန့်ခွဲရန် အက်ပ်ကို သုံး၍မရပါ။ ၎င်းသည် ပျက်စီးနေသည် သို့မဟုတ် အစိတ်အပိုင်းအချို့ လိုအပ်နေသည်။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"အက်ဒမင် အက်ပ်ကို မတပ်ဆင်နိုင်ပါ။"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"စဖွင့်သတ်မှတ်ခြင်း ရပ်စဲမလား?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ပယ်ဖျက်နေသည်..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ကိုယ်ရေးအချက်အလက် အသင့်သုံးနိုင်ရန်စီစဉ်ခြင်းကိုရပ်တန့်လိုပါသလား။"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"နောက်ပိုင်းတွင် သင်၏ အလုပ်ပရိုဖိုင်ကို အဖွဲ့အစည်း၏ စက်ပစ္စည်း စီမံခန့်ခွဲရေးအက်ပ်တွင် စနစ်ထည့်သွင်းနိုင်သည်"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ရှေ့ဆက်ရန်"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ရပ်ပါ"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ပိတ်ရန်"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"သင်သည် သင့်အဖွဲ့အစည်းက စောင့်ကြည့် စီမံခန့်ခွဲနိုင်သည့် အလုပ်ပရိုဖိုင်တစ်ခုကို ပြုလုပ်ပါတော့မည်။ သက်ဆိုင်ရာစည်းကမ်းသတ်မှတ်ချက်များ အကျုံးဝင်ပါလိမ့်မည်။"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"သင်သည် သင့်အဖွဲ့အစည်းက စောင့်ကြည့် စီမံခန့်ခွဲနိုင်သည့် အလုပ်ပရိုဖိုင်တစ်ခုကို ပြုလုပ်ပါတော့မည်။ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> မှ စည်းကမ်းသတ်မှတ်ချက်များ အကျုံးဝင်ပါလိမ့်မည်။"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"အလုပ်အက်ပ်များအတွက် ပရိုဖိုင်တစ်ခု ပြုလုပ်သွားပါမည်။ ဤပရိုဖိုင်နှင့် သင်၏စက်ပစ္စည်းအားလုံးကို သင့်အဖွဲ့အစည်းက စီမံခန့်ခွဲပါလိမ့်မည်။ သက်ဆိုင်ရာစည်းကမ်းသတ်မှတ်ချက်များ အကျုံးဝင်ပါလိမ့်မည်။"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"အလုပ်အက်ပ်များအတွက် ပရိုဖိုင်တစ်ခု ပြုလုပ်သွားပါမည်။ ဤပရိုဖိုင်နှင့် သင်၏စက်ပစ္စည်းအားလုံးကို သင့်အဖွဲ့အစည်းက စီမံခန့်ခွဲပါလိမ့်မည်။ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> မှ စည်းကမ်းသတ်မှတ်ချက်များ အကျုံးဝင်ပါလိမ့်မည်။"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ဤစက်ပစ္စည်းကို <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> က စီမံခန့်ခွဲ၍ လုံခြုံအောင်ပြုလုပ်သွားပါမည်။ စည်းကမ်းသတ်မှတ်ချက်များ ရှိပါသည်။ <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ဤစက်ပစ္စည်းကို <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> က စီမံခန့်ခွဲ၍ လုံခြုံအောင် ပြုလုပ်သွားပါမည်။ <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> မှ စည်းကမ်းသတ်မှတ်ချက်များ အကျုံးဝင်ပါလိမ့်မည်။ <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ဤလင့်ခ်က လုံခြုံမှုမရှိသောကြောင့် စက်ပစ္စည်း စနစ်ထည့်သွင်းမှု မပြီးမချင်း ဖွင့်၍ရမည် မဟုတ်ပါ− <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"မေးမြန်းစရာများရှိပါက သင်၏ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ကို ဆက်သွယ်ပါ။"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"မေးမြန်းစရာများရှိပါက အဖွဲ့အစည်း၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"စနစ်ထည့်သွင်းခြင်း မပြီးဆုံးသေးပါ။ အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"အကူအညီရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"အဖွဲ့အစည်း၏ စီမံခန့်ခွဲသူ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> သည် အောက်ပါအက်ပ်ကို သုံးပြီး ဤစက်ပစ္စည်းကို စောင့်ကြည့်စီမံခန့်ခွဲသွားပါမည်−"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"သင်၏အဖွဲ့အစည်း"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"သင်၏အဖွဲ့အစည်း"</string>
+    <string name="view_terms" msgid="7230493092383341605">"စည်းကမ်းချက်များ ကြည့်ရန်"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"လက်ခံပြီး ရှေ့ဆက်ရန်"</string>
+    <string name="close" msgid="7208600934846389439">"ပိတ်ရန်"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"သင့်စက်ပစ္စည်းကို စနစ်ထည့်သွင်းပါ"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"သင်အလုပ်လုပ်နည်းကို ပြောင်းလဲစေပါသည်"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"အလုပ်နှင့် ကိုယ်ရေးကိုယ်တာကို ခွဲခြားပါ"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"အလုပ်အက်ပ်များအတွက် နေရာတစ်နေရာ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ပြီးသွားလျှင် အလုပ်ကို ပိတ်လိုက်ပါ"</string>
+    <string name="provisioning" msgid="4512493827019163451">"စီမံဆောင်ရွက်ပေးနေသည်။"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA လက်မှတ်များကို တည်ဆောက်ခြင်း"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"သင့်ပရိုဖိုင်ကို သတ်မှတ်ပါ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"အလုပ်ပရိုဖိုင်ကို အသုံးပြုခြင်းအားဖြင့် ကိုယ်ရေးကိုယ်တာ ဒေတာများနှင့် အလုပ်ဒေတာများကို ခွဲထားနိုင်ပါသည်"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"အလုပ်ပရိုဖိုင်ကို သုံးခြင်းဖြင့် အလုပ်သုံးအက်ပ်များကို တစ်နေရာတည်းတွင် စုစည်းထားနိုင်သည်"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"သင့်ရဲ့ကိုယ်ရေးအချက်အလက်ကိုအသင့်အသုံးပြုရန်စီစဉ်ပါ။ လျှို့ဝှက်ကုဒ်သွင်းခြင်း"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"သင့်ရဲ့ကိုယ်ရေးအချက်အလက်ကို အသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ တိုးတက်မှုကိုဖော်ပြပါ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"သင်၏ ကိရိယာကို စဖွင့်သတ်မှတ်ရန်"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"သင့်ရဲ့စက်ပစ္စည်းကိုအသုံးပြုနိုင်ရန်စီစဉ်ပါ။ လျှို့ဝှက်ကုဒ်သွင်းခြင်း"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"သင့်ရဲ့စက်ပစ္စည်းကိုအသင့်သုံးနိုင်ရန်စီစဉ်ပါ။ တိုးတက်မှုကိုဖော်ပြပါ"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"ခလုတ်များအကြောင်းထပ်လေ့လာပါ"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ကိုယ်စားပြုရုပ်ပုံ"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ကဏ္ဍခေါင်းစီး။"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ကဏ္ဍပါ အကြောင်းအရာ− <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ချဲ့ရန်"</string>
+    <string name="collapse" msgid="7817530505064432580">"လျှော့ပြရန်"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"လင့်ခ်စာရင်းကို ဖွင့်ရန်"</string>
+    <string name="access_links" msgid="7991363727326168600">"လင့်ခ်များကို ဖွင့်ရန်"</string>
+    <string name="access_terms" msgid="1982500872249763745">"စည်းမျဉ်းများကို ဖွင့်ရန်"</string>
+    <string name="read_terms" msgid="1745011123626640728">"စည်းမျဉ်းများ ဖတ်ပါ"</string>
+    <string name="close_list" msgid="9053538299788717597">"စာရင်းကို ပိတ်ပါ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"စနစ်ထည့်သွင်းမှု အဆုံးသတ်ပြီး စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်မလား။"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ဤစနစ်ထည့်သွင်းမှုကို အဆုံးသတ်ခြင်းသည် သင့်စက်ပစ္စည်းကို စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်ပေးမည်ဖြစ်ပြီး ပထမဦးဆုံးစာမျက်နှာသို့ ပို့ပေးပါလိမ့်မည်။"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"မလုပ်တော့"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"စက်ပစ္စည်းကို မူလဆက်တင်သို့ ပြန်လည်သတ်မှတ်ပါ"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> နှင့် <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> နှင့် <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>၊ <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>၊ <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 690b73e..ad1cdd6 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Denne appen kommer til å administrere enheten din:"</string>
     <string name="next" msgid="1004321437324424398">"Neste"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Konfigurerer arbeidsprofilen din …"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper, tillatelser og data som er tilknyttet denne profilen, inkludert nettverksaktivitet og enhetens posisjonsinformasjon, anropslogg og kontaktsøkelogg."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper, tillatelser, funksjoner for tyveribeskyttelse og data som er tilknyttet denne enheten, inkludert nettverksaktivitet og enhetens posisjonsinformasjon."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper, tillatelser og data som er tilknyttet denne profilen, inkludert nettverksaktivitet og enhetens posisjonsinformasjon, anropslogg og søkelogg for kontakter.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hvis du vil ha mer informasjon, inkludert organisasjonens personvernregler, kan du kontakte administratoren din."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper, tillatelser og data som er tilknyttet denne enheten, inkludert nettverksaktivitet og enhetens posisjonsinformasjon, anropslogg og søkelogg for kontakter.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hvis du vil ha mer informasjon, inkludert organisasjonens personvernregler, kan du kontakte administratoren din."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"For å bruke funksjoner for tyveribeskyttelse må du ha en passordbeskyttet skjermlås på enheten din."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hvis du vil ha mer informasjon, inkludert organisasjonens personvernregler, kan du kontakte administratoren din."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Finn ut mer"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Avbryt"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Jeg godtar"</string>
+    <string name="url_error" msgid="5958494012986243186">"Kan ikke vise denne linken."</string>
+    <string name="terms" msgid="8295436105384703903">"Vilkår"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informasjon om jobbprofil"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informasjon om administrert enhet"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbeidsprofil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Hovedbruker"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Vil du fjerne arbeidsprofilen?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"En arbeidsprofil eksisterer allerede og administreres av:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Denne arbeidsprofilen er administrert for %s med:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vil du slette den eksisterende profilen?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Du har allerede en jobbprofil som administreres av følgende app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Les dette"</a>" før du fortsetter."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Hvis du fortsetter, blir alle appene og dataene i denne profilen slettet."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Slett"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Hvis du vil fortsette konfigurasjonen av arbeidsprofilen, må du kryptere enheten din. Dette kan ta en stund."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Hvis du vil fortsette konfigureringen av enheten, må du kryptere den. Dette kan ta en stund."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptér"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"For å konfigurere jobbprofilen din må enheten krypteres. Dette kan ta en stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"For å konfigurere denne enheten må den krypteres først. Dette kan ta en stund."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Vil du kryptere denne enheten?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Kryptér"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen er fullført"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Trykk for å fortsette konfigureringen av jobbprofilen din"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kunne ikke konfigurere arbeidsprofilen din. Ta kontakt med IT-avdelingen og prøv på nytt senere."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Enheten din støtter ikke arbeidsprofiler"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Denne brukeren kan ikke ha jobbprofiler"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Kan ikke legge til jobbprofilen"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Denne brukeren kan ikke ha jobbprofiler. Ta kontakt med administratoren din for å få hjelp."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Denne brukeren kan ikke ha jobbprofiler. Ta kontakt med administratoren din."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Arbeidsprofiler kan ikke konfigureres på administrerte enheter"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Arbeidsprofilen kan ikke opprettes fordi du har nådd maks. antall brukere på enheten din. Fjern minst én bruker og prøv på nytt."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Arbeidsprofilen din støttes ikke av denne appoversikt-appen. Du må bytte til en kompatibel appoversikt."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Det er muligens for mange brukere på denne enheten. Fjern en bruker, og prøv på nytt."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Bytt appoversikt på enheten"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Denne appoversikt-appen kan ikke brukes av jobbprofilen din"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Avbryt"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Brukerkonfigureringen er ikke fullført"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Kobler til Wi-Fi …"</string>
     <string name="progress_download" msgid="3522436271691064624">"Laster ned admin-appen …"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installerer admin-appen …"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Fjerner unødvendige systemapper …"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Setter siste hånd på verket …"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Angir enhetseieren …"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Enheten støtter ikke kryptering. Ta kontakt med IT-avdelingen."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Initialiserer enheten …"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Denne enheten tillater ikke kryptering, som kreves for konfigurering. Ta kontakt med administratoren din for å få hjelp."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Vil du stoppe konfigureringen og tilbakestille enheten?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Dette tilbakestiller enheten din, og du blir ført tilbake til den første skjermen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Vil du stoppe konfigureringen og slette dataene på enheten?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Avbryt"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Tilbakestill"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Kunne ikke konfigurere enheten din. Ta kontakt med IT-avdelingen."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Denne enheten er allerede konfigurert."</string>
+    <string name="reset" msgid="6467204151306265796">"Tilbakestill"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Kan ikke konfigurere profilen"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Kan ikke konfigurere enheten"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Kunne ikke konfigurere enheten. Ta kontakt med administratoren din for å få hjelp."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Ta kontakt med administratoren din for å få hjelp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Enheten er allerede konfigurert"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kan ikke koble til Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Denne enheten er låst av beskyttelse mot tilbakestilling til fabrikkinnstillingene. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Beskyttelse mot tilbakestilling er slått på for enheten din. Ta kontakt med administratoren din for å få hjelp."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Sletter"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Vent litt …"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kunne ikke bruke admin-appen på grunn av en sjekksumfeil. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Kunne ikke bruke admin-appen på grunn av en sjekksumfeil. Ta kontakt med administratoren din for å få hjelp."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kan ikke laste ned administratorappen"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan ikke bruke admin-appen. Den mangler komponenter eller er korrupt. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Kan ikke bruke admin-appen. Den mangler komponenter eller er skadet. Ta kontakt med administratoren din for å få hjelp."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kan ikke installere administratorappen"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Vil du stoppe konfigureringen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nei"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Avbryter …"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Vil du stoppe konfigureringen av profilen?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Du kan konfigurere arbeidsprofilen din senere fra appen for enhetsadministrering som brukes av organisasjonen din."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Fortsett"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Du kan konfigurere jobbprofilen din senere i appen for enhetsadministrering som brukes av organisasjonen din"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Fortsett"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stopp"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Avvis"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Du er i ferd med å opprette en jobbprofil som blir administrert og overvåket av organisasjonen din. Vilkår gjelder."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Du er i ferd med å opprette en jobbprofil som blir administrert og overvåket av organisasjonen din. Vilkårene fra <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> gjelder."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"En profil opprettes for jobbappene dine. Denne profilen og resten av enheten din blir administrert og overvåket av organisasjonen din. Vilkår gjelder."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"En profil opprettes for jobbappene dine. Denne profilen og resten av enheten din blir administrert og overvåket av organisasjonen din. Vilkårene fra <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> gjelder."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Denne enheten blir administrert og holdes sikker av <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Vilkår gjelder. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Denne enheten blir administrert og holdes sikker av <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Vilkårene fra <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> gjelder. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Denne linken er usikker og kan ikke åpnes før enheten er ferdig konfigurert: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ta kontakt med <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> hvis du har spørsmål."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ta kontakt med administratoren for organisasjonen din hvis du har spørsmål"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Konfigureringen er ikke fullført. Ta kontakt med administratoren din for å få hjelp."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Ta kontakt med administratoren din for å få hjelp"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administratoren for organisasjonen"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> kommer til å administrere og overvåke denne enheten med følgende app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organisasjonen din"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organisasjonen din"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Les vilkårene"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Godta og fortsett"</string>
+    <string name="close" msgid="7208600934846389439">"Lukk"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfigurer enheten din"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Endre måten du jobber på"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Skill jobben fra det personlige"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Ett sted for jobbapper"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Slå av arbeidet når du er ferdig"</string>
     <string name="provisioning" msgid="4512493827019163451">"Tildeler"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Konfigurerer CA-sertifikater"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfigurer profilen din. Start konfigurering"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Definer profilen din"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ved å bruke en jobbprofil kan du skille jobbdata fra personlige data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ved å bruke en jobbprofil kan du ha jobbappene dine på ett sted"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfigurer profilen din. Kryptering"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Konfigurer profilen din. Viser fremgang"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfigurer enheten din. Start konfigurering"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurer enheten din"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Konfigurer enheten din. Kryptering"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Konfigurer enheten din. Viser fremgang"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Finn ut mer-knappen"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikonet for <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Deloverskrift: <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Delinnhold for <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Vis"</string>
+    <string name="collapse" msgid="7817530505064432580">"Skjul"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Se en liste med linker"</string>
+    <string name="access_links" msgid="7991363727326168600">"Se linker"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Se termer"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Les vilkårene"</string>
+    <string name="close_list" msgid="9053538299788717597">"Lukk listen"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Vil du avslutte konfigureringen og tilbakestillingen?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Hvis du avslutter konfigureringen, blir enheten din tilbakestilt til fabrikkstandard. Du blir også ført tilbake til den første skjermen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Avbryt"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Tilbakestill enheten"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> og <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> og <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
deleted file mode 100644
index 2003fce..0000000
--- a/res/values-ne-rNP/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"कार्य प्रोफाइलको सेटअप"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ओहो!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"कार्य प्रोफाइललाई सेट अप गर्नुहोस्"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"तपाईँको संगठनले यो प्रोफाइल नियन्त्रण र सुरक्षित राख्छ। तपाईँले तपाईँको उपकरणमा अरू सबै कुरा नियन्त्रण गर्नुहोस्।"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"तपाईँको संगठनले यस यन्त्रलाई नियन्त्रण गर्ने छ र सुरक्षित राख्ने छ।"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"निम्न अनुप्रयोग यो प्रोफाइल पहुँच गर्न आवश्यक हुने छ:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"निम्न अनुप्रयोगले तपाईँको यन्त्र व्यवस्थापन गर्नेछ:"</string>
-    <string name="next" msgid="1004321437324424398">"अर्को"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"तपाईँको कार्य प्रोफाइल मिलाउँदै..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"तपाईँको प्रशासकसँग नेटवर्कको गतिविधिका साथै तपाईँको यन्त्रको स्थान, कलको इतिहास र सम्पर्कको खोजी सम्बन्धी इतिहास लगायतका सेटिङहरू, संस्थागत पहुँच, अनुप्रयोगहरू, अनुमति र यस प्रोफाइलसँग सम्बन्धित डेटालाई अनुगमन तथा व्यवस्थापन गर्ने क्षमता हुन्छ।"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"तपाईँको प्रशासकसँग नेटवर्कको गतिविधि र तपाईँको यन्त्रको स्थान सम्बन्धी जानकारी लगायत सेटिङहरू, संस्थागत पहुँच, अनुप्रयोग, अनुमति, चोरीबाट सुरक्षा गर्ने सुविधाहरू र यस यन्त्रसँग सम्बन्धित डेटालाई अनुगमन तथा व्यवस्थापन गर्ने क्षमता छ।"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"चोरीबाट सुरक्षा गर्ने सुविधाहरू प्रयोग गर्नका लागि तपाईँले आफ्नो यन्त्रको लागि पासवर्डद्वारा सुरक्षित स्क्रिन लक अनिवार्य रूपमा राख्नुपर्छ।"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"आफ्नो संगठनका गोपनीयता नीतिहरू लगायत थप जानकारीको लागि आफ्नो प्रशासकसँग सम्पर्क गर्नुहोस्।"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"थप जान्नुहोस्"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"रद्द गर्नुहोस्"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ठीक छ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"म स्वीकृति दिन्छु"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाइल"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"प्राथमिक प्रयोगकर्ता"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफाइल हटाउने हो?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"कार्य प्रोफाइल पहिले नै विद्यमान छ र निम्नद्वारा व्यवस्थापन गरिन्छ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s प्रयोगको लागि यो कार्य प्रोफाइल व्यवस्थित गरिएको छ:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"अघि बढ्नु पूर्व "<a href="#read_this_link">"यो पढ्नुहोस्"</a>"।"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"तपाईँले जारी राख्नुभयो भने यस प्रोफाइलमा भएका सबै अनुप्रयोग र डेटालाई मेटाइनेछ।"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"मेटाउनुहोस्"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द गर्नुहोस्"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"आफ्नो कार्य प्रोफाइल सेटिङ गर्ने काम  जारी राख्न, तपाईंले आफ्नो यन्त्रलाई इनक्रिप्ट गर्नु पर्नेछ। यसले केही समय लिन सक्छ।"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"तपाईँको यन्त्र सेटअप जारी गर्न, तपाईँले यसलाई इन्क्रिप्ट गर्न आवश्यक छ। यसले केही समय लिन सक्छ।"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"गुप्तिकरण"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"गुप्तिकरण पूर्ण"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"तपाईंको कार्य प्रोफाइल स्थापना जारी राख्न  ट्याप गर्नुहोस्"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"तपाईँको कार्य प्रोफाइल स्थापित गर्न सकिएन। तपाईँको आईटी विभाग सम्पर्क गर्नुहोस् वा पछि फेरि प्रयास गर्नुहोस्।"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"तपाईंको उपकरणले कार्य प्रोफाइलहरू समर्थन गर्दैन।"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"यस प्रयोगकर्ताले कार्य प्रोफाइल प्रयोग गर्न सक्दैन"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"कार्य प्रोफाइल व्यवस्थित यन्त्रमा सेटअप हुन सक्दैन"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"कार्य प्रोफाइल बनाउनु सकिँदैन, किनकि तपाईँले यन्त्रको अधिकतम प्रयोगकर्ता संख्या पुगिसक्नु भएको छ। कम्तीमा एक प्रयोगकर्ता हटाई  पुन: प्रयास गर्नुहोस्।"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"तपाईँको कार्य प्रोफाइल यस सुरुवातकर्ता अनुप्रयोग समर्थित छैन। तपाईँले यससँग उपयुक्त एउटा सुरुवातकर्तामा स्विच गर्न आवश्यक छ।"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द गर्नुहोस्"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ठीक छ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"प्रयोगकर्ता सेटअप सम्पन्न भएन"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य उपकरणको प्रयोगकर्ता"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"कार्य प्रोफाइलको यन्त्रलाई सेट अप गर्नुहोस्"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"सेटअप डेटा प्रशोधन गर्दै..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi मा जडान गर्दै..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"प्रशासकीय अनुप्रयोग डाउनलोड गर्दै..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"प्रशासकीय अनुप्रयोग स्थापना गर्दै..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"यन्त्र मालिक मिलाउँदै..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"तपाईँको यन्त्रले इन्क्रिप्सनलाई समर्थन गर्दैन। आफ्नो IT विभागमा सम्पर्क गर्नुहोस्।"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"सेटअप रोकी तपाईँको यन्त्रको डेटा मेटाउने हो?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द गर्नुहोस्"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ठीक छ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"पुनःसेट गर्नुहोस्"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"तपाईँको उपकरण स्थापना गर्न सकिएन। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"यो यन्त्र पहिले नै स्थापना भएको छ"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाई-फाई संग जडान हुन सकेन"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"यो यन्त्र कारखाना रिसेट सुरक्षाद्वारा लक गरिएको छ। तपाईँको सूचना प्रविधि विभागमा सम्पर्क गर्नुहोस्।"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"मेटाउँदै"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"कृपया प्रतीक्षा गर्नुहोला..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"प्रशासन अनुप्रयोग चेकसम त्रुटिको कारणले प्रयोग गर्न सकिएन। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अनुप्रयोग डाउनलोड गर्न सकिएन"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"प्रशासन अनुप्रयोग प्रयोग गर्न सकिएन। यो अवयवहरू हराइरहेका वा भ्रष्ट हुन्। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अनुप्रयोग स्थापना गर्न सकिएन"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"सेटअप रोक्ने हो?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"होइन"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"हो"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"रद्द गरिँदै..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"के प्रोफाइल सेटअप रोक्ने हो?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"तपाईँले आफ्नो संस्थाद्वारा प्रयोग गरिएको  यन्त्र व्यवस्थापन अनुप्रयोगबाट आफ्नो कार्य प्रोफाइल पछि मिलाउन सक्नुहुन्छ।"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"जारी राख्नुहोस्"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"रोक्नुहोस्"</string>
-    <string name="provisioning" msgid="4512493827019163451">"प्रावधान गरिँदै"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA प्रमाणपत्रहरू सेट अप गरिँदै"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"तपाईँको प्रोफाइल सेटअप गर्नुहोस्। सेटअप सुरू गर्नुहोस्"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"तपाईँको प्रोफाइल सेटअप गर्नुहोस्। इन्क्रिप्सन"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"तपाईँको प्रोफाइल सेटअप गर्नुहोस्। कार्य प्रगति देखाउँदै"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"तपाईँको यन्त्र सेटअप गर्नुहोस्। सेटअप सुरू गर्नुहोस्"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"तपाईँको यन्त्र सेटअप गर्नुहोस्। इन्क्रिप्सन"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"तपाईँको यन्त्र सेटअप गर्नुहोस्। कार्य प्रगति देखाउँदै"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"थप जान्नुहोस् बटन"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> आइकन"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"सेटअप र फ्याक्ट्री रिसेटलाई अन्त्य गर्ने हो?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"यस सेटअपलाई अन्त्य गर्नाले तपाईंको यन्त्र फ्याक्ट्री रिसेट हुनेछ र तपाईं फेरि पहिलो स्क्रिनमा पुग्नुहुनेछ।"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"रद्द गर्नुहोस्"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"यन्त्रलाई रिसेट गर्नुहोस्"</string>
-</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
new file mode 100644
index 0000000..6d18090
--- /dev/null
+++ b/res/values-ne/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"कार्य प्रोफाइलको सेटअप"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ओहो!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"कार्य प्रोफाइललाई सेट अप गर्नुहोस्"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"तपाईँको संगठनले यो प्रोफाइल नियन्त्रण र सुरक्षित राख्छ। तपाईँले तपाईँको उपकरणमा अरू सबै कुरा नियन्त्रण गर्नुहोस्।"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"तपाईँको संगठनले यस यन्त्रलाई नियन्त्रण गर्ने छ र सुरक्षित राख्ने छ।"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"निम्न अनुप्रयोग यो प्रोफाइल पहुँच गर्न आवश्यक हुने छ:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"निम्न अनुप्रयोगले तपाईँको यन्त्र व्यवस्थापन गर्नेछ:"</string>
+    <string name="next" msgid="1004321437324424398">"अर्को"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"तपाईँको कार्य प्रोफाइल मिलाउँदै..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"तपाईंका प्रशासकले तपाईंको नेटवर्कको गतिविधिका साथै तपाईंको यन्त्रको स्थान, कलको इतिहास र सम्पर्कको खोजी सम्बन्धी इतिहास लगायत सेटिङहरू, संस्थागत पहुँच, अनुप्रयोगहरू, अनुमतिहरू र यस प्रोफाइलसँग सम्बन्धित डेटाको अनुगमन तथा व्यवस्थापन गर्न सक्नुहुन्छ।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>तपाईंको संगठनका गोपनीयता नीतिहरू लगायत थप जानकारीका लागि आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"तपाईंका प्रशासकले तपाईंको नेटवर्कको गतिविधिका साथै तपाईंको यन्त्रको स्थान, कलको इतिहास र सम्पर्कको खोजी सम्बन्धी इतिहास लगायत सेटिङहरू, संस्थागत पहुँच, अनुप्रयोगहरू, अनुमतिहरू र यस यन्त्रसँग सम्बन्धित डेटाको अनुगमन तथा व्यवस्थापन गर्न सक्नुहुन्छ।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>तपाईंको संगठनका गोपनीयता नीतिहरू लगायत थप जानकारीका लागि आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"चोरीबाट सुरक्षा गर्ने सुविधाहरू प्रयोग गर्नका लागि तपाईँले आफ्नो यन्त्रको लागि पासवर्डद्वारा सुरक्षित स्क्रिन लक अनिवार्य रूपमा राख्नुपर्छ।"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"आफ्नो संगठनका गोपनीयता नीतिहरू लगायत थप जानकारीको लागि आफ्नो प्रशासकसँग सम्पर्क गर्नुहोस्।"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"थप जान्नुहोस्"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"रद्द गर्नुहोस्"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ठीक छ"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"म स्वीकृति दिन्छु"</string>
+    <string name="url_error" msgid="5958494012986243186">"यो लिंक देखाउन सकिँदैन।"</string>
+    <string name="terms" msgid="8295436105384703903">"सर्तहरू"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"कार्य प्रोफाइल सम्बन्धी जानकारी"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"व्यवस्थित गरिएको यन्त्रको जानकारी"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाइल"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"प्राथमिक प्रयोगकर्ता"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"विद्यमान प्रोफाइललाई मेट्ने हो?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"तपाईंसँग पहिलैदेखि निम्न अनुप्रयोगको प्रयोगमार्फत व्यवस्थापन भइरहेको कार्य प्रोफाइल छ:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"अघि बढ्नु पूर्व "<a href="#read_this_link">"यो पढ्नुहोस्"</a>"।"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"तपाईँले जारी राख्नुभयो भने यस प्रोफाइलमा भएका सबै अनुप्रयोग र डेटालाई मेटाइनेछ।"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"मेटाउनुहोस्"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द गर्नुहोस्"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"तपाईंको कार्य प्रोफाइललाई सेट अप गर्नका लागि तपाईंको यन्त्रलाई इन्क्रिप्ट गर्न आवश्यक छ। यसमा केही समय लाग्नसक्छ।"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"यस यन्त्रलाई सेट अप गर्नका लागि सर्वप्रथम यसलाई इन्क्रिप्ट गर्न आवश्यक छ। यस प्रक्रियामा केही समय लाग्नसक्छ।"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"यो यन्त्रलाई इन्क्रिप्ट गर्ने?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"इन्क्रिप्ट गर्नुहोस्"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"गुप्तिकरण पूर्ण"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"तपाईंको कार्य प्रोफाइल स्थापना जारी राख्न  ट्याप गर्नुहोस्"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"तपाईँको कार्य प्रोफाइल स्थापित गर्न सकिएन। तपाईँको आईटी विभाग सम्पर्क गर्नुहोस् वा पछि फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"कार्य प्रोफाइल थप्न सकिँदैन"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"यस प्रयोगकर्ताको कुनै कार्य प्रोफाइल हुनसक्दैन। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"यस प्रयोगकर्ताका कार्य प्रोफाइलहरू हुनसक्दैनन्। आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"कार्य प्रोफाइल व्यवस्थित यन्त्रमा सेटअप हुन सक्दैन"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"यस यन्त्रमा अत्यन्त धेरै प्रयोगकर्ताहरू हुनसक्छन्। कुनै प्रयोगकर्तालाई हटाएर फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"यन्त्रको लन्चर बदल्नुहोस्"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"तपाईंको कार्य प्रोफाइलले यो लन्चर अनुप्रयोग प्रयोग गर्न सक्दैन"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द गर्नुहोस्"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ठीक छ"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"प्रयोगकर्ता सेटअप सम्पन्न भएन"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य उपकरणको प्रयोगकर्ता"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"कार्य प्रोफाइलको यन्त्रलाई सेट अप गर्नुहोस्"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"सेटअप डेटा प्रशोधन गर्दै..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi मा जडान गर्दै..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"प्रशासकीय अनुप्रयोग डाउनलोड गर्दै..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"प्रशासकीय अनुप्रयोग स्थापना गर्दै..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"प्रणाली सम्बन्धी अनावश्यक एप्स हटाउँदै…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"अन्तिम रूप दिँदै…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"यन्त्र मालिक मिलाउँदै..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"यन्त्रलाई सुरुवात गर्दै…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"यस यन्त्रले सेट अपका लागि आवश्यक इन्क्रिप्सनलाई अनुमति दिँदैन। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"सेटअपलाई रोकेर यन्त्रलाई रिसेट गर्ने हो?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"यस कार्यले तपाईंको यन्त्रलाई रिसेट गर्नेछ र तपाईंलाई पहिलो स्क्रिनमा फिर्ता लैजानेछ"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"सेटअप रोकी तपाईँको यन्त्रको डेटा मेटाउने हो?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द गर्नुहोस्"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ठीक छ"</string>
+    <string name="reset" msgid="6467204151306265796">"रिसेट गर्नुहोस्"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"प्रोफाइललाई सेट अप गर्न सकिँदैन"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"यन्त्रलाई सेट अप गर्न सकिँदैन"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"यन्त्रलाई सेट अप गर्न सकिएन। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"मद्दतका लागि आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"यो यन्त्रलाई पहिला नै सेट अप गरिसकिएको छ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाई-फाई संग जडान हुन सकेन"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"तपाईंको यन्त्रमा सुरक्षा सम्बन्धी सुविधालाई रिसेट गर्ने विकल्प सक्रिय छ। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"मेटाउँदै"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"कृपया प्रतीक्षा गर्नुहोला..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"चेकसम सम्बन्धी त्रुटिले गर्दा प्रशासकीय अनुप्रयोग प्रयोग गर्न सकिएन। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अनुप्रयोग डाउनलोड गर्न सकिएन"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"प्रशासकीय अनुप्रयोग प्रयोग गर्न सकिँदैन। यसका कम्पोनेन्टहरू छैनन् वा बिग्रेका छन्। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अनुप्रयोग स्थापना गर्न सकिएन"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"सेटअप रोक्ने हो?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"होइन"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"हो"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"रद्द गरिँदै..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"के प्रोफाइल सेटअप रोक्ने हो?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"तपाईंले पछि आफ्नो कार्य प्रोफाइललाई आफ्नो संगठनको यन्त्र व्यवस्थापन अनुप्रयोगमा सेट अप गर्न सक्नुहुन्छ"</string>
+    <string name="continue_button" msgid="7177918589510964446">"जारी राख्नुहोस्"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"रोक्नुहोस्"</string>
+    <string name="dismiss" msgid="9009534756748565880">"खारेज गर्नुहोस्"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"तपाईं आफ्नो संगठनले व्यवस्थापन तथा अनुगमन गर्ने कुनै कार्य प्रोफाइल सिर्जना गर्न आँट्दै हुनुहुन्छ। यसमा सर्तहरू लागू हुनेछन्।"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"तपाईं आफ्नो संगठनले व्यवस्थापन तथा अनुगमन गर्ने कुनै कार्य प्रोफाइल सिर्जना गर्न आँट्दै हुनुहुन्छ। यसमा <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> का सर्तहरू लागू हुनेछन्।"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"तपाईंका कार्य सम्बन्धी अनुप्रयोगहरूका लागि एउटा प्रोफाइल सिर्जना गरिनेछ। तपाईंको संगठनले यो प्रोफाइल र तपाईंका बाँकी यन्त्रको व्यवस्थापन तथा अनुगमन गर्नेछ। यसमा सर्तहरू लागू हुनेछन्।"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"तपाईंका कार्य सम्बन्धी अनुप्रयोगहरूका लागि एउटा प्रोफाइल सिर्जना गरिनेछ। तपाईंको संगठनले यो प्रोफाइल र तपाईंका बाँकी यन्त्रको व्यवस्थापन तथा अनुगमन गर्नेछ। यसमा <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> का सर्तहरू लागू हुनेछन्।"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ले यस यन्त्रको व्यवस्थापन गर्नेछ र यसलाई सुरक्षित राख्नेछ। सर्तहरू लागू हुनेछन्। <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ले यस यन्त्रको व्यवस्थापन गर्नेछ र यसलाई सुरक्षित राख्नेछ। <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> का सर्तहरू लागू हुनेछन्। <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"यो लिंक सुरक्षित छैन र यस यन्त्रको सेट अप पूरा नहुञ्जेल यसलाई खोल्न सकिँदैन: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"तपाईंसँग कुनै प्रश्न भएमा आफ्नो <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> लाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"तपाईंसँग कुनै प्रश्न भएमा, आफ्नो संगठनका प्रशासकलाई सम्पर्क गर्नुहोस्"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"सेटअप सम्पन्न भएको छैन। मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"मद्दतका लागि, आफ्ना प्रशासकलाई सम्पर्क गर्नुहोस्"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"संगठनको प्रशासक"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ले निम्न अनुप्रयोगको प्रयोग गरी यस यन्त्रको व्यवस्थापन तथा अनुगमन गर्नेछ:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"तपाईँको संगठन"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"तपाईँको संगठन"</string>
+    <string name="view_terms" msgid="7230493092383341605">"सर्तहरू हेर्नुहोस्"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"स्वीकार गरी जारी राख्नुहोस्"</string>
+    <string name="close" msgid="7208600934846389439">"बन्द गर्नुहोस्"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"आफ्नो यन्त्रलाई सेट अप गर्नुहोस्"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"आफूले काम गर्ने तरीका बदल्नुहोस्"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"व्यक्तिगत भन्दा अलग कार्य"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"कार्य सम्बन्धी अनुप्रयोगहरूको एक ठाउँ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"तपाईँले काम गरिसकेपछि कार्यलाई निष्क्रिय गर्नुहोस्"</string>
+    <string name="provisioning" msgid="4512493827019163451">"प्रावधान गरिँदै"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA प्रमाणपत्रहरू सेट अप गरिँदै"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"आफ्नो प्रोफाइल सेट अप गर्नुहोस्"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"तपाईं कुनै कार्य प्रोफाइलको प्रयोग गरी कार्य सम्बन्धी डेटालाई व्यक्तिगत डेटाबाट छुट्याउन सक्नुहुन्छ।"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"कुनै कार्य प्रोफाइलको प्रयोग गरेर तपाईं आफ्ना कार्य सम्बन्धी अनुप्रयोगहरूलाई एकै ठाउँमा राख्न सक्नुहुन्छ"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"तपाईँको प्रोफाइल सेटअप गर्नुहोस्। इन्क्रिप्सन"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"तपाईँको प्रोफाइल सेटअप गर्नुहोस्। कार्य प्रगति देखाउँदै"</string>
+    <string name="setup_device" msgid="6725265673245816366">"तपाईँको उपकरण स्थापना गर्नुहोस्"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"तपाईँको यन्त्र सेटअप गर्नुहोस्। इन्क्रिप्सन"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"तपाईँको यन्त्र सेटअप गर्नुहोस्। कार्य प्रगति देखाउँदै"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"थप जान्नुहोस् बटन"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> आइकन"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> खण्डको शीर्षक।"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> खण्डको सामग्री: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"विस्तृत गर्नुहोस्"</string>
+    <string name="collapse" msgid="7817530505064432580">"संक्षिप्त गर्नुहोस्"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"पहुँच सम्बन्धी लिंकहरूको सूची"</string>
+    <string name="access_links" msgid="7991363727326168600">"पहुँच सम्बन्धी लिंकहरू"</string>
+    <string name="access_terms" msgid="1982500872249763745">"पहुँच सम्बन्धी सर्तहरू"</string>
+    <string name="read_terms" msgid="1745011123626640728">"सर्तहरू पढ्नुहोस्"</string>
+    <string name="close_list" msgid="9053538299788717597">"सूची बन्द गर्नुहोस्"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"सेटअप र फ्याक्ट्री रिसेटलाई अन्त्य गर्ने हो?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"यस सेटअपलाई अन्त्य गर्नाले तपाईंको यन्त्र फ्याक्ट्री रिसेट हुनेछ र तपाईं फेरि पहिलो स्क्रिनमा पुग्नुहुनेछ।"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"रद्द गर्नुहोस्"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"यन्त्रलाई रिसेट गर्नुहोस्"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> र <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> र <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 1dcdbaa..e6fb43e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Je apparaat wordt beheerd met de volgende app:"</string>
     <string name="next" msgid="1004321437324424398">"Volgende"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Je werkprofiel instellen…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Je beheerder kan instellingen, zakelijke toegang, apps, rechten en gegevens bijhouden en beheren die aan dit profiel zijn gekoppeld, waaronder je netwerkactiviteit, de locatie, oproepgeschiedenis en zoekgeschiedenis voor contacten van je apparaat."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Je beheerder kan instellingen, zakelijke toegang, apps, rechten, diefstalbeveiligingsfuncties en gegevens bijhouden en beheren die aan dit apparaat zijn gekoppeld, waaronder netwerkactiviteit en de locatiegegevens van je apparaat."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Je beheerder kan instellingen, zakelijke toegang, apps, machtigingen en gegevens die zijn gekoppeld aan dit profiel (waaronder je netwerkactiviteit) bijhouden en beheren, evenals de locatie, oproepgeschiedenis en zoekgeschiedenis voor contacten van je apparaat.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Neem contact op met je beheerder voor meer informatie en bij vragen over het privacybeleid van je organisatie."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Je beheerder kan instellingen, zakelijke toegang, apps, machtigingen en gegevens die zijn gekoppeld aan dit apparaat (waaronder je netwerkactiviteit) bijhouden en beheren, evenals de locatie, oproepgeschiedenis en zoekgeschiedenis voor contacten van je apparaat.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Neem contact op met je beheerder voor meer informatie en bij vragen over het privacybeleid van je organisatie."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Als je diefstalbeveiligingsfuncties wilt gebruiken, moet je een met een wachtwoord beveiligde schermvergrendeling hebben ingesteld voor je apparaat."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Neem contact op met je beheerder voor meer informatie, waaronder het privacybeleid van je organisatie."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Meer informatie"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Annuleren"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Ik ga akkoord"</string>
+    <string name="url_error" msgid="5958494012986243186">"Kan deze link niet weergeven."</string>
+    <string name="terms" msgid="8295436105384703903">"Voorwaarden"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informatie over werkprofiel"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informatie over beheerd apparaat"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Werkprofiel"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primaire gebruiker"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Werkprofiel verwijderen?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Er is al een werkprofiel dat wordt beheerd door:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Dit werkprofiel wordt beheerd voor %s via:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Bestaand profiel verwijderen?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Je hebt al een werkprofiel dat wordt beheerd met de volgende app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Lees dit"</a>" voordat je doorgaat."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Als je doorgaat, worden alle apps en gegevens in dit profiel verwijderd."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Verwijderen"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuleren"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Als je wilt doorgaan met het instellen van je werkprofiel, moet je je apparaat versleutelen. Dit kan even duren."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Als je wilt doorgaan met het instellen van je apparaat, moet je je apparaat versleutelen. Dit kan even duren."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Versleutelen"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Als je je werkprofiel wilt instellen, moet je apparaat worden versleuteld. Dit kan even duren."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Als je dit apparaat wilt instellen, moet het eerst worden versleuteld. Dit kan even duren."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Dit apparaat versleutelen?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Versleutelen"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Versleuteling voltooid"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tik hierop om door te gaan met het instellen van je werkprofiel"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kan je werkprofiel niet instellen. Neem contact op met je IT-afdeling of probeer het later opnieuw."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Je apparaat ondersteunt geen werkprofielen"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Deze gebruiker kan geen werkprofiel hebben"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Kan werkprofiel niet toevoegen"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Deze gebruiker kan geen werkprofiel hebben. Neem contact op met je beheerder voor hulp."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Deze gebruiker kan geen werkprofielen hebben. Neem contact op met je beheerder."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Werkprofielen kunnen niet worden ingesteld op een beheerd apparaat"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Werkprofiel kan niet worden gemaakt omdat je het maximumaantal gebruikers op je apparaat hebt bereikt. Verwijder ten minste één gebruiker en probeer het opnieuw."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Je werkprofiel wordt niet ondersteund door deze Launcher-app. Je moet overschakelen naar een Launcher die compatibel is."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Er staan mogelijk te veel gebruikers op dit apparaat. Verwijder een gebruiker en probeer het opnieuw."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Apparaat-launcher wijzigen"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Deze launcher-app kan niet worden gebruikt door je werkprofiel"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Annuleren"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Instellen van gebruikers niet voltooid"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Verbinding maken met wifi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"De beheer-app downloaden…"</string>
     <string name="progress_install" msgid="2258045670385866183">"De beheer-app installeren…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Niet-vereiste systeemapps verwijderen…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Nog even de laatste details…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"De eigenaar van het apparaat instellen…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Je apparaat biedt geen ondersteuning voor versleuteling. Neem contact op met de IT-afdeling."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Apparaat initialiseren…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Op dit apparaat is versleuteling niet toegestaan, wat is vereist voor het instellen. Neem contact op met je beheerder voor hulp."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Instellen stoppen en apparaat resetten?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Hiermee wordt je apparaat gereset en ga je terug naar het eerste scherm"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Configureren stoppen en de gegevens op je apparaat wissen?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuleren"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetten"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Kan je apparaat niet instellen. Neem contact op met je IT-afdeling."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Dit apparaat is al geconfigureerd."</string>
+    <string name="reset" msgid="6467204151306265796">"Resetten"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Kan profiel niet instellen"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Kan apparaat niet instellen"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Kan apparaat niet instellen. Neem contact op met je beheerder voor hulp."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Neem contact op met je beheerder voor hulp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Apparaat is al ingesteld"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kan geen verbinding maken met wifi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Dit apparaat is vergrendeld via bescherming tegen terugzetten op de fabrieksinstellingen. Neem contact op met je IT-afdeling."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Bescherming tegen resetten is ingeschakeld voor je apparaat. Neem contact op met je beheerder voor hulp."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Wissen"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Even geduld..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kan de beheer-app niet gebruiken vanwege een controlesomfout. Neem contact op met je IT-afdeling."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Kan de beheer-app niet gebruiken vanwege een controlesomfout. Neem contact op met je beheerder voor hulp."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kan de beheer-app niet downloaden"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan de beheer-app niet gebruiken. Er ontbreken onderdelen of de app is beschadigd. Neem contact op met je IT-afdeling."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Kan de beheer-app niet gebruiken. Er ontbreken onderdelen of de app is beschadigd. Neem contact op met je beheerder voor hulp."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kan de beheer-app niet installeren"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Configureren stoppen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nee"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Annuleren…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Instellen van profiel stoppen?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Je kunt je werkprofiel later instellen via de apparaatbeheer-app die wordt gebruikt door je organisatie."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Doorgaan"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Je kunt je werkprofiel later instellen via de apparaatbeheer-app van je organisatie"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Doorgaan"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Stoppen"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Sluiten"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Je staat op het punt een werkprofiel te maken dat wordt beheerd en bijgehouden door je organisatie. Er zijn voorwaarden van toepassing."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Je staat op het punt een werkprofiel te maken dat wordt beheerd en bijgehouden door je organisatie. Er zijn voorwaarden van <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> van toepassing."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Er wordt een profiel gemaakt voor je werk-apps. Dit profiel en de rest van je apparaat worden beheerd en bijgehouden door je organisatie. Er zijn voorwaarden van toepassing."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Er wordt een profiel gemaakt voor je werk-apps. Dit profiel en de rest van je apparaat worden beheerd en bijgehouden door je organisatie. Er zijn voorwaarden van <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> van toepassing."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Dit apparaat wordt beheerd en beveiligd door <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Er zijn voorwaarden van toepassing. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Dit apparaat wordt beheerd en beveiligd door <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Er zijn voorwaarden van <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> van toepassing. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Deze link is niet beveiligd en kan niet worden geopend totdat het apparaat is ingesteld: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Als je vragen hebt, neem je contact op met je <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Neem contact op met de beheerder van je organisatie als je vragen hebt"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Het instellen is niet voltooid. Neem contact op met je beheerder voor hulp."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Neem contact op met je beheerder voor hulp"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"beheerder van organisatie"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Dit apparaat wordt beheerd en bijgehouden door <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> met de volgende app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Je organisatie"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"je organisatie"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Servicevoorwaarden bekijken"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Akkoord en doorgaan"</string>
+    <string name="close" msgid="7208600934846389439">"Sluiten"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Je apparaat instellen"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Wijzig je manier van werken"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Scheid werkgegevens van persoonlijke gegevens"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Eén plaats voor werk-apps"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Schakel het werkgedeelte uit wanneer je klaar bent"</string>
     <string name="provisioning" msgid="4512493827019163451">"Registreren"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA-certificaten instellen"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Je profiel instellen. Configuratie starten"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Je profiel instellen"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Met een werkprofiel kun je je werkgegevens scheiden van je persoonlijke gegevens"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Met een werkprofiel heb je op één centrale locatie toegang tot je werk-apps"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Je profiel instellen. Versleuteling"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Je profiel instelling. Voortgang weergeven"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Je apparaat instellen. Configuratie starten"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Je apparaat instellen"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Je apparaat instellen. Versleuteling"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Je apparaat instellen. Voortgang weergeven"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Knop \'Meer informatie\'"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Pictogram <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Kop van sectie <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Content van sectie <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Uitvouwen"</string>
+    <string name="collapse" msgid="7817530505064432580">"Samenvouwen"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Een lijst met links openen"</string>
+    <string name="access_links" msgid="7991363727326168600">"Links openen"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Voorwaarden openen"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Voorwaarden lezen"</string>
+    <string name="close_list" msgid="9053538299788717597">"Lijst sluiten"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Configuratie stoppen, terug op fabrieksinst.?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Als je deze configuratie beëindigt, wordt je apparaat teruggezet op de fabrieksinstellingen en keer je terug naar het beginscherm."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Annuleren"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Apparaat opnieuw instellen"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> en <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> en <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
deleted file mode 100644
index bed43c0..0000000
--- a/res/values-pa-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਨਾ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"ਓਹ ਹੋ!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਤ ਕਰੋ"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"ਤੁਹਾਡੀ ਕੰਪਨੀ ਇਸ ਪ੍ਰੋਫਾਈਲ ਤੇ ਨਿਯੰਤਰਣ ਪਾਉਂਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੀ ਹੈ। ਤੁਸੀਂ ਆਪਣੀ ਡੀਵਾਈਸ ਤੇ ਹੋਰ ਸਭ ਕਿਸੇ ਤੇ ਨਿਯੰਤਰਣ ਪਾ ਸਕਦੇ ਹੋ।"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"ਤੁਹਾਡੀ ਕੰਪਨੀ ਇਸ ਡੀਵਾਈਸ ਤੇ ਨਿਯੰਤਰਣ ਪਾਏਗੀ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖੇਗੀ।"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ਇਸ ਐਪ ਨੂੰ ਇਸ ਪ੍ਰੋਫਾਈਲ ਤੱਕ ਪਹੁੰਚ ਦੀ ਲੋੜ ਹੋਵੇਗੀ:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ਹੇਠਾਂ ਦਿੱਤੀ ਐਪ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰੇਗੀ:"</string>
-    <string name="next" msgid="1004321437324424398">"ਅੱਗੇ"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਕੋਲ ਇਸ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਸਬੰਧਿਤ ਸੈਟਿੰਗਾਂ, ਕਾਰਪੋਰੇਟ ਪਹੁੰਚ, ਐਪਾਂ, ਇਜਾਜ਼ਤਾਂ, ਅਤੇ ਡੈਟੇ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਸਮੱਰਥਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਨੈੱਟਵਰਕ ਸਰਗਰਮੀ, ਦੇ ਨਾਲ ਦੀ ਨਾਲ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦਾ ਟਿਕਾਣਾ, ਕਾਲ ਇਤਿਹਾਸ, ਅਤੇ ਸੰਪਰਕ ਖੋਜ ਇਤਿਹਾਸ ਵੀ ਸ਼ਾਮਲ ਹਨ।"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਕੋਲ ਇਸ ਡੀਵਾਈਸ ਨਾਲ ਸਬੰਧਿਤ ਸੈਟਿੰਗਾਂ, ਕਾਰਪੋਰੇਟ ਪਹੁੰਚ, ਐਪਾਂ, ਇਜਾਜ਼ਤਾਂ, ਚੋਰੀ ਤੋਂ ਰੱਖਿਆ ਕਰਨ ਵਾਲੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਅਤੇ ਡੈਟੇ ਦੀ ਨਿਗਰਾਨੀ ਅਤੇ ਪ੍ਰਬੰਧਨ ਦੀ ਸਮੱਰਥਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਨੈੱਟਵਰਕ ਸਰਗਰਮੀ ਅਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਵੀ ਸ਼ਾਮਲ ਹੈ।"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ਚੋਰੀ ਤੋਂ ਰੱਖਿਆ ਕਰਨ ਵਾਲੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ ਕੋਲ ਲਾਜ਼ਮੀ ਤੌਰ \'ਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਲਈ ਪਾਸਵਰਡ ਦੁਆਰਾ ਸੁਰੱਖਿਤ ਕੀਤਾ ਸਕ੍ਰੀਨ ਲੌਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ਆਪਣੀ ਸੰਸਥਾ ਦੀਆਂ ਪਰਦੇਦਾਰੀ ਨੀਤੀਆਂ ਸਹਿਤ, ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"ਹੋਰ ਜਾਣੋ"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"ਰੱਦ ਕਰੋ"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ਠੀਕ"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ਮੈਂ ਸਹਿਮਤ ਹਾਂ"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ਪ੍ਰਾਇਮਰੀ ਵਰਤੋਂਕਾਰ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"ਕੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾਉਣੀ ਹੈ?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ਇੱਕ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ ਅਤੇ ਇਸ ਵੱਲੋਂ ਵਿਵਸਥਿਤ ਕੀਤੀ ਗਈ ਹੈ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ਇਹ ਕੰਮ ਪ੍ਰੋਫਾਈਲ %s ਲਈ ਇਹ ਵਰਤਦੇ ਹੋਏ ਵਿਵਸਥਿਤ ਕੀਤੀ ਗਈ ਹੈ:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ, "<a href="#read_this_link">"ਇਹ ਪੜ੍ਹੋ"</a>"।"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ਜੇਕਰ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਦੇ ਹੋ, ਤਾਂ ਇਸ ਪ੍ਰੋਫਾਈਲ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਡੈਟੇ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"ਮਿਟਾਓ"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"ਰੱਦ ਕਰੋ"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਸੈਟ ਅਪ ਕਰਨਾ ਜਾਰੀ ਰੱਖਣ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣੀ ਡੀਵਾਈਸ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਇਸ ਵਿੱਚ ਥੋੜ੍ਹੀ ਦੇਰ ਲੱਗ ਸਕਦੀ ਹੈ।"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"ਆਪਣੀ ਡੀਵਾਈਸ ਨੂੰ ਸੈਟ ਅਪ ਕਰਨਾ ਜਾਰੀ ਰੱਖਣ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣੀ ਡੀਵਾਈਸ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਇਸ ਵਿੱਚ ਥੋੜ੍ਹੀ ਦੇਰ ਲੱਗ ਸਕਦੀ ਹੈ।"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"ਇਨਕ੍ਰਿਪਟ ਕਰੋ"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ਇਨਕ੍ਰਿਪਸ਼ਨ ਪੂਰਾ"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਦੀ ਸਥਾਪਨਾ ਨੂੰ ਜਾਰੀ ਰੱਖਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਕੰਮ ਪ੍ਰੋਫਾਈਲਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ਇਸ ਉਪਭੋਗਤਾ ਦੀ ਇੱਕ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਹੋ ਸਕਦੀ"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"ਕਾਰਜ ਪ੍ਰੋਫ਼ਾਈਲਾਂ ਕਿਸੇ ਪ੍ਰਬੰਧਿਤ ਡੀਵਾਈਸ \'ਤੇ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀਆਂ ਹਨ"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਬਣਾਈ ਜਾ ਸਕਦੀ ਕਿਉਂਕਿ ਤੁਸੀਂ ਆਪਣੀ ਡੀਵਾਈਸ ਤੇ ਅਧਿਕਤਮ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਸੀਮਾ ਪੂਰੀ ਹੋ ਗਈ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾਓ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਇਸ ਲੌਂਚਰ ਐਪ ਵੱਲੋਂ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ। ਤੁਹਾਨੂੰ ਇੱਕ ਅਜਿਹੇ ਲੌਂਚਰ ਨਾਲ ਸਵਿਚ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ ਜੋ ਅਨੁਕੂਲ ਹੋਵੇ।"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"ਰੱਦ ਕਰੋ"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ਠੀਕ"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"ਵਰਤੋਂਕਾਰ ਸੈੱਟਅੱਪ ਅਧੂਰਾ"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"ਕੰਮ ਡੀਵਾਈਸ ਦਾ ਉਪਭੋਗਤਾ"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"ਕੰਮ ਡੀਵਾਈਸ ਸਥਾਪਤ ਕਰੋ"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"ਸੈਟਅਪ ਡੈਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"ਐਡਮਿਨ ਐਪ ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"ਐਡਮਿਨ ਐਪ ਇੰਸਟੌਲ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"ਡੀਵਾਈਸ ਮਾਲਕ ਨੂੰ ਸੈਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਐਨਕ੍ਰਿਪਸ਼ਨ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ਕੀ ਤੁਸੀਂ ਸੈਟ ਅਪ ਕਰਨਾ ਬੰਦ ਅਤੇ ਆਪਣੀ ਡੀਵਾਈਸ ਦਾ ਡੈਟਾ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ਰੱਦ ਕਰੋ"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ਠੀਕ"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"ਰੀਸੈੱਟ ਕਰੋ"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ਇਹ ਡੀਵਾਈਸ ਪਹਿਲਾਂ ਹੀ ਸੈਟ ਅਪ ਕੀਤੀ ਹੋਈ ਹੈ।"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ਇਹ ਡੀਵਾਈਸ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਸੁਰੱਖਿਆ ਵੱਲੋਂ ਲੌਕ ਕੀਤੀ ਗਈ ਹੈ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ਮਿਟਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ਇੱਕ checksum ਅਸ਼ੁੱਧੀ ਦੇ ਕਾਰਨ ਐਡਮਿਨ ਐਪ ਨਹੀਂ ਵਰਤ ਸਕਿਆ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ਐਡਮਿਨ ਐਪ ਨੂੰ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ਐਡਮਿਨ ਐਪ ਨਹੀਂ ਵਰਤ ਸਕਿਆ। ਇਸਦੇ ਕੰਪੋਨੈਂਟ ਲੁਪਤ ਹਨ ਜਾਂ ਕਰਪਟ ਹਨ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ਐਡਮਿਨ ਐਪ ਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ਕੀ ਸੈਟ ਅਪ ਕਰਨਾ ਰੋਕਣਾ ਹੈ?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ਨਹੀਂ"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ਹਾਂ"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ਕੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟਅਪ ਰੋਕਣਾ ਹੈ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਆਪਣੀ ਕੰਪਨੀ ਵੱਲੋਂ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਨ ਐਪ ਤੋਂ ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰ ਸਕਦੇ ਹੋ।"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ਜਾਰੀ ਰੱਖੋ"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ਰੋਕੋ"</string>
-    <string name="provisioning" msgid="4512493827019163451">"ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸੈਟ ਕਰ ਰਿਹਾ ਹੈ"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰੋ। ਸੈਟਅਪ ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰੋ। ਇਨਕ੍ਰਿਪਸ਼ਨ"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰੋ। ਪ੍ਰਗਤੀ ਦਿਖਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ। ਸੈਟਅਪ ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ। ਇਨਕ੍ਰਿਪਸ਼ਨ"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ। ਪ੍ਰਗਤੀ ਦਿਖਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"ਹੋਰ ਜਾਣੋ ਬਟਨ"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ਆਈਕਨ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ਕੀ ਸਥਾਪਨਾ ਸਮਾਪਤ ਕਰਨੀ ਅਤੇ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ਇਸ ਸਥਾਪਨਾ ਨੂੰ ਸਮਾਪਤ ਕਰਨਾ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰ ਦੇਵੇਗਾ ਅਤੇ ਤੁਹਾਨੂੰ ਵਾਪਸ ਪਹਿਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਲੈ ਜਾਵੇਗਾ।"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ਰੱਦ ਕਰੋ"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰੋ"</string>
-</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
new file mode 100644
index 0000000..1aaff2e
--- /dev/null
+++ b/res/values-pa/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਨਾ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ਓਹ ਹੋ!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ਤੁਹਾਡੀ ਕੰਪਨੀ ਇਸ ਪ੍ਰੋਫਾਈਲ ਤੇ ਨਿਯੰਤਰਣ ਪਾਉਂਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੀ ਹੈ। ਤੁਸੀਂ ਆਪਣੀ ਡੀਵਾਈਸ ਤੇ ਹੋਰ ਸਭ ਕਿਸੇ ਤੇ ਨਿਯੰਤਰਣ ਪਾ ਸਕਦੇ ਹੋ।"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"ਤੁਹਾਡੀ ਕੰਪਨੀ ਇਸ ਡੀਵਾਈਸ ਤੇ ਨਿਯੰਤਰਣ ਪਾਏਗੀ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖੇਗੀ।"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ਇਸ ਐਪ ਨੂੰ ਇਸ ਪ੍ਰੋਫਾਈਲ ਤੱਕ ਪਹੁੰਚ ਦੀ ਲੋੜ ਹੋਵੇਗੀ:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"ਹੇਠਾਂ ਦਿੱਤੀ ਐਪ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰੇਗੀ:"</string>
+    <string name="next" msgid="1004321437324424398">"ਅੱਗੇ"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਕੋਲ ਇਸ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਸਬੰਧਿਤ ਸੈਟਿੰਗਾਂ, ਕਾਰਪੋਰੇਟ ਪਹੁੰਚ, ਐਪਾਂ, ਇਜਾਜ਼ਤਾਂ, ਅਤੇ ਡੈਟੇ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਸਰਗਰਮੀ ਦੇ ਨਾਲ-ਨਾਲ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦਾ ਟਿਕਾਣਾ, ਕਾਲ ਇਤਿਹਾਸ, ਅਤੇ ਸੰਪਰਕ ਖੋਜ ਇਤਿਹਾਸ ਵੀ ਸ਼ਾਮਲ ਹਨ।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ਆਪਣੀ ਸੰਸਥਾ ਦੀਆਂ ਪਰਦੇਦਾਰੀ ਨੀਤੀਆਂ ਸਮੇਤ, ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਕੋਲ ਇਸ ਡੀਵਾਈਸ ਨਾਲ ਸਬੰਧਿਤ ਸੈਟਿੰਗਾਂ, ਕਾਰਪੋਰੇਟ ਪਹੁੰਚ, ਐਪਾਂ, ਇਜਾਜ਼ਤਾਂ, ਅਤੇ ਡੈਟੇ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਸਰਗਰਮੀ ਦੇ ਨਾਲ-ਨਾਲ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦਾ ਟਿਕਾਣਾ, ਕਾਲ ਇਤਿਹਾਸ, ਅਤੇ ਸੰਪਰਕ ਖੋਜ ਇਤਿਹਾਸ ਵੀ ਸ਼ਾਮਲ ਹਨ।<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ਆਪਣੀ ਸੰਸਥਾ ਦੀਆਂ ਪਰਦੇਦਾਰੀ ਨੀਤੀਆਂ ਸਮੇਤ, ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"ਚੋਰੀ ਤੋਂ ਰੱਖਿਆ ਕਰਨ ਵਾਲੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ ਕੋਲ ਲਾਜ਼ਮੀ ਤੌਰ \'ਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਲਈ ਪਾਸਵਰਡ ਦੁਆਰਾ ਸੁਰੱਖਿਤ ਕੀਤਾ ਸਕ੍ਰੀਨ ਲੌਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ਆਪਣੀ ਸੰਸਥਾ ਦੀਆਂ ਪਰਦੇਦਾਰੀ ਨੀਤੀਆਂ ਸਹਿਤ, ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ਹੋਰ ਜਾਣੋ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ਰੱਦ ਕਰੋ"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ਠੀਕ"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ਮੈਂ ਸਹਿਮਤ ਹਾਂ"</string>
+    <string name="url_error" msgid="5958494012986243186">"ਇਹ ਲਿੰਕ ਦਿਖਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।"</string>
+    <string name="terms" msgid="8295436105384703903">"ਮਦਾਂ"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਦੀ ਜਾਣਕਾਰੀ"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"ਪ੍ਰਬੰਧਿਤ ਕੀਤੀ ਡੀਵਾਈਸ ਬਾਰੇ ਜਾਣਕਾਰੀ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ਪ੍ਰਾਇਮਰੀ ਵਰਤੋਂਕਾਰ"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ਕੀ ਮੌਜੂਦਾ ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਇੱਕ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਹੈ, ਜਿਸਦਾ ਪ੍ਰਬੰਧਨ ਅੱਗੇ ਦਿੱਤੀ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ, "<a href="#read_this_link">"ਇਹ ਪੜ੍ਹੋ"</a>"।"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ਜੇਕਰ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਦੇ ਹੋ, ਤਾਂ ਇਸ ਪ੍ਰੋਫਾਈਲ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਡੈਟੇ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ਮਿਟਾਓ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ਰੱਦ ਕਰੋ"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"ਤੁਹਾਡੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ, ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ।"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ, ਇਸਨੂੰ ਪਹਿਲਾਂ ਇਨਕ੍ਰਿਪਟ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ।"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ਡੀਵਾਈਸ ਇਨਕ੍ਰਿਪਟ ਕਰੀਏ?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"ਇਨਕ੍ਰਿਪਟ ਕਰੋ"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ਇਨਕ੍ਰਿਪਸ਼ਨ ਪੂਰਾ"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਦੀ ਸਥਾਪਨਾ ਨੂੰ ਜਾਰੀ ਰੱਖਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਆਪਣੇ IT ਵਿਭਾਗ ਨੂੰ ਸੰਪਰਕ ਕਰੋ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ਇਸ ਵਰਤੋਂਕਾਰ ਕੋਲ ਕੋਈ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ਇਸ ਵਰਤੋਂਕਾਰ ਕੋਲ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਹੋ ਸਕਦੇ। ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"ਕਾਰਜ ਪ੍ਰੋਫ਼ਾਈਲਾਂ ਕਿਸੇ ਪ੍ਰਬੰਧਿਤ ਡੀਵਾਈਸ \'ਤੇ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀਆਂ ਹਨ"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ਹੋ ਸਕਦਾ ਹੈ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਬਹੁਤ ਸਾਰੇ ਵਰਤੋਂਕਾਰ ਹੋਣ। ਕਿਸੇ ਵਰਤੋਂਕਾਰ ਨੂੰ ਹਟਾਓ, ਫਿਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"ਡੀਵਾਈਸ ਲਾਂਚਰ ਨੂੰ ਬਦਲੋ"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"ਇਹ ਲਾਂਚਰ ਐਪ ਤੁਹਾਡੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵੱਲੋਂ ਨਹੀਂ ਵਰਤੀ ਜਾ ਸਕਦੀ"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ਰੱਦ ਕਰੋ"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ਠੀਕ"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"ਵਰਤੋਂਕਾਰ ਸੈੱਟਅੱਪ ਅਧੂਰਾ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ਕੰਮ ਡੀਵਾਈਸ ਦਾ ਉਪਭੋਗਤਾ"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"ਕੰਮ ਡੀਵਾਈਸ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"ਸੈਟਅਪ ਡੈਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"ਐਡਮਿਨ ਐਪ ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"ਐਡਮਿਨ ਐਪ ਇੰਸਟੌਲ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"ਗੈਰ-ਲੋੜੀਂਦੀਆਂ ਸਿਸਟਮ ਐਪਾਂ ਹਟਾਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"ਅੰਤਿਮ ਰੂਪ ਦਿੱਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"ਡੀਵਾਈਸ ਮਾਲਕ ਨੂੰ ਸੈਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"ਡੀਵਾਈਸ ਚਾਲੂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"ਇਹ ਡੀਵਾਈਸ ਇਨਕ੍ਰਿਪਸ਼ਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦੀ ਹੈ, ਜਿਸਦੀ ਸਥਾਪਨਾ ਕਰਨ ਲਈ ਲੋੜ ਹੈ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"ਸਥਾਪਨਾ ਨੂੰ ਬੰਦ ਅਤੇ ਡੀਵਾਈਸ ਨੂੰ ਰੀਸੈੱਟ ਕਰੀਏ?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ਇਸ ਨਾਲ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਰੀਸੈੱਟ ਹੋ ਜਾਵੇਗੀ ਅਤੇ ਤੁਹਾਨੂੰ ਵਾਪਸ ਪਹਿਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਲਿਜਾਇਆ ਜਾਵੇਗਾ"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"ਕੀ ਤੁਸੀਂ ਸੈਟ ਅਪ ਕਰਨਾ ਬੰਦ ਅਤੇ ਆਪਣੀ ਡੀਵਾਈਸ ਦਾ ਡੈਟਾ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ਰੱਦ ਕਰੋ"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ਠੀਕ"</string>
+    <string name="reset" msgid="6467204151306265796">"ਰੀਸੈੱਟ ਕਰੋ"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ਡੀਵਾਈਸ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ਡੀਵਾਈਸ ਨੂੰ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"ਮਦਦ ਲਈ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ਡੀਵਾਈਸ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਸਥਾਪਤ ਕੀਤੀ ਹੋਈ ਹੈ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਵਿੱਚ \'ਰੀਸੈੱਟ ਕਰਨ ਸਬੰਧੀ ਸੁਰੱਖਿਆ\' ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਹੋਇਆ ਹੈ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ਮਿਟਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ਕਿਸੇ ਚੈੱਕਸਮ ਗੜਬੜ ਦੇ ਕਾਰਨ ਪ੍ਰਸ਼ਾਸਕ ਐਪ ਨੂੰ ਵਰਤਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ਐਡਮਿਨ ਐਪ ਨੂੰ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"ਪ੍ਰਸ਼ਾਸਕ ਐਪ ਵਰਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ। ਇਸ ਵਿੱਚ ਕੁਝ ਹਿੱਸੇ ਮੌਜੂਦ ਨਹੀਂ ਹਨ ਜਾਂ ਖਰਾਬ ਹਨ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ਐਡਮਿਨ ਐਪ ਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ਕੀ ਸੈਟ ਅਪ ਕਰਨਾ ਰੋਕਣਾ ਹੈ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ਨਹੀਂ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ਹਾਂ"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ਕੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟਅਪ ਰੋਕਣਾ ਹੈ?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"ਤੁਸੀਂ ਆਪਣੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਆਪਣੀ ਸੰਸਥਾ ਦੀ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਨ ਐਪ ਵਿੱਚ ਸਥਾਪਤ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ਰੋਕੋ"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ਖਾਰਜ ਕਰੋ"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"ਤੁਸੀਂ ਇੱਕ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਬਣਾਉਣ ਲੱਗੇ ਹੋ ਜਿਸਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਗਰਾਨੀ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਕੀਤੀ ਜਾਵੇਗੀ। ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ।"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"ਤੁਸੀਂ ਇੱਕ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਬਣਾਉਣ ਲੱਗੇ ਹੋ ਜਿਸਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਗਰਾਨੀ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਕੀਤੀ ਜਾਵੇਗੀ। <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ਦੀਆਂ ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ।"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"ਤੁਹਾਡੀਆਂ ਕਾਰਜ ਸਬੰਧੀ ਐਪਾਂ ਦੇ ਲਈ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਬਣਾਇਆ ਜਾਵੇਗਾ। ਇਸ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੀਆਂ ਬਾਕੀ ਚੀਜ਼ਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਗਰਾਨੀ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਕੀਤੀ ਜਾਵੇਗੀ। ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ।"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"ਤੁਹਾਡੀਆਂ ਕਾਰਜ ਸਬੰਧੀ ਐਪਾਂ ਦੇ ਲਈ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਬਣਾਇਆ ਜਾਵੇਗਾ। ਇਸ ਪ੍ਰੋਫਾਈਲ ਅਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੀਆਂ ਬਾਕੀ ਚੀਜ਼ਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਗਰਾਨੀ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਕੀਤੀ ਜਾਵੇਗੀ। <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ਦੀਆਂ ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ।"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ਵੱਲੋਂ ਇਸ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਜਾਵੇਗਾ। ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ। <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ਵੱਲੋਂ ਇਸ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਜਾਵੇਗਾ। <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> ਦੀਆਂ ਮਦਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ। <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ਇਹ ਲਿੰਕ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੈ ਅਤੇ ਇਸਨੂੰ ਡੀਵਾਈਸ ਦੀ ਸਥਾਪਨਾ ਪੂਰੀ ਹੋਣ ਤੱਕ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਹਨ, ਤਾਂ ਆਪਣੇ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਈ ਸਵਾਲ ਹਨ, ਤਾਂ ਆਪਣੀ ਸੰਸਥਾ ਦੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ਸਥਾਪਨਾ ਮੁਕੰਮਲ ਨਹੀਂ ਹੋਈ। ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"ਮਦਦ ਲਈ, ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ਸੰਸਥਾ ਦਾ ਪ੍ਰਸ਼ਾਸਕ"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ਅੱਗੇ ਦਿੱਤੀ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾਲ ਇਸ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਗਰਾਨੀ ਕਰੇਗੀ:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"ਤੁਹਾਡੀ ਸੰਸਥਾ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ਤੁਹਾਡੀ ਸੰਸਥਾ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"ਮਦਾਂ ਵੇਖੋ"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ਸਵੀਕਾਰ ਕਰੋ ਅਤੇ ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="close" msgid="7208600934846389439">"ਬੰਦ ਕਰੋ"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"ਆਪਣੀ ਡੀਵਾਈਸ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"ਆਪਣੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲੋ"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"ਕਾਰਜ ਡੈਟੇ ਨੂੰ ਨਿੱਜੀ ਨਾਲੋਂ ਵੱਖ ਕਰੋ"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ਕਾਰਜ ਸਬੰਧੀ ਐਪਾਂ ਦੇ ਲਈ ਇੱਕ ਥਾਂ"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ਕੰਮ ਪੂਰਾ ਹੋਣ \'ਤੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
+    <string name="provisioning" msgid="4512493827019163451">"ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸੈਟ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"ਆਪਣਾ ਪ੍ਰੋਫਾਈਲ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਨਿੱਜੀ ਡੈਟੇ ਤੋਂ ਕਾਰਜ ਡੈਟੇ ਨੂੰ ਵੱਖ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਆਪਣੀਆਂ ਕਾਰਜ ਐਪਾਂ ਨੂੰ ਇੱਕੋ ਥਾਂ \'ਤੇ ਰੱਖ ਸਕਦੇ ਹੋ"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰੋ। ਇਨਕ੍ਰਿਪਸ਼ਨ"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਸੈਟ ਅਪ ਕਰੋ। ਪ੍ਰਗਤੀ ਦਿਖਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ। ਇਨਕ੍ਰਿਪਸ਼ਨ"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"ਆਪਣੀ ਡੀਵਾਈਸ ਸੈਟ ਅਪ ਕਰੋ। ਪ੍ਰਗਤੀ ਦਿਖਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"ਹੋਰ ਜਾਣੋ ਬਟਨ"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ਆਈਕਨ"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ਸੈਕਸ਼ਨ ਸਿਰਲੇਖ।"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> ਸੈਕਸ਼ਨ ਸਮੱਗਰੀ: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ਵਿਸਤਾਰ ਕਰੋ"</string>
+    <string name="collapse" msgid="7817530505064432580">"ਸੁੰਗੇੜੋ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"ਲਿੰਕਾਂ ਦੀ ਸੂਚੀ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="access_links" msgid="7991363727326168600">"ਲਿੰਕਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ਮਦਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="read_terms" msgid="1745011123626640728">"ਮਦਾਂ ਪੜ੍ਹੋ"</string>
+    <string name="close_list" msgid="9053538299788717597">"ਸੂਚੀ ਬੰਦ ਕਰੋ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"ਕੀ ਸਥਾਪਨਾ ਸਮਾਪਤ ਕਰਨੀ ਅਤੇ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ਇਸ ਸਥਾਪਨਾ ਨੂੰ ਸਮਾਪਤ ਕਰਨਾ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰ ਦੇਵੇਗਾ ਅਤੇ ਤੁਹਾਨੂੰ ਵਾਪਸ ਪਹਿਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਲੈ ਜਾਵੇਗਾ।"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ਰੱਦ ਕਰੋ"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰੋ"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ਅਤੇ <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ਅਤੇ <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 47ba288..fd59d47 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Ta aplikacja będzie zarządzać urządzeniem:"</string>
     <string name="next" msgid="1004321437324424398">"Dalej"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Konfiguruję profil do pracy…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, uprawnienia i dane powiązane z profilem, w tym aktywność w sieci, informacje o lokalizacji urządzenia, historię połączeń oraz historię wyszukiwania kontaktów, i nimi zarządzać."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, uprawnienia, funkcje ochrony przed kradzieżą i dane powiązane z tym urządzeniem (w tym aktywność w sieci i informacje o jego lokalizacji) oraz nimi zarządzać."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, uprawnienia i dane powiązane z profilem (w tym aktywność w sieci, lokalizację urządzenia, historię połączeń i historię wyszukiwania kontaktów) oraz nimi zarządzać.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Skontaktuj się z administratorem, by uzyskać więcej informacji, w tym politykę prywatności obowiązującą w Twojej organizacji."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, uprawnienia i dane powiązane z urządzeniem (w tym aktywność w sieci, lokalizację urządzenia, historię połączeń i historię wyszukiwania kontaktów) oraz nimi zarządzać.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Skontaktuj się z administratorem, by uzyskać więcej informacji, w tym politykę prywatności obowiązującą w Twojej organizacji."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Aby korzystać z funkcji ochrony przed kradzieżą, musisz włączyć na urządzeniu blokadę ekranu zabezpieczoną hasłem."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Aby dowiedzieć się więcej i poznać politykę prywatności swojej organizacji, skontaktuj się z administratorem."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Więcej informacji"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Anuluj"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Zgadzam się"</string>
+    <string name="url_error" msgid="5958494012986243186">"Nie można wyświetlić linku."</string>
+    <string name="terms" msgid="8295436105384703903">"Warunki"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informacje o profilu do pracy"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informacje o urządzeniu zarządzanym"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil do pracy"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Główny użytkownik"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Usunąć profil do pracy?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Profil do pracy już istnieje i zarządza nim:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tym profilem do pracy w %s zarządza:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Usunąć istniejący profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Masz już profil do pracy, którym zarządza ta aplikacja:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Zanim przejdziesz dalej, "<a href="#read_this_link">"przeczytaj to"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Pamiętaj, że wszystkie aplikacje i dane w tym profilu zostaną usunięte."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Usuń"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Anuluj"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Aby kontynuować konfigurowanie profilu do pracy, musisz zaszyfrować swoje urządzenie. Może to trochę potrwać."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Aby kontynuować konfigurowanie urządzenia, musisz je zaszyfrować. Może to trochę potrwać."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Zaszyfruj"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Skonfigurowanie profilu do pracy wymaga zaszyfrowania urządzenia. Może to trochę potrwać."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Przed skonfigurowaniem urządzenie trzeba zaszyfrować. Może to trochę potrwać."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Zaszyfrować to urządzenie?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Zaszyfruj"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Szyfrowanie zostało zakończone"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Kliknij, by kontynuować konfigurowanie profilu do pracy"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nie można skonfigurować profilu do pracy. Skontaktuj się z działem IT lub spróbuj później jeszcze raz."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Urządzenie nie obsługuje profili do pracy"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ten użytkownik nie może mieć profilu do pracy."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nie można dodać profilu do pracy"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ten użytkownik nie może mieć profilu do pracy. Skontaktuj się z administratorem, aby uzyskać pomoc."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ten użytkownik nie może mieć profili do pracy. Skontaktuj się z administratorem."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Profili do pracy nie można skonfigurować na urządzeniu zarządzanym"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Nie można utworzyć profilu do pracy, bo na urządzeniu jest już maksymalna liczba użytkowników. Usuń co najmniej jednego użytkownika i spróbuj ponownie."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacja uruchamiająca nie obsługuje Twojego profilu do pracy. Przełącz się na zgodną."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Na tym urządzeniu może być zbyt wiele kont użytkowników. Usuń konto użytkownika i spróbuj ponownie."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Zmień program uruchamiający na urządzeniu"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Tego programu uruchamiającego nie można używać w profilu do pracy"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Anuluj"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Instalacja użytkownika nie została ukończona"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Łączę z Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Pobieram aplikację administratora…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instaluję aplikację administratora…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Usuwam niewymagane aplikacje systemowe..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Ostatnie poprawki…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Ustawiam właściciela urządzenia…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Urządzenie nie obsługuje szyfrowania. Skontaktuj się z działem IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicjuję urządzenie..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"To urządzenie nie umożliwia szyfrowania, a jest to wymagane do konfiguracji. Skontaktuj się z administratorem, by uzyskać pomoc."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Zatrzymać konfigurację i zresetować urządzenie?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Spowoduje to zresetowanie urządzenia do ustawień fabrycznych i przeniesienie do pierwszego ekranu."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Zatrzymać konfigurowanie i wykasować dane z urządzenia?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anuluj"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Zresetuj"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nie można skonfigurować urządzenia. Skontaktuj się z działem IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"To urządzenie jest już skonfigurowane."</string>
+    <string name="reset" msgid="6467204151306265796">"Zresetuj"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Nie można skonfigurować profilu"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Nie można skonfigurować urządzenia"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Nie można skonfigurować urządzenia. Skontaktuj się z administratorem, by uzyskać pomoc."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Skontaktuj się z administratorem, aby uzyskać pomoc"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Urządzenie jest już skonfigurowane"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nie udało się połączyć z siecią Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"To urządzenie jest chronione przed przywróceniem ustawień fabrycznych. Skontaktuj się z działem IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Na urządzeniu jest włączona ochrona przed zresetowaniem. Skontaktuj się z administratorem, aby uzyskać pomoc."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Wymazuję"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Zaczekaj..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nie można użyć aplikacji administratora z powodu błędu sumy kontrolnej. Skontaktuj się z działem IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Nie można użyć aplikacji administratora z powodu błędu sumy kontrolnej. Skontaktuj się z administratorem, aby uzyskać pomoc."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nie udało się pobrać aplikacji administratora"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nie można użyć aplikacji administratora. Brak elementów lub są one uszkodzone. Skontaktuj się z działem IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Nie można użyć aplikacji administratora. Brak elementów lub są one uszkodzone. Skontaktuj się z administratorem, aby uzyskać pomoc."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nie udało się zainstalować aplikacji administratora"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Przerwać konfigurację?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nie"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Tak"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Anuluję…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Zatrzymać konfigurowanie profilu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Profil do pracy możesz skonfigurować później w aplikacji do zarządzania urządzeniami używanej przez organizację."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Dalej"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Profil do pracy możesz skonfigurować później w aplikacji do zarządzania urządzeniami używanej przez organizację."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Dalej"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zatrzymaj"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Zamknij"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Utworzysz profil do pracy, który będzie zarządzany i monitorowany przez Twoją organizację. Obowiązują warunki."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Utworzysz profil do pracy, który będzie zarządzany i monitorowany przez Twoją organizację. Obowiązują warunki podane na stronach <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Utworzony profil będzie przeznaczony na aplikacje do pracy. Ten profil oraz reszta urządzenia będą zarządzane i monitorowane przez Twoją organizację. Obowiązują warunki."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Utworzony profil będzie przeznaczony na aplikacje do pracy. Ten profil oraz reszta urządzenia będą zarządzane i monitorowane przez Twoją organizację. Obowiązują warunki podane na stronach <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Organizacja <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> będzie zarządzać tym urządzeniem i dbać o jego bezpieczeństwo. Obowiązują warunki. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Organizacja <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> będzie zarządzać tym urządzeniem i dbać o jego bezpieczeństwo. Obowiązują warunki podane na stronach <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ten link nie jest bezpieczny i nie można go otworzyć do czasu ukończenia konfiguracji urządzenia: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Jeśli masz pytania, skontaktuj się z: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Jeśli masz pytania, skontaktuj się z administratorem organizacji"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Nie ukończono konfiguracji. Skontaktuj się z administratorem, aby uzyskać pomoc."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Skontaktuj się z administratorem, aby uzyskać pomoc"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrator organizacji"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Organizacja <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> będzie zarządzać tym urządzeniem i monitorować je za pomocą aplikacji:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Twoja organizacja"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"Twoja organizacja"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Wyświetl warunki"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Zaakceptuj i kontynuuj"</string>
+    <string name="close" msgid="7208600934846389439">"Zamknij"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfigurowanie urządzenia"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Zmień sposób pracy"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Rozdzielanie życia prywatnego i zawodowego"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Aplikacje do pracy w jednym miejscu"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Wyłącz pracę, gdy skończysz"</string>
     <string name="provisioning" msgid="4512493827019163451">"Włączam obsługę administracyjną"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Konfiguruję certyfikaty CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfigurowanie profilu. Rozpocznij konfigurację"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Konfigurowanie profilu"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Profil do pracy pozwala oddzielić dane służbowe od prywatnych"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Dzięki profilowi do pracy wszystkie aplikacje służbowe masz w jednym miejscu"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfigurowanie profilu. Szyfrowanie"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Konfigurowanie profilu. Pokazuje postęp"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfigurowanie urządzenia. Rozpocznij konfigurację"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurowanie urządzenia"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Konfigurowanie urządzenia. Szyfrowanie"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Konfigurowanie urządzenia. Pokazuje postęp"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"przycisk Więcej informacji"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Nagłówek sekcji <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Treść sekcji <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Rozwiń"</string>
+    <string name="collapse" msgid="7817530505064432580">"Zwiń"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Otwórz listę linków"</string>
+    <string name="access_links" msgid="7991363727326168600">"Otwórz linki"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Otwórz hasła"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Przeczytaj warunki"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zamknij listę"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Zakończyć konfigurację i zresetować?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Jeśli zakończysz tę konfigurację, spowoduje to zresetowanie urządzenia do ustawień fabrycznych i przeniesienie do pierwszego ekranu."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Anuluj"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Resetuj urządzenie"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> i <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> i <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 9e8751b..845d303 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"O seguinte app gerenciará seu dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Próximo"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando seu perfil de trabalho…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este perfil, incluindo suas atividades na rede, bem como o local, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões, recursos de proteção contra roubo e dados associados a este dispositivo, incluindo atividade na rede e informações de local do dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este perfil, incluindo sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Entre em contato com seu administrador para saber outras informações, entre elas as políticas de privacidade da sua organização."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este dispositivo, incluindo sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Entre em contato com seu administrador para saber outras informações, entre elas as políticas de privacidade da sua organização."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para usar os recursos de proteção contra roubo, é necessário um bloqueio de tela protegido por senha no dispositivo."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Entre em contato com o administrador para receber mais informações, incluindo as políticas de privacidade da organização."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Eu concordo"</string>
+    <string name="url_error" msgid="5958494012986243186">"O link não pode ser exibido."</string>
+    <string name="terms" msgid="8295436105384703903">"Termos"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informações do perfil de trabalho"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informações do dispositivo gerenciado"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuário principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Remover perfil de trabalho?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Já existe um perfil de trabalho e ele é gerenciado por:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"O perfil de trabalho é gerenciado por %s usando:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Deseja excluir o perfil já existente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Você já tem um perfil de trabalho, gerenciado por meio do seguinte app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de prosseguir, "<a href="#read_this_link">"leia isso"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se você continuar, todos os apps e dados deste perfil serão excluídos."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Excluir"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar a configuração do perfil de trabalho, você precisará criptografar o dispositivo. Isso pode demorar algum tempo."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para continuar a configuração do seu dispositivo, será necessário criptografá-lo. Isso pode demorar algum tempo."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptografar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Para configurar seu perfil de trabalho, é preciso criptografar o dispositivo. Isso pode demorar um pouco."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Para configurar este dispositivo, é necessário criptografá-lo primeiro. Isso pode demorar um pouco."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Cript. dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Criptografar"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptografia concluída"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toque para continuar a configuração do seu perfil de trabalho"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar seu perfil de trabalho. Entre em contato com o departamento de TI ou tente novamente mais tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não aceita perfis de trabalho"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este usuário não pode ter um perfil de trabalho"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Não é possível adicionar um perfil de trabalho"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este usuário não pode ter um perfil de trabalho. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este usuário não pode ter perfis de trabalho. Entre em contato com seu administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Os perfis de trabalho não podem ser configurados em um dispositivo gerenciado"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Não foi possível criar o perfil de trabalho, pois você atingiu o número máximo de usuários no dispositivo. Remova pelo menos um usuário e tente novamente."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O app da tela de início não aceita seu perfil de trabalho. É necessário mudar para uma tela de início compatível."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"É possível que este dispositivo tenha usuários demais. Remova um usuário e tente novamente."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Alterar tela de início do dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Não é possível usar este app da tela de início em seu perfil de trabalho"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuração de usuário incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando-se ao Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Fazendo o download do app para administrador…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instalando o app para administrador…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Removendo apps do sistema não necessários…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Adicionando toques finais…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Configurando o proprietário do dispositivo…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Seu dispositivo não é compatível com criptografia. Entre em contato com seu departamento de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicializando dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo não é compatível com criptografia, que é necessária para a configuração. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Parar configuração e redefinir o dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Isso redefinirá o dispositivo e levará você de volta à primeira tela"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Interromper a configuração e limpar os dados do seu dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Redefinir"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Entre em contato com o departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo já está configurado."</string>
+    <string name="reset" msgid="6467204151306265796">"Redefinir"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Não é possível configurar o perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Não é possível configurar o dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Não foi possível configurar o dispositivo. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Entre em contato com seu administrador para receber ajuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"O dispositivo já foi configurado"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível se conectar a redes Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Este dispositivo está bloqueado por proteção da configuração original. Entre em contato com o departamento de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Seu dispositivo está com a proteção contra redefinição ativada. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Apagando"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Aguarde..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível fazer o download do app para administrador"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível usar o app para administrador. Alguns componentes estão ausentes ou corrompidos. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Não é possível usar o app para administrador, pois estão faltando alguns componentes ou o app foi corrompido. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar o app para administrador"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Interromper configuração?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Não"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sim"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Parar configuração do perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"É possível configurar seu perfil de trabalho mais tarde a partir do app de gerenciamento de dispositivo usado pela sua organização."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Você poderá configurar seu perfil de trabalho mais tarde no app de gerenciamento de dispositivos da sua organização"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Parar"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Dispensar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Você está prestes a criar um perfil de trabalho que será gerenciado e monitorado pela sua organização. Alguns termos são aplicáveis."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Você está prestes a criar um perfil de trabalho que será gerenciado e monitorado pela sua organização. Os termos de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> são aplicáveis."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Será criado um perfil para seus apps de trabalho. Esse perfil e o restante do seu dispositivo serão gerenciados e monitorados pela sua organização. Alguns termos são aplicáveis."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Será criado um perfil para seus apps de trabalho. Esse perfil e o restante do seu dispositivo serão gerenciados e monitorados pela sua organização. Os termos de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> são aplicáveis."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Este dispositivo será gerenciado e protegido por <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Alguns termos são aplicáveis. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Este dispositivo será gerenciado e protegido por <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Os termos de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> são aplicáveis. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Este link não é seguro e só pode ser aberto após o término da configuração do dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Em caso de dúvidas, fale com o <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Em caso de dúvidas, entre em contato com o administrador da sua organização"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"A configuração não foi concluída. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Entre em contato com seu administrador para receber ajuda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador da organização"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> vai gerenciar e monitorar este dispositivo por meio do seguinte app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Sua empresa"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"sua organização"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ver termos"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceitar e continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Fechar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configure o dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Mude a forma como você trabalha"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separar profissional de pessoal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Um só lugar para os apps de trabalho"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desativar o app de trabalho ao concluir"</string>
     <string name="provisioning" msgid="4512493827019163451">"Aprovisionamento"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Instalação de certificados de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurar seu perfil. Iniciar configuração"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurar seu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ao usar um perfil de trabalho, você pode separar os dados de trabalho dos dados pessoais"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ao usar um perfil de trabalho, você mantém seus apps de trabalho em um só lugar"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurar seu perfil. Criptografia"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurar seu perfil. Mostrando progresso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurar seu dispositivo. Iniciar configuração"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurar seu dispositivo. Criptografia"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurar seu dispositivo. Mostrando progresso"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botão \"Saiba mais\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ícone de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Título da seção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Conteúdo da seção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expandir"</string>
+    <string name="collapse" msgid="7817530505064432580">"Recolher"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Acessar uma lista de links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Acessar links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Acessar termos"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Ler os termos"</string>
+    <string name="close_list" msgid="9053538299788717597">"Fechar lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Finalizar a configuração e a redefinição?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"A finalização desta configuração redefinirá o dispositivo para a configuração original e levará você de volta para a primeira tela."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Redefinir dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> e <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> e <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index bfddd6b..041ccc7 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"A aplicação seguinte vai gerir o seu dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Seguinte"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"A configurar o perfil de trabalho..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"O administrador tem a capacidade de monitorizar e de gerir as definições, o acesso empresarial, as aplicações, as autorizações e os dados associados a este perfil, incluindo a atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisa de contactos do seu dispositivo."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"O administrador tem a capacidade de monitorizar e de gerir as definições, o acesso empresarial, as aplicações, as autorizações, as funcionalidades de proteção contra roubo e os dados associados a este dispositivo, incluindo a atividade de rede e as informações de localização do seu dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"O seu administrador tem a capacidade de monitorizar e gerir definições, acesso empresarial, aplicações, autorizações e dados associados a este perfil, incluindo a sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisas de contactos do dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacte o administrador para obter mais informações, incluindo as Políticas de Privacidade da sua entidade."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"O seu administrador tem a capacidade de monitorizar e gerir definições, acesso empresarial, aplicações, autorizações e dados associados a este dispositivo, incluindo a sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisas de contactos do dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contacte o administrador para obter mais informações, incluindo as Políticas de Privacidade da sua entidade."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para utilizar as funcionalidades de proteção contra roubo, necessita de um bloqueio de ecrã protegido por palavra-passe para o dispositivo."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contacte o administrador para obter mais informações, incluindo as políticas de privacidade da sua entidade."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Aceito"</string>
+    <string name="url_error" msgid="5958494012986243186">"Não é possível apresentar o link."</string>
+    <string name="terms" msgid="8295436105384703903">"Termos"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informações do perfil de trabalho"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informações do dispositivo gerido"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Utilizador principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Pretende remover o perfil de trabalho?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Já existe um perfil de trabalho e é gerido por:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de trabalho é gerido por %s através de:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Pretende eliminar o perfil existente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Já tem um perfil de trabalho que é gerido através da seguinte aplicação:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de continuar, "<a href="#read_this_link">"leia isto"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se continuar, todas as aplicações e todos os dados neste perfil são eliminados."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar a configuração do seu perfil de trabalho, tem de encriptar o dispositivo. Esta ação poderá demorar algum tempo."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para continuar a configuração do seu dispositivo, tem de o encriptar. Esta ação pode demorar algum tempo."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encriptar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Para configurar o seu perfil de trabalho, tem de encriptar o dispositivo. Esta ação pode demorar algum tempo."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Para configurar este dispositivo, primeiro tem de o encriptar. Esta ação pode demorar algum tempo."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Encr. dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Encriptar"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptação concluída"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toque para continuar a configurar o seu perfil de trabalho"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar o perfil de trabalho. Contacte o departamento de TI ou tente novamente mais tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não é compatível com perfis de trabalho"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este utilizador não pode ter um perfil de trabalho"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Não é possível adicionar o perfil de trabalho"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este utilizador não pode ter um perfil de trabalho. Contacte o administrador para obter ajuda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este utilizador não pode ter perfis de trabalho. Contacte o administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Não é possível configurar perfis de trabalho num dispositivo gerido"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Não é possível criar um perfil de trabalho, porque foi atingido o número máximo de utilizadores no dispositivo. Remova, no mínimo, um utilizador e tente novamente."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O seu perfil de trabalho não é suportado por esta aplicação de launcher. Terá de mudar para um launcher compatível."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Poderão existir demasiados utilizadores neste dispositivo. Remova um utilizador e tente novamente."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Alterar o iniciador do dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"O seu perfil de trabalho não pode utilizar esta aplicação de iniciador"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuração do utilizador incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"A ligar à rede Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"A transferir a aplicação de administração..."</string>
     <string name="progress_install" msgid="2258045670385866183">"A instalar a aplicação de administração..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"A remover aplic. do sistema não necessárias…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"A dar os toques finais…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"A definir o proprietário do dispositivo..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"O seu dispositivo não é compatível com a encriptação. Contacte o departamento de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"A inicializar o dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo não permite encriptação, que é necessária para efetuar a configuração. Contacte o administrador para obter ajuda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Pretende parar a configuração e repor o dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Esta ação repõe o dispositivo e direciona-o para o primeiro ecrã"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Pretende interromper a configuração e apagar os dados do dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Repor"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Contacte o departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo já está configurado."</string>
+    <string name="reset" msgid="6467204151306265796">"Repor"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Não é possível configurar o perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Não é possível configurar o dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Não foi possível configurar o dispositivo. Contacte o administrador para obter ajuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Contacte o administrador para obter ajuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"O dispositivo já está configurado"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível ligar à rede Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Este dispositivo está bloqueado pela proteção de reposição de fábrica. Contacte o seu departamento de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"O dispositivo tem a proteção de reposição ativada. Contacte o administrador para obter ajuda."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"A apagar"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Aguarde..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível utilizar a aplicação de administração devido a um erro de soma de verificação. Contacte o departamento de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Não foi possível utilizar a aplicação de administração devido a um erro de soma de verificação. Contacte o administrador para obter ajuda."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível transferir a aplicação de administração"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível utilizar a aplicação de administração. Faltam componentes ou está danificada. Contacte o departamento de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Não é possível utilizar a aplicação de administração. Faltam componentes ou está danificada. Contacte o administrador para obter ajuda."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar a aplicação de administração"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Pretende interromper a configuração?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Não"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sim"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"A cancelar..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Pretende parar a configuração do perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Pode configurar o seu perfil de trabalho mais tarde a partir da aplicação de gestão de dispositivos utilizada pela sua entidade."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Pode configurar o perfil de trabalho mais tarde na aplicação de gestão de dispositivos da sua entidade"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Parar"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignorar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Está prestes a criar um perfil de trabalho que será gerido e monitorizado pela sua entidade. Aplicam-se termos."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Está prestes a criar um perfil de trabalho que será gerido e monitorizado pela sua entidade. Aplicam-se os termos da <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Será criado um perfil para as suas aplicações de trabalho. Este perfil e o restante dispositivo serão geridos e monitorizados pela sua entidade. Aplicam-se termos."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Será criado um perfil para as suas aplicações de trabalho. Este perfil e o restante dispositivo serão geridos e monitorizados pela sua entidade. Aplicam-se os termos da <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Este dispositivo será gerido e mantido em segurança pela <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Aplicam-se termos. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Este dispositivo será gerido e mantido em segurança pela <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Aplicam-se os termos da <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Este link não é seguro e não o pode abrir até concluir a configuração do dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Se tiver dúvidas, contacte o <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Se tiver dúvidas, contacte o administrador da entidade"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"A configuração não está concluída. Contacte o administrador para obter ajuda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Contacte o administrador para obter ajuda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador da entidade"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"A <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> irá gerir e monitorizar este dispositivo através da seguinte aplicação:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"A sua entidade"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"a sua entidade"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ver termos"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceitar e continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Fechar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configurar o dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Mudar a sua maneira de trabalhar"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separar o trabalho da vida pessoal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Um único local para aplicações de trabalho"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desativar o trabalho quando terminar"</string>
     <string name="provisioning" msgid="4512493827019163451">"Administração de contas"</string>
     <string name="copying_certs" msgid="5697938664953550881">"A configurar os certificados da AC"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurar o seu perfil. Iniciar a configuração"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurar o seu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ao utilizar um perfil de trabalho, pode separar os dados de trabalho dos dados pessoais"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ao utilizar um perfil de trabalho, pode manter as aplicações de trabalho num único local"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurar o seu perfil. Encriptação"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurar o seu perfil. A mostrar o progresso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurar o seu dispositivo. Iniciar a configuração"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurar o seu dispositivo. Encriptação"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurar o seu dispositivo. A mostrar o progresso"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botão Saiba mais"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ícone <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Cabeçalho da secção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Conteúdo da secção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expandir"</string>
+    <string name="collapse" msgid="7817530505064432580">"Reduzir"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Aceder a uma lista de links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Aceder aos links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Aceder aos termos"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Ler os termos"</string>
+    <string name="close_list" msgid="9053538299788717597">"Fechar lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Concluir a configuração e repor os dados?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"A conclusão desta configuração repõe os dados de fábrica do dispositivo e direciona-o para o primeiro ecrã."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Repor dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> e <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> e <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 9e8751b..845d303 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"O seguinte app gerenciará seu dispositivo:"</string>
     <string name="next" msgid="1004321437324424398">"Próximo"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Configurando seu perfil de trabalho…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este perfil, incluindo suas atividades na rede, bem como o local, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões, recursos de proteção contra roubo e dados associados a este dispositivo, incluindo atividade na rede e informações de local do dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este perfil, incluindo sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Entre em contato com seu administrador para saber outras informações, entre elas as políticas de privacidade da sua organização."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Seu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, permissões e dados associados a este dispositivo, incluindo sua atividade de rede, bem como a localização, o histórico de chamadas e o histórico de pesquisa de contatos do seu dispositivo.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Entre em contato com seu administrador para saber outras informações, entre elas as políticas de privacidade da sua organização."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Para usar os recursos de proteção contra roubo, é necessário um bloqueio de tela protegido por senha no dispositivo."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Entre em contato com o administrador para receber mais informações, incluindo as políticas de privacidade da organização."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Eu concordo"</string>
+    <string name="url_error" msgid="5958494012986243186">"O link não pode ser exibido."</string>
+    <string name="terms" msgid="8295436105384703903">"Termos"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informações do perfil de trabalho"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informações do dispositivo gerenciado"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Usuário principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Remover perfil de trabalho?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Já existe um perfil de trabalho e ele é gerenciado por:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"O perfil de trabalho é gerenciado por %s usando:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Deseja excluir o perfil já existente?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Você já tem um perfil de trabalho, gerenciado por meio do seguinte app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Antes de prosseguir, "<a href="#read_this_link">"leia isso"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Se você continuar, todos os apps e dados deste perfil serão excluídos."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Excluir"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar a configuração do perfil de trabalho, você precisará criptografar o dispositivo. Isso pode demorar algum tempo."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Para continuar a configuração do seu dispositivo, será necessário criptografá-lo. Isso pode demorar algum tempo."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptografar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Para configurar seu perfil de trabalho, é preciso criptografar o dispositivo. Isso pode demorar um pouco."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Para configurar este dispositivo, é necessário criptografá-lo primeiro. Isso pode demorar um pouco."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Cript. dispositivo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Criptografar"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptografia concluída"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Toque para continuar a configuração do seu perfil de trabalho"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar seu perfil de trabalho. Entre em contato com o departamento de TI ou tente novamente mais tarde."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não aceita perfis de trabalho"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Este usuário não pode ter um perfil de trabalho"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Não é possível adicionar um perfil de trabalho"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Este usuário não pode ter um perfil de trabalho. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Este usuário não pode ter perfis de trabalho. Entre em contato com seu administrador."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Os perfis de trabalho não podem ser configurados em um dispositivo gerenciado"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Não foi possível criar o perfil de trabalho, pois você atingiu o número máximo de usuários no dispositivo. Remova pelo menos um usuário e tente novamente."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O app da tela de início não aceita seu perfil de trabalho. É necessário mudar para uma tela de início compatível."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"É possível que este dispositivo tenha usuários demais. Remova um usuário e tente novamente."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Alterar tela de início do dispositivo"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Não é possível usar este app da tela de início em seu perfil de trabalho"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configuração de usuário incompleta"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Conectando-se ao Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Fazendo o download do app para administrador…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Instalando o app para administrador…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Removendo apps do sistema não necessários…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Adicionando toques finais…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Configurando o proprietário do dispositivo…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Seu dispositivo não é compatível com criptografia. Entre em contato com seu departamento de TI."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicializando dispositivo…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Este dispositivo não é compatível com criptografia, que é necessária para a configuração. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Parar configuração e redefinir o dispositivo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Isso redefinirá o dispositivo e levará você de volta à primeira tela"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Interromper a configuração e limpar os dados do seu dispositivo?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Redefinir"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Entre em contato com o departamento de TI."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Este dispositivo já está configurado."</string>
+    <string name="reset" msgid="6467204151306265796">"Redefinir"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Não é possível configurar o perfil"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Não é possível configurar o dispositivo"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Não foi possível configurar o dispositivo. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Entre em contato com seu administrador para receber ajuda"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"O dispositivo já foi configurado"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível se conectar a redes Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Este dispositivo está bloqueado por proteção da configuração original. Entre em contato com o departamento de TI."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Seu dispositivo está com a proteção contra redefinição ativada. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Apagando"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Aguarde..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível fazer o download do app para administrador"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível usar o app para administrador. Alguns componentes estão ausentes ou corrompidos. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Não é possível usar o app para administrador, pois estão faltando alguns componentes ou o app foi corrompido. Entre em contato com seu administrador para receber ajuda."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar o app para administrador"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Interromper configuração?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Não"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sim"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Cancelando…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Parar configuração do perfil?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"É possível configurar seu perfil de trabalho mais tarde a partir do app de gerenciamento de dispositivo usado pela sua organização."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuar"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Você poderá configurar seu perfil de trabalho mais tarde no app de gerenciamento de dispositivos da sua organização"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuar"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Parar"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Dispensar"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Você está prestes a criar um perfil de trabalho que será gerenciado e monitorado pela sua organização. Alguns termos são aplicáveis."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Você está prestes a criar um perfil de trabalho que será gerenciado e monitorado pela sua organização. Os termos de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> são aplicáveis."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Será criado um perfil para seus apps de trabalho. Esse perfil e o restante do seu dispositivo serão gerenciados e monitorados pela sua organização. Alguns termos são aplicáveis."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Será criado um perfil para seus apps de trabalho. Esse perfil e o restante do seu dispositivo serão gerenciados e monitorados pela sua organização. Os termos de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> são aplicáveis."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Este dispositivo será gerenciado e protegido por <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Alguns termos são aplicáveis. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Este dispositivo será gerenciado e protegido por <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Os termos de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> são aplicáveis. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Este link não é seguro e só pode ser aberto após o término da configuração do dispositivo: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Em caso de dúvidas, fale com o <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Em caso de dúvidas, entre em contato com o administrador da sua organização"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"A configuração não foi concluída. Entre em contato com seu administrador para receber ajuda."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Entre em contato com seu administrador para receber ajuda"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrador da organização"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> vai gerenciar e monitorar este dispositivo por meio do seguinte app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Sua empresa"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"sua organização"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Ver termos"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Aceitar e continuar"</string>
+    <string name="close" msgid="7208600934846389439">"Fechar"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configure o dispositivo"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Mude a forma como você trabalha"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separar profissional de pessoal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Um só lugar para os apps de trabalho"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Desativar o app de trabalho ao concluir"</string>
     <string name="provisioning" msgid="4512493827019163451">"Aprovisionamento"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Instalação de certificados de CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurar seu perfil. Iniciar configuração"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurar seu perfil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ao usar um perfil de trabalho, você pode separar os dados de trabalho dos dados pessoais"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ao usar um perfil de trabalho, você mantém seus apps de trabalho em um só lugar"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurar seu perfil. Criptografia"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurar seu perfil. Mostrando progresso"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurar seu dispositivo. Iniciar configuração"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurar seu dispositivo. Criptografia"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurar seu dispositivo. Mostrando progresso"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Botão \"Saiba mais\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ícone de <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Título da seção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Conteúdo da seção <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Expandir"</string>
+    <string name="collapse" msgid="7817530505064432580">"Recolher"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Acessar uma lista de links"</string>
+    <string name="access_links" msgid="7991363727326168600">"Acessar links"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Acessar termos"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Ler os termos"</string>
+    <string name="close_list" msgid="9053538299788717597">"Fechar lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Finalizar a configuração e a redefinição?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"A finalização desta configuração redefinirá o dispositivo para a configuração original e levará você de volta para a primeira tela."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Cancelar"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Redefinir dispositivo"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> e <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> e <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 332f9a8..55669b6 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Dispozitivul va fi gestionat de următoarea aplicație:"</string>
     <string name="next" msgid="1004321437324424398">"Înainte"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Se configurează profilul de serviciu..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratorul poate să monitorizeze și să gestioneze setările, accesul la nivelul companiei, aplicațiile, permisiunile și datele asociate cu profilul, inclusiv activitatea în rețea și informațiile despre locația dispozitivului, istoricul apelurilor și istoricul căutărilor persoanelor de contact."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratorul poate să monitorizeze și să gestioneze setările, accesul la nivelul companiei, aplicațiile, permisiunile, funcțiile de protecție împotriva furtului și datele asociate acestui dispozitiv, inclusiv activitatea în rețea și informațiile despre locația dispozitivului."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratorul poate să monitorizeze și să gestioneze setările, accesul la nivelul companiei, aplicațiile, permisiunile și datele asociate acestui profil, inclusiv activitatea în rețea și informațiile despre locația dispozitivului, istoricul apelurilor și istoricul căutărilor persoanelor de contact.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contactați administratorul pentru mai multe informații, inclusiv politicile de confidențialitate ale organizației."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratorul poate să monitorizeze și să gestioneze setările, accesul la nivelul companiei, aplicațiile, permisiunile și datele asociate acestui dispozitiv, inclusiv activitatea în rețea și informațiile despre locația dispozitivului, istoricul apelurilor și istoricul căutărilor persoanelor de contact.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Contactați administratorul pentru mai multe informații, inclusiv politicile de confidențialitate ale organizației."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Pentru a folosi funcțiile de protecție împotriva furtului, trebuie să aveți o blocare a ecranului protejată prin parolă pentru dispozitiv."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Contactați administratorul pentru mai multe informații, inclusiv politicile de confidențialitate ale organizației."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Aflați mai multe"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Anulați"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Sunt de acord"</string>
+    <string name="url_error" msgid="5958494012986243186">"Acest link nu se poate afișa."</string>
+    <string name="terms" msgid="8295436105384703903">"Termeni"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informații despre profilul de serviciu"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informații privind dispozitivul gestionat"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profilul de serviciu"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Utilizatorul principal"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Eliminați profilul de serviciu?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Deja există un profil de serviciu, iar acesta este gestionat de:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Acest profil de serviciu este gestionat pentru %s folosind:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Ștergeți profilul existent?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Aveți deja un profil de serviciu gestionat cu următoarea aplicație:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Înainte de a continua, "<a href="#read_this_link">"citiți aici"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"În cazul în care continuați, toate aplicațiile și datele din acest profil vor fi șterse."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Ștergeți"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Anulați"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pentru a continua configurarea profilului de serviciu, va trebui să criptați dispozitivul. Acest proces poate dura un timp."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Pentru a continua configurarea dispozitivului, va trebui să îl criptați. Acest proces poate dura un timp."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptați"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Pentru a vă configura profilul de serviciu, dispozitivul trebuie criptat. Procesul poate dura un timp."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Pentru a configura dispozitivul, acesta trebuie mai întâi criptat. Procesul poate dura un timp."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Criptați acest dispozitiv?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Criptați"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptare completă"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Atingeți pentru a continua configurarea profilului de serviciu"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nu s-a putut configura profilul de serviciu. Contactați departamentul IT sau încercați din nou mai târziu."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Dispozitivul dvs. nu acceptă profiluri de serviciu"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Acest utilizator nu poate avea un profil de serviciu"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nu se poate adăuga profilul de serviciu"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Acest utilizator nu poate avea un profil de serviciu. Pentru ajutor, contactați administratorul."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Acest utilizator nu poate avea profiluri de serviciu. Contactați administratorul."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Profilurile de serviciu nu pot fi configurate pe un dispozitiv gestionat de un administrator"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Profilul de serviciu nu a putut fi creat, deoarece ați atins numărul maxim de utilizatori pe dispozitiv. Eliminați cel puțin un utilizator și încercați din nou."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profilul dvs. de lucru nu este acceptat de aplicația de lansare. Va trebui să comutați la o aplicație de lansare compatibilă."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Este posibil să fie prea mulți utilizatori pe acest dispozitiv. Eliminați un utilizator și încercați din nou."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Schimbați lansatorul dispozitivului"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Această aplicație lansator nu poate fi folosită de profilul dvs. de serviciu"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Anulați"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Configurarea utilizatorului nu s-a finalizat"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Se conectează la Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Se descarcă aplicația de administrare..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Se instalează aplicația de administrare..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Se elimină aplicațiile de sistem nenecesare…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Se adaugă ultimele setări…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Se setează proprietarul dispozitivului..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Dispozitivul dvs. nu acceptă criptarea. Contactați departamentul IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Se inițializează dispozitivul…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Acest dispozitiv nu permite criptarea, care este necesară pentru configurare. Pentru ajutor, contactați administratorul."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Opriți configurarea și resetați dispozitivul?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Astfel veți reseta dispozitivul și veți reveni la primul ecran"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Opriți configurarea și ștergeți datele de pe dispozitiv?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anulați"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetați"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Configurarea nu s-a putut efectua. Contactați departamentul IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Dispozitivul este deja configurat."</string>
+    <string name="reset" msgid="6467204151306265796">"Resetați"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Nu se poate configura profilul"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Nu se poate configura dispozitivul"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Nu s-a putut configura dispozitivul. Pentru ajutor, contactați administratorul."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Pentru ajutor, contactați administratorul"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Dispozitivul este deja configurat"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nu se poate conecta la Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Acest dispozitiv este blocat prin protecția împotriva revenirii la setările din fabrică. Contactați departamentul IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Pe dispozitivul dvs. este activată protecția împotriva resetării. Pentru ajutor, contactați administratorul."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Se șterge"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Așteptați..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nu se poate utiliza aplicația de administrare din cauza unei erori de sumă de control. Contactați departamentul IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Nu s-a putut utiliza aplicația de administrare din cauza unei erori de sumă de control. Pentru ajutor, contactați administratorul."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Eroare la descărcarea aplicației de administrare"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nu se poate utiliza aplicația de administrare. Este deteriorată sau lipsesc componente. Contactați departamentul IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Nu se poate utiliza aplicația de administrare deoarece este deteriorată sau lipsesc componente. Pentru ajutor, contactați administratorul."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Eroare la instalarea aplicației de administrare"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Opriți configurarea?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nu"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Se anulează..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Opriți configurarea profilului?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Puteți configura profilul de serviciu mai târziu din aplicația de administrare a dispozitivelor folosită de organizația dvs."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Continuați"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Puteți configura profilul de serviciu mai târziu din aplicația de administrare a dispozitivelor folosită de organizația dvs."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Continuați"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Opriți"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Închideți"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Sunteți pe punctul de a crea un profil de serviciu care va fi gestionat și monitorizat de organizația dvs. Se impun condiții."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Sunteți pe punctul de a crea un profil de serviciu care va fi gestionat și monitorizat de organizația dvs. Trebuie respectate condiții impuse de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Va fi creat un profil pentru aplicațiile dvs. de serviciu. Acest profil și restul dispozitivului vor fi gestionate și monitorizate de organizația dvs. Se impun condiții."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Va fi creat un profil pentru aplicațiile dvs. de serviciu. Acest profil și restul dispozitivului vor fi gestionate și monitorizate de organizația dvs. Trebuie respectate condiții impuse de <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Acest dispozitiv va fi gestionat și păstrat în siguranță de <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Se impun condiții. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Acest dispozitiv va fi gestionat și păstrat în siguranță de <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Trebuie respectate condiții impuse de <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Acest link nu este sigur și nu poate fi deschis până când nu se încheie configurarea dispozitivului: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Dacă aveți întrebări, contactați <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Dacă aveți întrebări, contactați administratorul organizației"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Configurarea nu este finalizată. Pentru ajutor, contactați administratorul."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Pentru ajutor, contactați administratorul"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administratorul organizației"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> va gestiona și monitoriza acest dispozitiv utilizând următoarea aplicație:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organizația dvs."</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organizația dvs."</string>
+    <string name="view_terms" msgid="7230493092383341605">"Consultați condițiile"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Acceptați și cont."</string>
+    <string name="close" msgid="7208600934846389439">"Închideți"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Configurați dispozitivul"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Schimbați modul în care lucrați"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separați datele de serviciu de cele personale"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"O singură locație pentru aplicațiile de serviciu"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Dezactivați serviciul atunci când terminați"</string>
     <string name="provisioning" msgid="4512493827019163451">"Se asigură accesul"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Se configurează certificatele CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Configurați profilul. Inițiați configurarea"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Configurați-vă profilul"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Folosind un profil de serviciu, puteți separa datele profesionale de cele personale"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Folosind un profil de serviciu, vă puteți păstra aplicațiile de serviciu într-un singur loc"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Configurați profilul. Criptarea"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Configurați profilul. Se afișează progresul"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Configurați dispozitivul. Inițiați configurarea"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurarea dispozitivului"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Configurați dispozitivul. Criptarea"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Configurați dispozitivul. Se afișează progresul"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Butonul Aflați mai multe"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Pictograma <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Titlul secțiunii <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Conținutul secțiunii <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Extindeți"</string>
+    <string name="collapse" msgid="7817530505064432580">"Restrângeți"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Accesați o listă de linkuri"</string>
+    <string name="access_links" msgid="7991363727326168600">"Accesați linkurile"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Accesați condițiile"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Citiți condițiile"</string>
+    <string name="close_list" msgid="9053538299788717597">"Închideți lista"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Încheiați configurarea și reveniți la setările din fabrică?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Dacă încheiați această configurare, dispozitivul va reveni la setările din fabrică, iar dvs. veți reveni la primul ecran."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Anulați"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Resetați dispozitivul"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> și <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> și <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 9f5406a..0fdd1cc 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Это приложение будет управлять вашим устройством:"</string>
     <string name="next" msgid="1004321437324424398">"Далее"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Настройка рабочего профиля…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Администратор может контролировать настройки, приложения, разрешения и параметры доступа к корпоративным ресурсам в этом профиле, а также связанные с ним данные (например, сведения о местоположении, вызовах, поиске контактов или действиях в Интернете)."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Администратор сможет контролировать настройки, приложения, разрешения и параметры доступа к корпоративным ресурсам на этом устройстве, а также связанные с ним данные, например сведения о местоположении или действиях в Интернете."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Администратор может контролировать настройки, приложения, разрешения и параметры доступа к корпоративным ресурсам, а также данные, связанные с этим профилем, например сведения о действиях в Интернете, местоположении устройства, вызовах и поиске контактов.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Чтобы получить подробную информацию и ознакомиться с политикой конфиденциальности компании, обратитесь к администратору."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Администратор может контролировать настройки, приложения, разрешения и параметры доступа к корпоративным ресурсам, а также данные, связанные с этим устройством, например сведения о действиях в Интернете, местоположении, вызовах и поиске контактов.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Чтобы получить подробную информацию и ознакомиться с политикой конфиденциальности компании, обратитесь к администратору."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Чтобы воспользоваться функциями защиты от кражи, сначала установите пароль для разблокировки устройства."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Чтобы получить подробную информацию и ознакомиться с политикой конфиденциальности компании, обратитесь к администратору."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Подробнее…"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Отмена"</string>
     <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Разрешить"</string>
+    <string name="url_error" msgid="5958494012986243186">"Не удалось открыть ссылку."</string>
+    <string name="terms" msgid="8295436105384703903">"Условия использования"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Информация о рабочем профиле"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Информация об управляемом устройстве"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Рабочий профиль"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Основной пользователь"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Удалить рабочий профиль?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Рабочий профиль уже создан. Им управляет"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Профиль находится в домене %s, им управляет"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Удалить существующий профиль?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"У вас уже есть рабочий профиль. Им управляют с помощью этого приложения:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Прежде чем продолжить, "<a href="#read_this_link">"ознакомьтесь с этой информацией"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Все приложения и данные в этом профиле будут удалены. Продолжить?"</string>
     <string name="delete_profile" msgid="2299218578684663459">"Удалить"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Отмена"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Чтобы продолжить настройку  рабочего профиля, зашифруйте данные на устройстве. Шифрование займет некоторое время."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Чтобы продолжить настройку, зашифруйте данные на устройстве. Шифрование займет некоторое время."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Зашифровать"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Чтобы настроить рабочий профиль, необходимо зашифровать данные на устройстве. Это займет некоторое время."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Чтобы настроить устройство, необходимо зашифровать данные на нем. Это займет некоторое время."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Зашифровать данные?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Зашифровать"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрование завершено"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Нажмите, чтобы продолжить настройку рабочего профиля."</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не удалось настроить рабочий профиль. Обратитесь в отдел технической поддержки вашей компании или повторите попытку позже."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Устройство не поддерживает рабочие профили"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"У этого пользователя не может быть рабочего профиля"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Невозможно добавить рабочий профиль"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Невозможно создать рабочий профиль для пользователя. Обратитесь за помощью к администратору."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"У этого пользователя не может быть рабочего профиля. Обратитесь к администратору."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Рабочие профили не поддерживаются на управляемых устройствах"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Невозможно создать рабочий профиль, потому что на устройстве слишком много пользователей. Удалите хотя бы один аккаунт и повторите попытку."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Эта панель запуска не поддерживает рабочие профили. Выберите совместимую панель."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Слишком много пользователей на устройстве. Удалите одного из них и повторите попытку."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Измените панель запуска на устройстве"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Эта панель запуска не поддерживает рабочие профили"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Отмена"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Не удалось настроить аккаунт пользователя"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Подключение к Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Скачивание приложения для администрирования…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Установка приложения для администрирования…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Удаление необязательных системных приложений…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Подождите…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Назначение владельца устройства…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Устройство не поддерживает функцию шифрования. Обратитесь к ИТ-специалистам."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Подождите…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Устройство не поддерживает функцию шифрования, необходимую для настройки. Обратитесь за помощью к администратору."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Остановить настройку и выполнить сброс до заводских параметров?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Все параметры будут сброшены до заводских, и настройку придется начать заново."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Прервать настройку и удалить все данные с устройства?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Отмена"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"ОК"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Сброс"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Не удалось настроить устройство. Обратитесь в отдел технической поддержки вашей компании."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Настройка уже выполнена."</string>
+    <string name="reset" msgid="6467204151306265796">"Сбросить"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Не удалось настроить профиль"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Не удалось настроить устройство"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Не удалось настроить устройство. Обратитесь за помощью к администратору."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Обратитесь за помощью к администратору"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Устройство уже настроено"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не удалось подключиться к сети Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"При сбросе настроек устройство было заблокировано. Свяжитесь с отделом ИТ."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"На устройстве включена защита от возврата к заводским настройкам. Обратитесь за помощью к администратору."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Удаление…"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Подождите..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Нельзя использовать приложение для администрирования из-за ошибки при проверке контрольной суммы. Обратитесь в отдел технической поддержки вашей компании."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Нельзя использовать приложение для администрирования из-за ошибки при проверке контрольной суммы. Обратитесь за помощью к администратору."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не удалось скачать приложение для администрирования"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Нельзя использовать приложение для администрирования, так как в нем не хватает компонентов или они повреждены. Обратитесь в отдел технической поддержки вашей компании."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Нельзя использовать приложение для администрирования, так как в нем не хватает компонентов или они повреждены. Обратитесь за помощью к администратору."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не удалось установить приложение для администрирования"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Прервать настройку?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Нет"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Отмена…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Прекратить настройку профиля?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Рабочий профиль можно настроить позже – в приложении, которым ваша организация пользуется для управления устройствами."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Продолжить"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Рабочий профиль можно настроить позже – в приложении, которым ваша организация пользуется для управления устройствами"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Продолжить"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Остановить"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Закрыть"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Вы собираетесь создать рабочий профиль, который будет контролировать ваша организация. Будут действовать условия использования."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Вы собираетесь создать рабочий профиль, который будет контролировать ваша организация. Будут действовать условия использования <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Для рабочих приложений будет создан профиль. Контролировать его, а также все устройство будет ваша организация. Будут действовать условия использования."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Для рабочих приложений будет создан профиль. Контролировать его, а также все устройство будет ваша организация. Будут действовать условия использования <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> будет управлять этим устройством и обеспечивать его безопасность. Будут действовать условия использования. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> будет управлять этим устройством и обеспечивать его безопасность. Будут действовать условия использования <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Это небезопасная ссылка, поэтому ее нельзя открыть, пока устройство не настроено: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Если у вас есть вопросы, обратитесь к <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Если у вас есть вопросы, обратитесь к администратору"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Настройка не завершена. Обратитесь за помощью к администратору."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Обратитесь за помощью к администратору"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"администратору"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> будет контролировать это устройство с помощью следующего приложения:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Ваша организация"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ваша организация"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Условия использования"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Принять и продолжить"</string>
+    <string name="close" msgid="7208600934846389439">"Закрыть"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Настройте устройство"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Измените стиль работы"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Храните рабочие данные отдельно от личных"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Одно пространство для всех рабочих приложений"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Удобное распределение рабочих и личных данных"</string>
     <string name="provisioning" msgid="4512493827019163451">"Синхронизация"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Настройка сертификатов ЦС"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Настройка профиля. Начало."</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Настройте профиль"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Рабочий профиль позволяет хранить корпоративные данные отдельно от личных"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Рабочий профиль позволяет хранить корпоративные приложения вместе"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Настройка профиля. Шифрование."</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Настройка профиля. Индикатор выполнения."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Настройка устройства. Начало."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Настройте устройство"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Настройка устройства. Шифрование."</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Настройка устройства. Индикатор выполнения."</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Кнопка \"Подробнее\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Значок \"<xliff:g id="ICON_LABEL">%1$s</xliff:g>\""</string>
+    <string name="section_heading" msgid="3924666803774291908">"Раздел \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\"."</string>
+    <string name="section_content" msgid="8875502515704374394">"В разделе \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\" находится контент \"<xliff:g id="SECTION_CONTENT">%2$s</xliff:g>\""</string>
+    <string name="expand" msgid="37188292156131304">"Развернуть"</string>
+    <string name="collapse" msgid="7817530505064432580">"Свернуть"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Перейти к списку ссылок"</string>
+    <string name="access_links" msgid="7991363727326168600">"Перейти к ссылкам"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Перейти к условиям использования"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Читать условия"</string>
+    <string name="close_list" msgid="9053538299788717597">"Закрыть список"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Отменить настройку?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Все параметры будут сброшены до заводских, и настройку придется начать заново."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Отмена"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Сбросить настройки устройства"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> и <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> и <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
deleted file mode 100644
index 97fabde..0000000
--- a/res/values-si-rLK/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"කාර්යාල පැතිකඩ පිහිටුවීම"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"අපොයි!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"කාර්යාල පැතිකඩ පිහිටුවන්න"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"ඔබගේ සංවිධානය මෙම පැතිකඩ පාලනය කරයි සහ එය ආරක්ෂිතව තබයි. ඔබගේ උපාංගයේ අනෙක් සියලු ඔබ පාලනය කරයි."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"ඔබගේ සංවිධානය මෙම උපාංගය පාලනය කිරීම සහ එය ආරක්ෂිතව තැබීම කරනු ඇත."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"මෙම පැතිකඩ ප්‍රවේශ වීමට ඊළගට එන යෙදුම් වලට අවශ්‍යය:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"පහත යෙදුම් ඔබේ උපාංගය කළමනාකරණය කරනු ඇත:"</string>
-    <string name="next" msgid="1004321437324424398">"ඊළඟ"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"ඔබගේ කාර්යාල පැතිකඩ පිහිටුවමින්..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"ඔබේ ජාල ක්‍රියාකාරකම්, මෙන්ම ඔබේ උපාංගයේ ස්ථානය, ඇමතුම් ඉතිහාසය, සහ සම්බන්ධතා සෙවීම් ඉතිහාසය ඇතුළුව, සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම්, අවසර සහ මෙම පැතිකඩ සමඟ සම්බන්ධිත දත්ත නිරීක්ෂණය කිරීමේ සහ කළමනාකරණය කිරීමේ හැකියාව ඔබේ පරිපාලකට තිබේ."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"ජාල ක්‍රියාකාරකම් සහ ඔබේ උපාංගයේ ස්ථාන තොරතුරු ඇතුළුව, සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම්, අවසර සහ මෙම උපාංගය සමඟ සම්බන්ධිත දත්ත නිරීක්ෂණය සහ කළමනාකරණය කිරීමේ හැකියාව ඔබේ පරිපාලකට තිබේ."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"සොරකම්වලින්-ආරක්ෂා වීමේ විශේෂාංග භාවිත කිරීම සඳහා, ඔබට ඔබේ උපාංගය සඳහා මුරපදයකින් ආරක්ෂිත තිර අගුලක් තිබිය යුතුය."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ඔබේ සංවිධානයේ රහස්‍යතා ප්‍රතිපත්ති ඇතුළුව, තව තොරතුරු සඳහා ඔබේ පරිපාලක අමතන්න."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"තව දැනගන්න"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"අවලංගු කරන්න"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"හරි"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"මම කැමැත්ත දෙමි"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"කාර්යාල පැතිකඩ"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"මූලික පරිශීලක"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"කාර්යාල පැතිකඩ ඉවත් කරන්නද?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"කාර්යාල පැතිකඩක් දැනටමත් තිබෙන අතර එය කළමනාකරණය කරන්නේ:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s සඳහා මෙම කාර්යාල පැතිකඩ මෙය භාවිතයෙන් කළමනාකරණය කෙරේ:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"ඉදිරියට යාමට පෙර, "<a href="#read_this_link">"මෙය කියවන්න"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ඔබ දිගටම කරගෙන ගියහොත්, මෙම පැතිකඩේ සියලු යෙදුම් සහ දත්ත මැකෙනු ඇත."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"මකන්න"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"අවලංගු කරන්න"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ඔබගේ කාර්යාල පැතිකඩේ සැකසීම ඉදිරියට කරගෙන යෑමට, ඔබගේ උපාංගය සංකේතනය කිරීමට ඔබට අවශ්‍ය වේ. මෙයට ටික වෙලාවක් ගත වේ."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"ඔබගේ උපාංගය දිගටම සකස් කිරීමට, ඔබ එය සංකේතනය කළ යුතුයි. මෙයට ටික වේලාවක් ගත වේ."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"සංකේතනය"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"සංකේතනය සම්පූර්ණයි"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ඔබගේ කාර්යාල පැතිකඩ පිහිටුවීම දිගටම කරගෙන යාමට තට්ටු කරන්න"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ඔබගේ කාර්යාල පැතිකඩ සැකසීමට නොහැකි විය. ඔබගේ IT අංශය සම්බන්ධ කර ගන්න හෝ පසුව නැවත උත්සාහ කරන්න."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ඔබගේ උපාංගය කාර්යාල පැතිකඩ වෙත සහය දක්වන්නේ නැත."</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"මෙම පරිශීලකයාට කාර්යාල පැතිකඩක් තිබිය නොහැකිය"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"කළමනාකරණය කරන උපාංගයක් මත වැඩ පැතිකඩක් පිහිටුවීමට නොහැකිය"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ඔබේ උපාංගයේ පරිශීලකයන් උපරිම සංඛ්‍යාවට ළඟා වී ඇති බැවින් කාර්ය පැතිකඩක් සෑදීමට නොහැකිය. කරුණාකර අඩු තරමින් එක් පරිශීලකයෙකු ඉවත් කර නැවත උත්සාහ කරන්න."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"මෙම දියත් කරන යෙදුම මඟින් ඔබගේ කාර්යාල පැතිකඩට සහාය ලබා නොදේ. අනුකූල දියත් කරනයකට ඔබට මාරු වීමට අවශ්‍ය වේ."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"අවලංගු කරන්න"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"හරි"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"පරිශීලක පිහිටුවීම අසම්පූර්ණයි"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"කාර්යාල උපාංගයේ පරිශීලකයා"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"කාර්යාල උපාංගය පිහිටුවන්න"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"පිහිටුවීම් දත්ත සකසමින්..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi වෙත සම්බන්ධ වෙමින්..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"පරිපාලක යෙදුම බාගනිමින්..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"පරිපාලක යෙදුම ස්ථාපනය කරමින්..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"උපාංග හිමිකරු සකසමින්..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"ඔබේ උපාංගය සංකේතනයට සහාය නොදක්වයි. ඔබේ IT දෙපාර්තමේන්තුව අමතන්න."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"පිහිටුවීම නවත්වා ඔබේ උපාංගයේ දත්ත මකන්නද?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"අවලංගු කරන්න"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"හරි"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"යළි පිහිටුවන්න"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"ඔබගේ උපාංගය කළ නොහැක. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"මෙම උපාංගය දැනටමත් පිහිටුවා තිබේ."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi වෙත සම්බන්ධ විය නොහැක"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"මෙම උපාංගය කර්මාන්ත ශාලා යළි සැකසීම් ආරක්ෂාව මගින් අගුලු දමා ඇත. ඔබේ IT දෙපාර්තමේන්තුව අමතන්න."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"මකමින්"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"කරුණාකර රැඳී සිටින්න..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Checksum දෝෂය හේතුවෙන් පරිපාලක යෙදුම භාවිතා කළ නොහැක. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"පරිපාලක යෙදුම බාගැනීම කළ නොහැක."</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"පරිපාලක යෙදුම භාවිතා කළ නොහැක. එහි අංශ නැත හෝ විකෘති වී ඇත. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"පරිපාලක යෙදුම ස්ථාපනය කළ නොහැක."</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"පිහිටුවීම නවත්වන්නද?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"නැත"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ඔව්"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"අවලංගු කරමින්..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"පැතිකඩ පිහිටුවීම් නවත්වන්නද?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"ඔබට ඔබගේ සංවිධානය විසින් භාවිත කරන උපාංග කළමනාකරණ යෙදුම වෙතින් පසුව ඔබේ කාර්යාල පැතිකඩ පිහිටුවිය හැකිය."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"දිගටම කර ගෙන යන්න"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"නතර කරන්න"</string>
-    <string name="provisioning" msgid="4512493827019163451">"ප්‍රතිපාදනය කරමින්"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA සහතික සකස් කිරීම"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ඔබගේ පැතිකඩ පිහිටුවීම. පිහිටුවීම ආරම්භ කරන්න"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"ඔබගේ පැතිකඩ සංකේතනය පිහිටුවන්න"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"ඔබගේ පැතිකඩ පිහිටුවීම. ප්‍රගතිය පෙන්වමින්"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ඔබගේ උපාංගය පිහිටුවන්න. පිහිටුවීම ආරම්භ කරන්න"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"ඔබගේ උපාංග සංකේතනය පිහිටුවන්න"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"ඔබගේ උපාංගය පිහිටුවීම. ප්‍රගතිය පෙන්වමින්"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"තව දැන ගැනීමේ බොත්තම"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> නිරූපකය"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"පිහිටුවීම නිම කර කර්මාන්තශාලා යළි සකසන්නද?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"මෙම පිහිටුවීම අවසන් කිරීම ඔබේ උපාංගය කර්මාන්ත ශාලා යළි සැකසීමට පත් කර ඔබව ආපසු මුල් තිරයට ගෙන යනු ඇත."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"අවලංගු කරන්න"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"උපාංගය යළි සකසන්න"</string>
-</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
new file mode 100644
index 0000000..a9343ad
--- /dev/null
+++ b/res/values-si/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"කාර්යාල පැතිකඩ පිහිටුවීම"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"අපොයි!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"කාර්යාල පැතිකඩ පිහිටුවන්න"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ඔබගේ සංවිධානය මෙම පැතිකඩ පාලනය කරයි සහ එය ආරක්ෂිතව තබයි. ඔබගේ උපාංගයේ අනෙක් සියලු ඔබ පාලනය කරයි."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"ඔබගේ සංවිධානය මෙම උපාංගය පාලනය කිරීම සහ එය ආරක්ෂිතව තැබීම කරනු ඇත."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"මෙම පැතිකඩ ප්‍රවේශ වීමට ඊළගට එන යෙදුම් වලට අවශ්‍යය:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"පහත යෙදුම් ඔබේ උපාංගය කළමනාකරණය කරනු ඇත:"</string>
+    <string name="next" msgid="1004321437324424398">"ඊළඟ"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"ඔබගේ කාර්යාල පැතිකඩ පිහිටුවමින්..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"ඔබේ ජාල ක්‍රියාකාරකම්, මෙන්ම ඔබේ උපාංගයේ ස්ථානය, ඇමතුම් ඉතිහාසය, සහ සම්බන්ධතා සෙවීම් ඉතිහාසය ඇතුළුව, සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම්, අවසර සහ මෙම පැතිකඩ සමඟ සම්බන්ධිත දත්ත නිරීක්ෂණය කිරීමේ සහ කළමනාකරණය කිරීමේ හැකියාව ඔබේ පරිපාලකට තිබේ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ඔබගේ සංවිධානයේ පෞද්ගලිකත්ව ප්‍රතිපත්ති ඇතුළුව තවත් තොරතුරු සඳහා ඔබගේ පරිපාලකයා සම්බන්ධ කරගන්න."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"ඔබේ ජාල ක්‍රියාකාරකම්, මෙන්ම ඔබේ උපාංගයේ ස්ථානය, ඇමතුම් ඉතිහාසය, සහ සම්බන්ධතා සෙවීම් ඉතිහාසය ඇතුළුව, සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම්, අවසර සහ මෙම උපාංගය සමඟ සම්බන්ධිත දත්ත නිරීක්ෂණය කිරීමේ සහ කළමනාකරණය කිරීමේ හැකියාව ඔබේ පරිපාලකට තිබේ.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>ඔබගේ සංවිධානයේ පෞද්ගලිකත්ව ප්‍රතිපත්ති ඇතුළුව තවත් තොරතුරු සඳහා ඔබගේ පරිපාලකයා සම්බන්ධ කරගන්න."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"සොරකම්වලින්-ආරක්ෂා වීමේ විශේෂාංග භාවිත කිරීම සඳහා, ඔබට ඔබේ උපාංගය සඳහා මුරපදයකින් ආරක්ෂිත තිර අගුලක් තිබිය යුතුය."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ඔබේ සංවිධානයේ රහස්‍යතා ප්‍රතිපත්ති ඇතුළුව, තව තොරතුරු සඳහා ඔබේ පරිපාලක අමතන්න."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"තව දැනගන්න"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"අවලංගු කරන්න"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"හරි"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"මම කැමැත්ත දෙමි"</string>
+    <string name="url_error" msgid="5958494012986243186">"මේ සබැඳිය සංදර්ශනය කළ නොහැකිය."</string>
+    <string name="terms" msgid="8295436105384703903">"නියම"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"කාර්යාල පැතිකඩ තොරතුරු"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"කළමනාකරණය කළ උපාංග තොරතුරු"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"කාර්යාල පැතිකඩ"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"මූලික පරිශීලක"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"තිබන පැතිකඩ මකන්නද?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"ඔබට දැනටමත් පහත යෙදුම මඟින් කළමනාකරණය වන කාර්යාල පැතිකඩක් තිබේ:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"ඉදිරියට යාමට පෙර, "<a href="#read_this_link">"මෙය කියවන්න"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"ඔබ දිගටම කරගෙන ගියහොත්, මෙම පැතිකඩේ සියලු යෙදුම් සහ දත්ත මැකෙනු ඇත."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"මකන්න"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"අවලංගු කරන්න"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"ඔබගේ කාර්යාල පැතිකඩේ සැකසීමට, ඔබගේ උපාංගය සංකේතනය කිරීමට අවශ්‍ය වේ. මෙයට ටික වෙලාවක් ගත වේ."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"මෙම උපාංගය පිහිටුවීමට එය මුලින් සංකේතනය කළ යුතුයි. මෙයට ටික වේලාවක් ගනී."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"මෙම උපාංගය සංකේතනය කරන්නද?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"සංකේතනය"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"සංකේතනය සම්පූර්ණයි"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"ඔබගේ කාර්යාල පැතිකඩ පිහිටුවීම දිගටම කරගෙන යාමට තට්ටු කරන්න"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ඔබගේ කාර්යාල පැතිකඩ සැකසීමට නොහැකි විය. ඔබගේ IT අංශය සම්බන්ධ කර ගන්න හෝ පසුව නැවත උත්සාහ කරන්න."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"කාර්යාල පැතිකඩ එකතු කිරීමට නොහැක"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"මෙම පරිශීලකයාට කාර්යාල පැතිකඩක් තිබිය නොහැකිය. උදව් සඳහා පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"මෙම පරිශීලකයාට කාර්යාල පැතිකඩක් තිබිය නොහැකිය. පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"කළමනාකරණය කරන උපාංගයක් මත වැඩ පැතිකඩක් පිහිටුවීමට නොහැකිය"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"මෙම උපාංගයේ බොහෝ ක්‍රියාකාරී ගිණුම් තිබේ. පරිශීලකයෙක් ඉවත් කර නැවත උත්සාහ කරන්න."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"උපාංග දියත්කරණය වෙනස් කරන්න"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"මෙම දියත්කරණය යෙදුම ඔබගේ කාර්යාල පැතිකඩ මඟින් භාවිතා කිරීමට නොහැක"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"අවලංගු කරන්න"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"හරි"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"පරිශීලක පිහිටුවීම අසම්පූර්ණයි"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"කාර්යාල උපාංගයේ පරිශීලකයා"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"කාර්යාල උපාංගය පිහිටුවන්න"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"පිහිටුවීම් දත්ත සකසමින්..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi වෙත සම්බන්ධ වෙමින්..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"පරිපාලක යෙදුම බාගනිමින්..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"පරිපාලක යෙදුම ස්ථාපනය කරමින්..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"අවශ්‍ය නොවන පද්ධති යෙදුම් ඉවත් කරමින්..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"අවසන් කිරීමේ දේවල් කරමින්…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"උපාංග හිමිකරු සකසමින්..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"උපාංගය මූලාරම්භ කරමින්…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"පිහිටුවීමට අවශ්‍ය සංකේතනය සඳහා ඔබගේ උපාංගය අවසර නොදේ. උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"උපාංග ස්ථාපනය නවතා යලි සකසන්නද?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"මෙමඟින් පිහිටුවීම අවසන් කර ඔබේ උපාංගය යළි සකසා ඔබව ආපසු මුල් තිරයට ගෙන යනු ඇත"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"පිහිටුවීම නවත්වා ඔබේ උපාංගයේ දත්ත මකන්නද?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"අවලංගු කරන්න"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"හරි"</string>
+    <string name="reset" msgid="6467204151306265796">"යළි පිහිටුවන්න"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"පැතිකඩ පිහිටුවිය නොහැකිය"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"උපාංගය පිහිටුවිය නොහැකිය"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ඔබගේ උපාංගය පිහිටුවීමට නොහැකි විය. උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"උපාංගය දැනටමත් පිහිටුවා තිබේ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi වෙත සම්බන්ධ විය නොහැක"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"ඔබගේ උපාංගයේ යළි සැකසීමේ ආරක්ෂාව සක්‍රිය කර තිබේ. උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"මකමින්"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"කරුණාකර රැඳී සිටින්න..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"චෙක්සම් දෝෂය හේතුවෙන් පරිපාලක යෙදුම භාවිතා කළ නොහැක. උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"පරිපාලක යෙදුම බාගැනීම කළ නොහැක."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"පරිපාලක යෙදුම භාවිතා කළ නොහැක. එහි අංශ නැත හෝ විකෘති වී ඇත. උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"පරිපාලක යෙදුම ස්ථාපනය කළ නොහැක."</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"පිහිටුවීම නවත්වන්නද?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"නැත"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ඔව්"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"අවලංගු කරමින්..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"පැතිකඩ පිහිටුවීම් නවත්වන්නද?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"ඔබගේ සංවිධානයේ උපාංග කළමනාකරණ යෙදුම මඟින් පසුව ඔබට කාර්යාල පැතිකඩක් සැකසිය හැක"</string>
+    <string name="continue_button" msgid="7177918589510964446">"දිගටම කරගෙන යන්න"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"නතර කරන්න"</string>
+    <string name="dismiss" msgid="9009534756748565880">"අස් කරන්න"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"ඔබ ඔබේ සංවිධානය මගින් කළමනාකරණය සහ නිරීක්ෂණය කරන කාර්යාල පැතිකඩක් සෑදීමට සූදානම්ය. කොන්දේසි වලට යටත් වේ."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"ඔබ ඔබේ සංවිධානය මගින් කළමනාකරණය සහ නිරීක්ෂණය කරන කාර්යාල පැතිකඩක් සෑදීමට සූදානම්ය. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> වෙතින් වන කොන්දේසි අදාළ වේ."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"ඔබේ කාර්යාල යෙදුම් සඳහා පැතිකඩක් සාදනු ඇත. මෙම පැතිකඩ සහ ඔබේ උපාංගයෙහි ඉතිරි දේවල් ඔබේ සංවිධානය මගින් කළමනාකරණය සහ නිරීක්ෂණය කරනු ඇත. කොන්දේසි වලට යටත් වේ."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"ඔබේ කාර්යාල යෙදුම් සඳහා පැතිකඩක් සාදනු ඇත. මෙම පැතිකඩ සහ ඔබේ උපාංගයෙහි ඉතිරි දේවල් ඔබේ සංවිධානය මගින් කළමනාකරණය සහ නිරීක්ෂණය කරනු ඇත. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> වෙතින් වන කොන්දේසි අදාළ වේ."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"මෙම උපාංගය <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> විසින් කළමනාකරණය කිරීම සහ ආරක්ෂිතව තබා ගැනීම සිදු කරනු ඇත. කොන්දේසි වලට යටත් වේ. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"මෙම උපාංගය <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> විසින් කළමනාකරණය කිරීම සහ ආරක්ෂිතව තබා ගැනීම සිදු කරනු ඇත. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> වෙතින් වන කොන්දේසි අදාළ වේ. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"මෙම සබැඳිය ආරක්‍ෂිත නැති අතර උපාංග ස්ථාපනය අවසන් වන තෙක් එය විවෘත කිරීමට නොහැක: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ඔබට ප්‍රශ්න තිබේ නම්, ඔබේ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> අමතන්න."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ඔබට ප්‍රශ්න තිබේ නම්, ඔබේ සංවිධානයේ පරිපාලකයා අමතන්න."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ස්ථාපනය අවසන් නැත. උදව් සඳහා ඔබගේ පරිපාලක සම්බන්ධ කරගන්න."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"උදව් සඳහා ඔබේ පරිපාලක සම්බන්ධ කරගන්න"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"සංවිධානයේ පරිපාලක"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> පහත සඳහන් යෙදුම භාවිත කරමින් මෙම උපාංගය කළමනාකරණය සහ නිරීක්ෂණය කරනු ඇත:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"ඔබගේ සංවිධානය"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"ඔබගේ සංවිධානය"</string>
+    <string name="view_terms" msgid="7230493092383341605">"නියම බලන්න"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"පිළිගෙන ඉදිරියට යන්න"</string>
+    <string name="close" msgid="7208600934846389439">"වසන්න"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"ඔබගේ උපාංගය පිහිටුවන්න"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"ඔබ වැඩ කරන ආකාරය වෙනස් කරන්න"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"කාර්යාල සහ පුද්ගලික දේවල් වෙන් කරන්න"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"කාර්යාල යෙදුම් සඳහා එක් ස්ථානයක්"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ඔබ නිම කළ විට ක්‍රියාවිරහිත කරන්න"</string>
+    <string name="provisioning" msgid="4512493827019163451">"ප්‍රතිපාදනය කරමින්"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA සහතික සකස් කිරීම"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"ඔබේ පැතිකඩ පිහිටුවන්න"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"කාර්යාල පැතිකඩක් භාවිතා කරමින් ඔබට පුද්ගලික දත්ත වලින් වැඩ දත්ත වෙන් කළ හැක"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"කාර්යාල පැතිකඩක් භාවිතා කිරීම මඟින් ඔබගේ කාර්යාල යෙදුම් එක තැනක තබා ගත හැක"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"ඔබගේ පැතිකඩ සංකේතනය පිහිටුවන්න"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"ඔබගේ පැතිකඩ පිහිටුවීම. ප්‍රගතිය පෙන්වමින්"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ඔබගේ උපාංගය සකසන්න"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"ඔබගේ උපාංග සංකේතනය පිහිටුවන්න"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"ඔබගේ උපාංගය පිහිටුවීම. ප්‍රගතිය පෙන්වමින්"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"තව දැන ගැනීමේ බොත්තම"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> නිරූපකය"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> කොටස් මාතෘකාව."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> කොටස් අන්තර්ගතය: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"දිග හරින්න"</string>
+    <string name="collapse" msgid="7817530505064432580">"හකුළන්න"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"සබැඳි ලැයිස්තුවක් ප්‍රවේශ කිරීම"</string>
+    <string name="access_links" msgid="7991363727326168600">"සබැඳි ප්‍රවේශ කිරීම"</string>
+    <string name="access_terms" msgid="1982500872249763745">"කොන්දේසි ප්‍රවේශ කිරීම"</string>
+    <string name="read_terms" msgid="1745011123626640728">"කොන්දේසි කියවන්න"</string>
+    <string name="close_list" msgid="9053538299788717597">"ලැයිස්තුව වසන්න"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"පිහිටුවීම නිම කර කර්මාන්තශාලා යළි සකසන්නද?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"මෙම පිහිටුවීම අවසන් කිරීම ඔබේ උපාංගය කර්මාන්ත ශාලා යළි සැකසීමට පත් කර ඔබව ආපසු මුල් තිරයට ගෙන යනු ඇත."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"අවලංගු කරන්න"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"උපාංගය යළි සකසන්න"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> සහ <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> සහ <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index af1436e..c383cb8 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Vaše zariadenie bude spravovať nasledujúca aplikácia:"</string>
     <string name="next" msgid="1004321437324424398">"Ďalej"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Nastavuje sa pracovný profil…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie, povolenia a dáta priradené k tomuto profilu vrátane aktivity v sieti a informácií o polohe zariadenia, histórii hovorov a histórii vyhľadávania kontaktov."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie, povolenia, funkcie ochrany proti krádeži a dáta priradené k tomuto zariadeniu vrátane aktivity v sieti a informácií o polohe zariadenia."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie, povolenia a dáta priradené k tomuto profilu vrátane aktivity v sieti a informácií o polohe zariadenia, histórii hovorov a histórii vyhľadávania kontaktov.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ďalšie informácie (vrátane pravidiel ochrany súkromia vašej organizácie) získate od správcu."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie, povolenia a dáta priradené k tomuto zariadeniu vrátane aktivity v sieti a informácií o polohe zariadenia, histórii hovorov a histórii vyhľadávania kontaktov.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Ďalšie informácie (vrátane pravidiel ochrany súkromia vašej organizácie) získate od správcu."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Ak chcete používať funkcie ochrany proti krádeži, musíte mať na zariadení zámku obrazovky chránenú heslom."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Ďalšie informácie (vrátane pravidiel ochrany súkromia vašej organizácie) vám poskytne správca."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Viac informácií"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Zrušiť"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Súhlasím"</string>
+    <string name="url_error" msgid="5958494012986243186">"Tento odkaz sa nedá zobraziť."</string>
+    <string name="terms" msgid="8295436105384703903">"Zmluvné podmienky"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informácie o pracovnom profile"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informácie o spravovanom zariadení"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Pracovný profil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Hlavný používateľ"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Odstrániť pracovný profil?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Pracovný profil už existuje a spravuje ho aplikácia:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tento pracovný profil spravuje pre organizáciu %s aplikácia:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Odstrániť existujúci profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Už máte pracovný profil, ktorý je spravovaný nasledujúcou aplikáciou:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Skôr ako budete pokračovať, "<a href="#read_this_link">"prečítajte si tieto informácie"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ak budete pokračovať, všetky aplikácie a údaje v tomto profile sa odstránia."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Odstrániť"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušiť"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ak chcete v nastavovaní pracovného profilu pokračovať, bude potrebné zariadenie zašifrovať. To môže chvíľu trvať."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Ak chcete pokračovať v nastavovaní zariadenia, budete ho musieť zašifrovať. Môže to chvíľu trvať."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifrovať"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ak chcete zriadiť pracovný profil, musíte svoje zariadenie zašifrovať. Môže to chvíľu trvať."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Ak chcete toto zariadenie nastaviť, musíte ho najprv zašifrovať. Môže to chvíľu trvať."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Šifrovať toto zariadenie?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifrovať"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrovanie bolo dokončené"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Klepnutím pokračujte v nastavení pracovného profilu"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nastavenie pracovného profilu sa nepodarilo. Kontaktujte oddelenie IT alebo to skúste znova neskôr."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaše zariadenie nepodporuje pracovné profily"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Tento používateľ nemôže mať pracovný profil"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Pracovný profil sa nedá pridať"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Tento používateľ nemôže mať pracovný profil. Kontaktujte správcu a požiadajte ho o pomoc."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Tento používateľ nemôže mať pracovný profil. Kontaktujte správcu."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Pracovné profily nie je možné nastaviť na spravovanom zariadení"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Pracovný profil nebolo možné vytvoriť, pretože ste na svojom zariadení už dosiahli maximálny počet používateľov. Odstráňte aspoň jedného používateľa a skúste to znova."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Táto aplikácia spúšťača nepodporuje váš pracovný profil. Musíte prepnúť na spúšťač, ktorý je kompatibilný."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Toto zariadenie má zrejme príliš veľa používateľov. Odstráňte niektorého z nich a skúste to znova."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Zmeňte spúšťač zariadenia"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Váš pracovný profil nemôže používať túto aplikáciu spúšťača"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Zrušiť"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Nastavenie používateľa nebolo dokončené"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Pripája sa k sieti Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Sťahuje sa aplikácia na správu…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Inštaluje sa aplikácia na správu…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Odstraňujú sa nepotrebné systémové aplikácie…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Pridávajú sa konečné úpravy…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Nastavuje sa vlastník zariadenia…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Vaše zariadenie nepodporuje šifrovanie. Kontaktujte oddelenie IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Zariadenie sa inicializuje…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Toto zariadenie nepovoľuje šifrovanie. Kontaktujte správcu a požiadajte ho o pomoc."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Zastaviť nastavovanie a obnoviť zariadenie?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Týmto obnovíte zariadenie a prejdete na prvú obrazovku"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ukončiť nastavovanie a odstrániť údaje zariadenia?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Zrušiť"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Obnoviť"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Nastavenie zariadenia sa nepodarilo. Kontaktujte oddelenie IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Toto zariadenie je už nastavené"</string>
+    <string name="reset" msgid="6467204151306265796">"Obnoviť"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profil sa nedá zriadiť"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Zariadenie sa nedá nastaviť"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Zariadenie sa nepodarilo nastaviť. Kontaktujte správcu a požiadajte ho o pomoc."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kontaktujte správcu a požiadajte ho o pomoc"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Zariadenie je už nastavené"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nepodarilo sa pripojiť k sieti Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Toto zariadenie je uzamknuté ochranou proti obnoveniu továrenských nastavení. Kontaktujte oddelenie IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Na zariadení je zapnutá ochrana proti obnoveniu. Kontaktujte správcu a požiadajte ho o pomoc."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Prebieha vymazávanie"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Čakajte..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Pre chybu kontrolného súčtu sa aplikácia na správu nedá použiť. Kontaktujte oddelenie IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Aplikáciu na správu sa nepodarilo použiť, pretože sa vyskytla chyba kontrolného súčtu. Kontaktujte správcu a požiadajte ho o pomoc."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Aplikáciu na správu sa nepodarilo stiahnuť"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikácia na správu sa nedá použiť. Buď v nej chýbajú niektoré komponenty, alebo je poškodená. Kontaktujte oddelenie IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Aplikácia na správu sa nedá použiť. Buď v nej chýbajú niektoré komponenty, alebo je poškodená. Kontaktujte správcu a požiadajte ho o pomoc."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Aplikáciu na správu sa nepodarilo nainštalovať"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Zastaviť nastavovanie?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nie"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Áno"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Ruší sa…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ukončiť nastavenie profilu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Svoj pracovný profil si môžete nastaviť neskôr v aplikácii na správu zariadenia, ktorú používa vaša organizácia."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Pokračovať"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Pracovný profil si môžete nastaviť neskôr v aplikácii na správu zariadenia vašej organizácie."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Pokračovať"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Zastaviť"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Odmietnuť"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Chystáte sa vytvoriť pracovný profil, ktorý bude spravovať a sledovať vaša organizácia v súlade so zmluvnými podmienkami."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Chystáte sa vytvoriť pracovný profil, ktorý bude spravovať a sledovať vaša organizácia v súlade so zmluvnými podmienkami <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Pre pracovné aplikácie bude vytvorený profil, pričom bude spolu s ostatným obsahom daného zariadenia spravovaný a sledovaný vašou organizáciou v súlade so zmluvnými podmienkami."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Pre pracovné aplikácie bude vytvorený profil, pričom bude spolu s ostatným obsahom daného zariadenia spravovaný a sledovaný vašou organizáciou v súlade so zmluvnými podmienkami <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Toto zariadenie bude spravované a zabezpečené spoločnosťou <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, pričom platia zmluvné podmienky. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Toto zariadenie bude spravované a zabezpečené spoločnosťou <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, pričom budú platiť zmluvné podmienky <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Tento odkaz nie je zabezpečený a nedá sa otvoriť, kým sa nedokončí nastavenie zariadenia: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"V prípade otázok kontaktujte správcu <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"V prípade otázok kontaktujte správcu svojej organizácie"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Nastavenie nie je dokončené. Kontaktujte správcu a požiadajte ho o pomoc."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Kontaktujte správcu a požiadajte ho o pomoc"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"správca organizácie"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Organizácia <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> bude spravovať a sledovať toto zariadenie pomocou nasledujúcej aplikácie:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Vaša organizácia"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"vaša organizácia"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Zobraziť podmienky"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Prijať a pokračovať"</string>
+    <string name="close" msgid="7208600934846389439">"Zavrieť"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Nastavenie zariadenia"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Zmeňte svoj systém práce"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Oddeľte prácu od osobných dát"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Jedno miesto pre všetky pracovné aplikácie"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Po dokončení vypnite pracovný profil"</string>
     <string name="provisioning" msgid="4512493827019163451">"Prebieha poskytovanie"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Nastavujú sa certifikáty CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Nastavenie profilu. Spustenie nastavenia"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Nastavenie profilu"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Pomocou pracovného profilu môžete oddeliť pracovné dáta od osobných"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Pomocou pracovného profilu môžete uchovávať pracovné aplikácie na jednom mieste"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Nastavenie profilu. Šifrovanie"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Nastavenie profilu. Zobrazenie priebehu"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Nastavenie zariadenia. Spustenie nastavenia"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavenie zariadenia"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Nastavenie zariadenia. Šifrovanie"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Nastavenie zariadenia. Zobrazenie priebehu"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Tlačidlo Ďalšie informácie"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Nadpis sekcie <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Obsah sekcie <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Rozbaliť"</string>
+    <string name="collapse" msgid="7817530505064432580">"Zbaliť"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Pristupovať k zoznamu odkazov"</string>
+    <string name="access_links" msgid="7991363727326168600">"Pristupovať k odkazom"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Zobraziť podmienky"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Prečítajte si podmienky"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zavrieť zoznam"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Ukončiť nastavenie a obnoviť tov. nastavenia?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ukončením tohto procesu nastavenia obnovíte na zariadení továrenské nastavenia a prejdete na prvú obrazovku."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Zrušiť"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Obnoviť zariadenie"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> a <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> a <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 6d71d3b..7110075 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Ta aplikacija bo upravljala napravo:"</string>
     <string name="next" msgid="1004321437324424398">"Naprej"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Nastavljanje delovnega profila …"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Skrbnik lahko nadzira in upravlja nastavitve, dostop v podjetju, aplikacije, dovoljenja in podatke, povezane s profilom, vključno z omrežno dejavnostjo, podatki o lokaciji naprave, zgodovino klicev in zgodovino iskanja stikov."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Skrbnik lahko nadzira in upravlja nastavitve, dostop v podjetju, aplikacije, dovoljenja, funkcije za zaščito pred krajo in podatke, povezane s to napravo, vključno z omrežno dejavnostjo in podatki o lokaciji naprave."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Skrbnik lahko nadzira in upravlja nastavitve, dostop za podjetje, aplikacije, dovoljenja in podatke, povezane s tem profilom, vključno z omrežno dejavnostjo, podatki o lokaciji naprave, zgodovino klicev in zgodovino iskanja stikov.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Za več informacij, vključno s pravilniki organizacije o zasebnosti, se obrnite na skrbnika."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Skrbnik lahko nadzira in upravlja nastavitve, dostop za podjetje, aplikacije, dovoljenja in podatke, povezane s to napravo, vključno z omrežno dejavnostjo, podatki o lokaciji naprave, zgodovino klicev in zgodovino iskanja stikov.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Za več informacij, vključno s pravilniki organizacije o zasebnosti, se obrnite na skrbnika."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Za uporabo funkcij za zaščito pred krajo morate imeti v napravi nastavljeno zaklepanje zaslona z geslom."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Za več informacij, vključno s pravilniki organizacije o zasebnosti, se obrnite na skrbnika."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Več o tem"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Prekliči"</string>
     <string name="ok_setup" msgid="4593707675416137504">"V redu"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Privolim"</string>
+    <string name="url_error" msgid="5958494012986243186">"Te povezave ni mogoče prikazati."</string>
+    <string name="terms" msgid="8295436105384703903">"Pogoji"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Podatki o delovnem profilu"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Podatki o upravljani napravi"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Delovni profil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primarni uporabnik"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Želite odstraniti delovni profil?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Delovni profil že obstaja in ga upravlja:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ta delovni profil se upravlja za domeno %s z aplikacijo:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Želite izbrisati obstoječi profil?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Delovni profil že imate. Upravlja ga ta aplikacija:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Preden nadaljujete, "<a href="#read_this_link">"preberite to"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Če nadaljujete, bodo izbrisane vse aplikacije in podatki v tem profilu."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Izbriši"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Prekliči"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Če želite nadaljevati nastavitev delovnega profila, morate šifrirati napravo. To bo morda trajalo nekaj časa."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Če želite nadaljevati nastavitev naprave, jo morate šifrirati. To bo morda trajalo nekaj časa."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifriranje"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Če želite nastaviti delovni profil, je treba napravo šifrirati. To bo morda trajalo nekaj časa."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Če želite nastaviti to napravo, jo je najprej treba šifrirati. To bo morda trajalo nekaj časa."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Želite šifrirati to napravo?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Šifriranje"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifriranje je dokončano"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Če želite nadaljevati z nastavljanjem delovnega profila, se dotaknite"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Delovnega profila ni bilo mogoče nastaviti. Obrnite se na oddelek za IT ali poskusite znova pozneje."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Naprava ne podpira delovnih profilov"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ta uporabnik ne more imeti delovnega profila"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Delovnega profila ni mogoče dodati"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ta uporabnik ne more imeti delovnega profila. Za pomoč se obrnite na skrbnika."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ta uporabnik ne more imeti delovnih profilov. Obrnite se na skrbnika."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Delovnih profilov ni mogoče nastaviti v upravljani napravi"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Delovnega profila ni mogoče ustvariti, ker ste dosegli največje dovoljeno število uporabnikov naprave. Odstranite vsaj enega uporabnika in poskusite znova."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacija zaganjalnika ne podpira vašega delovnega profila. Uporabiti morate združljiv zaganjalnik."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"V tej napravi je morda preveč uporabnikov. Odstranite uporabnika in poskusite znova."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Spremenite zaganjalnik naprave"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Delovni profil ne more uporabljati te aplikacije zaganjalnika"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Prekliči"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"V redu"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Nastavitev uporabnika ni dokončana"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Vzpostavljanje povezave z omrežjem Wi-Fi …"</string>
     <string name="progress_download" msgid="3522436271691064624">"Prenašanje skrbniške aplikacije …"</string>
     <string name="progress_install" msgid="2258045670385866183">"Nameščanje skrbniške aplikacije …"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Odstranjevanje neobveznih sistem. aplikacij …"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Urejanje zadnjih podrobnosti …"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Nastavljanje lastnika naprave …"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Naprava ne podpira šifriranja. Obrnite se na oddelek za IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inicializiranje naprave …"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Ta naprava ne dovoljuje šifriranja, ki je potrebno za nastavitev. Za pomoč se obrnite na skrbnika."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Želite ustaviti nastavljanje in ponastaviti napravo?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"S tem bo naprava ponastavljena in prikazan bo prvotni zaslon."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ali želite ustaviti nastavitev in izbrisati podatke v napravi?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Prekliči"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"V redu"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ponastavi"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Naprave ni bilo mogoče nastaviti. Obrnite se na oddelek za IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Ta naprava je že nastavljena."</string>
+    <string name="reset" msgid="6467204151306265796">"Ponastavi"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profila ni mogoče nastaviti"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Naprave ni mogoče nastaviti"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Naprave ni bilo mogoče nastaviti. Za pomoč se obrnite na skrbnika."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Za pomoč se obrnite na skrbnika"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Naprava je že nastavljena"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Z omrežjem Wi-Fi se ni mogoče povezati"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Naprava je zaklenjena z zaščito po ponastavitvi na tovarniške nastavitve. Obrnite na za oddelek za IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Naprava ima vklopljeno zaščito ponastavitve naprave. Za pomoč se obrnite na skrbnika."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Brisanje"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Počakajte ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Skrbniške aplikacije ni bilo mogoče uporabiti zaradi napake kontrolne vsote. Obrnite se na oddelek za IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Skrbniške aplikacije ni bilo mogoče uporabiti zaradi napake kontrolne vsote. Za pomoč se obrnite na skrbnika."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Skrbniške aplikacije ni bilo mogoče prenesti"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Skrbniške aplikacije ni mogoče uporabljati. Manjkajo ji komponente ali pa je poškodovana. Obrnite se na oddelek za IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Skrbniške aplikacije ni mogoče uporabljati. Manjkajo ji komponente ali pa je poškodovana. Za pomoč se obrnite na skrbnika."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Skrbniške aplikacije ni bilo mogoče namestiti"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Želite ustaviti namestitev?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Preklic …"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ustavitev nastavitve profila?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Delovni profil lahko nastavite pozneje v aplikaciji za upravljanje naprave, ki jo uporablja vaša organizacija."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Naprej"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Delovni profil lahko nastavite pozneje v aplikaciji za upravljanje naprave, ki jo uporablja vaša organizacija."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Nadaljuj"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Ustavi"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Opusti"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Ustvarili boste delovni profil, ki ga bo upravljala in nadzirala vaša organizacija. Zanj bodo veljali pogoji."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Ustvarili boste delovni profil, ki ga bo upravljala in nadzirala vaša organizacija. Zanj bodo veljali pogoji za <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Za vaše delovne aplikacije bo ustvarjen profil. Ta profil in ostalo v napravi bo upravljala in nadzirala vaša organizacija. Zanj bodo veljali pogoji."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Za vaše delovne aplikacije bo ustvarjen profil. Ta profil in ostalo v napravi bo upravljala in nadzirala vaša organizacija. Zanj bodo veljali pogoji za <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"To napravo bo upravljala organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, ki bo hkrati skrbela za njeno varnost. Pri tem bodo veljali pogoji. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"To napravo bo upravljala organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>, ki bo hkrati skrbela za njeno varnost. Pri tem bodo veljali pogoji za <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Ta povezava ni varna in je ni mogoče odpreti, dokler nastavljanje naprave ni končano: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Če imate vprašanja, se obrnite na: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Če imate vprašanja, se obrnite na skrbnika organizacije."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Nastavitev ni končana. Za pomoč se obrnite na skrbnika."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Za pomoč se obrnite na skrbnika."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"skrbnik organizacije"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Organizacija <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> bo to napravo upravljala in nadzirala s to aplikacijo:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Vaša organizacija"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"vaša organizacija"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Prikaz pogojev"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Sprejmi in nadaljuj"</string>
+    <string name="close" msgid="7208600934846389439">"Zapri"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Nastavitev naprave"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Spremenite način dela"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Delovni podatki ločeni od osebnih"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Delovne aplikacije na enem mestu"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Ko končate z delom, preprosto izklopite delovni profil"</string>
     <string name="provisioning" msgid="4512493827019163451">"Omogočanje uporabe"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Nastavljanje potrdil overiteljev potrdil"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Nastavitev profila. Začetek nastavitve."</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Nastavite svoj profil"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Z delovnim profilom lahko delovne podatke ločite od osebnih podatkov"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Z delovnim profilom imate lahko delovne aplikacije na enem mestu"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Nastavitev profila. Šifriranje."</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Nastavitev profila. Prikaz napredka."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Nastavitev naprave. Začetek nastavitve."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavitev naprave"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Nastavitev naprave. Šifriranje."</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Nastavitev naprave. Prikaz napredka."</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Gumb za več informacij"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona za <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Naslov razdelka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Vsebina razdelka <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Razširi"</string>
+    <string name="collapse" msgid="7817530505064432580">"Strni"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Dostop do seznama povezav"</string>
+    <string name="access_links" msgid="7991363727326168600">"Dostop do povezav"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Dostop do pogojev"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Preberite pogoje"</string>
+    <string name="close_list" msgid="9053538299788717597">"Zapri seznam"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Prekinitev nast. in ponastav. na tov. nast.?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Če prekinete nastavitev, bo naprava ponastavljena na tovarniške nastavitve in prikazan bo prvotni zaslon."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Prekliči"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ponastavitev naprave"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> in <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> in <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
deleted file mode 100644
index 16a1ece..0000000
--- a/res/values-sq-rAL/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Konfiguro profilin e \"Punës\""</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Gabim!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Konfiguro profilin e punës"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Kontrolli dhe siguria e këtij profili menaxhohet nga organizata jote. Çdo gjë tjetër në pajisje kontrollohet nga ti."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Organizata jote do ta kontrollojë këtë pajisje dhe do ta mbajë atë të sigurt."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikacionit të mëposhtëm do i nevojitet qasje në këtë profil:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aplikacioni i mëposhtëm do të menaxhojë pajisjen tënde:"</string>
-    <string name="next" msgid="1004321437324424398">"Tjetri"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Po konfiguron profilin tënd të punës..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratori yt ka aftësinë e monitorimit dhe menaxhimit të cilësimeve, të qasjes së korporatës, të aplikacioneve, të lejeve dhe të të dhënave të lidhura me këtë profil, duke përfshirë aktivitetin e rrjetit si dhe vendndodhjen e pajisjes, historikun e telefonatave dhe historikun e kërkimit të kontakteve."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratori yt ka aftësinë e monitorimit dhe menaxhimit të cilësimeve, të qasjes së korporatës, të aplikacioneve, të lejeve, të funksioneve kundër vjedhjes, si dhe dhe të të dhënave që lidhen me këtë pajisje, përfshi aktivitetin e rrjetit dhe informacionin e vendndodhjes së pajisjes tënde."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Për të përdorur funksionet kundër vjedhjes, duhet të kesh ekran të mbrojtur me fjalëkalim për pajisjen tënde."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontakto administratorin tënd për më shumë informacion, përfshi politikat e privatësisë së organizatës tënde."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Mëso më shumë"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Anulo"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"Në rregull"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Pranoj"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profili i punës"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Përdoruesi parësor"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Të hiqet profili i punës?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Një profil pune ekziston tashmë dhe menaxhohet nga:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ky profil pune menaxhohet për %s nga:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"para se të vazhdosh, "<a href="#read_this_link">"lexo këtë"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Nëse vazhdon, të gjitha aplikacionet dhe të dhënat në këtë profil do të fshihen."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"Fshi"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anulo"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Për të vazhduar konfigurimin e profilit tënd të punës, duhet të enkriptosh pajisjen. Kjo mund të kërkojë pak kohë."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Për të vazhduar konfigurimin e pajisjes, do të duhet ta enkriptosh atë. Kjo mund të kërkojë pak kohë."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkripto"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkriptimi përfundoi"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Trokit për të vazhduar konfigurimin e profilit të punës"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nuk mundi ta konfiguronte profilin tënd të punës. Kontakto departamentin e informatikës ose provo sërish më vonë."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Pajisja nuk mbështet profile pune"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ky përdorues nuk mund të ketë profil pune"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Profilet e punës nuk mund të konfigurohen në një pajisje të menaxhuar"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Profili i punës nuk mund të krijohet sepse ke arritur numrin maksimal të përdoruesve në pajisje. Hiq të paktën një përdorues dhe provo përsëri."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profili i punës nuk mbështetet nga ky aplikacion nisës. Nevojitet të kalosh në një nisës të pajtueshëm."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Anulo"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"Në rregull"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Konfigurimi i përdoruesit është i paplotë"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Përdorues i pajisjes së punës"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Konfiguro pajisjen e punës"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Po përpunon të dhënat e konfigurimit..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Po lidhet me Wi-Fi..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"Po shkarkon aplikacionin e administratorit..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"Po instalon aplikacionin e administratorit..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Po cakton zotëruesin e pajisjes..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Pajisja jote nuk e mbështet kodimin. Kontakto me departamentin e teknologjisë së informacionit."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ndalo konfigurimin dhe spastroji të dhënat e pajisjes tënde?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anulo"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"Në rregull"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Rivendos"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Pajisja jote nuk mund të konfigurohej. Kontakto me departamentin e informatikës."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Kjo pajisje është e konfiguruar tashmë."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nuk mundi të lidhej me Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Kjo pajisje është e kyçur nga mbrojtja nga rivendosja në gjendje fabrike. Kontakto me departamentin e informatikës."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Po spastron"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Qëndro në pritje..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Aplikacioni i administratorit nuk mund të përdorej për shkak të gabimit të shumës së kontrollit. Kontakto me departamentin e informatikës."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Aplikacioni i administratorit nuk mund të shkarkohej"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikacioni i administratorit nuk mund të përdoret pasi i mungojnë përbërësit ose është i dëmtuar. Kontakto departamentin e informatikës."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nuk mundi ta instalonte aplikacionin e administratorit"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Ndalo konfigurimin?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Jo"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Po"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Po e anulon..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ndalo konfigurimin e profilit?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Mund ta konfigurosh profilin tënd të punës më vonë nga aplikacioni i menaxhimit të pajisjes të përdorur nga organizata jote."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Vazhdo"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Ndalo"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Përgatitja"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"Po konfiguron certifikatat CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfiguro profilin tënd. Nis konfigurimin"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfiguro profilin tënd. Enkriptimi"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Konfiguro profilin tënd. Po shfaq progresin"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfiguro pajisjen tënde. Nis konfigurimin"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Konfiguro pajisjen tënde. Enkriptimi"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Konfiguro pajisjen tënde. Po shfaq progresin"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Butoni \"Mëso më shumë\""</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Të mbyllet konfigurimi dhe rivendosja e cilësimeve të fabrikës?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Përfundimi i këtij konfigurimi do ta rivendosë pajisjen në cilësimet e fabrikës dhe do të të kthejë tek ekrani i parë."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Anulo"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Rivendose pajisjen"</string>
-</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
new file mode 100644
index 0000000..31a495c
--- /dev/null
+++ b/res/values-sq/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Konfiguro profilin e \"Punës\""</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Gabim!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Konfiguro profilin e punës"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Kontrolli dhe siguria e këtij profili menaxhohet nga organizata jote. Çdo gjë tjetër në pajisje kontrollohet nga ti."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Organizata jote do ta kontrollojë këtë pajisje dhe do ta mbajë atë të sigurt."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikacionit të mëposhtëm do i nevojitet qasje në këtë profil:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Aplikacioni i mëposhtëm do të menaxhojë pajisjen tënde:"</string>
+    <string name="next" msgid="1004321437324424398">"Tjetri"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Po konfiguron profilin tënd të punës..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratori ka aftësinë e monitorimit dhe menaxhimit të cilësimeve, të qasjes së korporatës, të aplikacioneve, të lejeve dhe të të dhënave të lidhura me këtë profil, duke përfshirë aktivitetin e rrjetit si dhe vendndodhjen e pajisjes, historikun e telefonatave dhe historikun e kërkimit të kontakteve.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakto me administratorin për më shumë informacione, duke përfshirë politikat e privatësisë së organizatës tënde."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratori ka aftësinë e monitorimit dhe menaxhimit të cilësimeve, të qasjes së korporatës, të aplikacioneve, të lejeve dhe të të dhënave të lidhura me këtë pajisje, duke përfshirë aktivitetin e rrjetit si dhe vendndodhjen e pajisjes, historikun e telefonatave dhe historikun e kërkimit të kontakteve.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakto me administratorin për më shumë informacione, duke përfshirë politikat e privatësisë së organizatës tënde."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Për të përdorur funksionet kundër vjedhjes, duhet të kesh ekran të mbrojtur me fjalëkalim për pajisjen tënde."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontakto administratorin tënd për më shumë informacion, përfshi politikat e privatësisë së organizatës tënde."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Mëso më shumë"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Anulo"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"Në rregull"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Pranoj"</string>
+    <string name="url_error" msgid="5958494012986243186">"Lidhja nuk mund të shfaqet."</string>
+    <string name="terms" msgid="8295436105384703903">"Kushtet"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Informacioni i profilit të punës"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Informacioni i pajisjes së menaxhuar"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profili i punës"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Përdoruesi parësor"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Të fshihet profili ekzistues?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"E ke tashmë një profil pune i cili menaxhohet duke përdorur aplikacionin e mëposhtëm:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"para se të vazhdosh, "<a href="#read_this_link">"lexo këtë"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Nëse vazhdon, të gjitha aplikacionet dhe të dhënat në këtë profil do të fshihen."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Fshi"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anulo"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Për të konfiguruar profilin tënd të punës, pajisja duhet të enkriptohet. Kjo mund të marrë pak kohë."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Për të konfiguruar këtë pajisje, në fillim ajo duhet të enkriptohet. Kjo mund të marrë pak kohë."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Të enkriptohet kjo pajisje?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Enkripto"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkriptimi përfundoi"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Trokit për të vazhduar konfigurimin e profilit të punës"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nuk mundi ta konfiguronte profilin tënd të punës. Kontakto departamentin e informatikës ose provo sërish më vonë."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Nuk mund të shtojë profilin e punës"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Ky përdorues nuk mund të ketë profil pune. Për ndihmë, kontakto me administratorin."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Ky përdorues nuk mund të ketë profile pune. Kontakto me administratorin."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Profilet e punës nuk mund të konfigurohen në një pajisje të menaxhuar"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Mund të ketë shumë përdorues në këtë pajisje. Hiq një përdorues, më pas provo sërish."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Ndrysho nisësin e pajisjes"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Ky aplikacioni nisës nuk mund të përdoret për profilin tënd të punës"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Anulo"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Në rregull"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Konfigurimi i përdoruesit është i paplotë"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Përdorues i pajisjes së punës"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Konfiguro pajisjen e punës"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Po përpunon të dhënat e konfigurimit..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Po lidhet me Wi-Fi..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"Po shkarkon aplikacionin e administratorit..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"Po instalon aplikacionin e administratorit..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Po heq aplikacionet e sistemit që nuk kërkohen..."</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Po vendos rregullimet e fundit…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Po cakton zotëruesin e pajisjes..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Duke nisur pajisjen…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Pajisja nuk lejon enkriptimin i cili nevojitet për konfigurimin. Për ndihmë, kontakto me administratorin."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Të ndalohet konfigurimi dhe të rivendoset pajisja?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Kjo do ta rivendosë pajisjen dhe do të të kthejë tek ekrani i parë."</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ndalo konfigurimin dhe spastroji të dhënat e pajisjes tënde?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anulo"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"Në rregull"</string>
+    <string name="reset" msgid="6467204151306265796">"Rivendos"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Nuk mund të konfigurojë profilin"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Nuk mund të konfigurojë pajisjen"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Pajisja nuk mund të konfigurohej. Për ndihmë kontakto me administratorin."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kontakto me administratorin për ndihmë"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Pajisja është e konfiguruar tashmë"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nuk mundi të lidhej me Wi-Fi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Pajisja ka të aktivizuar mbrojtjen kundër rivendosjes. Për ndihmë, kontakto me administratorin."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"Po spastron"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Qëndro në pritje..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Aplikacioni i administratorit nuk mund të përdorej për shkak të gabimit të shumës së kontrollit. Për ndihmë, kontakto me administratorin."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Aplikacioni i administratorit nuk mund të shkarkohej"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Aplikacioni i administratorit nuk mund të përdoret pasi i mungojnë përbërësit ose është i dëmtuar. Për ndihmë, kontakto me administratorin."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nuk mundi ta instalonte aplikacionin e administratorit"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Ndalo konfigurimin?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Jo"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Po"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Po e anulon..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ndalo konfigurimin e profilit?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Mund ta konfigurosh profilin tënd të punës më vonë në aplikacionin e menaxhimit të pajisjes të organizatës tënde."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Vazhdo"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"Ndalo"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Hiqe"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Je gati për të krijuar një profil pune që do të menaxhohet dhe monitorohet nga organizata jote. Do të zbatohen kushtet."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Je gati për të krijuar një profil pune që do të menaxhohet dhe monitorohet nga organizata jote. Do të zbatohen kushtet nga <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Do të krijohet një profil për aplikacionet e tua të punës. Ky profil dhe pjesa tjetër e pajisjes do të menaxhohen dhe monitorohen nga organizata jote. Zbatohen kushtet."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Do të krijohet një profil për aplikacionet e tua të punës. Ky profil dhe pjesa tjetër e pajisjes do të menaxhohen dhe monitorohen nga organizata jote. Do të zbatohen kushtet nga <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Kjo pajisje do të menaxhohet dhe do të mbahet e sigurt nga <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Do të zbatohen kushtet. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Kjo pajisje do të menaxhohet dhe do të mbahet e sigurt nga <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Do të zbatohen kushtet nga <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Kjo lidhje nuk është e sigurt dhe nuk mund të hapet derisa të përfundojë konfigurimi i pajisjes: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Nëse ke pyetje, kontakto me <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Nëse ke pyetje, kontakto me administratorin e organizatës"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Konfigurimi nuk ka përfunduar. Për ndihmë, kontakto me administratorin."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Për ndihmë, kontakto me administratorin"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administratori i organizatës"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> do ta menaxhojë dhe monitorojë këtë pajisje duke përdorur aplikacionin e mëposhtëm:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Organizata jote"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organizata jote"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Shiko kushtet"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Prano dhe vazhdo"</string>
+    <string name="close" msgid="7208600934846389439">"Mbylle"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfiguro pajisjen"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ndrysho mënyrën e punës"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Ndaji të dhënat e punës nga ato personale"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Një vend për aplikacionet e punës"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Çaktivizo profilin e punës kur të përfundosh"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Përgatitja"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"Po konfiguron certifikatat CA"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Konfiguro profilin"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Duke përdorur një profil pune, mund t\'i ndash të dhënat e punës nga të dhënat personale"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Duke përdorur një profil pune, mund t\'i mbash aplikacionet e punës në një vend të vetëm"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfiguro profilin tënd. Enkriptimi"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Konfiguro profilin tënd. Po shfaq progresin"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfiguro pajisjen"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Konfiguro pajisjen tënde. Enkriptimi"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Konfiguro pajisjen tënde. Po shfaq progresin"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Butoni \"Mëso më shumë\""</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"Ikona <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Titulli i pjesës <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Përmbajtja e pjesës <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Zgjero"</string>
+    <string name="collapse" msgid="7817530505064432580">"Palos"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Qasu te një listë me lidhje"</string>
+    <string name="access_links" msgid="7991363727326168600">"Qasu te lidhjet"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Qasu te termat"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Lexo kushtet"</string>
+    <string name="close_list" msgid="9053538299788717597">"Mbyll listën"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Të mbyllet konfigurimi dhe rivendosja e cilësimeve të fabrikës?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Përfundimi i këtij konfigurimi do ta rivendosë pajisjen në cilësimet e fabrikës dhe do të të kthejë tek ekrani i parë."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Anulo"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Rivendose pajisjen"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> dhe <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> dhe <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5af1f89..9f87e1e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Следећа апликација ће управљати уређајем:"</string>
     <string name="next" msgid="1004321437324424398">"Даље"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Подешава се профил за Work..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Администратор може да надгледа подешавања, корпоративни приступ, апликације, дозволе и податке повезане са овим профилом, укључујући активности на мрежи и локацију уређаја, историју позива и историју претраге контаката, као и да управља њима."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Администратор може да надгледа подешавања, корпоративни приступ, апликације, дозволе, функције за заштиту од крађе и податке повезане са овим уређајем, укључујући активности на мрежи и информације о локацији уређаја, као и да управља њима."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Администратор може да надгледа подешавања, корпоративни приступ, апликације, дозволе и податке повезане са овим профилом, као и да управља њима. Ту спадају активности на мрежи, локација уређаја, историја позива и историја претраге контаката.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Контактирајте администратора за више информација, укључујући политику приватности организације."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Администратор може да надгледа подешавања, корпоративни приступ, апликације, дозволе и податке повезане са овим уређајем, као и да управља њима. Ту спадају активности на мрежи, локација уређаја, историја позива и историја претраге контаката.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Контактирајте администратора за више информација, укључујући политику приватности организације."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Да бисте користили функције за заштиту уређаја од крађе, на уређају морате да имате закључавање екрана заштићено лозинком."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Контактирајте администратора да бисте сазнали више информација, укључујући политику приватности организације."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Сазнајте више"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Откажи"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Потврди"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Прихватам"</string>
+    <string name="url_error" msgid="5958494012986243186">"Овај линк не може да се прикаже."</string>
+    <string name="terms" msgid="8295436105384703903">"Услови"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Информације о профилу за Work"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Информације о уређају којим се управља"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Профил за посао"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Примарни корисник"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Уклонити профил за Work?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Профил за Work већ постоји и њиме управља:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Овим профилом за Work се управља за %s помоћу:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Желите ли да избришете постојећи профил?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Већ имате профил за Work којим се управља помоћу следеће апликације:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Пре него што наставите, "<a href="#read_this_link">"прочитајте ово"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ако наставите, избрисаћете све апликације и податке на овом профилу."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Избриши"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Да бисте наставили са подешавањем пословног профила, морате да шифрујете уређај. То може да потраје."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Да бисте наставили са подешавањем уређаја, треба да га шифрујете. То може да потраје."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифруј"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Да бисте подесили профил за Work, уређај треба да се шифрује. То може да потраје."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Да бисте подесили овај уређај, прво треба да се шифрује. То може да потраје."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Шифровати овај уређај?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Шифруј"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифровање је довршено"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Додирните да бисте наставили са подешавањем профила за Work"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Није могуће подесити профил за посао. Контактирајте ИТ сектор или покушајте поново касније."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Уређај не подржава пословне профиле"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Овај корисник не може да има профил за Work"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Додавање профила за Work није успело"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Овај корисник не може да има профиле за Work. Потражите помоћ од администратора."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Овај корисник не може да има профиле за Work. Контактирајте администратора."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Не можете да подешавате профиле за посао на управљаном уређају"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Прављење профила за Work није успело јер је достигнут максималан број корисника на уређају. Уклоните најмање једног корисника и покушајте поново."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ова апликација покретача не подржава пословни профил. Морате да пређете на компатибилан покретач."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"На овом уређају има превише корисника. Уклоните неког корисника, па пробајте поново."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Промените покретач за уређај"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Ова апликација покретача не може да се користи преко профила за Work"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Откажи"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Потврди"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Подешавање корисника није довршено"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Повезујете се са Wi-Fi-јем..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Преузима се апликација за администраторе..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Инсталира се апликација за администраторе..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Уклањамо непотребне системске апликације…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Обављамо завршна подешавања…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Подешава се власник уређаја..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Уређај не подржава шифровање. Контактирајте ИТ сектор."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Покрећемо уређај…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Овај уређај не дозвољава шифровање, које је неопходно за подешавање. Потражите помоћ од администратора."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Желите ли да зауставите подешавање и ресетујете уређај?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"То ће вратити уређај на фабричка подешавања и одвести вас на први екран"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Желите ли да прекинете подешавање и обришете податке уређаја?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Откажи"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Потврди"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ресетуј"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Није могуће подесити уређај. Контактирајте ИТ сектор."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Овај уређај је већ подешен."</string>
+    <string name="reset" msgid="6467204151306265796">"Ресетуј"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Подешавање профила није успело"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Подешавање уређаја није успело"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Подешавање уређаја није успело. Потражите помоћ од администратора."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Потражите помоћ од администратора"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Уређај је већ подешен"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Повезивање са Wi-Fi мрежом није успело"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Овај уређај је закључан заштитом ресетовања на фабричке вредности. Контактирајте ИТ сектор."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Заштита ресетовања је укључена за уређај. Потражите помоћ од администратора."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Брисање"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Сачекајте..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Није могуће користити апликацију за администраторе због грешке у контролном збиру. Контактирајте ИТ сектор."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Коришћење апликације за администраторе није успело због грешке у контролном збиру. Потражите помоћ од администратора."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Преузимање апликације за администраторе није успело"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Није могуће користити апликацију за администраторе. Недостају јој компоненте или је оштећена. Контактирајте ИТ сектор."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Коришћење апликације за администраторе није успело. Недостају јој компоненте или је оштећена. Потражите помоћ од администратора."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Инсталирање апликације за администраторе није успело"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Желите ли да прекинете подешавање?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Отказује се…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Желите ли да зауставите подешавање профила?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Можете касније да подесите профил за Work у апликацији за управљање уређајем коју користи организација."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Настави"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Можете касније да подесите профил за Work у апликацији за управљање уређајем коју користи организација."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Настави"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Заустави"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Одбаци"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Направићете профил за Work. Организација ће управљати њим и надгледати га. Примењиваће се услови."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Направићете профил за Work. Организација ће управљати њим и надгледати га. Примењиваће се <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> услови."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Направићете профил за апликације за Work. Организација ће управљати овим профилом и остатком уређаја и надгледати их. Примењиваће се услови."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Направићете профил за апликације за Work. Организација ће управљати овим профилом и остатком уређаја и надгледати их. Примењиваће се <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> услови."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ће управљати овим уређајем и штитити га. Примењиваће се услови. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ће управљати овим уређајем и штитити га. Примењиваће се <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> услови. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Овај линк није поуздан и не може да се отвори док се не доврши подешавање уређаја: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ако имате питања, контактирајте: <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Ако имате питања, контактирајте администратора организације"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Подешавање није довршено. Потражите помоћ од администратора."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Потражите помоћ од администратора"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"администратор организације"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ће управљати овим уређајем и надгледати га помоћу следеће апликације:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Организација"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"Организација"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Прикажи услове"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Прихвати и настави"</string>
+    <string name="close" msgid="7208600934846389439">"Затвори"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Подесите уређај"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Промените начин рада"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Одвојите пословне податке од личних"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Једно место за апликације за Work"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Искључите Work када завршите"</string>
     <string name="provisioning" msgid="4512493827019163451">"Додељује се"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Подешава се CA сертификат"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Подесите профил. Започните подешавање"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Подесите профил"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ако користите профил за Work, можете да одвојите пословне од личних података"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ако користите профил за Work, можете да чувате пословне апликације на једном месту"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Подесите профил. Шифровање"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Подесите профил. Приказује се напредак"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Подесите уређај. Започните подешавање"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Подешавање уређаја"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Подесите уређај. Шифровање"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Подесите уређај. Приказује се напредак"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Дугме Сазнајте више"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Икона <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Наслов одељка <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Садржај одељка <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Прошири"</string>
+    <string name="collapse" msgid="7817530505064432580">"Скупи"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Приступите листи линкова"</string>
+    <string name="access_links" msgid="7991363727326168600">"Приступите линковима"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Приступите условима"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Прочитајте услове"</string>
+    <string name="close_list" msgid="9053538299788717597">"Затвори листу"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Жел. ли да прекин. подеш. и ресет. на фаб. подеш.?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ако прекинете подешавања, ресетоваћете уређај на фабричка подешавања и вратићете се на почетни екран."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Откажи"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Ресетуј уређај"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> и <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> и <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index ffbafe1..81d68d3 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Enheten hanteras med följande app:"</string>
     <string name="next" msgid="1004321437324424398">"Nästa"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Konfigurerar arbetsprofilen …"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administratören kan kontrollera och hantera inställningar, företagsåtkomst, appar, behörigheter och data som är kopplade till profilen, inklusive nätverksaktivitet och enhetens platsuppgifter, samtalshistorik och kontaktsökhistorik."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratören kan kontrollera och hantera inställningar, företagsåtkomst, appar, behörigheter stöldskyddsfunktioner och data som är kopplade till den här enheten, inklusive nätverksaktivitet och enhetens platsuppgifter."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administratören kan övervaka och hantera inställningar, företagsåtkomst, appar, behörigheter och uppgifter som är kopplade till profilen. Detta gäller exempelvis nätverksaktivitet, enhetens plats, samtalshistorik och kontaktsökhistorik.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakta administratören om du vill veta mer, till exempel om organisationens sekretesspolicyer."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administratören kan övervaka och hantera inställningar, företagsåtkomst, appar, behörigheter och uppgifter som är kopplade till enheten. Detta gäller exempelvis nätverksaktivitet, enhetens plats, samtalshistorik och kontaktsökhistorik.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kontakta administratören om du vill veta mer, till exempel om organisationens sekretesspolicyer."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Enheten måste ha ett lösenordsskyddat skärmlås för att du ska kunna använda stöldskyddsfunktioner."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kontakta administratören om du vill veta mer, inklusive om du vill veta mer om organisationens sekretesspolicy."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Läs mer"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Avbryt"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Jag samtycker"</string>
+    <string name="url_error" msgid="5958494012986243186">"Det går inte att visa den här länken."</string>
+    <string name="terms" msgid="8295436105384703903">"Villkor"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Information om jobbprofil"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Information om hanterad enhet"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbetsprofil"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Primär användare"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Vill du ta bort arbetsprofilen?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Det finns redan en jobbprofil som hanteras av:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Den här arbetsprofilen hanteras för %s med hjälp av:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Vill du radera den nuvarande profilen?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Du har redan en jobbprofil som hanteras med följande app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343"><a href="#read_this_link">"Läs detta"</a>" innan du fortsätter."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Om du fortsätter raderas alla appar och all data i profilen."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Radera"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Innan du kan fortsätta med att konfigurera arbetsprofilen måste enheten krypteras. Det kan ta en stund."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Innan du kan fortsätta med konfigureringen måste enheten krypteras. Det kan ta en stund."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptera"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Du måste kryptera enheten för att kunna konfigurera jobbprofilen. Det kan ta en stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Du måste kryptera enheten för att kunna konfigurera den. Det kan ta en stund."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Kryptera enheten?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Kryptera"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen är klar"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Tryck här om du vill fortsätta konfigurera din jobbprofil"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Det gick inte att konfigurera arbetsprofilen. Kontakta IT-avdelningen eller försök igen senare."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Enheten stöder inte arbetsprofiler"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Den här användaren kan inte ha en arbetsprofil"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Det går inte att lägga till jobbprofiler"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Denna användare kan inte ha en jobbprofil. Kontakta administratören om du behöver hjälp."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Denna användare kan inte ha jobbprofiler. Kontakta administratören."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Det går inte att konfigurera arbetsprofiler på en hanterad enhet"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Det går inte att skapa jobbprofilen eftersom du har nått maxgränsen för antalet användare på enheten. Ta bort minst en användare och försök igen."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Din jobbprofil stöds inte av det här startprogrammet. Du måste byta till ett kompatibelt startprogram."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Enheten kanske används av för många personer. Ta bort en användare och försök igen."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Ändra enhetsöversikt"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Det går inte att använda denna appöversikt i jobbprofilen"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Avbryt"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Användarkonfigureringen har inte slutförts"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Ansluter till Wi-Fi …"</string>
     <string name="progress_download" msgid="3522436271691064624">"Laddar ned administrationsappen …"</string>
     <string name="progress_install" msgid="2258045670385866183">"Installerar administrationsappen …"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Tar bort systemappar som inte är nödvändiga …"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Gör klart det sista …"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Ställer in enhetsägare …"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Enheten har inte stöd för kryptering. Kontakta IT-avdelningen."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Enheten initieras …"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Kryptering krävs för att konfigurera, men enheten har inte stöd för kryptering. Kontakta administratören om du behöver hjälp."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Vill du avbryta konfigurationen och återställa enheten?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Enheten återställs och första skärmen visas igen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Vill du avbryta konfigurationen och radera enhetens data?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Avbryt"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Återställ"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Det gick inte att konfigurera enheten. Kontakta IT-avdelningen."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Enheten har redan konfigurerats."</string>
+    <string name="reset" msgid="6467204151306265796">"Återställ"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Det går inte att konfigurera profilen"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Det går inte att konfigurera enheten"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Det gick inte att konfigurera enheten. Kontakta administratören om du behöver hjälp."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Kontakta administratören om du behöver hjälp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Enheten har redan konfigurerats"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Det gick inte att ansluta till Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Enheten har låsts med ett skydd mot återställning av standardåterställningarna. Kontakta IT-avdelningen."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Skyddet mot fabriksåterställning är aktiverat. Kontakta administratören om du behöver hjälp."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Rensar"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Vänta ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Det gick inte att använda administrationsappen på grund av en felaktig kontrollsumma. Kontakta IT-avdelningen."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Det gick inte att använda administratörsappen på grund av en felaktig kontrollsumma. Kontakta administratören om du behöver hjälp."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Det gick inte att ladda ned administrationsappen"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrationsappen kan inte användas. Komponenter saknas eller appen har skadats. Kontakta IT-avdelningen."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Det gick inte att använda administratörsappen. Komponenter saknas eller appen har skadats. Kontakta administratören om du behöver hjälp."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Det gick inte att installera administrationsappen"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Vill du avbryta konfigurationen?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nej"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Avbryter …"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Vill du avbryta konfigureringen av profilen?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Du kan konfigurera jobbprofilen senare med den app som används för att hantera enheter inom organisationen."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Fortsätt"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Du kan konfigurera jobbprofilen senare i organisationens app för enhetshantering"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Fortsätt"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Avsluta"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ignorera"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Jobbprofilen som du skapar hanteras och övervakas av organisationen. Villkor gäller."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Jobbprofilen som du skapar hanteras och övervakas av organisationen. Villkor från <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> gäller."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"En profil skapas för jobbapparna. Profilen och resten av enheten hanteras och övervakas av organisationen. Villkor gäller."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"En profil skapas för jobbapparna. Profilen och resten av enheten hanteras och övervakas av organisationen. Villkor från <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> gäller."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Enheten hanteras och skyddas av <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Villkor gäller. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Enheten hanteras och skyddas av <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Villkor från <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> gäller. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Detta är inte en säker länk. Den kan endast öppnas när enhetskonfigurationen är slutförd: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Kontakta <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> om du har några frågor."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kontakta organisationens administratör om du har några frågor"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Konfigurationen har inte slutförts. Kontakta administratören om du behöver hjälp."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Kontakta administratören om du behöver hjälp"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"organisationens administratör"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Enheten hanteras och övervakas av <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> med hjälp av följande app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"organisationen"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"organisationen"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Visa användarvillkoren"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Godkänn och fortsätt"</string>
+    <string name="close" msgid="7208600934846389439">"Stäng"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Konfigurera enheten"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ändra ditt arbetssätt"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Separata profiler för jobbrelaterade och personliga uppgifter"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Alla jobbappar på samma ställe"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Inaktivera jobb när du är klar"</string>
     <string name="provisioning" msgid="4512493827019163451">"Certifikaten installeras"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA-certifikat konfigureras"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Konfigurera profilen. Påbörja konfigureringen"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Konfigurera profilen"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Om du använder en jobbprofil kan du hålla jobbrelaterade och privata uppgifter åtskilda"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Om du använder en jobbprofil kan du ha alla jobbappar på ett ställe"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Konfigurera profilen. Kryptering"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Konfigurera profilen. Visar förlopp"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Konfigurera enheten. Påbörja konfigureringen"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurera enheten"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Konfigurera enheten. Kryptering"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Konfigurera enheten. Visar förlopp"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Knappen Läs mer"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Ikonen <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Rubrik på avsnittet <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Innehåll i avsnittet <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Utöka"</string>
+    <string name="collapse" msgid="7817530505064432580">"Komprimera"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Få åtkomst till en lista över länkar"</string>
+    <string name="access_links" msgid="7991363727326168600">"Få åtkomst till länkar"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Åtkomst till villkor"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Läs villkoren"</string>
+    <string name="close_list" msgid="9053538299788717597">"Stäng listan"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Vill du avsluta och återställa enheten?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Om du avslutar konfigurationen återställs enheten till standardinställningarna och startskärmen visas igen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Avbryt"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Återställ enheten"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> och <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> och <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 00b06a3..97fb2f8 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Programu zifuatazo zitadhibiti kifaa chako:"</string>
     <string name="next" msgid="1004321437324424398">"Inayofuata"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Inaweka mipangilio ya wasifu wako wa kazi..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Msimamizi wako ana uwezo wa kufuatilia na kudhibiti mipangilio, idhini ya kufikia vipengele vya shirika, programu, ruhusa na data inayohusiana na wasifu huu, ikiwa ni pamoja na shughuli zako za mtandao na vile vile maelezo kuhusu mahali kifaa chako kilipo, rekodi ya simu zilizopigwa na historia ya utafutaji wa anwani."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Msimamizi wako ana uwezo wa kufuatilia na kudhibiti mipangilio, idhini ya kufikia vipengele vya shirika, programu, ruhusa, vipengele vya kifaa vya kuzuia wizi na data inayohusiana na kifaa hiki, ikiwa ni pamoja na shughuli za mtandao na maelezo kuhusu mahali kifaa chako kilipo."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Msimamizi wako ana uwezo wa kufuatilia na kudhibiti mipangilio, ufikiaji wa mashirika, ruhusa za programu na data inayohusiana na wasifu huu, ikijumuisha shughuli zako za mtandaoni, pamoja na mahali kilipo kifaa chako, rekodi ya simu zilizopigwa na historia ya anwani ulizotafuta.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Wasiliana na msimamizi wako kwa maelezo zaidi, ikiwa ni pamoja na sera za faragha za shirika lako."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Msimamizi wako ana uwezo wa kufuatilia na kudhibiti mipangilio, ufikiaji wa mashirika, ruhusa za programu na data inayohusiana na kifaa hiki, ikijumuisha shughuli zako za mtandaoni, pamoja na mahali kilipo kifaa chako, rekodi ya simu zilizopigwa na historia ya anwani ulizotafuta.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Wasiliana na msimamizi wako kwa maelezo zaidi, ikiwa ni pamoja na sera za faragha za shirika lako."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Ili utumie vipengele vya kifaa vya kuzuia wizi, lazima uwe na skrini inayoweza kufungwa kwa nenosiri kwenye kifaa chako."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Wasiliana na msimamizi wako kwa maelezo zaidi, ikiwa ni pamoja na sera za faragha za shirika lako."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Pata maelezo zaidi"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Ghairi"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Sawa"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Ninakubali"</string>
+    <string name="url_error" msgid="5958494012986243186">"Kiungo hiki hakiwezi kuonyeshwa."</string>
+    <string name="terms" msgid="8295436105384703903">"Sheria na masharti"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Maelezo ya wasifu wa kazini"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Maelezo kuhusu kifaa kinachosimamiwa"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Wasifu wa kazini"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Mtumiaji wa kwanza"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Ungependa kuondoa wasifu wa kazini?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Wasifu wa kazi tayari upo na unasimamiwa na:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Wasifu huu wa kazini unasimamiwa kwa niaba ya %s kwa kutumia:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Futa wasifu uliopo?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Tayari una wasifu wa kazini ambao unadhibitiwa kwa kutumia programu ifuatayo:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Kabla ya kuendelea, "<a href="#read_this_link">"soma hapa"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Ukiendelea, utafuta data na programu zote zilizo kwenye wasifu huu."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Futa"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Ghairi"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ili uendelee kusanidi wasifu wako wa kazini, utahitaji kusimba kifaa chako kwa njia fiche. Hatua hii inaweza kuchukua muda."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Ili uweze kuendelea kupanga kifaa chako, utalazimika ukisimbe kwa njia fiche. Hatua hii inaweza kuchukua muda."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Simba kwa njia fiche"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ili kuweka wasifu wako wa kazini, unahitaji kusimba kifaa chako kwa njia fiche. Huenda shughuli hii ikachukua muda."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Ili kupanga kifaa hiki, unahitaji kwanza kukisimba kwa njia fiche. Huenda shughuli hii ikachukua muda."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Ungependa kusimba kifaa hiki kwa njia fiche?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Simba kwa njia fiche"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Usimbaji fiche umekamilika"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Gonga ili uendelee kuweka mipangilio ya wasifu wako wa kazini"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Haikuweza kusanidi wasifu wako wa kazi. Wasiliana na idara yako ya Teknolojia ya Habari au ujaribu tena baadaye."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Kifaa chako hakitumii wasifu wa kazini"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Mtumiaji huyu hapaswi kuwa na wasifu wa kazini."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Imeshindwa kuongeza wasifu wa kazini"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Mtumiaji huyu hapaswi kuwa na wasifu wa kazini. Wasiliana na msimamizi wako ili upate usaidizi."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Mtumiaji huyu hapaswi kuwa na wasifu wa kazini. Wasiliana na msimamizi wako."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Wasifu wa kazini hauwezi kusanidiwa kwenye kifaa kinachosimamiwa"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Wasifu wa kazi haukuweza kuundwa kwa sababu umefikia idadi ya juu ya watumiaji kwenye kifaa chako. Ondoa angalau mtumiaji moja na ujaribu tena."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Wasifu wako wa kazini hauwezi kutumiwa na kifungua programu hiki. Itabidi ubadili hadi kifungua programu kinachooana."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Huenda kuna watu wengi mno wanaotumia kifaa hiki. Ondoa mtumiaji kisha ujaribu tena."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Badilisha kifungua programu cha kifaa"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Wasifu wako wa kazini hauwezi kutumia kifungua programu hiki"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Ghairi"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Sawa"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Usanidi wa Mtumiaji Hujakamilika"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Inaunganisha kwenye Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Inapakua programu ya msimamizi..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Inasakinisha programu ya msimamizi..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Inaondoa programu za mfumo zisizohitajika…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Inaweka vipengele vya mwisho…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Inaweka mipangilio ya mmiliki wa kifaa..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Kifaa chako hakitumii usimbaji fiche. Wasiliana na idara yako ya TEHAMA."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Inaanzisha kifaa..."</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Kifaa hiki hakiruhusu usimbaji fiche, unaohitajika kuweka mipangilio. Wasiliana na msimamizi wako ili upate usaidizi."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Ungependa kusimamisha shughuli ya kuweka mipangilio na uweke upya mipangilio ya kifaa?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Hatua hii itaweka upya mipangilio ya kifaa chako na kukurejesha kwenye skrini ya kwanza."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Je, ungependa kuacha kusanidi na ufute data iliyomo kwenye kifaa chako?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ghairi"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Sawa"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Weka upya"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Haikuweza kusanidi kifaa chako. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Kifaa hiki tayari kimesanidiwa."</string>
+    <string name="reset" msgid="6467204151306265796">"Weka upya"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Imeshindwa kuweka wasifu"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Imeshindwa kuweka mipangilio ya kifaa"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Imeshindwa kuweka mipangilio ya kifaa. Wasiliana na msimamizi wako ili upate usaidizi."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Wasiliana na msimamizi wako ili upate usaidizi"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Tayari umeweka mipangilio ya kifaa"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Haikuweza kuunganisha kwenye Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Kifaa hiki kimefungwa kwa ulinzi dhidi ya kurejesha katika hali kilichotoka nayo kiwandani. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Kipengele cha kuweka upya mipangilio kimewashwa katika kifaa chako. Wasiliana na msimamizi wako ili upate usaidizi."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Inafuta"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Tafadhali subiri..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Haikuweza kutumia programu ya msimazi kutokana na hitilafu ya checksum. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Imeshindwa kutumia programu ya msimamizi kutokana na hitilafu ya kuangalia hesabu. Wasiliana na msimamizi wako ili upate usaidizi."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Haikuweza kupakua programu ya msimamizi"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Haiwezi kutumia programu ya msimamizi. Inakosa vipengele au ina hitilafu. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Imeshindwa kutumia programu ya msimamizi. Vipengele havipo au vina hitilafu. Wasiliana na msimamizi kwa maelezo zaidi."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Haikuweza kusakinisha programu ya msimamizi"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Ungependa kuacha kusanidi?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hapana"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ndiyo"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Inaghairi…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Je, ungependa kuacha kuweka mipangilio ya kifaa chako?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Unaweza kuweka mipangilio ya wasifu wako baadaye kutoka programu ya udhibiti wa kifaa inayotumiwa na shirika lako."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Endelea"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Unaweza kuweka wasifu wako wa kazini baadaye katika programu ya kudhibiti kifaa cha shirika lako"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Endelea"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Simamisha"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Ondoa"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Unakaribia kuunda wasifu wa kazini ambao utadhibitiwa na kufuatiliwa na shirika lako. Sheria na masharti yatatumika."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Unakaribia kuunda wasifu wa kazini ambao utasimamiwa na kufuatiliwa na shirika lako. Sheria na masharti kutoka <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> yatatumika."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Wasifu utaundwa kwa ajili ya programu zako za kazini. Wasifu huu na sehemu zingine za kifaa chako, zitasimamiwa na kufuatiliwa na shirika lako. Sheria na masharti yatatumika."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Wasifu utaundwa kwa ajili ya programu zako za kazini. Wasifu huu na sehemu zingine za kifaa chako zitasimamiwa na kufuatiliwa na shirika lako. Sheria na masharti kutoka <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> yatatumika."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Kifaa hiki kitadhibitiwa na kuhifadhiwa salama na <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Sheria na masharti yatatumika. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Kifaa hiki kitadhibitiwa na kuwekwa salama na <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Sheria na Masharti kutoka <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> yatatumika. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Kiungo hiki si salama na hakiwezi kufunguliwa hadi umalize kuweka mipangilio ya kifaa: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Ikiwa una swali, wasiliana na <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kama una maswali, wasiliana na msimamizi wa shirika lako"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Haijamaliza kuweka mipangilio. Wasiliana na msimamizi wako ili upate usaidizi."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Wasiliana na msimamizi wako ili upate usaidizi"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"msimamizi wa shirika"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> itadhibiti na kufuatilia kifaa hiki kwa kutumia programu ifuatayo:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Shirika lako"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"shirika lako"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Angalia sheria na masharti"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Kubali na uendelee"</string>
+    <string name="close" msgid="7208600934846389439">"Funga"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Weka mipangilio ya kifaa chako"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Badilisha jinsi unavyofanya kazi"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Tenganisha data ya kazini na ya binafsi"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Sehemu moja ya kuweka programu za kazini"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Zima kipengele cha kazini utakapomaliza"</string>
     <string name="provisioning" msgid="4512493827019163451">"Inaandaa"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Inasanidi vyeti vya CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Weka mipangilio ya wasifu wako. Anza kuweka mipangilio"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Weka wasifu wako"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Kwa kutumia wasifu wa kazini, unaweza kutenganisha data ya kazini na data ya binafsi"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Kwa kutumia wasifu wa kazini, unaweza kuweka programu zako za kazini mahali pamoja"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Weka mipangilio ya wasifu wako. Usimbaji fiche"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Weka mipangilio ya wasifu wako. Inaonyesha maendeleo"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Weka mipangilio ya kifaa chako. Anza kuweka mipangilio"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Sanidi kifaa chako"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Weka mipangilio ya kifaa chako. Usimbaji fiche"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Weka mipangilio ya kifaa chako. Inaonyesha maendeleo"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Kitufe cha pata maelezo zaidi"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Aikoni ya <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Sehemu ya kichwa cha <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Sehemu ya maudhui ya <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Panua"</string>
+    <string name="collapse" msgid="7817530505064432580">"Kunja"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Fikia orodha ya viungo"</string>
+    <string name="access_links" msgid="7991363727326168600">"Fikia viungo"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Fikia sheria na masharti"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Soma masharti"</string>
+    <string name="close_list" msgid="9053538299788717597">"Funga orodha"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Iache kusasisha mipangilio na irejeshe hali iliyotoka nayo kiwandani?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Hatua ya kufunga shughuli hii ya kuweka mipangilio itarejesha kifaa chako katika hali iliyotoka nayo kiwandani na kuleta skrini ya kwanza."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Ghairi"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Weka mipangilio ya kifaa upya"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> na <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> na <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values/config.xml b/res/values-sw600dp/layouts.xml
similarity index 76%
copy from res/values/config.xml
copy to res/values-sw600dp/layouts.xml
index 4425488..9871d64 100644
--- a/res/values/config.xml
+++ b/res/values-sw600dp/layouts.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,5 @@
  */
 -->
 <resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+    <bool name="lock_to_portrait">false</bool>
+</resources>
\ No newline at end of file
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
deleted file mode 100644
index db75869..0000000
--- a/res/values-ta-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"பணிச் சுயவிவர அமைவு"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"அச்சச்சோ!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"பணிச் சுயவிவரத்தை அமை"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"உங்கள் நிறுவனம், இந்தச் சுயவிவரத்தைக் கட்டுப்படுத்தி, அதைப் பாதுகாப்பாக வைக்கிறது. உங்கள் சாதனத்தில் இருந்து எல்லாவற்றையும் கட்டுப்படுத்தலாம்."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"உங்கள் நிறுவனம் இந்தச் சாதனத்தைக் கட்டுப்படுத்துவதோடு, அதைப் பாதுகாப்பாகவும் வைக்கும்."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"பின்வரும் பயன்பாடு இந்தச் சுயவிவரத்தை அணுக வேண்டும்:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"பின்வரும் பயன்பாடு உங்கள் சாதனத்தை நிர்வகிக்கும்:"</string>
-    <string name="next" msgid="1004321437324424398">"அடுத்து"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"பணி சுயவிவரத்தை அமைக்கிறது…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"அமைப்புகள், நிறுவன அணுகல், பயன்பாடுகள், அனுமதிகள் மற்றும் இந்தச் சுயவிவரத்துடன் தொடர்புடைய தரவு (நெட்வொர்க் செயல்பாடு, சாதனத்தின் இருப்பிடம், அழைப்பு வாலாறு, தொடர்புத் தேடல் வரலாறு ஆகியவை அடங்கும்) ஆகியவற்றை உங்கள் நிர்வாகியால் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"நெட்வொர்க் செயல்பாடு, சாதன இருப்பிடத் தகவல் உட்பட சாதனத்துடன் தொடர்புடைய அமைப்புகள், நிறுவன அணுகல், பயன்பாடுகள், அனுமதிகள், திருட்டிற்கு எதிரான பாதுகாப்பு அம்சம், தரவு ஆகியவற்றை உங்கள் நிர்வாகியால் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"திருட்டிற்கு எதிரான பாதுகாப்பு அம்சங்களைப் பயன்படுத்த, சாதனத்தில் கடவுச்சொல் பாதுகாப்புள்ள திரைப் பூட்டு இருக்க வேண்டும்."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"உங்கள் நிறுவனத்தின் தனியுரிமைக் கொள்கைகள் உள்ளிட்ட கூடுதல் தகவலுக்கு நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"மேலும் அறிக"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"ரத்துசெய்"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"சரி"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"ஏற்கிறேன்"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"பணி சுயவிவரம்"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"முதன்மை பயனர்"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"பணி சுயவிவரத்தை அகற்றவா?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"பணி சுயவிவரம் ஏற்கனவே உள்ளது மற்றும் அதை நிர்வகிப்பது:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"பின்வருவதைப் பயன்படுத்தி பணி சுயவிவரம் %sக்காக நிர்வகிக்கப்படுகிறது:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"தொடர்வதற்கு முன், "<a href="#read_this_link">"இதைப் படிக்கவும்"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"தொடர்ந்தால், இந்தச் சுயவிவரத்தின் எல்லா பயன்பாடுகளும் தரவும் நீக்கப்படும்."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"நீக்கு"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"ரத்துசெய்"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"பணி சுயவிவரத்தை அமைப்பதைத் தொடர, சாதனத்தை மறையாக்க வேண்டும். அதற்குச் சிறிது நேரம் ஆகலாம்."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"சாதன அமைவைத் தொடர, அதை என்க்ரிப்ட் செய்ய வேண்டும். அதற்குச் சிறிது நேரம் ஆகலாம்."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"மறையாக்கு"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"குறியாக்கம் முடிந்தது"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"பணி சுயவிவரத்தை அமைப்பதைத் தொடர, தட்டவும்"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"பணி சுயவிவரத்தை அமைக்க முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும் அல்லது பிறகு முயலவும்."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"பணி சுயவிவரங்களைச் சாதனம் ஆதரிக்காது"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"இவருக்குப் பணிச் சுயவிவரத்தை உருவாக்க முடியாது"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"நிர்வகிக்கப்படும் சாதனத்தில் பணி சுயவிவரங்களை அமைக்க முடியாது"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"உங்கள் சாதனத்தில் அனுமதிக்கப்பட்ட அதிகபட்ச பயனர்களை உருவாக்கிவிட்டதால், பணி சுயவிவரத்தை உருவாக்க முடியாது. குறைந்தது ஒரு பயனரை அகற்றிவிட்டு, மீண்டும் முயற்சிக்கவும்."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"இந்தத் துவக்கி பயன்பாடு, பணி சுயவிவரத்தை ஆதரிக்கவில்லை. பொருந்தும் துவக்கிக்கு மாற்ற வேண்டும்."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"ரத்துசெய்"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"சரி"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"பயனர் அமைவு முழுமையடையவில்லை"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"பணியிடச் சாதனத்தின் பயனர்"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"பணிச் சாதனத்தை அமை"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"அமைவு தரவைச் செயல்படுத்துகிறது…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"வைஃபையுடன் இணைக்கிறது…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"நிர்வாகி பயன்பாட்டை இறக்குகிறது…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"நிர்வாகி பயன்பாட்டை நிறுவுகிறது…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"சாதன உரிமையாளரை அமைக்கிறது…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"சாதனம் முறைமையாக்கத்தை ஆதரிக்கவில்லை. IT துறையைத் தொடர்புகொள்ளவும்."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"அமைப்பதை நிறுத்தி, சாதனத் தரவை அழிக்கவா?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ரத்துசெய்"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"சரி"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"மீட்டமை"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"சாதனத்தை அமைக்க முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும்."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"சாதனம் ஏற்கனவே அமைக்கப்பட்டுள்ளது."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"வைஃபை உடன் இணைக்க முடியவில்லை"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ஆரம்பநிலை மீட்டமைவு பாதுகாப்பானது சாதனத்தைப் பூட்டியுள்ளது. ஐடி துறையைத் தொடர்புகொள்ளவும்."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"அழிக்கிறது"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"காத்திருக்கவும்..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"செக்-சம் பிழைக் காரணமாக நிர்வாகப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும்."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"நிர்வாகிப் பயன்பாட்டை இறக்க முடியவில்லை"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"நிர்வாகப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. இதில் கூறுகள் இல்லாமல் இருக்கலாம் அல்லது இது சேதமடைந்து இருக்கலாம். IT துறையைத் தொடர்புகொள்ளவும்."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"நிர்வாகிப் பயன்பாட்டை நிறுவ முடியவில்லை"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"அமைப்பதை நிறுத்தவா?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"வேண்டாம்"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ஆம்"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ரத்துசெய்கிறது..."</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"சுயவிவர அமைவை நிறுத்தவா?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"உங்கள் நிறுவனம் பயன்படுத்தும் சாதன நிர்வாகப் பயன்பாட்டிலிருந்து பணி சுயவிவரத்தை பின்னர் அமைக்கலாம்."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"தொடர்க"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"நிறுத்து"</string>
-    <string name="provisioning" msgid="4512493827019163451">"அமைக்கிறது"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA சான்றிதழ்களை அமைக்கிறது"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"சுயவிவரத்தை அமைக்கவும். அமைவைத் தொடங்கவும்"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"சுயவிவரத்தை அமைக்கவும். என்க்ரிப்ட்"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"சுயவிவரத்தை அமைக்கவும். செயல்நிலையைக் காட்டுகிறது"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"சாதனத்தை அமைக்கவும். அமைவைத் தொடங்கவும்"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"சாதனத்தை அமைக்கவும். என்க்ரிப்ட்"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"சாதனத்தை அமைக்கவும். செயல்நிலையைக் காட்டுகிறது"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"மேலும் அறிக பொத்தான்"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ஐகான்"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"அமைவை முடித்து ஆரம்பநிலைக்கு மீட்டமைக்கவா?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"இந்த அமைவை முடிப்பதால், உங்கள் சாதனம் ஆரம்பநிலைக்கு மீட்டமைக்கப்பட்டு, சாதனத்தின் தொடக்கநிலைக்குக் கொண்டு செல்லும்."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ரத்துசெய்"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"சாதனத்தை மீட்டமை"</string>
-</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
new file mode 100644
index 0000000..05e018c
--- /dev/null
+++ b/res/values-ta/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"பணிச் சுயவிவர அமைவு"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"அச்சச்சோ!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"பணிச் சுயவிவரத்தை அமை"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"உங்கள் நிறுவனம், இந்தச் சுயவிவரத்தைக் கட்டுப்படுத்தி, அதைப் பாதுகாப்பாக வைக்கிறது. உங்கள் சாதனத்தில் இருந்து எல்லாவற்றையும் கட்டுப்படுத்தலாம்."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"உங்கள் நிறுவனம் இந்தச் சாதனத்தைக் கட்டுப்படுத்துவதோடு, அதைப் பாதுகாப்பாகவும் வைக்கும்."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"பின்வரும் பயன்பாடு இந்தச் சுயவிவரத்தை அணுக வேண்டும்:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"பின்வரும் பயன்பாடு உங்கள் சாதனத்தை நிர்வகிக்கும்:"</string>
+    <string name="next" msgid="1004321437324424398">"அடுத்து"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"பணி சுயவிவரத்தை அமைக்கிறது…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"அமைப்புகள், கார்ப்பரேட் அணுகல், பயன்பாடுகள், அனுமதிகள், இந்தச் சுயவிவரத்துடன் தொடர்புடைய தரவு (உங்கள் நெட்வொர்க் செயல்பாடு, சாதனத்தின் இருப்பிடம், அழைப்பு வரலாறு, தொடர்புத் தேடல் வரலாறு ஆகியவை அடங்கும்) ஆகியவற்றை உங்கள் நிர்வாகியால் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>நிறுவனத்தின் தனியுரிமைக் கொள்கைகள் உட்பட கூடுதல் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"அமைப்புகள், கார்ப்பரேட் அணுகல், பயன்பாடுகள், அனுமதிகள், இந்தச் சாதனத்துடன் தொடர்புடைய தரவு (உங்கள் நெட்வொர்க் செயல்பாடு, சாதனத்தின் இருப்பிடம், அழைப்பு வரலாறு, தொடர்புத் தேடல் வரலாறு ஆகியவை அடங்கும்) ஆகியவற்றை உங்கள் நிர்வாகியால் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>நிறுவனத்தின் தனியுரிமைக் கொள்கைகள் உட்பட கூடுதல் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"திருட்டிற்கு எதிரான பாதுகாப்பு அம்சங்களைப் பயன்படுத்த, சாதனத்தில் கடவுச்சொல் பாதுகாப்புள்ள திரைப் பூட்டு இருக்க வேண்டும்."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"உங்கள் நிறுவனத்தின் தனியுரிமைக் கொள்கைகள் உள்ளிட்ட கூடுதல் தகவலுக்கு நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"மேலும் அறிக"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ரத்துசெய்"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"சரி"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"ஏற்கிறேன்"</string>
+    <string name="url_error" msgid="5958494012986243186">"இந்த இணைப்பைக் காட்ட முடியவில்லை."</string>
+    <string name="terms" msgid="8295436105384703903">"விதிமுறைகள்"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"பணி விவரத் தகவல்"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"நிர்வகிக்கப்படும் சாதனத் தகவல்"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"பணி சுயவிவரம்"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"முதன்மை பயனர்"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ஏற்கனவே உள்ள சுயவிவரத்தை நீக்கவா?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"பின்வரும் பயன்பாடு நிர்வகிக்கும் பணி விவரம் ஏற்கனவே உங்களிடம் உள்ளது:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"தொடர்வதற்கு முன், "<a href="#read_this_link">"இதைப் படிக்கவும்"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"தொடர்ந்தால், இந்தச் சுயவிவரத்தின் எல்லா பயன்பாடுகளும் தரவும் நீக்கப்படும்."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"நீக்கு"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ரத்துசெய்"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"பணி விவரத்தை அமைக்க, சாதனத்தை என்கிரிப்ட் செய்ய வேண்டும். இதற்குச் சிறிது நேரம் ஆகலாம்."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"சாதனத்தை அமைக்க, முதலில் அதை என்கிரிப்ட் செய்ய வேண்டும். இதற்குச் சிறிது நேரம் ஆகலாம்."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"என்கிரிப்ட் செய்யவா?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"என்கிரிப்ட் செய்"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"குறியாக்கம் முடிந்தது"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"பணி சுயவிவரத்தை அமைப்பதைத் தொடர, தட்டவும்"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"பணி சுயவிவரத்தை அமைக்க முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும் அல்லது பிறகு முயலவும்."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"பணி விவரத்தைச் சேர்க்க முடியாது"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"இந்தப் பயனருக்குப் பணி விவரத்தை உருவாக்க முடியாது. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"இந்தப் பயனருக்குப் பணி விவரங்களை உருவாக்க முடியாது. நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"நிர்வகிக்கப்படும் சாதனத்தில் பணி சுயவிவரங்களை அமைக்க முடியாது"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"இந்தச் சாதனத்தில் அதிகப்படியான பயனர்கள் இருக்கலாம். ஒரு பயனரை அகற்றி, மீண்டும் முயலவும்."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"சாதனத் துவக்கியை மாற்றவும்"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"உங்கள் பணி விவரத்தில் இந்தத் துவக்கிப் பயன்பாட்டைப் பயன்படுத்த முடியாது"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ரத்துசெய்"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"சரி"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"பயனர் அமைவு முழுமையடையவில்லை"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"பணியிடச் சாதனத்தின் பயனர்"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"பணிச் சாதனத்தை அமை"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"அமைவு தரவைச் செயல்படுத்துகிறது…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"வைஃபையுடன் இணைக்கிறது…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"நிர்வாகி பயன்பாட்டை இறக்குகிறது…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"நிர்வாகி பயன்பாட்டை நிறுவுகிறது…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"தேவையற்ற சாதனப் பயன்பாடுகளை அகற்றுகிறது…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"இறுதியாகச் சில விஷயங்களைச் சேர்க்கிறது…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"சாதன உரிமையாளரை அமைக்கிறது…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"சாதனத்தைத் தொடங்குகிறது…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"அமைப்பதற்குத் தேவையான என்கிரிப்ஷன் இந்தச் சாதனத்தில் அனுமதிக்கப்படவில்லை. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"அமைவை நிறுத்தி, சாதனத்தை மீட்டமைக்கவா?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"இவ்வாறு செய்தால் சாதனம் மீட்டமைக்கப்பட்டு, தொடக்கத் திரை காட்டப்படும்"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"அமைப்பதை நிறுத்தி, சாதனத் தரவை அழிக்கவா?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ரத்துசெய்"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"சரி"</string>
+    <string name="reset" msgid="6467204151306265796">"மீட்டமை"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"சுயவிவரத்தை அமைக்க முடியவில்லை"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"சாதனத்தை அமைக்க முடியவில்லை"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"சாதனத்தை அமைக்க முடியவில்லை. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"சாதனம் ஏற்கனவே அமைக்கப்பட்டுள்ளது"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"வைஃபை உடன் இணைக்க முடியவில்லை"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"சாதனத்தில் மீட்டமைவுப் பாதுகாப்பு இயக்கப்பட்டுள்ளது. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"அழிக்கிறது"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"காத்திருக்கவும்..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"செக்-சம் பிழை ஏற்பட்டதால், நிர்வாகிப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"நிர்வாகிப் பயன்பாட்டை இறக்க முடியவில்லை"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"நிர்வாகிப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. இதில் கூறுகள் இல்லாமல் இருக்கலாம் அல்லது இது சேதமடைந்திருக்கலாம். உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"நிர்வாகிப் பயன்பாட்டை நிறுவ முடியவில்லை"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"அமைப்பதை நிறுத்தவா?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"வேண்டாம்"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ஆம்"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"ரத்துசெய்கிறது..."</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"சுயவிவர அமைவை நிறுத்தவா?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"உங்கள் நிறுவனத்தின் சாதன நிர்வாகப் பயன்பாட்டில் பணி விவரத்தைப் பின்னர் அமைக்கலாம்"</string>
+    <string name="continue_button" msgid="7177918589510964446">"தொடர்க"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"நிறுத்து"</string>
+    <string name="dismiss" msgid="9009534756748565880">"நிராகரி"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"பணி விவரத்தை உருவாக்க உள்ளீர்கள், அதை உங்கள் நிறுவனம் நிர்வகித்து, கண்காணிக்கும். விதிமுறைகள் பொருந்தும்."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"பணி விவரத்தை உருவாக்க உள்ளீர்கள், அதை உங்கள் நிறுவனம் நிர்வகித்து, கண்காணிக்கும். <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> இன் விதிமுறைகள் பொருந்தும்."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"பணி தொடர்பான பயன்பாடுகளுக்கு, சுயவிவரம் உருவாக்கப்படும். இந்தச் சுயவிவரத்தையும் சாதனத்திலுள்ள பிற விஷயங்களையும் உங்கள் நிறுவனம் நிர்வகித்து, கண்காணிக்கும். விதிமுறைகள் பொருந்தும்."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"பணி தொடர்பான பயன்பாடுகளுக்கு, சுயவிவரம் உருவாக்கப்படும். இந்தச் சுயவிவரத்தையும் சாதனத்திலுள்ள பிற விஷயங்களையும் உங்கள் நிறுவனம் நிர்வகித்து, கண்காணிக்கும். <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> இன் விதிமுறைகள் பொருந்தும்."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"இந்தச் சாதனத்தை <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> நிர்வகித்து, பாதுகாக்கும். விதிமுறைகள் பொருந்தும். <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"இந்தச் சாதனத்தை <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> நிர்வகித்து, பாதுகாக்கும். <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> இன் விதிமுறைகள் பொருந்தும். <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"இந்த இணைப்பு பாதுகாப்பானதாக இல்லாததால், சாதன அமைவு முடியும் வரை அதைத் திறக்க முடியாது: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"ஏதேனும் கேள்விகள் இருப்பின், உங்கள் <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>ஐத் தொடர்புகொள்ளவும்."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"ஏதேனும் கேள்விகள் இருப்பின், உங்கள் நிறுவனத்தின் நிர்வாகியைத் தொடர்புகொள்ளவும்"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"அமைவு முடிவடையவில்லை. உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"உதவிக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"நிறுவனத்தின் நிர்வாகி"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> பின்வரும் பயன்பாட்டைப் பயன்படுத்தி, இந்தச் சாதனத்தை நிர்வகித்து, கண்காணிக்கும்:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"உங்கள் நிறுவனம்"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"உங்கள் நிறுவனம்"</string>
+    <string name="view_terms" msgid="7230493092383341605">"விதிமுறைகளைக் காட்டு"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ஏற்று, தொடர்க"</string>
+    <string name="close" msgid="7208600934846389439">"மூடு"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"சாதனத்தை அமைக்கவும்"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"நீங்கள் வேலை செய்யும் விதத்தை மாற்றலாம்"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"தனிப்பட்ட தரவிலிருந்து பணித் தரவைப் பிரிக்கலாம்"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"பணி தொடர்பான பயன்பாடுகள் அனைத்தும் ஒரே இடத்தில்"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"முடித்ததும், பணியை முடக்கவும்"</string>
+    <string name="provisioning" msgid="4512493827019163451">"அமைக்கிறது"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA சான்றிதழ்களை அமைக்கிறது"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"சுயவிவரத்தை அமைக்கவும்"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"பணி விவரத்தைப் பயன்படுத்துவதன் மூலம், பணித் தரவையும் தனிப்பட்ட தரவையும் தனித்தனியாகப் பிரிக்கலாம்"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"பணி விவரத்தைப் பயன்படுத்துவதன் மூலம், பணி தொடர்பான பயன்பாடுகளை ஒரே இடத்தில் வைத்திருக்கலாம்"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"சுயவிவரத்தை அமைக்கவும். என்க்ரிப்ட்"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"சுயவிவரத்தை அமைக்கவும். செயல்நிலையைக் காட்டுகிறது"</string>
+    <string name="setup_device" msgid="6725265673245816366">"சாதனத்தை அமை"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"சாதனத்தை அமைக்கவும். என்க்ரிப்ட்"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"சாதனத்தை அமைக்கவும். செயல்நிலையைக் காட்டுகிறது"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"மேலும் அறிக பொத்தான்"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ஐகான்"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> பிரிவின் தலைப்பு."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> பிரிவின் உள்ளடக்கம்: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"விரிக்கும்"</string>
+    <string name="collapse" msgid="7817530505064432580">"சுருக்கும்"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"இணைப்புகளின் பட்டியலை அணுகவும்"</string>
+    <string name="access_links" msgid="7991363727326168600">"இணைப்புகளை அணுகவும்"</string>
+    <string name="access_terms" msgid="1982500872249763745">"விதிமுறைகளை அணுகவும்"</string>
+    <string name="read_terms" msgid="1745011123626640728">"விதிமுறைகளைப் படிக்கவும்"</string>
+    <string name="close_list" msgid="9053538299788717597">"பட்டியலை மூடு"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"அமைவை முடித்து ஆரம்பநிலைக்கு மீட்டமைக்கவா?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"இந்த அமைவை முடிப்பதால், உங்கள் சாதனம் ஆரம்பநிலைக்கு மீட்டமைக்கப்பட்டு, சாதனத்தின் தொடக்கநிலைக்குக் கொண்டு செல்லும்."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ரத்துசெய்"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"சாதனத்தை மீட்டமை"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> மற்றும் <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> மற்றும் <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
deleted file mode 100644
index 281c3d6..0000000
--- a/res/values-te-rIN/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"కార్యాలయ ప్రొఫైల్ సెటప్"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"అయ్యో!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయండి"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"మీ సంస్థ ఈ ప్రొఫైల్‌ను నియంత్రిస్తుంది మరియు దాన్ని సురక్షితంగా ఉంచుతుంది. మీరు మీ పరికరంలో మిగిలిన అన్నింటిని నియంత్రిస్తారు."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"మీ సంస్థ ఈ పరికరాన్ని నియంత్రిస్తుంది మరియు సురక్షితంగా ఉంచుతుంది."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"క్రింది అనువర్తనం ఈ ప్రొఫైల్‌ను ప్రాప్యత చేయాలి:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"క్రింది అనువర్తనం మీ పరికరాన్ని నిర్వహిస్తుంది:"</string>
-    <string name="next" msgid="1004321437324424398">"తదుపరి"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేస్తోంది..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"మీ నిర్వాహకులు సెట్టింగ్‌లను, కార్పొరేట్ ప్రాప్యతను, అనువర్తనాలను, అనుమతులను మరియు మీ ప్రొఫైల్‌తో అనుబంధించబడిన డేటాను, దానితో పాటుగా మీ నెట్‌వర్క్ కార్యాచరణను, అలాగే మీ పరికర స్థానాన్ని, కాల్ చరిత్రను మరియు పరిచయాల శోధన చరిత్రను పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యం కలిగి ఉంటారు."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"మీ నిర్వాహకుడు సెట్టింగ్‌లను, కార్పొరేట్ ప్రాప్యతను, అనువర్తనాలను, అనుమతులను, అపహరణ జరగకుండా రక్షణనిచ్చే లక్షణాలను మరియు ఈ పరికరంతో అనుబంధించబడిన డేటాను, అలాగే నెట్‌వర్క్ కార్యాచరణను మరియు మీ పరికర స్థాన సమాచారాన్ని పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యం కలిగి ఉంటారు."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"అపహరణ జరగకుండా రక్షణనిచ్చే లక్షణాలను ఉపయోగించడానికి, మీరు మీ పరికరం కోసం తప్పనిసరిగా పాస్‌వర్డ్ సురక్షిత స్క్రీన్ లాక్‌ను కలిగి ఉండాలి."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"మీ సంస్థ గోప్యతా విధానాలతో సహా మరింత సమాచారం కోసం మీ నిర్వాహకుని సంప్రదించండి."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"మరింత తెలుసుకోండి"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"రద్దు చేయి"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"సరే"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"నేను సమ్మతిస్తున్నాను"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"కార్యాలయ ప్రొఫైల్‌"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ప్రాథమిక వినియోగదారు"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"కార్యాలయ ప్రొఫైల్‌ను తీసివేయాలా?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"కార్యాలయ ప్రొఫైల్ ఇప్పటికే ఉంది మరియు వీరి ద్వారా నిర్వహించబడుతోంది:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ఈ కార్యాలయ ప్రొఫైల్ వీరు ఉపయోగిస్తున్న %s కోసం నిర్వహించబడుతోంది:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"కొనసాగడానికి ముందు, "<a href="#read_this_link">"దీన్ని చదవండి"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"మీరు కొనసాగిస్తే, ఈ ప్రొఫైల్‌లోని అన్ని అనువర్తనాలు మరియు డేటా తొలగించబడతాయి."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"తొలగించు"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"రద్దు చేయి"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"మీ కార్యాలయ ప్రొఫైల్‌ని సెటప్ చేయడం కొనసాగించడానికి, మీరు మీ పరికరాన్ని గుప్తీకరించాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"మీ పరికరాన్ని సెటప్ చేయడం కొనసాగించడానికి, మీరు దాన్ని గుప్తీకరించాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"గుప్తీకరించు"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"గుప్తీకరణ పూర్తయింది"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడాన్ని కొనసాగించడానికి నొక్కండి"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి లేదా తర్వాత మళ్లీ ప్రయత్నించండి."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"మీ పరికరం కార్యాలయ ప్రొఫైల్‌లకు మద్దతు ఇవ్వదు"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ఈ వినియోగదారుకు కార్యాలయ ప్రొఫైల్ లేదు"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"కార్యాలయ ప్రొఫైల్‌లను నిర్వహిత పరికరంలో సెటప్ చేయలేరు"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"మీరు మీ పరికరంలో గరిష్ట వినియోగదారుల సంఖ్యను చేరుకున్నందున కార్యాలయ ప్రొఫైల్‌ని సృష్టించడం సాధ్యపడదు. కనీసం ఒక వినియోగదారుని తీసివేసి, మళ్లీ ప్రయత్నించండి."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"మీ కార్యాలయ ప్రొఫైల్‌కు ఈ లాంచర్ అనువర్తనం మద్దతు ఇవ్వదు. మీరు అనుకూల లాంచర్‌కు మారాలి."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"రద్దు చేయి"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"సరే"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"వినియోగదారు సెటప్ పూర్తికాలేదు"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"కార్యాలయ పరికర వినియోగదారు"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"కార్యాలయ పరికరాన్ని సెటప్ చేయండి"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"సెటప్ డేటాను ప్రాసెస్ చేస్తోంది..."</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fiకి కనెక్ట్ చేస్తోంది..."</string>
-    <string name="progress_download" msgid="3522436271691064624">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేస్తోంది..."</string>
-    <string name="progress_install" msgid="2258045670385866183">"నిర్వాహక అనువర్తనం ఇన్‌స్టాల్ చేస్తోంది..."</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"పరికర యజమానిని సెట్ చేస్తోంది..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"మీ పరికరంలో గుప్తీకరణకు మద్దతు లేదు. మీ IT విభాగాన్ని సంప్రదించండి."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"మీ పరికరాన్ని సెటప్ చేయడం ఆపివేసి, అందులోని డేటాను తీసివేయాలా?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"రద్దు చేయి"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"సరే"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"రీసెట్ చేయి"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"మీ పరికరాన్ని సెటప్ చేయడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"ఈ పరికరం ఇప్పటికే సెటప్ చేయబడింది."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fiకి కనెక్ట్ చేయడం సాధ్యపడలేదు"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"ఈ పరికరం ఫ్యాక్టరీ రీసెట్ రక్షణ ద్వారా లాక్ చేయబడింది. మీ ఐటి విభాగాన్ని సంప్రదించండి."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ఎరేజ్ చేస్తోంది"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"దయచేసి వేచి ఉండండి..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"చెక్‌సమ్ లోపం కారణంగా నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేయడం సాధ్యపడలేదు"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడదు. ఇందులో కొన్ని భాగాలు లేవు లేదా పాడైంది. మీ IT విభాగాన్ని సంప్రదించండి."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"నిర్వాహక అనువర్తనాన్ని ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"సెటప్ చేయడం ఆపివేయాలా?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"కాదు"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"అవును"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"రద్దు చేస్తోంది…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ప్రొఫైల్ సెటప్‌ను ఆపివేయాలా?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"మీరు మీ సంస్థ ఉపయోగించే పరికర నిర్వహణ అనువర్తనం నుండి మీ కార్యాలయ ప్రొఫైల్‌ను తర్వాత సెటప్ చేయవచ్చు."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"కొనసాగించు"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ఆపివేయి"</string>
-    <string name="provisioning" msgid="4512493827019163451">"కేటాయిస్తోంది"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA ప్రమాణపత్రాలను సెటప్ చేస్తోంది"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి. సెటప్‌ను ప్రారంభించండి"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి. గుప్తీకరణ"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి. ప్రోగ్రెస్‌ను చూపుతోంది"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"మీ పరికరాన్ని సెటప్ చేయండి. సెటప్‌ను ప్రారంభించండి"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"మీ పరికరాన్ని సెటప్ చేయండి. గుప్తీకరణ"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"మీ పరికరాన్ని సెటప్ చేయండి. ప్రోగ్రెస్‌ను చూపుతోంది"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"మరింత తెలుసుకోండి బటన్"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> చిహ్నం"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"సెటప్‌ను ముగించి, ఫ్యాక్టరీ రీసెట్ చేయాలా?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ఈ సెటప్‌ను ముగిస్తే మీ పరికరం ఫ్యాక్టరీ రీసెట్ చేయబడుతుంది మరియు మీరు తిరిగి సెటప్ ప్రారంభ స్క్రీన్‌కు తీసుకెళ్లబడతారు."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"రద్దు చేయి"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"పరికరాన్ని రీసెట్ చేయి"</string>
-</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
new file mode 100644
index 0000000..c2dfedc
--- /dev/null
+++ b/res/values-te/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"కార్యాలయ ప్రొఫైల్ సెటప్"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"అయ్యో!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయండి"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"మీ సంస్థ ఈ ప్రొఫైల్‌ను నియంత్రిస్తుంది మరియు దాన్ని సురక్షితంగా ఉంచుతుంది. మీరు మీ పరికరంలో మిగిలిన అన్నింటిని నియంత్రిస్తారు."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"మీ సంస్థ ఈ పరికరాన్ని నియంత్రిస్తుంది మరియు సురక్షితంగా ఉంచుతుంది."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"క్రింది అనువర్తనం ఈ ప్రొఫైల్‌ను ప్రాప్యత చేయాలి:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"క్రింది అనువర్తనం మీ పరికరాన్ని నిర్వహిస్తుంది:"</string>
+    <string name="next" msgid="1004321437324424398">"తదుపరి"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేస్తోంది..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"మీ పరికరం యొక్క స్థానం, కాల్ చరిత్ర మరియు పరిచయ శోధన చరిత్రతో పాటు ఈ ప్రొఫైల్‌కు అనుబంధితమైన సెట్టింగ్‌లు, కార్పొరేట్ ప్రాప్యత, అనువర్తనాలు, అనుమతులు మరియు డేటాతో సహా మీ నెట్‌వర్క్ కార్యాచరణను కూడా పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యం మీ నిర్వాహకులకు ఉంది.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>మీ సంస్థ యొక్క గోప్యతా విధానాలతో పాటు మరింత సమాచారం కోసం మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"మీ పరికరం యొక్క స్థానం, కాల్ చరిత్ర మరియు పరిచయ శోధన చరిత్రతో పాటు ఈ పరికరానికి అనుబంధితమైన సెట్టింగ్‌లు, కార్పొరేట్ ప్రాప్యత, అనువర్తనాలు, అనుమతులు మరియు డేటాతో సహా మీ నెట్‌వర్క్ కార్యాచరణను కూడా పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యం మీ నిర్వాహకులకు ఉంది.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>మీ సంస్థ యొక్క గోప్యతా విధానాలతో పాటు మరింత సమాచారం కోసం మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"అపహరణ జరగకుండా రక్షణనిచ్చే లక్షణాలను ఉపయోగించడానికి, మీరు మీ పరికరం కోసం తప్పనిసరిగా పాస్‌వర్డ్ సురక్షిత స్క్రీన్ లాక్‌ను కలిగి ఉండాలి."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"మీ సంస్థ గోప్యతా విధానాలతో సహా మరింత సమాచారం కోసం మీ నిర్వాహకుని సంప్రదించండి."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"మరింత తెలుసుకోండి"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"రద్దు చేయి"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"సరే"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"నేను సమ్మతిస్తున్నాను"</string>
+    <string name="url_error" msgid="5958494012986243186">"ఈ లింక్‌ని ప్రదర్శించడం సాధ్యం కాదు."</string>
+    <string name="terms" msgid="8295436105384703903">"నిబంధనలు"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"కార్యాలయ ప్రొఫైల్ సమాచారం"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"నిర్వహించబడిన పరికర సమాచారం"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"కార్యాలయ ప్రొఫైల్‌"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"ప్రాథమిక వినియోగదారు"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ప్రస్తుతం ఉన్న ప్రొఫైల్‌ని తొలగించాలా?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"మీరు ఇప్పటికే కింది అనువర్తనం ద్వారా నిర్వహించబడుతున్న ఒక కార్యాలయ ప్రొఫైల్‌ని కలిగి ఉన్నారు:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"కొనసాగడానికి ముందు, "<a href="#read_this_link">"దీన్ని చదవండి"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"మీరు కొనసాగిస్తే, ఈ ప్రొఫైల్‌లోని అన్ని అనువర్తనాలు మరియు డేటా తొలగించబడతాయి."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"తొలగించు"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"రద్దు చేయి"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"మీ కార్యాలయ ప్రొఫైల్‌ని సెటప్ చేయడానికి, మొదట మీ పరికరం గుప్తీకరించబడాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"ఈ పరికరం సెటప్ చేయడానికి, మొదట అది గుప్తీకరించబడాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"ఈ పరికరాన్ని గుప్తీకరించాలా?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"గుప్తీకరించు"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"గుప్తీకరణ పూర్తయింది"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడాన్ని కొనసాగించడానికి నొక్కండి"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి లేదా తర్వాత మళ్లీ ప్రయత్నించండి."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"కార్యాలయ ప్రొఫైల్‌ని జోడించడం సాధ్యపడదు"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ఈ వినియోగదారుకు కార్యాలయ ప్రొఫైల్‌ను రూపొందించలేరు. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ఈ వినియోగదారుకు కార్యాలయ ప్రొఫైల్‌లను రూపొందించలేరు. మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"కార్యాలయ ప్రొఫైల్‌లను నిర్వహిత పరికరంలో సెటప్ చేయలేరు"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ఈ పరికరంలో చాలా మంది వినియోగదారులు ఉండవచ్చు. ఒక వినియోగదారుని తీసివేసి, మళ్లీ ప్రయత్నించండి."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"పరికర లాంచర్‌‌ని మార్చండి"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"మీ కార్యాలయ ప్రొఫైల్ ద్వారా ఈ లాంచర్ అనువర్తనం ఉపయోగించలేరు"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"రద్దు చేయి"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"సరే"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"వినియోగదారు సెటప్ పూర్తికాలేదు"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"కార్యాలయ పరికర వినియోగదారు"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"కార్యాలయ పరికరాన్ని సెటప్ చేయండి"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"సెటప్ డేటాను ప్రాసెస్ చేస్తోంది..."</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fiకి కనెక్ట్ చేస్తోంది..."</string>
+    <string name="progress_download" msgid="3522436271691064624">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేస్తోంది..."</string>
+    <string name="progress_install" msgid="2258045670385866183">"నిర్వాహక అనువర్తనం ఇన్‌స్టాల్ చేస్తోంది..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"అనావశ్యక సిస్టమ్ అనువర్తనాలను తీసివేస్తోంది…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"తుది మెరుగులు చేస్తోంది…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"పరికర యజమానిని సెట్ చేస్తోంది..."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"పరికరాన్ని ప్రారంభిస్తోంది…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"సెటప్ చేయడానికి అవసరమైన గుప్తీకరణను ఈ పరికరం అనుమతించదు. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"సెటప్‌ని ఆపి &amp; పరికరాన్ని రీసెట్ చేయాలా?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"ఇది మీ పరికరాన్ని రీసెట్ చేస్తుంది మరియు మిమ్మల్ని తిరిగి సెటప్ ప్రారంభ స్క్రీన్‌కు తీసుకెళ్తుంది"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"మీ పరికరాన్ని సెటప్ చేయడం ఆపివేసి, అందులోని డేటాను తీసివేయాలా?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"రద్దు చేయి"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"సరే"</string>
+    <string name="reset" msgid="6467204151306265796">"రీసెట్ చేయి"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ప్రొఫైల్‌ని సెటప్ చేయడం సాధ్యపడదు"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"పరికరాన్ని సెటప్ చేయడం సాధ్యపడదు"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"పరికరాన్ని సెటప్ చేయడం సాధ్యపడలేదు. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"సహాయం కోసం మీ నిర్వాహకులను సంప్రదించండి"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"పరికరం ఇప్పటికే సెటప్ చేయబడింది"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fiకి కనెక్ట్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"మీ పరికరంలో రీసెట్ రక్షణ ఆన్ చేయబడింది. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"ఎరేజ్ చేస్తోంది"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"దయచేసి వేచి ఉండండి..."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"చెక్‌సమ్ లోపం కారణంగా నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడలేదు. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడదు. ఇందులో కొన్ని భాగాలు లేవు లేదా పాడైంది. సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"నిర్వాహక అనువర్తనాన్ని ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"సెటప్ చేయడం ఆపివేయాలా?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"కాదు"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"అవును"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"రద్దు చేస్తోంది…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"ప్రొఫైల్ సెటప్‌ను ఆపివేయాలా?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"మీ సంస్థ యొక్క పరికర నిర్వహణ అనువర్తనంలో మీ కార్యాలయ ప్రొఫైల్‌ని మీరు తర్వాత సెటప్ చేయవచ్చు"</string>
+    <string name="continue_button" msgid="7177918589510964446">"కొనసాగించు"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"ఆపివేయి"</string>
+    <string name="dismiss" msgid="9009534756748565880">"తీసివేయి"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"మీరు కార్యాలయ ప్రొఫైల్‌ని సృష్టించబోతున్నారు, ఇది మీ సంస్థ ద్వారా నిర్వహించబడుతుంది మరియు పర్యవేక్షించబడుతుంది. నిబంధనలు వర్తిస్తాయి."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"మీరు కొత్త కార్యాలయ ప్రొఫైల్‌ని సృష్టించబోతున్నారు, ఇది మీ సంస్థ ద్వారా నిర్వహించబడుతుంది మరియు పర్యవేక్షించబడుతుంది. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> యొక్క నిబంధనలు వర్తిస్తాయి."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"మీ కార్యాలయ అనువర్తనాల కోసం ఒక ప్రొఫైల్ సృష్టించబడుతుంది. ఈ ప్రొఫైల్ మరియు మీ పరికరంలో ఉన్న మిగిలినవి మీ సంస్థ ద్వారా నిర్వహించబడతాయి మరియు పర్యవేక్షించబడతాయి. నిబంధనలు వర్తిస్తాయి."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"మీ కార్యాలయ అనువర్తనాల కోసం ఒక ప్రొఫైల్ సృష్టించబడుతుంది. ఈ ప్రొఫైల్ మరియు మీ పరికరంలో ఉన్న మిగిలినవి మీ సంస్థ ద్వారా నిర్వహించబడతాయి మరియు పర్యవేక్షించబడతాయి. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> యొక్క నిబంధనలు వర్తిస్తాయి."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"ఈ పరికరం <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ద్వారా నిర్వహించబడుతుంది మరియు సురక్షితంగా ఉంచబడుతుంది. నిబంధనలు వర్తిస్తాయి. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"ఈ పరికరం <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ద్వారా నిర్వహించబడుతుంది మరియు సురక్షితంగా ఉంచబడుతుంది. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> యొక్క నిబంధనలు వర్తిస్తాయి. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ఈ లింక్ సురక్షితం కాదు మరియు పరికరం సెటప్ పూర్తి అయ్యేంతవరకు దాన్ని తెరవడం సాధ్యపడదు: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"మీకు సందేహాలుంటే, మీ <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>ని సంప్రదించండి."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"మీకు సందేహాలుంటే, మీ సంస్థ యొక్క నిర్వాహకులను సంప్రదించండి"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"సెటప్ పూర్తి కాలేదు. సహాయం కోసం మీ నిర్వాహకులను సంప్రదించండి."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"సహాయం కోసం, మీ నిర్వాహకులను సంప్రదించండి"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"సంస్థ యొక్క నిర్వాహకులు"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"కింది అనువర్తనాన్ని ఉపయోగించి <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ఈ పరికరాన్ని నిర్వహిస్తుంది మరియు పర్యవేక్షిస్తుంది:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"మీ సంస్థ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"మీ సంస్థ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"నిబంధనలను వీక్షించండి"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ఆమోదించు, కొనసాగించు"</string>
+    <string name="close" msgid="7208600934846389439">"మూసివేయి"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"మీ పరికరాన్ని సెటప్ చేయండి"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"మీరు పని చేసే విధానాన్ని మార్చేయండి"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"వ్యక్తిగత అంశాల నుండి కార్యాలయ అంశాలను వేరు చేయండి"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ఒకే స్థలంలో అన్ని కార్యాలయ అనువర్తనాలు"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"మీరు పూర్తి చేసిన తర్వాత కార్యాలయ ప్రొఫైల్ ఆఫ్ చేయండి"</string>
+    <string name="provisioning" msgid="4512493827019163451">"కేటాయిస్తోంది"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA ప్రమాణపత్రాలను సెటప్ చేస్తోంది"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"కార్యాలయ ప్రొఫైల్‌ని ఉపయోగించడం ద్వారా, మీరు వ్యక్తిగత డేటాని మరియు కార్యాలయ డేటాని విడివిడిగా ఉంచవచ్చు"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"కార్యాలయ ప్రొఫైల్‌ని ఉపయోగించడం ద్వారా, మీ కార్యాలయ అనువర్తనాలన్నీ మీరు ఒకే చోట ఉంచవచ్చు"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి. గుప్తీకరణ"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి. ప్రోగ్రెస్‌ను చూపుతోంది"</string>
+    <string name="setup_device" msgid="6725265673245816366">"మీ పరికరాన్ని సెటప్ చేయండి"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"మీ పరికరాన్ని సెటప్ చేయండి. గుప్తీకరణ"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"మీ పరికరాన్ని సెటప్ చేయండి. ప్రోగ్రెస్‌ను చూపుతోంది"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"మరింత తెలుసుకోండి బటన్"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> చిహ్నం"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> విభాగం శీర్షిక."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> విభాగం కంటెంట్: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"విస్తరింపజేస్తుంది"</string>
+    <string name="collapse" msgid="7817530505064432580">"కుదిస్తుంది"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"లింక్‌ల జాబితాను ప్రాప్యత చేస్తుంది"</string>
+    <string name="access_links" msgid="7991363727326168600">"లింక్‌లను ప్రాప్యత చేస్తుంది"</string>
+    <string name="access_terms" msgid="1982500872249763745">"ప్రాప్యత నిబంధనలు"</string>
+    <string name="read_terms" msgid="1745011123626640728">"నిబంధనలను చదవండి"</string>
+    <string name="close_list" msgid="9053538299788717597">"జాబితాను మూసివేయి"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"సెటప్‌ను ముగించి, ఫ్యాక్టరీ రీసెట్ చేయాలా?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"ఈ సెటప్‌ను ముగిస్తే మీ పరికరం ఫ్యాక్టరీ రీసెట్ చేయబడుతుంది మరియు మీరు తిరిగి సెటప్ ప్రారంభ స్క్రీన్‌కు తీసుకెళ్లబడతారు."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"రద్దు చేయి"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"పరికరాన్ని రీసెట్ చేయి"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> మరియు <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> మరియు <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f2baf2e..2b1c611 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"แอปต่อไปนี้จะจัดการอุปกรณ์:"</string>
     <string name="next" msgid="1004321437324424398">"ถัดไป"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"กำลังตั้งค่าโปรไฟล์งาน…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"ผู้ดูแลระบบสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป สิทธิ์ และข้อมูลที่เชื่อมโยงกับโปรไฟล์นี้ ซึ่งรวมถึงกิจกรรมในเครือข่าย ตลอดจนตำแหน่งของอุปกรณ์ ประวัติการโทร และประวัติการค้นหารายชื่อติดต่อ"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"ผู้ดูแลระบบสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป สิทธิ์ คุณลักษณะการป้องกันขโมย และข้อมูลที่เชื่อมโยงกับอุปกรณ์นี้ได้ ซึ่งรวมถึงกิจกรรมในเครือข่ายและข้อมูลตำแหน่งของอุปกรณ์ของคุณ"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"ผู้ดูแลระบบสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป สิทธิ์ และข้อมูลที่เชื่อมโยงกับโปรไฟล์นี้ ซึ่งรวมถึงกิจกรรมในเครือข่ายของคุณ ตลอดจนตำแหน่งของอุปกรณ์ ประวัติการโทร และประวัติการค้นหารายชื่อติดต่อ<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>โปรดติดต่อผู้ดูแลระบบเพื่อสอบถามข้อมูลเพิ่มเติม รวมทั้งนโยบายความเป็นส่วนตัวขององค์กร"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"ผู้ดูแลระบบสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป สิทธิ์ และข้อมูลที่เชื่อมโยงกับอุปกรณ์นี้ ซึ่งรวมถึงกิจกรรมในเครือข่ายของคุณ ตลอดจนตำแหน่งของอุปกรณ์ ประวัติการโทร และประวัติการค้นหารายชื่อติดต่อ<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>โปรดติดต่อผู้ดูแลระบบเพื่อสอบถามข้อมูลเพิ่มเติม รวมทั้งนโยบายความเป็นส่วนตัวขององค์กร"</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"หากต้องการใช้คุณลักษณะการป้องกันขโมย อุปกรณ์ของคุณต้องมีการล็อกหน้าจอที่ป้องกันด้วยรหัสผ่าน"</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"ติดต่อผู้ดูแลระบบสำหรับข้อมูลเพิ่มเติม รวมถึงนโยบายความเป็นส่วนตัวขององค์กร"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"เรียนรู้เพิ่มเติม"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"ยกเลิก"</string>
     <string name="ok_setup" msgid="4593707675416137504">"ตกลง"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"ฉันยินยอม"</string>
+    <string name="url_error" msgid="5958494012986243186">"แสดงลิงก์ไม่ได้"</string>
+    <string name="terms" msgid="8295436105384703903">"ข้อกำหนด"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"ข้อมูลโปรไฟล์งาน"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"ข้อมูลอุปกรณ์ที่มีการจัดการ"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"โปรไฟล์งาน"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"ผู้ใช้หลัก"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"นำโปรไฟล์งานออกใช่ไหม"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"มีโปรไฟล์งานอยู่แล้วและได้รับการจัดการโดย:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"มีการจัดการโปรไฟล์งานนี้สำหรับ %s โดยใช้:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"ลบโปรไฟล์ที่มีอยู่ใช่ไหม"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"คุณมีโปรไฟล์งานอยู่แล้ว ซึ่งจัดการโดยใช้แอปต่อไปนี้"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"ก่อนดำเนินการต่อ โปรด"<a href="#read_this_link">"อ่านข้อมูลนี้"</a></string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"หากดำเนินการต่อ ระบบจะลบแอปและข้อมูลทั้งหมดในโปรไฟล์นี้"</string>
     <string name="delete_profile" msgid="2299218578684663459">"ลบ"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"ยกเลิก"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"หากต้องการตั้งค่าโปรไฟล์งานต่อ คุณต้องเข้ารหัสอุปกรณ์ ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"หากต้องการตั้งค่าอุปกรณ์ต่อ คุณต้องเข้ารหัสอุปกรณ์ ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"เข้ารหัส"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"หากต้องการตั้งค่าโปรไฟล์งาน คุณต้องเข้ารหัสลับอุปกรณ์ก่อน ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"หากต้องการตั้งค่าอุปกรณ์นี้ คุณต้องเข้ารหัสลับอุปกรณ์ก่อน ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"เข้ารหัสลับอุปกรณ์นี้ไหม"</string>
+    <string name="encrypt" msgid="1749320161747489212">"เข้ารหัสลับ"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"การเข้ารหัสเสร็จสมบูรณ์แล้ว"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"แตะเพื่อตั้งค่าโปรไฟล์งานต่อ"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ไม่สามารถตั้งค่าโปรไฟล์งานของคุณได้ โปรดติดต่อฝ่ายไอทีหรือลองอีกครั้งในภายหลัง"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"อุปกรณ์ของคุณไม่สนับสนุนโปรไฟล์งาน"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"ผู้ใช้นี้ไม่สามารถมีโปรไฟล์งานได้"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"ไม่สามารถเพิ่มโปรไฟล์งาน"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"ผู้ใช้นี้ไม่สามารถมีโปรไฟล์งาน โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"ผู้ใช้นี้ไม่สามารถมีโปรไฟล์งาน โปรดติดต่อผู้ดูแลระบบ"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"ไม่สามารถติดตั้งโปรไฟล์งานบนอุปกรณ์ที่มีการจัดการ"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"ไม่สามารถสร้างโปรไฟล์งานได้เนื่องจากมีผู้ใช้ในอุปกรณ์ถึงขีดจำกัดแล้ว โปรดนำผู้ใช้ออกอย่างน้อย 1 คนและลองอีกครั้ง"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"แอป Launcher นี้ไม่สนับสนุนโปรไฟล์งานของคุณ คุณจะต้องเปลี่ยนเป็น Launcher ที่เข้ากันได้"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"อุปกรณ์นี้อาจมีผู้ใช้มากเกินไป โปรดนำผู้ใช้ออกแล้วลองอีกครั้ง"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"เปลี่ยน Launcher ของอุปกรณ์"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"โปรไฟล์งานของคุณไม่สามารถใช้แอป Launcher นี้"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"ยกเลิก"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"ตกลง"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"การตั้งค่าผู้ใช้ไม่สมบูรณ์"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"กำลังเชื่อมต่อ Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"กำลังดาวน์โหลดแอปผู้ดูแลระบบ…"</string>
     <string name="progress_install" msgid="2258045670385866183">"กำลังติดตั้งแอปผู้ดูแลระบบ…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"กำลังนำแอประบบที่ไม่จำเป็นออก…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"กำลังตกแต่งขั้นสุดท้าย…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"กำลังตั้งค่าเจ้าของอุปกรณ์…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"อุปกรณ์ของคุณไม่รองรับการเข้ารหัส โปรดติดต่อฝ่ายไอที"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"กำลังเริ่มต้นอุปกรณ์…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"อุปกรณ์นี้ไม่อนุญาตการเข้ารหัสลับ ซึ่งจำเป็นสำหรับการตั้งค่า โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"หยุดตั้งค่าและรีเซ็ตอุปกรณ์ไหม"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"การดำเนินการนี้จะรีเซ็ตอุปกรณ์และนำคุณกลับสู่หน้าจอแรก"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"หยุดการตั้งค่าและลบข้อมูลของอุปกรณ์ไหม"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ยกเลิก"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"ตกลง"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"รีเซ็ต"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"ไม่สามารถตั้งค่าอุปกรณ์ของคุณ โปรดติดต่อฝ่ายไอที"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"อุปกรณ์นี้ตั้งค่าไว้แล้ว"</string>
+    <string name="reset" msgid="6467204151306265796">"รีเซ็ต"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"ไม่สามารถตั้งค่าโปรไฟล์"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"ไม่สามารถตั้งค่าอุปกรณ์"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"ไม่สามารถตั้งค่าอุปกรณ์ โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"ตั้งค่าอุปกรณ์แล้ว"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"ไม่สามารถเชื่อมต่อ Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"การป้องกันการรีเซ็ตเป็นค่าเริ่มต้นได้ล็อกอุปกรณ์นี้อยู่ โปรดติดต่อแผนก IT"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"อุปกรณ์เปิดการป้องกันการรีเซ็ตไว้ โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"กำลังลบ"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"โปรดรอสักครู่..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ไม่สามารถใช้แอปผู้ดูแลระบบได้เนื่องจากมีข้อผิดพลาดเกี่ยวกับ checksum โปรดติดต่อฝ่ายไอทีของคุณ"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"ไม่สามารถใช้แอปผู้ดูแลระบบเนื่องจากเกิดข้อผิดพลาดเกี่ยวกับ Checksum โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ไม่สามารถดาวน์โหลดแอปผู้ดูแลระบบได้"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ไม่สามารถใช้แอปผู้ดูแลระบบได้เนื่องจากขาดองค์ประกอบหรือมีข้อขัดข้อง โปรดติดต่อฝ่ายไอทีของคุณ"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"ไม่สามารถใช้แอปผู้ดูแลระบบเนื่องจากองค์ประกอบไม่ครบหรือแอปเสียหาย โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ไม่สามารถติดตั้งแอปผู้ดูแลระบบได้"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"หยุดการตั้งค่าใช่ไหม"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ไม่"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ใช่"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"กำลังยกเลิก…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"หยุดการตั้งค่าโปรไฟล์ใช่ไหม"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"คุณสามารถตั้งค่าโปรไฟล์งานได้ในภายหลังจากแอปการจัดการอุปกรณ์ที่องค์กรของคุณใช้"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"ต่อไป"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"คุณสามารถตั้งค่าโปรไฟล์งานในภายหลังในแอปการจัดการอุปกรณ์ขององค์กร"</string>
+    <string name="continue_button" msgid="7177918589510964446">"ต่อไป"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"หยุด"</string>
+    <string name="dismiss" msgid="9009534756748565880">"ปิด"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"คุณกำลังจะสร้างโปรไฟล์งานซึ่งจะมีองค์กรของคุณเป็นผู้จัดการและตรวจสอบ โดยจะเป็นไปตามข้อกำหนด"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"คุณกำลังจะสร้างโปรไฟล์งานซึ่งจะมีองค์กรของคุณเป็นผู้จัดการและตรวจสอบ โดยจะเป็นไปตามข้อกำหนดของ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"จะมีการสร้างโปรไฟล์สำหรับแอปงานของคุณ องค์กรของคุณจะเป็นผู้จัดการและตรวจสอบโปรไฟล์นี้และส่วนที่เหลือของอุปกรณ์ โดยจะเป็นไปตามข้อกำหนด"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"จะมีการสร้างโปรไฟล์สำหรับแอปงานของคุณ องค์กรของคุณจะเป็นผู้จัดการและตรวจสอบโปรไฟล์นี้และส่วนที่เหลือของอุปกรณ์ โดยจะเป็นไปตามข้อกำหนดของ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>จะเป็นผู้จัดการและรักษาความปลอดภัยให้อุปกรณ์นี้ โดยจะเป็นไปตามข้อกำหนด <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>จะเป็นผู้จัดการและรักษาความปลอดภัยให้อุปกรณ์นี้ โดยจะเป็นไปตามข้อกำหนดของ <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"ลิงก์นี้ไม่ปลอดภัยและไม่สามารถเปิดได้จนกว่าจะตั้งค่าอุปกรณ์เสร็จสิ้น: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"โปรดติดต่อ<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>หากมีคำถาม"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"โปรดติดต่อผู้ดูแลระบบขององค์กรหากมีคำถาม"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"ตั้งค่าไม่สำเร็จ โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"ผู้ดูแลระบบขององค์กร"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> จะจัดการและตรวจสอบอุปกรณ์นี้โดยใช้แอปต่อไปนี้"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"องค์กรของคุณ"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"องค์กรของคุณ"</string>
+    <string name="view_terms" msgid="7230493092383341605">"ดูข้อกำหนด"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"ยอมรับและดำเนินการต่อ"</string>
+    <string name="close" msgid="7208600934846389439">"ปิด"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"ตั้งค่าอุปกรณ์"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"เปลี่ยนวิธีการทำงานของคุณ"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"แยกงานออกจากเรื่องส่วนตัว"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"ศูนย์รวมแอปงาน"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"ปิดงานเมื่อคุณดำเนินการเสร็จแล้ว"</string>
     <string name="provisioning" msgid="4512493827019163451">"กำลังจัดสรร"</string>
     <string name="copying_certs" msgid="5697938664953550881">"กำลังตั้งค่าใบรับรอง CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"ตั้งค่าโปรไฟล์ เริ่มการตั้งค่า"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"ตั้งค่าโปรไฟล์ของคุณ"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"การใช้โปรไฟล์งานจะช่วยให้คุณสามารถแยกข้อมูลงานออกจากข้อมูลส่วนตัว"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"การใช้โปรไฟล์งานช่วยให้คุณสามารถรวมแอปงานไว้ในที่เดียว"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"ตั้งค่าโปรไฟล์ การเข้ารหัส"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"ตั้งค่าโปรไฟล์ กำลังแสดงความคืบหน้า"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"ตั้งค่าอุปกรณ์ เริ่มการตั้งค่า"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ตั้งค่าอุปกรณ์"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"ตั้งค่าอุปกรณ์ การเข้ารหัส"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"ตั้งค่าอุปกรณ์ กำลังแสดงความคืบหน้า"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"ปุ่มเรียนรู้เพิ่มเติม"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"ไอคอน <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"หัวข้อของส่วน <xliff:g id="SECTION_HEADING">%1$s</xliff:g>"</string>
+    <string name="section_content" msgid="8875502515704374394">"เนื้อหาของส่วน <xliff:g id="SECTION_HEADING">%1$s</xliff:g> คือ <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"ขยาย"</string>
+    <string name="collapse" msgid="7817530505064432580">"ยุบ"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"เข้าถึงรายการลิงก์"</string>
+    <string name="access_links" msgid="7991363727326168600">"เข้าถึงลิงก์"</string>
+    <string name="access_terms" msgid="1982500872249763745">"เข้าถึงข้อกำหนด"</string>
+    <string name="read_terms" msgid="1745011123626640728">"อ่านข้อกำหนด"</string>
+    <string name="close_list" msgid="9053538299788717597">"ปิดรายการ"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"สิ้นสุดการตั้งค่าแล้วรีเซ็ตเป็นค่าเริ่มต้นไหม"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"การสิ้นสุดการตั้งค่านี้จะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้นและนำคุณกลับไปยังหน้าจอแรก"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"ยกเลิก"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"รีเซ็ตอุปกรณ์"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> และ <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> และ <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index c200d5b..9efdd36 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Papamahalaan ng sumusunod na app ang iyong device:"</string>
     <string name="next" msgid="1004321437324424398">"Susunod"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Sine-set up ang iyong profile sa trabaho…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"May kakayahan ang iyong admin na subaybayan at pamahalaan ang mga setting, access ng kumpanya, mga app, mga pahintulot at data na nauugnay sa profile na ito, kasama na ang iyong aktibidad sa network, pati na rin ang lokasyon ng iyong device, history ng tawag at history ng paghahanap ng contact."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"May kakayahan ang iyong admin na subaybayan at pamahalaan ang mga setting, access ng kumpanya, mga app, mga pahintulot, mga feature ng proteksyon laban sa pagnanakaw at data na nauugnay sa device na ito, kasama na ang aktibidad sa network at ang impormasyon ng lokasyon ng iyong device."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"May kakayahan ang iyong admin na subaybayan at pamahalaan ang mga setting, pangkorporasyong access, app, pahintulot, at data na nauugnay sa profile na ito kasama ang aktibidad mo sa network, pati na rin ang lokasyon, history ng tawag, at history ng paghahanap ng contact ng iyong device.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Makipag-ugnayan sa iyong admin para sa higit pang impormasyon, kasama ang mga patakaran sa privacy ng organisasyon mo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"May kakayahan ang iyong admin na subaybayan at pamahalaan ang mga setting, pangkorporasyong access, app, pahintulot, at data na nauugnay sa device na ito kasama ang aktibidad mo sa network, pati na rin ang lokasyon, history ng tawag, at history ng paghahanap ng contact ng iyong device.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Makipag-ugnayan sa iyong admin para sa higit pang impormasyon, kasama ang mga patakaran sa privacy ng organisasyon mo."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Upang magamit ang mga feature ng proteksyon laban sa pagnanakaw, dapat ay mayroon kang screen lock na protektado ng password para sa iyong device."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Makipag-ugnayan sa iyong admin para sa higit pang impormasyon, kasama na ang mga patakaran sa privacy ng iyong organisasyon."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Matuto nang higit pa"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Kanselahin"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Ok"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Pahihintulutan ko"</string>
+    <string name="url_error" msgid="5958494012986243186">"Hindi maipakita ang link na ito."</string>
+    <string name="terms" msgid="8295436105384703903">"Mga Tuntunin"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Impormasyon ng profile sa trabaho"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Impormasyon ng pinamamahalaang device"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Profile sa trabaho"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Pangunahing user"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Alisin ang profile sa trabaho?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"May umiiral nang profile sa trabaho at pinamamahalaan ito ng:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Pinamamahalaan ang profile sa trabahong ito para sa %s gamit ang:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"I-delete ang kasalukuyang profile?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Mayroon ka nang profile sa trabaho na pinamamahalaan gamit ang sumusunod na app:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Bago magpatuloy, "<a href="#read_this_link">"basahin ito"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Kung magpapatuloy ka, made-delete ang lahat ng app at data sa profile na ito."</string>
     <string name="delete_profile" msgid="2299218578684663459">"I-delete"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselahin"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Upang magpatuloy sa pagse-set up ng iyong profile sa trabaho, kakailanganin mong i-encrypt ang iyong device. Maaaring medyo matagalan ang paggawa nito."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Upang magpatuloy sa pagse-set up ng iyong device, kakailanganin mo itong i-encrypt. Maaaring medyo matagalan ang paggawa nito."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"I-encrypt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Upang i-set up ang iyong profile sa trabaho, kailangang ma-encrypt ang iyong device. Maaari itong magtagal nang ilang sandali."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Upang i-set up ang device na ito, kailangan muna nitong ma-encrypt. Maaari itong magtagal nang ilang sandali."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"I-encrypt?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"I-encrypt"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Tapos na ang pag-encrypt"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"I-tap upang magpatuloy sa pagse-set up ng iyong profile sa trabaho"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Hindi ma-set up ang iyong profile sa trabaho. Makipag-ugnayan sa iyong IT department o subukang muli sa ibang pagkakataon."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Hindi sinusuportahan ng iyong device ang mga profile sa trabaho"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Hindi maaaring magkaroon ng profile sa trabaho ang user na ito"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Hindi maidagdag ang profile sa trabaho"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Hindi maaaring magkaroon ng profile sa trabaho ang user na ito. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Hindi maaaring magkaroon ng mga profile sa trabaho ang user na ito. Makipag-ugnayan sa iyong admin."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Hindi maaaring mag-set up ng mga profile sa trabaho sa pinamamahalaang device"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Hindi magawa ang profile sa trabaho dahil naabot mo na ang maximum na bilang ng mga user sa iyong device. Mag-alis ng kahit isang user lang at subukang muli."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ang iyong profile sa trabaho ay hindi sinusuportahan ng launcher app na ito. Kakailanganin mong lumipat sa isang launcher na tugma dito."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Maaaring masyadong marami ang user sa device na ito. Mag-alis ng user, pagkatapos ay subukang muli."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Palitan ang launcher ng device"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"HIndi magagamit ng iyong profile sa trabaho ang launcher app na ito"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Kanselahin"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Hindi Natapos ang Pag-setup ng User"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Kumokonekta sa Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Dina-download ang admin app…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Ini-install ang admin app…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Inaalis ang mga hindi kailangang system app…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Mayroon lang ilang tinatapos pa…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Itinatakda ang may-ari ng device…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Hindi sinusuportahan ng iyong device ang pag-encrypt. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Sinisimulan ang device…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Hindi pinahihintulutan ng device na ito ang pag-encrypt, na kailangan para sa pag-set up. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Ihinto ang pag-set up at i-reset ang device?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Ire-reset nito ang iyong device at ibabalik ka sa unang screen"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Ihinto ang pagse-set up at burahin ang data ng iyong device?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Kanselahin"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"I-reset"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Hindi ma-set up ang iyong device. Makipag-ugnayan sa iyong IT department."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Naka-set up na ang device na ito."</string>
+    <string name="reset" msgid="6467204151306265796">"I-reset"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Hindi ma-set up ang profile"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Hindi ma-set up ang device"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Hindi ma-set up ang device. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Makipag-ugnayan sa iyong admin para sa tulong"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Naka-set up na ang device"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Hindi makakonekta sa Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Na-lock ang device na ito sa pamamagitan ng proteksyon sa pag-factory reset. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Naka-on ang proteksyon sa pag-reset sa iyong device. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Binubura"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Mangyaring maghintay..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Hindi magamit ang admin app dahil sa isang checksum error. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Hindi magamit ang admin app dahil sa isang checksum error. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Hindi ma-download ang admin app"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Hindi magamit ang admin app. May mga kulang itong bahagi o sira ito. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Hindi magamit ang admin app. May nawawala itong mga bahagi o nasira ito. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Hindi ma-install ang admin app"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Ihinto ang pagse-set up?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hindi"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oo"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Kinakansela…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Ihinto ang pag-setup ng profile?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Maaari mong i-set up ang iyong profile sa trabaho sa ibang pagkakataon sa app sa pamamahala ng device na ginagamit ng iyong organisasyon."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Magpatuloy"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Maaari mong i-set up ang iyong profile sa trabaho sa ibang pagkakataon sa app sa pamamahala ng device ng iyong organisasyon"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Magpatuloy"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Ihinto"</string>
+    <string name="dismiss" msgid="9009534756748565880">"I-dismiss"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Gagawa ka na ng profile sa trabaho na pamamahalaan at susubaybayan ng iyong organisasyon. Malalapat ang mga tuntunin."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Gagawa ka na ng profile sa trabaho na pamamahalaan at susubaybayan ng iyong organisasyon. Malalapat ang mga tuntunin mula sa <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Gagawa ng isang profile para sa iyong mga app sa trabaho. Pamamahalaan at susubaybayan ng organisasyon mo ang profile na ito at ang kabuuan ng iyong device. Malalapat ang mga tuntunin."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Gagawa ng isang profile para sa iyong mga app sa trabaho. Pamamahalaan at susubaybayan ng organisasyon mo ang profile na ito at ang kabuuan ng iyong device. Malalapat ang mga tuntunin mula sa <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Pamamahalaan at pananatilihing ligtas ng <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ang device na ito. Malalapat ang mga tuntunin. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Pamamahalaan at pananatilihing ligtas ng <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ang device na ito. Malalapat ang mga tuntunin mula sa <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Hindi ligtas at hindi mabubuksan ang link na ito hanggang sa matapos ang pag-set up sa device: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Kung mayroon kang mga tanong, makipag-ugnayan sa iyong <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Kung mayroon kang mga tanong, makipag-ugnayan sa admin ng iyong organisasyon"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Hindi pa tapos ang pag-set up. Para sa tulong, makipag-ugnayan sa iyong admin."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Para sa tulong, makipag-ugnayan sa iyong admin"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"admin ng organisasyon"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Pamamahalaan at susubaybayan ng <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> ang device na ito gamit ang sumusunod na app:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Iyong organisasyon"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"iyong organisasyon"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Tingnan ang mga tuntunin"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Tanggapin at magpatuloy"</string>
+    <string name="close" msgid="7208600934846389439">"Isara"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"I-set up ang iyong device"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Baguhin ang iyong paraan ng pagtatrabaho"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Ihiwalay ang trabaho sa personal"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Isang lugar para sa mga app sa trabaho"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"I-off ang trabaho kapag tapos ka na"</string>
     <string name="provisioning" msgid="4512493827019163451">"Nagpo-provision"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Sine-set up ang mga CA certificate"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"I-set up ang iyong profile. Simulan ang pag-setup"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"I-set up ang iyong profile"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Sa paggamit ng profile sa trabaho, maaari mong ihiwalay ang data ng trabaho sa personal na data"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Sa paggamit ng profile sa trabaho, mapapanatili mo sa isang lugar ang iyong mga app sa trabaho"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"I-set up ang iyong profile. Pag-encrypt"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"I-set up ang iyong profile. Ipinapakita ang pag-usad"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"I-set up ang iyong device. Simulan ang pag-setup"</string>
+    <string name="setup_device" msgid="6725265673245816366">"I-set up ang iyong device"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"I-set up ang iyong device. Pag-encrypt"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"I-set up ang iyong device. Ipinapakita ang pag-usad"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Button na matuto nang higit pa"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Icon ng <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Heading ng seksyong <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Content ng seksyong <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Palawakin"</string>
+    <string name="collapse" msgid="7817530505064432580">"I-collapse"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Mag-access ng listahan ng mga link"</string>
+    <string name="access_links" msgid="7991363727326168600">"I-access ang mga link"</string>
+    <string name="access_terms" msgid="1982500872249763745">"I-access ang terms"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Basahin ang mga tuntunin"</string>
+    <string name="close_list" msgid="9053538299788717597">"Isara ang listahan"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Tapusin ang pag-setup at i-factory reset?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Kapag tinapos ang setup na ito, mafa-factory reset ang iyong device at babalk ka sa unang screen."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Kanselahin"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"I-reset ang device"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> at <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> at <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index a2e2466..88421e5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Şu uygulama, cihazınızı yönetecek:"</string>
     <string name="next" msgid="1004321437324424398">"İleri"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"İş profiliniz oluşturuluyor…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Ayarlar, kurumsal erişim, uygulamalar, izinler ve bu profille ilişkilendirilen veriler (cihazınızın konum bilgileri, çağrı geçmişi ve kişi arama geçmişinin yanı sıra ağ etkinliğiniz) ağ yöneticiniz tarafından izlenip yönetilebilir."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Yöneticiniz, ağ etkinliği ve cihazınızın konum bilgileri dahil olmak üzere bu cihazla ilişkili ayarları, kurumsal erişimi, uygulamaları, izinleri, hırsızlığa karşı koruma özelliklerini ve verileri izleyip yönetebilir."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Yöneticiniz ağ etkinliğinizin yanı sıra cihazınızın konumu, çağrı geçmişi ve kişi arama geçmişi dahil olmak üzere bu profille ilişkili ayarları, kurumsal erişimi, uygulamaları, izinleri ve verileri izleyip yönetebilir.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kuruluşunuzun gizlilik politikaları da dahil olmak üzere daha fazla bilgi için yöneticinize başvurun."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Yöneticiniz ağ etkinliğinizin yanı sıra cihazınızın konumu, çağrı geçmişi ve kişi arama geçmişi dahil olmak üzere bu cihazla ilişkili ayarları, kurumsal erişimi, uygulamaları, izinleri ve verileri izleyip yönetebilir.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Kuruluşunuzun gizlilik politikaları da dahil olmak üzere daha fazla bilgi için yöneticinize başvurun."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Hırsızlığa karşı koruma özelliklerini kullanmak için cihazınızda şifre korumalı bir ekran kilidinizin olması gerekir."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Kuruluşunuzun gizlilik politikaları da dahil olmak üzere, daha fazla bilgi için yöneticinize başvurun."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Daha fazla bilgi edinin"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"İptal"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Tamam"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Kabul ediyorum"</string>
+    <string name="url_error" msgid="5958494012986243186">"Bu bağlantı görüntülenemez."</string>
+    <string name="terms" msgid="8295436105384703903">"Şartlar"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"İş profili bilgileri"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Yönetilen cihaz bilgisi"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"İş profili"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Birincil kullanıcı"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"İş profili kaldırılsın mı?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Bir iş profili zaten var ve şu uygulama tarafından yönetiliyor:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Bu iş profili %s için şununla yönetiliyor:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Mevcut profil silinsin mi?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Şu uygulama kullanılarak yönetilen bir iş profiliniz zaten var:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Devam etmeden önce "<a href="#read_this_link">"bunu okuyun"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Devam ederseniz bu profildeki tüm uygulamalar ve veriler silinecek."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Sil"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"İptal"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"İş profilinizin kurulum işlemlerine devam etmek için cihazınızı şifrelemelisiniz. Bu işlem biraz zaman alabilir."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Cihazınızın kurulumuna devam etmek için cihazınızı şifrelemelisiniz. Bu işlem biraz zaman alabilir."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Şifrele"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"İş profilinizin kurulumunu yapmak için cihazınızın şifrelenmesi gerekiyor. Bu işlem biraz zaman alabilir."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Bu cihazın kurulumunun yapılması için öncelikle cihazın şifrelenmesi gerekiyor. Bu işlem biraz zaman alabilir."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Cihaz şifrelensin mi?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Şifrele"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Şifreleme tamamlandı"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"İş profilinizi kurmaya devam etmek için hafifçe dokunun"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"İş profilinizi kurmaya devam etmek için dokunun"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"İş profiliniz ayarlanamadı. BT bölümünüze başvurun veya daha sonra tekrar deneyin."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Cihazınız iş profillerini desteklemiyor"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Bu kullanıcının bir iş profili olamaz"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"İş profili eklenemiyor"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Bu kullanıcının bir iş profili olamaz. Yardım için yöneticinize başvurun."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Bu kullanıcının iş profilleri olamaz. Yöneticinize başvurun."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"İş profilleri yönetilen bir cihazda oluşturulamaz"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Cihazınızda maksimum sayıda kullanıcıya ulaşıldığından iş profili oluşturulamıyor. En az bir kullanıcıyı kaldırın ve tekrar deneyin."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"İş profiliniz bu başlatıcı uygulama tarafından desteklenmiyor. Uyumlu bir başlatıcı uygulamaya geçmeniz gerekecek."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Bu cihazda çok fazla kullanıcı olabilir. Bir kullanıcıyı kaldırıp daha sonra tekrar deneyin."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Cihaz başlatıcıyı değiştirin"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Başlatıcı uygulama iş profiliniz tarafından kullanılamaz"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"İptal"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Tamam"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Kullanıcı Kurulumu Tamamlanmadı"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Kablosuz ağa bağlanılıyor…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Yönetici uygulaması indiriliyor…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Yönetici uygulaması yükleniyor…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Gereksiz sistem uygulamaları kaldırılıyor…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Son rötuşlar yapılıyor…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Cihaz sahibi ayarlanıyor…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Cihazınız şifrelemeyi desteklemiyor. BT bölümünüzle iletişim kurun."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Cihaz ilk kullanıma hazırlanıyor…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Bu cihaz, kurulum için gerekli olan şifreleme işlemine izin vermiyor. Yardım için yöneticinize başvurun."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Kurulum durdurulsun ve cihaz sıfırlansın mı?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Bu işlem cihazınızı sıfırlar ve sizi tekrar ilk ekrana götürür."</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Kurulum durdurulsun ve cihazınızın verileri silinsin mi?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"İptal"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Tamam"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Sıfırla"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Cihazınızın kurulumu yapılamadı. BT bölümünüze başvurun."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Bu cihaz zaten kurulmuş."</string>
+    <string name="reset" msgid="6467204151306265796">"Sıfırla"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profil kurulumu yapılamıyor"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Cihaz kurulumu yapılamıyor"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Cihaz kurulumu yapılamadı. Yardım için yöneticinize başvurun."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Yardım için yöneticinize başvurun"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Cihaz zaten kuruldu"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kablosuz bağlantısı kurulamadı"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Bu cihaz fabrika sıfırlama koruması tarafından kilitlendi. BT bölümünüzle iletişim kurun."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Cihazınızda sıfırlama koruması açık. Yardım için yöneticinize başvurun."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Siliniyor"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Lütfen bekleyin..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Bir sağlama toplamı hatası nedeniyle yönetim uygulaması kullanılamadı. BT bölümünüze başvurun."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Bir sağlama toplamı hatası nedeniyle yönetim uygulaması kullanılamadı. Yardım için yöneticinize başvurun."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Yönetici uygulaması indirilemedi"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Yönetim uygulaması kullanılamıyor. Bileşenleri eksik veya bozuk. BT bölümünüze başvurun."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Yönetim uygulaması kullanılamıyor. Bileşenleri eksik veya bozuk. Yardım için yöneticinize başvurun."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Yönetici uygulaması yüklenemedi"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Kurulum durdurulsun mu?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hayır"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Evet"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"İptal ediliyor..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profil kurulumu durdurulsun mu?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"İş profilinizi daha sonra, kuruluşunuz tarafından kullanılan cihaz yönetimi uygulamasından yapabilirsiniz."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Devam"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"İş profilinizi daha sonra, kuruluşunuzun cihaz yönetimi uygulamasından yapabilirsiniz."</string>
+    <string name="continue_button" msgid="7177918589510964446">"Devam"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Durdur"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Kapat"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Kuruluşunuz tarafından yönetilecek ve izlenecek bir iş profili oluşturmak üzeresiniz. Şartlar geçerlidir."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Kuruluşunuz tarafından yönetilecek ve izlenecek bir iş profili oluşturmak üzeresiniz. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ile belirtilen şartlar geçerlidir."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"İş uygulamalarınız için bir profil oluşturulacak. Bu profil ve cihazınızın geri kalanı kuruluşunuz tarafından yönetilecek ve izlenecek. Şartlar geçerlidir."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"İş uygulamalarınız için bir profil oluşturulacak. Bu profil ve cihazınızın geri kalanı kuruluşunuz tarafından yönetilecek ve izlenecek. <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> ile belirtilen şartlar geçerlidir."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Bu cihazı <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> yönetecek ve güvenliğini sağlayacaktır. Şartlar geçerlidir. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Bu cihazı <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> yönetecek ve güvenliğini sağlayacaktır. <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> tarafından belirtilen şartlar geçerlidir. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Bu bağlantı güvenli değil ve cihaz kurulumu bitinceye kadar açılamaz: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Sorularınız olursa <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> ile iletişime geçin."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Sorularınız olursa kuruluşunuzun yöneticisine başvurun."</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Kurulum bitmedi. Yardım için yöneticinize başvurun."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Yardım için yöneticinize başvurun."</string>
+    <string name="organization_admin" msgid="1595001081906025683">"kuruluşun yöneticisi"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> aşağıdaki uygulamayı kullanarak bu cihazı yönetecek ve izleyecektir:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Kuruluşunuz"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"kuruluşunuz"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Şartları göster"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Kabul et ve devam et"</string>
+    <string name="close" msgid="7208600934846389439">"Kapat"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Cihazınızın kurulumunu yapın"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Çalışma şeklinizi değiştirin"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"İş verilerini kişisel verilerden ayrı tutun"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"İş uygulamaları için tek yer"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Çalışmanız bittiğinde iş profilini kapatın"</string>
     <string name="provisioning" msgid="4512493827019163451">"Temel hazırlık yapılıyor"</string>
     <string name="copying_certs" msgid="5697938664953550881">"CA sertifikaları kuruluyor"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profilinizin kurulumunu yapın. Kurulumu başlatın"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Profilinizi oluşturun"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Bir iş profili kullanarak iş verilerinizi kişisel verilerinizden ayırabilirsiniz"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Bir iş profili kullanarak iş uygulamalarınızı tek yerde tutabilirsiniz"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Profilinizin kurulumunu yapın. Şifreleme"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Profilinizin kurulumunu yapın. İlerleme durumu gösteriliyor"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Cihazınızın kurulumunu yapın. Kurulumu başlatın"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Cihazınızı kurma"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Cihazınızın kurulumunu yapın. Şifreleme"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Cihazınızın kurulumunu yapın. İlerleme durumu gösteriliyor"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Daha fazla bilgi edinin düğmesi"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> simgesi"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bölümünün başlığı."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bölümünün içeriği: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Genişlet"</string>
+    <string name="collapse" msgid="7817530505064432580">"Daraltır"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Bir bağlantı listesine eriş"</string>
+    <string name="access_links" msgid="7991363727326168600">"Bağlantılara eriş"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Şartlara eriş"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Şartları okuyun"</string>
+    <string name="close_list" msgid="9053538299788717597">"Listeyi kapat"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Kurulum sonlandırılıp fabrika ayarlarına sıfırlansın mı?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Bu kurulumu sonlandırmak cihazınızı fabrika ayarlarına sıfırlar ve sizi tekrar ilk ekrana götürür."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"İptal"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Cihazı sıfırla"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> ve <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> ve <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d988d7d..92ec457 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Вашим пристроєм керуватиме цей додаток:"</string>
     <string name="next" msgid="1004321437324424398">"Далі"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Налаштування робочого профілю…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Адміністратор може відстежувати та контролювати налаштування, корпоративний доступ, додатки, дозволи й дані, пов’язані з цим профілем, зокрема інформацію про активність у мережі, а також місцезнаходження пристрою, історію викликів і пошуку контактів."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Адміністратор може відстежувати та контролювати налаштування, корпоративний доступ, додатки, дозволи, функції захисту від крадіжок і дані, пов’язані з цим пристроєм, зокрема інформацію про активність у мережі чи місцезнаходження пристрою."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Ваш адміністратор може керувати налаштуваннями, корпоративним доступом, додатками, дозволами й даними, пов’язаними з цим профілем, зокрема активністю в мережі, геоданими пристрою, історією викликів і пошуку контактів.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Щоб дізнатися більше, зокрема про політику конфіденційності організації, зв’яжіться з адміністратором."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Ваш адміністратор може керувати налаштуваннями, корпоративним доступом, додатками, дозволами й даними, пов’язаними з цим пристроєм, зокрема активністю в мережі, геоданими пристрою, історією викликів і пошуку контактів.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Щоб дізнатися більше, зокрема про політику конфіденційності організації, зв’яжіться з адміністратором."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Щоб користуватися функціями захисту від крадіжок, потрібно ввімкнути блокування екрана за допомогою пароля."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Зв’яжіться з адміністратором, щоб дізнатися більше, зокрема про політику конфіденційності вашої організації."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Докладніше"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Скасувати"</string>
     <string name="ok_setup" msgid="4593707675416137504">"ОК"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Дозволити"</string>
+    <string name="url_error" msgid="5958494012986243186">"Посилання не відображається."</string>
+    <string name="terms" msgid="8295436105384703903">"Умови"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Інформація про робочий профіль"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Інформація про керований пристрій"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Робочий профіль"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Основний користувач"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Видалити робочий профіль?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Робочий профіль уже існує. Ним керує додаток"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Цей робочий профіль зареєстровано в домені %s. Ним керує додаток"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Видалити наявний профіль?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"У вас уже є робочий профіль, яким керує додаток"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Перш ніж продовжити, "<a href="#read_this_link">"прочитайте цю інформацію"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Якщо продовжити, усі додатки та дані в цьому профілі буде видалено."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Видалити"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Скасувати"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Щоб налаштувати робочий профіль, потрібно зашифрувати пристрій. Це може зайняти деякий час."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Щоб налаштувати пристрій, потрібно його зашифрувати. Це може зайняти деякий час."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Зашифрувати"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Щоб створити робочий профіль, потрібно зашифрувати пристрій. Це може зайняти деякий час."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Щоб налаштувати цей пристрій, спершу його потрібно зашифрувати. Це може зайняти деякий час."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Зашифрувати пристрій?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Зашифрувати"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрування завершено"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Торкніться, щоб продовжити налаштування робочого профілю"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не вдалося налаштувати робочий профіль. Зв’яжіться з ІТ-відділом або повторіть спробу пізніше."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Ваш пристрій не підтримує робочі профілі"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Цей користувач не може мати робочий профіль"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Не вдається додати робочий профіль"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Цей користувач не може мати робочий профіль. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Цей користувач не може мати робочі профілі. Зв’яжіться з адміністратором."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"На керованому пристрої не можна створювати робочі профілі"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Не вдалося створити робочий профіль, оскільки на вашому пристрої вже додано максимальну кількість користувачів. Видаліть принаймні одного користувача та повторіть спробу."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Цей додаток запуску не підтримує ваш робочий профіль. Потрібно вибрати сумісний додаток запуску."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Можливо, на цьому пристрої забагато користувачів. Вилучіть користувача та повторіть спробу."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Змініть панель запуску пристрою"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Цей додаток панелі запуску не підтримує ваш робочий профіль"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Скасувати"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Створення користувача не завершено"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Під’єднання до Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Завантаження додатка адміністратора…"</string>
     <string name="progress_install" msgid="2258045670385866183">"Встановлення додатка адміністратора…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Видалення непотрібних системних додатків…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Майже завершено…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Налаштування власника пристрою…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Ваш пристрій не підтримує шифрування. Зв’яжіться з ІТ-відділом."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Ініціалізація пристрою…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Цей пристрій не підтримує шифрування, яке потрібне для його налаштування. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Припинити налаштування та скинути параметри пристрою?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Буде скинуто налаштування пристрою. Ви повернетеся на перший екран"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Припинити налаштування та стерти дані пристрою?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Скасувати"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Скинути"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Не вдалося налаштувати пристрій. Зв’яжіться з ІТ-відділом."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Пристрій уже налаштовано."</string>
+    <string name="reset" msgid="6467204151306265796">"Скинути"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Не вдається налаштувати профіль"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Не вдається налаштувати пристрій"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Не вдалося налаштувати пристрій. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Щоб отримати допомогу, зв’яжіться з адміністратором"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Пристрій налаштовано"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не вдалося під’єднатися до мережі Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"На цьому пристрої заблоковано відновлення заводських налаштувань. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"На вашому пристрої ввімкнено захист від скидання даних. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Стирання"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Зачекайте…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Не вдалося скористатися додатком адміністратора через помилку перевірки контрольної суми. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Не вдалося скористатися додатком адміністратора через помилку перевірки контрольної суми. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не вдалося завантажити додаток адміністратора"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Неможливо скористатися додатком адміністратора. У ньому немає певних компонентів або його пошкоджено. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Не вдається скористатися додатком адміністратора. У ньому немає певних компонентів або його пошкоджено. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не вдалося встановити додаток адміністратора"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Припинити налаштування?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ні"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Так"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Скасування…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Припинити налаштування профілю?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Ви можете налаштувати робочий профіль пізніше за допомогою додатка керування пристроєм, який використовується у вашій організації."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Продовжити"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Ви можете налаштувати робочий профіль пізніше в додатку для керування пристроєм, який використовується у вашій організації"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Продовжити"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Припинити"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Закрити"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Ви збираєтеся створити робочий профіль, яким керуватиме адміністратор вашої організації. Застосовуватимуться умови."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Ви збираєтеся створити робочий профіль, яким керуватиме адміністратор вашої організації. Застосовуватимуться умови <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Буде створено профіль для ваших робочих додатків. Цим профілем і вашим пристроєм керуватиме адміністратор вашої організації. Застосовуватимуться умови."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Буде створено профіль для ваших робочих додатків. Цим профілем і вашим пристроєм керуватиме адміністратор вашої організації. Застосовуватимуться умови <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Адміністратор організації <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> керуватиме цим пристроєм і дбатиме про його безпеку. Застосовуватимуться умови. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Адміністратор організації <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> керуватиме цим пристроєм і дбатиме про його безпеку. Застосовуватимуться умови <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Це посилання ненадійне. Щоб відкрити його, спершу потрібно налаштувати пристрій: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Якщо у вас є запитання, зв’яжіться з <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Якщо у вас є запитання, зв’яжіться з адміністратором організації"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Налаштування не завершено. Щоб отримати допомогу, зв’яжіться з адміністратором."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Щоб отримати допомогу, зв’яжіться з адміністратором"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"адміністратором організації"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"Адміністратор організації <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> керуватиме цим пристроєм за допомогою таких додатків:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"вашої організації"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"вашої організації"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Переглянути умови"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Прийняти й продовжити"</string>
+    <string name="close" msgid="7208600934846389439">"Закрити"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Налаштуйте пристрій"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Працюйте по-новому"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Відокремте робочі дані від особистих"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Один профіль для всіх робочих додатків"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Коли закінчите, вимкніть робочий профіль"</string>
     <string name="provisioning" msgid="4512493827019163451">"Ініціалізація"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Налаштування сертифікатів центру сертифікації"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Налаштування профілю: початок"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Налаштувати профіль"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Створивши робочий профіль, ви можете зберігати робочі дані окремо від особистих"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Створивши робочий профіль, ви можете зберігати робочі додатки окремо від особистих"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Налаштування профілю: шифрування"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Налаштування профілю: перебіг"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Налаштування пристрою: початок"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Налаштування пристрою"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Налаштування пристрою: шифрування"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Налаштування пристрою: перебіг"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Кнопка \"Докладніше\""</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Значок \"<xliff:g id="ICON_LABEL">%1$s</xliff:g>\""</string>
+    <string name="section_heading" msgid="3924666803774291908">"Назва розділу \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\"."</string>
+    <string name="section_content" msgid="8875502515704374394">"Вміст розділу \"<xliff:g id="SECTION_HEADING">%1$s</xliff:g>\": <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Розгорнути"</string>
+    <string name="collapse" msgid="7817530505064432580">"Згорнути"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Відкрити список посилань"</string>
+    <string name="access_links" msgid="7991363727326168600">"Відкрити список посилань"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Відкрити терміни"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Переглянути умови"</string>
+    <string name="close_list" msgid="9053538299788717597">"Закрити список"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Припинити та відновити заводські параметри?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Якщо ви припините налаштування, відновляться заводські параметри пристрою, і ви повернетесь на перший екран."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Скасувати"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Скинути налаштування пристрою"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> і <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> і <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
deleted file mode 100644
index 9534618..0000000
--- a/res/values-ur-rPK/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"دفتری پروفائل کا سیٹ اپ"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"افوہ!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"دفتری پروفائل سیٹ اپ کریں"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"آپ کی تنظیم اس پروفائل کو کنٹرول کرتی ہے اور اسے محفوظ رکھتی ہے۔ آپ اپنے آلہ پر باقی ہر چیز کنٹرول کرتے ہیں۔"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"آپ کی تنظیم اس آلے کو کنٹرول کرے گی اور اسے محفوظ رکھے گی۔"</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"مندرجہ ذیل ایپ کو اس پروفائل تک رسائی حاصل کرنے کی ضرورت ہوگی:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"مندرجہ ذیل ایپ آپ کے آلہ کا نظم کرے گی:"</string>
-    <string name="next" msgid="1004321437324424398">"اگلا"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"آپ کا دفتری پروفائل سیٹ اپ کیا جا رہا ہے…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"آپ کا منتظم آپ کے نیٹ ورک کی سرگرمی اور اس کے ساتھ ساتھ آپ کے آلہ کے مقام، کال کی سرگزشت اور رابطہ کی تلاش کی سرگزشت سمیت اس پروفائل کے ساتھ وابستہ ترتیبات، کارپوریٹ رسائی، ایپس، اجازتوں اور ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کا اہل ہے۔"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"آپ کا منتظم نیٹ ورک کی سرگرمی اور آپ کے آلہ کے مقام کی معلومات سمیت ترتیبات، کارپوریٹ رسائی، ایپس، اجازتیں، چوری سے تحفظ کی خصوصیات اور اس آلہ کے ساتھ وابستہ ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کا اہل ہے۔"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"چوری سے تحٖفظ کی خصوصیات استعمال کرنے کیلئے آپ کے پاس آپ کے آلہ کیلئے پاسورڈ کے ذریعے تحفظ یافتہ ایک اسکرین قفل ہونا چاہیئیے۔"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"اپنی تنظیم کی رازداری کی پالیسیوں سمیت مزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"مزید جانیں"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"منسوخ کریں"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"ٹھیک ہے"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"میں رضامند ہوں"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"دفتر کا پروفائل"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"بنیادی صارف"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"دفتری پروفائل ہٹائیں؟"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"ایک دفتری پروفائل پہلے سے موجود ہے اور زیر انتظام ہے منجانب:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏اس دفتری پروفائل کا نظم %s کیلئے یہ استعمال کرتے ہوئے کیا جاتا ہے:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"آگے بڑھنے سے پہلے، "<a href="#read_this_link">"یہ پڑھیں"</a>"۔"</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"اگر آپ جاری رکھتے ہیں تو اس پروفائل میں موجود سبھی ایپس اور ڈیٹا کو حذف کر دیا جائے گا۔"</string>
-    <string name="delete_profile" msgid="2299218578684663459">"حذف کریں"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"منسوخ کریں"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"اپنے دفتری پروفائل کو ترتیب دینا جاری رکھنے کیلئے، آپ کو اپنے آلہ کو مرموز کرنے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"اپنے آلہ کو ترتیب دینا جاری رکھنے کیلئے، آپ کو اسے مرموز کرنے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"مرموز کاری کریں"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"مرموز کاری مکمل"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"اپنا دفتری پروفائل سیٹ اپ کرنا جاری رکھنے کیلئے تھپتھپائیں"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"‏آپ کے دفتر کے پروفائل کو ترتیب نہیں دیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں یا بعد میں دوبارہ کوشش کریں۔"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"آپ کا آلہ دفتری پروفائلز کا تعاون نہیں کرتا ہے"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"اس صارف کا دفتری پروفائل نہیں ہو سکتا"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"دفتری پروفائلز کو نظم کردہ آلہ پر ترتیب نہیں دیا جا سکتا ہے"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"دفتری پروفائل بنائی نہیں جا سکتی کیونکہ آپ کے آلہ پر صارفین کی زیادہ سے زیادہ تعداد پوری ہو گئی ہے۔ کم از کم ایک صارف ہٹائیں اور دوبارہ کوشش کریں۔"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"آپ کا دفتری پروفائل اس لانچر ایپ کے ذریعے تعاون یافتہ نہیں ہے۔ آپ کو ایک مطابقت پذیر لانچر پر سوئچ کرنے کی ضرورت ہوگی۔"</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"منسوخ کریں"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"ٹھیک ہے"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"صارف سیٹ اپ نا مکمل ہے"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"کام کے آلہ کا صارف"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"دفتری آلہ سیٹ اپ کریں"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"سیٹ اپ ڈیٹا پر کارروائی کی جا رہی ہے…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"‏Wi-Fi سے منسلک ہو رہا ہے…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"منتظم کی ایپ ڈاؤن لوڈ ہو رہی ہے…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"منتظم کی ایپ انسٹال ہو رہی ہے…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"آلہ کا مالک سیٹ کیا جا رہا ہے…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"‏آپ کا آلہ مرموز کاری کی معاونت نہیں کرتا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"سیٹ اپ کرنا روک دیں اور آپ کے آلہ کا ڈیٹا مٹا دیں؟"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"منسوخ کریں"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"ٹھیک ہے"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"دوبارہ ترتیب دیں"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"‏آپ کے آلہ کو ترتیب نہیں دیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"یہ آلہ پہلے ہی ترتیب دیا جا چکا ہے۔"</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏Wi-Fi سے منسلک نہیں کیا جا سکا"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"‏یہ آلہ فیکٹری ری سیٹ حفاظت کے ذریعے مقفل ہے۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"صاف کیا جا رہا ہے"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"براہ کرم انتظار کریں…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"‏checksum کی خرابی کی وجہ سے منتظم کی ایپ کا استعمال نہیں کیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"منتظم کی ایپ کو ڈاؤن لوڈ نہیں کیا جا سکا"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"‏منتظم کی ایپ کا استعمال نہیں کر سکتے۔ اس میں چھوٹے ہوئے اجزاء ہیں یا یہ خراب ہوگئی ہے۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"منتظم کی ایپ کو انسٹال نہیں کیا جا سکا"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ترتیب دینا بند کریں؟"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"نہیں"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ہاں"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"منسوخ کیا جا رہا ہے…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"پروفائل سیٹ اپ روکیں؟"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"آپ کی تنظیم کے زیر استعمال آلہ نظم کرنے کی ایپ کے ذریعے آپ اپنا دفتری پروفائل بعد میں سیٹ اپ کر سکتے ہیں۔"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"جاری رکھیں"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"روکیں"</string>
-    <string name="provisioning" msgid="4512493827019163451">"فراہمی"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"‏CA سرٹیفکیٹس ترتیب دیے جا رہے ہیں"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"اپنے پروفائل کو سیٹ اپ کریں۔ سیٹ اپ شروع کریں"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"اپنے پروفائل کو سیٹ اپ کریں۔ مرموز کاری"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"اپنے پروفائل کو سیٹ اپ کریں۔ پیشرفت دکھائی جا رہی ہے"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"اپنے آلہ کو سیٹ اپ کریں۔ سیٹ اپ شروع کریں"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"اپنے آلہ کو سیٹ اپ کریں۔ مرموز کاری"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"اپنے آلہ کو سیٹ اپ کریں۔ پیشرفت دکھائی جا رہی ہے"</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"مزید جانیں بٹن"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> آئیکن"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"سیٹ اپ ختم کریں اور فیکٹری ری سیٹ کریں؟"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"اس سیٹ اپ کو ختم کرنے سے آپ کا آلہ فیکٹری ری سیٹ ہو جائے گا اور آپ واپس پہلی اسکرین پر چلے جائیں گے۔"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"منسوخ کریں"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"آلہ کو ری سیٹ کریں"</string>
-</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
new file mode 100644
index 0000000..20cdf3a
--- /dev/null
+++ b/res/values-ur/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"دفتری پروفائل کا سیٹ اپ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"افوہ!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"دفتری پروفائل سیٹ اپ کریں"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"آپ کی تنظیم اس پروفائل کو کنٹرول کرتی ہے اور اسے محفوظ رکھتی ہے۔ آپ اپنے آلہ پر باقی ہر چیز کنٹرول کرتے ہیں۔"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"آپ کی تنظیم اس آلے کو کنٹرول کرے گی اور اسے محفوظ رکھے گی۔"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"مندرجہ ذیل ایپ کو اس پروفائل تک رسائی حاصل کرنے کی ضرورت ہوگی:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"مندرجہ ذیل ایپ آپ کے آلہ کا نظم کرے گی:"</string>
+    <string name="next" msgid="1004321437324424398">"اگلا"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"آپ کا دفتری پروفائل سیٹ اپ کیا جا رہا ہے…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"آپ کا منتظم آپ کے نیٹ ورک کی سرگرمی اور اس کے ساتھ ساتھ آپ کے آلے کے مقام، کال کی سرگزشت اور رابطے کی تلاش کی سرگزشت سمیت ترتیبات، کارپوریٹ رسائی، ایپس، اجازتوں اور اس پروفائل کے ساتھ وابستہ ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کا اہل ہے۔<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>اپنی تنظیم کی رازداری پالیسی سمیت مزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"آپ کا منتظم آپ کے نیٹ ورک کی سرگرمی اور اس کے ساتھ ساتھ آپ کے آلے کے مقام، کال کی سرگزشت اور رابطے کی تلاش کی سرگزشت سمیت ترتیبات، کارپوریٹ رسائی، ایپس، اجازتوں اور اس آلے کے ساتھ وابستہ ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کا اہل ہے۔<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>اپنی تنظیم کی رازداری پالیسی سمیت مزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"چوری سے تحٖفظ کی خصوصیات استعمال کرنے کیلئے آپ کے پاس آپ کے آلہ کیلئے پاسورڈ کے ذریعے تحفظ یافتہ ایک اسکرین قفل ہونا چاہیئیے۔"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"اپنی تنظیم کی رازداری کی پالیسیوں سمیت مزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"مزید جانیں"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"منسوخ کریں"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"ٹھیک ہے"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"میں رضامند ہوں"</string>
+    <string name="url_error" msgid="5958494012986243186">"یہ لنک دکھایا نہیں جا سکتا۔"</string>
+    <string name="terms" msgid="8295436105384703903">"شرائط"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"دفتری پروفائل کی معلومات"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"نظم کردہ آلے کی معلومات"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"دفتر کا پروفائل"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"بنیادی صارف"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"موجودہ پروفائل حذف کریں؟"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"آپ کے پاس پہلے ہی سے ایک ایسا دفتری پروفائل ہے جو مندرجہ ذیل ایپ کے زیر انتظام ہے:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"آگے بڑھنے سے پہلے، "<a href="#read_this_link">"یہ پڑھیں"</a>"۔"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"اگر آپ جاری رکھتے ہیں تو اس پروفائل میں موجود سبھی ایپس اور ڈیٹا کو حذف کر دیا جائے گا۔"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"حذف کریں"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"منسوخ کریں"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"اپنے دفتری پروفائل کو ترتیب دینے کیلئے، آپ کے آلہ کو مرموز کئے جانے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"اس آلہ کو ترتیب دینے کیلئے، پہلے اسے مرموز کئے جانے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"اس آلہ کی مرموز کاری کریں؟"</string>
+    <string name="encrypt" msgid="1749320161747489212">"مرموز کاری کریں"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"مرموز کاری مکمل"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"اپنا دفتری پروفائل سیٹ اپ کرنا جاری رکھنے کیلئے تھپتھپائیں"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"‏آپ کے دفتر کے پروفائل کو ترتیب نہیں دیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں یا بعد میں دوبارہ کوشش کریں۔"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"دفتری پروفائل شامل نہیں کر سکتا"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"اس صارف کا دفتری پروفائل نہیں ہو سکتا۔ مدد کیلئے، اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"اس صارف کے دفتری پروفائلز نہیں ہو سکتے۔ اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"دفتری پروفائلز کو نظم کردہ آلہ پر ترتیب نہیں دیا جا سکتا ہے"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"ممکن ہے اس آلے پر بہت سارے صارفین ہوں۔ ایک صارف کو ہٹا کر دوبارہ کوشش کریں۔"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"آلہ لانچر تبدیل کریں"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"یہ لانچر ایپ آپ کے دفتری پروفائل کے ذریعے استعمال نہیں کی جا سکتی"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"منسوخ کریں"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ٹھیک ہے"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"صارف سیٹ اپ نا مکمل ہے"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"کام کے آلہ کا صارف"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"دفتری آلہ سیٹ اپ کریں"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"سیٹ اپ ڈیٹا پر کارروائی کی جا رہی ہے…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"‏Wi-Fi سے منسلک ہو رہا ہے…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"منتظم کی ایپ ڈاؤن لوڈ ہو رہی ہے…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"منتظم کی ایپ انسٹال ہو رہی ہے…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"غیر مطلوبہ سسٹم ایپس ہٹائی جا رہی ہیں…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"حتمی شکل دی جا رہی ہے…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"آلہ کا مالک سیٹ کیا جا رہا ہے…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"آلہ شروع ہو رہا ہے…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"یہ آلہ سیٹ اپ کیلئے درکار مرموز کاری کی اجازت نہیں دیتا ہے۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"سیٹ اپ روکیں اور آلہ کو ری سیٹ کریں؟"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"یہ آپ کے آلے کو ری سیٹ کر دے گا اور آپ واپس پہلی اسکرین پر چلے جائیں گے"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"سیٹ اپ کرنا روک دیں اور آپ کے آلہ کا ڈیٹا مٹا دیں؟"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"منسوخ کریں"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"ٹھیک ہے"</string>
+    <string name="reset" msgid="6467204151306265796">"ری سیٹ کریں"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"پروفائل سیٹ اپ نہیں ہو سکتا"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"آلہ سیٹ اپ نہیں ہو سکتا"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"آلہ کو ترتیب نہیں دیا جا سکا۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"مدد کیلئے اپنے منتظم سے رابطہ کریں"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"آلہ پہلے ہی ترتیب دیا جا چکا ہے"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏Wi-Fi سے منسلک نہیں کیا جا سکا"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"آپ کے آلہ پر ری سیٹ کا تحفظ آن ہو گیا ہے۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"صاف کیا جا رہا ہے"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"براہ کرم انتظار کریں…"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"‏checksum کی خرابی کی وجہ سے منتظم کی ایپ کا استعمال نہیں کیا جا سکا۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"منتظم کی ایپ کو ڈاؤن لوڈ نہیں کیا جا سکا"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"منتظم کی ایپ کا استعمال نہیں کر سکتے۔ اس میں اجزاء غائب ہیں یا یہ خراب ہوگئی ہے۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"منتظم کی ایپ کو انسٹال نہیں کیا جا سکا"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"ترتیب دینا بند کریں؟"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"نہیں"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ہاں"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"منسوخ کیا جا رہا ہے…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"پروفائل سیٹ اپ روکیں؟"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"آپ اپنی تنظیم کی آلہ کی نظم کی ایپ کے ذریعے اپنا دفتری پروفائل بعد میں سیٹ کر سکتے ہیں"</string>
+    <string name="continue_button" msgid="7177918589510964446">"جاری رکھیں"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"روکیں"</string>
+    <string name="dismiss" msgid="9009534756748565880">"برخاست کریں"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"آپ ایک دفتری پروفائل بنانے والے ہیں جس کا نظم اور اسے مانیٹر آپ کی تنظیم کرے گی۔ شرائط لاگو ہوں گي۔"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"آپ ایک دفتری پروفائل بنانے والے ہیں جس کا نظم اور اسے مانیٹر آپ کی تنظیم کرے گی۔ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> کی شرائط لاگو ہوں گی۔"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"آپ کی دفتری ایپس کیلئے ایک پروفائل بنایا جائے گا۔ آپ کی تنظیم اس پروفائل اور آپ کے باقی آلہ کا نظم اور انہیں مانیٹر کرے گي۔ شرائط لاگو ہوں گی۔"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"آپ کی دفتری ایپس کیلئے ایک پروفائل بنایا جائے گا۔ آپ کی تنظیم اس پروفائل اور آپ کے باقی آلے کا نظم اور انھیں مانیٹر کرے گي۔ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> کی شرائط لاگو ہوں گی۔"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> کے ذریعے اس آلہ کا تحفظ اور نظم کیا جائے گا۔ شرائط لاگو ہوں گی۔ <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> کے ذریعے اس آلہ کا تحفظ اور نظم کیا جائے گا۔ <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> کی شرائط لاگو ہوں گی۔ <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"یہ لنک محفوظ نہیں ہے اور آلے کا سیٹ اپ مکمل ہونے تک اسے نہیں کھولا جا سکتا: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"اگر آپ کے پاس سوالات ہیں تو آپ اپنے <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> سے رابطہ کریں۔"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"اگر آپ کے پاس سوالات ہیں، تو اپنی تنظیم کے منتظم سے رابطہ کریں"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"سیٹ اپ ختم نہیں ہوا۔ مدد کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"مدد کیلئے، اپنے منتظم سے رابطہ کریں"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"تنظیم کا منتظم"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"درج ذیل ایپ کا استعمال کرکے <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> اس آلہ کا نظم اور اسے مانیٹر کرے گی:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"آپ کی تنظیم"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"آپ کی تنظیم"</string>
+    <string name="view_terms" msgid="7230493092383341605">"شرائط دیکھیں"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"قبول کریں اور جاری"</string>
+    <string name="close" msgid="7208600934846389439">"بند کریں"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"اپنے آلہ کو ترتیب دیں"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"اپنا کام کرنے کا طریقہ بدلیں"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"دفتری کام کو ذاتی کام سے علیحدہ کریں"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"کام ایپس کیلئے ایک مقام"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"کام مکمل کرنے کے بعد اسے بند کردیں"</string>
+    <string name="provisioning" msgid="4512493827019163451">"فراہمی"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"‏CA سرٹیفکیٹس ترتیب دیے جا رہے ہیں"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"اپنے پروفائل کو ترتیب دیں"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"ایک دفتری پروفائل کا استعمال کرکے آپ دفتری ڈیٹا کو ذاتی ڈیٹا سے علیحدہ کر سکتے ہیں"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"دفتری پروفائل کا استعمال کر کے آپ اپنی دفتری ایپس ایک مقام میں رکھ سکتے ہیں"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"اپنے پروفائل کو سیٹ اپ کریں۔ مرموز کاری"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"اپنے پروفائل کو سیٹ اپ کریں۔ پیشرفت دکھائی جا رہی ہے"</string>
+    <string name="setup_device" msgid="6725265673245816366">"اپنے آلہ کو ترتیب دیں"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"اپنے آلہ کو سیٹ اپ کریں۔ مرموز کاری"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"اپنے آلہ کو سیٹ اپ کریں۔ پیشرفت دکھائی جا رہی ہے"</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"مزید جانیں بٹن"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> آئیکن"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> سیکشن کی سرخی۔"</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> سیکشن کا مواد: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"پھیلائیں"</string>
+    <string name="collapse" msgid="7817530505064432580">"سکیڑیں"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"لنکس کی ایک فہرست تک رسائی حاصل کریں"</string>
+    <string name="access_links" msgid="7991363727326168600">"لنکس تک رسائی حاصل کریں"</string>
+    <string name="access_terms" msgid="1982500872249763745">"شرائط تک رسائی پائیں"</string>
+    <string name="read_terms" msgid="1745011123626640728">"شرائط پڑھیں"</string>
+    <string name="close_list" msgid="9053538299788717597">"فہرست بند کریں"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"سیٹ اپ ختم کریں اور فیکٹری ری سیٹ کریں؟"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"اس سیٹ اپ کو ختم کرنے سے آپ کا آلہ فیکٹری ری سیٹ ہو جائے گا اور آپ واپس پہلی اسکرین پر چلے جائیں گے۔"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"منسوخ کریں"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"آلہ کو ری سیٹ کریں"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> اور <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> اور <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>، <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>، <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
deleted file mode 100644
index 7caccce..0000000
--- a/res/values-uz-rUZ/strings.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-/**
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="2400883737290705700">"Ishchi profilni sozlash"</string>
-    <string name="provisioning_error_title" msgid="6320515739861578118">"Ana, xolos!"</string>
-    <string name="setup_work_profile" msgid="1468934631731845267">"Ishchi profilni sozlash"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"Tashkilotingiz ushbu profilni nazorat qiladi va uni xavfsiz saqlaydi. Qurilmangizdagi boshqa narsalarni o‘zingiz nazorat qilasiz."</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"Tashkilotingiz ushbu qurilmani nazorat qiladi va uning xavfsizligini ta’minlaydi."</string>
-    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Quyidagi ilova ushbu profilga kirishi zarur:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Quyidagi ilova qurilmangizni boshqaradi:"</string>
-    <string name="next" msgid="1004321437324424398">"Keyingisi"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"Ishchi profilingiz sozlanmoqda…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Administrator bu profil bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilovalar, ruxsatnomalar va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangiz joylashuvi, qo‘ng‘iroqlar tarixi hamda kontakt qidiruv tarixi ma’lumotlarini kuzatishi va boshqarishi mumkin."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Administratoringiz ushbu qurilma bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilova va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangizning joylashuvi haqidagi ma’lumotlarni kuzatishi va boshqarishi mumkin."</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"O‘g‘ridan himoyalanish funksiyasidan foydalanish uchun qurilmangiz ekran qulfi parollangan bo‘lishi kerak."</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Qo‘shimcha ma’lumot olish, jumladan, tashkilotingizning maxfiylik siyosati haqida bilish uchun administratoringizga murojaat qiling."</string>
-    <string name="learn_more_link" msgid="3012495805919550043">"Batafsil ma’lumot"</string>
-    <string name="cancel_setup" msgid="2949928239276274745">"Bekor qilish"</string>
-    <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
-    <string name="user_consent_msg" msgid="8820951802130353584">"Roziman"</string>
-    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ishchi profil"</string>
-    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Asosiy foydalanuvchi"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Ishchi profil o‘chirilsinmi?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Ishchi profil allaqachon mavjud va u quyidagi tomonidan boshqariladi:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Bu ishchi profil quyidagi yordamida %s domenida boshqariladi:"</string>
-    <string name="read_more_delete_profile" msgid="7789171620401666343">"Davom etishdan oldin "<a href="#read_this_link">"buni o‘qib chiqing"</a>"."</string>
-    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Agar davom etsangiz, bu profildagi barcha ilovalar va ma’lumotlar o‘chirib tashlanadi."</string>
-    <string name="delete_profile" msgid="2299218578684663459">"O‘chirish"</string>
-    <string name="cancel_delete_profile" msgid="5155447537894046036">"Bekor qilish"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Qurilmani sozlashda davom etish uchun qurilmangizni shifrlashingiz lozim. Bu biroz vaqt olishi mumkin."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Qurilmani sozlashda davom etish uchun uni shifrlash lozim. Bu biroz vaqt olishi mumkin."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Shifrlash"</string>
-    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Shifrlash tugallandi"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ishchi profilingizni sozlashda davom etish uchun bosing"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ishchi profilingizni sozlab bo‘lmadi. IT bo‘limiga murojaat qiling yoki keyinroq qayta urinib ko‘ring."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Qurilmangiz ishchi profillarni qo‘llab-quvvatlamaydi"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Ushbu foydalanuvchi ish profiliga ega bo‘la olmaydi"</string>
-    <string name="device_owner_exists" msgid="8020080296133337023">"Ishchi profillar boshqariladigan qurilmalarda qo‘llab-quvvatlanmaydi"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Qurilmangizdagi profillar soni maksimal miqdorga yetgani tufayli ishchi profil yaratib bo‘lmaydi. Kamida bitta profilni o‘chirib tashlang va qaytadan urining."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ishchi profilingiz ushbu launcher ilovasi tomonidan qo‘llab-quvvatlanmaydi. Mos launcher rejimiga o‘tishingiz lozim."</string>
-    <string name="cancel_provisioning" msgid="3408069559452653724">"Bekor qilish"</string>
-    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
-    <string name="user_setup_incomplete" msgid="6494920045526591079">"Foydalanuvchi hisobini sozlab bo‘lmadi"</string>
-    <string name="default_owned_device_username" msgid="3915120202811807955">"Ishchi qurilma foydalanuvchisi"</string>
-    <string name="setup_work_device" msgid="4243324420514896773">"Ishchi qurilmani sozlash"</string>
-    <string name="progress_data_process" msgid="1707745321954672971">"Ma’lumotlarga ishlov berilmoqda…"</string>
-    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi tarmog‘iga ulanmoqda…"</string>
-    <string name="progress_download" msgid="3522436271691064624">"Administrator ilovasi yuklab olinmoqda…"</string>
-    <string name="progress_install" msgid="2258045670385866183">"Administrator ilovasi o‘rnatilmoqda…"</string>
-    <string name="progress_set_owner" msgid="8214062820093757961">"Qurilma egasi belgilanmoqda…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Qurilmangiz shifrlashni qo‘llab-quvvatlamaydi. IT bo‘limingizga murojaat qiling."</string>
-    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Sozlash to‘xtatilib, qurilmangizdagi ma’lumotlar tozalab tashlansinmi?"</string>
-    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Bekor qilish"</string>
-    <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Asliga qaytarish"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Qurilmangizni sozlab bo‘lmadi. Kompaniyangizning IT bo‘limiga murojaat qiling."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Ushbu qurilma allaqachon moslangan."</string>
-    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi tarmog‘iga ulanib bo‘lmadi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Bu qurilma zavod sozlamalarini tiklashga qarshi himoyalangan. IT bo‘limingizga murojaat qiling."</string>
-    <string name="frp_clear_progress_title" msgid="8628074089458234965">"O‘chirilmoqda"</string>
-    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Iltimos, kuting…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nazorat qiymati bilan bog‘liq muammo tufayli administrator ilovasidan foydalanib bo‘lmadi. IT bo‘limiga murojaat qiling."</string>
-    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administrator ilovasini yuklab olib bo‘lmadi"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrator ilovasidan foydalanib bo‘lmaydi. Unda ba’zi tarkibiy qismlar mavjud emas yoki buzilgan. IT bo‘limiga murojaat qiling."</string>
-    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administrator ilovasini o‘rnatib bo‘lmadi"</string>
-    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Sozlash to‘xtatilsinmi?"</string>
-    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Yo‘q"</string>
-    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ha"</string>
-    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Bekor qilinmoqda…"</string>
-    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profilni sozlash to‘xtatilsinmi?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Siz profilingizni keyinroq tashkilotingiz tomonidan ishlatiladigan qurilmalarni boshqarish ilovasi yordamida sozlashingiz mumkin."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Davom etish"</string>
-    <string name="work_profile_setup_stop" msgid="6772128629992514750">"To‘xtatish"</string>
-    <string name="provisioning" msgid="4512493827019163451">"Sinxronlanmoqda"</string>
-    <string name="copying_certs" msgid="5697938664953550881">"CA sertifikatlari sozlanmoqda"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Profilni sozlash. Sozlash jarayonini boshlash."</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profilni sozlash. Shifrlash."</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"Profilni sozlash. Jarayon ko‘rsatilmoqda."</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Qurilmani sozlash. Sozlash jarayonini boshlash."</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"Qurilmani sozlash. Shifrlash."</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"Qurilmani sozlash. Jarayon ko‘rsatilmoqda."</string>
-    <string name="learn_more_label" msgid="2723716758654655009">"Batafsil ma’lumot tugmasi"</string>
-    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonkasi"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Sozlash bekor qilinsinmi?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Barcha parametrlar zavod holatiga qaytariladi va sozlashni qaytadan boshlash kerak bo‘ladi."</string>
-    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Bekor qilish"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Qurilma sozlamalarini tiklash"</string>
-</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
new file mode 100644
index 0000000..fa85537
--- /dev/null
+++ b/res/values-uz/strings.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="2400883737290705700">"Ishchi profilni sozlash"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ana, xolos!"</string>
+    <string name="setup_work_profile" msgid="1468934631731845267">"Ishchi profilni sozlash"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tashkilotingiz ushbu profilni nazorat qiladi va uni xavfsiz saqlaydi. Qurilmangizdagi boshqa narsalarni o‘zingiz nazorat qilasiz."</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"Tashkilotingiz ushbu qurilmani nazorat qiladi va uning xavfsizligini ta’minlaydi."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Quyidagi ilova ushbu profilga kirishi zarur:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Quyidagi ilova qurilmangizni boshqaradi:"</string>
+    <string name="next" msgid="1004321437324424398">"Keyingisi"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"Ishchi profilingiz sozlanmoqda…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Administrator bu profil bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilovalar, ruxsatnomalar va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangiz joylashuvi, qo‘ng‘iroqlar tarixi hamda kontakt qidiruv tarixi ma’lumotlarini kuzatishi va boshqarishi mumkin.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Batafsil axborot, jumladan, tashkilotingiz maxfiylik siyosati haqida ma’lumot olish uchun administratoringiz bilan bog‘laning."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Administrator bu qurilma bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilovalar, ruxsatnomalar va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangiz joylashuvi, qo‘ng‘iroqlar tarixi hamda kontakt qidiruv tarixi ma’lumotlarini kuzatishi va boshqarishi mumkin.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Batafsil axborot, jumladan, tashkilotingiz maxfiylik siyosati haqida ma’lumot olish uchun administratoringiz bilan bog‘laning."</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"O‘g‘ridan himoyalanish funksiyasidan foydalanish uchun qurilmangiz ekran qulfi parollangan bo‘lishi kerak."</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Qo‘shimcha ma’lumot olish, jumladan, tashkilotingizning maxfiylik siyosati haqida bilish uchun administratoringizga murojaat qiling."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Batafsil ma’lumot"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Bekor qilish"</string>
+    <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
+    <string name="user_consent_msg" msgid="8820951802130353584">"Roziman"</string>
+    <string name="url_error" msgid="5958494012986243186">"Bu havolani ko‘rsatib bo‘lmadi."</string>
+    <string name="terms" msgid="8295436105384703903">"Shartlar"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Ishchi profilga oid ma’lumotlar"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Boshqariluvchi qurilmaga oid ma’lumotlar"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ishchi profil"</string>
+    <string name="default_first_meat_user_name" msgid="7540515892748490540">"Asosiy foydalanuvchi"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Mavjud profil o‘chirib tashlansinmi?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Sizda allaqachon quyidagi ilova tomonidan boshqariladigan ishchi profil bor:"</string>
+    <string name="read_more_delete_profile" msgid="7789171620401666343">"Davom etishdan oldin "<a href="#read_this_link">"buni o‘qib chiqing"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Agar davom etsangiz, bu profildagi barcha ilovalar va ma’lumotlar o‘chirib tashlanadi."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"O‘chirish"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Bekor qilish"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ishchi profilni sozlash uchun qurilmadagi ma’lumotlarni shifrlash lozim. Bu biroz vaqt olishi mumkin."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Bu qurilmani sozlash uchun undagi ma’lumotlarni shifrlash lozim. Bu biroz vaqt olishi mumkin."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Qurilma shifrlansinmi?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Shifrlash"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Shifrlash tugallandi"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Ishchi profilingizni sozlashda davom etish uchun bosing"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ishchi profilingizni sozlab bo‘lmadi. IT bo‘limiga murojaat qiling yoki keyinroq qayta urinib ko‘ring."</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Ishchi profilni qo‘shib bo‘lmadi"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Bu foydalanuvchi uchun ishchi profil yaratib bo‘lmaydi. Yordam olish uchun administratoringizga murojaat qiling."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Bu foydalanuvchida ishchi profil bo‘lmasligi kerak. Administrator bilan bog‘laning."</string>
+    <string name="device_owner_exists" msgid="8020080296133337023">"Ishchi profillar boshqariladigan qurilmalarda qo‘llab-quvvatlanmaydi"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Qurilmada juda ko‘p foydalanuvchilar bor. Birortasini o‘chirib, qaytadan urining."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Qurilmadagi launcherni o‘zgartiring"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Bu launcher ishchi profilda ishlamaydi"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Bekor qilish"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="user_setup_incomplete" msgid="6494920045526591079">"Foydalanuvchi hisobini sozlab bo‘lmadi"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Ishchi qurilma foydalanuvchisi"</string>
+    <string name="setup_work_device" msgid="4243324420514896773">"Ishchi qurilmani sozlash"</string>
+    <string name="progress_data_process" msgid="1707745321954672971">"Ma’lumotlarga ishlov berilmoqda…"</string>
+    <string name="progress_connect_to_wifi" msgid="472251154628863539">"Wi-Fi tarmog‘iga ulanmoqda…"</string>
+    <string name="progress_download" msgid="3522436271691064624">"Administrator ilovasi yuklab olinmoqda…"</string>
+    <string name="progress_install" msgid="2258045670385866183">"Administrator ilovasi o‘rnatilmoqda…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Keraksiz tizim ilovalari o‘chirib tashlanmoqda…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Sozlash tugay deb qoldi…"</string>
+    <string name="progress_set_owner" msgid="8214062820093757961">"Qurilma egasi belgilanmoqda…"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Qurilma ishga tushirilmoqda…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Bu qurilmada sozlash uchun zarur shifrlash funksiyasi ishlamaydi. Yordam olish uchun administratoringizga murojaat qiling."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Sozlash to‘xtatilib, parametrlar asl holatiga qaytarilsinmi?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Barcha parametrlar asl holatiga qaytariladi va sozlashni qaytadan boshlash kerak bo‘ladi"</string>
+    <string name="device_owner_cancel_message" msgid="2529288571742712065">"Sozlash to‘xtatilib, qurilmangizdagi ma’lumotlar tozalab tashlansinmi?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Bekor qilish"</string>
+    <string name="device_owner_error_ok" msgid="2002250763093787051">"OK"</string>
+    <string name="reset" msgid="6467204151306265796">"Tiklash"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Profilni sozlab bo‘lmadi"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Qurilmani sozlab bo‘lmadi"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Qurilma sozlanmadi. Yordam olish uchun administratoringizga murojaat qiling."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Yordam olish uchun administratoringizga murojaat qiling"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Qurilma allaqachon sozlangan"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi tarmog‘iga ulanib bo‘lmadi"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Qurilmangizda zavod sozlamalarini tiklashga qarshi himoya yoqilgan. Yordam olish uchun administratoringizga murojaat qiling."</string>
+    <string name="frp_clear_progress_title" msgid="8628074089458234965">"O‘chirilmoqda"</string>
+    <string name="frp_clear_progress_text" msgid="1740164332830598827">"Iltimos, kuting…"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Nazorat qiymati bilan bog‘liq muammo tufayli administrator ilovasidan foydalanib bo‘lmadi. Administratorga murojaat qiling."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administrator ilovasini yuklab olib bo‘lmadi"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Administrator ilovasidan foydalanib bo‘lmadi. Unda ba’zi tarkibiy qismlar mavjud emas yoki buzilgan. Administratorga murojaat qiling."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administrator ilovasini o‘rnatib bo‘lmadi"</string>
+    <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Sozlash to‘xtatilsinmi?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Yo‘q"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ha"</string>
+    <string name="profile_owner_cancelling" msgid="5679573829145112822">"Bekor qilinmoqda…"</string>
+    <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Profilni sozlash to‘xtatilsinmi?"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Ishchi profilni keyinroq tashkilotning qurilmani boshqarish ilovasi orqali sozlash mumkin"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Davom etish"</string>
+    <string name="work_profile_setup_stop" msgid="6772128629992514750">"To‘xtatish"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Yopish"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Tashkilotingiz tomonidan boshqariladigan va nazorat qilinadigan ishchi profil yaratish arafasidasiz. Foydalanish shartlari amal qiladi."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Tashkilotingiz tomonidan boshqariladigan va nazorat qilinadigan ishchi profil yaratish arafasidasiz. Ushbu shartlar amal qiladi: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Ishchi ilovalar uchun profil yaratiladi. Bu va barcha qurilmalaringiz tashkilotingiz tomonidan boshqariladi va nazorat qilinadi. Foydalanish shartlari amal qiladi."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Profil ishchi ilovalar uchun yaratiladi. Bu profil va boshqa qurilmalar tashkilotingiz tomonidan boshqariladi va nazorat qilinadi. Ushbu shartlar amal qiladi: <xliff:g id="TERMS_HEADERS">%1$s</xliff:g>."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Bu qurilma <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi va xavfsizligini ta’minlaydi. Foydalanish shartlari amal qiladi. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Bu qurilma <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi va xavfsizligini ta’minlaydi. Ushbu shartlar amal qiladi: <xliff:g id="TERMS_HEADERS">%2$s</xliff:g>. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Bu xavfsiz bo‘lmagan havolani to qurilma sozlanmaguncha ochib bo‘lmaydi: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Savollaringizga javob olish uchun <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> administratoriga murojaat qiling"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Savollaringizga javob olish uchun administratoringizga murojaat qiling"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Sozlash nihoyasiga yetmadi. Yordam olish uchun administratoringizga murojaat qiling."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Yordam olish uchun administratoringizga murojaat qiling"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"administrator"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> bu qurilmani quyidagi ilovalar yordamida boshqaradi va nazorat qiladi:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Tashkilotingiz"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"tashkilotingiz"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Shartlarni ko‘rish"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Davom etish"</string>
+    <string name="close" msgid="7208600934846389439">"Yopish"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Qurilmangizni sozlang"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Ish usulini o‘zgartiring"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Shaxsiy va ish ma’lumotlarini alohida qiling"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Barcha ishchi ilovalar uchun yagona joy"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Ishchi va shaxsiy ma’lumotlarning qulay taqsimoti"</string>
+    <string name="provisioning" msgid="4512493827019163451">"Sinxronlanmoqda"</string>
+    <string name="copying_certs" msgid="5697938664953550881">"CA sertifikatlari sozlanmoqda"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Profilingizni sozlang"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ishchi profil orqali shaxsiy va ish ma’lumotlarini alohida qilishingiz mumkin"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ishchi profil orqali ishchi ilovalarni bir joyga saqlash mumkin"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"Profilni sozlash. Shifrlash."</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"Profilni sozlash. Jarayon ko‘rsatilmoqda."</string>
+    <string name="setup_device" msgid="6725265673245816366">"Qurilmangizni sozlash"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"Qurilmani sozlash. Shifrlash."</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"Qurilmani sozlash. Jarayon ko‘rsatilmoqda."</string>
+    <string name="learn_more_label" msgid="2723716758654655009">"Batafsil ma’lumot tugmasi"</string>
+    <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> ikonkasi"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bo‘limi sarlavhasi."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> bo‘limi kontenti: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Yoyish"</string>
+    <string name="collapse" msgid="7817530505064432580">"Yig‘ish"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Havolalar ro‘yxatini ochish"</string>
+    <string name="access_links" msgid="7991363727326168600">"Havolalarni ochish"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Shartlarni ochish"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Shartlar bilan tanishish"</string>
+    <string name="close_list" msgid="9053538299788717597">"Ro‘yxatni yopish"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Sozlash bekor qilinsinmi?"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Barcha parametrlar zavod holatiga qaytariladi va sozlashni qaytadan boshlash kerak bo‘ladi."</string>
+    <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Bekor qilish"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Qurilma sozlamalarini tiklash"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> va <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> va <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index a0e4d0d..3e9cd58 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Ứng dụng sau sẽ quản lý thiết bị của bạn:"</string>
     <string name="next" msgid="1004321437324424398">"Tiếp theo"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Đang thiết lập hồ sơ công việc..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Quản trị viên của bạn có thể giám sát và quản lý cài đặt, ứng dụng, quyền, dữ liệu và quyền truy cập của công ty được liên kết với hồ sơ này, bao gồm hoạt động mạng của bạn cũng như vị trí thiết bị, lịch sử cuộc gọi và lịch sử tìm kiếm liên hệ trên thiết bị của bạn."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Quản trị viên của bạn có thể giám sát và quản lý cài đặt, quyền truy cập của công ty, ứng dụng, quyền, tính năng chống trộm và dữ liệu được liên kết với thiết bị này, bao gồm cả hoạt động mạng và thông tin vị trí của thiết bị."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Quản trị viên của bạn có thể giám sát và quản lý cài đặt, quyền truy cập vào dữ liệu công ty, ứng dụng, quyền và dữ liệu được liên kết với hồ sơ này, bao gồm hoạt động mạng cũng như lịch sử tìm kiếm liên hệ, nhật ký cuộc gọi và vị trí thiết bị của bạn.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hãy liên hệ với quản trị viên để biết thêm thông tin, bao gồm cả chính sách bảo mật của tổ chức bạn."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Quản trị viên của bạn có thể giám sát và quản lý cài đặt, quyền truy cập vào dữ liệu công ty, ứng dụng, quyền và dữ liệu được liên kết với thiết bị này, bao gồm hoạt động mạng cũng như lịch sử tìm kiếm liên hệ, nhật ký cuộc gọi và vị trí thiết bị của bạn.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Hãy liên hệ với quản trị viên để biết thêm thông tin, bao gồm cả chính sách bảo mật của tổ chức bạn."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Để sử dụng tính năng chống trộm, bạn phải có một khóa màn hình được bảo vệ bằng mật khẩu cho thiết bị của mình."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Hãy liên hệ với quản trị viên của bạn để biết thêm thông tin, bao gồm các chính sách bảo mật của tổ chức bạn."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Tìm hiểu thêm"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Hủy"</string>
     <string name="ok_setup" msgid="4593707675416137504">"OK"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Tôi đồng ý"</string>
+    <string name="url_error" msgid="5958494012986243186">"Không thể hiển thị liên kết này."</string>
+    <string name="terms" msgid="8295436105384703903">"Điều khoản"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Thông tin hồ sơ công việc"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Thông tin thiết bị được quản lý"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Hồ sơ công việc"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Người dùng chính"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Xóa hồ sơ công việc?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Hồ sơ làm việc đã tồn tại và được quản lý bởi:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Hồ sơ công việc này được quản lý cho %s bằng:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Xóa hồ sơ hiện có?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Bạn đã có hồ sơ công việc do ứng dụng sau quản lý:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Trước khi tiếp tục, "<a href="#read_this_link">"hãy đọc thông tin sau"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Nếu bạn tiếp tục, tất cả ứng dụng và dữ liệu trong hồ sơ này sẽ bị xóa."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Xóa"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Hủy"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Để tiếp tục thiết lập hồ sơ công việc, bạn cần mã hóa thiết bị của mình. Quá trình này có thể mất vài phút."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Để tiếp tục thiết lập thiết bị, bạn cần mã hóa thiết bị của mình. Quá trình này có thể mất vài phút."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Mã hóa"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Để thiết lập hồ sơ công việc của bạn, thiết bị của bạn cần phải được mã hóa. Quá trình này có thể mất một chút thời gian."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Để thiết lập thiết bị này, trước tiên cần phải mã hóa thiết bị. Quá trình này có thể mất một chút thời gian."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Mã hóa thiết bị này?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Mã hóa"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Hoàn tất mã hóa"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Nhấn để tiếp tục thiết lập hồ sơ công việc của bạn"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Không thiết lập được hồ sơ công việc của bạn. Hãy liên hệ với bộ phận CNTT hoặc thử lại sau."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Thiết bị của bạn không hỗ trợ hồ sơ công việc"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Người dùng này không thể có hồ sơ công việc"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Không thể thêm hồ sơ công việc"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Người dùng này không thể có hồ sơ công việc. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Người dùng này không thể có hồ sơ công việc. Hãy liên hệ với quản trị viên của bạn."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Không thể thiết lập hồ sơ công việc trên thiết bị được quản lý"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Không thể tạo hồ sơ công việc vì bạn đã đạt tới số người dùng tối đa trên thiết bị của mình. Hãy xóa ít nhất một người dùng và thử lại."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Hồ sơ công việc của bạn không được ứng dụng trình chạy này hỗ trợ. Bạn cần chuyển sang trình chạy tương thích."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Có thể có quá nhiều người dùng trên thiết bị này. Hãy xóa bớt một người dùng, rồi thử lại."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Thay đổi trình khởi chạy thiết bị"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Hồ sơ công việc của bạn không được sử dụng ứng dụng khởi chạy này"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Hủy"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Thiết lập người dùng chưa hoàn tất"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Đang kết nối Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"Đang tải xuống ứng dụng quản trị..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Đang cài đặt ứng dụng quản trị..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Đang xóa các ứng dụng không bắt buộc của hệ thống…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Đang hoàn thiện…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Đang đặt chủ sở hữu thiết bị..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Thiết bị của bạn không hỗ trợ mã hóa. Hãy liên hệ với bộ phận CNTT của bạn."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Đang khởi chạy thiết bị…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Thiết bị này không cho phép mã hóa, một việc cần thiết để thiết lập. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Ngừng thiết lập và đặt lại thiết bị?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Thao tác này sẽ đặt lại thiết bị của bạn và đưa bạn trở lại màn hình đầu tiên"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Dừng thiết lập và xóa dữ liệu trên thiết bị của bạn?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Hủy"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Ok"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Đặt lại"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Không thiết lập được thiết bị của bạn. Hãy liên hệ với bộ phận CNTT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Thiết bị này đã được thiết lập."</string>
+    <string name="reset" msgid="6467204151306265796">"Đặt lại"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Không thể thiết lập hồ sơ"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Không thể thiết lập thiết bị"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Không thể thiết lập thiết bị. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Hãy liên hệ với quản trị viên của bạn để được trợ giúp"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Thiết bị đã được thiết lập"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Không thể kết nối với Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Thiết bị này bị khóa bởi tính năng bảo vệ chống khôi phục cài đặt gốc. Hãy liên hệ với bộ phận CNTT của bạn."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Thiết bị của bạn đã bật chức năng chống đặt lại. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Đang xóa"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Vui lòng chờ..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Không sử dụng được ứng dụng quản trị do có lỗi kiểm tra tổng. Hãy liên hệ với bộ phận CNTT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Không thể sử dụng ứng dụng quản trị do có lỗi kiểm tra tổng. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Không thể tải xuống ứng dụng quản trị"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Không thể sử dụng ứng dụng quản trị. Ứng dụng thiếu thành phần hoặc bị lỗi. Hãy liên hệ với bộ phận CNTT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Không thể sử dụng ứng dụng quản trị. Ứng dụng thiếu thành phần hoặc bị lỗi. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Không thể cài đặt ứng dụng quản trị"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Dừng thiết lập?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Không"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Có"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Đang hủy…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Dừng thiết lập hồ sơ?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Bạn có thể thiết lập hồ sơ công việc của mình sau này từ ứng dụng quản lý thiết bị được tổ chức bạn sử dụng."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Tiếp tục"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Bạn có thể thiết lập hồ sơ công việc sau trong ứng dụng quản lý thiết bị của tổ chức bạn"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Tiếp tục"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Dừng"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Loại bỏ"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Bạn sắp tạo hồ sơ công việc sẽ do tổ chức của bạn quản lý và giám sát. Các điều khoản sẽ được áp dụng."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Bạn sắp tạo một hồ sơ công việc sẽ do tổ chức của bạn quản lý và giám sát. Các điều khoản từ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sẽ được áp dụng."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Một hồ sơ sẽ được tạo cho các ứng dụng công việc của bạn. Hồ sơ này và phần còn lại của thiết bị sẽ do tổ chức của bạn quản lý và giám sát. Các điều khoản sẽ được áp dụng."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Một hồ sơ sẽ được tạo cho các ứng dụng công việc của bạn. Hồ sơ này và phần còn lại của thiết bị sẽ do tổ chức của bạn quản lý và giám sát. Các điều khoản từ <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> sẽ được áp dụng."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Thiết bị này sẽ do <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> quản lý và giữ an toàn. Các điều khoản sẽ được áp dụng. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Thiết bị này sẽ do <xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> quản lý và giữ an toàn. Các điều khoản từ <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> sẽ được áp dụng. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Liên kết này không an toàn và không thể mở được cho đến khi quá trình thiết lập thiết bị hoàn tất: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Nếu bạn có thắc mắc, hãy liên hệ với <xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> của bạn."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Nếu bạn có thắc mắc, hãy liên hệ với quản trị viên của tổ chức bạn"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Quá trình thiết lập chưa hoàn tất. Để được trợ giúp, hãy liên hệ với quản trị viên của bạn."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Để được trợ giúp, hãy liên hệ với quản trị viên của bạn"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"quản trị viên của tổ chức"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> sẽ quản lý và giám sát thiết bị này bằng ứng dụng sau:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Tổ chức của bạn"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"tổ chức của bạn"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Xem điều khoản"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Chấp nhận và tiếp tục"</string>
+    <string name="close" msgid="7208600934846389439">"Đóng"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Thiết lập thiết bị của bạn"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Thay đổi cách bạn làm việc"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Tách bạch công việc với đời sống cá nhân"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Một nơi cho ứng dụng dành cho công việc"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Tắt công việc khi bạn hoàn tất"</string>
     <string name="provisioning" msgid="4512493827019163451">"Đang cấp phép"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Đang thiết lập chứng chỉ CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Thiết lập hồ sơ của bạn. Bắt đầu thiết lập"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Thiết lập hồ sơ của bạn"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Bằng cách sử dụng hồ sơ công việc, bạn có thể tách dữ liệu công việc với dữ liệu cá nhân"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Bằng cách sử dụng hồ sơ công việc, bạn có thể giữ các ứng dụng công việc của mình ở một nơi"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Thiết lập hồ sơ của bạn. Mã hóa"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Thiết lập hồ sơ của bạn. Hiển thị tiến độ"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Thiết lập thiết bị của bạn. Bắt đầu thiết lập"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Thiết lập thiết bị của bạn"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Thiết lập thiết bị của bạn. Mã hóa"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Thiết lập thiết bị của bạn. Hiển thị tiến độ"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Nút Tìm hiểu thêm"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"Biểu tượng <xliff:g id="ICON_LABEL">%1$s</xliff:g>"</string>
+    <string name="section_heading" msgid="3924666803774291908">"Tiêu đề phần <xliff:g id="SECTION_HEADING">%1$s</xliff:g>."</string>
+    <string name="section_content" msgid="8875502515704374394">"Nội dung phần <xliff:g id="SECTION_HEADING">%1$s</xliff:g>: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Mở rộng"</string>
+    <string name="collapse" msgid="7817530505064432580">"Thu gọn"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Truy cập danh sách liên kết"</string>
+    <string name="access_links" msgid="7991363727326168600">"Truy cập các liên kết"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Truy cập điều khoản"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Đọc điều khoản"</string>
+    <string name="close_list" msgid="9053538299788717597">"Đóng danh sách"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Kết thúc thiết lập và khôi phục cài đặt gốc?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Việc kết thúc thiết lập này sẽ khôi phục cài đặt gốc cho thiết bị của bạn và đưa bạn trở lại màn hình đầu tiên."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Hủy"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Đặt lại thiết bị"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> và <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> và <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 6da1382..1f06eb4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"以下应用将管理您的设备:"</string>
     <string name="next" msgid="1004321437324424398">"下一步"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"正在设置您的工作资料…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"您单位的管理员能够监控和管理与此资料相关的设置、企业权限、应用、权限以及数据(其中包括您的网络活动以及您设备的位置信息、通话记录和联系人搜索记录)。"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"您单位的管理员能够监控和管理与此设备相关的设置、企业权限、应用、权限、防盗保护功能以及数据(其中包括网络活动和您设备的位置信息)。"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"您的管理员能够监控和管理与此资料相关的设置、企业权限、应用、权限以及数据(其中包括您的网络活动以及您设备的位置信息、通话记录和联系人搜索记录)。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>如需了解详情(包括您所在单位的隐私权政策),请与您的管理员联系。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"您的管理员能够监控和管理与该设备相关的设置、企业权限、应用、权限以及数据(其中包括您的网络活动以及您设备的位置信息、通话记录和联系人搜索记录)。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>如需了解详情(包括您所在单位的隐私权政策),请与您的管理员联系。"</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"要使用防盗保护功能,您必须为您的设备设置一种采用密码保护的屏幕锁定方式。"</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"请与您单位的管理员联系以了解详情,包括单位的隐私权政策。"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"了解详情"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
     <string name="ok_setup" msgid="4593707675416137504">"确定"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"我同意"</string>
+    <string name="url_error" msgid="5958494012986243186">"无法显示此链接。"</string>
+    <string name="terms" msgid="8295436105384703903">"条款"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"工作资料信息"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"受管理设备的信息"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"工作资料"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"主用户"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"要移除工作资料吗?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"工作资料已存在,且由以下应用管理:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s 的此工作资料通过以下应用管理:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"要删除现有的工作资料吗?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"您已经拥有通过以下应用管理的工作资料:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"请先"<a href="#read_this_link">"阅读此文"</a>",然后再继续。"</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"如果您继续,系统将删除此工作资料中的所有应用和数据。"</string>
     <string name="delete_profile" msgid="2299218578684663459">"删除"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"要继续设置工作资料,您需要对设备进行加密。此过程可能需要一段时间。"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"要继续设置您的设备,您需要对其进行加密。此过程可能需要一段时间。"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"要设置您的工作资料,需要对您的设备进行加密,这可能需要一段时间。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"要设置此设备,首先需要对其进行加密,这可能需要一段时间。"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"要加密此设备吗?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"加密"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密已完成"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"点按即可继续设置您的工作资料"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"无法设置您的工作资料,请与您公司的IT部门联系或稍后重试。"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的设备不支持工作资料"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"此用户无法创建工作资料"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"无法添加工作资料"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"此用户无法使用工作资料。如需帮助,请与您的管理员联系。"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"此用户无法使用工作资料。请与您的管理员联系。"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"无法在受管理的设备上设置工作资料"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"您设备上的用户数量已达到上限,因此无法创建工作资料。请至少移除一个用户,然后重试。"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"此启动器应用不支持工作资料。您需要改用兼容的启动器。"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"此设备上的用户可能太多。请移除一个用户,然后重试。"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"请更改设备启动器"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"此启动器应用不能用于您的工作资料"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"确定"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"用户设置未完成"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"正在连接到 WLAN 网络…"</string>
     <string name="progress_download" msgid="3522436271691064624">"正在下载管理应用…"</string>
     <string name="progress_install" msgid="2258045670385866183">"正在安装管理应用…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"正在移除不需要的系统应用…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"正在进行最后的几项设置…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"正在设置设备所有者…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"您的设备不支持加密功能,请与您的 IT 部门联系。"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"正在初始化设备…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"此设备不支持加密功能,但是设置设备需要对设备进行加密。如需帮助,请与您的管理员联系。"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"要停止设置并重置设备吗?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"此操作将重置您的设备,您将会回到首屏画面"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"要停止设置并清除您设备上的数据吗?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"确定"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"重置"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"无法设置您的设备,请与您公司的IT部门联系。"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"之前已对此设备进行了设置。"</string>
+    <string name="reset" msgid="6467204151306265796">"重置"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"无法设置资料"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"无法设置设备"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"无法设置设备。如需帮助,请与您的管理员联系。"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"如需帮助,请与您的管理员联系"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"设备已经过设置"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"无法连接到WLAN"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"此设备已被恢复出厂设置保护功能锁定。请与您公司的 IT 部门联系。"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"您的设备已开启恢复出厂设置保护功能。如需帮助,请与您的管理员联系。"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"正在清除"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"请稍候…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"由于校验和错误,无法使用此管理应用。请与您公司的IT部门联系。"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"由于校验和错误,无法使用此管理应用。如需帮助,请与您的管理员联系。"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"无法下载管理应用"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"由于缺少组件或软件包已损坏,无法使用此管理应用。请与您公司的IT部门联系。"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"由于缺少组件或软件包已损坏,无法使用此管理应用。如需帮助,请与您的管理员联系。"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"无法安装管理应用"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"要停止设置吗?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"正在取消…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"要停止资料设置吗?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"您稍后可以通过您所在单位使用的设备管理应用来设置自己的工作资料。"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"继续"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"您稍后可以在您所在单位的设备管理应用中设置您的工作资料"</string>
+    <string name="continue_button" msgid="7177918589510964446">"继续"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"停止"</string>
+    <string name="dismiss" msgid="9009534756748565880">"关闭"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"您即将创建工作资料,该工作资料将由您所在的单位管理和监控。相应行为受相关条款约束。"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"您即将创建工作资料,该工作资料将由您所在的单位管理和监控。相应行为受“<xliff:g id="TERMS_HEADERS">%1$s</xliff:g>”的相关条款约束。"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"系统将为您的工作应用创建工作资料。该工作资料和您设备的其他内容将由您所在的单位管理和监控。相应行为受相关条款约束。"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"系统将为您的工作应用创建工作资料。此工作资料和您设备的其他内容将由您所在的单位管理和监控。相应行为受“<xliff:g id="TERMS_HEADERS">%1$s</xliff:g>”的相关条款约束。"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"此设备将由<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>负责管理,并确保其安全。相应行为受相关条款约束。<xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"此设备将由<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>负责管理,并确保其安全。相应行为受“<xliff:g id="TERMS_HEADERS">%2$s</xliff:g>”的相关条款约束。<xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"下面这个链接不安全,在设备设置完成之前都无法打开:<xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"如有疑问,请与您的<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>联系。"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"如有疑问,请与您所在单位的管理员联系"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"设置尚未完成。如需帮助,请与您的管理员联系。"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"如需帮助,请与您的管理员联系"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"单位的管理员"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>将使用以下应用管理和监控此设备:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"您的单位"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"您的单位"</string>
+    <string name="view_terms" msgid="7230493092383341605">"查看条款"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"接受并继续"</string>
+    <string name="close" msgid="7208600934846389439">"关闭"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"设置设备"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"改变您的工作方式"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"将工作数据与个人数据隔离开"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"工作应用尽汇于此"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"在您完成操作后关闭工作应用"</string>
     <string name="provisioning" msgid="4512493827019163451">"正在配置"</string>
     <string name="copying_certs" msgid="5697938664953550881">"正在设置 CA 证书"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"设置您的个人资料。开始设置"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"设置您的资料"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"借助工作资料,您可以将工作数据与个人数据分开存放"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"借助工作资料,您可以在一个位置集中存放您的工作应用"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"设置您的个人资料。加密"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"设置您的个人资料。当前显示的是进程"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"设置您的设备。开始设置"</string>
+    <string name="setup_device" msgid="6725265673245816366">"设置您的设备"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"设置您的设备。加密"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"设置您的设备。当前显示的是进程"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"“了解详情”按钮"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"“<xliff:g id="ICON_LABEL">%1$s</xliff:g>”图标"</string>
+    <string name="section_heading" msgid="3924666803774291908">"“<xliff:g id="SECTION_HEADING">%1$s</xliff:g>”章节标题。"</string>
+    <string name="section_content" msgid="8875502515704374394">"“<xliff:g id="SECTION_HEADING">%1$s</xliff:g>”章节内容:<xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"展开"</string>
+    <string name="collapse" msgid="7817530505064432580">"收起"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"查看链接列表"</string>
+    <string name="access_links" msgid="7991363727326168600">"查看链接"</string>
+    <string name="access_terms" msgid="1982500872249763745">"查看条款"</string>
+    <string name="read_terms" msgid="1745011123626640728">"阅读条款"</string>
+    <string name="close_list" msgid="9053538299788717597">"关闭列表"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"要取消这项设置并恢复出厂设置吗?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"如果您取消这项设置,设备将恢复出厂设置,而且您会返回首屏画面。"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"取消"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"重置设备"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>和<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g>和<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>、<xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>、<xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 9fe372d..747883a 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"下列應用程式將管理您的裝置:"</string>
     <string name="next" msgid="1004321437324424398">"下一步"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"正在設定您的工作設定檔…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"您的管理員可以監控及管理與這個設定檔相關聯的設定、企業存取、應用程式、權限和資料,包括網絡活動、裝置的位置資料、通話記錄和聯絡人搜尋記錄。"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"您的管理員可以監控並管理與這部裝置相關聯的設定、企業存取、應用程式、權限、防盜功能和資料,包括網絡活動和您的裝置位置資料。"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"您的管理員可監察和管理與此設定檔相關的設定、公司存取權、應用程式、權限和資料,包括您的網絡活動、裝置位置、通話記錄和聯絡人搜尋記錄。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>請聯絡您的管理員瞭解詳情 (包括貴機構的私隱權政策)。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"您的管理員可監察和管理與此裝置相關的設定、公司存取權、應用程式、權限和資料,包括您的網絡活動、裝置位置、通話記錄和聯絡人搜尋記錄。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>請聯絡您的管理員瞭解詳情 (包括貴機構的私隱權政策)。"</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"如要使用防盜功能,您必須在裝置上啟用密碼螢幕鎖定。"</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"請與您的管理員聯絡,以獲取詳細資訊,包括您機構的私隱權政策。"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"瞭解詳情"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
     <string name="ok_setup" msgid="4593707675416137504">"確認"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"我同意"</string>
+    <string name="url_error" msgid="5958494012986243186">"無法顯示此連結。"</string>
+    <string name="terms" msgid="8295436105384703903">"條款"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"工作設定檔資料"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"受管理的裝置資料"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"公司檔案"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"主要使用者"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"要移除工作設定檔嗎?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"工作設定檔已存在,並由以下應用程式管理:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"這個「%s」的工作設定檔由以下應用程式管理:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"要刪除現有設定檔嗎?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"您已具備由以下應用程式管理的工作設定檔:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"請在開始前"<a href="#read_this_link">"閱讀此資訊"</a>"。"</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"如繼續,此設定檔中的所有應用程式和資料將會刪除。"</string>
     <string name="delete_profile" msgid="2299218578684663459">"刪除"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"如要繼續設定公司檔案,您必須為裝置加密。這項操作可能需要一段時間才能完成。"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"如要繼續設定您的裝置,您必須加密裝置。這項操作可能需要一段時間。"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"如要設定您的工作設定檔,您必須先為裝置加密。這項操作可能需要一段時間。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"如要設定此裝置,您必須先為裝置加密。這項操作可能需要一段時間才能完成。"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"要加密這部裝置嗎?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"加密"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密完成"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"輕按即可繼續設定工作設定檔"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"無法設定您的公司檔案,請與您的 IT 部門聯絡或稍後再試。"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的裝置不支援公司檔案"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"此使用者無法建立工作設定檔"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"無法加入工作設定檔"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"此使用者無法建立工作設定檔。如需協助,請聯絡您的管理員。"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"此使用者無法建立工作設定檔。請聯絡您的管理員。"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"受管理的裝置無法設定公司檔案"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"裝置使用者人數已滿,無法建立工作設定檔。請刪除至少一位使用者,然後重試。"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"這個應用程式啟動器不支援您的公司檔案,請切換至相容的應用程式啟動器。"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"此裝置的使用者可能過多。請移除使用者,然後再試一次。"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"變更裝置啟動器"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"您的工作設定檔無法使用這個啟動器應用程式"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"確定"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"使用者設定未完成"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"正在連線至 Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"正在下載管理員應用程式…"</string>
     <string name="progress_install" msgid="2258045670385866183">"正在安裝管理員應用程式…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"正在移除非必要的系統應用程式…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"正在完成設定…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"正在設定裝置擁有者…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"您的裝置不支援加密。請與您的 IT 部門聯絡。"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"正在初始化裝置…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"此裝置不允許加密,裝置需要加密方可設定。如需協助,請聯絡您的管理員。"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"要停止設定和重設裝置嗎?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"您的裝置將會重設,螢幕將會轉至起始畫面"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"停止設定並清除您的裝置資料?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"確定"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"重設"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"無法設定您的裝置,請與您的 IT 部門聯絡。"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"已完成裝置設定。"</string>
+    <string name="reset" msgid="6467204151306265796">"重設"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"無法設定設定檔"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"無法設定裝置"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"無法設定裝置。如需協助,請聯絡您的管理員。"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"請聯絡您的管理員以取得協助"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"裝置已設定"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"無法連線至 Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"這個裝置已由原廠設定保護鎖定。請與您的 IT 部門聯絡。"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"您的裝置已開啟重設保護功能。如需協助,請聯絡您的管理員。"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"正在清除"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"請稍候…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"管理員應用程式因校驗和錯誤而無法使用,請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"管理員應用程式因校驗錯誤而無法使用。如需協助,請聯絡您的管理員。"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"無法下載管理員應用程式"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理員應用程式因缺少部分元件或已損毀而無法使用,請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"管理員應用程式因缺少元件或損毀而無法使用。如需協助,請聯絡您的管理員。"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"無法安裝管理員應用程式"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"要停止設定嗎?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"正在取消..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"停止設定設定檔?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"您可以稍後透過您的機構所使用的裝置管理應用程式,設定您的工作設定檔。"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"繼續"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"您可以稍後透過您機構的裝置管理應用程式,設定您的工作設定檔"</string>
+    <string name="continue_button" msgid="7177918589510964446">"繼續"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"停止"</string>
+    <string name="dismiss" msgid="9009534756748565880">"關閉"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"您即將建立由您機構管理和監控的工作設定檔。受條款約束。"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"您即將建立由您機構管理和監控的工作設定檔。受 <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> 的條款約束。"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"系統將會為您的工作應用程式建立設定檔。這個設定檔和裝置的其他設定將由您的機構管理和監控。受條款約束。"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"系統將會為您的工作應用程式建立設定檔。這個設定檔和裝置的其他設定將由您的機構管理和監控。受 <xliff:g id="TERMS_HEADERS">%1$s</xliff:g> 的條款約束。"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"此裝置將由<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>負責管理並確保安全。受條款約束。<xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"此裝置將由<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>負責管理並確保安全。受 <xliff:g id="TERMS_HEADERS">%2$s</xliff:g> 的條款約束。<xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"此連結不安全。裝置完成設定前,連結將無法開啟:<xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"如有問題,請聯絡您的<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>。"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"如有問題,請聯絡您的機構管理員"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"尚未完成設定。如需協助,請聯絡您的管理員。"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"如需協助,請聯絡您的管理員"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"機構管理員"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>會使用以下應用程式管理和監控此裝置:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"您的機構"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"您的機構"</string>
+    <string name="view_terms" msgid="7230493092383341605">"查看條款"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"接受並繼續"</string>
+    <string name="close" msgid="7208600934846389439">"關閉"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"設定您的裝置"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"改變您的工作方式"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"分開工作和個人資料"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"在同一個地方管理工作應用程式"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"完成後關閉工作應用程式"</string>
     <string name="provisioning" msgid="4512493827019163451">"佈建中"</string>
     <string name="copying_certs" msgid="5697938664953550881">"正在設定 CA 憑證"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"設定您的設定檔:開始設定"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"設定您的設定檔"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"只要使用工作設定檔,您就可以分開工作資料和個人資料"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"只要使用工作設定檔,您就可以將工作應用程式集中在同一地方"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"設定您的設定檔:加密"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"設定您的設定檔:正在顯示進度"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"設定您的裝置:開始設定"</string>
+    <string name="setup_device" msgid="6725265673245816366">"設定您的裝置"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"設定您的裝置:加密"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"設定您的裝置:正在顯示進度"</string>
     <string name="learn_more_label" msgid="2723716758654655009">" 瞭解詳情按鈕"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g>圖示"</string>
+    <string name="section_heading" msgid="3924666803774291908">"「<xliff:g id="SECTION_HEADING">%1$s</xliff:g>」部分標題。"</string>
+    <string name="section_content" msgid="8875502515704374394">"「<xliff:g id="SECTION_HEADING">%1$s</xliff:g>」部分內容:<xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"展開"</string>
+    <string name="collapse" msgid="7817530505064432580">"收合"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"存取連結清單"</string>
+    <string name="access_links" msgid="7991363727326168600">"存取連結"</string>
+    <string name="access_terms" msgid="1982500872249763745">"存取條款"</string>
+    <string name="read_terms" msgid="1745011123626640728">"閱讀條款"</string>
+    <string name="close_list" msgid="9053538299788717597">"關閉清單"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"要結束設定並回復至原廠設定嗎?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"結束此設定會將裝置回復至原廠設定,螢幕將會轉至起始畫面。"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"取消"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"重設裝置"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>和<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g>和<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>、<xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>、<xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8c98499..36b74b8 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -22,40 +22,46 @@
     <string name="app_label" msgid="2400883737290705700">"Work 設定檔設定"</string>
     <string name="provisioning_error_title" msgid="6320515739861578118">"糟糕!"</string>
     <string name="setup_work_profile" msgid="1468934631731845267">"設定 Work 設定檔"</string>
-    <string name="company_controls_workspace" msgid="2808025277267917221">"貴機構可控制這個設定檔並確保其安全性,裝置上的其他所有內容則由您自行管理。"</string>
-    <string name="company_controls_device" msgid="8230957518758871390">"您的機構將控管這個裝置並確保其安全。"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"貴機構可控制這個設定檔並確保其安全性,裝置上的其他所有內容則由你自行管理。"</string>
+    <string name="company_controls_device" msgid="8230957518758871390">"你的機構將控管這個裝置並確保其安全。"</string>
     <string name="the_following_is_your_mdm" msgid="6613658218262376404">"下列應用程式需要存取這個設定檔:"</string>
-    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"下列應用程式將管理您的裝置:"</string>
+    <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"下列應用程式將管理你的裝置:"</string>
     <string name="next" msgid="1004321437324424398">"繼續"</string>
-    <string name="setting_up_workspace" msgid="4517537806569988620">"正在設定您的 Work 設定檔…"</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"您的管理員可以監控及管理與這個設定檔相關聯的設定、公司系統權限、應用程式、權限和資料,包括您的網路活動、裝置的位置資訊、通話紀錄,以及聯絡人搜尋紀錄。"</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"您的管理員可以監控及管理與這個裝置相關聯的設定、公司系統權限、應用程式、權限、防盜功能和資料,包括網路活動和裝置的位置資訊。"</string>
-    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"您必須為裝置設定以密碼保護的螢幕鎖定,才能使用防盜功能。"</string>
-    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"如需詳細資訊 (包括貴機構的隱私權政策),請與您的管理員聯絡。"</string>
+    <string name="setting_up_workspace" msgid="4517537806569988620">"正在設定你的 Work 設定檔…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"你的管理員可以監控及管理與這個設定檔相關聯的設定、公司系統權限、應用程式、權限和資料,包括你的網路活動,以及裝置的位置資訊、通話紀錄和聯絡人搜尋紀錄。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>如要瞭解詳情 (包括貴機構的隱私權政策),請與你的管理員聯絡。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"你的管理員可以監控及管理與這個裝置相關聯的設定、公司系統權限、應用程式、權限和資料,包括你的網路活動,以及裝置的位置資訊、通話紀錄和聯絡人搜尋紀錄。<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>如要瞭解詳情 (包括貴機構的隱私權政策),請與你的管理員聯絡。"</string>
+    <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"你必須為裝置設定以密碼保護的螢幕鎖定,才能使用防盜功能。"</string>
+    <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"如需詳細資訊 (包括貴機構的隱私權政策),請與你的管理員聯絡。"</string>
     <string name="learn_more_link" msgid="3012495805919550043">"瞭解詳情"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
     <string name="ok_setup" msgid="4593707675416137504">"確定"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"我同意"</string>
+    <string name="url_error" msgid="5958494012986243186">"無法顯示這個連結。"</string>
+    <string name="terms" msgid="8295436105384703903">"條款"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Work 設定檔資訊"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"受管理的裝置資訊"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"工作設定檔"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"主要使用者"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"移除 Work 設定檔?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Work 設定檔已存在,由下列應用程式管理:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"這個 Work 設定檔 %s 是使用下列應用程式管理:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"要刪除現有的設定檔嗎?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"你已經有透過下列應用程式管理的 Work 設定檔:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"在繼續之前,請參閱"<a href="#read_this_link">"詳細資訊"</a>"。"</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"如果繼續執行,這個設定檔中的所有應用程式和資料都將遭到刪除。"</string>
     <string name="delete_profile" msgid="2299218578684663459">"刪除"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"您必須為裝置加密才能繼續設定 Work 設定檔,這項程序需要一段時間。"</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"您必須為裝置加密才能繼續設定裝置,這項程序需要一段時間。"</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"必須先為這個裝置加密才能設定你的 Work 設定檔,這可能需要一段時間。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"必須先為這個裝置加密才能進行設定程序,這可能需要一段時間。"</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"要為這個裝置加密嗎?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"加密"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密完成"</string>
-    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"輕觸即可繼續設定您的 Work 設定檔"</string>
-    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"無法設定您的工作設定檔,請與您的 IT 部門聯絡或稍後再試。"</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的裝置不支援工作設定檔"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"這個使用者無法設立 Work 設定檔"</string>
+    <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"輕觸即可繼續設定你的 Work 設定檔"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"無法設定你的工作設定檔,請與你的 IT 部門聯絡或稍後再試。"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"無法新增 Work 設定檔"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"這位使用者無法使用 Work 設定檔。如需協助,請與你的管理員聯絡。"</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"這位使用者無法使用 Work 設定檔,請與你的管理員聯絡。"</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"無法在受管理的裝置上設定 Work 設定檔"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"您裝置上的使用者數量已達上限,因此無法建立 Work 設定檔。請至少移除一位使用者,然後再試一次。"</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"這個啟動器應用程式不支援您的工作設定檔,請切換至相容的啟動器。"</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"這個裝置上的使用者過多。請移除一位使用者,然後再試一次。"</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"請變更裝置啟動器"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"這個啟動器應用程式不支援 Work 設定檔"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"確定"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"使用者設定未完成"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"正在連線至 Wi-Fi…"</string>
     <string name="progress_download" msgid="3522436271691064624">"正在下載管理應用程式…"</string>
     <string name="progress_install" msgid="2258045670385866183">"正在安裝管理應用程式…"</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"正在移除不需要的系統應用程式…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"正在進行最後的幾項設定…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"正在設定裝置擁有者…"</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"您的裝置不支援加密功能。請與您的 IT 部門聯絡。"</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"正在初始化裝置…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"這個裝置不支援加密功能,但如果不進行加密就無法完成設定。如需協助,請與你的管理員聯絡。"</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"要停止設定並重設裝置嗎?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"這樣做會重設你的裝置,且你將返回第一個畫面"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"要停止設定並清除裝置的資料嗎?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"確定"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"重設"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"無法設定您的裝置,請與您的 IT 部門聯絡。"</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"這台裝置已完成佈建。"</string>
+    <string name="reset" msgid="6467204151306265796">"重設"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"無法設定設定檔"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"無法設定裝置"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"無法設定裝置。如需協助,請與你的管理員聯絡。"</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"如需協助,請與你的管理員聯絡"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"裝置已設定完畢"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"無法連線至 Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"這台裝置已由恢復原廠設定防護機制鎖定。請與您的 IT 部門聯絡。"</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"你的裝置已啟用恢復原廠設定保護功能。如需協助,請與你的管理員聯絡。"</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"清除中"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"請稍候…"</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"因發生總和檢查碼錯誤而無法使用管理應用程式,請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"發生總和檢查碼錯誤,因此無法使用管理員應用程式。如需協助,請與你的管理員聯絡。"</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"無法下載管理應用程式"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理應用程式因缺少部分元件或已毀損而無法使用,請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"管理員應用程式因缺少部分元件或已毀損而無法使用。如需協助,請與你的管理員聯絡。"</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"無法安裝管理應用程式"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"要停止設定嗎?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"取消中…"</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"要停止設定檔設定程序嗎?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"您可以稍後再透過貴機構所採用的裝置管理應用程式來設定 Work 設定檔。"</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"繼續"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"你可以稍後再透過貴機構的裝置管理應用程式設定 Work 設定檔"</string>
+    <string name="continue_button" msgid="7177918589510964446">"繼續"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"停止"</string>
+    <string name="dismiss" msgid="9009534756748565880">"關閉"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"你即將建立 Work 設定檔,該設定檔將由貴機構管理及監控。適用相關條款。"</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"你即將建立 Work 設定檔,該設定檔將由貴機構管理及監控。適用「<xliff:g id="TERMS_HEADERS">%1$s</xliff:g>」的相關條款。"</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"系統將為你的工作應用程式建立設定檔,該設定檔和你的整個裝置都將由貴機構管理及監控。適用相關條款。"</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"系統將為你的工作應用程式建立設定檔,該設定檔和你的整個裝置都將由貴機構管理及監控。適用「<xliff:g id="TERMS_HEADERS">%1$s</xliff:g>」的相關條款。"</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"這個裝置將由「<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>」負責管理,並確保其安全。適用相關條款。<xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"這個裝置將由「<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>」負責管理,並確保其安全。適用「<xliff:g id="TERMS_HEADERS">%2$s</xliff:g>」的相關條款。<xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"這個連結並不安全,並且在裝置設定完成前都無法開啟:<xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"如有任何問題,請與你的<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g>聯絡。"</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"如有任何問題,請與貴機構的管理員聯絡"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"未完成設定。如需協助,請與你的管理員聯絡。"</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"如需協助,請與你的管理員聯絡"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"機構的管理員"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"「<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>」將使用下列應用程式管理及監控這個裝置:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"貴機構"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"貴機構"</string>
+    <string name="view_terms" msgid="7230493092383341605">"查看條款"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"接受並繼續"</string>
+    <string name="close" msgid="7208600934846389439">"關閉"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"設定你的裝置"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"改變你的工作方式"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"區隔工作資料與個人資料"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"在同一個地方管理 Work 應用程式"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"完成後關閉 Work"</string>
     <string name="provisioning" msgid="4512493827019163451">"佈建中"</string>
     <string name="copying_certs" msgid="5697938664953550881">"正在設定 CA 憑證"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"設定您的設定檔。開始設定"</string>
-    <string name="setup_profile_encryption" msgid="5241291404536277038">"設定您的設定檔。加密資訊"</string>
-    <string name="setup_profile_progress" msgid="7742718527853325656">"設定您的設定檔。顯示進度"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"設定您的裝置。開始設定"</string>
-    <string name="setup_device_encryption" msgid="7852944465414197103">"設定您的裝置。加密資訊"</string>
-    <string name="setup_device_progress" msgid="7035335208571175393">"設定您的裝置。顯示進度"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"設定你的設定檔"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"只要使用 Work 設定檔,就能將你的工作資料與個人資料區分開來"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"只要使用 Work 設定檔,就能集中存放你的工作應用程式"</string>
+    <string name="setup_profile_encryption" msgid="5241291404536277038">"設定你的設定檔。加密資訊"</string>
+    <string name="setup_profile_progress" msgid="7742718527853325656">"設定你的設定檔。顯示進度"</string>
+    <string name="setup_device" msgid="6725265673245816366">"設定你的裝置"</string>
+    <string name="setup_device_encryption" msgid="7852944465414197103">"設定你的裝置。加密資訊"</string>
+    <string name="setup_device_progress" msgid="7035335208571175393">"設定你的裝置。顯示進度"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"[瞭解詳情] 按鈕"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"「<xliff:g id="ICON_LABEL">%1$s</xliff:g>」圖示"</string>
+    <string name="section_heading" msgid="3924666803774291908">"「<xliff:g id="SECTION_HEADING">%1$s</xliff:g>」專區標題。"</string>
+    <string name="section_content" msgid="8875502515704374394">"「<xliff:g id="SECTION_HEADING">%1$s</xliff:g>」專區內容:<xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"展開"</string>
+    <string name="collapse" msgid="7817530505064432580">"收合"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"存取連結清單"</string>
+    <string name="access_links" msgid="7991363727326168600">"存取連結"</string>
+    <string name="access_terms" msgid="1982500872249763745">"存取條款"</string>
+    <string name="read_terms" msgid="1745011123626640728">"閱讀條款"</string>
+    <string name="close_list" msgid="9053538299788717597">"關閉清單"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"要結束設定程序並恢復原廠設定嗎?"</string>
-    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"如果您結束這項設定程序,裝置將恢復原廠設定,而您必須重新進行設定。"</string>
+    <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"如果你結束這項設定程序,裝置將恢復原廠設定,而你必須重新進行設定。"</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"取消"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"重設裝置"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>和<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g>和<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>,<xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>,<xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index eb5d2f8..f25c66e 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -28,34 +28,40 @@
     <string name="the_following_is_your_mdm_for_device" msgid="6717973404364414816">"Uhlelo lokusebenza olulandelayo luzophatha idivayisi yakho:"</string>
     <string name="next" msgid="1004321437324424398">"Okulandelayo"</string>
     <string name="setting_up_workspace" msgid="4517537806569988620">"Isetha iphrofayela yakho yomsebenzi..."</string>
-    <string name="admin_has_ability_to_monitor_profile" msgid="4138671070145317359">"Umlawuli wakho unamandla wokwengamela nokuphatha izilungiselelo, ukufinyelela kwebhizinisi, izinhlelo zokusebenza, izimvume, nedatha ephathelene nephrofayela, kufaka phakathi umlando wekholi nomlando wosesho loxhumana naye."</string>
-    <string name="admin_has_ability_to_monitor_device" msgid="7400390654083275019">"Umlawuli wakho unamandla wokwengamela nokuphatha izilungiselelo, ukufinyelela kwebhizinisi, izinhlelo zokusebenza, izimvume, nedatha ephathelene nale divayisi, kufaka phakathi umsebenzi wenethiwekhi, nolwazi lwendawo yedivayisi yakho."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="4552308842716093826">"Umlawuli wakho unekhono lokuqapha aphinde aphathe izilungiselelo, ukufinyelela kwezinkampani, izinhlelo zokusebenza, izimvume, nedatha ehlotshaniswa nale phrofayela, efaka umsebenzi wenethiwekhi yakho, kanye nendawo yedivayisi yakho, umlando wekholi, umlando wosesho loxhumana naye.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Xhumana nomlawuli wakho ukuze uthole olunye ulwazi, olufaka izinqubomgomo zobumfihlo zenhlangano yakho."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="2375961046794109749">"Umlawuli wakho unekhono lokuqapha aphinde aphathe izilungiselelo, ukufinyelela kwezinkampani, izinhlelo zokusebenza, izimvume, nedatha ehlotshaniswa nale divayisi efaka umsebenzi wakho wenethiwekhi, kanye nendawo yedivayisi yakho, umlando wekholi, nomlando wosesho loxhumana naye.<xliff:g id="LINE_BREAK">&lt;br&gt;&lt;br&gt;</xliff:g>Xhumana nomlawuli wakho ukuze uthole olunye ulwazi, olufana izinqubomgomo zobumfihlo zenhlangano yakho."</string>
     <string name="theft_protection_disabled_warning" msgid="3708092473574738478">"Ukuze usebenzise izici zokuvikela ubugebengu, kufanele nokukhiya kwesikrini okuvikelwe ngephasiwedi kudivayisi yakho."</string>
     <string name="contact_your_admin_for_more_info" msgid="5959191345827902911">"Xhumana nomlawuli wakho ngolwazi olubanzi, kufaka phakathi izinqubomgomo zokwemfihlo zenhlangano yakho."</string>
     <string name="learn_more_link" msgid="3012495805919550043">"Funda kabanzi"</string>
     <string name="cancel_setup" msgid="2949928239276274745">"Khansela"</string>
     <string name="ok_setup" msgid="4593707675416137504">"Kulungile"</string>
     <string name="user_consent_msg" msgid="8820951802130353584">"Ngiyavuma"</string>
+    <string name="url_error" msgid="5958494012986243186">"Lesi sixhumanisi asikwazi ukuboniswa."</string>
+    <string name="terms" msgid="8295436105384703903">"Imigomo"</string>
+    <string name="work_profile_info" msgid="5433388376309583996">"Ulwazi lwephrofayela yomsebenzi"</string>
+    <string name="managed_device_info" msgid="1529447646526616811">"Ulwazi lwedivayisi oluphethwe"</string>
     <string name="default_managed_profile_name" msgid="5370257687074907055">"Iphrofayela yomsebenzi"</string>
     <string name="default_first_meat_user_name" msgid="7540515892748490540">"Umsebenzisi oyinhloko"</string>
-    <string name="delete_profile_title" msgid="3097803266123463699">"Susa iphrofayela yomsebenzi?"</string>
-    <string name="opening_paragraph_delete_profile_unknown_company" msgid="2139238673477554356">"Iphrofayela yomsebenzi isivele ikhona futhi iphethwe ngu-:"</string>
-    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Le phrofayela yomsebenzi iphathelwe i-%s esebenzisa:"</string>
+    <string name="delete_profile_title" msgid="2841349358380849525">"Susa iphrofayela ekhona?"</string>
+    <string name="opening_paragraph_delete_profile" msgid="7846971308431780139">"Usuvele unephrofayela yomsebenzi ephethwe kusetshenziswa uhlelo lokusebenza olulandelayo:"</string>
     <string name="read_more_delete_profile" msgid="7789171620401666343">"Ngaphambi kokuqhubeka, "<a href="#read_this_link">"funda lokhu"</a>"."</string>
     <string name="sure_you_want_to_delete_profile" msgid="6927697984573575564">"Uma uqhubeka, zonke izinhlelo zokusebenza nedatha kule phrofayela kuzosulwa."</string>
     <string name="delete_profile" msgid="2299218578684663459">"Susa"</string>
     <string name="cancel_delete_profile" msgid="5155447537894046036">"Khansela"</string>
-    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ukuze uqhubeke ngokusetha iphrofayela yakho yomsebenzi, uzodinga ukubethela idivayisi yakho. Lokhu kungatha isikhashana."</string>
-    <string name="encrypt_device_text_for_device_owner_setup" msgid="9206667711446040692">"Ukuze uqhubeke usethe idivayisi yakho, kuzomele uyibethele. Lokhu kungathatha isikhathi esithile."</string>
-    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Bethela"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="7828515754696057140">"Ukuze kusethwe iphrofayela yakho yomsebenzi, idivayisi yakho mele ibethelwe. Lokhu kungathatha isikhathi esithile."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="5194673142404735676">"Ukuze usethe le divayisi, kumele iqale ibethelwe kuqala. Lokhu kungathatha isikhathi esithile."</string>
+    <string name="encrypt_this_device_question" msgid="8719916619866892601">"Bethela le divayisi?"</string>
+    <string name="encrypt" msgid="1749320161747489212">"Bethela"</string>
     <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Ukubethela kuqedile"</string>
     <string name="continue_provisioning_notify_text" msgid="1066841819786425980">"Thepha ukuze uqhubeke usethe iphrofayela yakho yomsebenzi"</string>
     <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ayikwazanga ukusehta iphrofayela yakho yomsebenzi. Xhumana nomnyango wakho we-IT noma zama futhi emuva kwesikhathi."</string>
-    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Idivayisi yakho ayisekeli amaphrofayela womsebenzi"</string>
-    <string name="user_cannot_have_work_profile" msgid="5694385275116701139">"Lo msebenzisi akakwazi ukuba nephrofayela yomsebenzi"</string>
+    <string name="cant_add_work_profile" msgid="9217268909964154934">"Ayikwazi ukungeza iphrofayela yomsebenzi"</string>
+    <string name="user_cant_have_work_profile_contact_admin" msgid="1014351338944641678">"Lo msebenzisi akakwazi ukuba nephrofayela yomsebenzi. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
+    <string name="user_cannot_have_work_profiles_contact_admin" msgid="4386452918273443379">"Lo msebenzisi akakwazi ukuba namaphrofayela omsebenzi. Xhumana nomlawuli wakho."</string>
     <string name="device_owner_exists" msgid="8020080296133337023">"Amaphrofayela wokusebenza awakwazi ukusethwa kudivayisi ephethwe"</string>
-    <string name="maximum_user_limit_reached" msgid="4821228722266114449">"Iphrofayela yomsebenzi ayikwazi ukudalwa ngoba ufinyelele kunombolo enkulu yabasebenzisi kudivayisi yakho. Susa okungenani umsebenzisi oyedwa uphinde uzame futhi."</string>
-    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Iphrofayela yakho yomsebenzi ayisekelwe yilesi siqalisi sohlelo lokusebenza. Kuzomele uguqulele kusiqalisi esihambisanayo."</string>
+    <string name="too_many_users_on_device_remove_user_try_again" msgid="2795045208576680027">"Kungenzeka kukhona abasebenzisi abaningi kakhulu kule divayisi. Susa umsebenzisi, bese uyazama futhi."</string>
+    <string name="change_device_launcher" msgid="4523563368433637980">"Shintsha isiqalisi sedivayisi"</string>
+    <string name="launcher_app_cant_be_used_by_work_profile" msgid="3524366082000739743">"Lesi siqalisi sohlelo lokusebenza asikwazi ukusetshenziswa iphrofayela yakho yomsebenzi"</string>
     <string name="cancel_provisioning" msgid="3408069559452653724">"Khansela"</string>
     <string name="pick_launcher" msgid="4257084827403983845">"Kulungile"</string>
     <string name="user_setup_incomplete" msgid="6494920045526591079">"Ukusetha komsebenzisi akuphelile"</string>
@@ -65,42 +71,89 @@
     <string name="progress_connect_to_wifi" msgid="472251154628863539">"Ixhumeka ku-Wi-Fi..."</string>
     <string name="progress_download" msgid="3522436271691064624">"Ilanda uhlelo lokusebenza lomqondisi..."</string>
     <string name="progress_install" msgid="2258045670385866183">"Ifaka uhlelo lokusebenza lomqondisi..."</string>
+    <string name="progress_delete_non_required_apps" msgid="7633458399262691256">"Isusa izinhlelo zokusebenza ezingadingwa isistimu…"</string>
+    <string name="progress_finishing_touches" msgid="9037776404089697198">"Ukuqedela…"</string>
     <string name="progress_set_owner" msgid="8214062820093757961">"Isetha umnikazi wedivayisi..."</string>
-    <string name="preprovisioning_error_encryption_not_supported" msgid="4633230675475838898">"Idivayisi yakho ayisekeli ukubethela. Xhumana nomnyango wakho we-IT."</string>
+    <string name="progress_initialize" msgid="1104643492713424939">"Iqalisa idivayisi…"</string>
+    <string name="device_doesnt_allow_encryption_contact_admin" msgid="8297141458771829628">"Le divayisi ayivumeli ukubethela, okudingeka ekusetheni. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
+    <string name="stop_setup_reset_device_question" msgid="7547191251522623210">"Misa ukusetha uphinde usethe kabusha idivayisi?"</string>
+    <string name="this_will_reset_take_back_first_screen" msgid="4623290347188404725">"Lokhu kuzosetha kabusha idivayisi yakho kuphinde kukubuyisele kusikrini sokuqala"</string>
     <string name="device_owner_cancel_message" msgid="2529288571742712065">"Yeka ukusetha uphinde usule idatha yedivayisi yakho?"</string>
     <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Khansela"</string>
     <string name="device_owner_error_ok" msgid="2002250763093787051">"Kulungile"</string>
-    <string name="device_owner_error_reset" msgid="1609782972753569267">"Setha kabusha"</string>
-    <string name="device_owner_error_general" msgid="5962462955470123776">"Ayikwazanga ukusetha idivayisi yakho. Xhumana nomnyango wakho we-IT."</string>
-    <string name="device_owner_error_already_provisioned" msgid="49944866843771627">"Le divayisi isivele isethiwe."</string>
+    <string name="reset" msgid="6467204151306265796">"Setha kabusha"</string>
+    <string name="cant_set_up_profile" msgid="4341825293970158436">"Ayikwazi ukusetha iphrofayela"</string>
+    <string name="cant_set_up_device" msgid="4120090138983350714">"Ayikwazi ukusetha idivayisi"</string>
+    <string name="couldnt_set_up_device" msgid="60699158233724802">"Ayikwazanga ukusetha idivayisi. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
+    <string name="contact_your_admin_for_help" msgid="8045606258802719235">"Xhumana nomlawuli wakho ukuze uthole usizo"</string>
+    <string name="device_already_set_up" msgid="507881934487140294">"Idivayisi isivele isethiwe"</string>
     <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ayikwazanga ukuxhuma kwi-Wi-Fi"</string>
-    <string name="device_owner_error_frp" msgid="7053630342416280252">"Le divayisi ikhiyiwe ngokuvikelwa kokusetha kabusha kwefekthri. Xhumana nomnyango wakho we-IT."</string>
+    <string name="device_has_reset_protection_contact_admin" msgid="1221351721899290155">"Idivayisi yakho ivulwe ukuvikelwa kokusetha kabusha. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
     <string name="frp_clear_progress_title" msgid="8628074089458234965">"Iyasula"</string>
     <string name="frp_clear_progress_text" msgid="1740164332830598827">"Sicela ulinde..."</string>
-    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ayikwazanga ukusebenzisa uhlelo lokusebenza lomqondisi ngenxa yephutha lokuhlola. Xhumana ngomnyango wakho we-IT."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="7256273143549784838">"Ayikwazanga ukusebenzisa uhlelo lokusebenza lomlawuli ngenxa yephutha le-checksum. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
     <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ayikwazanga ukulanda uhlelo lokusebenza lomqondisi"</string>
-    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ayikwazi ukusebenzisa uhlelo lokusebenza lomqondisi. Xhumana nomnyango wakho we-IT."</string>
+    <string name="device_owner_error_package_invalid" msgid="1096901016820157695">"Ayikwazi ukusebenzisa uhlelo lomlawuli. Izingxenye zalo azikho noma zonakele. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
     <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ayikwazanga ukufaka uhlelo lokusebenza lomqondisi"</string>
     <string name="profile_owner_cancel_message" msgid="6868736915633023477">"Misa ukusetha?"</string>
     <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Cha"</string>
     <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yebo"</string>
     <string name="profile_owner_cancelling" msgid="5679573829145112822">"Iyakhansela..."</string>
     <string name="work_profile_setup_later_title" msgid="9069148190226279892">"Misa ukusetha iphrofayela?"</string>
-    <string name="work_profile_setup_later_message" msgid="2446733709871989895">"Ungasetha iphrofayela yakho yokusebenza ngemuva kwesikhathi kusukela kuhlelo lokusebenza lokuphathwa kwedivayisi olusetshenziswa yinhlangano yakho."</string>
-    <string name="work_profile_setup_continue" msgid="6549708818974016509">"Qhubeka"</string>
+    <string name="work_profile_setup_later_message" msgid="122069011117225292">"Ungasetha iphrofayela yakho yomsebenzi emuva kwesikhathi kuhlelo lokusebenza lenhlangano yakho ledivayisi yokuphatha"</string>
+    <string name="continue_button" msgid="7177918589510964446">"Qhubeka"</string>
     <string name="work_profile_setup_stop" msgid="6772128629992514750">"Misa"</string>
+    <string name="dismiss" msgid="9009534756748565880">"Cashisa"</string>
+    <string name="profile_owner_info" msgid="8975319972303812298">"Usuzodala iphrofayela yomsebenzi ezophathwa iphinde iqashelwe inhlangano yakho. Imigomo izosebenza."</string>
+    <string name="profile_owner_info_with_terms_headers" msgid="7373591910245655373">"Usuzodala iphrofayela yomsebenzi ezophathwa iphinde iqashelwe inhlangano yakho. Imigomo esuka ku-<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> izosebenza."</string>
+    <string name="profile_owner_info_comp" msgid="9190421701126119142">"Iphrofayela izodalelwa izinhlelo zokusebenza zakho. Le phrofayela nokunye kwedivayisi yakho kuzophathwa kuphinde kuqashelwe inhlangano yakho. Imigomo izosebenza."</string>
+    <string name="profile_owner_info_with_terms_headers_comp" msgid="2012766614492554556">"Iphrofayela izodalelwa izinhlelo zokusebenza zakho zomsebenzi. Le phrofayela nayo yonke idivayisi yakho izophathwa iphinde iqashelwe inhlangano yakho. Imigomo esuka ku-<xliff:g id="TERMS_HEADERS">%1$s</xliff:g> izosebenza."</string>
+    <string name="device_owner_info" msgid="2883639372446424007">"Le divayisi izophathwa iphinde igcinwe ivikelekile i-<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> yakho. Imigomo izosebenza. <xliff:g id="VIEW_TERMS">%2$s</xliff:g>"</string>
+    <string name="device_owner_info_with_terms_headers" msgid="7333703548160002079">"Le divayisi izophathwa iphinde igcinwe ivikelekile i-<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g>. Imigomo esuka ku-<xliff:g id="TERMS_HEADERS">%2$s</xliff:g> izosebenza. <xliff:g id="VIEW_TERMS">%3$s</xliff:g>"</string>
+    <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished" msgid="1604497932637832657">"Lesi sixhumanisi asivikelekile futhi asikwazi ukuvulwa kuze kuqedwe ukusethwa kwedivayisi: <xliff:g id="LINK_RAW_TEST">%1$s</xliff:g>"</string>
+    <string name="contact_device_provider" msgid="9100405424740726066">"Uma unemibuzo, xhumana ne-<xliff:g id="ORGANIZATIONS_ADMIN">%1$s</xliff:g> yakho."</string>
+    <string name="if_questions_contact_admin" msgid="6147462485780267795">"Uma unemibuzo, xhumana nomlawuli wenhlangano yakho"</string>
+    <string name="setup_isnt_finished_contact_admin" msgid="235011880559615998">"Ukusetha akuqediwe. Ukuze uthole usizo, xhumana nomlawuli wakho."</string>
+    <string name="for_help_contact_admin" msgid="8687037236275184653">"Ukuze uthole usizo, xhumana nomlawuli wakho"</string>
+    <string name="organization_admin" msgid="1595001081906025683">"umlawuli wenhlangano"</string>
+    <string name="your_org_app_used" msgid="5336414768293540831">"I-<xliff:g id="YOUR_ORGANIZATION">%1$s</xliff:g> izophatha iphinde iqaphele le divayisi isebenzisa uhlelo lokusebenza olulandelayo:"</string>
+    <string name="your_organization_beginning" msgid="5952561489910967255">"Inhlangano yakho"</string>
+    <string name="your_organization_middle" msgid="8288538158061644733">"inhlangano yakho"</string>
+    <string name="view_terms" msgid="7230493092383341605">"Buka imigomo"</string>
+    <string name="accept_and_continue" msgid="1632679734918410653">"Yamukela uphinde uqhubeke"</string>
+    <string name="close" msgid="7208600934846389439">"Vala"</string>
+    <string name="set_up_your_device" msgid="1896651520959894681">"Setha idivayisi yakho"</string>
+    <string name="info_anim_title_0" msgid="3285414600215959704">"Shintsha indlela osebenza ngayo"</string>
+    <string name="info_anim_title_1" msgid="2657512519467714760">"Hlukanisa umsebenzi kusukela kokomuntu siqu"</string>
+    <string name="one_place_for_work_apps" msgid="2595597562302953960">"Indawo eyodwa yezinhlelo zokusebenza zomsebenzi"</string>
+    <string name="info_anim_title_2" msgid="4629781398620470204">"Vala umsebenzi uma usuqedile"</string>
     <string name="provisioning" msgid="4512493827019163451">"Iyanikeza"</string>
     <string name="copying_certs" msgid="5697938664953550881">"Isetha izitifiketi ze-CA"</string>
-    <string name="setup_profile_start_setup" msgid="6793984532953528297">"Setha iphrofayela yakho. Qala ukusetha"</string>
+    <string name="setup_profile" msgid="5573950582159698549">"Setha iphrofayela yakho"</string>
+    <string name="profile_benefits_description" msgid="758432985984252636">"Ngokusebenzisa iphrofayela yomsebenzi, ungahlukanisa idatha yomsebenzi kusukela kudatha yomuntu siqu"</string>
+    <string name="comp_profile_benefits_description" msgid="379837075456998273">"Ngokusebenzisa iphrofayela yomsebenzi, ungagcina izinhlelo zakho zokusebenza endaweni eyodwa"</string>
     <string name="setup_profile_encryption" msgid="5241291404536277038">"Setha iphrofayela yakho. Ukubethela"</string>
     <string name="setup_profile_progress" msgid="7742718527853325656">"Setha iphrofayela yakho. Ibonisa ukuqhubeka"</string>
-    <string name="setup_device_start_setup" msgid="4351340224000741826">"Setha idivayisi yakho. Qala ukusetha"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Setha idivayisi yakho"</string>
     <string name="setup_device_encryption" msgid="7852944465414197103">"Setha idivayisi yakho. Ukubethela"</string>
     <string name="setup_device_progress" msgid="7035335208571175393">"Setha idivayisi yakho. Ibonisa ukuqhubeka"</string>
     <string name="learn_more_label" msgid="2723716758654655009">"Inkinobho yokufunda kabanzi"</string>
     <string name="mdm_icon_label" msgid="3399134595549660561">"<xliff:g id="ICON_LABEL">%1$s</xliff:g> isithonjana"</string>
+    <string name="section_heading" msgid="3924666803774291908">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> isihloko sesigaba."</string>
+    <string name="section_content" msgid="8875502515704374394">"<xliff:g id="SECTION_HEADING">%1$s</xliff:g> okuqukethwe kwesigaba: <xliff:g id="SECTION_CONTENT">%2$s</xliff:g>"</string>
+    <string name="expand" msgid="37188292156131304">"Nweba"</string>
+    <string name="collapse" msgid="7817530505064432580">"Goqa"</string>
+    <string name="access_list_of_links" msgid="7094123315959323372">"Finyelela kuhlu lwezixhumanisi"</string>
+    <string name="access_links" msgid="7991363727326168600">"Izixhumanisi zokufinyelela"</string>
+    <string name="access_terms" msgid="1982500872249763745">"Finyelela imigomo"</string>
+    <string name="read_terms" msgid="1745011123626640728">"Funda imigomo"</string>
+    <string name="close_list" msgid="9053538299788717597">"Vala uhlu"</string>
     <string name="cancel_setup_and_factory_reset_dialog_title" msgid="5416045931532004811">"Phelisa ukusetha futhi isethe kabusha?"</string>
     <string name="cancel_setup_and_factory_reset_dialog_msg" msgid="808442439937994485">"Ukuphelisa lokhu kusetha kuzosetha kabusha idivayisi yakho futhi kukubuyisele esikrinini sokuqala."</string>
     <string name="cancel_setup_and_factory_reset_dialog_cancel" msgid="2810966091829264727">"Khansela"</string>
     <string name="cancel_setup_and_factory_reset_dialog_ok" msgid="7168008267496150529">"Setha kabusha idivayisi"</string>
+    <string name="join_two_items" msgid="6110273439759895837">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> no-<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_last" msgid="3953431463001211545">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> no-<xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
+    <string name="join_many_items_first" msgid="8365482726853276608">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
+    <string name="join_many_items_middle" msgid="8569294838319639963">"<xliff:g id="ADDED_ITEM">%1$s</xliff:g>, <xliff:g id="REST_OF_ITEMS">%2$s</xliff:g>"</string>
 </resources>
diff --git a/res/values/config.xml b/res/values/attrs.xml
similarity index 77%
copy from res/values/config.xml
copy to res/values/attrs.xml
index 4425488..2afeecc 100644
--- a/res/values/config.xml
+++ b/res/values/attrs.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
  */
 -->
 <resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+    <declare-styleable name="Swiper">
+        <attr name="swiper_color" format="color" />
+    </declare-styleable>
+</resources>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
index fbbecd3..d641908 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -21,11 +21,21 @@
     <color name="black">#000000</color>
     <color name="gray">#ebebeb</color>
     <color name="gray_50">#fafafa</color>
-    <color name="white">#ffffff</color>
     <color name="teal">#00796B</color>
     <color name="dark_teal">#00695C</color>
     <color name="dark_turquoise">#4db6ac</color>
     <color name="accent">#4285F4</color>
     <color name="transparent">#00000000</color>
     <color name="orange">#FF5722</color>
-</resources>
+    <!-- Provisioning 2.0 -->
+    <color name="black_text_primary">#212121</color>
+    <color name="black_text_secondary">#757575</color>
+    <color name="black_toolbar">#2D2D2D</color>
+    <color name="blue">#4285F4</color>
+    <color name="gray_button_background">#EEE</color>
+    <color name="gray_button_text">#8A000000</color>
+    <color name="gray_divider">#DCDCDC</color>
+    <color name="gray_status_bar">#BDBDBD</color>
+    <color name="white">#FFF</color>
+    <color name="teal2">#FF26A599</color>
+</resources>
\ No newline at end of file
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 327f48c..b1d60eb 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -50,4 +50,27 @@
     <dimen name="logo_padding_left_right">40dp</dimen>
     <dimen name="max_logo_width">140dp</dimen>
     <dimen name="max_logo_height">86dp</dimen>
-</resources>
+
+    <!--== Provisioning2 ==-->
+
+    <!-- General -->
+    <dimen name="spacer_8">8dp</dimen>
+    <dimen name="spacer_12">12dp</dimen>
+    <dimen name="spacer_16">16dp</dimen>
+    <dimen name="spacer_20">20dp</dimen>
+    <dimen name="spacer_24">24dp</dimen>
+    <dimen name="spacer_32">32dp</dimen>
+    <dimen name="spacer_40">40dp</dimen>
+
+    <!-- Pre-provisioning -->
+    <dimen name="info_view_width">412dp</dimen>
+    <dimen name="info_view_width_x0.5">206dp</dimen>
+    <dimen name="info_view_width_x1.5">618dp</dimen>
+    <dimen name="info_view_width_x2.5">1030dp</dimen>
+
+    <dimen name="info_text_title_size">24sp</dimen>
+
+    <dimen name="intro_button_width">208dp</dimen>
+    <dimen name="intro_button_height">36dp</dimen>
+    <dimen name="case_icon_size">32dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/res/values/config.xml b/res/values/layouts.xml
similarity index 77%
rename from res/values/config.xml
rename to res/values/layouts.xml
index 4425488..3213ae0 100644
--- a/res/values/config.xml
+++ b/res/values/layouts.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /**
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,5 @@
  */
 -->
 <resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+    <bool name="lock_to_portrait">true</bool>
+</resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9d27ab2..8c8b023 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -43,9 +43,9 @@
   <!-- Progress text shown when setting up work profile [CHAR LIMIT=NONE] -->
   <string name="setting_up_workspace">Setting up your work profile\u2026</string>
   <!-- Text in a pop-up that asks the user to confirm that they allow the mobile device management app to take control of the profile they are creating. [CHAR LIMIT=NONE]-->
-  <string name="admin_has_ability_to_monitor_profile">Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, and data associated with this profile, including your network activity, as well as your device\'s location, call history, and contact search history.</string>
+  <string name="admin_has_ability_to_monitor_profile">Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, and data associated with this profile, including your network activity, as well as your device\'s location, call history, and contact search history.<xliff:g id="line_break">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organization\'s privacy policies.</string>
   <!-- Text in a pop-up that asks the user to confirm that they allow the mobile device management app to take control of the device. [CHAR LIMIT=NONE]-->
-  <string name="admin_has_ability_to_monitor_device">Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, theft-protection features, and data associated with this device, including network activity and your device\'s location information.</string>
+  <string name="admin_has_ability_to_monitor_device">Your admin has the ability to monitor and manage settings, corporate access, apps, permissions, and data associated with this device including your network activity, as well as your device\'s location, call history, and contact search history.<xliff:g id="line_break">&lt;br&gt;&lt;br&gt;</xliff:g>Contact your admin for more information, including your organization\'s privacy policies.</string>
   <!-- Text in a pop-up that asks the user to confirm that theft protection will only be enabled after a password-protected screen lock was chosen. [CHAR LIMIT=NONE]-->
   <string name="theft_protection_disabled_warning">To use theft-protection features, you must have a password-protected screen lock for your device.</string>
   <!-- String telling the user how to get more information about their work profile-->
@@ -58,6 +58,16 @@
   <string name="ok_setup">Ok</string>
   <!-- Text of the checkbox to consent to the mobile device management app taking control of the device. [CHAR LIMIT=NONE] -->
   <string name="user_consent_msg">I consent</string>
+  <!-- Error shown when WebView cannot be displayed using provided URL [CHAR LIMIT=40] -->
+  <string name="url_error">This link cannot be displayed.</string>
+
+  <!-- 'Terms and conditions' screen -->
+  <!--Toolbar header [CHAR LIMIT=NONE] -->
+  <string name="terms">Terms</string>
+  <!-- Work profile info terms section heading. [CHAR LIMIT=NONE] -->
+  <string name="work_profile_info">Work profile info</string>
+  <!-- Work profile info terms section heading. [CHAR LIMIT=NONE] -->
+  <string name="managed_device_info">Managed device info</string>
 
   <!-- Default profile name used for the creation of work profiles. [CHAR LIMIT=NONE] -->
   <string name="default_managed_profile_name">Work profile</string>
@@ -66,16 +76,13 @@
   <string name="default_first_meat_user_name">Primary user</string>
 
   <!-- Title on the dialog that prompts the user to confirm that they really want to delete their existing work profile-->
-  <string name="delete_profile_title">Remove work profile?</string>
+  <string name="delete_profile_title">Delete existing profile?</string>
+
   <!-- Opening string on the dialog that prompts the user to confirm that they really want to delete
        their existing work profile. The administration app icon and name appear after the final
        colon. [CHAR LIMIT=NONE] -->
-  <string name="opening_paragraph_delete_profile_unknown_company">A work profile already exists and is managed by:</string>
-    <!-- Opening string on the dialog that prompts the user to confirm that they really want to delete
-         their existing work profile. The administration app icon and name appear after the final
-         colon, the %s is replaced by the domain name of the organization that owns the work
-         profile. [CHAR LIMIT=NONE] -->
-  <string name="opening_paragraph_delete_profile_known_company">This work profile is managed for %s using:</string>
+  <string name="opening_paragraph_delete_profile">You already have a work profile which is managed using the following app:</string>
+
   <!-- String on the dialog that links through to more information about the profile management application. -->
   <string name="read_more_delete_profile">Before proceeding, <a href="#read_this_link">read this</a>.</string>
   <!-- String on the dialog that prompts the user to confirm that they really want to delete their existing work profile-->
@@ -86,11 +93,13 @@
   <string name="cancel_delete_profile">Cancel</string>
 
   <!-- String shown on prompt for user to encrypt and reboot the device, in case of profile setup [CHAR LIMIT=NONE]-->
-  <string name="encrypt_device_text_for_profile_owner_setup">To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time.</string>
+  <string name="encrypt_device_text_for_profile_owner_setup">To set up your work profile, your device needs to be encrypted. This may take some time.</string>
   <!-- String shown on prompt for user to encrypt and reboot the device, in case of device setup [CHAR LIMIT=NONE]-->
-  <string name="encrypt_device_text_for_device_owner_setup">To continue setting up your device, you\'ll need to encrypt it. This may take some time.</string>
+  <string name="encrypt_device_text_for_device_owner_setup">To set up this device, it needs to be encrypted first. This may take some time.</string>
+  <!-- String title shown on encryption dialog. [CHAR LIMIT=20]-->
+  <string name="encrypt_this_device_question">Encrypt this device?</string>
   <!-- String shown on button for user to continue to settings to encrypt the device. [CHAR LIMIT=20]-->
-  <string name="encrypt_device_launch_settings">Encrypt</string>
+  <string name="encrypt">Encrypt</string>
 
   <!-- Title for reminder notification to resume provisioning after encryption [CHAR LIMIT=30] -->
   <string name="continue_provisioning_notify_title">Encryption complete</string>
@@ -100,15 +109,19 @@
   <!-- Explains the failure and what to do to next. [CHAR LIMIT=NONE] -->
   <string name="managed_provisioning_error_text">Couldn\'t set up your work profile. Contact your IT department or try again later.</string>
   <!-- Error string displayed if this device doesn't support work profiles. -->
-  <string name="managed_provisioning_not_supported">Your device doesn\'t support work profiles</string>
+  <string name="cant_add_work_profile">Can\'t add work profile</string>
+  <!-- Error string displayed if this device doesn't support work profiles. -->
+  <string name="user_cant_have_work_profile_contact_admin">This user can\'t have a work profile. For help, contact your admin.</string>
   <!-- Error string displayed if the user that initiated the provisioning is not the user owner. -->
-  <string name="user_cannot_have_work_profile">This user cannot have a work profile</string>
+  <string name="user_cannot_have_work_profiles_contact_admin">This user cannot have work profiles. Contact your admin.</string>
   <!-- Error string displayed if provisioning was initiated on a device with a Device Owner -->
   <string name="device_owner_exists">Work profiles can not be setup on a managed device</string>
   <!-- Error string displayed if maximum user limit is reached -->
-  <string name="maximum_user_limit_reached">Work profile can\'t be created because you\'ve reached the maximum number of users on your device. Remove at least one user and try again.</string>
+  <string name="too_many_users_on_device_remove_user_try_again">There may be too many users on this device. Remove a user, then try again.</string>
   <!-- Error string displayed if the selected launcher doesn't support work profiles. -->
-  <string name="managed_provisioning_not_supported_by_launcher">Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible.</string>
+  <string name="change_device_launcher">Change device launcher</string>
+  <!-- Error string displayed if the selected launcher doesn't support work profiles. -->
+  <string name="launcher_app_cant_be_used_by_work_profile">This launcher app can\'t be used by your work profile</string>
   <!-- Button text for the button that cancels provisioning  -->
   <string name="cancel_provisioning">Cancel</string>
   <!-- Button text for the button that opens the launcher picker  -->
@@ -132,37 +145,53 @@
   <string name="progress_download">Downloading the admin app\u2026</string>
   <!-- Progress text indicating that the device admin package is being installed. [CHAR LIMIT=45] -->
   <string name="progress_install">Installing the admin app\u2026</string>
+  <!-- TODO: Confirm this string with UX. Progress text indicating that non-required system apps are being deleted. [CHAR LIMIT=45] -->
+  <string name="progress_delete_non_required_apps">Removing non-required system apps\u2026</string>
+  <!-- TODO: Confirm this string with UX. Progress text indicating that finishing touches are being put. [CHAR LIMIT=45] -->
+  <string name="progress_finishing_touches">Putting finishing touches\u2026</string>
   <!-- Progress text indicating that the device admin package is set as owner. [CHAR LIMIT=45] -->
   <string name="progress_set_owner">Setting the device owner\u2026</string>
+  <!-- TODO: Confirm this string with UX. Progress text indicating that the progress is being initialized. [CHAR LIMIT=45] -->
+  <string name="progress_initialize">Initializing device\u2026</string>
 
   <!-- Message of the error dialog in case a device does not support encryption, but encryption is necessary. [CHAR LIMIT=NONE] -->
-  <string name="preprovisioning_error_encryption_not_supported">Your device does not support encryption. Contact your IT department.</string>
-  <!-- Message of the cancel dialog. [CHAR LIMIT=NONE] -->
+  <string name="device_doesnt_allow_encryption_contact_admin">This device doesn\'t allow encryption, which is needed for setup. For help, contact your admin.</string>
+  <!-- Title of the cancel device owner provisioning dialog. [CHAR LIMIT=NONE] -->
+  <string name="stop_setup_reset_device_question">Stop setup &amp; reset device?</string>
+  <!-- Title of the cancel device owner provisioning dialog. [CHAR LIMIT=NONE] -->
+  <string name="this_will_reset_take_back_first_screen">This will reset your device and take you back to the first screen</string>
+  <!-- Message of the cancel device owner provisioning dialog. [CHAR LIMIT=NONE] -->
   <string name="device_owner_cancel_message">Stop setting up and erase your device\'s data?</string>
   <!-- Cancel button text of the cancel dialog. [CHAR LIMIT=45] -->
   <string name="device_owner_cancel_cancel">Cancel</string>
   <!-- OK button text of the error dialog. [CHAR LIMIT=45] -->
   <string name="device_owner_error_ok">Ok</string>
   <!-- Reset button text of the error dialog. [CHAR LIMIT=45] -->
-  <string name="device_owner_error_reset">Reset</string>
+  <string name="reset">Reset</string>
   <!-- Message of the error dialog in case of an unspecified error. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_general">Couldn\'t set up your device. Contact your IT department. </string>
+  <string name="cant_set_up_profile">Can\'t set up profile</string>
+  <!-- Message of the error dialog in case of an unspecified error. [CHAR LIMIT=NONE] -->
+  <string name="cant_set_up_device">Can\'t set up device</string>
+  <!-- Message of the error dialog in case of an unspecified error. [CHAR LIMIT=NONE] -->
+  <string name="couldnt_set_up_device">Couldn\'t set up device. For help, contact your admin.</string>
+  <!-- Message of the error dialog in case of an unspecified error. [CHAR LIMIT=NONE] -->
+  <string name="contact_your_admin_for_help">Contact your admin for help</string>
   <!-- Message of the error dialog when already provisioned. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_already_provisioned">This device is already set up.</string>
+  <string name="device_already_set_up">Device is already set up</string>
   <!-- Message of the error dialog when setting up wifi failed. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_wifi">Couldn\'t connect to Wi-Fi</string>
   <!-- Message of the error dialog when passing factory reset protection fails. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_frp">This device is locked by factory reset protection. Contact your IT department.</string>
+  <string name="device_has_reset_protection_contact_admin">Your device has reset protection turned on. For help, contact your admin.</string>
   <!-- Message informing the user that the factory reset protection partition is being erased [CHAR LIMIT=30] -->
   <string name="frp_clear_progress_title" >Erasing</string>
   <!-- Progress screen text shown while erasing the factory reset protection partition [CHAR LIMIT=75] -->
   <string name="frp_clear_progress_text">Please wait...</string>
   <!-- Message of the error dialog when data integrity check fails. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_hash_mismatch">Couldn\'t use the admin app due to a checksum error. Contact your IT department.</string>
+  <string name="device_owner_error_hash_mismatch">Couldn\'t use the admin app due to a checksum error. For help, contact your admin.</string>
   <!-- Message of the error dialog when device owner apk could not be downloaded. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_download_failed">Couldn\'t download the admin app</string>
   <!-- Message of the error dialog when package to install is invalid. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_package_invalid">Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department.</string>
+  <string name="device_owner_error_package_invalid">Can\'t use the admin app. It\'s missing components or corrupted. For help, contact your admin.</string>
   <!-- Message of the error dialog when package could not be installed. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_installation_failed">Couldn\'t install the admin app</string>
   <!-- Message of the cancel dialog. [CHAR LIMIT=NONE] -->
@@ -176,11 +205,63 @@
   <!-- Title of the work profile setup cancel dialog. [CHAR LIMIT=45] -->
   <string name="work_profile_setup_later_title">Stop profile setup?</string>
   <!-- Message of the work profile setup cancel dialog. [CHAR LIMIT=NONE] -->
-  <string name="work_profile_setup_later_message">You can set up your work profile later from the device management app used by your organization.</string>
-  <!-- Cancel button text of the work profile setup cancel dialog. [CHAR LIMIT=45] -->
-  <string name="work_profile_setup_continue">Continue</string>
+  <string name="work_profile_setup_later_message">You can set up your work profile later in your organization\'s device management app</string>
+  <!-- Continue button text. [CHAR LIMIT=20] -->
+  <string name="continue_button">Continue</string>
   <!-- OK button text of the work profile setup cancel dialog. [CHAR LIMIT=45] -->
   <string name="work_profile_setup_stop">Stop</string>
+  <!-- Dismiss button text to close the dialog. [CHAR LIMIT=20] -->
+  <string name="dismiss">Dismiss</string>
+
+  <!--Pre-provisioning screen informing a user of benefits and consequences of creating a Profile Owner / Device Owner (http://go/anim-e1f256) -->
+  <!-- Short explanation of consequences of creating a work profile [CHAR LIMIT=NONE] -->
+  <string name="profile_owner_info">You\'re about to create a work profile that\'ll be managed and monitored by your organization. Terms will apply.</string>
+  <!-- Short explanation of consequences of creating a work profile [CHAR LIMIT=NONE] -->
+  <string name="profile_owner_info_with_terms_headers">You\'re about to create a work profile that\'ll be managed and monitored by your organization. Terms from <xliff:g id="terms_headers" example="EMM Partner A, Company B and Google">%1$s</xliff:g> will apply.</string>
+  <!-- Short explanation of consequences of creating a work profile [CHAR LIMIT=NONE] -->
+  <string name="profile_owner_info_comp">A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organization. Terms will apply.</string>
+  <!-- Short explanation of consequences of creating a work profile [CHAR LIMIT=NONE] -->
+  <string name="profile_owner_info_with_terms_headers_comp">A profile will be created for your work apps. This profile and the rest of your device will be managed and monitored by your organization. Terms from <xliff:g id="terms_headers" example="EMM Partner A, Company B and Google">%1$s</xliff:g> will apply.</string>
+  <!-- Short explanation of consequences of setting a device owner [CHAR LIMIT=NONE] -->
+  <string name="device_owner_info">This device will be managed and kept secure by <xliff:g id="your organization" example="your organization">%1$s</xliff:g>. Terms will apply. <xliff:g id="view_terms" example="View Terms">%2$s</xliff:g></string>
+  <!-- Short explanation of consequences of setting a device owner [CHAR LIMIT=NONE] -->
+  <string name="device_owner_info_with_terms_headers">This device will be managed and kept secure by <xliff:g id="your organization" example="your organization">%1$s</xliff:g>. Terms from <xliff:g id="terms_headers" example="EMM Partner A, Company B and Google">%2$s</xliff:g> will apply. <xliff:g id="view_terms" example="View Terms">%3$s</xliff:g></string>
+  <!-- Short explanation of consequences of setting a device owner [CHAR LIMIT=NONE] -->
+  <string name="link_isnt_secure_and_cant_be_opened_until_device_setup_finished">This link isn\'t secure and can\'t be opened until device setup is finished: <xliff:g id="link_raw_test" example="http://insecure-http-link.com/?p1=v1&amp;p2=v2">%1$s</xliff:g></string>
+  <!-- Text with link to device's provider in case of more questions [CHAR LIMIT=NONE] -->
+  <string name="contact_device_provider">If you have questions, contact your <xliff:g id="organizations_admin" example="organizations_admin">%1$s</xliff:g>.</string>
+  <!-- Error message encouraging to contact admin [CHAR LIMIT=NONE] -->
+  <string name="if_questions_contact_admin">If you have questions, contact your organization\'s admin</string>
+  <!-- Error message with unfinished setup[CHAR LIMIT=NONE] -->
+  <string name="setup_isnt_finished_contact_admin">Setup isn\'t finished. For help, contact your admin.</string>
+  <!-- Error message encouraging to contact admin [CHAR LIMIT=NONE] -->
+  <string name="for_help_contact_admin">For help, contact your admin</string>
+  <!-- Provider of the device (e.g. employer) [CHAR LIMIT=NONE] -->
+  <string name="organization_admin">organization\'s admin</string>
+  <!-- Information of the app used by your organization to manage the device -->
+  <string name="your_org_app_used"><xliff:g id="Your organization" example="Your organization">%1$s</xliff:g> will manage and monitor this device using the following app:</string>
+  <!-- Your organization - beginning of a sentence [CHAR LIMIT=NONE] -->
+  <string name="your_organization_beginning">Your organization</string>
+  <!-- Your organization - middle of the sentence [CHAR LIMIT=NONE] -->
+  <string name="your_organization_middle">your organization</string>
+  <!--Button that lauches a screen showing terms and conditions [CHAR LIMIT=20] -->
+  <string name="view_terms">View terms</string>
+  <!--Button initiating a profile/device owner setup process [CHAR LIMIT=20] -->
+  <string name="accept_and_continue">Accept &amp; continue</string>
+  <!--Close button cancelling a profile/device owner setup process [CHAR LIMIT=20] -->
+  <string name="close">Close</string>
+  <!--Header for device owner provisioning setup screen [CHAR LIMIT=NONE] -->
+  <string name="set_up_your_device">Set up your device</string>
+
+  <!-- Animation informing a user about benefits of having a managed profile (http://go/anim-e1f256) -->
+  <!-- Title 1/3 from slides [CHAR LIMIT=NONE]-->
+  <string name="info_anim_title_0">Change the way you work</string>
+  <!-- Title 2/3 from slides [CHAR LIMIT=NONE]-->
+  <string name="info_anim_title_1">Separate work from personal</string>
+  <!-- Title 2/3 from slides - COMP case [CHAR LIMIT=NONE]-->
+  <string name="one_place_for_work_apps">One place for work apps</string>
+  <!-- Title 3/3 from slides [CHAR LIMIT=NONE]-->
+  <string name="info_anim_title_2">Turn off work when you\'re done</string>
 
   <!-- CertService -->
   <!-- Title of a status bar notification for a service which installs CA certificates to secondary users. [CHAR LIMIT=45] -->
@@ -189,14 +270,18 @@
   <string name="copying_certs">Setting up CA certificates</string>
 
   <!-- Accessibility Descriptions --> <skip/>
-  <!-- Accessibility description for the profile setup screen showing organization info. [CHAR LIMIT=NONE] -->
-  <string name="setup_profile_start_setup">Set up your profile. Start setup</string>
+  <!-- Accessibility description for the profile setup screen. [CHAR LIMIT=NONE] -->
+  <string name="setup_profile">Set up your profile</string>
+  <!-- Accessibility description for the profile benefits animation (shown on profile setup screen) [CHAR LIMIT=NONE] -->
+  <string name="profile_benefits_description">By using a work profile, you can separate work data from personal data</string>
+  <!-- Accessibility description for the profile benefits animation (shown on profile setup screen) [CHAR LIMIT=NONE] -->
+  <string name="comp_profile_benefits_description">By using a work profile, you can keep your work apps in one place</string>
   <!-- Accessibility description for the profile setup screen showing encryption info. [CHAR LIMIT=NONE] -->
   <string name="setup_profile_encryption">Set up your profile. Encryption</string>
   <!-- Accessibility description for the profile setup screen showing progress. [CHAR LIMIT=NONE] -->
   <string name="setup_profile_progress">Set up your profile. Showing progress</string>
   <!-- Accessibility description for the device setup screen showing company info. [CHAR LIMIT=NONE] -->
-  <string name="setup_device_start_setup">Set up your device. Start setup</string>
+  <string name="setup_device">Set up your device</string>
   <!-- Accessibility description for the device setup screen showing encryption info. [CHAR LIMIT=NONE] -->
   <string name="setup_device_encryption">Set up your device. Encryption</string>
   <!-- Accessibility description for the device setup screen showing progress. [CHAR LIMIT=NONE] -->
@@ -205,6 +290,24 @@
   <string name="learn_more_label">Learn more button</string>
   <!-- Accessibility description for the company icon. [CHAR LIMIT=NONE] -->
   <string name="mdm_icon_label"><xliff:g id="icon_label" example="Test App">%1$s</xliff:g> icon</string>
+  <!-- Accessibility description for a section heading. [CHAR LIMIT=NONE] -->
+  <string name="section_heading"><xliff:g id="section_heading" example="Early Renaissance">%1$s</xliff:g> section heading.</string>
+  <!-- Accessibility description for section content. Followed by actual content. [CHAR LIMIT=NONE] -->
+  <string name="section_content"><xliff:g id="section_heading" example="Early Renaissance">%1$s</xliff:g> section content: <xliff:g id="section_content" example="Once upon a time [...]">%2$s</xliff:g></string>
+  <!-- Accessibility description for triggering an expansion of a collapsed element. [CHAR LIMIT=NONE] -->
+  <string name="expand">Expand</string>
+  <!-- Accessibility description for triggering collapsing of an expanded element. [CHAR LIMIT=NONE] -->
+  <string name="collapse">Collapse</string>
+  <!-- Accessibility description for opening a context menu with a list of links contained in the text element. [CHAR LIMIT=40] -->
+  <string name="access_list_of_links">Access a list of links</string>
+  <!-- Accessibility description for opening a context menu with a list of links contained in the text element. [CHAR LIMIT=40] -->
+  <string name="access_links">Access links</string>
+  <!-- Accessibility description for opening a screen with terms. [CHAR LIMIT=20] -->
+  <string name="access_terms">Access terms</string>
+  <!-- Accessibility description for opening a screen with terms. [CHAR LIMIT=20] -->
+  <string name="read_terms">Read terms</string>
+  <!--List item responsible for closing the list of links [CHAR LIMIT=20] -->
+  <string name="close_list">Close list</string>
 
   <!-- TODO: Following strings have to be updated. -->
   <!-- Strings used in the dialog asking for user confirmation to cancel the setup process and factory reset the device. -->
@@ -216,4 +319,14 @@
   <string name="cancel_setup_and_factory_reset_dialog_cancel">Cancel</string>
   <!-- OK button text of the dialog. [CHAR LIMIT=45] -->
   <string name="cancel_setup_and_factory_reset_dialog_ok">Reset device</string>
-</resources>
+
+  <!-- Concatenating lists of items -->
+  <!-- [CHAR_LIMIT=NONE] Format to put together two items in a list. -->
+  <string name="join_two_items"><xliff:g id="first_item">%1$s</xliff:g> and <xliff:g id="second_item">%2$s</xliff:g></string>
+  <!-- [CHAR_LIMIT=NONE] Format to put the last item at the end of a series of 3 or more items in a list -->
+  <string name="join_many_items_last"><xliff:g id="all_but_last_item">%1$s</xliff:g> and <xliff:g id="last_item">%2$s</xliff:g></string>
+  <!-- [CHAR_LIMIT=NONE] Format to put the first item at the start of a series of 3 or more items in a list -->
+  <string name="join_many_items_first"><xliff:g id="first_item">%1$s</xliff:g>, <xliff:g id="all_but_first_and_last_item">%2$s</xliff:g></string>
+  <!-- [CHAR_LIMIT=NONE] Format to put the middle items together in a series of 4 or more items in a list -->
+  <string name="join_many_items_middle"><xliff:g id="added_item">%1$s</xliff:g>, <xliff:g id="rest_of_items">%2$s</xliff:g></string>
+</resources>
\ No newline at end of file
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 8a39557..2e3fc28 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -98,4 +98,87 @@
       <!-- Color for enabled button -->
       <item name="android:colorAccent">@color/accent</item>
     </style>
-</resources>
+
+    <style name="Provisioning2Theme" parent="SuwThemeMaterial.Light">
+        <item name="android:windowBackground">@color/white</item>
+        <item name="android:colorBackground">@color/white</item>
+        <item name="swiper_color">@color/teal2</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text">
+        <item name="android:textColor">@color/black</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text.Primary">
+        <item name="android:textColor">@color/black_text_primary</item>
+        <item name="android:textSize">16sp</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text.Primary.Title">
+        <item name="android:fontFamily">sans-serif-medium</item>
+        <item name="android:textSize">@dimen/info_text_title_size</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text.Primary.Title.InfoAnimation">
+        <item name="android:layout_width">@dimen/info_view_width</item>
+        <item name="android:layout_height">match_parent</item>
+        <item name="android:breakStrategy">balanced</item>
+        <item name="android:gravity">center</item>
+        <item name="android:singleLine">false</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text.Secondary">
+        <item name="android:textColor">@color/black_text_secondary</item>
+        <!--notice: line height 20sp (textSize + leading)-->
+        <item name="android:textSize">14sp</item>
+        <item name="android:lineSpacingExtra">6sp</item>
+    </style>
+
+    <style name="Provisioning2Theme.Text.Secondary.Small">
+        <!--notice: line height 20sp (textSize + leading)-->
+        <item name="android:textSize">12sp</item>
+        <item name="android:lineSpacingExtra">8sp</item>
+    </style>
+
+    <style name="Provisioning2Theme.Button" parent="SuwButtonItem">
+        <item name="android:paddingStart">@dimen/spacer_12</item>
+        <item name="android:paddingEnd">@dimen/spacer_12</item>
+        <item name="android:paddingTop">0dp</item>
+        <item name="android:paddingBottom">0dp</item>
+        <item name="android:minHeight">0dp</item>
+        <item name="android:layout_gravity">center_horizontal</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="Provisioning2Theme.Button.Blue">
+        <item name="android:textColor">@color/white</item>
+        <item name="android:background">@color/blue</item>
+    </style>
+
+    <style name="Provisioning2Theme.Button.Gray">
+        <item name="android:textColor">@color/gray_button_text</item>
+        <item name="android:background">@color/gray_button_background</item>
+    </style>
+
+    <style name="Provisioning2Theme.Button.Transparent">
+        <item name="android:textColor">@color/blue</item>
+        <item name="android:background">@null</item>
+        <item name="android:textAllCaps">false</item>
+    </style>
+
+    <style name="Provisioning2Theme.Divider">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">1dp</item>
+        <item name="android:background">@color/gray_divider</item>
+    </style>
+
+    <style name="Provisioning2Theme.Toolbar">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">?android:attr/actionBarSize</item>
+        <item name="android:background">@color/black_toolbar</item>
+        <item name="android:titleTextColor">?android:attr/windowBackground</item>
+        <item name="android:navigationIcon">@drawable/ic_arrow_back_wht_24dp</item>
+        <item name="android:navigationContentDescription">@*android:string/action_bar_up_description</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/res/values/styles_swiper.xml b/res/values/styles_swiper.xml
new file mode 100644
index 0000000..b9a02b3
--- /dev/null
+++ b/res/values/styles_swiper.xml
@@ -0,0 +1,2214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!--
+    Approximation of the color palette.
+    Necessary due to the framework limitations (Theme overlay color must be declared upfront).
+
+    To regenerate use: swiper-theme-gen.sh from tools directory.
+-->
+<resources>
+    <style name="Swiper000000" parent="Provisioning2Theme">
+        <item name="swiper_color">#000000</item>
+    </style>
+    <style name="Swiper000020" parent="Provisioning2Theme">
+        <item name="swiper_color">#000020</item>
+    </style>
+    <style name="Swiper000040" parent="Provisioning2Theme">
+        <item name="swiper_color">#000040</item>
+    </style>
+    <style name="Swiper000060" parent="Provisioning2Theme">
+        <item name="swiper_color">#000060</item>
+    </style>
+    <style name="Swiper000080" parent="Provisioning2Theme">
+        <item name="swiper_color">#000080</item>
+    </style>
+    <style name="Swiper0000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0000a0</item>
+    </style>
+    <style name="Swiper0000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0000c0</item>
+    </style>
+    <style name="Swiper0000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0000e0</item>
+    </style>
+    <style name="Swiper0000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#0000ff</item>
+    </style>
+    <style name="Swiper002000" parent="Provisioning2Theme">
+        <item name="swiper_color">#002000</item>
+    </style>
+    <style name="Swiper002020" parent="Provisioning2Theme">
+        <item name="swiper_color">#002020</item>
+    </style>
+    <style name="Swiper002040" parent="Provisioning2Theme">
+        <item name="swiper_color">#002040</item>
+    </style>
+    <style name="Swiper002060" parent="Provisioning2Theme">
+        <item name="swiper_color">#002060</item>
+    </style>
+    <style name="Swiper002080" parent="Provisioning2Theme">
+        <item name="swiper_color">#002080</item>
+    </style>
+    <style name="Swiper0020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0020a0</item>
+    </style>
+    <style name="Swiper0020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0020c0</item>
+    </style>
+    <style name="Swiper0020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0020e0</item>
+    </style>
+    <style name="Swiper0020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#0020ff</item>
+    </style>
+    <style name="Swiper004000" parent="Provisioning2Theme">
+        <item name="swiper_color">#004000</item>
+    </style>
+    <style name="Swiper004020" parent="Provisioning2Theme">
+        <item name="swiper_color">#004020</item>
+    </style>
+    <style name="Swiper004040" parent="Provisioning2Theme">
+        <item name="swiper_color">#004040</item>
+    </style>
+    <style name="Swiper004060" parent="Provisioning2Theme">
+        <item name="swiper_color">#004060</item>
+    </style>
+    <style name="Swiper004080" parent="Provisioning2Theme">
+        <item name="swiper_color">#004080</item>
+    </style>
+    <style name="Swiper0040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0040a0</item>
+    </style>
+    <style name="Swiper0040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0040c0</item>
+    </style>
+    <style name="Swiper0040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0040e0</item>
+    </style>
+    <style name="Swiper0040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#0040ff</item>
+    </style>
+    <style name="Swiper006000" parent="Provisioning2Theme">
+        <item name="swiper_color">#006000</item>
+    </style>
+    <style name="Swiper006020" parent="Provisioning2Theme">
+        <item name="swiper_color">#006020</item>
+    </style>
+    <style name="Swiper006040" parent="Provisioning2Theme">
+        <item name="swiper_color">#006040</item>
+    </style>
+    <style name="Swiper006060" parent="Provisioning2Theme">
+        <item name="swiper_color">#006060</item>
+    </style>
+    <style name="Swiper006080" parent="Provisioning2Theme">
+        <item name="swiper_color">#006080</item>
+    </style>
+    <style name="Swiper0060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0060a0</item>
+    </style>
+    <style name="Swiper0060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0060c0</item>
+    </style>
+    <style name="Swiper0060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0060e0</item>
+    </style>
+    <style name="Swiper0060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#0060ff</item>
+    </style>
+    <style name="Swiper008000" parent="Provisioning2Theme">
+        <item name="swiper_color">#008000</item>
+    </style>
+    <style name="Swiper008020" parent="Provisioning2Theme">
+        <item name="swiper_color">#008020</item>
+    </style>
+    <style name="Swiper008040" parent="Provisioning2Theme">
+        <item name="swiper_color">#008040</item>
+    </style>
+    <style name="Swiper008060" parent="Provisioning2Theme">
+        <item name="swiper_color">#008060</item>
+    </style>
+    <style name="Swiper008080" parent="Provisioning2Theme">
+        <item name="swiper_color">#008080</item>
+    </style>
+    <style name="Swiper0080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0080a0</item>
+    </style>
+    <style name="Swiper0080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0080c0</item>
+    </style>
+    <style name="Swiper0080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#0080e0</item>
+    </style>
+    <style name="Swiper0080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#0080ff</item>
+    </style>
+    <style name="Swiper00a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a000</item>
+    </style>
+    <style name="Swiper00a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a020</item>
+    </style>
+    <style name="Swiper00a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a040</item>
+    </style>
+    <style name="Swiper00a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a060</item>
+    </style>
+    <style name="Swiper00a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a080</item>
+    </style>
+    <style name="Swiper00a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a0a0</item>
+    </style>
+    <style name="Swiper00a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a0c0</item>
+    </style>
+    <style name="Swiper00a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a0e0</item>
+    </style>
+    <style name="Swiper00a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#00a0ff</item>
+    </style>
+    <style name="Swiper00c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c000</item>
+    </style>
+    <style name="Swiper00c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c020</item>
+    </style>
+    <style name="Swiper00c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c040</item>
+    </style>
+    <style name="Swiper00c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c060</item>
+    </style>
+    <style name="Swiper00c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c080</item>
+    </style>
+    <style name="Swiper00c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c0a0</item>
+    </style>
+    <style name="Swiper00c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c0c0</item>
+    </style>
+    <style name="Swiper00c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c0e0</item>
+    </style>
+    <style name="Swiper00c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#00c0ff</item>
+    </style>
+    <style name="Swiper00e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e000</item>
+    </style>
+    <style name="Swiper00e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e020</item>
+    </style>
+    <style name="Swiper00e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e040</item>
+    </style>
+    <style name="Swiper00e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e060</item>
+    </style>
+    <style name="Swiper00e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e080</item>
+    </style>
+    <style name="Swiper00e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e0a0</item>
+    </style>
+    <style name="Swiper00e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e0c0</item>
+    </style>
+    <style name="Swiper00e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e0e0</item>
+    </style>
+    <style name="Swiper00e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#00e0ff</item>
+    </style>
+    <style name="Swiper00ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ff00</item>
+    </style>
+    <style name="Swiper00ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ff20</item>
+    </style>
+    <style name="Swiper00ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ff40</item>
+    </style>
+    <style name="Swiper00ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ff60</item>
+    </style>
+    <style name="Swiper00ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ff80</item>
+    </style>
+    <style name="Swiper00ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ffa0</item>
+    </style>
+    <style name="Swiper00ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ffc0</item>
+    </style>
+    <style name="Swiper00ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ffe0</item>
+    </style>
+    <style name="Swiper00ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#00ffff</item>
+    </style>
+    <style name="Swiper200000" parent="Provisioning2Theme">
+        <item name="swiper_color">#200000</item>
+    </style>
+    <style name="Swiper200020" parent="Provisioning2Theme">
+        <item name="swiper_color">#200020</item>
+    </style>
+    <style name="Swiper200040" parent="Provisioning2Theme">
+        <item name="swiper_color">#200040</item>
+    </style>
+    <style name="Swiper200060" parent="Provisioning2Theme">
+        <item name="swiper_color">#200060</item>
+    </style>
+    <style name="Swiper200080" parent="Provisioning2Theme">
+        <item name="swiper_color">#200080</item>
+    </style>
+    <style name="Swiper2000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2000a0</item>
+    </style>
+    <style name="Swiper2000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2000c0</item>
+    </style>
+    <style name="Swiper2000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2000e0</item>
+    </style>
+    <style name="Swiper2000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#2000ff</item>
+    </style>
+    <style name="Swiper202000" parent="Provisioning2Theme">
+        <item name="swiper_color">#202000</item>
+    </style>
+    <style name="Swiper202020" parent="Provisioning2Theme">
+        <item name="swiper_color">#202020</item>
+    </style>
+    <style name="Swiper202040" parent="Provisioning2Theme">
+        <item name="swiper_color">#202040</item>
+    </style>
+    <style name="Swiper202060" parent="Provisioning2Theme">
+        <item name="swiper_color">#202060</item>
+    </style>
+    <style name="Swiper202080" parent="Provisioning2Theme">
+        <item name="swiper_color">#202080</item>
+    </style>
+    <style name="Swiper2020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2020a0</item>
+    </style>
+    <style name="Swiper2020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2020c0</item>
+    </style>
+    <style name="Swiper2020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2020e0</item>
+    </style>
+    <style name="Swiper2020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#2020ff</item>
+    </style>
+    <style name="Swiper204000" parent="Provisioning2Theme">
+        <item name="swiper_color">#204000</item>
+    </style>
+    <style name="Swiper204020" parent="Provisioning2Theme">
+        <item name="swiper_color">#204020</item>
+    </style>
+    <style name="Swiper204040" parent="Provisioning2Theme">
+        <item name="swiper_color">#204040</item>
+    </style>
+    <style name="Swiper204060" parent="Provisioning2Theme">
+        <item name="swiper_color">#204060</item>
+    </style>
+    <style name="Swiper204080" parent="Provisioning2Theme">
+        <item name="swiper_color">#204080</item>
+    </style>
+    <style name="Swiper2040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2040a0</item>
+    </style>
+    <style name="Swiper2040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2040c0</item>
+    </style>
+    <style name="Swiper2040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2040e0</item>
+    </style>
+    <style name="Swiper2040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#2040ff</item>
+    </style>
+    <style name="Swiper206000" parent="Provisioning2Theme">
+        <item name="swiper_color">#206000</item>
+    </style>
+    <style name="Swiper206020" parent="Provisioning2Theme">
+        <item name="swiper_color">#206020</item>
+    </style>
+    <style name="Swiper206040" parent="Provisioning2Theme">
+        <item name="swiper_color">#206040</item>
+    </style>
+    <style name="Swiper206060" parent="Provisioning2Theme">
+        <item name="swiper_color">#206060</item>
+    </style>
+    <style name="Swiper206080" parent="Provisioning2Theme">
+        <item name="swiper_color">#206080</item>
+    </style>
+    <style name="Swiper2060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2060a0</item>
+    </style>
+    <style name="Swiper2060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2060c0</item>
+    </style>
+    <style name="Swiper2060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2060e0</item>
+    </style>
+    <style name="Swiper2060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#2060ff</item>
+    </style>
+    <style name="Swiper208000" parent="Provisioning2Theme">
+        <item name="swiper_color">#208000</item>
+    </style>
+    <style name="Swiper208020" parent="Provisioning2Theme">
+        <item name="swiper_color">#208020</item>
+    </style>
+    <style name="Swiper208040" parent="Provisioning2Theme">
+        <item name="swiper_color">#208040</item>
+    </style>
+    <style name="Swiper208060" parent="Provisioning2Theme">
+        <item name="swiper_color">#208060</item>
+    </style>
+    <style name="Swiper208080" parent="Provisioning2Theme">
+        <item name="swiper_color">#208080</item>
+    </style>
+    <style name="Swiper2080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2080a0</item>
+    </style>
+    <style name="Swiper2080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2080c0</item>
+    </style>
+    <style name="Swiper2080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#2080e0</item>
+    </style>
+    <style name="Swiper2080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#2080ff</item>
+    </style>
+    <style name="Swiper20a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a000</item>
+    </style>
+    <style name="Swiper20a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a020</item>
+    </style>
+    <style name="Swiper20a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a040</item>
+    </style>
+    <style name="Swiper20a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a060</item>
+    </style>
+    <style name="Swiper20a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a080</item>
+    </style>
+    <style name="Swiper20a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a0a0</item>
+    </style>
+    <style name="Swiper20a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a0c0</item>
+    </style>
+    <style name="Swiper20a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a0e0</item>
+    </style>
+    <style name="Swiper20a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#20a0ff</item>
+    </style>
+    <style name="Swiper20c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c000</item>
+    </style>
+    <style name="Swiper20c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c020</item>
+    </style>
+    <style name="Swiper20c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c040</item>
+    </style>
+    <style name="Swiper20c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c060</item>
+    </style>
+    <style name="Swiper20c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c080</item>
+    </style>
+    <style name="Swiper20c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c0a0</item>
+    </style>
+    <style name="Swiper20c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c0c0</item>
+    </style>
+    <style name="Swiper20c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c0e0</item>
+    </style>
+    <style name="Swiper20c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#20c0ff</item>
+    </style>
+    <style name="Swiper20e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e000</item>
+    </style>
+    <style name="Swiper20e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e020</item>
+    </style>
+    <style name="Swiper20e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e040</item>
+    </style>
+    <style name="Swiper20e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e060</item>
+    </style>
+    <style name="Swiper20e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e080</item>
+    </style>
+    <style name="Swiper20e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e0a0</item>
+    </style>
+    <style name="Swiper20e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e0c0</item>
+    </style>
+    <style name="Swiper20e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e0e0</item>
+    </style>
+    <style name="Swiper20e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#20e0ff</item>
+    </style>
+    <style name="Swiper20ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ff00</item>
+    </style>
+    <style name="Swiper20ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ff20</item>
+    </style>
+    <style name="Swiper20ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ff40</item>
+    </style>
+    <style name="Swiper20ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ff60</item>
+    </style>
+    <style name="Swiper20ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ff80</item>
+    </style>
+    <style name="Swiper20ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ffa0</item>
+    </style>
+    <style name="Swiper20ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ffc0</item>
+    </style>
+    <style name="Swiper20ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ffe0</item>
+    </style>
+    <style name="Swiper20ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#20ffff</item>
+    </style>
+    <style name="Swiper400000" parent="Provisioning2Theme">
+        <item name="swiper_color">#400000</item>
+    </style>
+    <style name="Swiper400020" parent="Provisioning2Theme">
+        <item name="swiper_color">#400020</item>
+    </style>
+    <style name="Swiper400040" parent="Provisioning2Theme">
+        <item name="swiper_color">#400040</item>
+    </style>
+    <style name="Swiper400060" parent="Provisioning2Theme">
+        <item name="swiper_color">#400060</item>
+    </style>
+    <style name="Swiper400080" parent="Provisioning2Theme">
+        <item name="swiper_color">#400080</item>
+    </style>
+    <style name="Swiper4000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4000a0</item>
+    </style>
+    <style name="Swiper4000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4000c0</item>
+    </style>
+    <style name="Swiper4000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4000e0</item>
+    </style>
+    <style name="Swiper4000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#4000ff</item>
+    </style>
+    <style name="Swiper402000" parent="Provisioning2Theme">
+        <item name="swiper_color">#402000</item>
+    </style>
+    <style name="Swiper402020" parent="Provisioning2Theme">
+        <item name="swiper_color">#402020</item>
+    </style>
+    <style name="Swiper402040" parent="Provisioning2Theme">
+        <item name="swiper_color">#402040</item>
+    </style>
+    <style name="Swiper402060" parent="Provisioning2Theme">
+        <item name="swiper_color">#402060</item>
+    </style>
+    <style name="Swiper402080" parent="Provisioning2Theme">
+        <item name="swiper_color">#402080</item>
+    </style>
+    <style name="Swiper4020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4020a0</item>
+    </style>
+    <style name="Swiper4020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4020c0</item>
+    </style>
+    <style name="Swiper4020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4020e0</item>
+    </style>
+    <style name="Swiper4020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#4020ff</item>
+    </style>
+    <style name="Swiper404000" parent="Provisioning2Theme">
+        <item name="swiper_color">#404000</item>
+    </style>
+    <style name="Swiper404020" parent="Provisioning2Theme">
+        <item name="swiper_color">#404020</item>
+    </style>
+    <style name="Swiper404040" parent="Provisioning2Theme">
+        <item name="swiper_color">#404040</item>
+    </style>
+    <style name="Swiper404060" parent="Provisioning2Theme">
+        <item name="swiper_color">#404060</item>
+    </style>
+    <style name="Swiper404080" parent="Provisioning2Theme">
+        <item name="swiper_color">#404080</item>
+    </style>
+    <style name="Swiper4040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4040a0</item>
+    </style>
+    <style name="Swiper4040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4040c0</item>
+    </style>
+    <style name="Swiper4040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4040e0</item>
+    </style>
+    <style name="Swiper4040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#4040ff</item>
+    </style>
+    <style name="Swiper406000" parent="Provisioning2Theme">
+        <item name="swiper_color">#406000</item>
+    </style>
+    <style name="Swiper406020" parent="Provisioning2Theme">
+        <item name="swiper_color">#406020</item>
+    </style>
+    <style name="Swiper406040" parent="Provisioning2Theme">
+        <item name="swiper_color">#406040</item>
+    </style>
+    <style name="Swiper406060" parent="Provisioning2Theme">
+        <item name="swiper_color">#406060</item>
+    </style>
+    <style name="Swiper406080" parent="Provisioning2Theme">
+        <item name="swiper_color">#406080</item>
+    </style>
+    <style name="Swiper4060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4060a0</item>
+    </style>
+    <style name="Swiper4060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4060c0</item>
+    </style>
+    <style name="Swiper4060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4060e0</item>
+    </style>
+    <style name="Swiper4060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#4060ff</item>
+    </style>
+    <style name="Swiper408000" parent="Provisioning2Theme">
+        <item name="swiper_color">#408000</item>
+    </style>
+    <style name="Swiper408020" parent="Provisioning2Theme">
+        <item name="swiper_color">#408020</item>
+    </style>
+    <style name="Swiper408040" parent="Provisioning2Theme">
+        <item name="swiper_color">#408040</item>
+    </style>
+    <style name="Swiper408060" parent="Provisioning2Theme">
+        <item name="swiper_color">#408060</item>
+    </style>
+    <style name="Swiper408080" parent="Provisioning2Theme">
+        <item name="swiper_color">#408080</item>
+    </style>
+    <style name="Swiper4080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4080a0</item>
+    </style>
+    <style name="Swiper4080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4080c0</item>
+    </style>
+    <style name="Swiper4080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#4080e0</item>
+    </style>
+    <style name="Swiper4080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#4080ff</item>
+    </style>
+    <style name="Swiper40a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a000</item>
+    </style>
+    <style name="Swiper40a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a020</item>
+    </style>
+    <style name="Swiper40a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a040</item>
+    </style>
+    <style name="Swiper40a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a060</item>
+    </style>
+    <style name="Swiper40a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a080</item>
+    </style>
+    <style name="Swiper40a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a0a0</item>
+    </style>
+    <style name="Swiper40a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a0c0</item>
+    </style>
+    <style name="Swiper40a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a0e0</item>
+    </style>
+    <style name="Swiper40a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#40a0ff</item>
+    </style>
+    <style name="Swiper40c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c000</item>
+    </style>
+    <style name="Swiper40c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c020</item>
+    </style>
+    <style name="Swiper40c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c040</item>
+    </style>
+    <style name="Swiper40c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c060</item>
+    </style>
+    <style name="Swiper40c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c080</item>
+    </style>
+    <style name="Swiper40c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c0a0</item>
+    </style>
+    <style name="Swiper40c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c0c0</item>
+    </style>
+    <style name="Swiper40c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c0e0</item>
+    </style>
+    <style name="Swiper40c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#40c0ff</item>
+    </style>
+    <style name="Swiper40e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e000</item>
+    </style>
+    <style name="Swiper40e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e020</item>
+    </style>
+    <style name="Swiper40e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e040</item>
+    </style>
+    <style name="Swiper40e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e060</item>
+    </style>
+    <style name="Swiper40e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e080</item>
+    </style>
+    <style name="Swiper40e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e0a0</item>
+    </style>
+    <style name="Swiper40e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e0c0</item>
+    </style>
+    <style name="Swiper40e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e0e0</item>
+    </style>
+    <style name="Swiper40e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#40e0ff</item>
+    </style>
+    <style name="Swiper40ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ff00</item>
+    </style>
+    <style name="Swiper40ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ff20</item>
+    </style>
+    <style name="Swiper40ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ff40</item>
+    </style>
+    <style name="Swiper40ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ff60</item>
+    </style>
+    <style name="Swiper40ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ff80</item>
+    </style>
+    <style name="Swiper40ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ffa0</item>
+    </style>
+    <style name="Swiper40ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ffc0</item>
+    </style>
+    <style name="Swiper40ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ffe0</item>
+    </style>
+    <style name="Swiper40ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#40ffff</item>
+    </style>
+    <style name="Swiper600000" parent="Provisioning2Theme">
+        <item name="swiper_color">#600000</item>
+    </style>
+    <style name="Swiper600020" parent="Provisioning2Theme">
+        <item name="swiper_color">#600020</item>
+    </style>
+    <style name="Swiper600040" parent="Provisioning2Theme">
+        <item name="swiper_color">#600040</item>
+    </style>
+    <style name="Swiper600060" parent="Provisioning2Theme">
+        <item name="swiper_color">#600060</item>
+    </style>
+    <style name="Swiper600080" parent="Provisioning2Theme">
+        <item name="swiper_color">#600080</item>
+    </style>
+    <style name="Swiper6000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6000a0</item>
+    </style>
+    <style name="Swiper6000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6000c0</item>
+    </style>
+    <style name="Swiper6000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6000e0</item>
+    </style>
+    <style name="Swiper6000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#6000ff</item>
+    </style>
+    <style name="Swiper602000" parent="Provisioning2Theme">
+        <item name="swiper_color">#602000</item>
+    </style>
+    <style name="Swiper602020" parent="Provisioning2Theme">
+        <item name="swiper_color">#602020</item>
+    </style>
+    <style name="Swiper602040" parent="Provisioning2Theme">
+        <item name="swiper_color">#602040</item>
+    </style>
+    <style name="Swiper602060" parent="Provisioning2Theme">
+        <item name="swiper_color">#602060</item>
+    </style>
+    <style name="Swiper602080" parent="Provisioning2Theme">
+        <item name="swiper_color">#602080</item>
+    </style>
+    <style name="Swiper6020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6020a0</item>
+    </style>
+    <style name="Swiper6020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6020c0</item>
+    </style>
+    <style name="Swiper6020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6020e0</item>
+    </style>
+    <style name="Swiper6020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#6020ff</item>
+    </style>
+    <style name="Swiper604000" parent="Provisioning2Theme">
+        <item name="swiper_color">#604000</item>
+    </style>
+    <style name="Swiper604020" parent="Provisioning2Theme">
+        <item name="swiper_color">#604020</item>
+    </style>
+    <style name="Swiper604040" parent="Provisioning2Theme">
+        <item name="swiper_color">#604040</item>
+    </style>
+    <style name="Swiper604060" parent="Provisioning2Theme">
+        <item name="swiper_color">#604060</item>
+    </style>
+    <style name="Swiper604080" parent="Provisioning2Theme">
+        <item name="swiper_color">#604080</item>
+    </style>
+    <style name="Swiper6040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6040a0</item>
+    </style>
+    <style name="Swiper6040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6040c0</item>
+    </style>
+    <style name="Swiper6040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6040e0</item>
+    </style>
+    <style name="Swiper6040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#6040ff</item>
+    </style>
+    <style name="Swiper606000" parent="Provisioning2Theme">
+        <item name="swiper_color">#606000</item>
+    </style>
+    <style name="Swiper606020" parent="Provisioning2Theme">
+        <item name="swiper_color">#606020</item>
+    </style>
+    <style name="Swiper606040" parent="Provisioning2Theme">
+        <item name="swiper_color">#606040</item>
+    </style>
+    <style name="Swiper606060" parent="Provisioning2Theme">
+        <item name="swiper_color">#606060</item>
+    </style>
+    <style name="Swiper606080" parent="Provisioning2Theme">
+        <item name="swiper_color">#606080</item>
+    </style>
+    <style name="Swiper6060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6060a0</item>
+    </style>
+    <style name="Swiper6060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6060c0</item>
+    </style>
+    <style name="Swiper6060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6060e0</item>
+    </style>
+    <style name="Swiper6060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#6060ff</item>
+    </style>
+    <style name="Swiper608000" parent="Provisioning2Theme">
+        <item name="swiper_color">#608000</item>
+    </style>
+    <style name="Swiper608020" parent="Provisioning2Theme">
+        <item name="swiper_color">#608020</item>
+    </style>
+    <style name="Swiper608040" parent="Provisioning2Theme">
+        <item name="swiper_color">#608040</item>
+    </style>
+    <style name="Swiper608060" parent="Provisioning2Theme">
+        <item name="swiper_color">#608060</item>
+    </style>
+    <style name="Swiper608080" parent="Provisioning2Theme">
+        <item name="swiper_color">#608080</item>
+    </style>
+    <style name="Swiper6080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6080a0</item>
+    </style>
+    <style name="Swiper6080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6080c0</item>
+    </style>
+    <style name="Swiper6080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#6080e0</item>
+    </style>
+    <style name="Swiper6080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#6080ff</item>
+    </style>
+    <style name="Swiper60a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a000</item>
+    </style>
+    <style name="Swiper60a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a020</item>
+    </style>
+    <style name="Swiper60a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a040</item>
+    </style>
+    <style name="Swiper60a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a060</item>
+    </style>
+    <style name="Swiper60a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a080</item>
+    </style>
+    <style name="Swiper60a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a0a0</item>
+    </style>
+    <style name="Swiper60a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a0c0</item>
+    </style>
+    <style name="Swiper60a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a0e0</item>
+    </style>
+    <style name="Swiper60a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#60a0ff</item>
+    </style>
+    <style name="Swiper60c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c000</item>
+    </style>
+    <style name="Swiper60c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c020</item>
+    </style>
+    <style name="Swiper60c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c040</item>
+    </style>
+    <style name="Swiper60c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c060</item>
+    </style>
+    <style name="Swiper60c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c080</item>
+    </style>
+    <style name="Swiper60c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c0a0</item>
+    </style>
+    <style name="Swiper60c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c0c0</item>
+    </style>
+    <style name="Swiper60c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c0e0</item>
+    </style>
+    <style name="Swiper60c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#60c0ff</item>
+    </style>
+    <style name="Swiper60e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e000</item>
+    </style>
+    <style name="Swiper60e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e020</item>
+    </style>
+    <style name="Swiper60e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e040</item>
+    </style>
+    <style name="Swiper60e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e060</item>
+    </style>
+    <style name="Swiper60e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e080</item>
+    </style>
+    <style name="Swiper60e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e0a0</item>
+    </style>
+    <style name="Swiper60e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e0c0</item>
+    </style>
+    <style name="Swiper60e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e0e0</item>
+    </style>
+    <style name="Swiper60e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#60e0ff</item>
+    </style>
+    <style name="Swiper60ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ff00</item>
+    </style>
+    <style name="Swiper60ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ff20</item>
+    </style>
+    <style name="Swiper60ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ff40</item>
+    </style>
+    <style name="Swiper60ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ff60</item>
+    </style>
+    <style name="Swiper60ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ff80</item>
+    </style>
+    <style name="Swiper60ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ffa0</item>
+    </style>
+    <style name="Swiper60ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ffc0</item>
+    </style>
+    <style name="Swiper60ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ffe0</item>
+    </style>
+    <style name="Swiper60ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#60ffff</item>
+    </style>
+    <style name="Swiper800000" parent="Provisioning2Theme">
+        <item name="swiper_color">#800000</item>
+    </style>
+    <style name="Swiper800020" parent="Provisioning2Theme">
+        <item name="swiper_color">#800020</item>
+    </style>
+    <style name="Swiper800040" parent="Provisioning2Theme">
+        <item name="swiper_color">#800040</item>
+    </style>
+    <style name="Swiper800060" parent="Provisioning2Theme">
+        <item name="swiper_color">#800060</item>
+    </style>
+    <style name="Swiper800080" parent="Provisioning2Theme">
+        <item name="swiper_color">#800080</item>
+    </style>
+    <style name="Swiper8000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8000a0</item>
+    </style>
+    <style name="Swiper8000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8000c0</item>
+    </style>
+    <style name="Swiper8000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8000e0</item>
+    </style>
+    <style name="Swiper8000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#8000ff</item>
+    </style>
+    <style name="Swiper802000" parent="Provisioning2Theme">
+        <item name="swiper_color">#802000</item>
+    </style>
+    <style name="Swiper802020" parent="Provisioning2Theme">
+        <item name="swiper_color">#802020</item>
+    </style>
+    <style name="Swiper802040" parent="Provisioning2Theme">
+        <item name="swiper_color">#802040</item>
+    </style>
+    <style name="Swiper802060" parent="Provisioning2Theme">
+        <item name="swiper_color">#802060</item>
+    </style>
+    <style name="Swiper802080" parent="Provisioning2Theme">
+        <item name="swiper_color">#802080</item>
+    </style>
+    <style name="Swiper8020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8020a0</item>
+    </style>
+    <style name="Swiper8020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8020c0</item>
+    </style>
+    <style name="Swiper8020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8020e0</item>
+    </style>
+    <style name="Swiper8020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#8020ff</item>
+    </style>
+    <style name="Swiper804000" parent="Provisioning2Theme">
+        <item name="swiper_color">#804000</item>
+    </style>
+    <style name="Swiper804020" parent="Provisioning2Theme">
+        <item name="swiper_color">#804020</item>
+    </style>
+    <style name="Swiper804040" parent="Provisioning2Theme">
+        <item name="swiper_color">#804040</item>
+    </style>
+    <style name="Swiper804060" parent="Provisioning2Theme">
+        <item name="swiper_color">#804060</item>
+    </style>
+    <style name="Swiper804080" parent="Provisioning2Theme">
+        <item name="swiper_color">#804080</item>
+    </style>
+    <style name="Swiper8040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8040a0</item>
+    </style>
+    <style name="Swiper8040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8040c0</item>
+    </style>
+    <style name="Swiper8040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8040e0</item>
+    </style>
+    <style name="Swiper8040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#8040ff</item>
+    </style>
+    <style name="Swiper806000" parent="Provisioning2Theme">
+        <item name="swiper_color">#806000</item>
+    </style>
+    <style name="Swiper806020" parent="Provisioning2Theme">
+        <item name="swiper_color">#806020</item>
+    </style>
+    <style name="Swiper806040" parent="Provisioning2Theme">
+        <item name="swiper_color">#806040</item>
+    </style>
+    <style name="Swiper806060" parent="Provisioning2Theme">
+        <item name="swiper_color">#806060</item>
+    </style>
+    <style name="Swiper806080" parent="Provisioning2Theme">
+        <item name="swiper_color">#806080</item>
+    </style>
+    <style name="Swiper8060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8060a0</item>
+    </style>
+    <style name="Swiper8060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8060c0</item>
+    </style>
+    <style name="Swiper8060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8060e0</item>
+    </style>
+    <style name="Swiper8060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#8060ff</item>
+    </style>
+    <style name="Swiper808000" parent="Provisioning2Theme">
+        <item name="swiper_color">#808000</item>
+    </style>
+    <style name="Swiper808020" parent="Provisioning2Theme">
+        <item name="swiper_color">#808020</item>
+    </style>
+    <style name="Swiper808040" parent="Provisioning2Theme">
+        <item name="swiper_color">#808040</item>
+    </style>
+    <style name="Swiper808060" parent="Provisioning2Theme">
+        <item name="swiper_color">#808060</item>
+    </style>
+    <style name="Swiper808080" parent="Provisioning2Theme">
+        <item name="swiper_color">#808080</item>
+    </style>
+    <style name="Swiper8080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8080a0</item>
+    </style>
+    <style name="Swiper8080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8080c0</item>
+    </style>
+    <style name="Swiper8080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#8080e0</item>
+    </style>
+    <style name="Swiper8080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#8080ff</item>
+    </style>
+    <style name="Swiper80a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a000</item>
+    </style>
+    <style name="Swiper80a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a020</item>
+    </style>
+    <style name="Swiper80a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a040</item>
+    </style>
+    <style name="Swiper80a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a060</item>
+    </style>
+    <style name="Swiper80a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a080</item>
+    </style>
+    <style name="Swiper80a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a0a0</item>
+    </style>
+    <style name="Swiper80a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a0c0</item>
+    </style>
+    <style name="Swiper80a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a0e0</item>
+    </style>
+    <style name="Swiper80a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#80a0ff</item>
+    </style>
+    <style name="Swiper80c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c000</item>
+    </style>
+    <style name="Swiper80c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c020</item>
+    </style>
+    <style name="Swiper80c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c040</item>
+    </style>
+    <style name="Swiper80c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c060</item>
+    </style>
+    <style name="Swiper80c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c080</item>
+    </style>
+    <style name="Swiper80c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c0a0</item>
+    </style>
+    <style name="Swiper80c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c0c0</item>
+    </style>
+    <style name="Swiper80c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c0e0</item>
+    </style>
+    <style name="Swiper80c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#80c0ff</item>
+    </style>
+    <style name="Swiper80e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e000</item>
+    </style>
+    <style name="Swiper80e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e020</item>
+    </style>
+    <style name="Swiper80e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e040</item>
+    </style>
+    <style name="Swiper80e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e060</item>
+    </style>
+    <style name="Swiper80e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e080</item>
+    </style>
+    <style name="Swiper80e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e0a0</item>
+    </style>
+    <style name="Swiper80e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e0c0</item>
+    </style>
+    <style name="Swiper80e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e0e0</item>
+    </style>
+    <style name="Swiper80e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#80e0ff</item>
+    </style>
+    <style name="Swiper80ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ff00</item>
+    </style>
+    <style name="Swiper80ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ff20</item>
+    </style>
+    <style name="Swiper80ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ff40</item>
+    </style>
+    <style name="Swiper80ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ff60</item>
+    </style>
+    <style name="Swiper80ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ff80</item>
+    </style>
+    <style name="Swiper80ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ffa0</item>
+    </style>
+    <style name="Swiper80ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ffc0</item>
+    </style>
+    <style name="Swiper80ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ffe0</item>
+    </style>
+    <style name="Swiper80ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#80ffff</item>
+    </style>
+    <style name="Swipera00000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a00000</item>
+    </style>
+    <style name="Swipera00020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a00020</item>
+    </style>
+    <style name="Swipera00040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a00040</item>
+    </style>
+    <style name="Swipera00060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a00060</item>
+    </style>
+    <style name="Swipera00080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a00080</item>
+    </style>
+    <style name="Swipera000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a000a0</item>
+    </style>
+    <style name="Swipera000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a000c0</item>
+    </style>
+    <style name="Swipera000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a000e0</item>
+    </style>
+    <style name="Swipera000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a000ff</item>
+    </style>
+    <style name="Swipera02000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a02000</item>
+    </style>
+    <style name="Swipera02020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a02020</item>
+    </style>
+    <style name="Swipera02040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a02040</item>
+    </style>
+    <style name="Swipera02060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a02060</item>
+    </style>
+    <style name="Swipera02080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a02080</item>
+    </style>
+    <style name="Swipera020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a020a0</item>
+    </style>
+    <style name="Swipera020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a020c0</item>
+    </style>
+    <style name="Swipera020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a020e0</item>
+    </style>
+    <style name="Swipera020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a020ff</item>
+    </style>
+    <style name="Swipera04000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a04000</item>
+    </style>
+    <style name="Swipera04020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a04020</item>
+    </style>
+    <style name="Swipera04040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a04040</item>
+    </style>
+    <style name="Swipera04060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a04060</item>
+    </style>
+    <style name="Swipera04080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a04080</item>
+    </style>
+    <style name="Swipera040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a040a0</item>
+    </style>
+    <style name="Swipera040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a040c0</item>
+    </style>
+    <style name="Swipera040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a040e0</item>
+    </style>
+    <style name="Swipera040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a040ff</item>
+    </style>
+    <style name="Swipera06000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a06000</item>
+    </style>
+    <style name="Swipera06020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a06020</item>
+    </style>
+    <style name="Swipera06040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a06040</item>
+    </style>
+    <style name="Swipera06060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a06060</item>
+    </style>
+    <style name="Swipera06080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a06080</item>
+    </style>
+    <style name="Swipera060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a060a0</item>
+    </style>
+    <style name="Swipera060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a060c0</item>
+    </style>
+    <style name="Swipera060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a060e0</item>
+    </style>
+    <style name="Swipera060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a060ff</item>
+    </style>
+    <style name="Swipera08000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a08000</item>
+    </style>
+    <style name="Swipera08020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a08020</item>
+    </style>
+    <style name="Swipera08040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a08040</item>
+    </style>
+    <style name="Swipera08060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a08060</item>
+    </style>
+    <style name="Swipera08080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a08080</item>
+    </style>
+    <style name="Swipera080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a080a0</item>
+    </style>
+    <style name="Swipera080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a080c0</item>
+    </style>
+    <style name="Swipera080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a080e0</item>
+    </style>
+    <style name="Swipera080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a080ff</item>
+    </style>
+    <style name="Swipera0a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a000</item>
+    </style>
+    <style name="Swipera0a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a020</item>
+    </style>
+    <style name="Swipera0a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a040</item>
+    </style>
+    <style name="Swipera0a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a060</item>
+    </style>
+    <style name="Swipera0a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a080</item>
+    </style>
+    <style name="Swipera0a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a0a0</item>
+    </style>
+    <style name="Swipera0a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a0c0</item>
+    </style>
+    <style name="Swipera0a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a0e0</item>
+    </style>
+    <style name="Swipera0a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0a0ff</item>
+    </style>
+    <style name="Swipera0c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c000</item>
+    </style>
+    <style name="Swipera0c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c020</item>
+    </style>
+    <style name="Swipera0c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c040</item>
+    </style>
+    <style name="Swipera0c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c060</item>
+    </style>
+    <style name="Swipera0c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c080</item>
+    </style>
+    <style name="Swipera0c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c0a0</item>
+    </style>
+    <style name="Swipera0c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c0c0</item>
+    </style>
+    <style name="Swipera0c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c0e0</item>
+    </style>
+    <style name="Swipera0c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0c0ff</item>
+    </style>
+    <style name="Swipera0e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e000</item>
+    </style>
+    <style name="Swipera0e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e020</item>
+    </style>
+    <style name="Swipera0e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e040</item>
+    </style>
+    <style name="Swipera0e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e060</item>
+    </style>
+    <style name="Swipera0e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e080</item>
+    </style>
+    <style name="Swipera0e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e0a0</item>
+    </style>
+    <style name="Swipera0e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e0c0</item>
+    </style>
+    <style name="Swipera0e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e0e0</item>
+    </style>
+    <style name="Swipera0e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0e0ff</item>
+    </style>
+    <style name="Swipera0ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ff00</item>
+    </style>
+    <style name="Swipera0ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ff20</item>
+    </style>
+    <style name="Swipera0ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ff40</item>
+    </style>
+    <style name="Swipera0ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ff60</item>
+    </style>
+    <style name="Swipera0ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ff80</item>
+    </style>
+    <style name="Swipera0ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ffa0</item>
+    </style>
+    <style name="Swipera0ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ffc0</item>
+    </style>
+    <style name="Swipera0ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ffe0</item>
+    </style>
+    <style name="Swipera0ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#a0ffff</item>
+    </style>
+    <style name="Swiperc00000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c00000</item>
+    </style>
+    <style name="Swiperc00020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c00020</item>
+    </style>
+    <style name="Swiperc00040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c00040</item>
+    </style>
+    <style name="Swiperc00060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c00060</item>
+    </style>
+    <style name="Swiperc00080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c00080</item>
+    </style>
+    <style name="Swiperc000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c000a0</item>
+    </style>
+    <style name="Swiperc000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c000c0</item>
+    </style>
+    <style name="Swiperc000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c000e0</item>
+    </style>
+    <style name="Swiperc000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c000ff</item>
+    </style>
+    <style name="Swiperc02000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c02000</item>
+    </style>
+    <style name="Swiperc02020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c02020</item>
+    </style>
+    <style name="Swiperc02040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c02040</item>
+    </style>
+    <style name="Swiperc02060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c02060</item>
+    </style>
+    <style name="Swiperc02080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c02080</item>
+    </style>
+    <style name="Swiperc020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c020a0</item>
+    </style>
+    <style name="Swiperc020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c020c0</item>
+    </style>
+    <style name="Swiperc020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c020e0</item>
+    </style>
+    <style name="Swiperc020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c020ff</item>
+    </style>
+    <style name="Swiperc04000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c04000</item>
+    </style>
+    <style name="Swiperc04020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c04020</item>
+    </style>
+    <style name="Swiperc04040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c04040</item>
+    </style>
+    <style name="Swiperc04060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c04060</item>
+    </style>
+    <style name="Swiperc04080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c04080</item>
+    </style>
+    <style name="Swiperc040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c040a0</item>
+    </style>
+    <style name="Swiperc040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c040c0</item>
+    </style>
+    <style name="Swiperc040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c040e0</item>
+    </style>
+    <style name="Swiperc040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c040ff</item>
+    </style>
+    <style name="Swiperc06000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c06000</item>
+    </style>
+    <style name="Swiperc06020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c06020</item>
+    </style>
+    <style name="Swiperc06040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c06040</item>
+    </style>
+    <style name="Swiperc06060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c06060</item>
+    </style>
+    <style name="Swiperc06080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c06080</item>
+    </style>
+    <style name="Swiperc060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c060a0</item>
+    </style>
+    <style name="Swiperc060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c060c0</item>
+    </style>
+    <style name="Swiperc060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c060e0</item>
+    </style>
+    <style name="Swiperc060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c060ff</item>
+    </style>
+    <style name="Swiperc08000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c08000</item>
+    </style>
+    <style name="Swiperc08020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c08020</item>
+    </style>
+    <style name="Swiperc08040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c08040</item>
+    </style>
+    <style name="Swiperc08060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c08060</item>
+    </style>
+    <style name="Swiperc08080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c08080</item>
+    </style>
+    <style name="Swiperc080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c080a0</item>
+    </style>
+    <style name="Swiperc080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c080c0</item>
+    </style>
+    <style name="Swiperc080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c080e0</item>
+    </style>
+    <style name="Swiperc080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c080ff</item>
+    </style>
+    <style name="Swiperc0a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a000</item>
+    </style>
+    <style name="Swiperc0a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a020</item>
+    </style>
+    <style name="Swiperc0a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a040</item>
+    </style>
+    <style name="Swiperc0a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a060</item>
+    </style>
+    <style name="Swiperc0a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a080</item>
+    </style>
+    <style name="Swiperc0a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a0a0</item>
+    </style>
+    <style name="Swiperc0a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a0c0</item>
+    </style>
+    <style name="Swiperc0a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a0e0</item>
+    </style>
+    <style name="Swiperc0a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0a0ff</item>
+    </style>
+    <style name="Swiperc0c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c000</item>
+    </style>
+    <style name="Swiperc0c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c020</item>
+    </style>
+    <style name="Swiperc0c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c040</item>
+    </style>
+    <style name="Swiperc0c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c060</item>
+    </style>
+    <style name="Swiperc0c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c080</item>
+    </style>
+    <style name="Swiperc0c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c0a0</item>
+    </style>
+    <style name="Swiperc0c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c0c0</item>
+    </style>
+    <style name="Swiperc0c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c0e0</item>
+    </style>
+    <style name="Swiperc0c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0c0ff</item>
+    </style>
+    <style name="Swiperc0e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e000</item>
+    </style>
+    <style name="Swiperc0e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e020</item>
+    </style>
+    <style name="Swiperc0e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e040</item>
+    </style>
+    <style name="Swiperc0e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e060</item>
+    </style>
+    <style name="Swiperc0e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e080</item>
+    </style>
+    <style name="Swiperc0e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e0a0</item>
+    </style>
+    <style name="Swiperc0e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e0c0</item>
+    </style>
+    <style name="Swiperc0e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e0e0</item>
+    </style>
+    <style name="Swiperc0e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0e0ff</item>
+    </style>
+    <style name="Swiperc0ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ff00</item>
+    </style>
+    <style name="Swiperc0ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ff20</item>
+    </style>
+    <style name="Swiperc0ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ff40</item>
+    </style>
+    <style name="Swiperc0ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ff60</item>
+    </style>
+    <style name="Swiperc0ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ff80</item>
+    </style>
+    <style name="Swiperc0ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ffa0</item>
+    </style>
+    <style name="Swiperc0ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ffc0</item>
+    </style>
+    <style name="Swiperc0ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ffe0</item>
+    </style>
+    <style name="Swiperc0ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#c0ffff</item>
+    </style>
+    <style name="Swipere00000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e00000</item>
+    </style>
+    <style name="Swipere00020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e00020</item>
+    </style>
+    <style name="Swipere00040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e00040</item>
+    </style>
+    <style name="Swipere00060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e00060</item>
+    </style>
+    <style name="Swipere00080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e00080</item>
+    </style>
+    <style name="Swipere000a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e000a0</item>
+    </style>
+    <style name="Swipere000c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e000c0</item>
+    </style>
+    <style name="Swipere000e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e000e0</item>
+    </style>
+    <style name="Swipere000ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e000ff</item>
+    </style>
+    <style name="Swipere02000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e02000</item>
+    </style>
+    <style name="Swipere02020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e02020</item>
+    </style>
+    <style name="Swipere02040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e02040</item>
+    </style>
+    <style name="Swipere02060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e02060</item>
+    </style>
+    <style name="Swipere02080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e02080</item>
+    </style>
+    <style name="Swipere020a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e020a0</item>
+    </style>
+    <style name="Swipere020c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e020c0</item>
+    </style>
+    <style name="Swipere020e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e020e0</item>
+    </style>
+    <style name="Swipere020ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e020ff</item>
+    </style>
+    <style name="Swipere04000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e04000</item>
+    </style>
+    <style name="Swipere04020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e04020</item>
+    </style>
+    <style name="Swipere04040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e04040</item>
+    </style>
+    <style name="Swipere04060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e04060</item>
+    </style>
+    <style name="Swipere04080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e04080</item>
+    </style>
+    <style name="Swipere040a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e040a0</item>
+    </style>
+    <style name="Swipere040c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e040c0</item>
+    </style>
+    <style name="Swipere040e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e040e0</item>
+    </style>
+    <style name="Swipere040ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e040ff</item>
+    </style>
+    <style name="Swipere06000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e06000</item>
+    </style>
+    <style name="Swipere06020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e06020</item>
+    </style>
+    <style name="Swipere06040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e06040</item>
+    </style>
+    <style name="Swipere06060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e06060</item>
+    </style>
+    <style name="Swipere06080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e06080</item>
+    </style>
+    <style name="Swipere060a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e060a0</item>
+    </style>
+    <style name="Swipere060c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e060c0</item>
+    </style>
+    <style name="Swipere060e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e060e0</item>
+    </style>
+    <style name="Swipere060ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e060ff</item>
+    </style>
+    <style name="Swipere08000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e08000</item>
+    </style>
+    <style name="Swipere08020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e08020</item>
+    </style>
+    <style name="Swipere08040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e08040</item>
+    </style>
+    <style name="Swipere08060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e08060</item>
+    </style>
+    <style name="Swipere08080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e08080</item>
+    </style>
+    <style name="Swipere080a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e080a0</item>
+    </style>
+    <style name="Swipere080c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e080c0</item>
+    </style>
+    <style name="Swipere080e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e080e0</item>
+    </style>
+    <style name="Swipere080ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e080ff</item>
+    </style>
+    <style name="Swipere0a000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a000</item>
+    </style>
+    <style name="Swipere0a020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a020</item>
+    </style>
+    <style name="Swipere0a040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a040</item>
+    </style>
+    <style name="Swipere0a060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a060</item>
+    </style>
+    <style name="Swipere0a080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a080</item>
+    </style>
+    <style name="Swipere0a0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a0a0</item>
+    </style>
+    <style name="Swipere0a0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a0c0</item>
+    </style>
+    <style name="Swipere0a0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a0e0</item>
+    </style>
+    <style name="Swipere0a0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0a0ff</item>
+    </style>
+    <style name="Swipere0c000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c000</item>
+    </style>
+    <style name="Swipere0c020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c020</item>
+    </style>
+    <style name="Swipere0c040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c040</item>
+    </style>
+    <style name="Swipere0c060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c060</item>
+    </style>
+    <style name="Swipere0c080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c080</item>
+    </style>
+    <style name="Swipere0c0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c0a0</item>
+    </style>
+    <style name="Swipere0c0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c0c0</item>
+    </style>
+    <style name="Swipere0c0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c0e0</item>
+    </style>
+    <style name="Swipere0c0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0c0ff</item>
+    </style>
+    <style name="Swipere0e000" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e000</item>
+    </style>
+    <style name="Swipere0e020" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e020</item>
+    </style>
+    <style name="Swipere0e040" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e040</item>
+    </style>
+    <style name="Swipere0e060" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e060</item>
+    </style>
+    <style name="Swipere0e080" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e080</item>
+    </style>
+    <style name="Swipere0e0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e0a0</item>
+    </style>
+    <style name="Swipere0e0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e0c0</item>
+    </style>
+    <style name="Swipere0e0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e0e0</item>
+    </style>
+    <style name="Swipere0e0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0e0ff</item>
+    </style>
+    <style name="Swipere0ff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ff00</item>
+    </style>
+    <style name="Swipere0ff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ff20</item>
+    </style>
+    <style name="Swipere0ff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ff40</item>
+    </style>
+    <style name="Swipere0ff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ff60</item>
+    </style>
+    <style name="Swipere0ff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ff80</item>
+    </style>
+    <style name="Swipere0ffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ffa0</item>
+    </style>
+    <style name="Swipere0ffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ffc0</item>
+    </style>
+    <style name="Swipere0ffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ffe0</item>
+    </style>
+    <style name="Swipere0ffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#e0ffff</item>
+    </style>
+    <style name="Swiperff0000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff0000</item>
+    </style>
+    <style name="Swiperff0020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff0020</item>
+    </style>
+    <style name="Swiperff0040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff0040</item>
+    </style>
+    <style name="Swiperff0060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff0060</item>
+    </style>
+    <style name="Swiperff0080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff0080</item>
+    </style>
+    <style name="Swiperff00a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff00a0</item>
+    </style>
+    <style name="Swiperff00c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff00c0</item>
+    </style>
+    <style name="Swiperff00e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff00e0</item>
+    </style>
+    <style name="Swiperff00ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff00ff</item>
+    </style>
+    <style name="Swiperff2000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff2000</item>
+    </style>
+    <style name="Swiperff2020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff2020</item>
+    </style>
+    <style name="Swiperff2040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff2040</item>
+    </style>
+    <style name="Swiperff2060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff2060</item>
+    </style>
+    <style name="Swiperff2080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff2080</item>
+    </style>
+    <style name="Swiperff20a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff20a0</item>
+    </style>
+    <style name="Swiperff20c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff20c0</item>
+    </style>
+    <style name="Swiperff20e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff20e0</item>
+    </style>
+    <style name="Swiperff20ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff20ff</item>
+    </style>
+    <style name="Swiperff4000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff4000</item>
+    </style>
+    <style name="Swiperff4020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff4020</item>
+    </style>
+    <style name="Swiperff4040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff4040</item>
+    </style>
+    <style name="Swiperff4060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff4060</item>
+    </style>
+    <style name="Swiperff4080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff4080</item>
+    </style>
+    <style name="Swiperff40a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff40a0</item>
+    </style>
+    <style name="Swiperff40c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff40c0</item>
+    </style>
+    <style name="Swiperff40e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff40e0</item>
+    </style>
+    <style name="Swiperff40ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff40ff</item>
+    </style>
+    <style name="Swiperff6000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff6000</item>
+    </style>
+    <style name="Swiperff6020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff6020</item>
+    </style>
+    <style name="Swiperff6040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff6040</item>
+    </style>
+    <style name="Swiperff6060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff6060</item>
+    </style>
+    <style name="Swiperff6080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff6080</item>
+    </style>
+    <style name="Swiperff60a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff60a0</item>
+    </style>
+    <style name="Swiperff60c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff60c0</item>
+    </style>
+    <style name="Swiperff60e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff60e0</item>
+    </style>
+    <style name="Swiperff60ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff60ff</item>
+    </style>
+    <style name="Swiperff8000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff8000</item>
+    </style>
+    <style name="Swiperff8020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff8020</item>
+    </style>
+    <style name="Swiperff8040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff8040</item>
+    </style>
+    <style name="Swiperff8060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff8060</item>
+    </style>
+    <style name="Swiperff8080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff8080</item>
+    </style>
+    <style name="Swiperff80a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff80a0</item>
+    </style>
+    <style name="Swiperff80c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff80c0</item>
+    </style>
+    <style name="Swiperff80e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff80e0</item>
+    </style>
+    <style name="Swiperff80ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ff80ff</item>
+    </style>
+    <style name="Swiperffa000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa000</item>
+    </style>
+    <style name="Swiperffa020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa020</item>
+    </style>
+    <style name="Swiperffa040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa040</item>
+    </style>
+    <style name="Swiperffa060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa060</item>
+    </style>
+    <style name="Swiperffa080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa080</item>
+    </style>
+    <style name="Swiperffa0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa0a0</item>
+    </style>
+    <style name="Swiperffa0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa0c0</item>
+    </style>
+    <style name="Swiperffa0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa0e0</item>
+    </style>
+    <style name="Swiperffa0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffa0ff</item>
+    </style>
+    <style name="Swiperffc000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc000</item>
+    </style>
+    <style name="Swiperffc020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc020</item>
+    </style>
+    <style name="Swiperffc040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc040</item>
+    </style>
+    <style name="Swiperffc060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc060</item>
+    </style>
+    <style name="Swiperffc080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc080</item>
+    </style>
+    <style name="Swiperffc0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc0a0</item>
+    </style>
+    <style name="Swiperffc0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc0c0</item>
+    </style>
+    <style name="Swiperffc0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc0e0</item>
+    </style>
+    <style name="Swiperffc0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffc0ff</item>
+    </style>
+    <style name="Swiperffe000" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe000</item>
+    </style>
+    <style name="Swiperffe020" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe020</item>
+    </style>
+    <style name="Swiperffe040" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe040</item>
+    </style>
+    <style name="Swiperffe060" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe060</item>
+    </style>
+    <style name="Swiperffe080" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe080</item>
+    </style>
+    <style name="Swiperffe0a0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe0a0</item>
+    </style>
+    <style name="Swiperffe0c0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe0c0</item>
+    </style>
+    <style name="Swiperffe0e0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe0e0</item>
+    </style>
+    <style name="Swiperffe0ff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffe0ff</item>
+    </style>
+    <style name="Swiperffff00" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffff00</item>
+    </style>
+    <style name="Swiperffff20" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffff20</item>
+    </style>
+    <style name="Swiperffff40" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffff40</item>
+    </style>
+    <style name="Swiperffff60" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffff60</item>
+    </style>
+    <style name="Swiperffff80" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffff80</item>
+    </style>
+    <style name="Swiperffffa0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffffa0</item>
+    </style>
+    <style name="Swiperffffc0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffffc0</item>
+    </style>
+    <style name="Swiperffffe0" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffffe0</item>
+    </style>
+    <style name="Swiperffffff" parent="Provisioning2Theme">
+        <item name="swiper_color">#ffffff</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java b/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
deleted file mode 100644
index f07af8a..0000000
--- a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning;
-
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.PackageManager;
-import android.provider.AlarmClock;
-import android.provider.MediaStore;
-
-import static android.speech.RecognizerIntent.ACTION_RECOGNIZE_SPEECH;
-/**
- * Class to set CrossProfileIntentFilters during managed profile creation, and reset them after an
- * ota.
- */
-public class CrossProfileIntentFiltersHelper {
-
-    public static void setFilters(PackageManager pm, int parentUserId, int managedProfileUserId) {
-        ProvisionLogger.logd("Setting cross-profile intent filters");
-
-        // All Emergency/privileged calls are sent directly to the parent user.
-        IntentFilter mimeTypeCallEmergency = new IntentFilter();
-        mimeTypeCallEmergency.addAction(Intent.ACTION_CALL_EMERGENCY);
-        mimeTypeCallEmergency.addAction(Intent.ACTION_CALL_PRIVILEGED);
-        mimeTypeCallEmergency.addCategory(Intent.CATEGORY_DEFAULT);
-        mimeTypeCallEmergency.addCategory(Intent.CATEGORY_BROWSABLE);
-        try {
-            mimeTypeCallEmergency.addDataType("vnd.android.cursor.item/phone");
-            mimeTypeCallEmergency.addDataType("vnd.android.cursor.item/phone_v2");
-            mimeTypeCallEmergency.addDataType("vnd.android.cursor.item/person");
-            mimeTypeCallEmergency.addDataType("vnd.android.cursor.dir/calls");
-            mimeTypeCallEmergency.addDataType("vnd.android.cursor.item/calls");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-        }
-        pm.addCrossProfileIntentFilter(mimeTypeCallEmergency, managedProfileUserId, parentUserId,
-                PackageManager.SKIP_CURRENT_PROFILE);
-
-        IntentFilter callWithDataEmergency = new IntentFilter();
-        callWithDataEmergency.addAction(Intent.ACTION_CALL_EMERGENCY);
-        callWithDataEmergency.addAction(Intent.ACTION_CALL_PRIVILEGED);
-        callWithDataEmergency.addCategory(Intent.CATEGORY_DEFAULT);
-        callWithDataEmergency.addCategory(Intent.CATEGORY_BROWSABLE);
-        callWithDataEmergency.addDataScheme("tel");
-        callWithDataEmergency.addDataScheme("sip");
-        callWithDataEmergency.addDataScheme("voicemail");
-        pm.addCrossProfileIntentFilter(callWithDataEmergency, managedProfileUserId, parentUserId,
-                PackageManager.SKIP_CURRENT_PROFILE);
-
-        // Dial intent with mime type can be handled by either managed profile or its parent user.
-        IntentFilter mimeTypeDial = new IntentFilter();
-        mimeTypeDial.addAction(Intent.ACTION_DIAL);
-        mimeTypeDial.addAction(Intent.ACTION_VIEW);
-        mimeTypeDial.addCategory(Intent.CATEGORY_DEFAULT);
-        mimeTypeDial.addCategory(Intent.CATEGORY_BROWSABLE);
-        try {
-            mimeTypeDial.addDataType("vnd.android.cursor.item/phone");
-            mimeTypeDial.addDataType("vnd.android.cursor.item/phone_v2");
-            mimeTypeDial.addDataType("vnd.android.cursor.item/person");
-            mimeTypeDial.addDataType("vnd.android.cursor.dir/calls");
-            mimeTypeDial.addDataType("vnd.android.cursor.item/calls");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-            ProvisionLogger.loge(e);
-        }
-        pm.addCrossProfileIntentFilter(mimeTypeDial, managedProfileUserId, parentUserId,
-                PackageManager.ONLY_IF_NO_MATCH_FOUND);
-
-        // Dial intent with tel, sip and voicemail scheme can be handled by either managed profile
-        // or its parent user.
-        IntentFilter dialWithData = new IntentFilter();
-        dialWithData.addAction(Intent.ACTION_DIAL);
-        dialWithData.addAction(Intent.ACTION_VIEW);
-        dialWithData.addCategory(Intent.CATEGORY_DEFAULT);
-        dialWithData.addCategory(Intent.CATEGORY_BROWSABLE);
-        dialWithData.addDataScheme("tel");
-        dialWithData.addDataScheme("sip");
-        dialWithData.addDataScheme("voicemail");
-        pm.addCrossProfileIntentFilter(dialWithData, managedProfileUserId, parentUserId,
-                PackageManager.ONLY_IF_NO_MATCH_FOUND);
-
-        // Dial intent with no data can be handled by either managed profile or its parent user.
-        IntentFilter dialNoData = new IntentFilter();
-        dialNoData.addAction(Intent.ACTION_DIAL);
-        dialNoData.addCategory(Intent.CATEGORY_DEFAULT);
-        dialNoData.addCategory(Intent.CATEGORY_BROWSABLE);
-        pm.addCrossProfileIntentFilter(dialNoData, managedProfileUserId, parentUserId,
-                PackageManager.ONLY_IF_NO_MATCH_FOUND);
-
-        // Call button intent can be handled by either managed profile or its parent user.
-        IntentFilter callButton = new IntentFilter();
-        callButton.addAction(Intent.ACTION_CALL_BUTTON);
-        callButton.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(callButton, managedProfileUserId, parentUserId,
-                PackageManager.ONLY_IF_NO_MATCH_FOUND);
-
-        IntentFilter smsMms = new IntentFilter();
-        smsMms.addAction(Intent.ACTION_VIEW);
-        smsMms.addAction(Intent.ACTION_SENDTO);
-        smsMms.addCategory(Intent.CATEGORY_DEFAULT);
-        smsMms.addCategory(Intent.CATEGORY_BROWSABLE);
-        smsMms.addDataScheme("sms");
-        smsMms.addDataScheme("smsto");
-        smsMms.addDataScheme("mms");
-        smsMms.addDataScheme("mmsto");
-        pm.addCrossProfileIntentFilter(smsMms, managedProfileUserId, parentUserId,
-                PackageManager.SKIP_CURRENT_PROFILE);
-
-        IntentFilter mobileNetworkSettings = new IntentFilter();
-        mobileNetworkSettings.addAction(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS);
-        mobileNetworkSettings.addAction(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS);
-        mobileNetworkSettings.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(mobileNetworkSettings, managedProfileUserId,
-                parentUserId, PackageManager.SKIP_CURRENT_PROFILE);
-
-        IntentFilter home = new IntentFilter();
-        home.addAction(Intent.ACTION_MAIN);
-        home.addCategory(Intent.CATEGORY_DEFAULT);
-        home.addCategory(Intent.CATEGORY_HOME);
-        pm.addCrossProfileIntentFilter(home, managedProfileUserId, parentUserId,
-                PackageManager.SKIP_CURRENT_PROFILE);
-
-        IntentFilter send = new IntentFilter();
-        send.addAction(Intent.ACTION_SEND);
-        send.addAction(Intent.ACTION_SEND_MULTIPLE);
-        send.addCategory(Intent.CATEGORY_DEFAULT);
-        try {
-            send.addDataType("*/*");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-            ProvisionLogger.loge(e);
-        }
-        // This is the only filter set on the opposite direction (from parent to managed profile).
-        pm.addCrossProfileIntentFilter(send, parentUserId, managedProfileUserId, 0);
-
-        IntentFilter getContent = new IntentFilter();
-        getContent.addAction(Intent.ACTION_GET_CONTENT);
-        getContent.addCategory(Intent.CATEGORY_DEFAULT);
-        getContent.addCategory(Intent.CATEGORY_OPENABLE);
-        try {
-            getContent.addDataType("*/*");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-            ProvisionLogger.loge(e);
-        }
-        pm.addCrossProfileIntentFilter(getContent, managedProfileUserId, parentUserId, 0);
-
-        IntentFilter openDocument = new IntentFilter();
-        openDocument.addAction(Intent.ACTION_OPEN_DOCUMENT);
-        openDocument.addCategory(Intent.CATEGORY_DEFAULT);
-        openDocument.addCategory(Intent.CATEGORY_OPENABLE);
-        try {
-            openDocument.addDataType("*/*");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-            ProvisionLogger.loge(e);
-        }
-        pm.addCrossProfileIntentFilter(openDocument, managedProfileUserId, parentUserId, 0);
-
-        IntentFilter pick = new IntentFilter();
-        pick.addAction(Intent.ACTION_PICK);
-        pick.addCategory(Intent.CATEGORY_DEFAULT);
-        try {
-            pick.addDataType("*/*");
-        } catch (IntentFilter.MalformedMimeTypeException e) {
-            //will not happen
-            ProvisionLogger.loge(e);
-        }
-        pm.addCrossProfileIntentFilter(pick, managedProfileUserId, parentUserId, 0);
-
-        IntentFilter pickNoData = new IntentFilter();
-        pickNoData.addAction(Intent.ACTION_PICK);
-        pickNoData.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(pickNoData, managedProfileUserId,
-                parentUserId, 0);
-
-        IntentFilter recognizeSpeech = new IntentFilter();
-        recognizeSpeech.addAction(ACTION_RECOGNIZE_SPEECH);
-        recognizeSpeech.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(recognizeSpeech, managedProfileUserId, parentUserId, 0);
-
-        IntentFilter capture = new IntentFilter();
-        capture.addAction(MediaStore.ACTION_IMAGE_CAPTURE);
-        capture.addAction(MediaStore.ACTION_IMAGE_CAPTURE_SECURE);
-        capture.addAction(MediaStore.ACTION_VIDEO_CAPTURE);
-        capture.addAction(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
-        capture.addAction(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
-        capture.addAction(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE);
-        capture.addAction(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
-        capture.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(capture, managedProfileUserId, parentUserId, 0);
-
-        IntentFilter setClock = new IntentFilter();
-        setClock.addAction(AlarmClock.ACTION_SET_ALARM);
-        setClock.addAction(AlarmClock.ACTION_SHOW_ALARMS);
-        setClock.addAction(AlarmClock.ACTION_SET_TIMER);
-        setClock.addCategory(Intent.CATEGORY_DEFAULT);
-        pm.addCrossProfileIntentFilter(setClock, managedProfileUserId, parentUserId, 0);
-    }
-}
diff --git a/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java b/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java
deleted file mode 100644
index 87bf910..0000000
--- a/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package com.android.managedprovisioning;
-/*
- * Copyright 2015, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import android.annotation.Nullable;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.ComponentName;
-import android.content.DialogInterface;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.android.managedprovisioning.common.MdmPackageInfo;
-import com.android.managedprovisioning.common.Utils;
-import com.android.setupwizardlib.util.SystemBarHelper;
-
-/**
- * Displays information about an existing managed profile and asks the user if it should be deleted.
- *
- * <p>Expects parent component to implement {@link DeleteManagedProfileCallback} for user-response
- * handling.
- */
-public class DeleteManagedProfileDialog extends DialogFragment {
-    private static final String KEY_USER_PROFILE_CALLBACK_ID = "user_profile_callback_id";
-    private static final String KEY_MDM_PACKAGE_NAME = "mdm_package_name";
-    private static final String KEY_PROFILE_OWNER_DOMAIN = "profile_owner_domain";
-
-    private final Utils mUtils = new Utils();
-
-    /**
-     * @param managedProfileUserId user-id for the managed profile which will be passed back to the
-     *     parent component in the {@link DeleteManagedProfileCallback#onRemoveProfileApproval(int)}
-     *     call
-     * @param mdmPackagename package name of the MDM application for the current managed profile, or
-     *     null if the managed profile has no profile owner associated.
-     * @param profileOwnerDomain domain name of the organization which owns the managed profile, or
-     *     null if not known
-     * @return initialized dialog
-     */
-    public static DeleteManagedProfileDialog newInstance(
-            int managedProfileUserId, @Nullable ComponentName mdmPackagename,
-            @Nullable String profileOwnerDomain) {
-        Bundle args = new Bundle();
-        args.putInt(KEY_USER_PROFILE_CALLBACK_ID, managedProfileUserId);
-        // The device could be in a inconsistent state where it has a managed profile but no
-        // associated profile owner package, for example after an unexpected reboot in the middle
-        // of provisioning.
-        if (mdmPackagename != null) {
-            args.putString(KEY_MDM_PACKAGE_NAME, mdmPackagename.getPackageName());
-        }
-        args.putString(KEY_PROFILE_OWNER_DOMAIN, profileOwnerDomain);
-
-        DeleteManagedProfileDialog dialog = new DeleteManagedProfileDialog();
-        dialog.setArguments(args);
-        return dialog;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        if (!(getActivity() instanceof DeleteManagedProfileCallback)) {
-            throw new IllegalStateException("Calling activity must implement " +
-                    "DeleteManagedProfileCallback, found: " + getActivity().getLocalClassName());
-        }
-
-        Bundle arguments = getArguments();
-        final int callbackUserProfileId = arguments.getInt(KEY_USER_PROFILE_CALLBACK_ID);
-        String mdmPackageName = arguments.getString(KEY_MDM_PACKAGE_NAME);
-
-        String appLabel;
-        Drawable appIcon;
-        MdmPackageInfo mdmPackageInfo = null;
-        if (mdmPackageName != null) {
-            mdmPackageInfo = MdmPackageInfo.createFromPackageName(getActivity(), mdmPackageName);
-        }
-        if (mdmPackageInfo != null) {
-            appLabel = mdmPackageInfo.appLabel;
-            appIcon = mdmPackageInfo.packageIcon;
-        } else {
-            appLabel= getResources().getString(android.R.string.unknownName);
-            appIcon = getActivity().getPackageManager().getDefaultActivityIcon();
-        }
-
-        final Dialog dialog = new Dialog(getActivity(), R.style.ManagedProvisioningDialogTheme);
-        dialog.setTitle(R.string.delete_profile_title);
-        dialog.setContentView(R.layout.delete_managed_profile_dialog);
-        dialog.setCanceledOnTouchOutside(false);
-        if (!mUtils.isUserSetupCompleted(getActivity())) {
-            SystemBarHelper.hideSystemBars(dialog);
-        }
-
-        ImageView imageView = (ImageView) dialog.findViewById(
-                R.id.device_manager_icon_view);
-        imageView.setImageDrawable(appIcon);
-        imageView.setContentDescription(
-                    getResources().getString(R.string.mdm_icon_label, appLabel));
-
-        TextView deviceManagerName = (TextView) dialog.findViewById(
-                R.id.device_manager_name);
-        deviceManagerName.setText(appLabel);
-
-        Button positiveButton = (Button) dialog.findViewById(
-                R.id.delete_managed_profile_positive_button);
-        positiveButton.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    ((DeleteManagedProfileCallback) getActivity())
-                            .onRemoveProfileApproval(callbackUserProfileId);
-                }
-            });
-
-        Button negativeButton = (Button) dialog.findViewById(
-                R.id.delete_managed_profile_negative_button);
-        negativeButton.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    ((DeleteManagedProfileCallback) getActivity()).onRemoveProfileCancel();
-                }
-            });
-
-        return dialog;
-    }
-
-    @Override
-    public void onCancel(DialogInterface dialog) {
-        dialog.dismiss();
-        ((DeleteManagedProfileCallback) getActivity()).onRemoveProfileCancel();
-    }
-
-    /**
-     * Callback interface for outcome of {@link DeleteManagedProfileDialog} presentation.
-     */
-    public interface DeleteManagedProfileCallback {
-
-        /**
-         * Invoked if the user hits the positive response (perform removal) button.
-         *
-         * @param managedProfileUserId user-id of the managed-profile that the dialog was presented
-         *                             for
-         */
-        public abstract void onRemoveProfileApproval(int managedProfileUserId);
-
-        /**
-         * Invoked if the user hits the negative response (DO NOT perform removal) button, or the
-         * dialog was otherwise dismissed.
-         */
-        public abstract void onRemoveProfileCancel();
-    }
-}
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
deleted file mode 100644
index 465406f..0000000
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.support.v4.content.LocalBroadcastManager;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.View;
-import android.widget.TextView;
-
-import com.android.managedprovisioning.model.ProvisioningParams;
-
-import java.util.ArrayList;
-
-/**
- * This activity starts device owner provisioning:
- * It downloads a mobile device management application(mdm) from a given url and installs it,
- * or a given mdm is already present on the device. The mdm is set as the owner of the device so
- * that it has full control over the device:
- * TODO: put link here with documentation on how a device owner has control over the device
- * The mdm can then execute further setup steps.
- *
- * <p>
- * An example use case might be when a company wants to set up a device for a single use case
- * (such as giving instructions).
- * </p>
- *
- * <p>
- * Provisioning is triggered by a programmer device that sends required provisioning parameters via
- * nfc. For an example of a programmer app see:
- * com.example.android.apis.app.DeviceProvisioningProgrammerSample.
- * </p>
- *
- * <p>
- * In the unlikely case that this activity is killed the whole provisioning process so far is
- * repeated. We made sure that all tasks can be done twice without causing any problems.
- * </p>
- */
-public class DeviceOwnerProvisioningActivity extends SetupLayoutActivity {
-    private static final boolean DEBUG = false; // To control logging.
-
-    private static final String KEY_CANCEL_DIALOG_SHOWN = "cancel_dialog_shown";
-    private static final String KEY_PENDING_INTENTS = "pending_intents";
-
-    private BroadcastReceiver mServiceMessageReceiver;
-    private TextView mProgressTextView;
-
-    private ProvisioningParams mParams;
-
-    // Indicates that the cancel dialog is shown.
-    private boolean mCancelDialogShown = false;
-
-    // List of intents received while cancel dialog is shown.
-    private ArrayList<Intent> mPendingProvisioningIntents = new ArrayList<Intent>();
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONCREATE");
-
-        if (savedInstanceState != null) {
-            mCancelDialogShown = savedInstanceState.getBoolean(KEY_CANCEL_DIALOG_SHOWN, false);
-            mPendingProvisioningIntents = savedInstanceState
-                    .getParcelableArrayList(KEY_PENDING_INTENTS);
-        }
-
-        // Setup the UI.
-        initializeLayoutParams(R.layout.progress, R.string.setup_work_device, true);
-        setTitle(R.string.setup_device_progress);
-
-        mProgressTextView = (TextView) findViewById(R.id.prog_text);
-        if (mCancelDialogShown) showCancelResetDialog();
-
-        // Setup broadcast receiver for feedback from service.
-        mServiceMessageReceiver = new ServiceMessageReceiver();
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(DeviceOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS);
-        filter.addAction(DeviceOwnerProvisioningService.ACTION_PROVISIONING_ERROR);
-        filter.addAction(DeviceOwnerProvisioningService.ACTION_PROGRESS_UPDATE);
-        LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
-
-        // Load the ProvisioningParams (from message in Intent).
-        mParams = (ProvisioningParams) getIntent().getParcelableExtra(
-                ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
-        if (mParams != null) {
-            maybeSetLogoAndMainColor(mParams.mainColor);
-        }
-        startDeviceOwnerProvisioningService();
-    }
-
-    private void startDeviceOwnerProvisioningService() {
-        Intent intent = new Intent(this, DeviceOwnerProvisioningService.class);
-        intent.putExtras(getIntent());
-        startService(intent);
-    }
-
-    class ServiceMessageReceiver extends BroadcastReceiver
-    {
-        @Override
-        public void onReceive(Context context, Intent intent)
-        {
-            if (mCancelDialogShown) {
-
-                // Postpone handling the intent.
-                mPendingProvisioningIntents.add(intent);
-                return;
-            }
-            handleProvisioningIntent(intent);
-        }
-    }
-
-    private void handleProvisioningIntent(Intent intent) {
-        String action = intent.getAction();
-        if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS)) {
-            if (DEBUG) ProvisionLogger.logd("Successfully provisioned");
-            onProvisioningSuccess();
-        } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_ERROR)) {
-            int errorMessageId = intent.getIntExtra(
-                    DeviceOwnerProvisioningService.EXTRA_USER_VISIBLE_ERROR_ID_KEY,
-                    R.string.device_owner_error_general);
-            boolean factoryResetRequired = intent.getBooleanExtra(
-                    DeviceOwnerProvisioningService.EXTRA_FACTORY_RESET_REQUIRED,
-                    true);
-
-            if (DEBUG) {
-                ProvisionLogger.logd("Error reported with code "
-                        + getResources().getString(errorMessageId));
-            }
-            error(errorMessageId, factoryResetRequired);
-        } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROGRESS_UPDATE)) {
-            int progressMessage = intent.getIntExtra(
-                    DeviceOwnerProvisioningService.EXTRA_PROGRESS_MESSAGE_ID_KEY, -1);
-            if (DEBUG) {
-                ProvisionLogger.logd("Progress update reported with code "
-                    + getResources().getString(progressMessage));
-            }
-            if (progressMessage >= 0) {
-                progressUpdate(progressMessage);
-            }
-        }
-    }
-
-
-    private void onProvisioningSuccess() {
-        stopService(new Intent(this, DeviceOwnerProvisioningService.class));
-        // Note: the DeviceOwnerProvisioningService will stop itself.
-        setResult(Activity.RESULT_OK);
-        finish();
-    }
-
-    @Override
-    public void onBackPressed() {
-        if (mCancelDialogShown) {
-            return;
-        }
-
-        mCancelDialogShown = true;
-        showCancelResetDialog();
-    }
-
-    private void showCancelResetDialog() {
-        new AlertDialog.Builder(DeviceOwnerProvisioningActivity.this)
-                .setCancelable(false)
-                .setMessage(R.string.device_owner_cancel_message)
-                .setNegativeButton(R.string.device_owner_cancel_cancel,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int id) {
-                                dialog.dismiss();
-                                handlePendingIntents();
-                                mCancelDialogShown = false;
-                            }
-                        })
-                .setPositiveButton(R.string.device_owner_error_reset,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int id) {
-                                dialog.dismiss();
-
-                                // Factory reset the device.
-                                mUtils.sendFactoryResetBroadcast(
-                                        DeviceOwnerProvisioningActivity.this,
-                                        "DeviceOwnerProvisioningActivity.showCancelResetDialog()");
-                            }
-                        })
-                .show();
-    }
-
-    private void handlePendingIntents() {
-        for (Intent intent : mPendingProvisioningIntents) {
-            if (DEBUG) ProvisionLogger.logd("Handling pending intent " + intent.getAction());
-            handleProvisioningIntent(intent);
-        }
-        mPendingProvisioningIntents.clear();
-    }
-
-    private void progressUpdate(int progressMessage) {
-        mProgressTextView.setText(progressMessage);
-        mProgressTextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
-    }
-
-    private void error(int dialogMessage, boolean resetRequired) {
-        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this)
-                .setTitle(R.string.provisioning_error_title)
-                .setMessage(dialogMessage)
-                .setCancelable(false);
-        if (resetRequired) {
-            alertBuilder.setPositiveButton(R.string.device_owner_error_reset,
-                    new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog,int id) {
-                            dialog.dismiss();
-
-                            // Factory reset the device.
-                            Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
-                            intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
-                            intent.putExtra(Intent.EXTRA_REASON,
-                                    "DeviceOwnerProvisioningActivity.error()");
-                            sendBroadcast(intent);
-                            stopService(new Intent(DeviceOwnerProvisioningActivity.this,
-                                            DeviceOwnerProvisioningService.class));
-                            setResult(RESULT_CANCELED);
-                            finish();
-                        }
-                    });
-        } else {
-            alertBuilder.setPositiveButton(R.string.device_owner_error_ok,
-                    new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog,int id) {
-                            dialog.dismiss();
-
-                            // Close activity.
-                            stopService(new Intent(DeviceOwnerProvisioningActivity.this,
-                                            DeviceOwnerProvisioningService.class));
-                            setResult(RESULT_CANCELED);
-                            finish();
-                        }
-                    });
-        }
-        alertBuilder.show();
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        outState.putBoolean(KEY_CANCEL_DIALOG_SHOWN, mCancelDialogShown);
-        outState.putParcelableArrayList(KEY_PENDING_INTENTS, mPendingProvisioningIntents);
-    }
-
-    @Override
-    public void onDestroy() {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONDESTROY");
-        if (mServiceMessageReceiver != null) {
-            LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
-            mServiceMessageReceiver = null;
-        }
-        super.onDestroy();
-    }
-
-    @Override
-    protected void onRestart() {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONRESTART");
-        super.onRestart();
-    }
-
-    @Override
-    protected void onResume() {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONRESUME");
-        super.onResume();
-    }
-
-    @Override
-    protected void onPause() {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONPAUSE");
-        super.onPause();
-    }
-
-    @Override
-    protected void onStop() {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONSTOP");
-        super.onStop();
-    }
-}
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
deleted file mode 100644
index 8e73532..0000000
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
-
-import android.app.AlarmManager;
-import android.app.Service;
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.Process;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.support.v4.content.LocalBroadcastManager;
-
-import com.android.internal.app.LocalePicker;
-import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.task.AddWifiNetworkTask;
-import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
-import com.android.managedprovisioning.task.DisallowAddUserTask;
-import com.android.managedprovisioning.task.DownloadPackageTask;
-import com.android.managedprovisioning.task.InstallPackageTask;
-import com.android.managedprovisioning.task.SetDevicePolicyTask;
-
-import java.util.Locale;
-
-/**
- * This service does the work for the DeviceOwnerProvisioningActivity.
- * Feedback is sent back to the activity via intents.
- *
- * <p>
- * If the corresponding activity is killed and restarted, the service is
- * called twice. The service will not start the provisioning flow a second time, but instead
- * send a status update to the activity.
- * </p>
- */
-public class DeviceOwnerProvisioningService extends Service {
-    private static final boolean DEBUG = false; // To control logging.
-
-    private static final String DEVICE_OWNER = "deviceOwner";
-
-    /**
-     * Intent action to activate the CDMA phone connection by OTASP.
-     * This is not necessary for a GSM phone connection, which is activated automatically.
-     * String must agree with the constants in com.android.phone.InCallScreenShowActivation.
-     */
-    private static final String ACTION_PERFORM_CDMA_PROVISIONING =
-            "com.android.phone.PERFORM_CDMA_PROVISIONING";
-
-    // Intent actions and extras for communication from DeviceOwnerProvisioningService to Activity.
-    protected static final String ACTION_PROVISIONING_SUCCESS =
-            "com.android.managedprovisioning.provisioning_success";
-    protected static final String ACTION_PROVISIONING_ERROR =
-            "com.android.managedprovisioning.error";
-    protected static final String EXTRA_USER_VISIBLE_ERROR_ID_KEY =
-            "UserVisibleErrorMessage-Id";
-    protected static final String EXTRA_FACTORY_RESET_REQUIRED =
-            "FactoryResetRequired";
-    protected static final String ACTION_PROGRESS_UPDATE =
-            "com.android.managedprovisioning.progress_update";
-    protected static final String EXTRA_PROGRESS_MESSAGE_ID_KEY =
-            "ProgressMessageId";
-    protected static final String ACTION_REQUEST_WIFI_PICK =
-            "com.android.managedprovisioning.request_wifi_pick";
-
-    // Indicates whether provisioning has started.
-    private boolean mProvisioningInFlight = false;
-
-    // MessageId of the last progress message.
-    private int mLastProgressMessage = -1;
-
-    // MessageId of the last error message.
-    private int mLastErrorMessage = -1;
-
-    // Indicates whether reverting the provisioning process up till now requires a factory reset.
-    // Is false at the start and flips to true after the first irrevertible action.
-    private boolean mFactoryResetRequired = false;
-
-    // Indicates whether provisioning has finished successfully (service waiting to stop).
-    private volatile boolean mDone = false;
-
-    // Provisioning tasks.
-    private AddWifiNetworkTask mAddWifiNetworkTask;
-    private DownloadPackageTask mDownloadPackageTask;
-    private InstallPackageTask mInstallPackageTask;
-    private SetDevicePolicyTask mSetDevicePolicyTask;
-    private DeleteNonRequiredAppsTask mDeleteNonRequiredAppsTask;
-    private DisallowAddUserTask mDisallowAddUserTask;
-
-    private ProvisioningParams mParams;
-
-    private final Utils mUtils = new Utils();
-
-    @Override
-    public int onStartCommand(final Intent intent, int flags, int startId) {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONSTARTCOMMAND.");
-
-        synchronized (this) { // Make operations on mProvisioningInFlight atomic.
-            if (mProvisioningInFlight) {
-                if (DEBUG) ProvisionLogger.logd("Provisioning already in flight.");
-
-                sendProgressUpdateToActivity();
-
-                // Send error message if currently in error state.
-                if (mLastErrorMessage >= 0) {
-                    sendError();
-                }
-
-                // Send success if provisioning was successful.
-                if (mDone) {
-                    onProvisioningSuccess();
-                }
-            } else {
-                mProvisioningInFlight = true;
-                if (DEBUG) ProvisionLogger.logd("First start of the service.");
-                progressUpdate(R.string.progress_data_process);
-
-                // Load the ProvisioningParams (from message in Intent).
-                mParams = (ProvisioningParams) intent.getParcelableExtra(
-                        ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
-
-                // Do the work on a separate thread.
-                new Thread(new Runnable() {
-                    public void run() {
-                        initializeProvisioningEnvironment(mParams);
-                        startDeviceOwnerProvisioning(mParams);
-                    }
-                }).start();
-            }
-        }
-        return START_NOT_STICKY;
-    }
-
-    /**
-     * This is the core method of this class. It goes through every provisioning step.
-     * Each task checks if it is required and executes if it is.
-     */
-    private void startDeviceOwnerProvisioning(final ProvisioningParams params) {
-        if (DEBUG) ProvisionLogger.logd("Starting device owner provisioning");
-
-        // Construct Tasks. Do not start them yet.
-        mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.wifiInfo,
-                new AddWifiNetworkTask.Callback() {
-                    @Override
-                    public void onSuccess() {
-                        progressUpdate(R.string.progress_download);
-                        mDownloadPackageTask.run();
-                    }
-
-                    @Override
-                    public void onError(){
-                        error(R.string.device_owner_error_wifi,
-                                false /* do not require factory reset */);
-                    }
-                });
-
-        mDownloadPackageTask = new DownloadPackageTask(this,
-                new DownloadPackageTask.Callback() {
-                    @Override
-                    public void onSuccess() {
-                        progressUpdate(R.string.progress_install);
-                        mInstallPackageTask.addInstallIfNecessary(
-                                params.inferDeviceAdminPackageName(),
-                                mDownloadPackageTask.getDownloadedPackageLocation(DEVICE_OWNER));
-                        mInstallPackageTask.run();
-                    }
-
-                    @Override
-                    public void onError(int errorCode) {
-                        switch(errorCode) {
-                            case DownloadPackageTask.ERROR_HASH_MISMATCH:
-                                error(R.string.device_owner_error_hash_mismatch);
-                                break;
-                            case DownloadPackageTask.ERROR_DOWNLOAD_FAILED:
-                                error(R.string.device_owner_error_download_failed);
-                                break;
-                            default:
-                                error(R.string.device_owner_error_general);
-                                break;
-                        }
-                    }
-                });
-
-        // Add packages to download to the DownloadPackageTask.
-        mDownloadPackageTask.addDownloadIfNecessary(params.inferDeviceAdminPackageName(),
-                params.deviceAdminDownloadInfo, DEVICE_OWNER);
-
-        mInstallPackageTask = new InstallPackageTask(this,
-                new InstallPackageTask.Callback() {
-                    @Override
-                    public void onSuccess() {
-                        progressUpdate(R.string.progress_set_owner);
-                        try {
-                            // Now that the app has been installed, we can look for the device admin
-                            // component in it.
-                            mSetDevicePolicyTask.run(mParams.inferDeviceAdminComponentName(
-                                    DeviceOwnerProvisioningService.this));
-                        } catch (IllegalProvisioningArgumentException e) {
-                            error(R.string.device_owner_error_general);
-                            ProvisionLogger.loge("Failed to infer the device admin component name",
-                                    e);
-                            return;
-                        }
-                    }
-
-                    @Override
-                    public void onError(int errorCode) {
-                        switch(errorCode) {
-                            case InstallPackageTask.ERROR_PACKAGE_INVALID:
-                                error(R.string.device_owner_error_package_invalid);
-                                break;
-                            case InstallPackageTask.ERROR_INSTALLATION_FAILED:
-                                error(R.string.device_owner_error_installation_failed);
-                                break;
-                            default:
-                                error(R.string.device_owner_error_general);
-                                break;
-                        }
-                    }
-                });
-
-        mSetDevicePolicyTask = new SetDevicePolicyTask(this,
-                getResources().getString(R.string.default_owned_device_username),
-                new SetDevicePolicyTask.Callback() {
-                    @Override
-                    public void onSuccess() {
-                        mDeleteNonRequiredAppsTask.run();
-                    }
-
-                    @Override
-                    public void onError() {
-                        error(R.string.device_owner_error_general);
-                    }
-                });
-
-        // For split system user devices that will have a system device owner, don't adjust the set
-        // of enabled packages in the system user as we expect the right set of packages to be
-        // enabled for the system user out of the box. For other devices, the set of available
-        // packages can vary depending on management state.
-        boolean leaveAllSystemAppsEnabled = params.leaveAllSystemAppsEnabled ||
-                params.provisioningAction.equals(ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE);
-        mDeleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(
-                this, params.inferDeviceAdminPackageName(),
-                DeleteNonRequiredAppsTask.DEVICE_OWNER, true /* creating new profile */,
-                UserHandle.myUserId(), leaveAllSystemAppsEnabled,
-                new DeleteNonRequiredAppsTask.Callback() {
-                    @Override
-                    public void onSuccess() {
-                        mDisallowAddUserTask.maybeDisallowAddUsers();
-
-                        // Done with provisioning. Success.
-                        onProvisioningSuccess();
-                    }
-
-                    @Override
-                    public void onError() {
-                        error(R.string.device_owner_error_general);
-                    }
-                });
-
-        mDisallowAddUserTask = new DisallowAddUserTask((UserManager) getSystemService(USER_SERVICE),
-                UserHandle.myUserId(), UserManager.isSplitSystemUser());
-
-        // Start first task, which starts next task in its callback, etc.
-        progressUpdate(R.string.progress_connect_to_wifi);
-        mAddWifiNetworkTask.run();
-    }
-
-    private void error(int dialogMessage) {
-        error(dialogMessage, true /* require factory reset */);
-    }
-
-    private void error(int dialogMessage, boolean factoryResetRequired) {
-        mLastErrorMessage = dialogMessage;
-        if (factoryResetRequired) {
-            mFactoryResetRequired = true;
-        }
-        sendError();
-        // Wait for stopService() call from the activity.
-    }
-
-    private void sendError() {
-        if (DEBUG) {
-            ProvisionLogger.logd("Reporting Error: " + getResources()
-                .getString(mLastErrorMessage));
-        }
-        Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
-        intent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
-        intent.putExtra(EXTRA_USER_VISIBLE_ERROR_ID_KEY, mLastErrorMessage);
-        intent.putExtra(EXTRA_FACTORY_RESET_REQUIRED, mFactoryResetRequired);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
-    }
-
-    private void progressUpdate(int progressMessage) {
-        if (DEBUG) {
-            ProvisionLogger.logd("Reporting progress update: " + getResources()
-                .getString(progressMessage));
-        }
-        mLastProgressMessage = progressMessage;
-        sendProgressUpdateToActivity();
-    }
-
-    private void sendProgressUpdateToActivity() {
-        Intent intent = new Intent(ACTION_PROGRESS_UPDATE);
-        intent.putExtra(EXTRA_PROGRESS_MESSAGE_ID_KEY, mLastProgressMessage);
-        intent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
-    }
-
-    private void onProvisioningSuccess() {
-        // Copying an account needs to happen late in the provisioning process to allow the current
-        // user to be started, but before we tell the MDM that provisioning succeeded.
-        maybeCopyAccount();
-
-        if (DEBUG) ProvisionLogger.logd("Reporting success.");
-        mDone = true;
-
-        // Set DPM userProvisioningState appropriately and persists mParams for use during
-        // FinalizationActivity if necessary.
-        mUtils.markUserProvisioningStateInitiallyDone(this, mParams);
-
-        Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
-        successIntent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(successIntent);
-        // Wait for stopService() call from the activity.
-    }
-
-    private void maybeCopyAccount() {
-        if (!UserManager.isSplitSystemUser()) {
-            // Only one user involved in this case.
-            return;
-        }
-
-        mUtils.maybeCopyAccount(DeviceOwnerProvisioningService.this,
-                mParams.accountToMigrate, UserHandle.SYSTEM,
-                Process.myUserHandle());
-    }
-
-    private void initializeProvisioningEnvironment(ProvisioningParams params) {
-        setTimeAndTimezone(params.timeZone, params.localTime);
-        setLocale(params.locale);
-
-        // Start CDMA activation to enable phone calls.
-        final Intent intent = new Intent(ACTION_PERFORM_CDMA_PROVISIONING);
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        if (DEBUG) ProvisionLogger.logd("Starting cdma activation activity");
-        startActivity(intent); // Activity will be a Nop if not a CDMA device.
-    }
-
-    private void setTimeAndTimezone(String timeZone, long localTime) {
-        try {
-            final AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
-            if (timeZone != null) {
-                if (DEBUG) ProvisionLogger.logd("Setting time zone to " + timeZone);
-                am.setTimeZone(timeZone);
-            }
-            if (localTime > 0) {
-                if (DEBUG) ProvisionLogger.logd("Setting time to " + localTime);
-                am.setTime(localTime);
-            }
-        } catch (Exception e) {
-            ProvisionLogger.loge("Alarm manager failed to set the system time/timezone.");
-            // Do not stop provisioning process, but ignore this error.
-        }
-    }
-
-    private void setLocale(Locale locale) {
-        if (locale == null || locale.equals(Locale.getDefault())) {
-            return;
-        }
-        try {
-            if (DEBUG) ProvisionLogger.logd("Setting locale to " + locale);
-            // If locale is different from current locale this results in a configuration change,
-            // which will trigger the restarting of the activity.
-            LocalePicker.updateLocale(locale);
-        } catch (Exception e) {
-            ProvisionLogger.loge("Failed to set the system locale.");
-            // Do not stop provisioning process, but ignore this error.
-        }
-    }
-
-    @Override
-    public void onCreate () {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONCREATE.");
-    }
-
-    @Override
-    public void onDestroy () {
-        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONDESTROY");
-        if (mAddWifiNetworkTask != null) {
-            mAddWifiNetworkTask.cleanUp();
-        }
-        if (mDownloadPackageTask != null) {
-            mDownloadPackageTask.cleanUp();
-        }
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-}
diff --git a/src/com/android/managedprovisioning/FinalizationActivity.java b/src/com/android/managedprovisioning/FinalizationActivity.java
deleted file mode 100644
index 9e12c64..0000000
--- a/src/com/android/managedprovisioning/FinalizationActivity.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-
-import android.app.Activity;
-import android.app.admin.DevicePolicyManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.UserHandle;
-
-import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.parser.MessageParser;
-
-/*
- * This class is used to make sure that we start the MDM after we shut the setup wizard down.
- * The shut down of the setup wizard is initiated in the DeviceOwnerProvisioningActivity or
- * ProfileOwnerProvisioningActivity by calling
- * {@link DevicePolicyManager.setUserProvisioningState()}. This will cause the
- * Setup wizard to shut down and send a ACTION_PROVISIONING_FINALIZATION intent. This intent is
- * caught by this receiver instead which will send the
- * ACTION_PROFILE_PROVISIONING_COMPLETE broadcast to the MDM, which can then present it's own
- * activities.
- */
-public class FinalizationActivity extends Activity {
-
-    private ProvisioningParams mParams;
-
-    private static final String INTENT_STORE_NAME = "finalization-receiver";
-
-    private final Utils mUtils = new Utils();
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        DevicePolicyManager dpm = getSystemService(DevicePolicyManager.class);
-        int currentState = dpm.getUserProvisioningState();
-
-        switch (currentState) {
-            case DevicePolicyManager.STATE_USER_SETUP_INCOMPLETE:
-            case DevicePolicyManager.STATE_USER_SETUP_COMPLETE:
-            case DevicePolicyManager.STATE_USER_PROFILE_COMPLETE:
-                finalizeProvisioning(dpm);
-                break;
-            case DevicePolicyManager.STATE_USER_UNMANAGED:
-            case DevicePolicyManager.STATE_USER_SETUP_FINALIZED:
-                // Nothing to do in these cases.
-                ProvisionLogger.logw("Received ACTION_PROVISIONING_FINALIZATION intent, but "
-                        + "nothing to do in state: " + currentState);
-                break;
-        }
-
-        finish();
-    }
-
-    public static void storeProvisioningParams(Context context, ProvisioningParams params) {
-        Intent intent = new MessageParser().getIntentFromProvisioningParams(params);
-        getIntentStore(context).save(intent);
-    }
-
-    private void finalizeProvisioning(DevicePolicyManager dpm) {
-        mParams = loadProvisioningParamsAndClearIntentStore();
-        Intent provisioningCompleteIntent = getProvisioningCompleteIntent(dpm);
-        if (provisioningCompleteIntent == null) {
-            return;
-        }
-
-        // It maybe the case that mParams is null at this point - we expect this to be the case if
-        // ManagedProvisioning wasn't invoked to perform setup. We'll simply trigger the normal
-        // broadcast so that the installed DPC knows that user-setup completed. Concrete use-case
-        // is a user being setup through DevicePolicyManager.createAndInitializeUser() by the
-        // device-owner, which sets profile-owner and then launches the user. Setup-wizard on the
-        // user runs, and at the end of it's activity flow will trigger the finalization intent,
-        // which then allows us to notify the DPC that profile setup is complete.
-        if (mParams != null &&
-                mParams.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
-            // For the managed profile owner case, we need to send the provisioning complete
-            // intent to the mdm. Once it has been received, we'll send
-            // ACTION_MANAGED_PROFILE_PROVISIONED in the parent.
-            finalizeManagedProfileOwnerProvisioning(provisioningCompleteIntent);
-        } else {
-            // For managed user and device owner, we just need to send the provisioning complete
-            // intent to the mdm.
-            sendBroadcast(provisioningCompleteIntent);
-        }
-
-        mUtils.markUserProvisioningStateFinalized(this, mParams);
-    }
-
-    private void finalizeManagedProfileOwnerProvisioning(Intent provisioningCompleteIntent) {
-        UserHandle managedUserHandle = mUtils.getManagedProfile(this);
-        if (managedUserHandle == null) {
-            ProvisionLogger.loge("Failed to retrieve the userHandle of the managed profile.");
-            return;
-        }
-        BroadcastReceiver mdmReceivedSuccessReceiver = new MdmReceivedSuccessReceiver(
-                mParams.accountToMigrate, mParams.deviceAdminComponentName.getPackageName());
-
-        sendOrderedBroadcastAsUser(provisioningCompleteIntent, managedUserHandle, null,
-                mdmReceivedSuccessReceiver, null, Activity.RESULT_OK, null, null);
-    }
-
-    private Intent getProvisioningCompleteIntent(DevicePolicyManager dpm) {
-        Intent intent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
-        try {
-            // mParams maybe null for cases where DevicePolicyManager has directly set DO or PO and
-            // ManagedProvisioning wasn't involved. In that case, we may still want to use the same
-            // mechanism after setup-wizard to invoke the MDM, hence why we fallback to inspecting
-            // device and profile-owner.
-            if (mParams != null) {
-                intent.setComponent(mParams.inferDeviceAdminComponentName(this));
-            } else if (dpm.getDeviceOwner() != null) {
-                intent.setComponent(mUtils.findDeviceAdmin(dpm.getDeviceOwner(),
-                        null /* mdmComponentName */, this));
-            } else if (dpm.getProfileOwner() != null) {
-                intent.setComponent(mUtils.findDeviceAdmin(dpm.getProfileOwner().getPackageName(),
-                        null /* mdmComponentName */, this));
-            } else {
-                return null;
-            }
-        } catch (IllegalProvisioningArgumentException e) {
-            ProvisionLogger.loge("Failed to infer the device admin component name", e);
-            return null;
-        }
-        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES | Intent.FLAG_RECEIVER_FOREGROUND);
-        if (mParams != null && mParams.adminExtrasBundle != null) {
-            intent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, mParams.adminExtrasBundle);
-        }
-        return intent;
-    }
-
-    private ProvisioningParams loadProvisioningParamsAndClearIntentStore() {
-        IntentStore intentStore = getIntentStore(this);
-        Intent intent = intentStore.load();
-        if (intent == null) {
-            ProvisionLogger.loge("Fail to retrieve ProvisioningParams from intent store.");
-            return null;
-        }
-        intentStore.clear();
-
-        try {
-            return new MessageParser().parse(intent, this);
-        } catch (IllegalProvisioningArgumentException e) {
-            ProvisionLogger.loge("Failed to parse provisioning intent", e);
-        }
-        return null;
-    }
-
-    private static IntentStore getIntentStore(Context context) {
-        return new IntentStore(context, INTENT_STORE_NAME);
-    }
-}
diff --git a/src/com/android/managedprovisioning/IntentStore.java b/src/com/android/managedprovisioning/IntentStore.java
deleted file mode 100644
index e0511c1..0000000
--- a/src/com/android/managedprovisioning/IntentStore.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning;
-
-import android.accounts.Account;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.os.PersistableBundle;
-import android.util.Xml;
-
-import com.android.internal.util.FastXmlSerializer;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.Set;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-
-/**
- * This class is used to store an intent to an xml file, and then restore it.
- * Can only store:
- * - the action
- * - the component name
- * - extras of type string, Integer, Long, Boolean, ComponentName, PersistableBundle, Account
- */
-public class IntentStore {
-
-    private static final String TAG_INTENT_STORE = "intent-store";
-
-    private static final String TAG_ACTION = "action";
-    private static final String TAG_COMPONENT_NAME = "component-name";
-
-    private static final String TAG_EXTRAS = "extras";
-    private static final String TAG_STRING = "string";
-    private static final String TAG_INTEGER = "integer";
-    private static final String TAG_LONG = "long";
-    private static final String TAG_BOOLEAN = "boolean";
-    private static final String TAG_ACCOUNT = "account";
-    private static final String TAG_PERSISTABLE_BUNDLE = "persistable-bundle";
-
-    private static final String ATTR_VALUE = "value";
-    private static final String ATTR_NAME = "name";
-    private static final String ATTR_ACCOUNT_NAME = "account-name";
-    private static final String ATTR_ACCOUNT_TYPE = "account-type";
-
-    private final Context mContext;
-    private final String mName;
-
-    private static final Object STATIC_LOCK = new Object();
-
-    public IntentStore(Context context, String name) {
-        mName = name;
-        mContext = context;
-    }
-
-    public boolean save(Intent intent) {
-        synchronized(STATIC_LOCK) {
-            File file = getFile();
-            if (file.exists()) {
-                ProvisionLogger.loge("Cannot save to the intent store because it already contains"
-                        + " an intent");
-                return false;
-            }
-            try (FileOutputStream stream = new FileOutputStream(file)){
-                XmlSerializer serializer = new FastXmlSerializer();
-                serializer.setOutput(stream, StandardCharsets.UTF_8.name());
-                serializer.startDocument(null, true);
-                serializer.startTag(null, TAG_INTENT_STORE);
-                writeIntent(intent, serializer);
-                serializer.endTag(null, TAG_INTENT_STORE);
-                serializer.endDocument();
-                return true;
-            } catch (IOException | XmlPullParserException e) {
-                ProvisionLogger.loge("Caught exception while trying to save an intent to the"
-                        + " intentStore", e);
-                file.delete();
-                return false;
-            }
-        }
-    }
-
-    private void writeIntent(Intent intent, XmlSerializer serializer)
-            throws IOException, XmlPullParserException {
-        if (intent.getAction() != null) {
-            writeTag(serializer, TAG_ACTION, intent.getAction());
-        }
-        if (intent.getComponent() != null) {
-            writeTag(serializer, TAG_COMPONENT_NAME,
-                    intent.getComponent().flattenToString());
-        }
-        if (intent.getExtras() != null) {
-            writeExtras(intent, serializer);
-        }
-    }
-
-    private void writeExtras(Intent intent, XmlSerializer serializer)
-            throws IOException, XmlPullParserException {
-        serializer.startTag(null, TAG_EXTRAS);
-        for (String key : intent.getExtras().keySet()) {
-            Object o = intent.getExtra(key);
-            if (o instanceof String) {
-                writeTag(serializer, TAG_STRING, key, (String) o);
-            } else if (o instanceof Integer) {
-                writeTag(serializer, TAG_INTEGER, key, o.toString());
-            } else if (o instanceof Long) {
-                writeTag(serializer, TAG_LONG, key, o.toString());
-            } else if (o instanceof Boolean) {
-                writeTag(serializer, TAG_BOOLEAN, key, o.toString());
-            } else if (o instanceof ComponentName) {
-                writeTag(serializer, TAG_COMPONENT_NAME, key,
-                        ((ComponentName) o).flattenToString());
-            } else if (o instanceof Account) {
-                Account account = (Account) o;
-                serializer.startTag(null, TAG_ACCOUNT);
-                serializer.attribute(null, ATTR_NAME, key);
-                serializer.attribute(null, ATTR_ACCOUNT_NAME, account.name);
-                serializer.attribute(null, ATTR_ACCOUNT_TYPE, account.type);
-                serializer.endTag(null, TAG_ACCOUNT);
-            } else if (o instanceof PersistableBundle) {
-                serializer.startTag(null, TAG_PERSISTABLE_BUNDLE);
-                serializer.attribute(null, ATTR_NAME, key);
-                ((PersistableBundle) o).saveToXml(serializer);
-                serializer.endTag(null, TAG_PERSISTABLE_BUNDLE);
-            } else if (o != null) {
-                ProvisionLogger.loge("extra for key " + key + " cannot be save in the intent"
-                        + " store: " + o, new RuntimeException());
-            }
-        }
-        serializer.endTag(null, TAG_EXTRAS);
-    }
-
-    public Intent load() {
-        File file = getFile();
-        if (!file.exists()) {
-            return null;
-        }
-        synchronized(STATIC_LOCK) {
-            try (FileInputStream stream = new FileInputStream(file)) {
-                XmlPullParser parser = Xml.newPullParser();
-                parser.setInput(stream, null);
-                Intent result = parseIntent(parser);
-                return result;
-            } catch (IOException | XmlPullParserException e) {
-                ProvisionLogger.loge("Caught exception while trying to load an intent from the"
-                        + " IntentStore", e);
-                return null;
-            }
-        }
-    }
-
-    private Intent parseIntent(XmlPullParser parser) throws XmlPullParserException, IOException {
-        Intent intent = new Intent();
-        int outerDepth = parser.getDepth();
-        int type;
-        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-               && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
-            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
-                continue;
-            }
-            String tag = parser.getName();
-            if (tag.equals(TAG_ACTION)) {
-                intent.setAction(parser.getAttributeValue(null, ATTR_VALUE));
-            } else if (tag.equals(TAG_COMPONENT_NAME)) {
-                intent.setComponent(ComponentName.unflattenFromString(
-                        parser.getAttributeValue(null, ATTR_VALUE)));
-            } else if (tag.equals(TAG_EXTRAS)) {
-                parseExtras(intent, parser);
-            }
-        }
-        return intent;
-    }
-
-    private void parseExtras(Intent intent, XmlPullParser parser) throws XmlPullParserException,
-            IOException {
-        int outerDepth = parser.getDepth();
-        int type;
-        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-               && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
-            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
-                continue;
-            }
-            String tag = parser.getName();
-            switch (tag) {
-                case TAG_STRING:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            parser.getAttributeValue(null, ATTR_VALUE));
-                    break;
-                case TAG_INTEGER:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            Integer.parseInt(parser.getAttributeValue(null, ATTR_VALUE)));
-                    break;
-                case TAG_LONG:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            Long.parseLong(parser.getAttributeValue(null, ATTR_VALUE)));
-                    break;
-                case TAG_BOOLEAN:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            Boolean.parseBoolean(
-                            parser.getAttributeValue(null, ATTR_VALUE)));
-                    break;
-                case TAG_COMPONENT_NAME:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            ComponentName.unflattenFromString(
-                            parser.getAttributeValue(null, ATTR_VALUE)));
-                    break;
-                case TAG_ACCOUNT:
-                    Account a = new Account(
-                            parser.getAttributeValue(null, ATTR_ACCOUNT_NAME),
-                            parser.getAttributeValue(null, ATTR_ACCOUNT_TYPE));
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME), a);
-                    break;
-                case TAG_PERSISTABLE_BUNDLE:
-                    intent.putExtra(parser.getAttributeValue(null, ATTR_NAME),
-                            PersistableBundle.restoreFromXml(parser));
-                    break;
-            }
-        }
-    }
-
-    public void clear() {
-        getFile().delete();
-    }
-
-    private void writeTag(XmlSerializer serializer, String tag, String value) throws IOException {
-        serializer.startTag(null, tag);
-        serializer.attribute(null, ATTR_VALUE, value);
-        serializer.endTag(null, tag);
-    }
-
-    private void writeTag(XmlSerializer serializer, String tag, String name, String value)
-            throws IOException {
-        serializer.startTag(null, tag);
-        serializer.attribute(null, ATTR_NAME, name);
-        serializer.attribute(null, ATTR_VALUE, value);
-        serializer.endTag(null, tag);
-    }
-
-    private File getFile() {
-        return new File(mContext.getFilesDir(), "intent_store_" + mName + ".xml");
-    }
-}
diff --git a/src/com/android/managedprovisioning/NetworkMonitor.java b/src/com/android/managedprovisioning/NetworkMonitor.java
deleted file mode 100644
index 0f376a2..0000000
--- a/src/com/android/managedprovisioning/NetworkMonitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.net.NetworkInfo.DetailedState;
-
-import com.android.managedprovisioning.common.Utils;
-
-/**
- * Monitor the state of the data network and the checkin service. Invoke a callback when the network
- * is connected and checkin has succeeded. Callbacks are made on the thread that created this
- * object.
- */
-public class NetworkMonitor {
-    /** State notification callback. Expect some duplicate notifications. */
-    public interface Callback {
-
-        void onNetworkConnected();
-
-        void onNetworkDisconnected();
-    }
-
-    private Context mContext = null;
-    private Callback mCallback = null;
-
-    private boolean mNetworkConnected = false;
-
-    private boolean mReceiverRegistered;
-
-    private final Utils mUtils = new Utils();
-
-    /**
-     * Start watching the network and monitoring the checkin service. Immediately invokes one of the
-     * callback methods to report the current state, and then invokes callback methods over time as
-     * the state changes.
-     *
-     * @param context to use for intent observers and such
-     * @param callback to invoke when the network status changes
-     */
-    public NetworkMonitor(Context context, Callback callback) {
-        mContext = context;
-        mCallback = callback;
-
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
-
-        // Listen to immediate connectivity changes which are 3 seconds
-        // earlier than CONNECTIVITY_ACTION and may not have IPv6 routes
-        // setup. However, this may allow us to start up services like
-        // the CheckinService a bit earlier.
-        filter.addAction(ConnectivityManager.INET_CONDITION_ACTION);
-
-        context.registerReceiver(mBroadcastReceiver, filter);
-        mReceiverRegistered = true;
-
-    }
-
-    /**
-     * Stop watching the network and checkin service.
-     */
-    public synchronized void close() {
-        if (mCallback == null) {
-            return;
-        }
-        mCallback = null;
-
-        if (mReceiverRegistered) {
-            mContext.unregisterReceiver(mBroadcastReceiver);
-            mReceiverRegistered = false;
-        }
-    }
-
-    public final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            ProvisionLogger.logd("onReceive " + intent.toString());
-
-            mNetworkConnected = mUtils.isConnectedToWifi(context);
-
-            if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION) ||
-                    intent.getAction().equals(ConnectivityManager.INET_CONDITION_ACTION)) {
-                if (mNetworkConnected) {
-                    mCallback.onNetworkConnected();
-                } else {
-                    mCallback.onNetworkDisconnected();
-                }
-            }
-        }
-    };
-
-    public boolean isNetworkConnected() {
-        return mNetworkConnected;
-    }
-}
diff --git a/src/com/android/managedprovisioning/PreBootListener.java b/src/com/android/managedprovisioning/PreBootListener.java
deleted file mode 100644
index 99e8478..0000000
--- a/src/com/android/managedprovisioning/PreBootListener.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.os.UserHandle;
-import android.os.UserManager;
-
-import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
-import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
-import com.android.managedprovisioning.task.DisallowAddUserTask;
-
-import java.util.List;
-
-/**
- * After a system update, this class resets the cross-profile intent filters and checks
- * if apps that have been added to the system image need to be deleted.
- */
-public class PreBootListener extends BroadcastReceiver {
-
-    private UserManager mUserManager;
-    private PackageManager mPackageManager;
-    private DevicePolicyManager mDevicePolicyManager;
-
-    private static final String TELECOM_PACKAGE = "com.android.server.telecom";
-
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        if (context.getUserId() != UserHandle.USER_SYSTEM) {
-            return;
-        }
-        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
-
-        mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(
-                Context.DEVICE_POLICY_SERVICE);
-        mPackageManager = context.getPackageManager();
-
-        // Check for device owner.
-        final ComponentName deviceOwnerComponent =
-                mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser();
-        if (deviceOwnerComponent != null) {
-            int deviceOwnerUserId = mDevicePolicyManager.getDeviceOwnerUserId();
-
-            if(DeleteNonRequiredAppsTask.shouldDeleteNonRequiredApps(context, deviceOwnerUserId)) {
-
-                // Delete new apps.
-                new DeleteNonRequiredAppsTask(context, deviceOwnerComponent.getPackageName(),
-                        DeleteNonRequiredAppsTask.DEVICE_OWNER,
-                        false /* not creating new profile */,
-                        deviceOwnerUserId,
-                        false /* delete non-required system apps */,
-                        new DeleteNonRequiredAppsTask.Callback() {
-
-                            @Override
-                            public void onSuccess() {
-                            }
-
-                            @Override
-                            public void onError() {
-                                ProvisionLogger.loge("Error while checking if there are new system "
-                                        + "apps that need to be deleted");
-                            }
-                        }).run();
-            }
-
-            // Ensure additional users cannot be created if we're in the state necessary to require
-            // that.
-            boolean splitSystemUser = UserManager.isSplitSystemUser();
-            new DisallowAddUserTask(mUserManager, deviceOwnerUserId, splitSystemUser)
-                    .maybeDisallowAddUsers();
-        }
-
-        for (UserInfo userInfo : mUserManager.getUsers()) {
-            if (userInfo.isManagedProfile()) {
-                mUserManager.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true,
-                        userInfo.getUserHandle());
-                // Enabling telecom package as it supports managed profiles from N.
-                installTelecomAsUser(userInfo.id);
-                runManagedProfileDisablingTasks(userInfo.id, context);
-            } else {
-                // if this user has managed profiles, reset the cross-profile intent filters between
-                // this user and its managed profiles.
-                resetCrossProfileIntentFilters(userInfo.id);
-            }
-        }
-    }
-
-    /**
-     * Enable telecom package in a particular user.
-     *
-     * @param userId user id of user that going to have telecom installed.
-     */
-    private void installTelecomAsUser(int userId) {
-        try {
-            mPackageManager.installExistingPackageAsUser(TELECOM_PACKAGE, userId);
-        } catch (NameNotFoundException ex) {
-            // should not happen
-            ProvisionLogger.loge(ex);
-        }
-    }
-
-    /**
-     * Reset the cross profile intent filters between userId and all of its managed profiles if any.
-     */
-    private void resetCrossProfileIntentFilters(int userId) {
-        List<UserInfo> profiles = mUserManager.getProfiles(userId);
-        if (profiles.size() <= 1) {
-            return;
-        }
-
-        // Removes cross profile intent filters from the parent to all the managed profiles.
-        mPackageManager.clearCrossProfileIntentFilters(userId);
-
-        // For each managed profile reset cross profile intent filters
-        for (UserInfo profile : profiles) {
-            if (!profile.isManagedProfile()) {
-                continue;
-            }
-            mPackageManager.clearCrossProfileIntentFilters(profile.id);
-            CrossProfileIntentFiltersHelper.setFilters(
-                    mPackageManager, userId, profile.id);
-        }
-    }
-
-    void runManagedProfileDisablingTasks(int userId, Context context) {
-        ComponentName profileOwner = mDevicePolicyManager.getProfileOwnerAsUser(userId);
-        if (profileOwner == null) {
-            // Shouldn't happen.
-            ProvisionLogger.loge("No profile owner on managed profile " + userId);
-            return;
-        }
-        final DisableInstallShortcutListenersTask disableInstallShortcutListenersTask
-                = new DisableInstallShortcutListenersTask(context, userId);
-
-        final DeleteNonRequiredAppsTask deleteNonRequiredAppsTask
-                = new DeleteNonRequiredAppsTask(context,
-            profileOwner.getPackageName(),
-            DeleteNonRequiredAppsTask.PROFILE_OWNER,
-            false /* not creating new profile */,
-            userId,
-            false /* delete non-required system apps */,
-            new DeleteNonRequiredAppsTask.Callback() {
-
-                @Override
-                public void onSuccess() {
-                    disableInstallShortcutListenersTask.run();
-                }
-
-                @Override
-                public void onError() {
-                    ProvisionLogger.loge("Error while checking if there are new system "
-                            + "apps that need to be deleted");
-                }
-            });
-
-        deleteNonRequiredAppsTask.run();
-    }
-}
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
deleted file mode 100644
index 985625a..0000000
--- a/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
-
-import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.AccountManagerFuture;
-import android.accounts.AuthenticatorException;
-import android.accounts.OperationCanceledException;
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.ProgressDialog;
-import android.app.admin.DevicePolicyManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.ConditionVariable;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.support.v4.content.LocalBroadcastManager;
-import android.view.View;
-import android.widget.TextView;
-
-import com.android.managedprovisioning.model.ProvisioningParams;
-
-import java.io.IOException;
-import java.util.concurrent.ExecutionException;
-
-/**
- * Profile owner provisioning sets up a separate profile on a device whose primary user is already
- * set up or being set up.
- *
- * <p>
- * The typical example is setting up a corporate profile that is controlled by their employer on a
- * users personal device to keep personal and work data separate.
- *
- * <p>
- * The activity handles the UI for managed profile provisioning and starts the
- * {@link ProfileOwnerProvisioningService}, which runs through the setup steps in an
- * async task.
- */
-public class ProfileOwnerProvisioningActivity extends SetupLayoutActivity {
-    protected static final String ACTION_CANCEL_PROVISIONING =
-            "com.android.managedprovisioning.CANCEL_PROVISIONING";
-
-    private BroadcastReceiver mServiceMessageReceiver;
-
-    private static final int BROADCAST_TIMEOUT = 2 * 60 * 1000;
-
-    // Provisioning service started
-    private static final int STATUS_PROVISIONING = 1;
-    // Back button pressed during provisioning, confirm dialog showing.
-    private static final int STATUS_CANCEL_CONFIRMING = 2;
-    // Cancel confirmed, waiting for the provisioning service to complete.
-    private static final int STATUS_CANCELLING = 3;
-    // Cancelling not possible anymore, provisioning already finished successfully.
-    private static final int STATUS_FINALIZING = 4;
-
-    private static final String KEY_STATUS= "status";
-    private static final String KEY_PENDING_INTENT = "pending_intent";
-
-    private int mCancelStatus = STATUS_PROVISIONING;
-    private Intent mPendingProvisioningResult = null;
-    private ProgressDialog mCancelProgressDialog = null;
-    private AccountManager mAccountManager;
-
-    private ProvisioningParams mParams;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        ProvisionLogger.logd("Profile owner provisioning activity ONCREATE");
-        mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
-
-        if (savedInstanceState != null) {
-            mCancelStatus = savedInstanceState.getInt(KEY_STATUS, STATUS_PROVISIONING);
-            mPendingProvisioningResult = savedInstanceState.getParcelable(KEY_PENDING_INTENT);
-        }
-
-        initializeLayoutParams(R.layout.progress, R.string.setting_up_workspace, true);
-        setTitle(R.string.setup_profile_progress);
-
-        if (mCancelStatus == STATUS_CANCEL_CONFIRMING) {
-            showCancelProvisioningDialog();
-        } else if (mCancelStatus == STATUS_CANCELLING) {
-            showCancelProgressDialog();
-        }
-        mParams = (ProvisioningParams) getIntent().getParcelableExtra(
-                ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
-        if (mParams != null) {
-            maybeSetLogoAndMainColor(mParams.mainColor);
-        }
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-
-        // Setup broadcast receiver for feedback from service.
-        mServiceMessageReceiver = new ServiceMessageReceiver();
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS);
-        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_ERROR);
-        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_CANCELLED);
-        LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
-
-        // Start service async to make sure the UI is loaded first.
-        final Handler handler = new Handler(getMainLooper());
-        handler.post(new Runnable() {
-            @Override
-            public void run() {
-                Intent intent = new Intent(ProfileOwnerProvisioningActivity.this,
-                        ProfileOwnerProvisioningService.class);
-                intent.putExtras(getIntent());
-                startService(intent);
-            }
-        });
-    }
-
-    class ServiceMessageReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (mCancelStatus == STATUS_CANCEL_CONFIRMING) {
-                // Store the incoming intent and only process it after the user has responded to
-                // the cancel dialog
-                mPendingProvisioningResult = intent;
-                return;
-            }
-            handleProvisioningResult(intent);
-        }
-    }
-
-    private void handleProvisioningResult(Intent intent) {
-        String action = intent.getAction();
-        if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS.equals(action)) {
-            if (mCancelStatus == STATUS_CANCELLING) {
-                return;
-            }
-
-            ProvisionLogger.logd("Successfully provisioned."
-                    + "Finishing ProfileOwnerProvisioningActivity");
-
-            onProvisioningSuccess();
-        } else if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_ERROR.equals(action)) {
-            if (mCancelStatus == STATUS_CANCELLING){
-                return;
-            }
-            String errorLogMessage = intent.getStringExtra(
-                    ProfileOwnerProvisioningService.EXTRA_LOG_MESSAGE_KEY);
-            ProvisionLogger.logd("Error reported: " + errorLogMessage);
-            error(R.string.managed_provisioning_error_text, errorLogMessage);
-            // Note that this will be reported as a canceled action
-            mCancelStatus = STATUS_FINALIZING;
-        } else if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_CANCELLED.equals(action)) {
-            if (mCancelStatus != STATUS_CANCELLING) {
-                return;
-            }
-            mCancelProgressDialog.dismiss();
-            onProvisioningAborted();
-        }
-    }
-
-    private void onProvisioningAborted() {
-        stopService(new Intent(this, ProfileOwnerProvisioningService.class));
-        setResult(Activity.RESULT_CANCELED);
-        finish();
-    }
-
-    @Override
-    public void onBackPressed() {
-        if (mCancelStatus == STATUS_PROVISIONING) {
-            mCancelStatus = STATUS_CANCEL_CONFIRMING;
-            showCancelProvisioningDialog();
-        } else {
-            super.onBackPressed();
-        }
-    }
-
-    private void showCancelProvisioningDialog() {
-        AlertDialog alertDialog = new AlertDialog.Builder(this)
-                .setCancelable(false)
-                .setMessage(R.string.profile_owner_cancel_message)
-                .setNegativeButton(R.string.profile_owner_cancel_cancel,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                mCancelStatus = STATUS_PROVISIONING;
-                                if (mPendingProvisioningResult != null) {
-                                    handleProvisioningResult(mPendingProvisioningResult);
-                                }
-                            }
-                        })
-                .setPositiveButton(R.string.profile_owner_cancel_ok,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                confirmCancel();
-                            }
-                        })
-                .create();
-        alertDialog.show();
-    }
-
-    protected void showCancelProgressDialog() {
-        mCancelProgressDialog = new ProgressDialog(this);
-        mCancelProgressDialog.setMessage(getText(R.string.profile_owner_cancelling));
-        mCancelProgressDialog.setCancelable(false);
-        mCancelProgressDialog.setCanceledOnTouchOutside(false);
-        mCancelProgressDialog.show();
-    }
-
-    public void error(int resourceId, String logText) {
-        ProvisionLogger.loge(logText);
-        new AlertDialog.Builder(this)
-                .setTitle(R.string.provisioning_error_title)
-                .setMessage(resourceId)
-                .setCancelable(false)
-                .setPositiveButton(R.string.device_owner_error_ok,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                onProvisioningAborted();
-                            }
-                        })
-                .show();
-    }
-
-    private void confirmCancel() {
-        if (mCancelStatus != STATUS_CANCEL_CONFIRMING) {
-            // Can only cancel if provisioning hasn't finished at this point.
-            return;
-        }
-        mCancelStatus = STATUS_CANCELLING;
-        Intent intent = new Intent(ProfileOwnerProvisioningActivity.this,
-                ProfileOwnerProvisioningService.class);
-        intent.setAction(ACTION_CANCEL_PROVISIONING);
-        startService(intent);
-        showCancelProgressDialog();
-    }
-
-    /**
-     * Finish activity and stop service.
-     */
-    private void onProvisioningSuccess() {
-        mCancelStatus = STATUS_FINALIZING;
-        stopService(new Intent(this, ProfileOwnerProvisioningService.class));
-        setResult(Activity.RESULT_OK);
-        finish();
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        outState.putInt(KEY_STATUS, mCancelStatus);
-        outState.putParcelable(KEY_PENDING_INTENT, mPendingProvisioningResult);
-    }
-
-    @Override
-    public void onPause() {
-        LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
-        super.onPause();
-    }
-}
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
deleted file mode 100644
index 2cb970a..0000000
--- a/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-
-import android.accounts.AccountManager;
-import android.app.Activity;
-import android.app.ActivityManagerNative;
-import android.app.IActivityManager;
-import android.app.Service;
-import android.app.admin.DevicePolicyManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.os.AsyncTask;
-import android.os.IBinder;
-import android.os.Process;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.support.v4.content.LocalBroadcastManager;
-
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.CrossProfileIntentFiltersHelper;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
-import com.android.managedprovisioning.task.DisableBluetoothSharingTask;
-import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
-import com.android.managedprovisioning.task.ManagedProfileSettingsTask;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Service that runs the profile owner provisioning.
- *
- * <p>This service is started from and sends updates to the {@link ProfileOwnerProvisioningActivity},
- * which contains the provisioning UI.
- */
-public class ProfileOwnerProvisioningService extends Service {
-    // Intent actions for communication with DeviceOwnerProvisioningService.
-    public static final String ACTION_PROVISIONING_SUCCESS =
-            "com.android.managedprovisioning.provisioning_success";
-    public static final String ACTION_PROVISIONING_ERROR =
-            "com.android.managedprovisioning.error";
-    public static final String ACTION_PROVISIONING_CANCELLED =
-            "com.android.managedprovisioning.cancelled";
-    public static final String EXTRA_LOG_MESSAGE_KEY = "ProvisioningErrorLogMessage";
-
-    // Maximum time we will wait for ACTION_USER_UNLOCK until we give up and continue without
-    // account migration.
-    private static final int USER_UNLOCKED_TIMEOUT_SECONDS = 120; // 2 minutes
-
-    // Status flags for the provisioning process.
-    /** Provisioning not started. */
-    private static final int STATUS_UNKNOWN = 0;
-    /** Provisioning started, no errors or cancellation requested received. */
-    private static final int STATUS_STARTED = 1;
-    /** Provisioning in progress, but user has requested cancellation. */
-    private static final int STATUS_CANCELLING = 2;
-    // Final possible states for the provisioning process.
-    /** Provisioning completed successfully. */
-    private static final int STATUS_DONE = 3;
-    /** Provisioning failed and cleanup complete. */
-    private static final int STATUS_ERROR = 4;
-    /** Provisioning cancelled and cleanup complete. */
-    private static final int STATUS_CANCELLED = 5;
-
-    private IPackageManager mIpm;
-    private UserInfo mManagedProfileOrUserInfo;
-    private AccountManager mAccountManager;
-    private UserManager mUserManager;
-    private UserUnlockedReceiver mUnlockedReceiver;
-
-    private AsyncTask<Intent, Void, Void> runnerTask;
-
-    // MessageId of the last error message.
-    private String mLastErrorMessage = null;
-
-    // Current status of the provisioning process.
-    private int mProvisioningStatus = STATUS_UNKNOWN;
-
-    private ProvisioningParams mParams;
-
-    private final Utils mUtils = new Utils();
-
-    private class RunnerTask extends AsyncTask<Intent, Void, Void> {
-        @Override
-        protected Void doInBackground(Intent ... intents) {
-            // Atomically move to STATUS_STARTED at most once.
-            synchronized (ProfileOwnerProvisioningService.this) {
-                if (mProvisioningStatus == STATUS_UNKNOWN) {
-                    mProvisioningStatus = STATUS_STARTED;
-                } else {
-                    // Process already started, don't start again.
-                    return null;
-                }
-            }
-
-            try {
-                initialize(intents[0]);
-                startManagedProfileOrUserProvisioning();
-            } catch (ProvisioningException e) {
-                // Handle internal errors.
-                error(e.getMessage(), e);
-                finish();
-            } catch (Exception e) {
-                // General catch-all to ensure process cleans up in all cases.
-                error("Failed to initialize managed profile, aborting.", e);
-                finish();
-            }
-
-            return null;
-        }
-    }
-
-    @Override
-    public void onCreate() {
-        super.onCreate();
-
-        mIpm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
-        mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
-        mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
-
-        runnerTask = new RunnerTask();
-    }
-
-    @Override
-    public int onStartCommand(final Intent intent, int flags, int startId) {
-        if (ProfileOwnerProvisioningActivity.ACTION_CANCEL_PROVISIONING.equals(intent.getAction())) {
-            ProvisionLogger.logd("Cancelling profile owner provisioning service");
-            cancelProvisioning();
-            return START_NOT_STICKY;
-        }
-
-        ProvisionLogger.logd("Starting profile owner provisioning service");
-
-        try {
-            runnerTask.execute(intent);
-        } catch (IllegalStateException e) {
-            // runnerTask is either in progress, or finished.
-            ProvisionLogger.logd(
-                    "ProfileOwnerProvisioningService: Provisioning already started, "
-                    + "second provisioning intent not being processed, only reporting status.");
-            reportStatus();
-        }
-        return START_NOT_STICKY;
-    }
-
-    private void reportStatus() {
-        synchronized (this) {
-            switch (mProvisioningStatus) {
-                case STATUS_DONE:
-                    notifyActivityOfSuccess();
-                    break;
-                case STATUS_CANCELLED:
-                    notifyActivityCancelled();
-                    break;
-                case STATUS_ERROR:
-                    notifyActivityError();
-                    break;
-                case STATUS_UNKNOWN:
-                case STATUS_STARTED:
-                case STATUS_CANCELLING:
-                    // Don't notify UI of status when just-started/in-progress.
-                    break;
-            }
-        }
-    }
-
-    private void cancelProvisioning() {
-        synchronized (this) {
-            switch (mProvisioningStatus) {
-                case STATUS_DONE:
-                    // Process completed, we should honor user request to cancel
-                    // though.
-                    mProvisioningStatus = STATUS_CANCELLING;
-                    cleanupUserProfile();
-                    mProvisioningStatus = STATUS_CANCELLED;
-                    reportStatus();
-                    break;
-                case STATUS_UNKNOWN:
-                    // Process hasn't started, move straight to cancelled state.
-                    mProvisioningStatus = STATUS_CANCELLED;
-                    reportStatus();
-                    break;
-                case STATUS_STARTED:
-                    // Process is mid-flow, flag up that the user has requested
-                    // cancellation.
-                    mProvisioningStatus = STATUS_CANCELLING;
-                    break;
-                case STATUS_CANCELLING:
-                    // Cancellation already being processed.
-                    break;
-                case STATUS_CANCELLED:
-                case STATUS_ERROR:
-                    // Process already completed, nothing left to cancel.
-                    break;
-            }
-        }
-    }
-
-    private void initialize(Intent intent) {
-        // Load the ProvisioningParams (from message in Intent).
-        mParams = (ProvisioningParams) intent.getParcelableExtra(
-                ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
-        if (mParams.accountToMigrate != null) {
-            ProvisionLogger.logi("Migrating account to managed profile");
-        }
-    }
-
-    /**
-     * This is the core method to create a managed profile or user. It goes through every
-     * provisioning step.
-     */
-    private void startManagedProfileOrUserProvisioning() throws ProvisioningException {
-
-        ProvisionLogger.logd("Starting managed profile or user provisioning");
-
-        if(isProvisioningManagedUser()) {
-            mManagedProfileOrUserInfo = mUserManager.getUserInfo(mUserManager.getUserHandle());
-            if(mManagedProfileOrUserInfo == null) {
-                throw raiseError("Couldn't get current user information");
-            }
-        } else {
-            // Work through the provisioning steps in their corresponding order
-            createProfile(getString(R.string.default_managed_profile_name));
-        }
-        if (mManagedProfileOrUserInfo != null) {
-            final DeleteNonRequiredAppsTask deleteNonRequiredAppsTask;
-            final DisableInstallShortcutListenersTask disableInstallShortcutListenersTask;
-            final DisableBluetoothSharingTask disableBluetoothSharingTask;
-            final ManagedProfileSettingsTask managedProfileSettingsTask =
-                    new ManagedProfileSettingsTask(this, mManagedProfileOrUserInfo.id);
-
-            disableInstallShortcutListenersTask = new DisableInstallShortcutListenersTask(this,
-                    mManagedProfileOrUserInfo.id);
-            disableBluetoothSharingTask = new DisableBluetoothSharingTask(
-                    mManagedProfileOrUserInfo.id);
-            // TODO Add separate set of apps for MANAGED_USER, currently same as of DEVICE_OWNER.
-            deleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(this,
-                    mParams.deviceAdminComponentName.getPackageName(),
-                    (isProvisioningManagedUser() ? DeleteNonRequiredAppsTask.MANAGED_USER
-                            : DeleteNonRequiredAppsTask.PROFILE_OWNER),
-                    true /* creating new profile */,
-                    mManagedProfileOrUserInfo.id, false /* delete non-required system apps */,
-                    new DeleteNonRequiredAppsTask.Callback() {
-
-                        @Override
-                        public void onSuccess() {
-                            // Need to explicitly handle exceptions here, as
-                            // onError() is not invoked for failures in
-                            // onSuccess().
-                            try {
-                                disableBluetoothSharingTask.run();
-                                if (!isProvisioningManagedUser()) {
-                                    managedProfileSettingsTask.run();
-                                    disableInstallShortcutListenersTask.run();
-                                }
-                                setUpUserOrProfile();
-                            } catch (ProvisioningException e) {
-                                error(e.getMessage(), e);
-                            } catch (Exception e) {
-                                error("Provisioning failed", e);
-                            }
-                            finish();
-                        }
-
-                        @Override
-                        public void onError() {
-                            // Raise an error with a tracing exception attached.
-                            error("Delete non required apps task failed.", new Exception());
-                            finish();
-                        }
-                    });
-
-            deleteNonRequiredAppsTask.run();
-        }
-    }
-
-    /**
-     * Called when the new profile or managed user is ready for provisioning (the profile is created
-     * and all the apps not needed have been deleted).
-     */
-    private void setUpUserOrProfile() throws ProvisioningException {
-        installMdmOnManagedProfile();
-        setMdmAsActiveAdmin();
-        setMdmAsManagedProfileOwner();
-
-        if (!isProvisioningManagedUser()) {
-            setOrganizationColor();
-            setDefaultUserRestrictions();
-            CrossProfileIntentFiltersHelper.setFilters(
-                    getPackageManager(), getUserId(), mManagedProfileOrUserInfo.id);
-            if (!startManagedProfile(mManagedProfileOrUserInfo.id)) {
-                throw raiseError("Could not start user in background");
-            }
-            // Wait for ACTION_USER_UNLOCKED to be sent before trying to migrate the account.
-            // Even if no account is present, we should not send the provisioning complete broadcast
-            // before the managed profile user is properly started.
-            if ((mUnlockedReceiver != null) && !mUnlockedReceiver.waitForUserUnlocked()) {
-                return;
-            }
-
-            // Note: account migration must happen after setting the profile owner.
-            // Otherwise, there will be a time interval where some apps may think that the account
-            // does not have a profile owner.
-            mUtils.maybeCopyAccount(this, mParams.accountToMigrate, Process.myUserHandle(),
-                    mManagedProfileOrUserInfo.getUserHandle());
-        }
-    }
-
-    /**
-     * Notify the calling activity of our final status, perform any cleanup if
-     * the process didn't succeed.
-     */
-    private void finish() {
-        ProvisionLogger.logi("Finishing provisioning process, status: "
-                             + mProvisioningStatus);
-        // Reached the end of the provisioning process, take appropriate action
-        // based on current mProvisioningStatus.
-        synchronized (this) {
-            switch (mProvisioningStatus) {
-                case STATUS_STARTED:
-                    // Provisioning process completed normally.
-                    notifyMdmAndCleanup();
-                    mProvisioningStatus = STATUS_DONE;
-                    break;
-                case STATUS_UNKNOWN:
-                    // No idea how we could end up in finish() in this state,
-                    // but for safety treat it as an error and fall-through to
-                    // STATUS_ERROR.
-                    mLastErrorMessage = "finish() invoked in STATUS_UNKNOWN";
-                    mProvisioningStatus = STATUS_ERROR;
-                    break;
-                case STATUS_ERROR:
-                    // Process errored out, cleanup partially created managed
-                    // profile.
-                    cleanupUserProfile();
-                    break;
-                case STATUS_CANCELLING:
-                    // User requested cancellation during processing, remove
-                    // the successfully created profile.
-                    cleanupUserProfile();
-                    mProvisioningStatus = STATUS_CANCELLED;
-                    break;
-                case STATUS_CANCELLED:
-                case STATUS_DONE:
-                    // Shouldn't be possible to already be in this state?!?
-                    ProvisionLogger.logw("finish() invoked multiple times?");
-                    break;
-            }
-        }
-
-        ProvisionLogger.logi("Finished provisioning process, final status: "
-                + mProvisioningStatus);
-
-        // Notify UI activity of final status reached.
-        reportStatus();
-    }
-
-    /**
-     * Initialize the user that underlies the managed profile.
-     * This is required so that the provisioning complete broadcast can be sent across to the
-     * profile and apps can run on it.
-     */
-    private boolean startManagedProfile(int userId)  {
-        ProvisionLogger.logd("Starting user in background");
-        IActivityManager iActivityManager = ActivityManagerNative.getDefault();
-        // Register a receiver for the Intent.ACTION_USER_UNLOCKED to know when the managed profile
-        // has been started and unlocked.
-        mUnlockedReceiver = new UserUnlockedReceiver(this, userId);
-        try {
-            return iActivityManager.startUserInBackground(userId);
-        } catch (RemoteException neverThrown) {
-            // Never thrown, as we are making local calls.
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        }
-        return false;
-    }
-
-    private void notifyActivityOfSuccess() {
-        Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
-        LocalBroadcastManager.getInstance(ProfileOwnerProvisioningService.this)
-                .sendBroadcast(successIntent);
-    }
-
-    /**
-     * Notify the mdm that provisioning has completed. When the mdm has received the intent, stop
-     * the service and notify the {@link ProfileOwnerProvisioningActivity} so that it can finish
-     * itself.
-     */
-    private void notifyMdmAndCleanup() {
-        // Set DPM userProvisioningState appropriately and persist mParams for use during
-        // FinalizationActivity if necessary.
-        mUtils.markUserProvisioningStateInitiallyDone(this, mParams);
-
-        if (mParams.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
-            // Set the user_setup_complete flag on the managed-profile as setup-wizard is never run
-            // for that user. This is not relevant for other cases since
-            // Utils.markUserProvisioningStateInitiallyDone() communicates provisioning state to
-            // setup-wizard via DPM.setUserProvisioningState() if necessary.
-            mUtils.markUserSetupComplete(this, mManagedProfileOrUserInfo.id);
-        }
-
-        // If profile owner provisioning was started after current user setup is completed, then we
-        // can directly send the ACTION_PROFILE_PROVISIONING_COMPLETE broadcast to the MDM.
-        // But if the provisioning was started as part of setup wizard flow, we signal setup-wizard
-        // should shutdown via DPM.setUserProvisioningState(), which will result in a finalization
-        // intent being sent to us once setup-wizard finishes. As part of the finalization intent
-        // handling we then broadcast ACTION_PROFILE_PROVISIONING_COMPLETE.
-        if (mUtils.isUserSetupCompleted(this)) {
-            UserHandle managedUserHandle = new UserHandle(mManagedProfileOrUserInfo.id);
-
-            // Use an ordered broadcast, so that we only finish when the mdm has received it.
-            // Avoids a lag in the transition between provisioning and the mdm.
-            BroadcastReceiver mdmReceivedSuccessReceiver = new MdmReceivedSuccessReceiver(
-                    mParams.accountToMigrate, mParams.deviceAdminComponentName.getPackageName());
-
-            Intent completeIntent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
-            completeIntent.setComponent(mParams.deviceAdminComponentName);
-            completeIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
-                    Intent.FLAG_RECEIVER_FOREGROUND);
-            if (mParams.adminExtrasBundle != null) {
-                completeIntent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
-                        mParams.adminExtrasBundle);
-            }
-
-            sendOrderedBroadcastAsUser(completeIntent, managedUserHandle, null,
-                    mdmReceivedSuccessReceiver, null, Activity.RESULT_OK, null, null);
-            ProvisionLogger.logd("Provisioning complete broadcast has been sent to user "
-                    + managedUserHandle.getIdentifier());
-        }
-    }
-
-    private void createProfile(String profileName) throws ProvisioningException {
-
-        ProvisionLogger.logd("Creating managed profile with name " + profileName);
-
-        mManagedProfileOrUserInfo = mUserManager.createProfileForUser(profileName,
-                UserInfo.FLAG_MANAGED_PROFILE | UserInfo.FLAG_DISABLED,
-                Process.myUserHandle().getIdentifier());
-
-        if (mManagedProfileOrUserInfo == null) {
-            throw raiseError("Couldn't create profile.");
-        }
-    }
-
-    private void installMdmOnManagedProfile() throws ProvisioningException {
-        ProvisionLogger.logd("Installing mobile device management app "
-                + mParams.deviceAdminComponentName + " on managed profile");
-
-        try {
-            int status = mIpm.installExistingPackageAsUser(
-                mParams.deviceAdminComponentName.getPackageName(), mManagedProfileOrUserInfo.id);
-            switch (status) {
-              case PackageManager.INSTALL_SUCCEEDED:
-                  return;
-              case PackageManager.INSTALL_FAILED_USER_RESTRICTED:
-                  // Should not happen because we're not installing a restricted user
-                  throw raiseError("Could not install mobile device management app on managed "
-                          + "profile because the user is restricted");
-              case PackageManager.INSTALL_FAILED_INVALID_URI:
-                  // Should not happen because we already checked
-                  throw raiseError("Could not install mobile device management app on managed "
-                          + "profile because the package could not be found");
-              default:
-                  throw raiseError("Could not install mobile device management app on managed "
-                          + "profile. Unknown status: " + status);
-            }
-        } catch (RemoteException neverThrown) {
-            // Never thrown, as we are making local calls.
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        }
-    }
-
-    private void setMdmAsManagedProfileOwner() throws ProvisioningException {
-        ProvisionLogger.logd("Setting package " + mParams.deviceAdminComponentName
-                + " as managed profile owner.");
-
-        DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        if (!dpm.setProfileOwner(
-                mParams.deviceAdminComponentName,
-                mParams.deviceAdminComponentName.getPackageName(),
-                mManagedProfileOrUserInfo.id)) {
-            ProvisionLogger.logw("Could not set profile owner.");
-            throw raiseError("Could not set profile owner.");
-        }
-    }
-
-    private void setMdmAsActiveAdmin() {
-        ProvisionLogger.logd("Setting package " + mParams.deviceAdminComponentName
-                + " as active admin.");
-
-        DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        dpm.setActiveAdmin(mParams.deviceAdminComponentName, true /* refreshing*/,
-                mManagedProfileOrUserInfo.id);
-    }
-
-    private void setOrganizationColor() {
-        if (mParams.mainColor != null) {
-            DevicePolicyManager dpm =
-                    (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-            dpm.setOrganizationColorForUser(mParams.mainColor, mManagedProfileOrUserInfo.id);
-        }
-    }
-
-    private ProvisioningException raiseError(String message) throws ProvisioningException {
-        throw new ProvisioningException(message);
-    }
-
-    /**
-     * Record the fact that an error occurred, change mProvisioningStatus to
-     * reflect the fact the provisioning process failed
-     */
-    private void error(String dialogMessage, Exception e) {
-        synchronized (this) {
-            // Only case where an error condition should be notified is if we
-            // are in the normal flow for provisioning. If the process has been
-            // cancelled or already completed, then the fact there is an error
-            // is almost irrelevant.
-            if (mProvisioningStatus == STATUS_STARTED) {
-                mProvisioningStatus = STATUS_ERROR;
-                mLastErrorMessage = dialogMessage;
-
-                ProvisionLogger.logw(
-                        "Error occured during provisioning process: "
-                        + dialogMessage,
-                        e);
-            } else {
-                ProvisionLogger.logw(
-                        "Unexpected error occured in status ["
-                        + mProvisioningStatus + "]: " + dialogMessage,
-                        e);
-            }
-        }
-    }
-
-    private void setDefaultUserRestrictions() {
-        mUserManager.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true,
-                mManagedProfileOrUserInfo.getUserHandle());
-    }
-
-    private void notifyActivityError() {
-        Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
-        intent.putExtra(EXTRA_LOG_MESSAGE_KEY, mLastErrorMessage);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
-    }
-
-    private void notifyActivityCancelled() {
-        Intent cancelIntent = new Intent(ACTION_PROVISIONING_CANCELLED);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(cancelIntent);
-    }
-
-    /**
-     * Performs cleanup of any created user-profile on failure/cancellation.
-     */
-    private void cleanupUserProfile() {
-        if (mManagedProfileOrUserInfo != null && !isProvisioningManagedUser()) {
-            ProvisionLogger.logd("Removing managed profile");
-            mUserManager.removeUser(mManagedProfileOrUserInfo.id);
-        }
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-
-    /**
-     * Internal exception to allow provisioning process to terminal quickly and
-     * cleanly on first error, rather than continuing to process despite errors
-     * occurring.
-     */
-    private static class ProvisioningException extends Exception {
-        public ProvisioningException(String detailMessage) {
-            super(detailMessage);
-        }
-    }
-
-    public boolean isProvisioningManagedUser() {
-        return mParams.provisioningAction.equals(DevicePolicyManager.ACTION_PROVISION_MANAGED_USER);
-    }
-
-    /**
-     * BroadcastReceiver that listens to {@link Intent#ACTION_USER_UNLOCKED} in order to provide
-     * a blocking wait until the managed profile has been started and unlocked.
-     */
-    private static class UserUnlockedReceiver extends BroadcastReceiver {
-        private static final IntentFilter FILTER = new IntentFilter(Intent.ACTION_USER_UNLOCKED);
-
-        private final Semaphore semaphore = new Semaphore(0);
-        private final Context mContext;
-        private final int mUserId;
-
-        UserUnlockedReceiver(Context context, int userId) {
-            mContext = context;
-            mUserId = userId;
-            mContext.registerReceiverAsUser(this, new UserHandle(userId), FILTER, null, null);
-        }
-
-        @Override
-        public void onReceive(Context context, Intent intent ) {
-            if (!Intent.ACTION_USER_UNLOCKED.equals(intent.getAction())) {
-                ProvisionLogger.logw("Unexpected intent: " + intent);
-                return;
-            }
-            if (intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL) == mUserId) {
-                ProvisionLogger.logd("Received ACTION_USER_UNLOCKED for user " + mUserId);
-                semaphore.release();
-                mContext.unregisterReceiver(this);
-            }
-        }
-
-        public boolean waitForUserUnlocked() {
-            ProvisionLogger.logd("Waiting for ACTION_USER_UNLOCKED");
-            try {
-                return semaphore.tryAcquire(USER_UNLOCKED_TIMEOUT_SECONDS, TimeUnit.SECONDS);
-            } catch (InterruptedException ie) {
-                mContext.unregisterReceiver(this);
-                return false;
-            }
-        }
-    }
- }
diff --git a/src/com/android/managedprovisioning/SetupLayoutActivity.java b/src/com/android/managedprovisioning/SetupLayoutActivity.java
deleted file mode 100644
index d40eb4d..0000000
--- a/src/com/android/managedprovisioning/SetupLayoutActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2015, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.app.Activity;
-import android.content.res.ColorStateList;
-import android.graphics.Color;
-import android.graphics.drawable.Drawable;
-import android.view.Window;
-import android.view.WindowManager;
-
-import com.android.managedprovisioning.common.Utils;
-import com.android.setupwizardlib.GlifLayout;
-
-/**
- * Base class for setting up the layout.
- */
-public abstract class SetupLayoutActivity extends Activity {
-    protected final Utils mUtils = new Utils();
-
-    protected void initializeLayoutParams(int layoutResourceId, int headerResourceId,
-            boolean showProgressBar) {
-        setContentView(layoutResourceId);
-        GlifLayout layout = (GlifLayout) findViewById(R.id.setup_wizard_layout);
-        layout.setHeaderText(headerResourceId);
-        if (showProgressBar) {
-            layout.setProgressBarShown(true);
-        }
-    }
-
-    protected void maybeSetLogoAndMainColor(Integer mainColor) {
-        // null means the default value
-        if (mainColor == null) {
-            mainColor = getResources().getColor(R.color.orange);
-        }
-        // We should always use a value of 255 for the alpha.
-        mainColor = Color.argb(255, Color.red(mainColor), Color.green(mainColor),
-                Color.blue(mainColor));
-
-        Window window = getWindow();
-        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
-        window.setStatusBarColor(mainColor);
-        GlifLayout layout = (GlifLayout) findViewById(R.id.setup_wizard_layout);
-        Drawable logo = LogoUtils.getOrganisationLogo(this);
-        layout.setIcon(logo);
-        layout.setPrimaryColor(ColorStateList.valueOf(mainColor));
-    }
-}
diff --git a/src/com/android/managedprovisioning/UserConsentDialog.java b/src/com/android/managedprovisioning/UserConsentDialog.java
deleted file mode 100644
index 86bbc7f..0000000
--- a/src/com/android/managedprovisioning/UserConsentDialog.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.TextView;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
-
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.uiflows.WebActivity;
-import com.android.setupwizardlib.util.SystemBarHelper;
-
-/**
- * Dialog used to notify the user that the admin will have full control over the profile/device.
- * Custom runnables can be passed that are run on consent or cancel.
- */
-public class UserConsentDialog extends DialogFragment {
-    private static final int PROFILE_OWNER = 1;
-    private static final int DEVICE_OWNER = 2;
-
-    private static final String LEARN_MORE_URL_PROFILE_OWNER =
-            "https://support.google.com/android/work/answer/6090512";
-    // TODO: replace by the final device owner learn more link.
-    private static final String LEARN_MORE_URL_DEVICE_OWNER =
-            "https://support.google.com/android/work/answer/6090512";
-
-    // Only urls starting with this base can be visisted in the device owner case.
-    private static final String LEARN_MORE_ALLOWED_BASE_URL =
-            "https://support.google.com/";
-
-    private static final String KEY_OWNER_TYPE = "owner_type";
-    private static final String KEY_SHOW_CONSENT_CHECKBOX = "consent_checkbox";
-
-    private final Utils mUtils = new Utils();
-
-    public static UserConsentDialog newProfileOwnerInstance() {
-        return newInstance(PROFILE_OWNER, false);
-    }
-
-    public static UserConsentDialog newDeviceOwnerInstance(boolean showConsentCheckbox) {
-        return newInstance(DEVICE_OWNER, showConsentCheckbox);
-    }
-
-    private static UserConsentDialog newInstance(int ownerType, boolean showConsentCheckbox) {
-        UserConsentDialog dialog = new UserConsentDialog();
-        Bundle args = new Bundle();
-        args.putInt(KEY_OWNER_TYPE, ownerType);
-        args.putBoolean(KEY_SHOW_CONSENT_CHECKBOX, showConsentCheckbox);
-        dialog.setArguments(args);
-        return dialog;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        int ownerType = getArguments().getInt(KEY_OWNER_TYPE);
-        if (ownerType != PROFILE_OWNER && ownerType != DEVICE_OWNER) {
-            throw new IllegalArgumentException("Illegal value for argument ownerType.");
-        }
-        boolean isProfileOwner = (ownerType == PROFILE_OWNER);
-
-        final Dialog dialog = new Dialog(getActivity(), R.style.ManagedProvisioningDialogTheme);
-        dialog.setContentView(R.layout.learn_more_dialog);
-        dialog.setCanceledOnTouchOutside(false);
-        if (!mUtils.isUserSetupCompleted(getActivity())) {
-            SystemBarHelper.hideSystemBars(dialog);
-        }
-
-        final TextView learnMoreMsg = (TextView) dialog.findViewById(R.id.learn_more_text1);
-        final TextView linkText = (TextView) dialog.findViewById(R.id.learn_more_link);
-        final TextView textFrpWarning = (TextView) dialog.findViewById(
-                R.id.learn_more_frp_warning);
-
-        initializeLearnMoreLink(linkText, isProfileOwner);
-        learnMoreMsg.setText(isProfileOwner ? R.string.admin_has_ability_to_monitor_profile
-                : R.string.admin_has_ability_to_monitor_device);
-
-        if (!isProfileOwner && mUtils.isFrpSupported(getActivity())) {
-            // For device owner, show a warning that FRP might not be fully active
-            textFrpWarning.setVisibility(View.VISIBLE);
-        }
-
-        final Button positiveButton = (Button) dialog.findViewById(R.id.positive_button);
-        positiveButton.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    ((ConsentCallback) getActivity()).onDialogConsent();
-                }
-            });
-
-        final CheckBox consentCheckbox =
-                (CheckBox) dialog.findViewById(R.id.user_consent_checkbox);
-        if (getArguments().getBoolean(KEY_SHOW_CONSENT_CHECKBOX)) {
-            consentCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
-                    @Override
-                    public void onCheckedChanged(CompoundButton cb, boolean isChecked) {
-                        positiveButton.setEnabled(isChecked);
-                    }
-                });
-            consentCheckbox.setVisibility(View.VISIBLE);
-            consentCheckbox.setChecked(false);
-            positiveButton.setEnabled(false);
-        }
-
-        final Button negativeButton = (Button) dialog.findViewById(R.id.negative_button);
-        negativeButton.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                    ((ConsentCallback) getActivity()).onDialogCancel();
-                }
-            });
-
-        return dialog;
-    }
-
-    private void initializeLearnMoreLink(TextView linkText, boolean isProfileOwner) {
-        if (!mUtils.isConnectedToNetwork(getActivity())) {
-            // If the device has currently no connectivity, don't show the "learn more" link.
-            linkText.setVisibility(View.GONE);
-        } else {
-            // Otherwise register a listener that starts a webview activity.
-            final String url = isProfileOwner ? LEARN_MORE_URL_PROFILE_OWNER
-                    : LEARN_MORE_URL_DEVICE_OWNER;
-            linkText.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    getActivity().startActivity(WebActivity.createIntent(getActivity(), url,
-                            LEARN_MORE_ALLOWED_BASE_URL));
-                }
-            });
-        }
-    }
-
-    @Override
-    public void onCancel(DialogInterface dialog) {
-        ((ConsentCallback) getActivity()).onDialogCancel();
-    }
-
-    public interface ConsentCallback {
-        public abstract void onDialogConsent();
-        public abstract void onDialogCancel();
-    }
-}
diff --git a/src/com/android/managedprovisioning/WifiConfig.java b/src/com/android/managedprovisioning/WifiConfig.java
deleted file mode 100644
index 9f02415..0000000
--- a/src/com/android/managedprovisioning/WifiConfig.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.net.ProxyInfo;
-import android.net.IpConfiguration.ProxySettings;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
-import android.text.TextUtils;
-
-import java.util.Locale;
-
-/**
- * Utility class for configuring a new WiFi network.
- */
-public class WifiConfig {
-
-    private final WifiManager mWifiManager;
-
-    enum SecurityType {
-        NONE,
-        WPA,
-        WEP;
-    }
-
-    public WifiConfig(WifiManager manager) {
-        mWifiManager = manager;
-    }
-
-    /**
-     * Adds a new WiFi network.
-     *
-     * @return the ID of the newly created network description. Returns -1 on failure.
-     */
-    public int addNetwork(String ssid, boolean hidden, String type, String password,
-            String proxyHost, int proxyPort, String proxyBypassHosts, String pacUrl) {
-        if (!mWifiManager.isWifiEnabled()) {
-            mWifiManager.setWifiEnabled(true);
-        }
-
-        WifiConfiguration wifiConf = new WifiConfiguration();
-        SecurityType securityType;
-        if (type == null || TextUtils.isEmpty(type)) {
-            securityType = SecurityType.NONE;
-        } else {
-            try {
-                securityType = Enum.valueOf(SecurityType.class, type.toUpperCase(Locale.US));
-            } catch (IllegalArgumentException e) {
-                ProvisionLogger.loge("Invalid Wifi security type: " + type);
-                return -1;
-            }
-        }
-        // If we have a password, and no security type, assume WPA.
-        // TODO: Remove this when the programmer supports it.
-        if (securityType.equals(SecurityType.NONE) && !TextUtils.isEmpty(password)) {
-            securityType = SecurityType.WPA;
-        }
-
-        wifiConf.SSID = ssid;
-        wifiConf.status = WifiConfiguration.Status.ENABLED;
-        wifiConf.hiddenSSID = hidden;
-        wifiConf.userApproved = WifiConfiguration.USER_APPROVED;
-        switch (securityType) {
-            case NONE:
-                wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
-                wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-                break;
-            case WPA:
-                updateForWPAConfiguration(wifiConf, password);
-                break;
-            case WEP:
-                updateForWEPConfiguration(wifiConf, password);
-                break;
-        }
-
-        updateForProxy(wifiConf, proxyHost, proxyPort, proxyBypassHosts, pacUrl);
-
-        int netId = mWifiManager.addNetwork(wifiConf);
-
-        if (netId != -1) {
-            // Setting disableOthers to 'true' should trigger a connection attempt.
-            mWifiManager.enableNetwork(netId, true);
-            mWifiManager.saveConfiguration();
-        }
-
-        return netId;
-    }
-
-    protected void updateForWPAConfiguration(WifiConfiguration wifiConf, String wifiPassword) {
-        wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
-        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-        wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.WPA); // For WPA
-        wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); // For WPA2
-        wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
-        wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
-        if (!TextUtils.isEmpty(wifiPassword)) {
-            wifiConf.preSharedKey = "\"" + wifiPassword + "\"";
-        }
-    }
-
-    protected void updateForWEPConfiguration(WifiConfiguration wifiConf, String password) {
-        wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
-        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
-        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
-        int length = password.length();
-        if ((length == 10 || length == 26 || length == 58) && password.matches("[0-9A-Fa-f]*")) {
-            wifiConf.wepKeys[0] = password;
-        } else {
-            wifiConf.wepKeys[0] = '"' + password + '"';
-        }
-        wifiConf.wepTxKeyIndex = 0;
-    }
-
-    private void updateForProxy(WifiConfiguration wifiConf, String proxyHost, int proxyPort,
-            String proxyBypassHosts, String pacUrl) {
-        if (TextUtils.isEmpty(proxyHost) && TextUtils.isEmpty(pacUrl)) {
-            return;
-        }
-        if (!TextUtils.isEmpty(proxyHost)) {
-            ProxyInfo proxy = new ProxyInfo(proxyHost, proxyPort, proxyBypassHosts);
-            wifiConf.setProxy(ProxySettings.STATIC, proxy);
-        } else {
-            ProxyInfo proxy = new ProxyInfo(pacUrl);
-            wifiConf.setProxy(ProxySettings.PAC, proxy);
-        }
-    }
-}
diff --git a/src/com/android/managedprovisioning/analytics/AnalyticsUtils.java b/src/com/android/managedprovisioning/analytics/AnalyticsUtils.java
new file mode 100644
index 0000000..52e26c0
--- /dev/null
+++ b/src/com/android/managedprovisioning/analytics/AnalyticsUtils.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
+import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
+import android.content.Context;
+import android.content.Intent;
+import android.nfc.NdefRecord;
+import android.os.SystemClock;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import com.android.managedprovisioning.parser.PropertiesProvisioningDataParser;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.Properties;
+
+/**
+ * Class containing various auxiliary methods used by provisioning analytics tracker.
+ */
+public class AnalyticsUtils {
+
+    public AnalyticsUtils() {}
+
+    private static final String PROVISIONING_EXTRA_PREFIX = "android.app.extra.PROVISIONING_";
+
+    /**
+     * Returns package name of the installer package, null if package is not present on the device
+     * and empty string if installer package is not present on the device.
+     *
+     * @param context Context used to get package manager
+     * @param packageName Package name of the installed package
+     */
+    @Nullable
+    public static String getInstallerPackageName(Context context, String packageName) {
+        try {
+            return context.getPackageManager().getInstallerPackageName(packageName);
+        } catch (IllegalArgumentException e) {
+            return null;
+        }
+    }
+
+    /**
+     * Returns elapsed real time.
+     */
+    public Long elapsedRealTime() {
+        return SystemClock.elapsedRealtime();
+    }
+
+    /**
+     * Returns list of all valid provisioning extras sent by the dpc.
+     *
+     * @param intent Intent that started provisioning
+     */
+    @NonNull
+    public static List<String> getAllProvisioningExtras(Intent intent) {
+        if (intent == null || ACTION_RESUME_PROVISIONING.equals(intent.getAction())) {
+            // Provisioning extras should have already been logged for resume case.
+            return new ArrayList<String>();
+        } else if (ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
+            return getExtrasFromProperties(intent);
+        } else {
+            return getExtrasFromBundle(intent);
+        }
+    }
+
+    /**
+     * Returns unique string for all provisioning task errors.
+     *
+     * @param task Provisioning task which threw error
+     * @param errorCode Unique code from class indicating the error
+     */
+    @Nullable
+    public static String getErrorString(AbstractProvisioningTask task, int errorCode) {
+        if (task == null) {
+            return null;
+        }
+        // We do not have definite codes for all provisioning errors yet. We just pass the task's
+        // class name and the internal task's error code to generate a unique error code.
+        return task.getClass().getSimpleName() + ":" + errorCode;
+    }
+
+    @NonNull
+    private static List<String> getExtrasFromBundle(Intent intent) {
+        List<String> provisioningExtras = new ArrayList<String>();
+        if (intent != null && intent.getExtras() != null) {
+            final Set<String> keys = intent.getExtras().keySet();
+            for (String key : keys) {
+                if (isValidProvisioningExtra(key)) {
+                    provisioningExtras.add(key);
+                }
+            }
+        }
+        return provisioningExtras;
+    }
+
+    @NonNull
+    private static List<String> getExtrasFromProperties(Intent intent) {
+        List<String> provisioningExtras = new ArrayList<String>();
+        NdefRecord firstRecord = PropertiesProvisioningDataParser.getFirstNdefRecord(intent);
+        if (firstRecord != null) {
+            try {
+                Properties props = new Properties();
+                props.load(new StringReader(new String(firstRecord.getPayload(), UTF_8)));
+                final Set<String> keys = props.stringPropertyNames();
+                for (String key : keys) {
+                    if (isValidProvisioningExtra(key)) {
+                        provisioningExtras.add(key);
+                    }
+                }
+            } catch (IOException e) {
+            }
+        }
+        return provisioningExtras;
+    }
+
+    /**
+     * Returns if a string is a valid provisioning extra.
+     */
+    private static boolean isValidProvisioningExtra(String provisioningExtra) {
+        // Currently it verifies using the prefix. We should further change this to verify using the
+        // actual DPM extras.
+        return provisioningExtra != null && provisioningExtra.startsWith(PROVISIONING_EXTRA_PREFIX);
+    }
+}
diff --git a/src/com/android/managedprovisioning/analytics/MetricsLoggerWrapper.java b/src/com/android/managedprovisioning/analytics/MetricsLoggerWrapper.java
new file mode 100644
index 0000000..5f9bfb9
--- /dev/null
+++ b/src/com/android/managedprovisioning/analytics/MetricsLoggerWrapper.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.VIEW_UNKNOWN;
+
+import android.content.Context;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.managedprovisioning.common.ProvisionLogger;
+
+/**
+ * Utility class to log metrics using MetricsLogger.
+ */
+public class MetricsLoggerWrapper {
+
+    public static final boolean LOG_ENABLED = false;
+
+    public MetricsLoggerWrapper() {}
+
+    /**
+     * Wrapper to log action with string values.
+     *
+     * @param context Context passed to MetricsLogger.
+     * @param category Metrics category to be logged.
+     * @param value String value to be logged
+     */
+    public void logAction(Context context, int category, String value) {
+        logd("MetricsLoggerWrapper, category:" + category + ", value: " + value);
+        if (category != VIEW_UNKNOWN) {
+            MetricsLogger.action(context, category, value);
+        }
+    }
+
+    /**
+     * Wrapper to log action with integer values.
+     *
+     * @param context Context passed to MetricsLogger.
+     * @param category Metrics category to be logged.
+     * @param value Int value to be logged.
+     */
+    public void logAction(Context context, int category, int value) {
+        logd("MetricsLoggerWrapper, category:" + category + ", value: " + value);
+        if (category != VIEW_UNKNOWN) {
+            MetricsLogger.action(context, category, value);
+        }
+    }
+
+    /**
+     * Wrapper to log action.
+     *
+     * @param context Context passed to MetricsLogger.
+     * @param category Metrics category to be logged.
+     */
+    public void logAction(Context context, int category) {
+        logd("MetricsLoggerWrapper, category:" + category);
+        if (category != VIEW_UNKNOWN) {
+            MetricsLogger.action(context, category);
+        }
+    }
+
+    private void logd(String logText) {
+        if (LOG_ENABLED) {
+            ProvisionLogger.logd(logText);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/analytics/NetworkTypeLogger.java b/src/com/android/managedprovisioning/analytics/NetworkTypeLogger.java
new file mode 100644
index 0000000..f88ec39
--- /dev/null
+++ b/src/com/android/managedprovisioning/analytics/NetworkTypeLogger.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_NETWORK_TYPE;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.net.NetworkInfo;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.Utils;
+
+/**
+ * Utility class to log the network type used while provisioning.
+ */
+public class NetworkTypeLogger {
+
+    public static final String NETWORK_TYPE_NOT_CONNECTED = "network_type_not_connected";
+
+    private final Context mContext;
+    private final MetricsLoggerWrapper mMetricsLoggerWrapper;
+    private final Utils mUtils;
+
+    public NetworkTypeLogger(Context context) {
+        this(context, new Utils(), new MetricsLoggerWrapper());
+    }
+
+    @VisibleForTesting
+    NetworkTypeLogger(
+            Context context,
+            Utils utils,
+            MetricsLoggerWrapper metricsLoggerWrapper) {
+        mContext = checkNotNull(context);
+        mUtils = checkNotNull(utils);
+        mMetricsLoggerWrapper = checkNotNull(metricsLoggerWrapper);
+    }
+
+    /**
+     * Logs the network type to which the device is connected.
+     */
+    public void log() {
+        final NetworkInfo networkInfo = mUtils.getActiveNetworkInfo(mContext);
+        if (mUtils.isConnectedToNetwork(mContext)) {
+            final int networkType = networkInfo.getType();
+            mMetricsLoggerWrapper.logAction(mContext, PROVISIONING_NETWORK_TYPE, networkType);
+        } else {
+            mMetricsLoggerWrapper.logAction(mContext, PROVISIONING_NETWORK_TYPE,
+                    NETWORK_TYPE_NOT_CONNECTED);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java b/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java
new file mode 100644
index 0000000..1c00e35
--- /dev/null
+++ b/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
+import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ACTION;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_CANCELLED;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_COPY_ACCOUNT_STATUS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_DPC_INSTALLED_BY_PACKAGE;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_DPC_PACKAGE_NAME;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENTRY_POINT_NFC;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENTRY_POINT_TRUSTED_SOURCE;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ERROR;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_EXTRA;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_SESSION_COMPLETED;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_SESSION_STARTED;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_TERMS_COUNT;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_TERMS_READ;
+
+import android.annotation.IntDef;
+import android.content.Context;
+import android.content.Intent;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+import java.util.List;
+
+/**
+ * Utility class to log metrics.
+ */
+public class ProvisioningAnalyticsTracker {
+    private static final ProvisioningAnalyticsTracker sInstance =
+            new ProvisioningAnalyticsTracker();
+
+    private final MetricsLoggerWrapper mMetricsLoggerWrapper = new MetricsLoggerWrapper();
+
+    // Only add to the end of the list. Do not change or rearrange these values, that will break
+    // historical data. Do not use negative numbers or zero, logger only handles positive
+    // integers.
+    public static final int CANCELLED_BEFORE_PROVISIONING = 1;
+    public static final int CANCELLED_DURING_PROVISIONING = 2;
+
+    @IntDef({
+        CANCELLED_BEFORE_PROVISIONING,
+        CANCELLED_DURING_PROVISIONING})
+    public @interface CancelState {}
+
+    // Only add to the end of the list. Do not change or rearrange these values, that will break
+    // historical data. Do not use negative numbers or zero, logger only handles positive
+    // integers.
+    public static final int COPY_ACCOUNT_SUCCEEDED = 1;
+    public static final int COPY_ACCOUNT_FAILED = 2;
+    public static final int COPY_ACCOUNT_TIMED_OUT = 3;
+    public static final int COPY_ACCOUNT_EXCEPTION = 4;
+
+    @IntDef({
+        COPY_ACCOUNT_SUCCEEDED,
+        COPY_ACCOUNT_FAILED,
+        COPY_ACCOUNT_TIMED_OUT,
+        COPY_ACCOUNT_EXCEPTION})
+    public @interface CopyAccountStatus {}
+
+    public static ProvisioningAnalyticsTracker getInstance() {
+        return sInstance;
+    }
+
+    private ProvisioningAnalyticsTracker() {
+        // Disables instantiation. Use getInstance() instead.
+    }
+
+    /**
+     * Logs some metrics when the provisioning starts.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param params Provisioning params
+     */
+    public void logProvisioningStarted(Context context, ProvisioningParams params) {
+        logDpcPackageInformation(context, params.inferDeviceAdminPackageName());
+        logNetworkType(context);
+        logProvisioningAction(context, params.provisioningAction);
+    }
+
+    /**
+     * Logs some metrics when the preprovisioning starts.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param intent Intent that started provisioning
+     */
+    public void logPreProvisioningStarted(Context context, Intent intent) {
+        logProvisioningExtras(context, intent);
+        maybeLogEntryPoint(context, intent);
+    }
+
+    /**
+     * Logs status of copy account to user task.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param status Status of copy account to user task
+     */
+    public void logCopyAccountStatus(Context context, @CopyAccountStatus int status) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_COPY_ACCOUNT_STATUS, status);
+    }
+
+    /**
+     * Logs when provisioning is cancelled.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param cancelState State when provisioning was cancelled
+     */
+    public void logProvisioningCancelled(Context context, @CancelState int cancelState) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_CANCELLED, cancelState);
+    }
+
+    /**
+     * Logs error during provisioning tasks.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param task Provisioning task which threw error
+     * @param errorCode Code indicating the type of error that happened.
+     */
+    public void logProvisioningError(Context context, AbstractProvisioningTask task,
+            int errorCode) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_ERROR,
+                AnalyticsUtils.getErrorString(task, errorCode));
+    }
+
+    /**
+     * Logs error code, when provisioning is not allowed.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param provisioningErrorCode Code indicating why provisioning is not allowed.
+     */
+    public void logProvisioningNotAllowed(Context context, int provisioningErrorCode) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_ERROR, provisioningErrorCode);
+    }
+
+    /**
+     * logs when a provisioning session has started.
+     *
+     * @param context Context passed to MetricsLogger
+     */
+    public void logProvisioningSessionStarted(Context context) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_SESSION_STARTED);
+    }
+
+    /**
+     * logs when a provisioning session has completed.
+     *
+     * @param context Context passed to MetricsLogger
+     */
+    public void logProvisioningSessionCompleted(Context context) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_SESSION_COMPLETED);
+    }
+
+    /**
+     * logs number of terms displayed on the terms screen.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param count Number of terms displayed
+     */
+    public void logNumberOfTermsDisplayed(Context context, int count) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_TERMS_COUNT, count);
+    }
+
+    /**
+     * logs number of terms read on the terms screen.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param count Number of terms read
+     */
+    public void logNumberOfTermsRead(Context context, int count) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_TERMS_READ, count);
+    }
+
+    /**
+     * Logs all the provisioning extras passed by the dpc.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param intent Intent that started provisioning
+     */
+    private void logProvisioningExtras(Context context, Intent intent) {
+        final List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        for (String extra : provisioningExtras) {
+            mMetricsLoggerWrapper.logAction(context, PROVISIONING_EXTRA, extra);
+        }
+    }
+
+    /**
+     * Logs some entry points to provisioning.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param intent Intent that started provisioning
+     */
+    private void maybeLogEntryPoint(Context context, Intent intent) {
+        if (intent == null || intent.getAction() == null) {
+            return;
+        }
+        switch (intent.getAction()) {
+            case ACTION_NDEF_DISCOVERED:
+                mMetricsLoggerWrapper.logAction(context, PROVISIONING_ENTRY_POINT_NFC);
+                break;
+            case ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE:
+                mMetricsLoggerWrapper.logAction(context, PROVISIONING_ENTRY_POINT_TRUSTED_SOURCE);
+                break;
+        }
+    }
+
+    /**
+     * Logs package information of the dpc.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param dpcPackageName Package name of the dpc
+     */
+    private void logDpcPackageInformation(Context context, String dpcPackageName) {
+        // Logs package name of the dpc.
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_DPC_PACKAGE_NAME, dpcPackageName);
+
+        // Logs package name of the package which installed dpc.
+        final String dpcInstallerPackage =
+                AnalyticsUtils.getInstallerPackageName(context, dpcPackageName);
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_DPC_INSTALLED_BY_PACKAGE,
+                dpcInstallerPackage);
+    }
+
+    /**
+     * Logs the network type to which the device is connected.
+     *
+     * @param context Context passed to MetricsLogger
+     */
+    private void logNetworkType(Context context) {
+        NetworkTypeLogger networkTypeLogger = new NetworkTypeLogger(context);
+        networkTypeLogger.log();
+    }
+
+    /**
+     * Logs the provisioning action.
+     *
+     * @param context Context passed to MetricsLogger
+     * @param provisioningAction Action that triggered provisioning
+     */
+    private void logProvisioningAction(Context context, String provisioningAction) {
+        mMetricsLoggerWrapper.logAction(context, PROVISIONING_ACTION, provisioningAction);
+    }
+}
diff --git a/src/com/android/managedprovisioning/analytics/TimeLogger.java b/src/com/android/managedprovisioning/analytics/TimeLogger.java
new file mode 100644
index 0000000..2707b3e
--- /dev/null
+++ b/src/com/android/managedprovisioning/analytics/TimeLogger.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_COPY_ACCOUNT_TASK_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_CREATE_PROFILE_TASK_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_DOWNLOAD_PACKAGE_TASK_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENCRYPT_DEVICE_ACTIVITY_TIME_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_INSTALL_PACKAGE_TASK_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_PREPROVISIONING_ACTIVITY_TIME_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_PROVISIONING_ACTIVITY_TIME_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_START_PROFILE_TASK_MS;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_WEB_ACTIVITY_TIME_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.IntDef;
+import android.content.Context;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Utility class to log time.
+ */
+public class TimeLogger {
+
+    private final int mCategory;
+    private final Context mContext;
+    private final MetricsLoggerWrapper mMetricsLoggerWrapper;
+    private final AnalyticsUtils mAnalyticsUtils;
+    private Long mStartTime;
+
+    @IntDef({
+            PROVISIONING_PROVISIONING_ACTIVITY_TIME_MS,
+            PROVISIONING_PREPROVISIONING_ACTIVITY_TIME_MS,
+            PROVISIONING_ENCRYPT_DEVICE_ACTIVITY_TIME_MS,
+            PROVISIONING_WEB_ACTIVITY_TIME_MS,
+            PROVISIONING_COPY_ACCOUNT_TASK_MS,
+            PROVISIONING_CREATE_PROFILE_TASK_MS,
+            PROVISIONING_START_PROFILE_TASK_MS,
+            PROVISIONING_DOWNLOAD_PACKAGE_TASK_MS,
+            PROVISIONING_INSTALL_PACKAGE_TASK_MS})
+    public @interface TimeCategory {}
+
+    public TimeLogger(Context context, @TimeCategory int category) {
+        this(context, category, new MetricsLoggerWrapper(), new AnalyticsUtils());
+    }
+
+    @VisibleForTesting
+    TimeLogger(
+            Context context,
+            int category,
+            MetricsLoggerWrapper metricsLoggerWrapper,
+            AnalyticsUtils analyticsUtils) {
+        mContext = checkNotNull(context);
+        mCategory = checkNotNull(category);
+        mMetricsLoggerWrapper = checkNotNull(metricsLoggerWrapper);
+        mAnalyticsUtils = checkNotNull(analyticsUtils);
+    }
+
+    /**
+     * Notifies start time to logger.
+     */
+    public void start() {
+        mStartTime = mAnalyticsUtils.elapsedRealTime();
+    }
+
+    /**
+     * Notifies stop time to logger. Call is ignored if there is no start time.
+     */
+    public void stop() {
+        // Ignore logging time if we couldn't find start time.
+        if (mStartTime != null) {
+            // Provisioning wouldn't run for 25 days, so int should be fine.
+            final int time = (int) (mAnalyticsUtils.elapsedRealTime() - mStartTime);
+            // Clear stored start time, we shouldn't log total time twice for same start time.
+            mStartTime = null;
+            mMetricsLoggerWrapper.logAction(mContext, mCategory, time);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/common/AccessibilityContextMenuMaker.java b/src/com/android/managedprovisioning/common/AccessibilityContextMenuMaker.java
new file mode 100644
index 0000000..977a677
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/AccessibilityContextMenuMaker.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK;
+
+import android.app.Activity;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.Spanned;
+import android.text.style.ClickableSpan;
+import android.view.ContextMenu;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.R;
+
+/**
+ * Creates a new {@link ContextMenu}, and populates it with a list of links contained in a target
+ * {@link TextView}.
+ * <p>
+ * Known issue: does not listen to TalkBack on / off events.
+ */
+public class AccessibilityContextMenuMaker {
+    private final Activity mActivity;
+
+    /**
+     * @param activity the target {@link TextView} belongs to
+     */
+    public AccessibilityContextMenuMaker(Activity activity) {
+        mActivity = activity;
+    }
+
+    /**
+     * If {@link ClickableSpan} links present, registers a context menu with the {@link Activity}.
+     * If no links present, unregisters, which is useful in case of recyclable views.
+     *
+     * @param textView target TextView potentially containing links.
+     */
+    public void registerWithActivity(TextView textView) {
+        if (getSpans(getText(textView)).length == 0) {
+            mActivity.unregisterForContextMenu(textView);
+            textView.setAccessibilityDelegate(null);
+            textView.setClickable(false);
+            textView.setLongClickable(false);
+            return;
+        }
+
+        mActivity.registerForContextMenu(textView);
+        textView.setOnClickListener(View::showContextMenu);
+        textView.setLongClickable(false);
+        textView.setAccessibilityDelegate(
+                new View.AccessibilityDelegate() {
+                    @Override
+                    public void onInitializeAccessibilityNodeInfo(View host,
+                            AccessibilityNodeInfo info) {
+                        super.onInitializeAccessibilityNodeInfo(host, info);
+                        info.addAction(
+                                new AccessibilityNodeInfo.AccessibilityAction(ACTION_CLICK.getId(),
+                                        textView.getContext().getString(
+                                                R.string.access_list_of_links)));
+                    }
+                }
+        );
+    }
+
+    /**
+     * Call inside
+     * {@link Activity#onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo)}
+     */
+    public void populateMenuContent(ContextMenu menu, TextView textView) {
+        if (!isScreenReaderEnabled()) {
+            return;
+        }
+
+        Spanned spanned = getText(textView);
+        ClickableSpan[] spans = getSpans(spanned);
+
+        if (spanned == null || spans.length == 0) {
+            return;
+        }
+
+        for (ClickableSpan span : spans) {
+            int s = spanned.getSpanStart(span);
+            int t = spanned.getSpanEnd(span);
+            menu.add(spanned.subSequence(s, t)).setOnMenuItemClickListener(menuItem -> {
+                span.onClick(textView);
+                return false;
+            });
+        }
+        menu.add(R.string.close_list).setOnMenuItemClickListener(menuItem -> {
+            menu.close();
+            return false;
+        });
+    }
+
+    private boolean isScreenReaderEnabled() {
+        AccessibilityManager am = mActivity.getSystemService(AccessibilityManager.class);
+        return am.isEnabled() && am.isTouchExplorationEnabled();
+    }
+
+    private @Nullable Spanned getText(TextView textView) {
+        CharSequence text = textView.getText();
+        return (text instanceof Spanned) ? (Spanned) text : null;
+    }
+
+    private @NonNull ClickableSpan[] getSpans(Spanned spanned) {
+        if (spanned == null) {
+            return new ClickableSpan[0];
+        }
+        ClickableSpan[] spans = spanned.getSpans(0, spanned.length(), ClickableSpan.class);
+        return spans.length == 0 ? new ClickableSpan[0] : spans;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/ClickableSpanFactory.java b/src/com/android/managedprovisioning/common/ClickableSpanFactory.java
new file mode 100644
index 0000000..cc8c24c
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/ClickableSpanFactory.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.content.Intent;
+import android.support.annotation.NonNull;
+import android.text.TextPaint;
+import android.text.style.ClickableSpan;
+import android.view.SoundEffectConstants;
+import android.view.View;
+
+/** Used to standardize the way we set up clickable spanned elements */
+public class ClickableSpanFactory {
+    private final int linkColor;
+
+    /** @param linkColor color value (i.e. not resource id) */
+    public ClickableSpanFactory(int linkColor) {
+        this.linkColor = linkColor;
+    }
+
+    /**
+     * @param intent to start on click
+     */
+    public @NonNull ClickableSpan create(@NonNull Intent intent) {
+        return new ClickableSpan() {
+            @Override
+            public void onClick(View widget) {
+                widget.playSoundEffect(SoundEffectConstants.CLICK);
+                widget.getContext().startActivity(intent);
+            }
+
+            @Override
+            public void updateDrawState(TextPaint ds) {
+                super.updateDrawState(ds);
+                ds.setUnderlineText(false);
+                ds.setColor(linkColor);
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/DialogBuilder.java b/src/com/android/managedprovisioning/common/DialogBuilder.java
new file mode 100644
index 0000000..236117e
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/DialogBuilder.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import android.app.DialogFragment;
+
+/**
+ * Implementations of this interface must be lightweight, so that it is cheap to discard them.
+ * <p>Intended for use in places where the {@link DialogFragment} to-be-built might not be needed.
+ */
+public interface DialogBuilder {
+    /**
+     * Only called when an instance of a {@link DialogFragment} is actually needed.
+     * Put all the heavy lifting here.
+     */
+    DialogFragment build();
+}
diff --git a/src/com/android/managedprovisioning/common/Globals.java b/src/com/android/managedprovisioning/common/Globals.java
index 4db7bb1..1d25974 100644
--- a/src/com/android/managedprovisioning/common/Globals.java
+++ b/src/com/android/managedprovisioning/common/Globals.java
@@ -18,6 +18,14 @@
 public final class Globals {
     private Globals() {}
 
+    /**
+     * Make this true to enable extra logging. Do not submit when this is true.
+     */
+    public static final boolean DEBUG = false;
+
     public static final String ACTION_RESUME_PROVISIONING =
             "com.android.managedprovisioning.action.RESUME_PROVISIONING";
+
+    public static final String MANAGED_PROVISIONING_PACKAGE_NAME =
+            "com.android.managedprovisioning";
 }
diff --git a/src/com/android/managedprovisioning/common/HtmlToSpannedParser.java b/src/com/android/managedprovisioning/common/HtmlToSpannedParser.java
new file mode 100644
index 0000000..ca1a09c
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/HtmlToSpannedParser.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+import static com.android.internal.util.Preconditions.checkStringNotEmpty;
+
+import android.content.Intent;
+import android.text.Html;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.style.ClickableSpan;
+import android.text.style.URLSpan;
+
+import com.android.managedprovisioning.preprovisioning.WebActivity;
+
+/**
+ * Parses HTML text using {@link Html} and sets URL links to be handled by {@link WebActivity}
+ */
+public class HtmlToSpannedParser {
+    private static final int HTML_MODE = Html.FROM_HTML_MODE_COMPACT;
+
+    private final ClickableSpanFactory mClickableSpanFactory;
+    private final UrlIntentFactory mUrlIntentFactory;
+
+    /**
+     * Default constructor
+     *
+     * @param clickableSpanFactory Factory of {@link ClickableSpan} objects for urls
+     * @param urlIntentFactory Factory of {@link Intent} objects for handling urls
+     */
+    public HtmlToSpannedParser(ClickableSpanFactory clickableSpanFactory,
+            UrlIntentFactory urlIntentFactory) {
+        mClickableSpanFactory = checkNotNull(clickableSpanFactory);
+        mUrlIntentFactory = checkNotNull(urlIntentFactory);
+    }
+
+    /**
+     * See {@link Html#fromHtml(String, int)} for caveats regarding limited HTML support
+     */
+    public Spanned parseHtml(String htmlContent) {
+        Spanned spanned = Html.fromHtml(checkStringNotEmpty(htmlContent), HTML_MODE);
+        if (spanned == null) {
+            return null;
+        }
+
+        // Make html <a> tags open WebActivity
+        SpannableStringBuilder result = new SpannableStringBuilder(spanned);
+
+        URLSpan[] urlSpans = result.getSpans(0, result.length(), URLSpan.class);
+        for (URLSpan urlSpan : urlSpans) {
+            Intent intent = mUrlIntentFactory.create(urlSpan.getURL());
+            if (intent != null) {
+                int spanStart = result.getSpanStart(urlSpan);
+                int spanEnd = result.getSpanEnd(urlSpan);
+                result.setSpan(mClickableSpanFactory.create(intent), spanStart, spanEnd,
+                        SPAN_EXCLUSIVE_EXCLUSIVE);
+                result.removeSpan(urlSpan);
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * Allows to specify an intent to handle URLs
+     */
+    public interface UrlIntentFactory {
+        /**
+         * Creates an {@link Intent} based on a passed in {@link String} url
+         */
+        Intent create(String url);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/LogoUtils.java b/src/com/android/managedprovisioning/common/LogoUtils.java
similarity index 69%
rename from src/com/android/managedprovisioning/LogoUtils.java
rename to src/com/android/managedprovisioning/common/LogoUtils.java
index 5e37773..e25505e 100644
--- a/src/com/android/managedprovisioning/LogoUtils.java
+++ b/src/com/android/managedprovisioning/common/LogoUtils.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2015, The Android Open Source Project
+ * Copyright 2014, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,51 +14,34 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning;
+package com.android.managedprovisioning.common;
 
-import android.app.Activity;
+import android.annotation.NonNull;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.provider.MediaStore;
-import android.view.View;
-import android.widget.ImageView;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.R;
 
-import java.io.InputStream;
-import java.io.IOException;
 import java.io.File;
-import java.io.FileOutputStream;
-import java.lang.Math;
 
 public class LogoUtils {
+    @VisibleForTesting static final int DEFAULT_LOGO_ID = R.drawable.ic_enterprise_blue_24dp;
+
     public static void saveOrganisationLogo(Context context, Uri uri) {
         final File logoFile = getOrganisationLogoFile(context);
-        try {
-            final InputStream in = context.getContentResolver().openInputStream(uri);
-            final FileOutputStream out = new FileOutputStream(logoFile);
-            final byte buffer[] = new byte[1024];
-            int bytesReadCount;
-            while ((bytesReadCount = in.read(buffer)) != -1) {
-                out.write(buffer, 0, bytesReadCount);
-            }
-            out.close();
-            ProvisionLogger.logi("Organisation logo from uri " + uri + " has been successfully"
-                    + " copied to " + logoFile);
-        } catch (IOException e) {
-            ProvisionLogger.logi("Could not write organisation logo from " + uri + " to "
-                    + logoFile, e);
-            // If the file was only partly written, delete it.
-            logoFile.delete();
-        }
+        StoreUtils.copyUriIntoFile(context.getContentResolver(), uri, logoFile);
     }
 
-    public static Drawable getOrganisationLogo(Context context) {
+    /**
+     * @param colorTint optional color colorTint to apply to the logo
+     */
+    public static @NonNull Drawable getOrganisationLogo(Context context, Integer colorTint) {
         final File logoFile = getOrganisationLogoFile(context);
         Bitmap bitmap = null;
         int maxWidth = (int) context.getResources().getDimension(R.dimen.max_logo_width);
@@ -69,13 +52,18 @@
                 ProvisionLogger.loge("Could not get organisation logo from " + logoFile);
             }
         }
-        // If the app that started ManagedProvisioning didn't specify a logo or we couldn't get a
-        // logo from the uri they specified, use the default logo.
-        if (bitmap == null) {
-            bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_corp_icon);
+
+        if (bitmap != null) {
+            return new BitmapDrawable(context.getResources(),
+                    resizeBitmap(bitmap, maxWidth, maxHeight));
         }
-        return new BitmapDrawable(context.getResources(),
-                resizeBitmap(bitmap, maxWidth, maxHeight));
+
+        // fall back to a default logo
+        Drawable organisationLogo = context.getDrawable(DEFAULT_LOGO_ID);
+        if (colorTint != null) {
+            organisationLogo.setColorFilter(colorTint, PorterDuff.Mode.SRC_ATOP);
+        }
+        return organisationLogo;
     }
 
     /**
diff --git a/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferences.java b/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferences.java
new file mode 100644
index 0000000..a17015c
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferences.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.support.annotation.VisibleForTesting;
+
+public class ManagedProvisioningSharedPreferences {
+    public static final long DEFAULT_PROVISIONING_ID = 0L;
+
+    @VisibleForTesting
+    static final String KEY_PROVISIONING_ID = "provisioning_id";
+
+    @VisibleForTesting
+    static final String SHARED_PREFERENCE = "managed_profile_shared_preferences";
+
+    /**
+     * It's a process-wise in-memory write lock. No other processes will write the same file.
+     */
+    private static final Object sWriteLock = new Object();
+
+    private final SharedPreferences mSharedPreferences;
+
+    public ManagedProvisioningSharedPreferences(Context context) {
+        mSharedPreferences = context.getSharedPreferences(SHARED_PREFERENCE, Context.MODE_PRIVATE);
+    }
+
+    @VisibleForTesting
+    public long getProvisioningId() {
+        return mSharedPreferences.getLong(KEY_PROVISIONING_ID, DEFAULT_PROVISIONING_ID);
+    }
+
+    /**
+     * Can assume the id is unique across all provisioning sessions
+     * @return a new provisioning id by incrementing the current id
+     */
+    public long incrementAndGetProvisioningId() {
+        synchronized (sWriteLock) {
+            long provisioningId = getProvisioningId();
+            provisioningId++;
+            // commit synchronously
+            mSharedPreferences.edit().putLong(KEY_PROVISIONING_ID, provisioningId).commit();
+            return provisioningId;
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/common/MdmPackageInfo.java b/src/com/android/managedprovisioning/common/MdmPackageInfo.java
index 6fe0835..155bd3a 100644
--- a/src/com/android/managedprovisioning/common/MdmPackageInfo.java
+++ b/src/com/android/managedprovisioning/common/MdmPackageInfo.java
@@ -26,7 +26,6 @@
 import android.graphics.drawable.Drawable;
 
 import com.android.internal.annotations.Immutable;
-import com.android.managedprovisioning.ProvisionLogger;
 
 /**
  * Information relating to the currently installed MDM package manager.
diff --git a/src/com/android/managedprovisioning/common/PersistableBundlable.java b/src/com/android/managedprovisioning/common/PersistableBundlable.java
new file mode 100644
index 0000000..a7ee33b
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/PersistableBundlable.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.PersistableBundle;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+public abstract class PersistableBundlable implements Parcelable {
+    public abstract @NonNull PersistableBundle toPersistableBundle();
+
+    public static PersistableBundle getPersistableBundleFromParcel(Parcel parcel) {
+        return parcel.readParcelable(PersistableBundle.class.getClassLoader());
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        return isPersistableBundlableEquals(this, object);
+    }
+
+    @Override
+    public int hashCode() {
+        // Concatenated sorted keys should be good enough as a hash
+        List<String> keys = new ArrayList(toPersistableBundle().keySet());
+        Collections.sort(keys);
+        return TextUtils.join(",", keys).hashCode();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeParcelable(toPersistableBundle(), flags);
+    }
+
+    private static boolean isPersistableBundlableEquals(PersistableBundlable pb1, Object obj) {
+        if (pb1 == obj) {
+            return true;
+        }
+        if (obj == null || pb1.getClass() != obj.getClass()) {
+            return false;
+        }
+
+        // obj has to be PersistableBundlable as it has the same class
+        PersistableBundlable pb2 = (PersistableBundlable) obj;
+        return isPersistableBundleEquals(pb1.toPersistableBundle(), pb2.toPersistableBundle());
+    }
+
+    /**
+     * Compares two {@link PersistableBundle} objects are equals.
+     */
+    private static boolean isPersistableBundleEquals(PersistableBundle obj1, PersistableBundle obj2) {
+        if (obj1 == obj2) {
+            return true;
+        }
+        if (obj1 == null || obj2 == null || obj1.size() != obj2.size()) {
+            return false;
+        }
+        Set<String> keys = obj1.keySet();
+        for (String key : keys) {
+            Object val1 = obj1.get(key);
+            Object val2 = obj2.get(key);
+            if (!isPersistableBundleSupportedValueEquals(val1, val2)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Compares two values which type is supported by {@link PersistableBundle}.
+     *
+     * <p>If the type isn't supported. The equality is done by {@link Object#equals(Object)}.
+     */
+    private static boolean isPersistableBundleSupportedValueEquals(Object val1, Object val2) {
+        if (val1 == val2) {
+            return true;
+        } else if (val1 == null || val2 == null || !val1.getClass().equals(val2.getClass())) {
+            return false;
+        } else if (val1 instanceof PersistableBundle) {
+            return isPersistableBundleEquals((PersistableBundle) val1, (PersistableBundle) val2);
+        } else if (val1 instanceof int[]) {
+            return Arrays.equals((int[]) val1, (int[]) val2);
+        } else if (val1 instanceof long[]) {
+            return Arrays.equals((long[]) val1, (long[]) val2);
+        } else if (val1 instanceof double[]) {
+            return Arrays.equals((double[]) val1, (double[]) val2);
+        } else if (val1 instanceof boolean[]) {
+            return Arrays.equals((boolean[]) val1, (boolean[]) val2);
+        } else if (val1 instanceof String[]) {
+            return Arrays.equals((String[]) val1, (String[]) val2);
+        } else {
+            return Objects.equals(val1, val2);
+        }
+    }
+
+}
diff --git a/src/com/android/managedprovisioning/ProvisionLogger.java b/src/com/android/managedprovisioning/common/ProvisionLogger.java
similarity index 98%
rename from src/com/android/managedprovisioning/ProvisionLogger.java
rename to src/com/android/managedprovisioning/common/ProvisionLogger.java
index 466ed02..3f762f6 100644
--- a/src/com/android/managedprovisioning/ProvisionLogger.java
+++ b/src/com/android/managedprovisioning/common/ProvisionLogger.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning;
+package com.android.managedprovisioning.common;
 
 import android.content.Context;
 import android.util.Log;
diff --git a/src/com/android/managedprovisioning/common/SettingsFacade.java b/src/com/android/managedprovisioning/common/SettingsFacade.java
new file mode 100644
index 0000000..ffa8c80
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/SettingsFacade.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import static android.provider.Settings.Global.DEVICE_PROVISIONED;
+import static android.provider.Settings.Global.PACKAGE_VERIFIER_ENABLE;
+import static android.provider.Settings.Secure.MANAGED_PROFILE_CONTACT_REMOTE_SEARCH;
+import static android.provider.Settings.Secure.USER_SETUP_COMPLETE;
+
+import android.content.Context;
+import android.provider.Settings.Global;
+import android.provider.Settings.Secure;
+
+/**
+ * Wrapper class around the static Settings provider calls.
+ */
+public class SettingsFacade {
+    /**
+     * Sets USER_SETUP_COMPLETE for a given user.
+     */
+    public void setUserSetupCompleted(Context context, int userId) {
+        ProvisionLogger.logd("Setting USER_SETUP_COMPLETE to 1 for user " + userId);
+        Secure.putIntForUser(context.getContentResolver(), USER_SETUP_COMPLETE, 1, userId);
+    }
+
+    /**
+     * Returns whether USER_SETUP_COMPLETE is set on the calling user.
+     */
+    public boolean isUserSetupCompleted(Context context) {
+        return Secure.getInt(context.getContentResolver(), USER_SETUP_COMPLETE, 0) != 0;
+    }
+
+    /**
+     * Returns whether DEVICE_PROVISIONED is set.
+     */
+    public boolean isDeviceProvisioned(Context context) {
+        return Global.getInt(context.getContentResolver(), DEVICE_PROVISIONED, 0) != 0;
+    }
+
+    /**
+     * Sets whether package verification is enabled or not.
+     */
+    public void setPackageVerifierEnabled(Context context, boolean packageVerifierEnabled) {
+        Global.putInt(context.getContentResolver(), PACKAGE_VERIFIER_ENABLE,
+                packageVerifierEnabled ? 1 : 0);
+    }
+
+    /**
+     * Returns whether package verification is enabled or not.
+     */
+    public boolean isPackageVerifierEnabled(Context context) {
+        return Global.getInt(context.getContentResolver(), PACKAGE_VERIFIER_ENABLE, 0) != 0;
+    }
+
+    /**
+     * Sets whether profile contact remote search is enabled.
+     */
+    public void setProfileContactRemoteSearch(Context context, boolean allowed, int userId) {
+        Secure.putIntForUser(context.getContentResolver(),
+                MANAGED_PROFILE_CONTACT_REMOTE_SEARCH, allowed ? 1 : 0, userId);
+    }
+}
diff --git a/src/com/android/managedprovisioning/common/SetupGlifLayoutActivity.java b/src/com/android/managedprovisioning/common/SetupGlifLayoutActivity.java
new file mode 100644
index 0000000..526896e
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/SetupGlifLayoutActivity.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import android.annotation.Nullable;
+import android.content.res.ColorStateList;
+import android.support.annotation.VisibleForTesting;
+
+import com.android.managedprovisioning.R;
+import com.android.setupwizardlib.GlifLayout;
+
+/**
+ * Base class for setting up the layout.
+ */
+public abstract class SetupGlifLayoutActivity extends SetupLayoutActivity {
+    public SetupGlifLayoutActivity() {
+        super();
+    }
+
+    @VisibleForTesting
+    protected SetupGlifLayoutActivity(Utils utils) {
+        super(utils);
+    }
+
+    protected void initializeLayoutParams(int layoutResourceId, @Nullable Integer headerResourceId,
+            boolean showProgressBar, int mainColor) {
+        setContentView(layoutResourceId);
+        GlifLayout layout = (GlifLayout) findViewById(R.id.setup_wizard_layout);
+
+        setMainColor(mainColor);
+        layout.setPrimaryColor(ColorStateList.valueOf(mainColor));
+
+        if (headerResourceId != null) {
+            layout.setHeaderText(headerResourceId);
+        }
+
+        if (showProgressBar) {
+            layout.setProgressBarShown(true);
+        }
+
+        layout.setIcon(LogoUtils.getOrganisationLogo(this, mainColor));
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/SetupLayoutActivity.java b/src/com/android/managedprovisioning/common/SetupLayoutActivity.java
new file mode 100644
index 0000000..62a0b4d
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/SetupLayoutActivity.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import static android.view.View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.VIEW_UNKNOWN;
+
+import android.app.Activity;
+import android.app.ActivityManager.TaskDescription;
+import android.app.DialogFragment;
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+import android.content.pm.ActivityInfo;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.analytics.TimeLogger;
+
+/**
+ * Base class for setting up the layout.
+ */
+public abstract class SetupLayoutActivity extends Activity {
+    protected final Utils mUtils;
+
+    private TimeLogger mTimeLogger;
+
+    public SetupLayoutActivity() {
+        this(new Utils());
+    }
+
+    @VisibleForTesting
+    protected SetupLayoutActivity(Utils utils) {
+        mUtils = utils;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mTimeLogger = new TimeLogger(this, getMetricsCategory());
+        mTimeLogger.start();
+
+        // lock orientation to portrait on phones
+        if (getResources().getBoolean(R.bool.lock_to_portrait)) {
+            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        mTimeLogger.stop();
+        super.onDestroy();
+    }
+
+    protected int getMetricsCategory() {
+        return VIEW_UNKNOWN;
+    }
+
+    protected Utils getUtils() {
+        return mUtils;
+    }
+
+    /**
+     * @param mainColor integer representing the color (i.e. not resource id)
+     */
+    protected void setMainColor(int mainColor) {
+        mainColor = toSolidColor(mainColor);
+
+        Window window = getWindow();
+        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+        window.setStatusBarColor(mainColor);
+
+        // set status bar icon style
+        View decorView = getWindow().getDecorView();
+        int visibility = decorView.getSystemUiVisibility();
+        decorView.setSystemUiVisibility(getUtils().isBrightColor(mainColor)
+                ? (visibility | SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)
+                : (visibility & ~SYSTEM_UI_FLAG_LIGHT_STATUS_BAR));
+
+        setTaskDescription(new TaskDescription(null /* label */, null /* icon */, mainColor));
+    }
+
+    /**
+     * Removes transparency from the color
+     *
+     * <p>Needed for correct calculation of Status Bar icons (light / dark)
+     */
+    private Integer toSolidColor(Integer color) {
+        return Color.argb(255, Color.red(color), Color.green(color), Color.blue(color));
+    }
+
+    /**
+     * Constructs and shows a {@link DialogFragment} unless it is already displayed.
+     * @param dialogBuilder Lightweight builder, that it is inexpensive to discard it if dialog
+     * already shown.
+     * @param tag The tag for this dialog, as per {@link FragmentTransaction#add(Fragment, String)}.
+     */
+    protected void showDialog(DialogBuilder dialogBuilder, String tag) {
+        FragmentManager fragmentManager = getFragmentManager();
+        if (!isDialogAdded(tag)) {
+            dialogBuilder.build().show(fragmentManager, tag);
+        }
+    }
+
+    /**
+     * Checks whether the {@link DialogFragment} associated with the given tag is currently showing.
+     * @param tag The tag for this dialog.
+     */
+    protected boolean isDialogAdded(String tag) {
+        Fragment fragment = getFragmentManager().findFragmentByTag(tag);
+        return (fragment != null) && (fragment.isAdded());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/SimpleDialog.java b/src/com/android/managedprovisioning/common/SimpleDialog.java
new file mode 100644
index 0000000..b74ec87
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/SimpleDialog.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+/**
+ * Utility class wrapping a {@link AlertDialog} in a {@link DialogFragment}
+ * <p> In order to properly handle Dialog lifecycle we follow the practice of wrapping of them
+ * in a Dialog Fragment.
+ * <p> If buttons are to be used (enabled by setting a button message), the creator {@link Activity}
+ * must implement {@link SimpleDialogListener}.
+ */
+public class SimpleDialog extends DialogFragment {
+    private static final String TITLE = "title";
+    private static final String MESSAGE = "message";
+    private static final String NEGATIVE_BUTTON_MESSAGE = "negativeButtonMessage";
+    private static final String POSITIVE_BUTTON_MESSAGE = "positiveButtonMessage";
+
+    /**
+     * Use the {@link Builder} instead. Keeping the constructor public only because
+     * a {@link DialogFragment} must have an empty constructor that is public.
+     */
+    public SimpleDialog() {
+    }
+
+    @Override
+    public AlertDialog onCreateDialog(Bundle savedInstanceState) {
+        final SimpleDialogListener dialogListener = (SimpleDialogListener) getActivity();
+
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+
+        Bundle args = getArguments();
+        if (args.containsKey(TITLE)) {
+            builder.setTitle(args.getInt(TITLE));
+        }
+
+        if (args.containsKey(MESSAGE)) {
+            builder.setMessage(args.getInt(MESSAGE));
+        }
+
+        if (args.containsKey(NEGATIVE_BUTTON_MESSAGE)) {
+            builder.setNegativeButton(args.getInt(NEGATIVE_BUTTON_MESSAGE),
+                    new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    dialogListener.onNegativeButtonClick(SimpleDialog.this);
+                }
+            });
+        }
+
+        if (args.containsKey(POSITIVE_BUTTON_MESSAGE)) {
+            builder.setPositiveButton(args.getInt(POSITIVE_BUTTON_MESSAGE),
+                    new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    dialogListener.onPositiveButtonClick(SimpleDialog.this);
+                }
+            });
+        }
+
+        return builder.create();
+    }
+
+    /**
+     * Throws an exception informing of a lack of a handler for a dialog button click
+     * <p> Useful when implementing {@link SimpleDialogListener}
+     */
+    public static void throwButtonClickHandlerNotImplemented(DialogFragment dialog) {
+        throw new IllegalArgumentException("Button click handler not implemented for dialog: "
+                + dialog.getTag());
+    }
+
+    public static class Builder implements DialogBuilder {
+        private Integer mTitle;
+        private Integer mMessage;
+        private Integer mNegativeButtonMessage;
+        private Integer mPositiveButtonMessage;
+        private Boolean mCancelable;
+
+        /**
+         * Sets the title
+         * @param title Title resource id.
+         */
+        public Builder setTitle(Integer title) {
+            mTitle = title;
+            return this;
+        }
+
+        /**
+         * Sets the message
+         * @param message Message resource id.
+         */
+        public Builder setMessage(int message) {
+            mMessage = message;
+            return this;
+        }
+
+        /**
+         * Sets a message for the button.
+         * <p> Makes the button appear (without setting a button message, a button is not displayed)
+         * <p> Callback must be handled by a creator {@link Activity},
+         * which must implement {@link SimpleDialogListener}.
+         * @param negativeButtonMessage Message resource id.
+         */
+        public Builder setNegativeButtonMessage(int negativeButtonMessage) {
+            mNegativeButtonMessage = negativeButtonMessage;
+            return this;
+        }
+
+        /**
+         * Sets a message for the button.
+         * <p> Makes the button appear (without setting a button message, a button is not displayed)
+         * <p> Callback must be handled by a creator {@link Activity},
+         * which must implement {@link SimpleDialogListener}.
+         * @param positiveButtonMessage Message resource id.
+         */
+        public Builder setPositiveButtonMessage(int positiveButtonMessage) {
+            mPositiveButtonMessage = positiveButtonMessage;
+            return this;
+        }
+
+        /**
+         * Sets whether the dialog is cancelable or not.  Default is true.
+         */
+        public Builder setCancelable(boolean cancelable) {
+            mCancelable = cancelable;
+            return this;
+        }
+
+        /**
+         * Creates an {@link SimpleDialog} with the arguments supplied to this builder.
+         */
+        @Override
+        public SimpleDialog build() {
+            SimpleDialog instance = new SimpleDialog();
+            Bundle args = new Bundle();
+
+            if (mTitle != null) {
+                args.putInt(TITLE, mTitle);
+            }
+
+            if (mMessage != null) {
+                args.putInt(MESSAGE, mMessage);
+            }
+
+            if (mNegativeButtonMessage != null) {
+                args.putInt(NEGATIVE_BUTTON_MESSAGE, mNegativeButtonMessage);
+            }
+
+            if (mPositiveButtonMessage != null) {
+                args.putInt(POSITIVE_BUTTON_MESSAGE, mPositiveButtonMessage);
+            }
+
+            if (mCancelable != null) {
+                instance.setCancelable(mCancelable);
+            }
+
+            instance.setArguments(args);
+            return instance;
+        }
+    }
+
+    /**
+     * Interface for handling callbacks from {@link SimpleDialog} buttons.
+     *
+     * <p>If multiple dialogs are used in a context of a single {@link Activity},
+     * a consumer of the interface can differentiate between dialogs using
+     * e.g. a {@link DialogFragment#getTag()}, or {@link DialogFragment#getArguments()}.
+     */
+    public interface SimpleDialogListener {
+        /**
+         * Called when a user clicks on the positive dialog button.
+         * <p> To be implemented by a host {@link Activity} object.
+         * @param dialog {@link DialogFragment} where the click happened.
+         */
+        void onPositiveButtonClick(DialogFragment dialog);
+
+        /**
+         * Called when a user clicks on the negative dialog button.
+         * <p> To be implemented by a host {@link Activity} object.
+         * @param dialog {@link DialogFragment} where the click happened.
+         */
+        void onNegativeButtonClick(DialogFragment dialog);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/StoreUtils.java b/src/com/android/managedprovisioning/common/StoreUtils.java
new file mode 100644
index 0000000..521c41a
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/StoreUtils.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import android.accounts.Account;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+import android.os.PersistableBundle;
+import android.util.Base64;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.IllformedLocaleException;
+import java.util.Locale;
+import java.util.function.Function;
+
+/**
+ * Class with Utils methods to store values in xml files, and to convert various
+ * types to and from string.
+ */
+public class StoreUtils {
+    public static final String ATTR_VALUE = "value";
+
+    /**
+     * Directory name under parent directory {@link Context#getFilesDir()}
+     * It's directory to cache all files / uri from external provisioning intent.
+     * Files must be prefixed by their own prefixes to avoid collisions.
+     */
+    public static final String DIR_PROVISIONING_PARAMS_FILE_CACHE =
+            "provisioning_params_file_cache";
+
+    private static final String ATTR_ACCOUNT_NAME = "account-name";
+    private static final String ATTR_ACCOUNT_TYPE = "account-type";
+
+    /**
+     * Reads an account from a {@link PersistableBundle}.
+     */
+    public static Account persistableBundleToAccount(PersistableBundle bundle) {
+        return new Account(
+                bundle.getString(ATTR_ACCOUNT_NAME),
+                bundle.getString(ATTR_ACCOUNT_TYPE));
+    }
+
+    /**
+     * Writes an account to a {@link PersistableBundle}.
+     */
+    public static PersistableBundle accountToPersistableBundle(Account account) {
+        final PersistableBundle bundle = new PersistableBundle();
+        bundle.putString(ATTR_ACCOUNT_NAME, account.name);
+        bundle.putString(ATTR_ACCOUNT_TYPE, account.type);
+        return bundle;
+    }
+
+    /**
+     * Serialize ComponentName.
+     */
+    public static String componentNameToString(ComponentName componentName) {
+        return componentName == null ? null
+                : componentName.getPackageName() + "/" + componentName.getClassName();
+    }
+
+    /**
+     * Deserialize ComponentName.
+     * Don't use {@link ComponentName#unflattenFromString(String)}, because it doesn't keep
+     * original class name
+     */
+    public static ComponentName stringToComponentName(String str) {
+        int sep = str.indexOf('/');
+        if (sep < 0 || (sep+1) >= str.length()) {
+            return null;
+        }
+        String pkg = str.substring(0, sep);
+        String cls = str.substring(sep+1);
+        return new ComponentName(pkg, cls);
+    }
+
+    /**
+     * Converts a String to a Locale.
+     */
+    public static Locale stringToLocale(String string) throws IllformedLocaleException {
+        if (string != null) {
+            return new Locale.Builder().setLanguageTag(string.replace("_", "-")).build();
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Converts a Locale to a String.
+     */
+    public static String localeToString(Locale locale) {
+        if (locale != null) {
+            return locale.getLanguage() + "_" + locale.getCountry();
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Transforms a string into a byte array.
+     *
+     * @param s the string to be transformed
+     */
+    public static byte[] stringToByteArray(String s)
+        throws NumberFormatException {
+        try {
+            return Base64.decode(s, Base64.URL_SAFE);
+        } catch (IllegalArgumentException e) {
+            throw new NumberFormatException("Incorrect format. Should be Url-safe Base64 encoded.");
+        }
+    }
+
+    /**
+     * Transforms a byte array into a string.
+     *
+     * @param bytes the byte array to be transformed
+     */
+    public static String byteArrayToString(byte[] bytes) {
+        return Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP);
+    }
+
+    public static void putIntegerIfNotNull(PersistableBundle bundle, String attrName,
+            Integer integer) {
+        if (integer != null) {
+            bundle.putInt(attrName, integer);
+        }
+    }
+
+    public static void putPersistableBundlableIfNotNull(PersistableBundle bundle, String attrName,
+            PersistableBundlable bundlable) {
+        if (bundlable != null) {
+            bundle.putPersistableBundle(attrName, bundlable.toPersistableBundle());
+        }
+    }
+
+    public static <E> E getObjectAttrFromPersistableBundle(PersistableBundle bundle,
+            String attrName, Function<PersistableBundle, E> converter) {
+        final PersistableBundle attrBundle = bundle.getPersistableBundle(attrName);
+        return attrBundle == null ? null : converter.apply(attrBundle);
+    }
+
+    public static <E> E getStringAttrFromPersistableBundle(PersistableBundle bundle,
+            String attrName, Function<String, E> converter) {
+        final String str = bundle.getString(attrName);
+        return str == null ? null : converter.apply(str);
+    }
+
+    public static Integer getIntegerAttrFromPersistableBundle(PersistableBundle bundle,
+            String attrName) {
+        return bundle.containsKey(attrName) ? bundle.getInt(attrName) : null;
+    }
+
+    /**
+     * @return true if successfully copy the uri into the file. Otherwise, the outputFile will not
+     * be created.
+     */
+    public static boolean copyUriIntoFile(ContentResolver cr, Uri uri, File outputFile) {
+        try (final InputStream in = cr.openInputStream(uri)) { // Throws SecurityException
+            try (final FileOutputStream out = new FileOutputStream(outputFile)) {
+                copyStream(in, out);
+            }
+            ProvisionLogger.logi("Successfully copy from uri " + uri + " to " + outputFile);
+            return true;
+        } catch (IOException | SecurityException e) {
+            ProvisionLogger.logi("Could not write file from " + uri + " to "
+                    + outputFile, e);
+            // If the file was only partly written, delete it.
+            outputFile.delete();
+            return false;
+        }
+    }
+
+    public static String readString(File file) throws IOException {
+        try (final InputStream in = new FileInputStream(file)) {
+            try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
+                copyStream(in, out);
+                return out.toString();
+            }
+        }
+    }
+
+    public static void copyStream(final InputStream in,
+            final OutputStream out) throws IOException {
+        final byte buffer[] = new byte[1024];
+        int bytesReadCount;
+        while ((bytesReadCount = in.read(buffer)) != -1) {
+            out.write(buffer, 0, bytesReadCount);
+        }
+    }
+
+    public interface TextFileReader {
+        String read(File file) throws IOException;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/StringConcatenator.java b/src/com/android/managedprovisioning/common/StringConcatenator.java
new file mode 100644
index 0000000..9cd09e6
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/StringConcatenator.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.content.res.Resources;
+
+import com.android.managedprovisioning.R;
+
+import java.util.List;
+
+/**
+ * Concatenates {@link String}s in an i18n safe way.
+ * <p>
+ * Based on the implementation from <a href="https://android.googlesource.com/platform/packages/apps/Settings/+/2d566e7/src/com/android/settings/applications/AppPermissionSettings.java#136">com.android.settings.applications.AppPermissionSettings</a>
+ */
+public class StringConcatenator {
+    private final Resources mResources;
+
+    public StringConcatenator(Resources resources) {
+        mResources = resources;
+    }
+
+    public String join(List<String> items) {
+        if (items == null) {
+            return null;
+        }
+
+        if (items.isEmpty()) {
+            return "";
+        }
+
+        final int count = items.size();
+
+        if (count == 1) {
+            return items.get(0);
+        }
+
+        if (count == 2) {
+            return mResources.getString(R.string.join_two_items, items.get(0), items.get(1));
+        }
+
+        String result = items.get(count - 2);
+        for (int i = count - 3; i >= 0; i--) {
+            result = mResources.getString( // not the fastest, but good enough
+                    i == 0 ? R.string.join_many_items_first : R.string.join_many_items_middle,
+                    items.get(i), result);
+        }
+        result = mResources.getString(R.string.join_many_items_last, result, items.get(count - 1));
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/common/TouchTargetEnforcer.java b/src/com/android/managedprovisioning/common/TouchTargetEnforcer.java
new file mode 100644
index 0000000..5d80096
--- /dev/null
+++ b/src/com/android/managedprovisioning/common/TouchTargetEnforcer.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.graphics.Rect;
+import android.util.DisplayMetrics;
+import android.view.TouchDelegate;
+import android.view.View;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Allows for expanding touch area of a {@link View} element, so it's compliant with
+ * accessibility guidelines, while not modifying the UI appearance.
+ * @see <a href="https://goo.gl/FcU5gX">Android Accessibility Guide</a>
+ */
+public class TouchTargetEnforcer {
+    /** Value taken from Android Accessibility Guide */
+    @VisibleForTesting static final int MIN_TARGET_DP = 48;
+
+    /** @see DisplayMetrics#density */
+    private final float mDensity;
+
+    private final TouchDelegateProvider mTouchDelegateProvider;
+
+    /**
+     * Allows for expanding touch area of a {@link View} element, so it's compliant with
+     * accessibility guidelines, while not modifying the UI appearance.
+     * @param density {@link DisplayMetrics#density}
+     * @see <a href="https://goo.gl/FcU5gX">Android Accessibility Guide</a>
+     */
+    public TouchTargetEnforcer(float density) {
+        this(density, TouchDelegate::new);
+    }
+
+    /**
+     * Allows for expanding touch area of a {@link View} element, so it's compliant with
+     * accessibility guidelines, while not modifying the UI appearance.
+     * @param density {@link DisplayMetrics#density}
+     * @see <a href="https://goo.gl/FcU5gX">Android Accessibility Guide</a>
+     */
+    TouchTargetEnforcer(float density, TouchDelegateProvider touchDelegateProvider) {
+        mDensity = density;
+        mTouchDelegateProvider = touchDelegateProvider;
+    }
+
+    /**
+     * Compares target's touch area to required minimum, and expands it if necessary.
+     * <p>FIXME: Does not honor screen boundaries, so might set touch areas outside of the screen.
+     * <p>FIXME: Does not honor ancestor boundaries, so might not work if ancestor too small.
+     * <p>FIXME: Does not work if ancestor has more than one TouchTarget set.
+     * @param target element to check for accessibility compliance
+     * @param ancestor target's ancestor - only one target per ancestor allowed
+     */
+    public void enforce(View target, View ancestor) {
+        target.getViewTreeObserver().addOnGlobalLayoutListener( // avoids some subtle bugs
+                () -> {
+                    int minTargetPx = (int) Math.ceil(dpToPx(MIN_TARGET_DP));
+                    int deltaHeight = Math.max(0, minTargetPx - target.getHeight());
+                    int deltaWidth = Math.max(0, minTargetPx - target.getWidth());
+                    if (deltaHeight <= 0 && deltaWidth <= 0) {
+                        return;
+                    }
+
+                    ancestor.post(() -> {
+                        Rect bounds = createNewBounds(target, minTargetPx, deltaWidth, deltaHeight);
+
+                        synchronized (ancestor) {
+                            if (ancestor.getTouchDelegate() == null) {
+                                ancestor.setTouchDelegate(
+                                        mTouchDelegateProvider.getInstance(bounds, target));
+                                ProvisionLogger.logd(String.format(
+                                        "Successfully set touch delegate on ancestor %s "
+                                                + "delegating to target %s.",
+                                        ancestor, target));
+                            } else {
+                                ProvisionLogger.logd(String.format(
+                                        "Ancestor %s already has an assigned touch delegate %s. "
+                                                + "Unable to assign another one. Ignoring target.",
+                                        ancestor, target));
+                            }
+                        }
+                    });
+                });
+    }
+
+    private Rect createNewBounds(View target, int minTargetPx, int deltaWidth, int deltaHeight) {
+        int deltaWidthHalf = deltaWidth / 2;
+        int deltaHeightHalf = deltaHeight / 2;
+
+        Rect result = new Rect();
+        target.getHitRect(result);
+        result.top -= deltaHeightHalf;
+        result.bottom += deltaHeightHalf;
+        result.left -= deltaWidthHalf;
+        result.right += deltaWidthHalf;
+
+        // fix rounding errors
+        int deltaHeightRemaining = minTargetPx - (result.bottom - result.top);
+        if (deltaHeightRemaining > 0) {
+            result.bottom += deltaHeightRemaining;
+        }
+        int deltaWidthRemaining = minTargetPx - (result.right - result.left);
+        if (deltaWidthRemaining > 0) {
+            result.right += deltaWidthRemaining;
+        }
+        return result;
+    }
+
+    private float dpToPx(int dp) {
+        return dp * mDensity;
+    }
+
+    interface TouchDelegateProvider {
+        /**
+         * @param bounds New touch bounds
+         * @param delegateView The view that should receive motion events (target)
+         */
+        TouchDelegate getInstance(Rect bounds, View delegateView);
+    }
+}
diff --git a/src/com/android/managedprovisioning/common/Utils.java b/src/com/android/managedprovisioning/common/Utils.java
index 8eed939..45219ef 100644
--- a/src/com/android/managedprovisioning/common/Utils.java
+++ b/src/com/android/managedprovisioning/common/Utils.java
@@ -23,13 +23,14 @@
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
 import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
 import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
-import static java.nio.charset.StandardCharsets.UTF_8;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AccountManagerFuture;
 import android.accounts.AuthenticatorException;
 import android.accounts.OperationCanceledException;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -46,49 +47,39 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.wifi.WifiManager;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
 import android.os.Build;
 import android.os.Bundle;
-import android.os.Parcelable;
-import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
-import android.provider.Settings.Global;
-import android.provider.Settings.Secure;
 import android.text.TextUtils;
-import android.util.Base64;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.TrampolineActivity;
+import com.android.managedprovisioning.model.PackageDownloadInfo;
+
+import java.io.FileInputStream;
 import java.io.IOException;
-import java.lang.Integer;
-import java.lang.Math;
-import java.lang.String;
-import java.nio.charset.StandardCharsets;
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.managedprovisioning.FinalizationActivity;
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.TrampolineActivity;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.model.PackageDownloadInfo;
 
 /**
  * Class containing various auxiliary methods.
  */
 public class Utils {
-    private static final int ACCOUNT_COPY_TIMEOUT_SECONDS = 60 * 3;  // 3 minutes
+    public static final String SHA256_TYPE = "SHA-256";
+    public static final String SHA1_TYPE = "SHA-1";
 
-    private static final int THRESHOLD_BRIGHT_COLOR = 160; // A color needs a brightness of at least
-    // this value to be considered bright. (brightness being between 0 and 255).
+    // value chosen to match UX designs; when updating check status bar icon colors
+    private static final int THRESHOLD_BRIGHT_COLOR = 190;
+
     public Utils() {}
 
     /**
@@ -173,85 +164,131 @@
      *
      * We are supporting lookup by package name for legacy reasons.
      *
-     * If mdmComponentName is supplied (not null):
-     * mdmPackageName is ignored.
-     * Check that the package of mdmComponentName is installed, that mdmComponentName is a
+     * If dpcComponentName is supplied (not null): dpcPackageName is ignored.
+     * Check that the package of dpcComponentName is installed, that dpcComponentName is a
      * receiver in this package, and return it. The receiver can be in disabled state.
      *
-     * Otherwise:
-     * mdmPackageName must be supplied (not null).
+     * Otherwise: dpcPackageName must be supplied (not null).
      * Check that this package is installed, try to infer a potential device admin in this package,
      * and return it.
      */
-    // TODO: Add unit tests
-    public ComponentName findDeviceAdmin(String mdmPackageName,
-            ComponentName mdmComponentName, Context c) throws IllegalProvisioningArgumentException {
-        if (mdmComponentName != null) {
-            mdmPackageName = mdmComponentName.getPackageName();
+    @NonNull
+    public ComponentName findDeviceAdmin(String dpcPackageName, ComponentName dpcComponentName,
+            Context context) throws IllegalProvisioningArgumentException {
+        if (dpcComponentName != null) {
+            dpcPackageName = dpcComponentName.getPackageName();
         }
-        if (mdmPackageName == null) {
+        if (dpcPackageName == null) {
             throw new IllegalProvisioningArgumentException("Neither the package name nor the"
                     + " component name of the admin are supplied");
         }
         PackageInfo pi;
         try {
-            pi = c.getPackageManager().getPackageInfo(mdmPackageName,
+            pi = context.getPackageManager().getPackageInfo(dpcPackageName,
                     PackageManager.GET_RECEIVERS | PackageManager.MATCH_DISABLED_COMPONENTS);
         } catch (NameNotFoundException e) {
-            throw new IllegalProvisioningArgumentException("Mdm "+ mdmPackageName
+            throw new IllegalProvisioningArgumentException("Dpc "+ dpcPackageName
                     + " is not installed. ", e);
         }
-        if (mdmComponentName != null) {
-            // If the component was specified in the intent: check that it is in the manifest.
-            checkAdminComponent(mdmComponentName, pi);
-            return mdmComponentName;
+
+        final ComponentName componentName = findDeviceAdminInPackageInfo(dpcPackageName,
+                dpcComponentName, pi);
+        if (componentName == null) {
+            throw new IllegalProvisioningArgumentException("Cannot find any admin receiver in "
+                    + "package " + dpcPackageName + " with component " + dpcComponentName);
+        }
+        return componentName;
+    }
+
+    /**
+     * If dpcComponentName is not null: dpcPackageName is ignored.
+     * Check that the package of dpcComponentName is installed, that dpcComponentName is a
+     * receiver in this package, and return it. The receiver can be in disabled state.
+     *
+     * Otherwise, try to infer a potential device admin component in this package info.
+     *
+     * @return infered device admin component in package info. Otherwise, null
+     */
+    @Nullable
+    public ComponentName findDeviceAdminInPackageInfo(@NonNull String dpcPackageName,
+            @Nullable ComponentName dpcComponentName, @NonNull PackageInfo pi) {
+        if (dpcComponentName != null) {
+            if (!isComponentInPackageInfo(dpcComponentName, pi)) {
+                ProvisionLogger.logw("The component " + dpcComponentName + " isn't registered in "
+                        + "the apk");
+                return null;
+            }
+            return dpcComponentName;
         } else {
-            // Otherwise: try to find a potential device admin in the manifest.
-            return findDeviceAdminInPackage(mdmPackageName, pi);
+            return findDeviceAdminInPackage(dpcPackageName, pi);
         }
     }
 
     /**
-     * Verifies that an admin component is part of a given package.
+     * Finds a device admin in a given {@link PackageInfo} object.
      *
-     * @param mdmComponentName the admin component to be checked
-     * @param pi the {@link PackageInfo} of the package to be checked.
-     *
-     * @throws IllegalProvisioningArgumentException if the given component is not part of the
-     *         package
+     * <p>This function returns {@code null} if no or multiple admin receivers were found, and if
+     * the package name does not match dpcPackageName.</p>
+     * @param packageName packge name that should match the {@link PackageInfo} object.
+     * @param packageInfo package info to be examined.
+     * @return admin receiver or null in case of error.
      */
-    private void checkAdminComponent(ComponentName mdmComponentName, PackageInfo pi)
-            throws IllegalProvisioningArgumentException{
-        for (ActivityInfo ai : pi.receivers) {
-            if (mdmComponentName.getClassName().equals(ai.name)) {
-                return;
-            }
+    @Nullable
+    private ComponentName findDeviceAdminInPackage(String packageName, PackageInfo packageInfo) {
+        if (packageInfo == null || !TextUtils.equals(packageInfo.packageName, packageName)) {
+            return null;
         }
-        throw new IllegalProvisioningArgumentException("The component " + mdmComponentName
-                + " cannot be found");
-    }
 
-    private ComponentName findDeviceAdminInPackage(String mdmPackageName, PackageInfo pi)
-            throws IllegalProvisioningArgumentException {
         ComponentName mdmComponentName = null;
-        for (ActivityInfo ai : pi.receivers) {
-            if (!TextUtils.isEmpty(ai.permission) &&
-                    ai.permission.equals(android.Manifest.permission.BIND_DEVICE_ADMIN)) {
+        for (ActivityInfo ai : packageInfo.receivers) {
+            if (TextUtils.equals(ai.permission, android.Manifest.permission.BIND_DEVICE_ADMIN)) {
                 if (mdmComponentName != null) {
-                    throw new IllegalProvisioningArgumentException("There are several "
-                            + "device admins in " + mdmPackageName + " but no one in specified");
+                    ProvisionLogger.logw("more than 1 device admin component are found");
+                    return null;
                 } else {
-                    mdmComponentName = new ComponentName(mdmPackageName, ai.name);
+                    mdmComponentName = new ComponentName(packageName, ai.name);
                 }
             }
         }
-        if (mdmComponentName == null) {
-            throw new IllegalProvisioningArgumentException("There are no device admins in"
-                    + mdmPackageName);
-        }
         return mdmComponentName;
     }
 
+    private boolean isComponentInPackageInfo(ComponentName dpcComponentName,
+            PackageInfo pi) {
+        for (ActivityInfo ai : pi.receivers) {
+            if (dpcComponentName.getClassName().equals(ai.name)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Return if a given package has testOnly="true", in which case we'll relax certain rules
+     * for CTS.
+     *
+     * The system allows this flag to be changed when an app is updated. But
+     * {@link DevicePolicyManager} uses the persisted version to do actual checks for relevant
+     * dpm command.
+     *
+     * @see DevicePolicyManagerService#isPackageTestOnly for more info
+     */
+    public boolean isPackageTestOnly(PackageManager pm, String packageName, int userHandle) {
+        if (TextUtils.isEmpty(packageName)) {
+            return false;
+        }
+
+        try {
+            final ApplicationInfo ai = pm.getApplicationInfoAsUser(packageName,
+                    PackageManager.MATCH_DIRECT_BOOT_AWARE
+                            | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle);
+            return ai != null && (ai.flags & ApplicationInfo.FLAG_TEST_ONLY) != 0;
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+
+    }
+
     /**
      * Returns whether the current user is the system user.
      */
@@ -269,15 +306,6 @@
     }
 
     /**
-     * Returns whether the calling user is a managed profile.
-     */
-    public boolean isManagedProfile(Context context) {
-        UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        UserInfo user = um.getUserInfo(UserHandle.myUserId());
-        return user != null ? user.isManagedProfile() : false;
-    }
-
-    /**
      * Returns true if the given package requires an update.
      *
      * <p>There are two cases where an update is required:
@@ -305,158 +333,6 @@
     }
 
     /**
-     * Transforms a string into a byte array.
-     *
-     * @param s the string to be transformed
-     */
-    public byte[] stringToByteArray(String s)
-        throws NumberFormatException {
-        try {
-            return Base64.decode(s, Base64.URL_SAFE);
-        } catch (IllegalArgumentException e) {
-            throw new NumberFormatException("Incorrect format. Should be Url-safe Base64 encoded.");
-        }
-    }
-
-    /**
-     * Transforms a byte array into a string.
-     *
-     * @param bytes the byte array to be transformed
-     */
-    public String byteArrayToString(byte[] bytes) {
-        return Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP);
-    }
-
-    /**
-     * Sets user setup complete on a given user.
-     *
-     * <p>This will set USER_SETUP_COMPLETE to 1 on the given user.
-     */
-    public void markUserSetupComplete(Context context, int userId) {
-        ProvisionLogger.logd("Setting USER_SETUP_COMPLETE to 1 for user " + userId);
-        Secure.putIntForUser(context.getContentResolver(), Secure.USER_SETUP_COMPLETE, 1, userId);
-    }
-
-    /**
-     * Returns whether USER_SETUP_COMPLETE is set on the calling user.
-     */
-    public boolean isUserSetupCompleted(Context context) {
-        return Secure.getInt(context.getContentResolver(), Secure.USER_SETUP_COMPLETE, 0) != 0;
-    }
-
-    /**
-     * Returns whether DEVICE_PROVISIONED is set.
-     */
-    public boolean isDeviceProvisioned(Context context) {
-        return Global.getInt(context.getContentResolver(), Global.DEVICE_PROVISIONED, 0) != 0;
-    }
-
-    /**
-     * Set the current users userProvisioningState depending on the following factors:
-     * <ul>
-     *     <li>We're setting up a managed-profile - need to set state on two users.</li>
-     *     <li>User-setup has previously been completed or not - skip states relating to
-     *     communicating with setup-wizard</li>
-     *     <li>DPC requested we skip the rest of setup-wizard.</li>
-     * </ul>
-     *
-     * @param context a {@link Context} object
-     * @param params configuration for current provisioning attempt
-     */
-    // TODO: Add unit tests
-    public void markUserProvisioningStateInitiallyDone(Context context,
-            ProvisioningParams params) {
-        int currentUserId = UserHandle.myUserId();
-        int managedProfileUserId = UserHandle.USER_NULL;
-        DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
-
-        // new provisioning state for current user, if non-null
-        Integer newState = null;
-         // New provisioning state for managed-profile of current user, if non-null.
-        Integer newProfileState = null;
-
-        boolean userSetupCompleted = isUserSetupCompleted(context);
-        if (params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
-            // Managed profiles are a special case as two users are involved.
-            managedProfileUserId = getManagedProfile(context).getIdentifier();
-            if (userSetupCompleted) {
-                // SUW on current user is complete, so nothing much to do beyond indicating we're
-                // all done.
-                newProfileState = DevicePolicyManager.STATE_USER_SETUP_FINALIZED;
-            } else {
-                // We're still in SUW, so indicate that a managed-profile was setup on current user,
-                // and that we're awaiting finalization on both.
-                newState = DevicePolicyManager.STATE_USER_PROFILE_COMPLETE;
-                newProfileState = DevicePolicyManager.STATE_USER_SETUP_COMPLETE;
-            }
-        } else if (userSetupCompleted) {
-            // User setup was previously completed this is an unexpected case.
-            ProvisionLogger.logw("user_setup_complete set, but provisioning was started");
-        } else if (params.skipUserSetup) {
-            // DPC requested setup-wizard is skipped, indicate this to SUW.
-            newState = DevicePolicyManager.STATE_USER_SETUP_COMPLETE;
-        } else {
-            // DPC requested setup-wizard is not skipped, indicate this to SUW.
-            newState = DevicePolicyManager.STATE_USER_SETUP_INCOMPLETE;
-        }
-
-        if (newState != null) {
-            setUserProvisioningState(dpm, newState, currentUserId);
-        }
-        if (newProfileState != null) {
-            setUserProvisioningState(dpm, newProfileState, managedProfileUserId);
-        }
-        if (!userSetupCompleted) {
-            // We expect a PROVISIONING_FINALIZATION intent to finish setup if we're still in
-            // user-setup.
-            FinalizationActivity.storeProvisioningParams(context, params);
-        }
-    }
-
-    /**
-     * Finalize the current users userProvisioningState depending on the following factors:
-     * <ul>
-     *     <li>We're setting up a managed-profile - need to set state on two users.</li>
-     * </ul>
-     *
-     * @param context a {@link Context} object
-     * @param params configuration for current provisioning attempt - if null (because
-     *               ManagedProvisioning wasn't used for first phase of provisioning) aassumes we
-     *               can just mark current user as being in finalized provisioning state
-     */
-    // TODO: Add unit tests
-    public void markUserProvisioningStateFinalized(Context context,
-            ProvisioningParams params) {
-        int currentUserId = UserHandle.myUserId();
-        int managedProfileUserId = -1;
-        DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
-        Integer newState = null;
-        Integer newProfileState = null;
-
-        if (params != null && params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
-            // Managed profiles are a special case as two users are involved.
-            managedProfileUserId = getManagedProfile(context).getIdentifier();
-
-            newState = DevicePolicyManager.STATE_USER_UNMANAGED;
-            newProfileState = DevicePolicyManager.STATE_USER_SETUP_FINALIZED;
-        } else {
-            newState = DevicePolicyManager.STATE_USER_SETUP_FINALIZED;
-        }
-
-        if (newState != null) {
-            setUserProvisioningState(dpm, newState, currentUserId);
-        }
-        if (newProfileState != null) {
-            setUserProvisioningState(dpm, newProfileState, managedProfileUserId);
-        }
-    }
-
-    private void setUserProvisioningState(DevicePolicyManager dpm, int state, int userId) {
-        ProvisionLogger.logi("Setting userProvisioningState for user " + userId + " to: " + state);
-        dpm.setUserProvisioningState(state, userId);
-    }
-
-    /**
      * Returns the first existing managed profile if any present, null otherwise.
      *
      * <p>Note that we currently only support one managed profile per device.
@@ -521,51 +397,6 @@
     }
 
     /**
-     * Copies an account to a given user.
-     *
-     * <p>Copies a given account form {@code sourceUser} to {@code targetUser}. This call is
-     * blocking until the operation has succeeded. If within a timeout the account hasn't been
-     * successfully copied to the new user, we give up.
-     *
-     * @param context a {@link Context} object
-     * @param accountToMigrate the account to be migrated
-     * @param sourceUser the {@link UserHandle} of the user to copy from
-     * @param targetUser the {@link UserHandle} of the user to copy to
-     * @return whether account migration successfully completed
-     */
-    public boolean maybeCopyAccount(Context context, Account accountToMigrate,
-            UserHandle sourceUser, UserHandle targetUser) {
-        if (accountToMigrate == null) {
-            ProvisionLogger.logd("No account to migrate.");
-            return false;
-        }
-        if (sourceUser.equals(targetUser)) {
-            ProvisionLogger.loge("sourceUser and targetUser are the same, won't migrate account.");
-            return false;
-        }
-        ProvisionLogger.logd("Attempting to copy account from " + sourceUser + " to " + targetUser);
-        try {
-            AccountManager accountManager =
-                    (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE);
-            boolean copySucceeded = accountManager.copyAccountToUser(
-                    accountToMigrate,
-                    sourceUser,
-                    targetUser,
-                    /* callback= */ null, /* handler= */ null)
-                    .getResult(ACCOUNT_COPY_TIMEOUT_SECONDS, TimeUnit.SECONDS);
-            if (copySucceeded) {
-                ProvisionLogger.logi("Copied account to " + targetUser);
-                return true;
-            } else {
-                ProvisionLogger.loge("Could not copy account to " + targetUser);
-            }
-        } catch (OperationCanceledException | AuthenticatorException | IOException e) {
-            ProvisionLogger.loge("Exception copying account to " + targetUser, e);
-        }
-        return false;
-    }
-
-    /**
      * Returns whether FRP is supported on the device.
      */
     public boolean isFrpSupported(Context context) {
@@ -608,6 +439,10 @@
             // NFC cases which need to take mime-type into account.
             case ACTION_NDEF_DISCOVERED:
                 String mimeType = intent.getType();
+                if (mimeType == null) {
+                    throw new IllegalProvisioningArgumentException(
+                            "Unknown NFC bump mime-type: " + mimeType);
+                }
                 switch (mimeType) {
                     case MIME_TYPE_PROVISIONING_NFC:
                         dpmProvisioningAction = ACTION_PROVISION_MANAGED_DEVICE;
@@ -637,7 +472,9 @@
      */
     // TODO: Move the FR intent into a Globals class.
     public void sendFactoryResetBroadcast(Context context, String reason) {
-        Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
+        Intent intent = new Intent(Intent.ACTION_FACTORY_RESET);
+        // Send explicit broadcast due to Broadcast Limitations
+        intent.setPackage("android");
         intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
         intent.putExtra(Intent.EXTRA_REASON, reason);
         context.sendBroadcast(intent);
@@ -679,13 +516,13 @@
                 && info.getType() == ConnectivityManager.TYPE_WIFI;
     }
 
-    private NetworkInfo getActiveNetworkInfo(Context context) {
+    /**
+     * Returns the active network info of the device.
+     */
+    public NetworkInfo getActiveNetworkInfo(Context context) {
         ConnectivityManager cm =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
-        if (cm != null) {
-            return cm.getActiveNetworkInfo();
-        }
-        return null;
+        return cm.getActiveNetworkInfo();
     }
 
     /**
@@ -764,4 +601,81 @@
     private boolean versionNumberAtLeastL(int versionNumber) {
         return versionNumber >= Build.VERSION_CODES.LOLLIPOP;
     }
+
+    /**
+     * Computes the sha 256 hash of a byte array.
+     */
+    @Nullable
+    public byte[] computeHashOfByteArray(byte[] bytes) {
+        try {
+            MessageDigest md = MessageDigest.getInstance(SHA256_TYPE);
+            md.update(bytes);
+            return md.digest();
+        } catch (NoSuchAlgorithmException e) {
+            ProvisionLogger.loge("Hashing algorithm " + SHA256_TYPE + " not supported.", e);
+            return null;
+        }
+    }
+
+    /**
+     * Computes a hash of a file with a spcific hash algorithm.
+     */
+    // TODO: Add unit tests
+    @Nullable
+    public byte[] computeHashOfFile(String fileLocation, String hashType) {
+        InputStream fis = null;
+        MessageDigest md;
+        byte hash[] = null;
+        try {
+            md = MessageDigest.getInstance(hashType);
+        } catch (NoSuchAlgorithmException e) {
+            ProvisionLogger.loge("Hashing algorithm " + hashType + " not supported.", e);
+            return null;
+        }
+        try {
+            fis = new FileInputStream(fileLocation);
+
+            byte[] buffer = new byte[256];
+            int n = 0;
+            while (n != -1) {
+                n = fis.read(buffer);
+                if (n > 0) {
+                    md.update(buffer, 0, n);
+                }
+            }
+            hash = md.digest();
+        } catch (IOException e) {
+            ProvisionLogger.loge("IO error.", e);
+        } finally {
+            // Close input stream quietly.
+            try {
+                if (fis != null) {
+                    fis.close();
+                }
+            } catch (IOException e) {
+                // Ignore.
+            }
+        }
+        return hash;
+    }
+
+    public boolean isBrightColor(int color) {
+        // This comes from the YIQ transformation. We're using the formula:
+        // Y = .299 * R + .587 * G + .114 * B
+        return Color.red(color) * 299 + Color.green(color) * 587 + Color.blue(color) * 114
+                >= 1000 * THRESHOLD_BRIGHT_COLOR;
+    }
+
+    /**
+     * Returns whether given intent can be resolved for the user.
+     */
+    public boolean canResolveIntentAsUser(Context context, Intent intent, int userId) {
+        return intent != null
+                && context.getPackageManager().resolveActivityAsUser(intent, 0, userId) != null;
+    }
+
+    public boolean isPackageDeviceOwner(DevicePolicyManager dpm, String packageName) {
+        final ComponentName deviceOwner = dpm.getDeviceOwnerComponentOnCallingUser();
+        return deviceOwner != null && deviceOwner.getPackageName().equals(packageName);
+    }
 }
diff --git a/src/com/android/managedprovisioning/MdmReceivedSuccessReceiver.java b/src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiver.java
similarity index 62%
rename from src/com/android/managedprovisioning/MdmReceivedSuccessReceiver.java
rename to src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiver.java
index d8a9bcc..193b7de 100644
--- a/src/com/android/managedprovisioning/MdmReceivedSuccessReceiver.java
+++ b/src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiver.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2015, The Android Open Source Project
+ * Copyright 2016, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,35 +14,51 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning;
+package com.android.managedprovisioning.finalization;
 
 import static android.app.admin.DevicePolicyManager.ACTION_MANAGED_PROFILE_PROVISIONED;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static com.android.internal.util.Preconditions.checkNotNull;
 
 import android.accounts.Account;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.os.AsyncTask;
+import android.os.UserHandle;
+import android.support.annotation.Nullable;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
 import com.android.managedprovisioning.common.Utils;
 
 /**
  * Class that acts as the final receiver of the intent ACTION_PROFILE_PROVISIONING_COMPLETE
  * which is broadcasted using
- * {@link Context#sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle)}
+ * {@link Context#sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle)}
  * after profile owner or device owner provisioning is completed.
  */
-public class MdmReceivedSuccessReceiver extends BroadcastReceiver {
+public class DpcReceivedSuccessReceiver extends BroadcastReceiver {
 
     private final Account mMigratedAccount;
     private final String mMdmPackageName;
+    private final boolean mKeepAccountMigrated;
+    private final Utils mUtils;
+    private final UserHandle mManagedUserHandle;
 
-    private final Utils mUtils = new Utils();
+    public DpcReceivedSuccessReceiver(@Nullable Account migratedAccount,
+            boolean keepAccountMigrated, UserHandle managedUserHandle, String mdmPackageName) {
+        this(migratedAccount, keepAccountMigrated, managedUserHandle, mdmPackageName, new Utils());
+    }
 
-    public MdmReceivedSuccessReceiver(Account migratedAccount, String mdmPackageName) {
+    @VisibleForTesting
+    DpcReceivedSuccessReceiver(Account migratedAccount, boolean keepAccountMigrated,
+        UserHandle managedUserHandle, String mdmPackageName, Utils utils) {
         mMigratedAccount = migratedAccount;
-        mMdmPackageName = mdmPackageName;
+        mKeepAccountMigrated = keepAccountMigrated;
+        mMdmPackageName = checkNotNull(mdmPackageName);
+        mManagedUserHandle = checkNotNull(managedUserHandle);
+        mUtils = checkNotNull(utils);
     }
 
     @Override
@@ -53,6 +69,7 @@
         primaryProfileSuccessIntent.setPackage(mMdmPackageName);
         primaryProfileSuccessIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
                 Intent.FLAG_RECEIVER_FOREGROUND);
+        primaryProfileSuccessIntent.putExtra(Intent.EXTRA_USER, mManagedUserHandle);
 
         // Now cleanup the primary profile if necessary
         if (mMigratedAccount != null) {
@@ -70,7 +87,9 @@
         new AsyncTask<Void, Void, Void>() {
             @Override
             protected Void doInBackground(Void... params) {
-                mUtils.removeAccount(context, mMigratedAccount);
+                if (!mKeepAccountMigrated) {
+                    mUtils.removeAccount(context, mMigratedAccount);
+                }
                 context.sendBroadcast(primaryProfileSuccessIntent);
                 return null;
             }
diff --git a/src/com/android/managedprovisioning/finalization/FinalizationActivity.java b/src/com/android/managedprovisioning/finalization/FinalizationActivity.java
new file mode 100644
index 0000000..ea3612f
--- /dev/null
+++ b/src/com/android/managedprovisioning/finalization/FinalizationActivity.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import android.app.Activity;
+import android.app.admin.DevicePolicyManager;
+import android.os.Bundle;
+
+/**
+ * This class is used to make sure that we start the MDM after we shut the setup wizard down.
+ * The shut down of the setup wizard is initiated in the
+ * {@link com.android.managedprovisioning.provisioning.ProvisioningActivity} by calling
+ * {@link DevicePolicyManager#setUserProvisioningState(int, int)}. This will cause the
+ * Setup wizard to shut down and send a ACTION_PROVISIONING_FINALIZATION intent. This intent is
+ * caught by this receiver instead which will send the
+ * ACTION_PROFILE_PROVISIONING_COMPLETE broadcast to the MDM, which can then present it's own
+ * activities.
+ */
+public class FinalizationActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        new FinalizationController(this).provisioningFinalized();
+        finish();
+    }
+}
diff --git a/src/com/android/managedprovisioning/finalization/FinalizationController.java b/src/com/android/managedprovisioning/finalization/FinalizationController.java
new file mode 100644
index 0000000..1a23aaf
--- /dev/null
+++ b/src/com/android/managedprovisioning/finalization/FinalizationController.java
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISIONING_SUCCESSFUL;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.NonNull;
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.io.File;
+
+/**
+ * Controller for the finalization of managed provisioning.
+ *
+ * <p>This controller is invoked when the active provisioning is completed via
+ * {@link #provisioningInitiallyDone(ProvisioningParams)}. In the case of provisioning during SUW,
+ * it is invoked again when provisioning is finalized via {@link #provisioningFinalized()}.</p>
+ */
+public class FinalizationController {
+    private static final String PROVISIONING_PARAMS_FILE_NAME =
+            "finalization_activity_provisioning_params.xml";
+
+    private final Context mContext;
+    private final Utils mUtils;
+    private final SettingsFacade mSettingsFacade;
+    private final UserProvisioningStateHelper mHelper;
+
+    public FinalizationController(Context context) {
+        this(
+                context,
+                new Utils(),
+                new SettingsFacade(),
+                new UserProvisioningStateHelper(context));
+    }
+
+    @VisibleForTesting
+    FinalizationController(Context context,
+            Utils utils,
+            SettingsFacade settingsFacade,
+            UserProvisioningStateHelper helper) {
+        mContext = checkNotNull(context);
+        mUtils = checkNotNull(utils);
+        mSettingsFacade = checkNotNull(settingsFacade);
+        mHelper = checkNotNull(helper);
+    }
+
+    /**
+     * This method is invoked when the provisioning process is done.
+     *
+     * <p>If provisioning happens as part of SUW, we rely on {@link #provisioningFinalized()} to be
+     * called at the end of SUW. Otherwise, this method will finalize provisioning. If called after
+     * SUW, this method notifies the DPC about the completed provisioning; otherwise, it stores the
+     * provisioning params for later digestion.</p>
+     *
+     * @param params the provisioning params
+     */
+    public void provisioningInitiallyDone(ProvisioningParams params) {
+        if (!mHelper.isStateUnmanagedOrFinalized()) {
+            // In any other state than STATE_USER_UNMANAGED and STATE_USER_SETUP_FINALIZED, we've
+            // already run this method, so don't do anything.
+            // STATE_USER_SETUP_FINALIZED can occur here if a managed profile is provisioned on a
+            // device owner device.
+            ProvisionLogger.logw("provisioningInitiallyDone called, but state is not finalized or "
+                    + "unmanaged");
+            return;
+        }
+
+        mHelper.markUserProvisioningStateInitiallyDone(params);
+        if (ACTION_PROVISION_MANAGED_PROFILE.equals(params.provisioningAction)
+                && mSettingsFacade.isUserSetupCompleted(mContext)) {
+            // If a managed profile was provisioned after SUW, notify the DPC straight away
+            notifyDpcManagedProfile(params);
+        } else {
+            // Otherwise store the information and wait for provisioningFinalized to be called
+            storeProvisioningParams(params);
+        }
+    }
+
+    /**
+     * This method is invoked when provisioning is finalized.
+     *
+     * <p>This method has to be invoked after {@link #provisioningInitiallyDone(ProvisioningParams)}
+     * was called. It is commonly invoked at the end of SUW if provisioning occurs during SUW. It
+     * loads the provisioning params from the storage, notifies the DPC about the completed
+     * provisioning and sets the right user provisioning states.</p>
+     */
+    void provisioningFinalized() {
+        if (mHelper.isStateUnmanagedOrFinalized()) {
+            ProvisionLogger.logw("provisioningInitiallyDone called, but state is finalized or "
+                    + "unmanaged");
+            return;
+        }
+
+        final ProvisioningParams params = loadProvisioningParamsAndClearFile();
+        if (params == null) {
+            ProvisionLogger.logw("FinalizationController invoked, but no stored params");
+            return;
+        }
+
+        if (params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
+            notifyDpcManagedProfile(params);
+        } else {
+            // For managed user and device owner, we send the provisioning complete intent and maybe
+            // launch the DPC.
+            Intent provisioningCompleteIntent = createProvisioningCompleteIntent(params);
+            if (provisioningCompleteIntent == null) {
+                return;
+            }
+            mContext.sendBroadcast(provisioningCompleteIntent);
+
+            maybeLaunchDpc(params, UserHandle.myUserId());
+        }
+
+        mHelper.markUserProvisioningStateFinalized(params);
+    }
+
+    /**
+     * Notify the DPC on the managed profile that provisioning has completed. When the DPC has
+     * received the intent, send notify the primary instance that the profile is ready.
+     */
+    private void notifyDpcManagedProfile(ProvisioningParams params) {
+        UserHandle managedUserHandle = mUtils.getManagedProfile(mContext);
+
+        // Use an ordered broadcast, so that we only finish when the DPC has received it.
+        // Avoids a lag in the transition between provisioning and the DPC.
+        BroadcastReceiver dpcReceivedSuccessReceiver =
+                new DpcReceivedSuccessReceiver(params.accountToMigrate,
+                        params.keepAccountMigrated, managedUserHandle,
+                        params.deviceAdminComponentName.getPackageName());
+        Intent completeIntent = createProvisioningCompleteIntent(params);
+
+        mContext.sendOrderedBroadcastAsUser(completeIntent, managedUserHandle, null,
+                dpcReceivedSuccessReceiver, null, Activity.RESULT_OK, null, null);
+        ProvisionLogger.logd("Provisioning complete broadcast has been sent to user "
+                + managedUserHandle.getIdentifier());
+
+        maybeLaunchDpc(params, managedUserHandle.getIdentifier());
+    }
+
+    private void maybeLaunchDpc(ProvisioningParams params, int userId) {
+        final Intent dpcLaunchIntent = createDpcLaunchIntent(params);
+        if (mUtils.canResolveIntentAsUser(mContext, dpcLaunchIntent, userId)) {
+            mContext.startActivityAsUser(dpcLaunchIntent, UserHandle.of(userId));
+            ProvisionLogger.logd("Dpc was launched for user: " + userId);
+        }
+    }
+
+    private Intent createProvisioningCompleteIntent(@NonNull ProvisioningParams params) {
+        Intent intent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
+        try {
+            intent.setComponent(mUtils.findDeviceAdmin(
+                    params.deviceAdminPackageName,
+                    params.deviceAdminComponentName, mContext));
+        } catch (IllegalProvisioningArgumentException e) {
+            ProvisionLogger.loge("Failed to infer the device admin component name", e);
+            return null;
+        }
+        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES | Intent.FLAG_RECEIVER_FOREGROUND);
+        addExtrasToIntent(intent, params);
+        return intent;
+    }
+
+    private Intent createDpcLaunchIntent(@NonNull ProvisioningParams params) {
+        Intent intent = new Intent(ACTION_PROVISIONING_SUCCESSFUL);
+        final String packageName = params.inferDeviceAdminPackageName();
+        if (packageName == null) {
+            ProvisionLogger.loge("Device admin package name is null");
+            return null;
+        }
+        intent.setPackage(packageName);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        addExtrasToIntent(intent, params);
+        return intent;
+    }
+
+    private void addExtrasToIntent(Intent intent, ProvisioningParams params) {
+        intent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, params.adminExtrasBundle);
+    }
+
+    private void storeProvisioningParams(ProvisioningParams params) {
+        params.save(getProvisioningParamsFile());
+    }
+
+    private File getProvisioningParamsFile() {
+        return new File(mContext.getFilesDir(), PROVISIONING_PARAMS_FILE_NAME);
+    }
+
+    @VisibleForTesting
+    ProvisioningParams loadProvisioningParamsAndClearFile() {
+        File file = getProvisioningParamsFile();
+        ProvisioningParams result = ProvisioningParams.load(file);
+        file.delete();
+        return result;
+    }
+}
diff --git a/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelper.java b/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelper.java
new file mode 100644
index 0000000..0e6ee54
--- /dev/null
+++ b/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelper.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_PROFILE_COMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_COMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_FINALIZED;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_INCOMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_UNMANAGED;
+import static android.content.Context.DEVICE_POLICY_SERVICE;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+/**
+ * Helper class to handle the user provisioning states.
+ *
+ * <p>This class calls interacts with {@link DevicePolicyManager} to handle the setting of
+ * user provisioning states at the end of provisioning.</p>
+ */
+@VisibleForTesting
+public class UserProvisioningStateHelper {
+    private final Context mContext;
+    private final DevicePolicyManager mDevicePolicyManager;
+    private final Utils mUtils;
+    private final SettingsFacade mSettingsFacade;
+    private final int mMyUserId;
+
+    UserProvisioningStateHelper(Context context) {
+        this(context, new Utils(), new SettingsFacade(), UserHandle.myUserId());
+    }
+
+    @VisibleForTesting
+    UserProvisioningStateHelper(Context context,
+            Utils utils,
+            SettingsFacade settingsFacade,
+            int myUserId) {
+        mContext = checkNotNull(context);
+        mDevicePolicyManager = (DevicePolicyManager) mContext.getSystemService(
+                DEVICE_POLICY_SERVICE);
+        mUtils = checkNotNull(utils);
+        mSettingsFacade = checkNotNull(settingsFacade);
+        mMyUserId = myUserId;
+    }
+
+    /**
+     * Set the current users userProvisioningState depending on the following factors:
+     * <ul>
+     *     <li>We're setting up a managed-profile - need to set state on two users.</li>
+     *     <li>User-setup has previously been completed or not - skip states relating to
+     *     communicating with setup-wizard.</li>
+     *     <li>DPC requested we skip the rest of setup-wizard.</li>
+     * </ul>
+     *
+     * @param params configuration for current provisioning attempt
+     */
+    @VisibleForTesting
+    public void markUserProvisioningStateInitiallyDone(ProvisioningParams params) {
+        final boolean userSetupCompleted = mSettingsFacade.isUserSetupCompleted(mContext);
+
+        int managedProfileUserId = UserHandle.USER_NULL;
+
+        // new provisioning state for current user, if non-null
+        Integer newState = null;
+        // New provisioning state for managed-profile of current user, if non-null.
+        Integer newProfileState = null;
+
+        if (params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
+            // Managed profiles are a special case as two users are involved.
+            managedProfileUserId = mUtils.getManagedProfile(mContext).getIdentifier();
+            if (userSetupCompleted) {
+                // SUW on current user is complete, so nothing much to do beyond indicating we're
+                // all done.
+                newProfileState = STATE_USER_SETUP_FINALIZED;
+            } else {
+                // We're still in SUW, so indicate that a managed-profile was setup on current user,
+                // and that we're awaiting finalization on both.
+                newState = STATE_USER_PROFILE_COMPLETE;
+                newProfileState = STATE_USER_SETUP_COMPLETE;
+            }
+        } else if (userSetupCompleted) {
+            // User setup was previously completed this is an unexpected case.
+            ProvisionLogger.logw("user_setup_complete set, but provisioning was started");
+        } else if (params.skipUserSetup) {
+            // DPC requested setup-wizard is skipped, indicate this to SUW.
+            newState = STATE_USER_SETUP_COMPLETE;
+        } else {
+            // DPC requested setup-wizard is not skipped, indicate this to SUW.
+            newState = STATE_USER_SETUP_INCOMPLETE;
+        }
+
+        if (newState != null) {
+            setUserProvisioningState(newState, mMyUserId);
+        }
+        if (newProfileState != null) {
+            setUserProvisioningState(newProfileState, managedProfileUserId);
+        }
+    }
+
+    /**
+     * Finalize the current users userProvisioningState depending on the following factors:
+     * <ul>
+     *     <li>We're setting up a managed-profile - need to set state on two users.</li>
+     * </ul>
+     *
+     * @param params configuration for current provisioning attempt - if null (because
+     *               ManagedProvisioning wasn't used for first phase of provisioning) aassumes we
+     *               can just mark current user as being in finalized provisioning state
+     */
+    @VisibleForTesting
+    public void markUserProvisioningStateFinalized(ProvisioningParams params) {
+
+        if (params.provisioningAction.equals(ACTION_PROVISION_MANAGED_PROFILE)) {
+            // Managed profiles are a special case as two users are involved.
+            final int managedProfileUserId = mUtils.getManagedProfile(mContext).getIdentifier();
+            setUserProvisioningState(STATE_USER_SETUP_FINALIZED, managedProfileUserId);
+            setUserProvisioningState(STATE_USER_UNMANAGED, mMyUserId);
+        } else {
+            setUserProvisioningState(STATE_USER_SETUP_FINALIZED, mMyUserId);
+        }
+    }
+
+    @VisibleForTesting
+    public boolean isStateUnmanagedOrFinalized() {
+        final int currentState = mDevicePolicyManager.getUserProvisioningState();
+        return currentState == STATE_USER_UNMANAGED || currentState == STATE_USER_SETUP_FINALIZED;
+    }
+
+    private void setUserProvisioningState(int state, int userId) {
+        ProvisionLogger.logi("Setting userProvisioningState for user " + userId + " to: " + state);
+        mDevicePolicyManager.setUserProvisioningState(state, userId);
+    }
+}
diff --git a/src/com/android/managedprovisioning/model/CustomizationParams.java b/src/com/android/managedprovisioning/model/CustomizationParams.java
new file mode 100644
index 0000000..914abb5
--- /dev/null
+++ b/src/com/android/managedprovisioning/model/CustomizationParams.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.model;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.webkit.URLUtil;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Utils;
+
+/**
+ * Captures parameters related to brand customization (e.g. tint color).
+ */
+public class CustomizationParams {
+    @VisibleForTesting public static final int DEFAULT_COLOR_ID_MP = R.color.gray_status_bar;
+    @VisibleForTesting public static final int DEFAULT_COLOR_ID_DO = R.color.blue;
+    @VisibleForTesting public static final int DEFAULT_COLOR_ID_BUTTON = R.color.blue;
+    @VisibleForTesting public static final int DEFAULT_COLOR_ID_SWIPER = R.color.teal2;
+
+    /** Status bar color */
+    public final int statusBarColor;
+
+    /** Animation swiper color */
+    public final int swiperColor;
+
+    /** 'Accept & Continue' button color */
+    public final int buttonColor;
+
+    /** Name of the organization where the device is being provisioned. */
+    public final @Nullable String orgName;
+
+    /** Support url of the organization where the device is being provisioned. */
+    public final @Nullable String supportUrl;
+
+    /**
+     * Computes an instance from {@link ProvisioningParams} and required helper classes.
+     * @param params {@link ProvisioningParams} instance to compute the values from
+     * @param context {@link Context} instance to resolve color ids
+     * @param utils {@link Utils} instance to determine the provisioning mode
+     */
+    public static CustomizationParams createInstance(ProvisioningParams params, Context context,
+            Utils utils) {
+        boolean isProfileOwner = utils.isProfileOwnerAction(params.provisioningAction);
+
+        int statusBarColor, swiperColor, buttonColor;
+        if (params.mainColor != null) {
+            statusBarColor = swiperColor = buttonColor = params.mainColor;
+        } else {
+            statusBarColor = context.getColor(
+                    isProfileOwner ? DEFAULT_COLOR_ID_MP : DEFAULT_COLOR_ID_DO);
+            swiperColor = context.getColor(DEFAULT_COLOR_ID_SWIPER);
+            buttonColor = context.getColor(DEFAULT_COLOR_ID_BUTTON);
+        }
+
+        String supportUrl = URLUtil.isNetworkUrl(params.supportUrl) ? params.supportUrl : null;
+
+        return new CustomizationParams(statusBarColor, swiperColor, buttonColor,
+                params.organizationName, supportUrl);
+    }
+
+    private CustomizationParams(int statusBarColor, int swiperColor, int buttonColor,
+            String orgName, String supportUrl) {
+        this.statusBarColor = statusBarColor;
+        this.swiperColor = swiperColor;
+        this.buttonColor = buttonColor;
+        this.orgName = orgName;
+        this.supportUrl = supportUrl;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/model/DisclaimersParam.java b/src/com/android/managedprovisioning/model/DisclaimersParam.java
new file mode 100644
index 0000000..a39c255
--- /dev/null
+++ b/src/com/android/managedprovisioning/model/DisclaimersParam.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.model;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.PersistableBundle;
+import com.android.internal.annotations.Immutable;
+import com.android.managedprovisioning.common.PersistableBundlable;
+import com.android.managedprovisioning.common.StoreUtils;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Stores disclaimers information.
+ */
+@Immutable
+public class DisclaimersParam extends PersistableBundlable {
+    private static final String HEADER_KEY = "HEADER_KEY";
+    private static final String CONTENT_PATH_KEY = "CONTENT_PATH_KEY";
+
+    public static final Parcelable.Creator<DisclaimersParam> CREATOR
+            = new Parcelable.Creator<DisclaimersParam>() {
+        @Override
+        public DisclaimersParam createFromParcel(Parcel in) {
+            return new DisclaimersParam(in);
+        }
+
+        @Override
+        public DisclaimersParam[] newArray(int size) {
+            return new DisclaimersParam[size];
+        }
+    };
+
+    public final Disclaimer[] mDisclaimers;
+
+    private DisclaimersParam(Builder builder) {
+        mDisclaimers = builder.mDisclaimers;
+    }
+
+    private DisclaimersParam(Parcel in) {
+        this(createBuilderFromPersistableBundle(
+                PersistableBundlable.getPersistableBundleFromParcel(in)));
+    }
+
+    public static DisclaimersParam fromPersistableBundle(PersistableBundle bundle) {
+        return createBuilderFromPersistableBundle(bundle).build();
+    }
+
+    private static Builder createBuilderFromPersistableBundle(PersistableBundle bundle) {
+        String[] headers = bundle.getStringArray(HEADER_KEY);
+        String[] contentPaths = bundle.getStringArray(CONTENT_PATH_KEY);
+        Builder builder = new Builder();
+        if (headers != null) {
+            // assume headers.length == contentPaths.length
+            Disclaimer[] disclaimers = new Disclaimer[headers.length];
+            for (int i = 0; i < headers.length; i++) {
+                disclaimers[i] = new Disclaimer(headers[i], contentPaths[i]);
+            }
+            builder.setDisclaimers(disclaimers);
+        }
+        return builder;
+    }
+
+    public void cleanUp() {
+        if (mDisclaimers != null) {
+            for(Disclaimer disclaimer : mDisclaimers) {
+                new File(disclaimer.mContentFilePath).delete();
+            }
+        }
+    }
+
+    @Override
+    public PersistableBundle toPersistableBundle() {
+        final PersistableBundle bundle = new PersistableBundle();
+        if (mDisclaimers != null) {
+            String[] headers = new String[mDisclaimers.length];
+            String[] contentPaths = new String[mDisclaimers.length];
+            for (int i = 0; i < mDisclaimers.length; i++) {
+                headers[i] = mDisclaimers[i].mHeader;
+                contentPaths[i] = mDisclaimers[i].mContentFilePath;
+            }
+            bundle.putStringArray(HEADER_KEY, headers);
+            bundle.putStringArray(CONTENT_PATH_KEY, contentPaths);
+        }
+        return bundle;
+    }
+
+    @Immutable
+    public static class Disclaimer {
+        public final String mHeader;
+        public final String mContentFilePath;
+        public Disclaimer(String header, String contentFilePath) {
+            mHeader = header;
+            mContentFilePath = contentFilePath;
+        }
+    }
+
+    public final static class Builder {
+        private Disclaimer[] mDisclaimers;
+
+        public Builder setDisclaimers(Disclaimer[] disclaimers) {
+            mDisclaimers = disclaimers;
+            return this;
+        }
+
+        public DisclaimersParam build() {
+            return new DisclaimersParam(this);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/model/PackageDownloadInfo.java b/src/com/android/managedprovisioning/model/PackageDownloadInfo.java
index 568308f..872b32f 100644
--- a/src/com/android/managedprovisioning/model/PackageDownloadInfo.java
+++ b/src/com/android/managedprovisioning/model/PackageDownloadInfo.java
@@ -16,30 +16,42 @@
 
 package com.android.managedprovisioning.model;
 
-import static com.android.internal.util.Preconditions.checkArgument;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE;
 import static com.android.internal.util.Preconditions.checkNotNull;
 
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.os.PersistableBundle;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
-
+import com.android.internal.annotations.Immutable;
+import com.android.managedprovisioning.common.PersistableBundlable;
+import com.android.managedprovisioning.common.StoreUtils;
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.Objects;
-
-import com.android.internal.annotations.Immutable;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
 
 /**
  * Stores the device admin package download information.
  */
 @Immutable
-public final class PackageDownloadInfo implements Parcelable {
+public final class PackageDownloadInfo extends PersistableBundlable {
     public static final byte[] DEFAULT_PACKAGE_CHECKSUM = new byte[0];
     public static final byte[] DEFAULT_SIGNATURE_CHECKSUM = new byte[0];
     public static final boolean DEFAULT_PACKAGE_CHECKSUM_SUPPORTS_SHA1 = false;
     // Always download packages if no minimum version given.
     public static final int DEFAULT_MINIMUM_VERSION = Integer.MAX_VALUE;
 
+    private static final String TAG_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM
+            = "supports-sha1-checksum";
+
     public static final Parcelable.Creator<PackageDownloadInfo> CREATOR
             = new Parcelable.Creator<PackageDownloadInfo>() {
         @Override
@@ -89,14 +101,8 @@
     }
 
     private PackageDownloadInfo(Parcel in) {
-        minVersion = in.readInt();
-        location = in.readString();
-        cookieHeader = in.readString();
-        packageChecksum = checkNotNull(in.createByteArray());
-        signatureChecksum = checkNotNull(in.createByteArray());
-        packageChecksumSupportsSha1 = in.readInt() == 1;
-
-        validateFields();
+        this(createBuilderFromPersistableBundle(
+                PersistableBundlable.getPersistableBundleFromParcel(in)));
     }
 
     private void validateFields() {
@@ -109,36 +115,41 @@
         }
     }
 
-    @Override
-    public int describeContents() {
-        return 0;
+    /* package */ static PackageDownloadInfo fromPersistableBundle(PersistableBundle bundle) {
+        return createBuilderFromPersistableBundle(bundle).build();
+    }
+
+    private static Builder createBuilderFromPersistableBundle(PersistableBundle bundle) {
+        Builder builder = new Builder();
+        builder.setMinVersion(bundle.getInt(EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE));
+        builder.setLocation(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION));
+        builder.setCookieHeader(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER));
+        builder.setPackageChecksum(StoreUtils.stringToByteArray(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM)));
+        builder.setSignatureChecksum(StoreUtils.stringToByteArray(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM)));
+        builder.setPackageChecksumSupportsSha1(bundle.getBoolean(
+                TAG_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM));
+        return builder;
     }
 
     @Override
-    public void writeToParcel(Parcel out, int flags) {
-        out.writeInt(minVersion);
-        out.writeString(location);
-        out.writeString(cookieHeader);
-        out.writeByteArray(packageChecksum);
-        out.writeByteArray(signatureChecksum);
-        out.writeInt(packageChecksumSupportsSha1 ? 1 : 0);
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        PackageDownloadInfo that = (PackageDownloadInfo) o;
-        return minVersion == that.minVersion
-                && packageChecksumSupportsSha1 == that.packageChecksumSupportsSha1
-                && Objects.equals(location, that.location)
-                && Objects.equals(cookieHeader, that.cookieHeader)
-                && Arrays.equals(packageChecksum, that.packageChecksum)
-                && Arrays.equals(signatureChecksum, that.signatureChecksum);
+    public PersistableBundle toPersistableBundle() {
+        final PersistableBundle bundle = new PersistableBundle();
+        bundle.putInt(EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE,
+                minVersion);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION, location);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER,
+                cookieHeader);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
+                StoreUtils.byteArrayToString(packageChecksum));
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM,
+                StoreUtils.byteArrayToString(signatureChecksum));
+        bundle.putBoolean(TAG_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM,
+                packageChecksumSupportsSha1);
+        return bundle;
     }
 
     public final static class Builder {
diff --git a/src/com/android/managedprovisioning/model/ProvisioningParams.java b/src/com/android/managedprovisioning/model/ProvisioningParams.java
index abcd92b..008ce3d 100644
--- a/src/com/android/managedprovisioning/model/ProvisioningParams.java
+++ b/src/com/android/managedprovisioning/model/ProvisioningParams.java
@@ -16,41 +16,79 @@
 
 package com.android.managedprovisioning.model;
 
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMERS;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCALE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ORGANIZATION_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_CONSENT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_SETUP;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SUPPORT_URL;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE;
 import static com.android.internal.util.Preconditions.checkArgument;
 import static com.android.internal.util.Preconditions.checkNotNull;
-
+import static com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences.DEFAULT_PROVISIONING_ID;
+import static com.android.managedprovisioning.common.StoreUtils.accountToPersistableBundle;
+import static com.android.managedprovisioning.common.StoreUtils.getIntegerAttrFromPersistableBundle;
+import static com.android.managedprovisioning.common.StoreUtils.getObjectAttrFromPersistableBundle;
+import static com.android.managedprovisioning.common.StoreUtils.getStringAttrFromPersistableBundle;
+import static com.android.managedprovisioning.common.StoreUtils.putIntegerIfNotNull;
+import static com.android.managedprovisioning.common.StoreUtils.putPersistableBundlableIfNotNull;
 
 import android.accounts.Account;
-import android.content.Context;
 import android.content.ComponentName;
+import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.PersistableBundle;
 import android.support.annotation.Nullable;
-import android.text.TextUtils;
-
-import java.util.Arrays;
+import android.util.Xml;
+import com.android.internal.util.FastXmlSerializer;
+import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.PersistableBundlable;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.StoreUtils;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.Locale;
-import java.util.Objects;
-import java.util.Set;
-
-import com.android.internal.annotations.Immutable;
-import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
-import com.android.managedprovisioning.common.Utils;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
 
 /**
  * Provisioning parameters for Device Owner and Profile Owner provisioning.
  */
-public final class ProvisioningParams implements Parcelable {
+public final class ProvisioningParams extends PersistableBundlable {
     public static final long DEFAULT_LOCAL_TIME = -1;
     public static final Integer DEFAULT_MAIN_COLOR = null;
     public static final boolean DEFAULT_STARTED_BY_TRUSTED_SOURCE = false;
     public static final boolean DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED = false;
     public static final boolean DEFAULT_EXTRA_PROVISIONING_SKIP_ENCRYPTION = false;
+    public static final boolean DEFAULT_EXTRA_PROVISIONING_SKIP_USER_CONSENT = false;
+    public static final boolean DEFAULT_EXTRA_PROVISIONING_KEEP_ACCOUNT_MIGRATED = false;
     public static final boolean DEFAULT_SKIP_USER_SETUP = true;
     // Intent extra used internally for passing data between activities and service.
     public static final String EXTRA_PROVISIONING_PARAMS = "provisioningParams";
 
+    private static final String TAG_PROVISIONING_ID = "provisioning-id";
+    private static final String TAG_PROVISIONING_PARAMS = "provisioning-params";
+    private static final String TAG_WIFI_INFO = "wifi-info";
+    private static final String TAG_PACKAGE_DOWNLOAD_INFO = "download-info";
+    private static final String TAG_STARTED_BY_TRUSTED_SOURCE = "started-by-trusted-source";
+    private static final String TAG_PROVISIONING_ACTION = "provisioning-action";
+
     public static final Parcelable.Creator<ProvisioningParams> CREATOR
             = new Parcelable.Creator<ProvisioningParams>() {
         @Override
@@ -64,6 +102,8 @@
         }
     };
 
+    public final long provisioningId;
+
     @Nullable
     public final String timeZone;
 
@@ -93,10 +133,18 @@
      */
     public final ComponentName deviceAdminComponentName;
 
+    public final String deviceAdminLabel;
+    public final String organizationName;
+    public final String supportUrl;
+    public final String deviceAdminIconFilePath;
+
     /** {@link Account} that should be migrated to the managed profile. */
     @Nullable
     public final Account accountToMigrate;
 
+    /** True if the account will not be removed from the calling user after it is migrated. */
+    public final boolean keepAccountMigrated;
+
     /** Provisioning action comes along with the provisioning data. */
     public final String provisioningAction;
 
@@ -112,6 +160,10 @@
     @Nullable
     public final PackageDownloadInfo deviceAdminDownloadInfo;
 
+    /** List of disclaimers */
+    @Nullable
+    public final DisclaimersParam disclaimersParam;
+
     /**
      * Custom key-value pairs from enterprise mobility management which are passed to device admin
      * package after provisioning.
@@ -135,29 +187,23 @@
     /** True if user setup can be skipped. */
     public final boolean skipUserSetup;
 
-    // TODO (stevenckng): This shouldn't belong here. Remove this logic from ProvisioningParams.
-    private ComponentName inferedDeviceAdminComponentName;
+    /** True if user consent page in pre-provisioning can be skipped. */
+    public final boolean skipUserConsent;
 
-    private final Utils mUtils = new Utils();
-
-    public String inferDeviceAdminPackageName() {
+    public static String inferStaticDeviceAdminPackageName(ComponentName deviceAdminComponentName,
+            String deviceAdminPackageName) {
         if (deviceAdminComponentName != null) {
             return deviceAdminComponentName.getPackageName();
         }
         return deviceAdminPackageName;
     }
 
-    // This should not be called if the app has not been installed yet.
-    public ComponentName inferDeviceAdminComponentName(Context c)
-            throws IllegalProvisioningArgumentException {
-        if (inferedDeviceAdminComponentName == null) {
-            inferedDeviceAdminComponentName = mUtils.findDeviceAdmin(
-                    deviceAdminPackageName, deviceAdminComponentName, c);
-        }
-        return inferedDeviceAdminComponentName;
+    public String inferDeviceAdminPackageName() {
+        return inferStaticDeviceAdminPackageName(deviceAdminComponentName, deviceAdminPackageName);
     }
 
     private ProvisioningParams(Builder builder) {
+        provisioningId = builder.mProvisioningId;
         timeZone = builder.mTimeZone;
         localTime = builder.mLocalTime;
         locale = builder.mLocale;
@@ -166,8 +212,13 @@
 
         deviceAdminComponentName = builder.mDeviceAdminComponentName;
         deviceAdminPackageName = builder.mDeviceAdminPackageName;
+        deviceAdminLabel = builder.mDeviceAdminLabel;
+        organizationName = builder.mOrganizationName;
+        supportUrl = builder.mSupportUrl;
+        deviceAdminIconFilePath = builder.mDeviceAdminIconFilePath;
 
         deviceAdminDownloadInfo = builder.mDeviceAdminDownloadInfo;
+        disclaimersParam = builder.mDisclaimersParam;
 
         adminExtrasBundle = builder.mAdminExtrasBundle;
 
@@ -177,40 +228,16 @@
         accountToMigrate = builder.mAccountToMigrate;
         provisioningAction = checkNotNull(builder.mProvisioningAction);
         mainColor = builder.mMainColor;
+        skipUserConsent = builder.mSkipUserConsent;
         skipUserSetup = builder.mSkipUserSetup;
+        keepAccountMigrated = builder.mKeepAccountMigrated;
 
         validateFields();
     }
 
     private ProvisioningParams(Parcel in) {
-        timeZone = in.readString();
-        localTime = in.readLong();
-        locale = (Locale) in.readSerializable();
-
-        wifiInfo = (WifiInfo) in.readParcelable(WifiInfo.class.getClassLoader());
-
-        deviceAdminPackageName = in.readString();
-        deviceAdminComponentName = (ComponentName)
-                in.readParcelable(null /* use default classloader */);
-
-        deviceAdminDownloadInfo =
-                (PackageDownloadInfo) in.readParcelable(PackageDownloadInfo.class.getClassLoader());
-
-        adminExtrasBundle = in.readParcelable(null /* use default classloader */);
-
-        startedByTrustedSource = in.readInt() == 1;
-        leaveAllSystemAppsEnabled = in.readInt() == 1;
-        skipEncryption = in.readInt() == 1;
-        accountToMigrate = (Account) in.readParcelable(null /* use default classloader */);
-        provisioningAction = checkNotNull(in.readString());
-        if (in.readInt() != 0) {
-            mainColor = in.readInt();
-        } else {
-            mainColor = null;
-        }
-        skipUserSetup = in.readInt() == 1;
-
-        validateFields();
+        this(createBuilderFromPersistableBundle(
+                PersistableBundlable.getPersistableBundleFromParcel(in)));
     }
 
     private void validateFields() {
@@ -218,132 +245,186 @@
     }
 
     @Override
-    public int describeContents() {
-        return 0;
+    public PersistableBundle toPersistableBundle() {
+        final PersistableBundle bundle = new PersistableBundle();
+
+        bundle.putLong(TAG_PROVISIONING_ID, provisioningId);
+        bundle.putString(EXTRA_PROVISIONING_TIME_ZONE, timeZone);
+        bundle.putLong(EXTRA_PROVISIONING_LOCAL_TIME, localTime);
+        bundle.putString(EXTRA_PROVISIONING_LOCALE, StoreUtils.localeToString(locale));
+        putPersistableBundlableIfNotNull(bundle, TAG_WIFI_INFO, wifiInfo);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, deviceAdminPackageName);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+                StoreUtils.componentNameToString(deviceAdminComponentName));
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL, deviceAdminLabel);
+        bundle.putString(EXTRA_PROVISIONING_ORGANIZATION_NAME, organizationName);
+        bundle.putString(EXTRA_PROVISIONING_SUPPORT_URL, supportUrl);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI, deviceAdminIconFilePath);
+        bundle.putPersistableBundle(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, accountToMigrate == null
+                ? null : accountToPersistableBundle(accountToMigrate));
+        bundle.putString(TAG_PROVISIONING_ACTION, provisioningAction);
+        putIntegerIfNotNull(bundle, EXTRA_PROVISIONING_MAIN_COLOR, mainColor);
+        putPersistableBundlableIfNotNull(bundle, TAG_PACKAGE_DOWNLOAD_INFO,
+                deviceAdminDownloadInfo);
+        putPersistableBundlableIfNotNull(bundle, EXTRA_PROVISIONING_DISCLAIMERS,
+                disclaimersParam);
+        bundle.putPersistableBundle(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, adminExtrasBundle);
+        bundle.putBoolean(TAG_STARTED_BY_TRUSTED_SOURCE, startedByTrustedSource);
+        bundle.putBoolean(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                leaveAllSystemAppsEnabled);
+        bundle.putBoolean(EXTRA_PROVISIONING_SKIP_ENCRYPTION, skipEncryption);
+        bundle.putBoolean(EXTRA_PROVISIONING_SKIP_USER_SETUP, skipUserSetup);
+        bundle.putBoolean(EXTRA_PROVISIONING_SKIP_USER_CONSENT, skipUserConsent);
+        bundle.putBoolean(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, keepAccountMigrated);
+        return bundle;
+    }
+
+    /* package */ static ProvisioningParams fromPersistableBundle(PersistableBundle bundle) {
+        return createBuilderFromPersistableBundle(bundle).build();
+    }
+
+    private static Builder createBuilderFromPersistableBundle(PersistableBundle bundle) {
+        Builder builder = new Builder();
+        builder.setProvisioningId(bundle.getLong(TAG_PROVISIONING_ID, DEFAULT_PROVISIONING_ID));
+        builder.setTimeZone(bundle.getString(EXTRA_PROVISIONING_TIME_ZONE));
+        builder.setLocalTime(bundle.getLong(EXTRA_PROVISIONING_LOCAL_TIME));
+        builder.setLocale(getStringAttrFromPersistableBundle(bundle,
+                EXTRA_PROVISIONING_LOCALE, StoreUtils::stringToLocale));
+        builder.setWifiInfo(getObjectAttrFromPersistableBundle(bundle,
+                TAG_WIFI_INFO, WifiInfo::fromPersistableBundle));
+        builder.setDeviceAdminPackageName(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME));
+        builder.setDeviceAdminComponentName(getStringAttrFromPersistableBundle(bundle,
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, StoreUtils::stringToComponentName));
+        builder.setDeviceAdminLabel(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL));
+        builder.setOrganizationName(bundle.getString(EXTRA_PROVISIONING_ORGANIZATION_NAME));
+        builder.setSupportUrl(bundle.getString(EXTRA_PROVISIONING_SUPPORT_URL));
+        builder.setDeviceAdminIconFilePath(bundle.getString(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI));
+        builder.setAccountToMigrate(getObjectAttrFromPersistableBundle(bundle,
+                EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, StoreUtils::persistableBundleToAccount));
+        builder.setProvisioningAction(bundle.getString(TAG_PROVISIONING_ACTION));
+        builder.setMainColor(getIntegerAttrFromPersistableBundle(bundle,
+                EXTRA_PROVISIONING_MAIN_COLOR));
+        builder.setDeviceAdminDownloadInfo(getObjectAttrFromPersistableBundle(bundle,
+                TAG_PACKAGE_DOWNLOAD_INFO, PackageDownloadInfo::fromPersistableBundle));
+        builder.setDisclaimersParam(getObjectAttrFromPersistableBundle(bundle,
+                EXTRA_PROVISIONING_DISCLAIMERS, DisclaimersParam::fromPersistableBundle));
+        builder.setAdminExtrasBundle(bundle.getPersistableBundle(
+                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE));
+        builder.setStartedByTrustedSource(bundle.getBoolean(TAG_STARTED_BY_TRUSTED_SOURCE));
+        builder.setSkipEncryption(bundle.getBoolean(EXTRA_PROVISIONING_SKIP_ENCRYPTION));
+        builder.setLeaveAllSystemAppsEnabled(bundle.getBoolean(
+                EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED));
+        builder.setSkipUserSetup(bundle.getBoolean(EXTRA_PROVISIONING_SKIP_USER_SETUP));
+        builder.setSkipUserConsent(bundle.getBoolean(EXTRA_PROVISIONING_SKIP_USER_CONSENT));
+        builder.setKeepAccountMigrated(bundle.getBoolean(
+                EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION));
+        return builder;
     }
 
     @Override
-    public void writeToParcel(Parcel out, int flags) {
-        out.writeString(timeZone);
-        out.writeLong(localTime);
-        out.writeSerializable(locale);
-
-        out.writeParcelable(wifiInfo, 0 /* default */ );
-
-        out.writeString(deviceAdminPackageName);
-        out.writeParcelable(deviceAdminComponentName, 0 /* default */);
-
-        out.writeParcelable(deviceAdminDownloadInfo, 0 /* default */);
-
-        out.writeParcelable(adminExtrasBundle, 0 /* default */);
-
-        out.writeInt(startedByTrustedSource ? 1 : 0);
-        out.writeInt(leaveAllSystemAppsEnabled ? 1 : 0);
-        out.writeInt(skipEncryption ? 1 : 0);
-        out.writeParcelable(accountToMigrate, 0 /* default */);
-        out.writeString(provisioningAction);
-        if (mainColor != null) {
-            out.writeInt(1);
-            out.writeInt(mainColor);
-        } else {
-            out.writeInt(0);
-        }
-        out.writeInt(skipUserSetup ? 1 : 0);
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ProvisioningParams that = (ProvisioningParams) o;
-        return localTime == that.localTime
-                && startedByTrustedSource == that.startedByTrustedSource
-                && leaveAllSystemAppsEnabled == that.leaveAllSystemAppsEnabled
-                && skipEncryption == that.skipEncryption
-                && skipUserSetup == that.skipUserSetup
-                && Objects.equals(timeZone, that.timeZone)
-                && Objects.equals(locale, that.locale)
-                && Objects.equals(wifiInfo, that.wifiInfo)
-                && Objects.equals(deviceAdminPackageName, that.deviceAdminPackageName)
-                && Objects.equals(deviceAdminComponentName, that.deviceAdminComponentName)
-                && Objects.equals(accountToMigrate, that.accountToMigrate)
-                && Objects.equals(provisioningAction, that.provisioningAction)
-                && Objects.equals(mainColor, that.mainColor)
-                && Objects.equals(deviceAdminDownloadInfo, that.deviceAdminDownloadInfo)
-                && isPersistableBundleEquals(adminExtrasBundle, that.adminExtrasBundle)
-                && Objects.equals(
-                        inferedDeviceAdminComponentName, that.inferedDeviceAdminComponentName);
+    public String toString() {
+        return "ProvisioningParams values: " + toPersistableBundle().toString();
     }
 
     /**
-     * Compares two {@link PersistableBundle} objects are equals.
+     * Saves the ProvisioningParams to the specified file.
      */
-    private static boolean isPersistableBundleEquals(
-            PersistableBundle obj1, PersistableBundle obj2) {
-        if (obj1 == obj2) {
-            return true;
+    public void save(File file) {
+        ProvisionLogger.logd("Saving ProvisioningParams to " + file);
+        try (FileOutputStream stream = new FileOutputStream(file)) {
+            XmlSerializer serializer = new FastXmlSerializer();
+            serializer.setOutput(stream, StandardCharsets.UTF_8.name());
+            serializer.startDocument(null, true);
+            serializer.startTag(null, TAG_PROVISIONING_PARAMS);
+            toPersistableBundle().saveToXml(serializer);
+            serializer.endTag(null, TAG_PROVISIONING_PARAMS);
+            serializer.endDocument();
+        } catch (IOException | XmlPullParserException e) {
+            ProvisionLogger.loge("Caught exception while trying to save Provisioning Params to "
+                    + " file " + file, e);
+            file.delete();
         }
-        if (obj1 == null || obj2 == null || obj1.size() != obj2.size()) {
-            return false;
+    }
+
+    public void cleanUp() {
+        if (disclaimersParam != null) {
+            disclaimersParam.cleanUp();
         }
-        Set<String> keys = obj1.keySet();
-        for (String key : keys) {
-            Object val1 = obj1.get(key);
-            Object val2 = obj2.get(key);
-            if (!isPersistableBundleSupportedValueEquals(val1, val2)) {
-                return false;
-            }
+        if (deviceAdminIconFilePath != null) {
+            new File(deviceAdminIconFilePath).delete();
         }
-        return true;
     }
 
     /**
-     * Compares two values which type is supported by {@link PersistableBundle}.
-     *
-     * <p>If the type isn't supported. The equality is done by {@link Object#equals(Object)}.
+     * Loads the ProvisioningParams From the specified file.
      */
-    private static boolean isPersistableBundleSupportedValueEquals(Object val1, Object val2) {
-        if (val1 == val2) {
-            return true;
-        } else if (val1 == null || val2 == null || !val1.getClass().equals(val2.getClass())) {
-            return false;
-        } else if (val1 instanceof PersistableBundle && val2 instanceof PersistableBundle) {
-            return isPersistableBundleEquals((PersistableBundle) val1, (PersistableBundle) val2);
-        } else if (val1 instanceof int[]) {
-            return Arrays.equals((int[]) val1, (int[]) val2);
-        } else if (val1 instanceof long[]) {
-            return Arrays.equals((long[]) val1, (long[]) val2);
-        } else if (val1 instanceof double[]) {
-            return Arrays.equals((double[]) val1, (double[]) val2);
-        } else if (val1 instanceof boolean[]) {
-            return Arrays.equals((boolean[]) val1, (boolean[]) val2);
-        } else if (val1 instanceof String[]) {
-            return Arrays.equals((String[]) val1, (String[]) val2);
-        } else {
-            return Objects.equals(val1, val2);
+    public static ProvisioningParams load(File file) {
+        if (!file.exists()) {
+            return null;
         }
+        ProvisionLogger.logd("Loading ProvisioningParams from " + file);
+        try (FileInputStream stream = new FileInputStream(file)) {
+            XmlPullParser parser = Xml.newPullParser();
+            parser.setInput(stream, null);
+            return load(parser);
+        } catch (IOException | XmlPullParserException e) {
+            ProvisionLogger.loge("Caught exception while trying to load the provisioning params"
+                    + " from file " + file, e);
+            return null;
+        }
+    }
+
+    private static ProvisioningParams load(XmlPullParser parser) throws XmlPullParserException,
+            IOException {
+        int type;
+        int outerDepth = parser.getDepth();
+        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+             if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                 continue;
+             }
+             String tag = parser.getName();
+             switch (tag) {
+                 case TAG_PROVISIONING_PARAMS:
+                     return createBuilderFromPersistableBundle(
+                             PersistableBundle.restoreFromXml(parser)).build();
+             }
+        }
+        return new Builder().build();
     }
 
     public final static class Builder {
+        private long mProvisioningId;
         private String mTimeZone;
         private long mLocalTime = DEFAULT_LOCAL_TIME;
         private Locale mLocale;
         private WifiInfo mWifiInfo;
         private String mDeviceAdminPackageName;
         private ComponentName mDeviceAdminComponentName;
+        private String mDeviceAdminLabel;
+        private String mOrganizationName;
+        private String mSupportUrl;
+        private String mDeviceAdminIconFilePath;
         private Account mAccountToMigrate;
         private String mProvisioningAction;
         private Integer mMainColor = DEFAULT_MAIN_COLOR;
         private PackageDownloadInfo mDeviceAdminDownloadInfo;
+        private DisclaimersParam mDisclaimersParam;
         private PersistableBundle mAdminExtrasBundle;
         private boolean mStartedByTrustedSource = DEFAULT_STARTED_BY_TRUSTED_SOURCE;
         private boolean mLeaveAllSystemAppsEnabled = DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED;
         private boolean mSkipEncryption = DEFAULT_EXTRA_PROVISIONING_SKIP_ENCRYPTION;
+        private boolean mSkipUserConsent = DEFAULT_EXTRA_PROVISIONING_SKIP_USER_CONSENT;
         private boolean mSkipUserSetup = DEFAULT_SKIP_USER_SETUP;
+        private boolean mKeepAccountMigrated = DEFAULT_EXTRA_PROVISIONING_KEEP_ACCOUNT_MIGRATED;
+
+        public Builder setProvisioningId(long provisioningId) {
+            mProvisioningId = provisioningId;
+            return this;
+        }
 
         public Builder setTimeZone(String timeZone) {
             mTimeZone = timeZone;
@@ -376,6 +457,26 @@
             return this;
         }
 
+        public Builder setDeviceAdminLabel(String deviceAdminLabel) {
+            mDeviceAdminLabel = deviceAdminLabel;
+            return this;
+        }
+
+        public Builder setOrganizationName(String organizationName) {
+            mOrganizationName = organizationName;
+            return this;
+        }
+
+        public Builder setSupportUrl(String supportUrl) {
+            mSupportUrl = supportUrl;
+            return this;
+        }
+
+        public Builder setDeviceAdminIconFilePath(String deviceAdminIconFilePath) {
+            mDeviceAdminIconFilePath = deviceAdminIconFilePath;
+            return this;
+        }
+
         public Builder setAccountToMigrate(Account accountToMigrate) {
             mAccountToMigrate = accountToMigrate;
             return this;
@@ -396,6 +497,11 @@
             return this;
         }
 
+        public Builder setDisclaimersParam(DisclaimersParam disclaimersParam) {
+            mDisclaimersParam = disclaimersParam;
+            return this;
+        }
+
         public Builder setAdminExtrasBundle(PersistableBundle adminExtrasBundle) {
             mAdminExtrasBundle = adminExtrasBundle;
             return this;
@@ -416,11 +522,21 @@
             return this;
         }
 
+        public Builder setSkipUserConsent(boolean skipUserConsent) {
+            mSkipUserConsent = skipUserConsent;
+            return this;
+        }
+
         public Builder setSkipUserSetup(boolean skipUserSetup) {
             mSkipUserSetup = skipUserSetup;
             return this;
         }
 
+        public Builder setKeepAccountMigrated(boolean keepAccountMigrated) {
+            mKeepAccountMigrated = keepAccountMigrated;
+            return this;
+        }
+
         public ProvisioningParams build() {
             return new ProvisioningParams(this);
         }
diff --git a/src/com/android/managedprovisioning/model/WifiInfo.java b/src/com/android/managedprovisioning/model/WifiInfo.java
index 1f1378f..64ccd4e 100644
--- a/src/com/android/managedprovisioning/model/WifiInfo.java
+++ b/src/com/android/managedprovisioning/model/WifiInfo.java
@@ -16,20 +16,36 @@
 
 package com.android.managedprovisioning.model;
 
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PAC_URL;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PASSWORD;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_BYPASS;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_HOST;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_PORT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID;
+
+
+import android.app.admin.DevicePolicyManager;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.os.PersistableBundle;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
-
-import java.util.Objects;
-
 import com.android.internal.annotations.Immutable;
+import com.android.managedprovisioning.common.PersistableBundlable;
+import com.android.managedprovisioning.common.StoreUtils;
+import java.io.IOException;
+import java.util.Objects;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
 
 /**
  * Stores the WiFi configuration which is used in managed provisioning.
  */
 @Immutable
-public final class WifiInfo implements Parcelable {
+public final class WifiInfo extends PersistableBundlable {
     public static final boolean DEFAULT_WIFI_HIDDEN = false;
     public static final int DEFAULT_WIFI_PROXY_PORT = 0;
 
@@ -68,6 +84,37 @@
     @Nullable
     public final String pacUrl;
 
+    @Override
+    public PersistableBundle toPersistableBundle() {
+        final PersistableBundle bundle = new PersistableBundle();
+        bundle.putString(EXTRA_PROVISIONING_WIFI_SSID, ssid);
+        bundle.putBoolean(EXTRA_PROVISIONING_WIFI_HIDDEN, hidden);
+        bundle.putString(EXTRA_PROVISIONING_WIFI_SECURITY_TYPE, securityType);
+        bundle.putString(EXTRA_PROVISIONING_WIFI_PASSWORD, password);
+        bundle.putString(EXTRA_PROVISIONING_WIFI_PROXY_HOST, proxyHost);
+        bundle.putInt(EXTRA_PROVISIONING_WIFI_PROXY_PORT, proxyPort);
+        bundle.putString(EXTRA_PROVISIONING_WIFI_PROXY_BYPASS, proxyBypassHosts);
+        bundle.putString(EXTRA_PROVISIONING_WIFI_PAC_URL, pacUrl);
+        return bundle;
+    }
+
+    /* package */ static WifiInfo fromPersistableBundle(PersistableBundle bundle) {
+        return createBuilderFromPersistableBundle(bundle).build();
+    }
+
+    private static Builder createBuilderFromPersistableBundle(PersistableBundle bundle) {
+        Builder builder = new Builder();
+        builder.setSsid(bundle.getString(EXTRA_PROVISIONING_WIFI_SSID));
+        builder.setHidden(bundle.getBoolean(EXTRA_PROVISIONING_WIFI_HIDDEN));
+        builder.setSecurityType(bundle.getString(EXTRA_PROVISIONING_WIFI_SECURITY_TYPE));
+        builder.setPassword(bundle.getString(EXTRA_PROVISIONING_WIFI_PASSWORD));
+        builder.setProxyHost(bundle.getString(EXTRA_PROVISIONING_WIFI_PROXY_HOST));
+        builder.setProxyPort(bundle.getInt(EXTRA_PROVISIONING_WIFI_PROXY_PORT));
+        builder.setProxyBypassHosts(bundle.getString(EXTRA_PROVISIONING_WIFI_PROXY_BYPASS));
+        builder.setPacUrl(bundle.getString(EXTRA_PROVISIONING_WIFI_PAC_URL));
+        return builder;
+    }
+
     private WifiInfo(Builder builder) {
         ssid = builder.mSsid;
         hidden = builder.mHidden;
@@ -82,16 +129,8 @@
     }
 
     private WifiInfo(Parcel in) {
-        ssid = in.readString();
-        hidden = in.readInt() == 1;
-        securityType = in.readString();
-        password = in.readString();
-        proxyHost = in.readString();
-        proxyPort = in.readInt();
-        proxyBypassHosts = in.readString();
-        pacUrl = in.readString();
-
-        validateFields();
+        this(createBuilderFromPersistableBundle(
+                PersistableBundlable.getPersistableBundleFromParcel(in)));
     }
 
     private void validateFields() {
@@ -100,42 +139,6 @@
         }
     }
 
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel out, int flags) {
-        out.writeString(ssid);
-        out.writeInt(hidden ? 1 : 0);
-        out.writeString(securityType);
-        out.writeString(password);
-        out.writeString(proxyHost);
-        out.writeInt(proxyPort);
-        out.writeString(proxyBypassHosts);
-        out.writeString(pacUrl);
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        WifiInfo that = (WifiInfo) o;
-        return hidden == that.hidden
-                && proxyPort == that.proxyPort
-                && Objects.equals(ssid, that.ssid)
-                && Objects.equals(securityType, that.securityType)
-                && Objects.equals(password, that.password)
-                && Objects.equals(proxyHost, that.proxyHost)
-                && Objects.equals(proxyBypassHosts, that.proxyBypassHosts)
-                && Objects.equals(pacUrl, that.pacUrl);
-    }
-
     public final static class Builder {
         private String mSsid;
         private boolean mHidden = DEFAULT_WIFI_HIDDEN;
diff --git a/src/com/android/managedprovisioning/ota/OtaController.java b/src/com/android/managedprovisioning/ota/OtaController.java
new file mode 100644
index 0000000..fdc6387
--- /dev/null
+++ b/src/com/android/managedprovisioning/ota/OtaController.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.ota;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.CrossProfileIntentFiltersSetter;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
+import com.android.managedprovisioning.task.DisallowAddUserTask;
+import com.android.managedprovisioning.task.InstallExistingPackageTask;
+
+/**
+ * After a system update, this class resets the cross-profile intent filters and performs any
+ * tasks necessary to bring the system up to date.
+ */
+public class OtaController {
+
+    private static final String TELECOM_PACKAGE = "com.android.server.telecom";
+
+    private final Context mContext;
+    private final TaskExecutor mTaskExecutor;
+    private final CrossProfileIntentFiltersSetter mCrossProfileIntentFiltersSetter;
+
+    private final UserManager mUserManager;
+    private final DevicePolicyManager mDevicePolicyManager;
+
+    public OtaController(Context context) {
+        this(context, new TaskExecutor(), new CrossProfileIntentFiltersSetter(context));
+    }
+
+    @VisibleForTesting
+    OtaController(Context context, TaskExecutor taskExecutor,
+            CrossProfileIntentFiltersSetter crossProfileIntentFiltersSetter) {
+        mContext = checkNotNull(context);
+        mTaskExecutor = checkNotNull(taskExecutor);
+        mCrossProfileIntentFiltersSetter = checkNotNull(crossProfileIntentFiltersSetter);
+
+        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+    }
+
+    public void run() {
+        if (mContext.getUserId() != UserHandle.USER_SYSTEM) {
+            return;
+        }
+
+        // Check for device owner.
+        final int deviceOwnerUserId = mDevicePolicyManager.getDeviceOwnerUserId();
+        if (deviceOwnerUserId != UserHandle.USER_NULL) {
+            addDeviceOwnerTasks(deviceOwnerUserId, mContext);
+        }
+
+        for (UserInfo userInfo : mUserManager.getUsers()) {
+            if (userInfo.isManagedProfile()) {
+                addManagedProfileTasks(userInfo.id, mContext);
+            } else {
+                // if this user has managed profiles, reset the cross-profile intent filters between
+                // this user and its managed profiles.
+                mCrossProfileIntentFiltersSetter.resetFilters(userInfo.id);
+            }
+        }
+    }
+
+    void addDeviceOwnerTasks(final int userId, Context context) {
+        ComponentName deviceOwner = mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser();
+        if (deviceOwner == null) {
+            // Shouldn't happen
+            ProvisionLogger.loge("No device owner found.");
+            return;
+        }
+
+        // Build a set of fake params to be able to run the tasks
+        ProvisioningParams fakeParams = new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(deviceOwner)
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+                .build();
+
+        mTaskExecutor.execute(userId,
+                new DeleteNonRequiredAppsTask(false, context, fakeParams, mTaskExecutor));
+        mTaskExecutor.execute(userId,
+                new DisallowAddUserTask(context, fakeParams, mTaskExecutor));
+    }
+
+    void addManagedProfileTasks(final int userId, Context context) {
+        mUserManager.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true,
+                UserHandle.of(userId));
+        // Enabling telecom package as it supports managed profiles from N.
+        mTaskExecutor.execute(userId,
+                new InstallExistingPackageTask(TELECOM_PACKAGE, context, null, mTaskExecutor));
+
+        ComponentName profileOwner = mDevicePolicyManager.getProfileOwnerAsUser(userId);
+        if (profileOwner == null) {
+            // Shouldn't happen.
+            ProvisionLogger.loge("No profile owner on managed profile " + userId);
+            return;
+        }
+
+        // Build a set of fake params to be able to run the tasks
+        ProvisioningParams fakeParams = new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(profileOwner)
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                .build();
+        mTaskExecutor.execute(userId,
+                new DisableInstallShortcutListenersTask(context, fakeParams, mTaskExecutor));
+        mTaskExecutor.execute(userId,
+                new DeleteNonRequiredAppsTask(false, context, fakeParams, mTaskExecutor));
+    }
+}
diff --git a/res/values/config.xml b/src/com/android/managedprovisioning/ota/OtaService.java
similarity index 60%
copy from res/values/config.xml
copy to src/com/android/managedprovisioning/ota/OtaService.java
index 4425488..bd7e919 100644
--- a/res/values/config.xml
+++ b/src/com/android/managedprovisioning/ota/OtaService.java
@@ -1,7 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (C) 2014 The Android Open Source Project
+/*
+ * Copyright 2016, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,8 +13,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
--->
-<resources>
-    <!-- The duration (in milliseconds) of activity transitions -->
-    <integer name="activity_transition_duration">300</integer>
-</resources>
+
+package com.android.managedprovisioning.ota;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * Service that keeps the ota process alive.
+ */
+public class OtaService extends Service {
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/ota/PreBootListener.java b/src/com/android/managedprovisioning/ota/PreBootListener.java
new file mode 100644
index 0000000..9a9ee76
--- /dev/null
+++ b/src/com/android/managedprovisioning/ota/PreBootListener.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.ota;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import com.android.managedprovisioning.common.ProvisionLogger;
+
+/**
+ * This receiver is invoked after a system update.
+ */
+public class PreBootListener extends BroadcastReceiver {
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (Intent.ACTION_PRE_BOOT_COMPLETED.equals(intent.getAction())) {
+            final PendingResult result = goAsync();
+            Thread thread = new Thread(() -> {
+                new OtaController(context).run();
+                result.finish();
+            });
+            thread.setPriority(Thread.MAX_PRIORITY);
+            thread.start();
+        } else {
+            ProvisionLogger.logw("Unexpected intent action: " + intent.getAction());
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/ota/TaskExecutor.java b/src/com/android/managedprovisioning/ota/TaskExecutor.java
new file mode 100644
index 0000000..7efd69b
--- /dev/null
+++ b/src/com/android/managedprovisioning/ota/TaskExecutor.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.ota;
+
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+/**
+ * Class that executes the provisioning tasks during the OTA process.
+ */
+public class TaskExecutor implements AbstractProvisioningTask.Callback {
+
+    public synchronized void execute(int userId, AbstractProvisioningTask task) {
+        task.run(userId);
+    }
+
+    @Override
+    public void onSuccess(AbstractProvisioningTask task) {
+        ProvisionLogger.logd("Task ran successfully: " + task.getClass().getSimpleName());
+    }
+
+    @Override
+    public void onError(AbstractProvisioningTask task, int errorMsg) {
+        ProvisionLogger.logd("Error running task: " + task.getClass().getSimpleName());
+    }
+}
diff --git a/src/com/android/managedprovisioning/parser/DeviceAdminIconParser.java b/src/com/android/managedprovisioning/parser/DeviceAdminIconParser.java
new file mode 100644
index 0000000..1324074
--- /dev/null
+++ b/src/com/android/managedprovisioning/parser/DeviceAdminIconParser.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.parser;
+
+import static com.android.managedprovisioning.common.StoreUtils.DIR_PROVISIONING_PARAMS_FILE_CACHE;
+
+import android.content.Context;
+import android.net.Uri;
+import android.support.annotation.Nullable;
+
+import com.android.managedprovisioning.common.StoreUtils;
+
+import java.io.File;
+
+/**
+ * parser for {@link EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI} into a local file
+ */
+public class DeviceAdminIconParser {
+    private static final String FILE_PREFIX = "device_admin_icon_";
+    private final Context mContext;
+    private final File mFileIcon;
+
+    public DeviceAdminIconParser(Context context, long provisioningId) {
+        mContext = context;
+        mFileIcon =  new File(new File(mContext.getFilesDir(), DIR_PROVISIONING_PARAMS_FILE_CACHE),
+                FILE_PREFIX + provisioningId);
+    }
+
+    /**
+     * @return absolute path of the local file cache of the icon. Otherwise, return null.
+     */
+    @Nullable
+    public String parse(Uri uri) {
+        if (uri == null) {
+            return null;
+        }
+
+        mFileIcon.getParentFile().mkdirs();
+        boolean success = StoreUtils.copyUriIntoFile(mContext.getContentResolver(), uri, mFileIcon);
+        return success ? mFileIcon.getAbsolutePath() : null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/parser/DisclaimersParser.java b/src/com/android/managedprovisioning/parser/DisclaimersParser.java
new file mode 100644
index 0000000..1d97e8a
--- /dev/null
+++ b/src/com/android/managedprovisioning/parser/DisclaimersParser.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.parser;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMERS;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_CONTENT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_HEADER;
+import static com.android.managedprovisioning.common.StoreUtils.DIR_PROVISIONING_PARAMS_FILE_CACHE;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Parcelable;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import android.text.TextUtils;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.model.DisclaimersParam;
+import com.android.managedprovisioning.model.DisclaimersParam.Disclaimer;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Parser for {@link EXTRA_PROVISIONING_DISCLAIMERS} into {@link DisclaimersParam}
+ * It also saves the disclaimer content into files
+ */
+public class DisclaimersParser {
+    private static final int MAX_LENGTH = 3;
+
+    private final Context mContext;
+    private final long mProvisioningId;
+    private final File mDisclaimerDir;
+
+    public DisclaimersParser(Context context, long provisioningId) {
+        mContext = context;
+        mProvisioningId = provisioningId;
+        mDisclaimerDir =  new File(mContext.getFilesDir(), DIR_PROVISIONING_PARAMS_FILE_CACHE);
+    }
+
+    @Nullable
+    public DisclaimersParam parse(Parcelable[] parcelables) throws ClassCastException {
+        if (parcelables == null) {
+            return null;
+        }
+
+        List<Disclaimer> disclaimers = new ArrayList<>(MAX_LENGTH);
+        for (int i = 0; i < parcelables.length; i++) {
+            // maximum 3 disclaimers are accepted in the EXTRA_PROVISIONING_DISCLAIMERS API
+            if (disclaimers.size() >= MAX_LENGTH) {
+                break;
+            }
+            final Bundle disclaimerBundle = (Bundle) parcelables[i];
+            final String header = disclaimerBundle.getString(EXTRA_PROVISIONING_DISCLAIMER_HEADER);
+            final Uri uri = disclaimerBundle.getParcelable(EXTRA_PROVISIONING_DISCLAIMER_CONTENT);
+            if (TextUtils.isEmpty(header)) {
+                ProvisionLogger.logw("Empty disclaimer header in " + i + " element");
+                continue;
+            }
+
+            if (uri == null) {
+                ProvisionLogger.logw("Null disclaimer content uri in " + i + " element");
+                continue;
+            }
+
+            File disclaimerFile = saveDisclaimerContentIntoFile(uri, i);
+
+            if (disclaimerFile == null) {
+                ProvisionLogger.logw("Failed to copy disclaimer uri in " + i + " element");
+                continue;
+            }
+
+            disclaimers.add(new Disclaimer(header, disclaimerFile.getPath()));
+        }
+        return disclaimers.isEmpty() ? null : new DisclaimersParam.Builder()
+                .setDisclaimers(disclaimers.toArray(new Disclaimer[disclaimers.size()])).build();
+    }
+
+    /**
+     * @return {@link File} if the uri content is saved into the file successfully. Otherwise,
+     * return null.
+     */
+    private File saveDisclaimerContentIntoFile(Uri uri, int index) {
+        if (!mDisclaimerDir.exists()) {
+            mDisclaimerDir.mkdirs();
+        }
+
+        String filename = "disclaimer_content_" + mProvisioningId + "_" + index + ".txt";
+        File outputFile = new File(mDisclaimerDir, filename);
+
+        boolean success = StoreUtils.copyUriIntoFile(mContext.getContentResolver(), uri,
+                outputFile);
+        return success ? outputFile : null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParser.java b/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParser.java
index e19ae3f..2a4db50 100644
--- a/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParser.java
+++ b/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParser.java
@@ -28,14 +28,22 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMERS;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCALE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ORGANIZATION_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_CONSENT;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_SETUP;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SUPPORT_URL;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PAC_URL;
@@ -45,37 +53,32 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_PORT;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI;
 import static com.android.internal.util.Preconditions.checkNotNull;
 import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_ACTION;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE;
+import static com.android.managedprovisioning.model.ProvisioningParams.inferStaticDeviceAdminPackageName;
 
-import android.accounts.Account;
+import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
-import android.graphics.Color;
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
-
-import com.android.managedprovisioning.LogoUtils;
-import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.LogoUtils;
+import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.StoreUtils;
 import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.DisclaimersParam;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
 import com.android.managedprovisioning.model.ProvisioningParams;
 import com.android.managedprovisioning.model.WifiInfo;
-
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
-import java.util.IllformedLocaleException;
-import java.util.Locale;
-import java.util.Properties;
 import java.util.Set;
 
 /**
@@ -85,35 +88,47 @@
 @VisibleForTesting
 public class ExtrasProvisioningDataParser implements ProvisioningDataParser {
     private static final Set<String> PROVISIONING_ACTIONS_SUPPORT_ALL_PROVISIONING_DATA =
-            new HashSet(Arrays.asList(
-                    ACTION_RESUME_PROVISIONING,
+            new HashSet<>(Collections.singletonList(
                     ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE));
 
     private static final Set<String> PROVISIONING_ACTIONS_SUPPORT_MIN_PROVISIONING_DATA =
-            new HashSet(Arrays.asList(
+            new HashSet<>(Arrays.asList(
                     ACTION_PROVISION_MANAGED_DEVICE,
                     ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE,
                     ACTION_PROVISION_MANAGED_USER,
                     ACTION_PROVISION_MANAGED_PROFILE));
 
     private final Utils mUtils;
+    private final Context mContext;
+    private final ManagedProvisioningSharedPreferences mSharedPreferences;
 
-    ExtrasProvisioningDataParser(Utils utils) {
+    ExtrasProvisioningDataParser(Context context, Utils utils) {
+        this(context, utils, new ManagedProvisioningSharedPreferences(context));
+    }
+
+    @VisibleForTesting
+    ExtrasProvisioningDataParser(Context context, Utils utils,
+            ManagedProvisioningSharedPreferences sharedPreferences) {
+        mContext = checkNotNull(context);
         mUtils = checkNotNull(utils);
+        mSharedPreferences = checkNotNull(sharedPreferences);
     }
 
     @Override
-    public ProvisioningParams parse(Intent provisioningIntent, Context context)
+    public ProvisioningParams parse(Intent provisioningIntent)
             throws IllegalProvisioningArgumentException{
         String provisioningAction = provisioningIntent.getAction();
-
+        if (ACTION_RESUME_PROVISIONING.equals(provisioningAction)) {
+            return provisioningIntent.getParcelableExtra(
+                    ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
+        }
         if (PROVISIONING_ACTIONS_SUPPORT_MIN_PROVISIONING_DATA.contains(provisioningAction)) {
             ProvisionLogger.logi("Processing mininalist extras intent.");
-            return parseMinimalistSupportedProvisioningDataInternal(provisioningIntent, context)
+            return parseMinimalistSupportedProvisioningDataInternal(provisioningIntent, mContext)
                     .build();
         } else if (PROVISIONING_ACTIONS_SUPPORT_ALL_PROVISIONING_DATA.contains(
                 provisioningAction)) {
-            return parseAllSupportedProvisioningData(provisioningIntent, context);
+            return parseAllSupportedProvisioningData(provisioningIntent, mContext);
         } else {
             throw new IllegalProvisioningArgumentException("Unsupported provisioning action: "
                     + provisioningAction);
@@ -140,17 +155,20 @@
      *     <li>{@link EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED}</li>
      *     <li>{@link EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE}</li>
      *     <li>{@link EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE}</li>
+     *     <li>{@link EXTRA_PROVISIONING_SKIP_USER_CONSENT}</li>
      * </ul>
      */
     private ProvisioningParams.Builder parseMinimalistSupportedProvisioningDataInternal(
             Intent intent, Context context)
             throws IllegalProvisioningArgumentException {
+        final DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
         boolean isProvisionManagedDeviceFromTrustedSourceIntent =
                 ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.equals(intent.getAction());
         try {
-            String provisioningAction = isResumeProvisioningIntent(intent)
-                    ? intent.getStringExtra(EXTRA_PROVISIONING_ACTION)
-                    : mUtils.mapIntentToDpmAction(intent);
+            final long provisioningId = mSharedPreferences.incrementAndGetProvisioningId();
+            String provisioningAction = mUtils.mapIntentToDpmAction(intent);
+            final boolean isManagedProfileAction =
+                    ACTION_PROVISION_MANAGED_PROFILE.equals(provisioningAction);
 
             // Parse device admin package name and component name.
             ComponentName deviceAdminComponentName = (ComponentName) intent.getParcelableExtra(
@@ -158,7 +176,7 @@
             // Device admin package name is deprecated. It is only supported in Profile Owner
             // provisioning and when resuming NFC provisioning.
             String deviceAdminPackageName = null;
-            if (ACTION_PROVISION_MANAGED_PROFILE.equals(provisioningAction)) {
+            if (isManagedProfileAction) {
                 // In L, we only support package name. This means some DPC may still send us the
                 // device admin package name only. Attempts to obtain the package name from extras.
                 deviceAdminPackageName = intent.getStringExtra(
@@ -171,9 +189,6 @@
                 // name has been obtained, it should be safe to set the deprecated package name
                 // value to null.
                 deviceAdminPackageName = null;
-            } else if (isResumeProvisioningIntent(intent)) {
-                deviceAdminPackageName = intent.getStringExtra(
-                        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
             }
 
             // Parse skip user setup in ACTION_PROVISION_MANAGED_USER and
@@ -188,6 +203,19 @@
                         ProvisioningParams.DEFAULT_SKIP_USER_SETUP);
             }
 
+            // Only current DeviceOwner can specify EXTRA_PROVISIONING_SKIP_USER_CONSENT when
+            // provisioning PO with ACTION_PROVISION_MANAGED_PROFILE
+            final boolean skipUserConsent = isManagedProfileAction
+                            && intent.getBooleanExtra(EXTRA_PROVISIONING_SKIP_USER_CONSENT,
+                                    ProvisioningParams.DEFAULT_EXTRA_PROVISIONING_SKIP_USER_CONSENT)
+                            && mUtils.isPackageDeviceOwner(dpm, inferStaticDeviceAdminPackageName(
+                                    deviceAdminComponentName, deviceAdminPackageName));
+
+            // Only when provisioning PO with ACTION_PROVISION_MANAGED_PROFILE
+            final boolean keepAccountMigrated = isManagedProfileAction
+                            && intent.getBooleanExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION,
+                            ProvisioningParams.DEFAULT_EXTRA_PROVISIONING_KEEP_ACCOUNT_MIGRATED);
+
             // Parse main color and organization's logo. This is not supported in managed device
             // from trusted source provisioning because, currently, there is no way to send
             // organization logo to the device at this stage.
@@ -199,25 +227,52 @@
                 parseOrganizationLogoUrlFromExtras(context, intent);
             }
 
+            DisclaimersParam disclaimersParam = new DisclaimersParser(context, provisioningId)
+                    .parse(intent.getParcelableArrayExtra(EXTRA_PROVISIONING_DISCLAIMERS));
+
+            String deviceAdminLabel = null;
+            String organizationName = null;
+            String supportUrl = null;
+            String deviceAdminIconFilePath = null;
+            if (isProvisionManagedDeviceFromTrustedSourceIntent) {
+                deviceAdminLabel = intent.getStringExtra(
+                        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL);
+                organizationName = intent.getStringExtra(EXTRA_PROVISIONING_ORGANIZATION_NAME);
+                supportUrl = intent.getStringExtra(EXTRA_PROVISIONING_SUPPORT_URL);
+                deviceAdminIconFilePath = new DeviceAdminIconParser(context, provisioningId).parse(
+                        intent.getParcelableExtra(
+                                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI));
+            }
+
+            final boolean leaveAllSystemAppsEnabled = isManagedProfileAction
+                    ? false
+                    : intent.getBooleanExtra(
+                            EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                            ProvisioningParams.DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED);
+
             return ProvisioningParams.Builder.builder()
+                    .setProvisioningId(provisioningId)
                     .setProvisioningAction(provisioningAction)
                     .setDeviceAdminComponentName(deviceAdminComponentName)
                     .setDeviceAdminPackageName(deviceAdminPackageName)
                     .setSkipEncryption(intent.getBooleanExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION,
                             ProvisioningParams.DEFAULT_EXTRA_PROVISIONING_SKIP_ENCRYPTION))
-                    .setLeaveAllSystemAppsEnabled(intent.getBooleanExtra(
-                            EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
-                            ProvisioningParams.DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED))
+                    .setLeaveAllSystemAppsEnabled(leaveAllSystemAppsEnabled)
                     .setAdminExtrasBundle((PersistableBundle) intent.getParcelableExtra(
                             EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE))
                     .setMainColor(mainColor)
+                    .setDisclaimersParam(disclaimersParam)
+                    .setSkipUserConsent(skipUserConsent)
+                    .setKeepAccountMigrated(keepAccountMigrated)
                     .setSkipUserSetup(skipUserSetup)
-                    .setAccountToMigrate((Account) intent.getParcelableExtra(
-                            EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE));
+                    .setAccountToMigrate(intent.getParcelableExtra(
+                            EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE))
+                    .setDeviceAdminLabel(deviceAdminLabel)
+                    .setOrganizationName(organizationName)
+                    .setSupportUrl(supportUrl)
+                    .setDeviceAdminIconFilePath(deviceAdminIconFilePath);
         } catch (ClassCastException e) {
-            throw new IllegalProvisioningArgumentException("Extra "
-                    + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
-                    + " must be of type PersistableBundle.", e);
+            throw new IllegalProvisioningArgumentException("Extra has invalid type", e);
         } catch (IllegalArgumentException e) {
             throw new IllegalProvisioningArgumentException("Invalid parameter found!", e);
         } catch (NullPointerException e) {
@@ -240,7 +295,7 @@
                     .setTimeZone(intent.getStringExtra(EXTRA_PROVISIONING_TIME_ZONE))
                     .setLocalTime(intent.getLongExtra(EXTRA_PROVISIONING_LOCAL_TIME,
                             ProvisioningParams.DEFAULT_LOCAL_TIME))
-                    .setLocale(MessageParser.stringToLocale(
+                    .setLocale(StoreUtils.stringToLocale(
                             intent.getStringExtra(EXTRA_PROVISIONING_LOCALE)))
                     // Parse WiFi configuration.
                     .setWifiInfo(parseWifiInfoFromExtras(intent))
@@ -251,11 +306,8 @@
                     //    PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE, after encryption reboot,
                     //    which is a self-originated intent.
                     // 2. the intent is from a trusted source, for example QR provisioning.
-                    .setStartedByTrustedSource(isResumeProvisioningIntent(intent)
-                            ? intent.getBooleanExtra(EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE,
-                                    ProvisioningParams.DEFAULT_STARTED_BY_TRUSTED_SOURCE)
-                            : ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.equals(
-                                    intent.getAction()))
+                    .setStartedByTrustedSource(ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE
+                            .equals(intent.getAction()))
                     .build();
         }  catch (IllegalArgumentException e) {
             throw new IllegalProvisioningArgumentException("Invalid parameter found!", e);
@@ -307,20 +359,11 @@
         String packageHash =
                 intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM);
         if (packageHash != null) {
-            downloadInfoBuilder.setPackageChecksum(mUtils.stringToByteArray(packageHash));
-            if (isResumeProvisioningIntent(intent)) {
-                // PackageChecksumSupportsSha1 is only supported in NFC provisioning. But if the
-                // device is rebooted after encryption as part of the NFC provisioning flow, the
-                // value should be restored.
-                downloadInfoBuilder.setPackageChecksumSupportsSha1(
-                        intent.getBooleanExtra(
-                                EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM,
-                                false));
-            }
+            downloadInfoBuilder.setPackageChecksum(StoreUtils.stringToByteArray(packageHash));
         }
         String sigHash = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM);
         if (sigHash != null) {
-            downloadInfoBuilder.setSignatureChecksum(mUtils.stringToByteArray(sigHash));
+            downloadInfoBuilder.setSignatureChecksum(StoreUtils.stringToByteArray(sigHash));
         }
         return downloadInfoBuilder.build();
     }
@@ -334,15 +377,6 @@
             // If we go through encryption, and if the uri is a content uri:
             // We'll lose the grant to this uri. So we need to save it to a local file.
             LogoUtils.saveOrganisationLogo(context, logoUri);
-        } else if (!isResumeProvisioningIntent(intent)) {
-            // If the intent is not from managed provisioning app, there is a slight possibility
-            // that the logo is still kept on the file system from a previous provisioning. In
-            // this case, remove it.
-            LogoUtils.cleanUp(context);
         }
     }
-
-    private boolean isResumeProvisioningIntent(Intent intent) {
-        return ACTION_RESUME_PROVISIONING.equals(intent.getAction());
-    }
 }
diff --git a/src/com/android/managedprovisioning/parser/MessageParser.java b/src/com/android/managedprovisioning/parser/MessageParser.java
index 07778dc..16e417a 100644
--- a/src/com/android/managedprovisioning/parser/MessageParser.java
+++ b/src/com/android/managedprovisioning/parser/MessageParser.java
@@ -16,47 +16,17 @@
 
 package com.android.managedprovisioning.parser;
 
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCALE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_SETUP;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PAC_URL;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PASSWORD;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_BYPASS;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_HOST;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_PORT;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID;
 import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
 import static com.android.internal.util.Preconditions.checkNotNull;
-import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
 
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
 import android.support.annotation.VisibleForTesting;
 
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.ProvisioningParams;
 
-import java.util.IllformedLocaleException;
-import java.util.Locale;
-import java.util.Properties;
-
 /**
  * This class can initialize a {@link ProvisioningParams} object from an intent.
  *
@@ -64,111 +34,32 @@
  * provisioning and profile owner provisioning.
  */
 public class MessageParser implements ProvisioningDataParser {
-    public static final String EXTRA_PROVISIONING_ACTION =
-            "com.android.managedprovisioning.extra.provisioning_action";
-    @VisibleForTesting
-    static final String EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM =
-            "com.android.managedprovisioning.extra.device_admin_support_sha1_package_checksum";
-    @VisibleForTesting
-    static final String EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE  =
-            "com.android.managedprovisioning.extra.started_by_trusted_source";
 
     private final Utils mUtils;
+    private final Context mContext;
 
-    /**
-     * Converts {@link ProvisioningParams} to {@link Intent}.
-     *
-     * <p/>One of the use cases is to store {@link ProvisioningParams} before device-encryption
-     * takes place. After device encryption is completed, the managed provisioning is resumed by
-     * sending this intent.
-     */
-    public Intent getIntentFromProvisioningParams(ProvisioningParams params) {
-        Intent intent = new Intent(ACTION_RESUME_PROVISIONING)
-                .putExtra(EXTRA_PROVISIONING_ACTION, params.provisioningAction)
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
-                        params.deviceAdminPackageName)
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
-                        params.deviceAdminComponentName)
-                .putExtra(EXTRA_PROVISIONING_TIME_ZONE, params.timeZone)
-                .putExtra(EXTRA_PROVISIONING_LOCALE, localeToString(params.locale))
-                .putExtra(EXTRA_PROVISIONING_LOCAL_TIME, params.localTime)
-                .putExtra(EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE,
-                        params.startedByTrustedSource)
-                .putExtra(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
-                        params.leaveAllSystemAppsEnabled)
-                .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, params.adminExtrasBundle)
-                .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, params.skipEncryption)
-                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, params.accountToMigrate)
-                .putExtra(EXTRA_PROVISIONING_SKIP_USER_SETUP, params.skipUserSetup);
-        if (params.wifiInfo != null) {
-            intent.putExtra(EXTRA_PROVISIONING_WIFI_SSID, params.wifiInfo.ssid)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_SECURITY_TYPE, params.wifiInfo.securityType)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_PASSWORD, params.wifiInfo.password)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_PROXY_HOST, params.wifiInfo.proxyHost)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_PROXY_BYPASS, params.wifiInfo.proxyBypassHosts)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_PAC_URL, params.wifiInfo.pacUrl)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_PROXY_PORT, params.wifiInfo.proxyPort)
-                    .putExtra(EXTRA_PROVISIONING_WIFI_HIDDEN, params.wifiInfo.hidden);
-        }
-        if (params.deviceAdminDownloadInfo != null) {
-            intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE,
-                    params.deviceAdminDownloadInfo.minVersion)
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
-                            params.deviceAdminDownloadInfo.location)
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER,
-                            params.deviceAdminDownloadInfo.cookieHeader)
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
-                            mUtils.byteArrayToString(
-                                    params.deviceAdminDownloadInfo.packageChecksum))
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM,
-                            params.deviceAdminDownloadInfo.packageChecksumSupportsSha1)
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM,
-                            mUtils.byteArrayToString(
-                                    params.deviceAdminDownloadInfo.signatureChecksum));
-        }
-        if (params.mainColor != null) {
-            intent.putExtra(EXTRA_PROVISIONING_MAIN_COLOR, params.mainColor);
-        }
-        return intent;
-    }
-
-    public MessageParser() {
-        this(new Utils());
+    public MessageParser(Context context) {
+        this(context, new Utils());
     }
 
     @VisibleForTesting
-    MessageParser(Utils utils) {
+    MessageParser(Context context, Utils utils) {
+        mContext = checkNotNull(context);
         mUtils = checkNotNull(utils);
     }
 
     @Override
-    public ProvisioningParams parse(Intent provisioningIntent, Context context)
+    public ProvisioningParams parse(Intent provisioningIntent)
             throws IllegalProvisioningArgumentException {
-        return getParser(provisioningIntent).parse(provisioningIntent, context);
+        return getParser(provisioningIntent).parse(provisioningIntent);
     }
 
     @VisibleForTesting
     ProvisioningDataParser getParser(Intent provisioningIntent) {
         if (ACTION_NDEF_DISCOVERED.equals(provisioningIntent.getAction())) {
-            return new PropertiesProvisioningDataParser(mUtils);
+            return new PropertiesProvisioningDataParser(mContext, mUtils);
         } else {
-            return new ExtrasProvisioningDataParser(mUtils);
-        }
-    }
-
-    static Locale stringToLocale(String string) throws IllformedLocaleException {
-        if (string != null) {
-            return new Locale.Builder().setLanguageTag(string.replace("_", "-")).build();
-        } else {
-            return null;
-        }
-    }
-
-    static String localeToString(Locale locale) {
-        if (locale != null) {
-            return locale.getLanguage() + "_" + locale.getCountry();
-        } else {
-            return null;
+            return new ExtrasProvisioningDataParser(mContext, mUtils);
         }
     }
 }
diff --git a/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParser.java b/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParser.java
index 747f158..c4be700 100644
--- a/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParser.java
+++ b/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParser.java
@@ -52,23 +52,18 @@
 import android.os.PersistableBundle;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
-
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.ProvisionLogger;
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.StoreUtils;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
 import com.android.managedprovisioning.model.ProvisioningParams;
 import com.android.managedprovisioning.model.WifiInfo;
-
 import java.io.IOException;
 import java.io.StringReader;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
 import java.util.IllformedLocaleException;
-import java.util.Locale;
 import java.util.Properties;
-import java.util.Set;
 
 
 /**
@@ -85,12 +80,22 @@
 public class PropertiesProvisioningDataParser implements ProvisioningDataParser {
 
     private final Utils mUtils;
+    private final Context mContext;
+    private final ManagedProvisioningSharedPreferences mSharedPreferences;
 
-    PropertiesProvisioningDataParser(Utils utils) {
-        mUtils = checkNotNull(utils);
+    PropertiesProvisioningDataParser(Context context, Utils utils) {
+        this(context, utils, new ManagedProvisioningSharedPreferences(context));
     }
 
-    public ProvisioningParams parse(Intent nfcIntent, Context context)
+    @VisibleForTesting
+    PropertiesProvisioningDataParser(Context context, Utils utils,
+            ManagedProvisioningSharedPreferences sharedPreferences) {
+        mContext = checkNotNull(context);
+        mUtils = checkNotNull(utils);
+        mSharedPreferences = checkNotNull(sharedPreferences);
+    }
+
+    public ProvisioningParams parse(Intent nfcIntent)
             throws IllegalProvisioningArgumentException {
         if (!ACTION_NDEF_DISCOVERED.equals(nfcIntent.getAction())) {
             throw new IllegalProvisioningArgumentException(
@@ -108,6 +113,7 @@
                 String s = null;
 
                 ProvisioningParams.Builder builder = ProvisioningParams.Builder.builder()
+                        .setProvisioningId(mSharedPreferences.incrementAndGetProvisioningId())
                         .setStartedByTrustedSource(true)
                         .setProvisioningAction(mUtils.mapIntentToDpmAction(nfcIntent))
                         .setDeviceAdminPackageName(props.getProperty(
@@ -119,7 +125,7 @@
 
                 // Parse time zone, locale and local time.
                 builder.setTimeZone(props.getProperty(EXTRA_PROVISIONING_TIME_ZONE))
-                        .setLocale(MessageParser.stringToLocale(
+                        .setLocale(StoreUtils.stringToLocale(
                                 props.getProperty(EXTRA_PROVISIONING_LOCALE)));
                 if ((s = props.getProperty(EXTRA_PROVISIONING_LOCAL_TIME)) != null) {
                     builder.setLocalTime(Long.parseLong(s));
@@ -212,12 +218,12 @@
             // Still support SHA-1 for device admin package hash if we are provisioned by a Nfc
             // programmer.
             // TODO: remove once SHA-1 is fully deprecated.
-            builder.setPackageChecksum(mUtils.stringToByteArray(s))
+            builder.setPackageChecksum(StoreUtils.stringToByteArray(s))
                     .setPackageChecksumSupportsSha1(true);
         }
         if ((s = props.getProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM))
                 != null) {
-            builder.setSignatureChecksum(mUtils.stringToByteArray(s));
+            builder.setSignatureChecksum(StoreUtils.stringToByteArray(s));
         }
         return builder.build();
     }
@@ -247,20 +253,23 @@
     /**
      * @return the first {@link NdefRecord} found with a recognized MIME-type
      */
-    private NdefRecord getFirstNdefRecord(Intent nfcIntent) {
+    public static NdefRecord getFirstNdefRecord(Intent nfcIntent) {
         // Only one first message with NFC_MIME_TYPE is used.
-        for (Parcelable rawMsg : nfcIntent.getParcelableArrayExtra(
-                NfcAdapter.EXTRA_NDEF_MESSAGES)) {
-            NdefMessage msg = (NdefMessage) rawMsg;
-            for (NdefRecord record : msg.getRecords()) {
-                String mimeType = new String(record.getType(), UTF_8);
+        final Parcelable[] ndefMessages = nfcIntent.getParcelableArrayExtra(
+                NfcAdapter.EXTRA_NDEF_MESSAGES);
+        if (ndefMessages != null) {
+            for (Parcelable rawMsg : ndefMessages) {
+                NdefMessage msg = (NdefMessage) rawMsg;
+                for (NdefRecord record : msg.getRecords()) {
+                    String mimeType = new String(record.getType(), UTF_8);
 
-                if (MIME_TYPE_PROVISIONING_NFC.equals(mimeType)) {
-                    return record;
+                    if (MIME_TYPE_PROVISIONING_NFC.equals(mimeType)) {
+                        return record;
+                    }
+
+                    // Assume only first record of message is used.
+                    break;
                 }
-
-                // Assume only first record of message is used.
-                break;
             }
         }
         return null;
diff --git a/src/com/android/managedprovisioning/parser/ProvisioningDataParser.java b/src/com/android/managedprovisioning/parser/ProvisioningDataParser.java
index ae9c15c..0e13c24 100644
--- a/src/com/android/managedprovisioning/parser/ProvisioningDataParser.java
+++ b/src/com/android/managedprovisioning/parser/ProvisioningDataParser.java
@@ -16,9 +16,7 @@
 
 package com.android.managedprovisioning.parser;
 
-import android.content.Context;
 import android.content.Intent;
-
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
 import com.android.managedprovisioning.model.ProvisioningParams;
 
@@ -27,6 +25,6 @@
  */
 public interface ProvisioningDataParser {
     /** Parses the provisioning data from provisioning intent. */
-    ProvisioningParams parse(Intent provisioningIntent, Context context)
+    ProvisioningParams parse(Intent provisioningIntent)
             throws IllegalProvisioningArgumentException;
 }
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/BootReminder.java b/src/com/android/managedprovisioning/preprovisioning/BootReminder.java
similarity index 92%
rename from src/com/android/managedprovisioning/BootReminder.java
rename to src/com/android/managedprovisioning/preprovisioning/BootReminder.java
index 74318d5..7c68cf2 100644
--- a/src/com/android/managedprovisioning/BootReminder.java
+++ b/src/com/android/managedprovisioning/preprovisioning/BootReminder.java
@@ -13,14 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.managedprovisioning;
+package com.android.managedprovisioning.preprovisioning;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 
-import com.android.managedprovisioning.uiflows.EncryptionController;
-
 /**
  * Class that handles the resuming process that takes place after a reboot during the provisioning
  * process. The reboot could be an unexpected reboot or a reboot during the encryption process.
diff --git a/src/com/android/managedprovisioning/preprovisioning/DeleteManagedProfileDialog.java b/src/com/android/managedprovisioning/preprovisioning/DeleteManagedProfileDialog.java
new file mode 100644
index 0000000..5c36e5b
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/DeleteManagedProfileDialog.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import android.annotation.Nullable;
+import android.app.AlertDialog;
+import android.content.ComponentName;
+import android.content.DialogInterface;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.MdmPackageInfo;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.SimpleDialog;
+import com.android.setupwizardlib.util.SystemBarHelper;
+
+/**
+ * Displays information about an existing managed profile and asks the user if it should be deleted.
+ *
+ * <p>Expects parent component to implement {@link SimpleDialog.SimpleDialogListener} for
+ * user-response handling.
+ */
+public class DeleteManagedProfileDialog extends SimpleDialog {
+    private static final String KEY_USER_PROFILE_CALLBACK_ID = "user_profile_callback_id";
+    private static final String KEY_MDM_PACKAGE_NAME = "mdm_package_name";
+    private static final String KEY_PROFILE_OWNER_DOMAIN = "profile_owner_domain";
+
+    private final SettingsFacade mSettingsFacade = new SettingsFacade();
+
+    /**
+     * @param managedProfileUserId user-id for the managed profile
+     * @param mdmPackageName package name of the MDM application for the current managed profile,
+     * or null if the managed profile has no profile owner associated.
+     * @param profileOwnerDomain domain name of the organization which owns the managed profile, or
+     * null if not known
+     * @return initialized dialog
+     */
+    public static DeleteManagedProfileDialog newInstance(
+            int managedProfileUserId, @Nullable ComponentName mdmPackageName,
+            @Nullable String profileOwnerDomain) {
+
+        // TODO: this is a bit hacky; tidy up if time permits, e.g. by creating a CustomDialog class
+        Bundle args = new SimpleDialog.Builder()
+                .setTitle(R.string.delete_profile_title)
+                .setPositiveButtonMessage(R.string.delete_profile)
+                .setNegativeButtonMessage(R.string.cancel_delete_profile)
+                .setCancelable(false)
+                .build()
+                .getArguments();
+
+        args.putInt(KEY_USER_PROFILE_CALLBACK_ID, managedProfileUserId);
+
+        // The device could be in a inconsistent state where it has a managed profile but no
+        // associated profile owner package, for example after an unexpected reboot in the middle
+        // of provisioning.
+        if (mdmPackageName != null) {
+            args.putString(KEY_MDM_PACKAGE_NAME, mdmPackageName.getPackageName());
+        }
+        args.putString(KEY_PROFILE_OWNER_DOMAIN, profileOwnerDomain);
+
+        DeleteManagedProfileDialog dialog = new DeleteManagedProfileDialog();
+        dialog.setArguments(args);
+        return dialog;
+    }
+
+    @Override
+    public AlertDialog onCreateDialog(Bundle savedInstanceState) {
+        // TODO: this is a bit hacky; tidy up if time permits, e.g. by creating a CustomDialog class
+        AlertDialog dialog = super.onCreateDialog(savedInstanceState);
+        dialog.setView(createContentView());
+
+        if (!mSettingsFacade.isUserSetupCompleted(getActivity())) {
+            SystemBarHelper.hideSystemBars(dialog);
+        }
+
+        return dialog;
+    }
+
+    private View createContentView() {
+        View view = getActivity().getLayoutInflater().inflate(
+                R.layout.delete_managed_profile_dialog,
+                (ViewGroup) getActivity().findViewById(android.R.id.content), false);
+
+        String mdmPackageName = getArguments().getString(KEY_MDM_PACKAGE_NAME);
+        String appLabel;
+        Drawable appIcon;
+        MdmPackageInfo mdmPackageInfo = null;
+        if (mdmPackageName != null) {
+            mdmPackageInfo = MdmPackageInfo.createFromPackageName(getActivity(), mdmPackageName);
+        }
+        if (mdmPackageInfo != null) {
+            appLabel = mdmPackageInfo.appLabel;
+            appIcon = mdmPackageInfo.packageIcon;
+        } else {
+            appLabel = getResources().getString(android.R.string.unknownName);
+            appIcon = getActivity().getPackageManager().getDefaultActivityIcon();
+        }
+
+        ImageView imageView = view.findViewById(R.id.device_manager_icon_view);
+        imageView.setImageDrawable(appIcon);
+        imageView.setContentDescription(
+                getResources().getString(R.string.mdm_icon_label, appLabel));
+
+        TextView deviceManagerName = view.findViewById(R.id.device_manager_name);
+        deviceManagerName.setText(appLabel);
+
+        return view;
+    }
+
+    /**
+     * @return User id with which the dialog was instantiated
+     */
+    public int getUserId() {
+        return getArguments().getInt(KEY_USER_PROFILE_CALLBACK_ID);
+    }
+
+    @Override
+    public void onCancel(DialogInterface dialog) {
+        dialog.dismiss();
+        ((SimpleDialog.SimpleDialogListener) getActivity()).onNegativeButtonClick(
+                DeleteManagedProfileDialog.this);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/uiflows/EncryptDeviceActivity.java b/src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivity.java
similarity index 61%
rename from src/com/android/managedprovisioning/uiflows/EncryptDeviceActivity.java
rename to src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivity.java
index e0230d4..4f61d93 100644
--- a/src/com/android/managedprovisioning/uiflows/EncryptDeviceActivity.java
+++ b/src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivity.java
@@ -13,21 +13,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.managedprovisioning.uiflows;
+package com.android.managedprovisioning.preprovisioning;
 
-import android.app.admin.DevicePolicyManager;
+import static android.app.admin.DevicePolicyManager.ACTION_START_ENCRYPTION;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENCRYPT_DEVICE_ACTIVITY_TIME_MS;
+
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;
 
-import com.android.managedprovisioning.BootReminder;
-import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.R;
-import com.android.managedprovisioning.SetupLayoutActivity;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SetupGlifLayoutActivity;
+import com.android.managedprovisioning.model.CustomizationParams;
 import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.parser.MessageParser;
 
 /**
  * Activity to ask for permission to activate full-filesystem encryption.
@@ -35,52 +37,56 @@
  * Pressing 'settings' will launch settings to prompt the user to encrypt
  * the device.
  */
-public class EncryptDeviceActivity extends SetupLayoutActivity {
+public class EncryptDeviceActivity extends SetupGlifLayoutActivity {
     private ProvisioningParams mParams;
 
+    protected EncryptionController getEncryptionController() {
+        return EncryptionController.getInstance(this);
+    }
+
     @Override
-    public void onCreate(Bundle savedInstanceState) {
+    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        mParams = (ProvisioningParams) getIntent().getParcelableExtra(
-                ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
+        mParams = getIntent().getParcelableExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
         if (mParams == null) {
             ProvisionLogger.loge("Missing params in EncryptDeviceActivity activity");
             finish();
+            return;
         }
 
-        if (mUtils.isProfileOwnerAction(mParams.provisioningAction)) {
+        if (getUtils().isProfileOwnerAction(mParams.provisioningAction)) {
             initializeUi(R.string.setup_work_profile,
                     R.string.setup_profile_encryption,
                     R.string.encrypt_device_text_for_profile_owner_setup);
-        } else if (mUtils.isDeviceOwnerAction(mParams.provisioningAction)) {
+        } else if (getUtils().isDeviceOwnerAction(mParams.provisioningAction)) {
             initializeUi(R.string.setup_work_device,
                     R.string.setup_device_encryption,
                     R.string.encrypt_device_text_for_device_owner_setup);
         } else {
             ProvisionLogger.loge("Unknown provisioning action: " + mParams.provisioningAction);
             finish();
+            return;
         }
 
         Button encryptButton = (Button) findViewById(R.id.encrypt_button);
-        encryptButton.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    EncryptionController.getInstance(EncryptDeviceActivity.this)
-                            .setEncryptionReminder(mParams);
+        encryptButton.setOnClickListener((View v) -> {
+                    getEncryptionController().setEncryptionReminder(mParams);
                     // Use settings so user confirms password/pattern and its passed
                     // to encryption tool.
-                    Intent intent = new Intent();
-                    intent.setAction(DevicePolicyManager.ACTION_START_ENCRYPTION);
-                    startActivity(intent);
-                }
-            });
+                    startActivity(new Intent(ACTION_START_ENCRYPTION));
+                });
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_ENCRYPT_DEVICE_ACTIVITY_TIME_MS;
     }
 
     private void initializeUi(int headerRes, int titleRes, int mainTextRes) {
-        initializeLayoutParams(R.layout.encrypt_device, headerRes, false);
+        initializeLayoutParams(R.layout.encrypt_device, headerRes, false,
+                CustomizationParams.createInstance(mParams, this, mUtils).statusBarColor);
         setTitle(titleRes);
         ((TextView) findViewById(R.id.encrypt_main_text)).setText(mainTextRes);
-        maybeSetLogoAndMainColor(mParams.mainColor);
     }
-}
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/uiflows/EncryptionController.java b/src/com/android/managedprovisioning/preprovisioning/EncryptionController.java
similarity index 77%
rename from src/com/android/managedprovisioning/uiflows/EncryptionController.java
rename to src/com/android/managedprovisioning/preprovisioning/EncryptionController.java
index 9edb0a7..30239b2 100644
--- a/src/com/android/managedprovisioning/uiflows/EncryptionController.java
+++ b/src/com/android/managedprovisioning/preprovisioning/EncryptionController.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning.uiflows;
+package com.android.managedprovisioning.preprovisioning;
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 
 import android.app.Notification;
+import android.app.NotificationChannel;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.ComponentName;
@@ -29,12 +30,14 @@
 import android.os.UserHandle;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.managedprovisioning.IntentStore;
-import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Globals;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SettingsFacade;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.parser.MessageParser;
+
+import java.io.File;
 
 /**
  * This controller manages all things related to the encryption reboot.
@@ -46,13 +49,14 @@
  */
 public class EncryptionController {
 
-    private static final String BOOT_REMINDER_INTENT_STORE_NAME = "boot-reminder";
-    private static final int NOTIFICATION_ID = 1;
+    @VisibleForTesting
+    public static final String CHANNEL_ID = "encrypt";
+    @VisibleForTesting
+    public static final int NOTIFICATION_ID = 1;
 
     private final Context mContext;
-    private final IntentStore mIntentStore;
     private final Utils mUtils;
-    private final MessageParser mMessageParser;
+    private final SettingsFacade mSettingsFacade;
     private final ComponentName mHomeReceiver;
     private final ResumeNotificationHelper mResumeNotificationHelper;
     private final int mUserId;
@@ -63,6 +67,9 @@
 
     private static EncryptionController sInstance;
 
+    private static final String PROVISIONING_PARAMS_FILE_NAME
+            = "encryption_controller_provisioning_params.xml";
+
     public static synchronized EncryptionController getInstance(Context context) {
         if (sInstance == null) {
             sInstance = new EncryptionController(context);
@@ -72,22 +79,23 @@
 
     private EncryptionController(Context context) {
         this(context,
-                new IntentStore(context, BOOT_REMINDER_INTENT_STORE_NAME),
                 new Utils(),
-                new MessageParser(),
+                new SettingsFacade(),
                 new ComponentName(context, PostEncryptionActivity.class),
                 new ResumeNotificationHelper(context),
                 UserHandle.myUserId());
     }
 
     @VisibleForTesting
-    EncryptionController(Context context, IntentStore intentStore, Utils utils,
-            MessageParser messageParser, ComponentName homeReceiver,
-            ResumeNotificationHelper resumeNotificationHelper, int userId) {
+    EncryptionController(Context context,
+            Utils utils,
+            SettingsFacade settingsFacade,
+            ComponentName homeReceiver,
+            ResumeNotificationHelper resumeNotificationHelper,
+            int userId) {
         mContext = checkNotNull(context, "Context must not be null").getApplicationContext();
-        mIntentStore = checkNotNull(intentStore, "IntentStore must not be null");
+        mSettingsFacade = checkNotNull(settingsFacade);
         mUtils = checkNotNull(utils, "Utils must not be null");
-        mMessageParser = checkNotNull(messageParser, "MessageParser must not be null");
         mHomeReceiver = checkNotNull(homeReceiver, "HomeReceiver must not be null");
         mResumeNotificationHelper = checkNotNull(resumeNotificationHelper,
                 "ResumeNotificationHelper must not be null");
@@ -97,18 +105,18 @@
     }
 
     /**
-     * Store a resume intent into the {@link IntentStore}. Provisioning will be resumed after reboot
+     * Store a resume intent into persistent storage. Provisioning will be resumed after reboot
      * using the stored intent.
      *
-     * @param resumeIntent the intent to be stored.
+     * @param params the params to be stored.
      */
     public void setEncryptionReminder(ProvisioningParams params) {
         ProvisionLogger.logd("Setting provisioning reminder for action: "
                 + params.provisioningAction);
-        mIntentStore.save(mMessageParser.getIntentFromProvisioningParams(params));
+        params.save(getProvisioningParamsFile(mContext));
         // Only enable the HOME intent receiver for flows inside SUW, as showing the notification
         // for non-SUW flows is less time cricital.
-        if (!mUtils.isUserSetupCompleted(mContext)) {
+        if (!mSettingsFacade.isUserSetupCompleted(mContext)) {
             ProvisionLogger.logd("Enabling PostEncryptionActivity");
             mUtils.enableComponent(mHomeReceiver, mUserId);
             // To ensure that the enabled state has been persisted to disk, we flush the
@@ -122,7 +130,7 @@
      */
     public void cancelEncryptionReminder() {
         ProvisionLogger.logd("Cancelling provisioning reminder.");
-        mIntentStore.clear();
+        getProvisioningParamsFile(mContext).delete();
         mUtils.disableComponent(mHomeReceiver, mUserId);
     }
 
@@ -147,11 +155,13 @@
             return;
         }
 
-        Intent resumeIntent = mIntentStore.load();
+        ProvisioningParams params = ProvisioningParams.load(getProvisioningParamsFile(mContext));
 
-        if (resumeIntent != null) {
+        if (params != null) {
+            Intent resumeIntent = new Intent(Globals.ACTION_RESUME_PROVISIONING);
+            resumeIntent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
             mProvisioningResumed = true;
-            String action = resumeIntent.getStringExtra(MessageParser.EXTRA_PROVISIONING_ACTION);
+            String action = params.provisioningAction;
             ProvisionLogger.logd("Provisioning resumed after encryption with action: " + action);
 
             if (!mUtils.isPhysicalDeviceEncrypted()) {
@@ -162,7 +172,7 @@
             resumeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 
             if (mUtils.isProfileOwnerAction(action)) {
-                if (mUtils.isUserSetupCompleted(mContext)) {
+                if (mSettingsFacade.isUserSetupCompleted(mContext)) {
                     mResumeNotificationHelper.showResumeNotification(resumeIntent);
                 } else {
                     mContext.startActivity(resumeIntent);
@@ -176,8 +186,9 @@
         }
     }
 
-    public boolean isResumePending() {
-        return mIntentStore.load() != null;
+    @VisibleForTesting
+    File getProvisioningParamsFile(Context context) {
+        return new File(context.getFilesDir(), PROVISIONING_PARAMS_FILE_NAME);
     }
 
     @VisibleForTesting
@@ -192,9 +203,14 @@
         public void showResumeNotification(Intent intent) {
             NotificationManager notificationManager = (NotificationManager)
                     mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+            NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
+                    mContext.getString(R.string.encrypt), NotificationManager.IMPORTANCE_HIGH);
+            notificationManager.createNotificationChannel(channel);
+
             final PendingIntent resumePendingIntent = PendingIntent.getActivity(
                     mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
             final Notification.Builder notify = new Notification.Builder(mContext)
+                    .setChannel(CHANNEL_ID)
                     .setContentIntent(resumePendingIntent)
                     .setContentTitle(mContext
                             .getString(R.string.continue_provisioning_notify_title))
diff --git a/src/com/android/managedprovisioning/uiflows/PostEncryptionActivity.java b/src/com/android/managedprovisioning/preprovisioning/PostEncryptionActivity.java
similarity index 92%
rename from src/com/android/managedprovisioning/uiflows/PostEncryptionActivity.java
rename to src/com/android/managedprovisioning/preprovisioning/PostEncryptionActivity.java
index 43c2fd8..811beb0 100644
--- a/src/com/android/managedprovisioning/uiflows/PostEncryptionActivity.java
+++ b/src/com/android/managedprovisioning/preprovisioning/PostEncryptionActivity.java
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning.uiflows;
+package com.android.managedprovisioning.preprovisioning;
 
 import android.app.Activity;
-import android.content.ComponentName;
 import android.os.Bundle;
 
 /**
diff --git a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java
new file mode 100644
index 0000000..3438246
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java
@@ -0,0 +1,491 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import static java.util.Collections.emptyList;
+import static java.util.Collections.unmodifiableList;
+
+import android.annotation.NonNull;
+import android.app.Activity;
+import android.app.DialogFragment;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.TextUtils;
+import android.text.method.LinkMovementMethod;
+import android.text.style.ClickableSpan;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ClickableSpanFactory;
+import com.android.managedprovisioning.common.AccessibilityContextMenuMaker;
+import com.android.managedprovisioning.common.LogoUtils;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SetupGlifLayoutActivity;
+import com.android.managedprovisioning.common.SimpleDialog;
+import com.android.managedprovisioning.common.StringConcatenator;
+import com.android.managedprovisioning.common.TouchTargetEnforcer;
+import com.android.managedprovisioning.model.CustomizationParams;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.preprovisioning.anim.BenefitsAnimation;
+import com.android.managedprovisioning.preprovisioning.anim.ColorMatcher;
+import com.android.managedprovisioning.preprovisioning.anim.SwiperThemeMatcher;
+import com.android.managedprovisioning.preprovisioning.terms.TermsActivity;
+import com.android.managedprovisioning.provisioning.ProvisioningActivity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PreProvisioningActivity extends SetupGlifLayoutActivity implements
+        SimpleDialog.SimpleDialogListener, PreProvisioningController.Ui {
+    private static final List<Integer> SLIDE_CAPTIONS = createImmutableList(
+            R.string.info_anim_title_0,
+            R.string.info_anim_title_1,
+            R.string.info_anim_title_2);
+    private static final List<Integer> SLIDE_CAPTIONS_COMP = createImmutableList(
+            R.string.info_anim_title_0,
+            R.string.one_place_for_work_apps,
+            R.string.info_anim_title_2);
+
+    private static final int ENCRYPT_DEVICE_REQUEST_CODE = 1;
+    @VisibleForTesting
+    protected static final int PROVISIONING_REQUEST_CODE = 2;
+    private static final int WIFI_REQUEST_CODE = 3;
+    private static final int CHANGE_LAUNCHER_REQUEST_CODE = 4;
+
+    // Note: must match the constant defined in HomeSettings
+    private static final String EXTRA_SUPPORT_MANAGED_PROFILES = "support_managed_profiles";
+    private static final String SAVED_PROVISIONING_PARAMS = "saved_provisioning_params";
+
+    private static final String ERROR_AND_CLOSE_DIALOG = "PreProvErrorAndCloseDialog";
+    private static final String BACK_PRESSED_DIALOG = "PreProvBackPressedDialog";
+    private static final String CANCELLED_CONSENT_DIALOG = "PreProvCancelledConsentDialog";
+    private static final String LAUNCHER_INVALID_DIALOG = "PreProvCurrentLauncherInvalidDialog";
+    private static final String DELETE_MANAGED_PROFILE_DIALOG = "PreProvDeleteManagedProfileDialog";
+
+    private PreProvisioningController mController;
+    private ControllerProvider mControllerProvider;
+    private final AccessibilityContextMenuMaker mContextMenuMaker;
+    private BenefitsAnimation mBenefitsAnimation;
+    private ClickableSpanFactory mClickableSpanFactory;
+    private TouchTargetEnforcer mTouchTargetEnforcer;
+
+    public PreProvisioningActivity() {
+        this(activity -> new PreProvisioningController(activity, activity), null);
+    }
+
+    @VisibleForTesting
+    public PreProvisioningActivity(ControllerProvider controllerProvider,
+            AccessibilityContextMenuMaker contextMenuMaker) {
+        mControllerProvider = controllerProvider;
+        mContextMenuMaker =
+                contextMenuMaker != null ? contextMenuMaker : new AccessibilityContextMenuMaker(
+                        this);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mClickableSpanFactory = new ClickableSpanFactory(getColor(R.color.blue));
+        mTouchTargetEnforcer = new TouchTargetEnforcer(getResources().getDisplayMetrics().density);
+        mController = mControllerProvider.getInstance(this);
+        ProvisioningParams params = savedInstanceState == null ? null
+                : savedInstanceState.getParcelable(SAVED_PROVISIONING_PARAMS);
+        mController.initiateProvisioning(getIntent(), params, getCallingPackage());
+    }
+
+    @Override
+    public void finish() {
+        // The user has backed out of provisioning, so we perform the necessary clean up steps.
+        LogoUtils.cleanUp(this);
+        ProvisioningParams params = mController.getParams();
+        if (params != null) {
+            params.cleanUp();
+        }
+        EncryptionController.getInstance(this).cancelEncryptionReminder();
+        super.finish();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putParcelable(SAVED_PROVISIONING_PARAMS, mController.getParams());
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        switch (requestCode) {
+            case ENCRYPT_DEVICE_REQUEST_CODE:
+                if (resultCode == RESULT_CANCELED) {
+                    ProvisionLogger.loge("User canceled device encryption.");
+                }
+                break;
+            case PROVISIONING_REQUEST_CODE:
+                setResult(resultCode);
+                finish();
+                break;
+            case CHANGE_LAUNCHER_REQUEST_CODE:
+                mController.continueProvisioningAfterUserConsent();
+                break;
+            case WIFI_REQUEST_CODE:
+                if (resultCode == RESULT_CANCELED) {
+                    ProvisionLogger.loge("User canceled wifi picking.");
+                } else if (resultCode == RESULT_OK) {
+                    ProvisionLogger.logd("Wifi request result is OK");
+                }
+                mController.initiateProvisioning(getIntent(), null /* cached params */,
+                        getCallingPackage());
+                break;
+            default:
+                ProvisionLogger.logw("Unknown result code :" + resultCode);
+                break;
+        }
+    }
+
+    @Override
+    public void showErrorAndClose(Integer titleId, int messageId, String logText) {
+        ProvisionLogger.loge(logText);
+
+        SimpleDialog.Builder dialogBuilder = new SimpleDialog.Builder()
+                .setTitle(titleId)
+                .setMessage(messageId)
+                .setCancelable(false)
+                .setPositiveButtonMessage(R.string.device_owner_error_ok);
+        showDialog(dialogBuilder, ERROR_AND_CLOSE_DIALOG);
+    }
+
+    @Override
+    public void onNegativeButtonClick(DialogFragment dialog) {
+        switch (dialog.getTag()) {
+            case CANCELLED_CONSENT_DIALOG:
+            case BACK_PRESSED_DIALOG:
+                // user chose to continue. Do nothing
+                break;
+            case LAUNCHER_INVALID_DIALOG:
+                dialog.dismiss();
+                break;
+            case DELETE_MANAGED_PROFILE_DIALOG:
+                setResult(Activity.RESULT_CANCELED);
+                finish();
+                break;
+            default:
+                SimpleDialog.throwButtonClickHandlerNotImplemented(dialog);
+        }
+    }
+
+    @Override
+    public void onPositiveButtonClick(DialogFragment dialog) {
+        switch (dialog.getTag()) {
+            case ERROR_AND_CLOSE_DIALOG:
+            case BACK_PRESSED_DIALOG:
+                // Close activity
+                setResult(Activity.RESULT_CANCELED);
+                // TODO: Move logging to close button, if we finish provisioning there.
+                mController.logPreProvisioningCancelled();
+                finish();
+                break;
+            case CANCELLED_CONSENT_DIALOG:
+                mUtils.sendFactoryResetBroadcast(this, "Device owner setup cancelled");
+                break;
+            case LAUNCHER_INVALID_DIALOG:
+                requestLauncherPick();
+                break;
+            case DELETE_MANAGED_PROFILE_DIALOG:
+                DeleteManagedProfileDialog d = (DeleteManagedProfileDialog) dialog;
+                mController.removeUser(d.getUserId());
+                // TODO: refactor as evil - logic should be less spread out
+                // Check if we are in the middle of silent provisioning and were got blocked by an
+                // existing user profile. If so, we can now resume.
+                mController.checkResumeSilentProvisioning();
+                break;
+            default:
+                SimpleDialog.throwButtonClickHandlerNotImplemented(dialog);
+        }
+    }
+
+    @Override
+    public void requestEncryption(ProvisioningParams params) {
+        Intent encryptIntent = new Intent(this, EncryptDeviceActivity.class);
+        encryptIntent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
+        startActivityForResult(encryptIntent, ENCRYPT_DEVICE_REQUEST_CODE);
+    }
+
+    @Override
+    public void requestWifiPick() {
+        startActivityForResult(mUtils.getWifiPickIntent(), WIFI_REQUEST_CODE);
+    }
+
+    @Override
+    public void showCurrentLauncherInvalid() {
+        SimpleDialog.Builder dialogBuilder = new SimpleDialog.Builder()
+                .setCancelable(false)
+                .setTitle(R.string.change_device_launcher)
+                .setMessage(R.string.launcher_app_cant_be_used_by_work_profile)
+                .setNegativeButtonMessage(R.string.cancel_provisioning)
+                .setPositiveButtonMessage(R.string.pick_launcher);
+        showDialog(dialogBuilder, LAUNCHER_INVALID_DIALOG);
+    }
+
+    private void requestLauncherPick() {
+        Intent changeLauncherIntent = new Intent(Settings.ACTION_HOME_SETTINGS);
+        changeLauncherIntent.putExtra(EXTRA_SUPPORT_MANAGED_PROFILES, true);
+        startActivityForResult(changeLauncherIntent, CHANGE_LAUNCHER_REQUEST_CODE);
+    }
+
+    public void startProvisioning(int userId, ProvisioningParams params) {
+        Intent intent = new Intent(this, ProvisioningActivity.class);
+        intent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
+        startActivityForResultAsUser(intent, PROVISIONING_REQUEST_CODE, new UserHandle(userId));
+        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
+    }
+
+    @Override
+    public void initiateUi(int layoutId, int titleId, String packageLabel, Drawable packageIcon,
+            boolean isProfileOwnerProvisioning, boolean isComp, List<String> termsHeaders,
+            CustomizationParams customization) {
+        if (isProfileOwnerProvisioning) {
+            // setting a theme so that the animation swiper matches the mainColor
+            // needs to happen before {@link Activity#setContentView}
+            setTheme(new SwiperThemeMatcher(this,
+                    new ColorMatcher()) // TODO: introduce DI framework
+                    .findTheme(customization.swiperColor));
+        }
+
+        initializeLayoutParams(
+                layoutId,
+                isProfileOwnerProvisioning ? null : R.string.set_up_your_device,
+                false /* progress bar */,
+                customization.statusBarColor);
+
+        // set up the 'accept and continue' button
+        Button nextButton = (Button) findViewById(R.id.next_button);
+        nextButton.setOnClickListener(v -> {
+            ProvisionLogger.logi("Next button (next_button) is clicked.");
+            mController.continueProvisioningAfterUserConsent();
+        });
+        nextButton.setBackgroundColor(customization.buttonColor);
+        if (mUtils.isBrightColor(customization.buttonColor)) {
+            nextButton.setTextColor(getColor(R.color.gray_button_text));
+        }
+
+        // set the activity title
+        setTitle(titleId);
+
+        // set up terms headers
+        String headers = new StringConcatenator(getResources()).join(termsHeaders);
+
+        // initiate UI for MP / DO
+        if (isProfileOwnerProvisioning) {
+            initiateUIProfileOwner(headers, isComp);
+        } else {
+            initiateUIDeviceOwner(packageLabel, packageIcon, headers, customization);
+        }
+    }
+
+    private void initiateUIProfileOwner(@NonNull String termsHeaders, boolean isComp) {
+        // set up the cancel button
+        Button cancelButton = (Button) findViewById(R.id.close_button);
+        cancelButton.setOnClickListener(v -> {
+            ProvisionLogger.logi("Close button (close_button) is clicked.");
+            PreProvisioningActivity.this.onBackPressed();
+        });
+
+        int messageId = isComp ? R.string.profile_owner_info_comp : R.string.profile_owner_info;
+        int messageWithTermsId = isComp ? R.string.profile_owner_info_with_terms_headers_comp
+                : R.string.profile_owner_info_with_terms_headers;
+
+        // set the short info text
+        TextView shortInfo = (TextView) findViewById(R.id.profile_owner_short_info);
+        shortInfo.setText(termsHeaders.isEmpty()
+                ? getString(messageId)
+                : getResources().getString(messageWithTermsId, termsHeaders));
+
+        // set up show terms button
+        View viewTermsButton = findViewById(R.id.show_terms_button);
+        viewTermsButton.setOnClickListener(this::startViewTermsActivity);
+        mTouchTargetEnforcer.enforce(viewTermsButton, (View) viewTermsButton.getParent());
+
+        // show the intro animation
+        mBenefitsAnimation = new BenefitsAnimation(this,
+                isComp ? SLIDE_CAPTIONS_COMP : SLIDE_CAPTIONS);
+        // TODO: move line below to be a part of BenefitsAnimation class
+        findViewById(R.id.animation_top_level_frame).setContentDescription(getString(isComp
+            ? R.string.comp_profile_benefits_description
+            : R.string.profile_benefits_description));
+    }
+
+    private void initiateUIDeviceOwner(String packageName, Drawable packageIcon,
+            @NonNull String termsHeaders, CustomizationParams customization) {
+        // short terms info text with clickable 'view terms' link
+        TextView shortInfoText = (TextView) findViewById(R.id.device_owner_terms_info);
+        shortInfoText.setText(assembleDOTermsMessage(termsHeaders, customization.orgName));
+        shortInfoText.setMovementMethod(LinkMovementMethod.getInstance()); // make clicks work
+        mContextMenuMaker.registerWithActivity(shortInfoText);
+
+        // if you have any questions, contact your device's provider
+        //
+        // TODO: refactor complex localized string assembly to an abstraction http://b/34288292
+        // there is a bit of copy-paste, and some details easy to forget (e.g. setMovementMethod)
+        if (customization.supportUrl != null) {
+            TextView info = (TextView) findViewById(R.id.device_owner_provider_info);
+            info.setVisibility(View.VISIBLE);
+            String deviceProvider = getString(R.string.organization_admin);
+            String contactDeviceProvider = getString(R.string.contact_device_provider,
+                    deviceProvider);
+            SpannableString spannableString = new SpannableString(contactDeviceProvider);
+
+            Intent intent = WebActivity.createIntent(this, customization.supportUrl,
+                    customization.statusBarColor);
+            if (intent != null) {
+                ClickableSpan span = mClickableSpanFactory.create(intent);
+                int startIx = contactDeviceProvider.indexOf(deviceProvider);
+                int endIx = startIx + deviceProvider.length();
+                spannableString.setSpan(span, startIx, endIx, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                info.setMovementMethod(LinkMovementMethod.getInstance()); // make clicks work
+            }
+
+            info.setText(spannableString);
+            mContextMenuMaker.registerWithActivity(info);
+        }
+
+        // set up DPC icon and label
+        setDpcIconAndLabel(packageName, packageIcon, customization.orgName);
+    }
+
+    @Override
+    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
+        super.onCreateContextMenu(menu, v, menuInfo);
+        if (v instanceof TextView) {
+            mContextMenuMaker.populateMenuContent(menu, (TextView) v);
+        }
+    }
+
+    private void startViewTermsActivity(@SuppressWarnings("unused") View view) {
+        startActivity(createViewTermsIntent());
+    }
+
+    private Intent createViewTermsIntent() {
+        return new Intent(this, TermsActivity.class).putExtra(
+                ProvisioningParams.EXTRA_PROVISIONING_PARAMS, mController.getParams());
+    }
+
+    // TODO: refactor complex localized string assembly to an abstraction http://b/34288292
+    // there is a bit of copy-paste, and some details easy to forget (e.g. setMovementMethod)
+    private Spannable assembleDOTermsMessage(@NonNull String termsHeaders, String orgName) {
+        String linkText = getString(R.string.view_terms);
+
+        if (TextUtils.isEmpty(orgName)) {
+            orgName = getString(R.string.your_organization_middle);
+        }
+        String messageText = termsHeaders.isEmpty()
+                ? getString(R.string.device_owner_info, orgName, linkText)
+                : getString(R.string.device_owner_info_with_terms_headers, orgName, termsHeaders,
+                        linkText);
+
+        Spannable result = new SpannableString(messageText);
+        int start = messageText.indexOf(linkText);
+
+        ClickableSpan span = mClickableSpanFactory.create(createViewTermsIntent());
+        result.setSpan(span, start, start + linkText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        return result;
+    }
+
+    private void setDpcIconAndLabel(@NonNull String appName, Drawable packageIcon, String orgName) {
+        if (packageIcon == null || TextUtils.isEmpty(appName)) {
+            return;
+        }
+
+        // make a container with all parts of DPC app description visible
+        findViewById(R.id.intro_device_owner_app_info_container).setVisibility(View.VISIBLE);
+
+        if (TextUtils.isEmpty(orgName)) {
+            orgName = getString(R.string.your_organization_beginning);
+        }
+        String message = getString(R.string.your_org_app_used, orgName);
+        TextView appInfoText = (TextView) findViewById(R.id.device_owner_app_info_text);
+        appInfoText.setText(message);
+
+        ImageView imageView = (ImageView) findViewById(R.id.device_manager_icon_view);
+        imageView.setImageDrawable(packageIcon);
+        imageView.setContentDescription(getResources().getString(R.string.mdm_icon_label, appName));
+
+        TextView deviceManagerName = (TextView) findViewById(R.id.device_manager_name);
+        deviceManagerName.setText(appName);
+    }
+
+    @Override
+    public void showDeleteManagedProfileDialog(ComponentName mdmPackageName, String domainName,
+            int userId) {
+        showDialog(() -> DeleteManagedProfileDialog.newInstance(userId,
+                mdmPackageName, domainName), DELETE_MANAGED_PROFILE_DIALOG);
+    }
+
+    @Override
+    public void onBackPressed() {
+        mController.logPreProvisioningCancelled();
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (mBenefitsAnimation != null) {
+            mBenefitsAnimation.start();
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (mBenefitsAnimation != null) {
+            mBenefitsAnimation.stop();
+        }
+    }
+
+    private static List<Integer> createImmutableList(int... values) {
+        if (values == null || values.length == 0) {
+            return emptyList();
+        }
+        List<Integer> result = new ArrayList<>(values.length);
+        for (int value : values) {
+            result.add(value);
+        }
+        return unmodifiableList(result);
+    }
+
+    /**
+     * Constructs {@link PreProvisioningController} for a given {@link PreProvisioningActivity}
+     */
+    interface ControllerProvider {
+        /**
+         * Constructs {@link PreProvisioningController} for a given {@link PreProvisioningActivity}
+         */
+        PreProvisioningController getInstance(PreProvisioningActivity activity);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java
new file mode 100644
index 0000000..e784484
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java
@@ -0,0 +1,728 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
+import static android.app.admin.DevicePolicyManager.CODE_ADD_MANAGED_PROFILE_DISALLOWED;
+import static android.app.admin.DevicePolicyManager.CODE_CANNOT_ADD_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.CODE_HAS_DEVICE_OWNER;
+import static android.app.admin.DevicePolicyManager.CODE_MANAGED_USERS_NOT_SUPPORTED;
+import static android.app.admin.DevicePolicyManager.CODE_NOT_SYSTEM_USER;
+import static android.app.admin.DevicePolicyManager.CODE_NOT_SYSTEM_USER_SPLIT;
+import static android.app.admin.DevicePolicyManager.CODE_OK;
+import static android.app.admin.DevicePolicyManager.CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER;
+import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_PREPROVISIONING_ACTIVITY_TIME_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.CANCELLED_BEFORE_PROVISIONING;
+import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.ActivityManager;
+import android.app.KeyguardManager;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.AsyncTask;
+import android.os.UserManager;
+import android.service.persistentdata.PersistentDataBlockManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.analytics.TimeLogger;
+import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.MdmPackageInfo;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.CustomizationParams;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.parser.MessageParser;
+import com.android.managedprovisioning.preprovisioning.terms.TermsDocument;
+import com.android.managedprovisioning.preprovisioning.terms.TermsProvider;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class PreProvisioningController {
+    private final Context mContext;
+    private final Ui mUi;
+    private final MessageParser mMessageParser;
+    private final Utils mUtils;
+    private final SettingsFacade mSettingsFacade;
+    private final EncryptionController mEncryptionController;
+
+    // used system services
+    private final DevicePolicyManager mDevicePolicyManager;
+    private final UserManager mUserManager;
+    private final PackageManager mPackageManager;
+    private final ActivityManager mActivityManager;
+    private final KeyguardManager mKeyguardManager;
+    private final PersistentDataBlockManager mPdbManager;
+    private final TimeLogger mTimeLogger;
+    private final ProvisioningAnalyticsTracker mProvisioningAnalyticsTracker;
+
+    private ProvisioningParams mParams;
+
+    public PreProvisioningController(
+            @NonNull Context context,
+            @NonNull Ui ui) {
+        this(context, ui,
+                new TimeLogger(context, PROVISIONING_PREPROVISIONING_ACTIVITY_TIME_MS),
+                new MessageParser(context), new Utils(), new SettingsFacade(),
+                EncryptionController.getInstance(context));
+    }
+
+    @VisibleForTesting
+    PreProvisioningController(
+            @NonNull Context context,
+            @NonNull Ui ui,
+            @NonNull TimeLogger timeLogger,
+            @NonNull MessageParser parser,
+            @NonNull Utils utils,
+            @NonNull SettingsFacade settingsFacade,
+            @NonNull EncryptionController encryptionController) {
+        mContext = checkNotNull(context, "Context must not be null");
+        mUi = checkNotNull(ui, "Ui must not be null");
+        mTimeLogger = checkNotNull(timeLogger, "Time logger must not be null");
+        mMessageParser = checkNotNull(parser, "MessageParser must not be null");
+        mSettingsFacade = checkNotNull(settingsFacade);
+        mUtils = checkNotNull(utils, "Utils must not be null");
+        mEncryptionController = checkNotNull(encryptionController,
+                "EncryptionController must not be null");
+
+        mDevicePolicyManager = (DevicePolicyManager) mContext.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+        mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+        mPackageManager = mContext.getPackageManager();
+        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
+        mKeyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
+        mPdbManager = (PersistentDataBlockManager) mContext.getSystemService(
+                Context.PERSISTENT_DATA_BLOCK_SERVICE);
+        mProvisioningAnalyticsTracker = ProvisioningAnalyticsTracker.getInstance();
+    }
+
+    interface Ui {
+        /**
+         * Show an error message and cancel provisioning.
+         * @param titleId resource id used to form the user facing error title
+         * @param messageId resource id used to form the user facing error message
+         * @param errorMessage an error message that gets logged for debugging
+         */
+        void showErrorAndClose(Integer titleId, int messageId, String errorMessage);
+
+        /**
+         * Request the user to encrypt the device.
+         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
+         */
+        void requestEncryption(ProvisioningParams params);
+
+        /**
+         * Request the user to choose a wifi network.
+         */
+        void requestWifiPick();
+
+        /**
+         * Initialize the pre provisioning UI
+         * @param layoutRes resource id for the layout
+         * @param titleRes resource id for the title text
+         * @param packageLabel package label
+         * @param packageIcon package icon
+         * @param isProfileOwnerProvisioning false for Device Owner provisioning
+         * @param isComp true if in COMP provisioning mode
+         * @param termsHeaders list of terms headers
+         * @param customization customization parameters
+         */
+        void initiateUi(int layoutRes, int titleRes, @Nullable String packageLabel,
+                @Nullable Drawable packageIcon, boolean isProfileOwnerProvisioning, boolean isComp,
+                @NonNull List<String> termsHeaders, @NonNull CustomizationParams customization);
+
+        /**
+         * Start provisioning.
+         * @param userId the id of the user we want to start provisioning on
+         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
+         */
+        void startProvisioning(int userId, ProvisioningParams params);
+
+        /**
+         * Show a dialog to delete an existing managed profile.
+         * @param mdmPackageName the {@link ComponentName} of the existing profile's profile owner
+         * @param domainName domain name of the organization which owns the managed profile
+         * @param userId the user id of the existing profile
+         */
+        void showDeleteManagedProfileDialog(ComponentName mdmPackageName, String domainName,
+                int userId);
+
+        /**
+         * Show an error dialog indicating that the current launcher does not support managed
+         * profiles and ask the user to choose a different one.
+         */
+        void showCurrentLauncherInvalid();
+    }
+
+    /**
+     * Initiates Profile owner and device owner provisioning.
+     * @param intent Intent that started provisioning.
+     * @param params cached ProvisioningParams if it has been parsed from Intent
+     * @param callingPackage Package that started provisioning.
+     */
+    public void initiateProvisioning(Intent intent, ProvisioningParams params,
+            String callingPackage) {
+        mProvisioningAnalyticsTracker.logProvisioningSessionStarted(mContext);
+
+        if (!checkFactoryResetProtection()) {
+            return;
+        }
+
+        if (!tryParseParameters(intent, params)) {
+            return;
+        }
+
+        if (!verifyActionAndCaller(intent, callingPackage)) {
+            return;
+        }
+
+        // Check whether provisioning is allowed for the current action
+        if (!checkDevicePolicyPreconditions()) {
+            return;
+        }
+
+        // PO preconditions
+        boolean waitForUserDelete = false;
+        if (isProfileOwnerProvisioning()) {
+            // If there is already a managed profile, setup the profile deletion dialog.
+            int existingManagedProfileUserId = mUtils.alreadyHasManagedProfile(mContext);
+            if (existingManagedProfileUserId != -1) {
+                ComponentName mdmPackageName = mDevicePolicyManager
+                        .getProfileOwnerAsUser(existingManagedProfileUserId);
+                String domainName = mDevicePolicyManager
+                        .getProfileOwnerNameAsUser(existingManagedProfileUserId);
+                mUi.showDeleteManagedProfileDialog(mdmPackageName, domainName,
+                        existingManagedProfileUserId);
+                waitForUserDelete = true;
+            }
+        }
+
+        // DO preconditions
+        if (!isProfileOwnerProvisioning()) {
+            // TODO: make a general test based on deviceAdminDownloadInfo field
+            // PO doesn't ever initialize that field, so OK as a general case
+            if (!mUtils.isConnectedToNetwork(mContext) && mParams.wifiInfo == null
+                    && mParams.deviceAdminDownloadInfo != null) {
+                // Have the user pick a wifi network if necessary.
+                // It is not possible to ask the user to pick a wifi network if
+                // the screen is locked.
+                // TODO: remove this check once we know the screen will not be locked.
+                if (mKeyguardManager.inKeyguardRestrictedInputMode()) {
+                    // TODO: decide on what to do in that case; fail? retry on screen unlock?
+                    ProvisionLogger.logi("Cannot pick wifi because the screen is locked.");
+                } else if (canRequestWifiPick()) {
+                    // we resume this method after a successful WiFi pick
+                    // TODO: refactor as evil - logic should be less spread out
+                    mUi.requestWifiPick();
+                    return;
+                } else {
+                    mUi.showErrorAndClose(R.string.cant_set_up_device,
+                            R.string.contact_your_admin_for_help,
+                            "Cannot pick WiFi because there is no handler to the intent");
+                }
+            }
+        }
+
+        mTimeLogger.start();
+        mProvisioningAnalyticsTracker.logPreProvisioningStarted(mContext, intent);
+
+        // as of now this is only true for COMP provisioning, where we already have a user consent
+        // since the DPC is DO already
+        if (mParams.skipUserConsent || isSilentProvisioningForTestingDeviceOwner()
+                || isSilentProvisioningForTestingManagedProfile()) {
+            if (!waitForUserDelete) {
+                continueProvisioningAfterUserConsent();
+            }
+            return;
+        }
+
+        CustomizationParams customization = CustomizationParams.createInstance(mParams, mContext,
+                mUtils);
+
+        // show UI so we can get user's consent to continue
+        if (isProfileOwnerProvisioning()) {
+            boolean isComp = mDevicePolicyManager.isDeviceManaged();
+            mUi.initiateUi(R.layout.intro_profile_owner, R.string.setup_profile, null, null, true,
+                    isComp, getDisclaimerHeadings(), customization);
+        } else {
+            String packageName = mParams.inferDeviceAdminPackageName();
+            MdmPackageInfo packageInfo = MdmPackageInfo.createFromPackageName(mContext,
+                    packageName);
+            // Always take packageInfo first for installed app since PackageManager is more reliable
+            String packageLabel = packageInfo != null ? packageInfo.appLabel
+                    : mParams.deviceAdminLabel != null ? mParams.deviceAdminLabel : packageName;
+            Drawable packageIcon = packageInfo != null ? packageInfo.packageIcon
+                    : getDeviceAdminIconDrawable(mParams.deviceAdminIconFilePath);
+            mUi.initiateUi(R.layout.intro_device_owner,
+                    R.string.setup_device,
+                    packageLabel,
+                    packageIcon,
+                    false  /* isProfileOwnerProvisioning */,
+                    false, /* isComp */
+                    getDisclaimerHeadings(),
+                    customization);
+        }
+    }
+
+    private @NonNull List<String> getDisclaimerHeadings() {
+        // TODO: only fetch headings, no need to fetch content; now not fast, but at least correct
+        return new TermsProvider(mContext, StoreUtils::readString, mUtils)
+                .getTerms(mParams, TermsProvider.Flags.SKIP_GENERAL_DISCLAIMER)
+                .stream()
+                .map(TermsDocument::getHeading)
+                .collect(Collectors.toList());
+    }
+
+    private Drawable getDeviceAdminIconDrawable(String deviceAdminIconFilePath) {
+        if (deviceAdminIconFilePath == null) {
+            return null;
+        }
+
+        Bitmap bitmap = BitmapFactory.decodeFile(mParams.deviceAdminIconFilePath);
+        if (bitmap == null) {
+            return null;
+        }
+        return new BitmapDrawable(mContext.getResources(), bitmap);
+    }
+
+    /**
+     * Start provisioning for real. In profile owner case, double check that the launcher
+     * supports managed profiles if necessary. In device owner case, possibly create a new user
+     * before starting provisioning.
+     */
+    public void continueProvisioningAfterUserConsent() {
+        // check if encryption is required
+        if (isEncryptionRequired()) {
+            if (mDevicePolicyManager.getStorageEncryptionStatus()
+                    == DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.device_doesnt_allow_encryption_contact_admin,
+                        "This device does not support encryption, and "
+                                + DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION
+                                + " was not passed.");
+            } else {
+                mUi.requestEncryption(mParams);
+                // we come back to this method after returning from encryption dialog
+                // TODO: refactor as evil - logic should be less spread out
+            }
+            return;
+        }
+
+        if (isProfileOwnerProvisioning()) { // PO case
+            // Check whether the current launcher supports managed profiles.
+            if (!mUtils.currentLauncherSupportsManagedProfiles(mContext)) {
+                mUi.showCurrentLauncherInvalid();
+                // we come back to this method after returning from launcher dialog
+                // TODO: refactor as evil - logic should be less spread out
+                return;
+            } else {
+                // Cancel the boot reminder as provisioning has now started.
+                mEncryptionController.cancelEncryptionReminder();
+                stopTimeLogger();
+                mUi.startProvisioning(mUserManager.getUserHandle(), mParams);
+            }
+        } else { // DO case
+            // Cancel the boot reminder as provisioning has now started.
+            mEncryptionController.cancelEncryptionReminder();
+            if (isMeatUserCreationRequired(mParams.provisioningAction)) {
+                // Create the primary user, and continue the provisioning in this user.
+                // successful end of this task triggers provisioning
+                // TODO: refactor as evil - logic should be less spread out
+                new CreatePrimaryUserTask().execute();
+            } else {
+                stopTimeLogger();
+                mUi.startProvisioning(mUserManager.getUserHandle(), mParams);
+            }
+        }
+    }
+
+    /** @return False if condition preventing further provisioning */
+    private boolean checkFactoryResetProtection() {
+        if (factoryResetProtected()) {
+            mUi.showErrorAndClose(R.string.cant_set_up_device,
+                    R.string.device_has_reset_protection_contact_admin,
+                    "Factory reset protection blocks provisioning.");
+            return false;
+        }
+        return true;
+    }
+
+    /** @return False if condition preventing further provisioning */
+    @VisibleForTesting protected boolean checkDevicePolicyPreconditions() {
+        // If isSilentProvisioningForTestingDeviceOwner returns true, the component must be
+        // current device owner, and we can safely ignore isProvisioningAllowed as we don't call
+        // setDeviceOwner.
+        if (isSilentProvisioningForTestingDeviceOwner()) {
+            return true;
+        }
+
+        int provisioningPreCondition = mDevicePolicyManager.checkProvisioningPreCondition(
+                mParams.provisioningAction, mParams.inferDeviceAdminPackageName());
+        // Check whether provisioning is allowed for the current action.
+        if (provisioningPreCondition != CODE_OK) {
+            mProvisioningAnalyticsTracker.logProvisioningNotAllowed(mContext,
+                    provisioningPreCondition);
+            showProvisioningErrorAndClose(mParams.provisioningAction, provisioningPreCondition);
+            return false;
+        }
+        return true;
+    }
+
+    /** @return False if condition preventing further provisioning */
+    private boolean tryParseParameters(Intent intent, ProvisioningParams params) {
+        try {
+            // Read the provisioning params from the provisioning intent
+            mParams = params == null ? mMessageParser.parse(intent) : params;
+        } catch (IllegalProvisioningArgumentException e) {
+            mUi.showErrorAndClose(R.string.cant_set_up_device, R.string.contact_your_admin_for_help,
+                    e.getMessage());
+            return false;
+        }
+        return true;
+    }
+
+    /** @return False if condition preventing further provisioning */
+    @VisibleForTesting protected boolean verifyActionAndCaller(Intent intent,
+            String callingPackage) {
+        if (verifyActionAndCallerInner(intent, callingPackage)) {
+            return true;
+        } else {
+            mUi.showErrorAndClose(R.string.cant_set_up_device, R.string.contact_your_admin_for_help,
+                    "invalid intent or calling package");
+            return false;
+        }
+    }
+
+    private boolean verifyActionAndCallerInner(Intent intent, String callingPackage) {
+        // If this is a resume after encryption or trusted intent, we verify the activity alias.
+        // Otherwise, verify that the calling app is trying to set itself as Device/ProfileOwner
+        if (ACTION_RESUME_PROVISIONING.equals(intent.getAction())) {
+            return verifyActivityAlias(intent, "PreProvisioningActivityAfterEncryption");
+        } else if (ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
+            return verifyActivityAlias(intent, "PreProvisioningActivityViaNfc");
+        } else if (ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.equals(intent.getAction())) {
+            return verifyActivityAlias(intent, "PreProvisioningActivityViaTrustedApp");
+        } else {
+            return verifyCaller(callingPackage);
+        }
+    }
+
+    private boolean verifyActivityAlias(Intent intent, String activityAlias) {
+        ComponentName componentName = intent.getComponent();
+        if (componentName == null || componentName.getClassName() == null) {
+            ProvisionLogger.loge("null class in component when verifying activity alias "
+                    + activityAlias);
+            return false;
+        }
+
+        if (!componentName.getClassName().endsWith(activityAlias)) {
+            ProvisionLogger.loge("Looking for activity alias " + activityAlias + ", but got "
+                    + componentName.getClassName());
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Verify that the caller is trying to set itself as owner.
+     * @return false if the caller is trying to set a different package as owner.
+     */
+    private boolean verifyCaller(@NonNull String callingPackage) {
+        if (callingPackage == null) {
+            ProvisionLogger.loge("Calling package is null. Was startActivityForResult used to "
+                    + "start this activity?");
+            return false;
+        }
+
+        if (!callingPackage.equals(mParams.inferDeviceAdminPackageName())) {
+            ProvisionLogger.loge("Permission denied, "
+                    + "calling package tried to set a different package as owner. ");
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Returns whether the device needs encryption.
+     */
+    private boolean isEncryptionRequired() {
+        return !mParams.skipEncryption && mUtils.isEncryptionRequired();
+    }
+
+    private boolean isSilentProvisioningForTestingDeviceOwner() {
+        final ComponentName currentDeviceOwner =
+                mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser();
+        final ComponentName targetDeviceAdmin = mParams.deviceAdminComponentName;
+
+        switch (mParams.provisioningAction) {
+            case DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE:
+                return isPackageTestOnly()
+                        && currentDeviceOwner != null
+                        && targetDeviceAdmin != null
+                        && currentDeviceOwner.equals(targetDeviceAdmin);
+            default:
+                return false;
+        }
+    }
+
+    private boolean isSilentProvisioningForTestingManagedProfile() {
+        return DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE.equals(
+                mParams.provisioningAction) && isPackageTestOnly();
+    }
+
+    private boolean isPackageTestOnly() {
+        return mUtils.isPackageTestOnly(mContext.getPackageManager(),
+                mParams.inferDeviceAdminPackageName(), mUserManager.getUserHandle());
+    }
+
+    /**
+     * Returns whether the device is frp protected during setup wizard.
+     */
+    private boolean factoryResetProtected() {
+        // If we are started during setup wizard, check for factory reset protection.
+        // If the device is already setup successfully, do not check factory reset protection.
+        if (mSettingsFacade.isDeviceProvisioned(mContext)) {
+            ProvisionLogger.logd("Device is provisioned, FRP not required.");
+            return false;
+        }
+
+        if (mPdbManager == null) {
+            ProvisionLogger.logd("Reset protection not supported.");
+            return false;
+        }
+        int size = mPdbManager.getDataBlockSize();
+        ProvisionLogger.logd("Data block size: " + size);
+        return size > 0;
+    }
+
+    /**
+     * Returns whether meat user creation is required or not.
+     * @param action Intent action that started provisioning
+     */
+    public boolean isMeatUserCreationRequired(String action) {
+        if (mUtils.isSplitSystemUser()
+                && ACTION_PROVISION_MANAGED_DEVICE.equals(action)) {
+            List<UserInfo> users = mUserManager.getUsers();
+            if (users.size() > 1) {
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.contact_your_admin_for_help,
+                        "Cannot start Device Owner Provisioning because there are already "
+                                + users.size() + " users");
+                return false;
+            }
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Returns whether activity to pick wifi can be requested or not.
+     */
+    private boolean canRequestWifiPick() {
+        return mPackageManager.resolveActivity(mUtils.getWifiPickIntent(), 0) != null;
+    }
+
+    /**
+     * Returns whether the provisioning process is a profile owner provisioning process.
+     */
+    public boolean isProfileOwnerProvisioning() {
+        return mUtils.isProfileOwnerAction(mParams.provisioningAction);
+    }
+
+    @Nullable
+    public ProvisioningParams getParams() {
+        return mParams;
+    }
+
+    /**
+     * Notifies the time logger to stop.
+     */
+    public void stopTimeLogger() {
+        mTimeLogger.stop();
+    }
+
+    /**
+     * Log if PreProvisioning was cancelled.
+     */
+    public void logPreProvisioningCancelled() {
+        mProvisioningAnalyticsTracker.logProvisioningCancelled(mContext,
+                CANCELLED_BEFORE_PROVISIONING);
+    }
+
+    /**
+     * Removes a user profile. If we are in COMP case, and were blocked by having to delete a user,
+     * resumes COMP provisioning.
+     */
+    public void removeUser(int userProfileId) {
+        // There is a possibility that the DO has set the disallow remove managed profile user
+        // restriction, but is initiating the provisioning. In this case, we still want to remove
+        // the managed profile.
+        // We know that we can remove the managed profile because we checked
+        // DevicePolicyManager.checkProvisioningPreCondition
+        mUserManager.removeUserEvenWhenDisallowed(userProfileId);
+    }
+
+    /**
+     * See comment in place of usage. Check if we were in silent provisioning, got blocked, and now
+     * can resume.
+     */
+    public void checkResumeSilentProvisioning() {
+        if (mParams.skipUserConsent || isSilentProvisioningForTestingDeviceOwner()
+                || isSilentProvisioningForTestingManagedProfile()) {
+            continueProvisioningAfterUserConsent();
+        }
+    }
+
+    // TODO: review the use of async task for the case where the activity might have got killed
+    private class CreatePrimaryUserTask extends AsyncTask<Void, Void, UserInfo> {
+        @Override
+        protected UserInfo doInBackground(Void... args) {
+            // Create the user where we're going to install the device owner.
+            UserInfo userInfo = mUserManager.createUser(
+                    mContext.getString(R.string.default_first_meat_user_name),
+                    UserInfo.FLAG_PRIMARY | UserInfo.FLAG_ADMIN);
+
+            if (userInfo != null) {
+                ProvisionLogger.logi("Created user " + userInfo.id + " to hold the device owner");
+            }
+            return userInfo;
+        }
+
+        @Override
+        protected void onPostExecute(UserInfo userInfo) {
+            if (userInfo == null) {
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.contact_your_admin_for_help,
+                        "Could not create user to hold the device owner");
+            } else {
+                mActivityManager.switchUser(userInfo.id);
+                stopTimeLogger();
+                // TODO: refactor as evil - logic should be less spread out
+                mUi.startProvisioning(userInfo.id, mParams);
+            }
+        }
+    }
+
+    private void showProvisioningErrorAndClose(String action, int provisioningPreCondition) {
+        // Try to show an error message explaining why provisioning is not allowed.
+        switch (action) {
+            case ACTION_PROVISION_MANAGED_USER:
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.contact_your_admin_for_help,
+                        "Exiting managed user provisioning, setup incomplete");
+                return;
+            case ACTION_PROVISION_MANAGED_PROFILE:
+                showManagedProfileErrorAndClose(provisioningPreCondition);
+                return;
+            case ACTION_PROVISION_MANAGED_DEVICE:
+            case ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE:
+                showDeviceOwnerErrorAndClose(provisioningPreCondition);
+                return;
+        }
+        // This should never be the case, as showProvisioningError is always called after
+        // verifying the supported provisioning actions.
+    }
+
+    private void showManagedProfileErrorAndClose(int provisioningPreCondition) {
+        UserInfo userInfo = mUserManager.getUserInfo(mUserManager.getUserHandle());
+        ProvisionLogger.logw("DevicePolicyManager.checkProvisioningPreCondition returns code: "
+                + provisioningPreCondition);
+        switch (provisioningPreCondition) {
+            case CODE_ADD_MANAGED_PROFILE_DISALLOWED:
+            case CODE_MANAGED_USERS_NOT_SUPPORTED:
+                mUi.showErrorAndClose(R.string.cant_add_work_profile,
+                        R.string.user_cant_have_work_profile_contact_admin,
+                        "Exiting managed profile provisioning, managed profiles feature is not available");
+                break;
+            case CODE_CANNOT_ADD_MANAGED_PROFILE:
+                if (!userInfo.canHaveProfile()) {
+                    mUi.showErrorAndClose(R.string.cant_add_work_profile,
+                            R.string.user_cannot_have_work_profiles_contact_admin,
+                            "Exiting managed profile provisioning, calling user cannot have managed profiles");
+                } else if (isRemovingManagedProfileDisallowed()){
+                    mUi.showErrorAndClose(null,
+                            R.string.managed_provisioning_error_text,
+                            "Exiting managed profile provisioning, removing managed profile is disallowed");
+                } else {
+                    mUi.showErrorAndClose(R.string.cant_add_work_profile,
+                            R.string.too_many_users_on_device_remove_user_try_again,
+                            "Exiting managed profile provisioning, cannot add more managed profiles");
+                }
+                break;
+            case CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER:
+                mUi.showErrorAndClose(R.string.cant_add_work_profile,
+                        R.string.contact_your_admin_for_help,
+                        "Exiting managed profile provisioning, a device owner exists");
+                break;
+            default:
+                mUi.showErrorAndClose(R.string.cant_add_work_profile,
+                        R.string.contact_your_admin_for_help,
+                        "Managed profile provisioning not allowed for an unknown " +
+                        "reason, code: " + provisioningPreCondition);
+        }
+    }
+
+    private boolean isRemovingManagedProfileDisallowed() {
+        return mUtils.alreadyHasManagedProfile(mContext) != -1
+                && mUserManager.hasUserRestriction(UserManager.DISALLOW_REMOVE_MANAGED_PROFILE);
+    }
+
+    private void showDeviceOwnerErrorAndClose(int provisioningPreCondition) {
+        switch (provisioningPreCondition) {
+            case CODE_HAS_DEVICE_OWNER:
+                mUi.showErrorAndClose(R.string.device_already_set_up,
+                        R.string.if_questions_contact_admin, "Device already provisioned.");
+                return;
+            case CODE_NOT_SYSTEM_USER:
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.contact_your_admin_for_help,
+                        "Device owner can only be set up for USER_SYSTEM.");
+                return;
+            case CODE_NOT_SYSTEM_USER_SPLIT:
+                mUi.showErrorAndClose(R.string.cant_set_up_device,
+                        R.string.contact_your_admin_for_help,
+                        "System User Device owner can only be set on a split-user system.");
+                return;
+        }
+        mUi.showErrorAndClose(R.string.cant_set_up_device, R.string.contact_your_admin_for_help,
+                "Device Owner provisioning not allowed for an unknown reason.");
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/WebActivity.java b/src/com/android/managedprovisioning/preprovisioning/WebActivity.java
new file mode 100644
index 0000000..b1381ee
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/WebActivity.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_WEB_ACTIVITY_TIME_MS;
+
+import static java.net.HttpURLConnection.HTTP_FORBIDDEN;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.webkit.URLUtil;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.Toast;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.SetupLayoutActivity;
+import com.android.managedprovisioning.preprovisioning.terms.TermsActivity;
+
+/**
+ * This activity shows a web view, which loads the url indicated in the starting intent. By default
+ * the user can click on links and load other urls. However, by passing the allowed url base, the
+ * web view can be limited to urls that start with this base.
+ *
+ * <p>This activity is considered for using by
+ * {@link TermsActivity} to display the support web pages
+ * about provisioning concepts.
+ */
+public class WebActivity extends SetupLayoutActivity {
+    private static final String EXTRA_URL = "extra_url";
+    private static final String EXTRA_STATUS_BAR_COLOR = "extra_status_bar_color";
+
+    private WebView mWebView;
+    private SettingsFacade mSettingsFacade = new SettingsFacade();
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        String extraUrl = getIntent().getStringExtra(EXTRA_URL);
+        if (extraUrl == null) {
+            Toast.makeText(this, R.string.url_error, Toast.LENGTH_SHORT).show();
+            ProvisionLogger.loge("No url provided to WebActivity.");
+            finish();
+        }
+
+        Bundle extras = getIntent().getExtras();
+        if (extras.containsKey(EXTRA_STATUS_BAR_COLOR)) {
+            setMainColor(extras.getInt(EXTRA_STATUS_BAR_COLOR));
+        }
+
+        mWebView = new WebView(this);
+        // We need a custom WebViewClient. Without this an external browser will load the URL.
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public WebResourceResponse shouldInterceptRequest(WebView view,
+                    WebResourceRequest request) {
+                String url = request.getUrl().toString();
+                if (!URLUtil.isHttpsUrl(url)) {
+                    ProvisionLogger.loge("Secure connection required, but insecure URL requested "
+                            + "explicitly, or as a part of the page.");
+                    return createNewSecurityErrorResponse();
+                }
+                return super.shouldInterceptRequest(view, request);
+            }
+        });
+        mWebView.loadUrl(extraUrl);
+        // Enable zoom gesture in web view.
+        WebSettings webSettings = mWebView.getSettings();
+        webSettings.setBuiltInZoomControls(true);
+        webSettings.setDisplayZoomControls(false);
+        webSettings.setJavaScriptEnabled(true);
+        if (!mSettingsFacade.isUserSetupCompleted(this)) {
+            // User should not be able to escape provisioning if user setup isn't complete.
+            mWebView.setOnLongClickListener(v -> true);
+        }
+        setContentView(mWebView);
+    }
+
+    private WebResourceResponse createNewSecurityErrorResponse() {
+        WebResourceResponse response = new WebResourceResponse("text/plain", "UTF-8", null);
+        response.setStatusCodeAndReasonPhrase(HTTP_FORBIDDEN, "Secure connection required");
+        return response;
+    }
+
+    protected int getMetricsCategory() {
+        return PROVISIONING_WEB_ACTIVITY_TIME_MS;
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mWebView.canGoBack()) {
+            mWebView.goBack();
+        } else {
+            super.onBackPressed();
+        }
+    }
+
+    /**
+     * Creates an intent to launch the {@link WebActivity}.
+     * @param url the url to be shown upon launching this activity
+     */
+    @Nullable
+    public static Intent createIntent(Context context, String url, int statusBarColor) {
+        if (URLUtil.isNetworkUrl(url)) {
+            return new Intent(context, WebActivity.class)
+                    .putExtra(EXTRA_URL, url)
+                    .putExtra(EXTRA_STATUS_BAR_COLOR, statusBarColor);
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/preprovisioning/anim/BenefitsAnimation.java b/src/com/android/managedprovisioning/preprovisioning/anim/BenefitsAnimation.java
new file mode 100644
index 0000000..aa3fd7e
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/anim/BenefitsAnimation.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.anim;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.animation.Animator;
+import android.animation.AnimatorInflater;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.app.Activity;
+import android.graphics.drawable.Animatable2;
+import android.graphics.drawable.AnimatedVectorDrawable;
+import android.graphics.drawable.Drawable;
+import android.support.annotation.NonNull;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.R;
+
+import java.util.List;
+
+/**
+ * <p>Drives the animation showing benefits of having a Managed Profile.
+ * <p>Tightly coupled with the {@link R.layout#intro_animation} layout.
+ */
+public class BenefitsAnimation {
+    /** Array of Id pairs: {{@link ObjectAnimator}, {@link TextView}} */
+    private static final int[][] ID_ANIMATION_TARGET = {
+            {R.anim.text_scene_0_animation, R.id.text_0},
+            {R.anim.text_scene_1_animation, R.id.text_1},
+            {R.anim.text_scene_2_animation, R.id.text_2},
+            {R.anim.text_scene_3_animation, R.id.text_3},
+            {R.anim.text_scene_master_animation, R.id.text_master}};
+
+    private static final int[] SLIDE_CAPTION_TEXT_VIEWS = {
+            R.id.text_0, R.id.text_1, R.id.text_2, R.id.text_3};
+
+    /** Id of an {@link ImageView} containing the animated graphic */
+    private static final int ID_ANIMATED_GRAPHIC = R.id.animated_info;
+
+    /** Id of an {@link ImageView} containing the animated pager dots */
+    private static final int ID_ANIMATED_DOTS = R.id.animated_dots;
+
+    private static final int SLIDE_COUNT = 3;
+
+    private final AnimatedVectorDrawable mTopAnimation;
+    private final AnimatedVectorDrawable mDotsAnimation;
+    private final Animator mTextAnimation;
+    private final Activity mActivity;
+
+    private boolean mStopped;
+
+    /**
+     * @param captions slide captions for the animation
+     */
+    public BenefitsAnimation(Activity activity, @NonNull List<Integer> captions) {
+        if (captions.size() != SLIDE_COUNT) {
+            throw new IllegalArgumentException(
+                    "Wrong number of slide captions. Expected: " + SLIDE_COUNT);
+        }
+        mActivity = checkNotNull(activity);
+        mTextAnimation = checkNotNull(assembleTextAnimation());
+        applySlideCaptions(captions);
+        mDotsAnimation = checkNotNull(extractAnimationFromImageView(ID_ANIMATED_DOTS));
+        mTopAnimation = checkNotNull(extractAnimationFromImageView(ID_ANIMATED_GRAPHIC));
+
+        // chain all animations together
+        chainAnimations();
+    }
+
+    /** Starts playing the animation in a loop. */
+    public void start() {
+        mStopped = false;
+        mTopAnimation.start();
+    }
+
+    /** Stops the animation. */
+    public void stop() {
+        mStopped = true;
+        mTopAnimation.stop();
+    }
+
+    /**
+     * <p>Chains all three sub-animations, and configures them to play in sync in a loop.
+     * <p>Looping {@link AnimatedVectorDrawable} and {@link AnimatorSet} currently not possible in
+     * XML.
+     */
+    private void chainAnimations() {
+        mTopAnimation.registerAnimationCallback(new Animatable2.AnimationCallback() {
+            @Override
+            public void onAnimationStart(Drawable drawable) {
+                super.onAnimationStart(drawable);
+
+                // starting the other animations at the same time
+                mDotsAnimation.start();
+                mTextAnimation.start();
+            }
+
+            @Override
+            public void onAnimationEnd(Drawable drawable) {
+                super.onAnimationEnd(drawable);
+
+                // without explicitly stopping them, sometimes they won't restart
+                mDotsAnimation.stop();
+                mTextAnimation.cancel();
+
+                // repeating the animation in loop
+                if (!mStopped) {
+                    mTopAnimation.start();
+                }
+            }
+        });
+    }
+
+    /**
+     * <p>Inflates animators required to animate text headers' part of the whole animation.
+     * <p>This has to be done through code, as setting a target on {@link
+     * android.animation.ObjectAnimator} is not currently possible in XML.
+     *
+     * @return {@link AnimatorSet} responsible for the animated text
+     */
+    private AnimatorSet assembleTextAnimation() {
+        Animator[] animators = new Animator[ID_ANIMATION_TARGET.length];
+        for (int i = 0; i < ID_ANIMATION_TARGET.length; i++) {
+            int[] instance = ID_ANIMATION_TARGET[i];
+            animators[i] = AnimatorInflater.loadAnimator(mActivity, instance[0]);
+            animators[i].setTarget(mActivity.findViewById(instance[1]));
+        }
+
+        AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.playTogether(animators);
+        return animatorSet;
+    }
+
+    /**
+     * @param captions slide titles
+     */
+    private void applySlideCaptions(List<Integer> captions) {
+        int slideIx = 0;
+        for (int viewId : SLIDE_CAPTION_TEXT_VIEWS) {
+            ((TextView) mActivity.findViewById(viewId)).setText(
+                    captions.get(slideIx++ % captions.size()));
+        }
+    }
+
+    /** Extracts an {@link AnimatedVectorDrawable} from a containing {@link ImageView}. */
+    private AnimatedVectorDrawable extractAnimationFromImageView(int id) {
+        ImageView imageView = (ImageView) mActivity.findViewById(id);
+        return (AnimatedVectorDrawable) imageView.getDrawable();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcher.java b/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcher.java
new file mode 100644
index 0000000..f5cf0c1
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcher.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.anim;
+
+import android.graphics.Color;
+
+public class ColorMatcher {
+    private static final int MAX_VALUE = 0xff;
+    private static final int BUCKET_SIZE = 32;
+
+    public int findClosestColor(int targetColor) {
+        int r = bucketize(Color.red(targetColor));
+        int g = bucketize(Color.green(targetColor));
+        int b = bucketize(Color.blue(targetColor));
+
+        return Color.argb(MAX_VALUE, r, g, b);
+    }
+
+    private int bucketize(int value) {
+        int result = (int) Math.round(((double) value / BUCKET_SIZE)) * BUCKET_SIZE;
+        return Math.min(MAX_VALUE, result);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcher.java b/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcher.java
new file mode 100644
index 0000000..7894015
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcher.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.anim;
+
+import android.content.Context;
+import android.graphics.Color;
+
+/** Class finding closest match for a swiper color **/
+public class SwiperThemeMatcher {
+    private static final String THEME_PREFIX = "Swiper";
+    private static final String STYLE_TAG = "style";
+
+    private final Context mContext;
+    private final ColorMatcher mColorMatcher;
+
+    public SwiperThemeMatcher(Context context, ColorMatcher colorMatcher) {
+        mContext = context;
+        mColorMatcher = colorMatcher;
+    }
+
+    /**
+     * @param targetColor Target color to find the closest match to
+     */
+    public int findTheme(int targetColor) {
+        int closestColor = mColorMatcher.findClosestColor(targetColor);
+        int r = Color.red(closestColor);
+        int g = Color.green(closestColor);
+        int b = Color.blue(closestColor);
+
+        String styleName = String.format("%s%02x%02x%02x", THEME_PREFIX, r, g, b);
+        return mContext.getResources().getIdentifier(styleName, STYLE_TAG,
+                mContext.getPackageName());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivity.java b/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivity.java
new file mode 100644
index 0000000..4c54666
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivity.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_TERMS_ACTIVITY_TIME_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
+import android.util.ArraySet;
+import android.view.ContextMenu;
+import android.view.View;
+import android.widget.ExpandableListView;
+import android.widget.TextView;
+import android.widget.Toolbar;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.common.ClickableSpanFactory;
+import com.android.managedprovisioning.common.AccessibilityContextMenuMaker;
+import com.android.managedprovisioning.common.HtmlToSpannedParser;
+import com.android.managedprovisioning.common.SetupLayoutActivity;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.preprovisioning.WebActivity;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Activity responsible for displaying the Terms screen
+ */
+public class TermsActivity extends SetupLayoutActivity {
+    private final TermsProvider mTermsProvider;
+    private final AccessibilityContextMenuMaker mContextMenuMaker;
+    private final ProvisioningAnalyticsTracker mProvisioningAnalyticsTracker;
+    private final Set<Integer> mExpandedGroupsPosition = new ArraySet<>();
+
+    @SuppressWarnings("unused")
+    public TermsActivity() {
+        this(StoreUtils::readString, null);
+    }
+
+    @VisibleForTesting TermsActivity(StoreUtils.TextFileReader textFileReader,
+            AccessibilityContextMenuMaker contextMenuMaker) {
+        super(new Utils());
+        mTermsProvider = new TermsProvider(this, textFileReader, mUtils);
+        mProvisioningAnalyticsTracker = ProvisioningAnalyticsTracker.getInstance();
+        mContextMenuMaker =
+                contextMenuMaker != null ? contextMenuMaker : new AccessibilityContextMenuMaker(
+                        this);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.terms_screen);
+        setTitle(R.string.terms);
+
+        ProvisioningParams params = checkNotNull(
+                getIntent().getParcelableExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS));
+        List<TermsDocument> terms = mTermsProvider.getTerms(params, 0);
+
+        ExpandableListView container = (ExpandableListView) findViewById(R.id.terms_container);
+        container.setAdapter(
+                new TermsListAdapter(terms,
+                        getLayoutInflater(),
+                        new AccessibilityContextMenuMaker(this),
+                        new HtmlToSpannedParser(
+                                new ClickableSpanFactory(getColor(R.color.blue)),
+                                url -> WebActivity.createIntent(this, url,
+                                        this.getWindow().getStatusBarColor())),
+                        container::isGroupExpanded));
+        container.expandGroup(0); // expand the 'General' section
+
+        // Add default open terms to the expanded groups set.
+        for (int i = 0; i < terms.size(); i++) {
+            if (container.isGroupExpanded(i)) mExpandedGroupsPosition.add(i);
+        }
+
+        // keep at most one group expanded at a time
+        container.setOnGroupExpandListener((int groupPosition) -> {
+            mExpandedGroupsPosition.add(groupPosition);
+            for (int i = 0; i < terms.size(); i++) {
+                if (i != groupPosition && container.isGroupExpanded(i)) {
+                    container.collapseGroup(i);
+                }
+            }
+        });
+
+        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+        toolbar.setNavigationOnClickListener(v -> TermsActivity.this.finish());
+
+        mProvisioningAnalyticsTracker.logNumberOfTermsDisplayed(this, terms.size());
+    }
+
+    @Override
+    public void onCreateContextMenu(ContextMenu menu, View v,
+            ContextMenu.ContextMenuInfo menuInfo) {
+        super.onCreateContextMenu(menu, v, menuInfo);
+        if (v instanceof TextView) {
+            mContextMenuMaker.populateMenuContent(menu, (TextView) v);
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        mProvisioningAnalyticsTracker.logNumberOfTermsRead(this, mExpandedGroupsPosition.size());
+        super.onDestroy();
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_TERMS_ACTIVITY_TIME_MS;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/terms/TermsDocument.java b/src/com/android/managedprovisioning/preprovisioning/terms/TermsDocument.java
new file mode 100644
index 0000000..b036686
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/terms/TermsDocument.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static com.android.internal.util.Preconditions.checkStringNotEmpty;
+
+import com.android.managedprovisioning.common.ProvisionLogger;
+
+/**
+ * Class responsible for storing disclaimers
+ */
+public final class TermsDocument {
+    private final String mHeading;
+    private final String mContent;
+
+    /**
+     * Creates a {@link TermsDocument} instance.
+     *
+     * @param heading non-empty {@link String}
+     * @param content non-empty {@link String}
+     * @return null if either of the invocation arguments is an empty string
+     */
+    public static TermsDocument createInstance(String heading, String content) {
+        try {
+            return new TermsDocument(heading, content);
+        } catch (IllegalArgumentException e) {
+            ProvisionLogger.loge("Failed to parse a disclaimer.", e);
+            return null;
+        }
+    }
+
+    private TermsDocument(String heading, String content) {
+        mHeading = checkStringNotEmpty(heading);
+        mContent = checkStringNotEmpty(content);
+    }
+
+    /** @return Document heading */
+    public String getHeading() {
+        return mHeading;
+    }
+
+    /** @return Document raw HTML content */
+    public String getContent() {
+        return mContent;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapter.java b/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapter.java
new file mode 100644
index 0000000..2e11792
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapter.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.text.Spanned;
+import android.text.method.LinkMovementMethod;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.widget.BaseExpandableListAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.AccessibilityContextMenuMaker;
+import com.android.managedprovisioning.common.HtmlToSpannedParser;
+
+import java.util.List;
+
+/**
+ * Allows for displaying {@link TermsDocument} objects in an
+ * {@link android.widget.ExpandableListView}.
+ */
+class TermsListAdapter extends BaseExpandableListAdapter {
+    private final List<TermsDocument> mTermsDocuments;
+    private final LayoutInflater mInflater;
+    private final HtmlToSpannedParser mHtmlToSpannedParser;
+    private final AccessibilityContextMenuMaker mContextMenuMaker;
+    private final GroupExpandedInfo mGroupExpandedInfo;
+
+    /**
+     * Creates a new instance of the class.
+     */
+    TermsListAdapter(List<TermsDocument> termsDocuments, LayoutInflater layoutInflater,
+            AccessibilityContextMenuMaker contextMenuMaker, HtmlToSpannedParser htmlToSpannedParser,
+            GroupExpandedInfo groupExpandedInfo) {
+        mTermsDocuments = checkNotNull(termsDocuments);
+        mInflater = checkNotNull(layoutInflater);
+        mHtmlToSpannedParser = checkNotNull(htmlToSpannedParser);
+        mGroupExpandedInfo = checkNotNull(groupExpandedInfo);
+        mContextMenuMaker = checkNotNull(contextMenuMaker);
+    }
+
+    @Override
+    public int getGroupCount() {
+        return mTermsDocuments.size();
+    }
+
+    @Override
+    public int getChildrenCount(int groupPosition) {
+        return 1; // one content piece per header
+    }
+
+    @Override
+    public TermsDocument getGroup(int groupPosition) {
+        return getDisclaimer(groupPosition);
+    }
+
+    @Override
+    public TermsDocument getChild(int groupPosition, int childPosition) {
+        return getDisclaimer(groupPosition);
+    }
+
+    @Override
+    public long getGroupId(int groupPosition) {
+        return groupPosition;
+    }
+
+    @Override
+    public long getChildId(int groupPosition, int childPosition) {
+        return childPosition;
+    }
+
+    @Override
+    public boolean hasStableIds() {
+        return true;
+    }
+
+    // TODO: encapsulate this logic - too much direct view manipulation
+    @Override
+    public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
+            ViewGroup parent) {
+        String heading = getDisclaimer(groupPosition).getHeading();
+
+        View groupView = convertView != null ? convertView : mInflater.inflate(
+                R.layout.terms_disclaimer_header, parent, false);
+        groupView.setContentDescription(
+                parent.getResources().getString(R.string.section_heading, heading));
+        groupView.setAccessibilityDelegate(new View.AccessibilityDelegate() {
+            @Override public void onInitializeAccessibilityNodeInfo(View host,
+                    AccessibilityNodeInfo info) {
+                super.onInitializeAccessibilityNodeInfo(host, info);
+                info.addAction(new AccessibilityNodeInfo.AccessibilityAction(
+                        AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK.getId(),
+                        parent.getResources().getString(
+                                isExpanded ? R.string.collapse : R.string.expand)));
+            }
+        });
+
+        TextView textView = groupView.findViewById(R.id.header_text);
+        textView.setText(heading);
+
+        ImageView chevron = groupView.findViewById(R.id.chevron);
+        chevron.setRotation(isExpanded ? 90 : -90); // chevron down / up retrospectively
+        groupView.findViewById(R.id.divider).setVisibility(
+                shouldShowGroupDivider(groupPosition) ? View.VISIBLE : View.INVISIBLE);
+
+        return groupView;
+    }
+
+    /**
+     * Helps avoid a double thick divider line: one above header, one from the bottom of prev child
+     */
+    private boolean shouldShowGroupDivider(int groupPosition) {
+        return mGroupExpandedInfo.isGroupExpanded(groupPosition)
+                && (groupPosition == 0 || !mGroupExpandedInfo.isGroupExpanded(groupPosition - 1));
+    }
+
+    // TODO: encapsulate this logic - too much direct view manipulation
+    @Override
+    public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
+            View convertView, ViewGroup parent) {
+        View view = convertView != null ? convertView : mInflater.inflate(
+                R.layout.terms_disclaimer_content, parent, false);
+
+        TermsDocument disclaimer = getDisclaimer(groupPosition);
+        TextView textView = view.findViewById(R.id.disclaimer_content);
+        Spanned content = mHtmlToSpannedParser.parseHtml(disclaimer.getContent());
+        textView.setText(content);
+        textView.setContentDescription(
+                parent.getResources().getString(R.string.section_content, disclaimer.getHeading(),
+                        content));
+        textView.setMovementMethod(LinkMovementMethod.getInstance()); // makes html links clickable
+        mContextMenuMaker.registerWithActivity(textView);
+        return view;
+    }
+
+    private TermsDocument getDisclaimer(int index) {
+        return mTermsDocuments.get(index);
+    }
+
+    @Override
+    public boolean isChildSelectable(int groupPosition, int childPosition) {
+        return false;
+    }
+
+    interface GroupExpandedInfo {
+        boolean isGroupExpanded(int groupPosition);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/preprovisioning/terms/TermsProvider.java b/src/com/android/managedprovisioning/preprovisioning/terms/TermsProvider.java
new file mode 100644
index 0000000..b5fdf2a
--- /dev/null
+++ b/src/com/android/managedprovisioning/preprovisioning/terms/TermsProvider.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_CONTENT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_HEADER;
+import static android.content.pm.PackageManager.GET_META_DATA;
+import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
+
+import android.annotation.IntDef;
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.DisclaimersParam;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import java.io.File;
+import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Sources all available {@link TermsDocument}s:
+ * <ul>
+ * <li> hardcoded 'General' terms,
+ * <li> terms exposed via installed apps,
+ * <li> terms passed from DPC.
+ * </ul>
+ */
+public class TermsProvider {
+    private final Context mContext;
+    private final StoreUtils.TextFileReader mTextFileReader;
+    private final Utils mUtils;
+
+    /**
+     * Sources all available {@link TermsDocument}s:
+     * <ul>
+     * <li> hardcoded 'General' terms,
+     * <li> terms exposed via installed apps,
+     * <li> terms passed from DPC.
+     * </ul>
+     */
+    public TermsProvider(Context context, StoreUtils.TextFileReader textFileReader, Utils utils) {
+        mContext = context;
+        mTextFileReader = textFileReader;
+        mUtils = utils;
+    }
+
+    /**
+     * Sources all available {@link TermsDocument}s:
+     * <ul>
+     * <li> hardcoded 'General' terms,
+     * <li> terms exposed via installed apps,
+     * <li> terms passed from DPC.
+     * </ul>
+     */
+    public List<TermsDocument> getTerms(ProvisioningParams params, @Flags int flags) {
+        List<TermsDocument> result = new ArrayList<>();
+        int provisioningCase = determineProvisioningCase(params);
+
+        if ((flags & Flags.SKIP_GENERAL_DISCLAIMER) == 0) {
+            result.add(getGeneralDisclaimer(provisioningCase));
+        }
+
+        if (provisioningCase == ProvisioningCase.DEVICE_OWNER) {
+            result.addAll(getSystemAppTerms());
+        }
+
+        result.addAll(getExtraDisclaimers(params));
+
+        return result.stream().filter(Objects::nonNull).collect(Collectors.toList());
+    }
+
+    private int determineProvisioningCase(ProvisioningParams params) {
+        if (mUtils.isDeviceOwnerAction(params.provisioningAction)) {
+            return ProvisioningCase.DEVICE_OWNER;
+        }
+
+        // TODO: move somewhere more general
+        boolean isComp = ((DevicePolicyManager) mContext
+            .getSystemService(Context.DEVICE_POLICY_SERVICE)).isDeviceManaged();
+
+        return isComp ? ProvisioningCase.COMP : ProvisioningCase.PROFILE_OWNER;
+    }
+
+    private TermsDocument getGeneralDisclaimer(@ProvisioningCase int provisioningCase) {
+        String heading = mContext.getString(provisioningCase == ProvisioningCase.PROFILE_OWNER
+            ? R.string.work_profile_info
+            : R.string.managed_device_info);
+        String content = mContext.getString(provisioningCase == ProvisioningCase.PROFILE_OWNER
+                ? R.string.admin_has_ability_to_monitor_profile
+                : R.string.admin_has_ability_to_monitor_device);
+        return TermsDocument.createInstance(heading, content);
+    }
+
+    private List<TermsDocument> getSystemAppTerms() {
+        List<TermsDocument> terms = new ArrayList<>();
+        List<ApplicationInfo> appInfos = mContext.getPackageManager().getInstalledApplications(
+                MATCH_SYSTEM_ONLY | GET_META_DATA);
+        for (ApplicationInfo appInfo : appInfos) {
+            String header = getStringMetaData(appInfo, EXTRA_PROVISIONING_DISCLAIMER_HEADER);
+            String content = getStringMetaData(appInfo, EXTRA_PROVISIONING_DISCLAIMER_CONTENT);
+            if (header != null && content != null) {
+                terms.add(TermsDocument.createInstance(header, content));
+            }
+        }
+        return terms;
+    }
+
+    private List<TermsDocument> getExtraDisclaimers(ProvisioningParams params) {
+        List<TermsDocument> result = new ArrayList<>();
+
+        DisclaimersParam.Disclaimer[] disclaimers = params.disclaimersParam == null ? null
+                : params.disclaimersParam.mDisclaimers;
+        if (disclaimers != null) {
+            for (DisclaimersParam.Disclaimer disclaimer : disclaimers) {
+                try {
+                    String htmlContent = mTextFileReader.read(
+                            new File(disclaimer.mContentFilePath));
+                    result.add(TermsDocument.createInstance(disclaimer.mHeader, htmlContent));
+                } catch (IOException e) {
+                    ProvisionLogger.loge("Failed to read disclaimer", e);
+                }
+            }
+        }
+
+        return result;
+    }
+
+    private String getStringMetaData(ApplicationInfo appInfo, String key) {
+        if (appInfo.metaData != null) {
+            int resId = appInfo.metaData.getInt(key);
+            if (resId != 0) {
+                try {
+                    return mContext.getPackageManager().getResourcesForApplication(
+                            appInfo).getString(resId);
+                } catch (PackageManager.NameNotFoundException | Resources.NotFoundException e) {
+                    ProvisionLogger.loge("NameNotFoundException", e);
+                }
+            }
+        }
+        return null;
+    }
+
+    // TODO: move somewhere more general
+    @IntDef(value = {
+            ProvisioningCase.PROFILE_OWNER,
+            ProvisioningCase.DEVICE_OWNER,
+            ProvisioningCase.COMP,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    private @interface ProvisioningCase {
+        int PROFILE_OWNER = 1;
+        int DEVICE_OWNER = 2;
+        int COMP = 4;
+    }
+
+    @IntDef(flag = true, value = {
+            Flags.SKIP_GENERAL_DISCLAIMER,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Flags {
+        int SKIP_GENERAL_DISCLAIMER = 1;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/provisioning/AbstractProvisioningController.java b/src/com/android/managedprovisioning/provisioning/AbstractProvisioningController.java
new file mode 100644
index 0000000..c124a4f
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/AbstractProvisioningController.java
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.MainThread;
+import android.content.Context;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.finalization.FinalizationController;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Controller that manages the provisioning process. It controls the order of provisioning tasks,
+ * reacts to errors and user cancellation.
+ */
+public abstract class AbstractProvisioningController implements AbstractProvisioningTask.Callback {
+
+    @VisibleForTesting
+    static final int MSG_RUN_TASK = 1;
+
+    protected final Context mContext;
+    protected final ProvisioningParams mParams;
+    protected int mUserId;
+
+    private final ProvisioningAnalyticsTracker mProvisioningAnalyticsTracker;
+    private final ProvisioningControllerCallback mCallback;
+    private final FinalizationController mFinalizationController;
+    private Handler mWorkerHandler;
+
+    // Provisioning hasn't started yet
+    private static final int STATUS_NOT_STARTED = 0;
+    // Provisioning tasks are being run
+    private static final int STATUS_RUNNING = 1;
+    // Provisioning tasks have completed
+    private static final int STATUS_TASKS_COMPLETED = 2;
+    // Prefinalization has completed
+    private static final int STATUS_DONE = 3;
+    // An error occurred during provisioning
+    private static final int STATUS_ERROR = 4;
+    // Provisioning is being cancelled
+    private static final int STATUS_CANCELLING = 5;
+    // Cleanup has completed. This happens after STATUS_ERROR or STATUS_CANCELLING
+    private static final int STATUS_CLEANED_UP = 6;
+
+    private int mStatus = STATUS_NOT_STARTED;
+    private List<AbstractProvisioningTask> mTasks = new ArrayList<>();
+
+    protected int mCurrentTaskIndex;
+
+    AbstractProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            int userId,
+            ProvisioningControllerCallback callback,
+            FinalizationController finalizationController) {
+        mContext = checkNotNull(context);
+        mParams = checkNotNull(params);
+        mUserId = userId;
+        mCallback = checkNotNull(callback);
+        mFinalizationController = checkNotNull(finalizationController);
+        mProvisioningAnalyticsTracker = ProvisioningAnalyticsTracker.getInstance();
+
+        setUpTasks();
+    }
+
+    @MainThread
+    protected synchronized void addTasks(AbstractProvisioningTask... tasks) {
+        for (AbstractProvisioningTask task : tasks) {
+            mTasks.add(task);
+        }
+    }
+
+    protected abstract void setUpTasks();
+    protected abstract void performCleanup();
+    protected abstract int getErrorTitle();
+    protected abstract int getErrorMsgId(AbstractProvisioningTask task, int errorCode);
+    protected abstract boolean getRequireFactoryReset(AbstractProvisioningTask task, int errorCode);
+
+    /**
+     * Start the provisioning process. The tasks loaded in {@link #setUpTasks()} ()} will be
+     * processed one by one and the respective callbacks will be given to the UI.
+     */
+    @MainThread
+    public synchronized void start(Looper looper) {
+        start(new ProvisioningTaskHandler(looper));
+    }
+
+    @VisibleForTesting
+    void start(Handler handler) {
+        if (mStatus != STATUS_NOT_STARTED) {
+            return;
+        }
+        mWorkerHandler = checkNotNull(handler);
+
+        mStatus = STATUS_RUNNING;
+        runTask(0);
+    }
+
+    /**
+     * Cancel the provisioning progress. When the cancellation is complete, the
+     * {@link ProvisioningControllerCallback#cleanUpCompleted()} callback will be given.
+     */
+    @MainThread
+    public synchronized void cancel() {
+        if (mStatus != STATUS_RUNNING
+                && mStatus != STATUS_TASKS_COMPLETED
+                && mStatus != STATUS_CANCELLING
+                && mStatus != STATUS_CLEANED_UP
+                && mStatus != STATUS_ERROR) {
+            ProvisionLogger.logd("Cancel called, but status is " + mStatus);
+            return;
+        }
+
+        ProvisionLogger.logd("ProvisioningController: cancelled");
+        mStatus = STATUS_CANCELLING;
+        cleanup(STATUS_CLEANED_UP);
+    }
+
+    @MainThread
+    public synchronized void preFinalize() {
+        if (mStatus != STATUS_TASKS_COMPLETED) {
+            return;
+        }
+
+        mStatus = STATUS_DONE;
+        mFinalizationController.provisioningInitiallyDone(mParams);
+        mCallback.preFinalizationCompleted();
+    }
+
+    private void runTask(int index) {
+        AbstractProvisioningTask nextTask = mTasks.get(index);
+        Message msg = mWorkerHandler.obtainMessage(MSG_RUN_TASK, mUserId, 0 /* arg2 not used */,
+                nextTask);
+        mWorkerHandler.sendMessage(msg);
+        mCallback.progressUpdate(nextTask.getStatusMsgId());
+    }
+
+    private void tasksCompleted() {
+        mStatus = STATUS_TASKS_COMPLETED;
+        mCurrentTaskIndex = -1;
+        mCallback.provisioningTasksCompleted();
+    }
+
+    @Override
+    // Note that this callback might come on the main thread
+    public synchronized void onSuccess(AbstractProvisioningTask task) {
+        if (mStatus != STATUS_RUNNING) {
+            return;
+        }
+
+        mCurrentTaskIndex++;
+        if (mCurrentTaskIndex == mTasks.size()) {
+            tasksCompleted();
+        } else {
+            runTask(mCurrentTaskIndex);
+        }
+    }
+
+    @Override
+    // Note that this callback might come on the main thread
+    public synchronized void onError(AbstractProvisioningTask task, int errorCode) {
+        mStatus = STATUS_ERROR;
+        cleanup(STATUS_ERROR);
+        mProvisioningAnalyticsTracker.logProvisioningError(mContext, task, errorCode);
+        mCallback.error(getErrorTitle(), getErrorMsgId(task, errorCode),
+                getRequireFactoryReset(task, errorCode));
+    }
+
+    private void cleanup(final int newStatus) {
+        mWorkerHandler.post(() -> {
+                performCleanup();
+                mStatus = newStatus;
+                mCallback.cleanUpCompleted();
+            });
+    }
+
+    /**
+     * Handler that runs the provisioning tasks.
+     *
+     * <p>We're using a {@link HandlerThread} for all the provisioning tasks in order to not
+     * block the UI thread.</p>
+     */
+    protected static class ProvisioningTaskHandler extends Handler {
+        public ProvisioningTaskHandler(Looper looper) {
+            super(looper);
+        }
+
+        public void handleMessage(Message msg) {
+            if (msg.what == MSG_RUN_TASK) {
+                AbstractProvisioningTask task = (AbstractProvisioningTask) msg.obj;
+                ProvisionLogger.logd("Running task: " + task.getClass().getSimpleName());
+                task.run(msg.arg1);
+            } else {
+                ProvisionLogger.loge("Unknown message: " + msg.what);
+            }
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/Constants.java b/src/com/android/managedprovisioning/provisioning/Constants.java
new file mode 100644
index 0000000..05d7f5f
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/Constants.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+/**
+ * Constants used for communication between service and activity.
+ */
+public final class Constants {
+    // Intents sent by the activity to the service
+    /**
+     * Intent action sent to the {@link ProvisioningService} to indicate that provisioning should be
+     * started.
+     */
+    public static final String ACTION_START_PROVISIONING =
+            "com.android.managedprovisioning.START_PROVISIONING";
+
+    private Constants() {
+        // Do not instantiate
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningController.java b/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningController.java
new file mode 100644
index 0000000..95b1fa9
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningController.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.finalization.FinalizationController;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+import com.android.managedprovisioning.task.AddWifiNetworkTask;
+import com.android.managedprovisioning.task.CopyAccountToUserTask;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DeviceOwnerInitializeProvisioningTask;
+import com.android.managedprovisioning.task.DisallowAddUserTask;
+import com.android.managedprovisioning.task.DownloadPackageTask;
+import com.android.managedprovisioning.task.InstallPackageTask;
+import com.android.managedprovisioning.task.SetDevicePolicyTask;
+import com.android.managedprovisioning.task.VerifyPackageTask;
+
+/**
+ * Controller for Device Owner provisioning.
+ */
+public class DeviceOwnerProvisioningController extends AbstractProvisioningController {
+
+    public DeviceOwnerProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            int userId,
+            ProvisioningControllerCallback callback) {
+        this(context, params, userId, callback, new FinalizationController(context));
+    }
+
+    @VisibleForTesting
+    DeviceOwnerProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            int userId,
+            ProvisioningControllerCallback callback,
+            FinalizationController finalizationController) {
+        super(context, params, userId, callback, finalizationController);
+    }
+
+    protected void setUpTasks() {
+        addTasks(new DeviceOwnerInitializeProvisioningTask(mContext, mParams, this));
+
+        if (mParams.wifiInfo != null) {
+            addTasks(new AddWifiNetworkTask(mContext, mParams, this));
+        }
+
+        if (mParams.deviceAdminDownloadInfo != null) {
+            DownloadPackageTask downloadTask = new DownloadPackageTask(mContext, mParams, this);
+            addTasks(downloadTask,
+                    new VerifyPackageTask(downloadTask, mContext, mParams, this),
+                    new InstallPackageTask(downloadTask, mContext, mParams, this));
+        }
+
+        addTasks(
+                new DeleteNonRequiredAppsTask(true /* new profile */, mContext, mParams, this),
+                new SetDevicePolicyTask(mContext, mParams, this),
+                new DisallowAddUserTask(mContext, mParams, this)
+        );
+
+        if (mParams.accountToMigrate != null) {
+            addTasks(new CopyAccountToUserTask(UserHandle.USER_SYSTEM, mContext, mParams, this));
+        }
+    }
+
+    @Override protected int getErrorTitle() {
+        return R.string.cant_set_up_device;
+    }
+
+    @Override
+    protected int getErrorMsgId(AbstractProvisioningTask task, int errorCode) {
+        if (task instanceof AddWifiNetworkTask) {
+            return R.string.device_owner_error_wifi;
+        } else if (task instanceof DownloadPackageTask) {
+            switch (errorCode) {
+                case DownloadPackageTask.ERROR_DOWNLOAD_FAILED:
+                    return R.string.device_owner_error_download_failed;
+                case DownloadPackageTask.ERROR_OTHER:
+                    return R.string.cant_set_up_device;
+            }
+        } else if (task instanceof VerifyPackageTask) {
+            switch (errorCode) {
+                case VerifyPackageTask.ERROR_HASH_MISMATCH:
+                    return R.string.device_owner_error_hash_mismatch;
+                case VerifyPackageTask.ERROR_DEVICE_ADMIN_MISSING:
+                    return R.string.device_owner_error_package_invalid;
+            }
+        } else if (task instanceof InstallPackageTask) {
+            switch (errorCode) {
+                case InstallPackageTask.ERROR_PACKAGE_INVALID:
+                    return R.string.device_owner_error_package_invalid;
+                case InstallPackageTask.ERROR_INSTALLATION_FAILED:
+                    return R.string.device_owner_error_installation_failed;
+            }
+        }
+
+        return R.string.cant_set_up_device;
+    }
+
+    @Override
+    protected boolean getRequireFactoryReset(AbstractProvisioningTask task, int errorCode) {
+        return !((task instanceof AddWifiNetworkTask)
+                || (task instanceof DeviceOwnerInitializeProvisioningTask));
+    }
+
+    @Override
+    protected void performCleanup() {
+        // Do nothing, because a factory reset will be triggered.
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningController.java b/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningController.java
new file mode 100644
index 0000000..aae99a5
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningController.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.finalization.FinalizationController;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+import com.android.managedprovisioning.task.CopyAccountToUserTask;
+import com.android.managedprovisioning.task.CreateManagedProfileTask;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
+import com.android.managedprovisioning.task.InstallExistingPackageTask;
+import com.android.managedprovisioning.task.ManagedProfileSettingsTask;
+import com.android.managedprovisioning.task.SetDevicePolicyTask;
+import com.android.managedprovisioning.task.StartManagedProfileTask;
+
+/**
+ * Controller for Profile Owner provisioning.
+ */
+// TODO: Consider splitting this controller into one for managed profile and one for user owner
+public class ProfileOwnerProvisioningController extends AbstractProvisioningController {
+    private final int mParentUserId;
+
+    public ProfileOwnerProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            int userId,
+            ProvisioningControllerCallback callback) {
+        this(context, params, userId, callback, new FinalizationController(context));
+    }
+
+    @VisibleForTesting
+    ProfileOwnerProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            int userId,
+            ProvisioningControllerCallback callback,
+            FinalizationController finalizationController) {
+        super(context, params, userId, callback, finalizationController);
+        mParentUserId = userId;
+    }
+
+    protected void setUpTasks() {
+        if (ACTION_PROVISION_MANAGED_PROFILE.equals(mParams.provisioningAction)) {
+            setUpTasksManagedProfile();
+        } else {
+            setUpTasksManagedUser();
+        }
+    }
+
+    private void setUpTasksManagedProfile() {
+        addTasks(
+                new CreateManagedProfileTask(mContext, mParams, this),
+                new InstallExistingPackageTask(mParams.inferDeviceAdminPackageName(), mContext,
+                        mParams, this),
+                new SetDevicePolicyTask(mContext, mParams, this),
+                new ManagedProfileSettingsTask(mContext, mParams, this),
+                new DisableInstallShortcutListenersTask(mContext, mParams, this),
+                new StartManagedProfileTask(mContext, mParams, this),
+                new CopyAccountToUserTask(mParentUserId, mContext, mParams, this));
+    }
+
+    private void setUpTasksManagedUser() {
+        addTasks(
+                new DeleteNonRequiredAppsTask(true /* new profile */, mContext, mParams, this),
+                new InstallExistingPackageTask(mParams.inferDeviceAdminPackageName(), mContext,
+                        mParams, this),
+                new SetDevicePolicyTask(mContext, mParams, this));
+    }
+
+    @Override
+    public synchronized void onSuccess(AbstractProvisioningTask task) {
+        if (task instanceof CreateManagedProfileTask) {
+            // If the task was creating a managed profile, store the profile id
+            mUserId = ((CreateManagedProfileTask) task).getProfileUserId();
+        }
+        super.onSuccess(task);
+    }
+
+    @Override
+    protected void performCleanup() {
+        if (ACTION_PROVISION_MANAGED_PROFILE.equals(mParams.provisioningAction)
+                && mCurrentTaskIndex != 0) {
+            ProvisionLogger.logd("Removing managed profile");
+            UserManager um = mContext.getSystemService(UserManager.class);
+            um.removeUserEvenWhenDisallowed(mUserId);
+        }
+    }
+
+    @Override protected int getErrorTitle() {
+        return R.string.cant_set_up_profile;
+    }
+
+    @Override
+    protected int getErrorMsgId(AbstractProvisioningTask task, int errorCode) {
+        return R.string.managed_provisioning_error_text;
+    }
+
+    @Override
+    protected boolean getRequireFactoryReset(AbstractProvisioningTask task, int errorCode) {
+        return false;
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningActivity.java b/src/com/android/managedprovisioning/provisioning/ProvisioningActivity.java
new file mode 100644
index 0000000..7925934
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningActivity.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_PROVISIONING_ACTIVITY_TIME_MS;
+
+import android.app.Activity;
+import android.app.DialogFragment;
+import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.DialogBuilder;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.SetupGlifLayoutActivity;
+import com.android.managedprovisioning.common.SimpleDialog;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.CustomizationParams;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+/**
+ * Progress activity shown whilst provisioning is ongoing.
+ *
+ * <p>This activity registers for updates of the provisioning process from the
+ * {@link ProvisioningManager}. It shows progress updates as provisioning progresses and handles
+ * showing of cancel and error dialogs.</p>
+ */
+public class ProvisioningActivity extends SetupGlifLayoutActivity
+        implements SimpleDialog.SimpleDialogListener, ProvisioningManagerCallback {
+
+    private static final String KEY_PROVISIONING_STARTED = "ProvisioningStarted";
+
+    private static final String ERROR_DIALOG_OK = "ErrorDialogOk";
+    private static final String ERROR_DIALOG_RESET = "ErrorDialogReset";
+    private static final String CANCEL_PROVISIONING_DIALOG_OK = "CancelProvisioningDialogOk";
+    private static final String CANCEL_PROVISIONING_DIALOG_RESET = "CancelProvisioningDialogReset";
+
+    private ProvisioningParams mParams;
+    private ProvisioningManager mProvisioningManager;
+
+    public ProvisioningActivity() {
+        this(null, new Utils());
+    }
+
+    @VisibleForTesting
+    public ProvisioningActivity(ProvisioningManager provisioningManager, Utils utils) {
+        super(utils);
+        mProvisioningManager = provisioningManager;
+    }
+
+    // Lazily initialize ProvisioningManager, since we can't call in ProvisioningManager.getInstance
+    // in constructor as base context is not available in constructor
+    private ProvisioningManager getProvisioningManager() {
+        if (mProvisioningManager == null) {
+            mProvisioningManager = ProvisioningManager.getInstance(this);
+        }
+        return mProvisioningManager;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mParams = getIntent().getParcelableExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS);
+        initializeUi(mParams);
+
+        if (savedInstanceState == null
+                || !savedInstanceState.getBoolean(KEY_PROVISIONING_STARTED)) {
+            getProvisioningManager().maybeStartProvisioning(mParams);
+        }
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putBoolean(KEY_PROVISIONING_STARTED, true);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (!isAnyDialogAdded()) {
+            getProvisioningManager().registerListener(this);
+        }
+    }
+
+    private boolean isAnyDialogAdded() {
+        return isDialogAdded(ERROR_DIALOG_OK)
+                || isDialogAdded(ERROR_DIALOG_RESET)
+                || isDialogAdded(CANCEL_PROVISIONING_DIALOG_OK)
+                || isDialogAdded(CANCEL_PROVISIONING_DIALOG_RESET);
+    }
+
+    @Override
+    public void onPause() {
+        getProvisioningManager().unregisterListener(this);
+        super.onPause();
+    }
+
+    @Override
+    public void onBackPressed() {
+        // if EXTRA_PROVISIONING_SKIP_USER_CONSENT is specified, don't allow user to cancel
+        if (mParams.skipUserConsent) {
+            return;
+        }
+
+        showCancelProvisioningDialog();
+    }
+
+    @Override
+    public void preFinalizationCompleted() {
+        ProvisionLogger.logi("ProvisioningActivity pre-finalization completed");
+        setResult(Activity.RESULT_OK);
+        finish();
+    }
+
+    @Override
+    public void progressUpdate(int progressMessage) {
+    }
+
+    @Override
+    public void error(int titleId, int messageId, boolean resetRequired) {
+        SimpleDialog.Builder dialogBuilder = new SimpleDialog.Builder()
+                .setTitle(titleId)
+                .setMessage(messageId)
+                .setCancelable(false)
+                .setPositiveButtonMessage(resetRequired
+                        ? R.string.reset : R.string.device_owner_error_ok);
+
+        showDialog(dialogBuilder, resetRequired ? ERROR_DIALOG_RESET : ERROR_DIALOG_OK);
+    }
+
+    @Override
+    protected void showDialog(DialogBuilder builder, String tag) {
+        // Whenever a dialog is shown, stop listening for further updates
+        getProvisioningManager().unregisterListener(this);
+        super.showDialog(builder, tag);
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_PROVISIONING_ACTIVITY_TIME_MS;
+    }
+
+    private void showCancelProvisioningDialog() {
+        final boolean isDoProvisioning = getUtils().isDeviceOwnerAction(mParams.provisioningAction);
+        final String dialogTag = isDoProvisioning ? CANCEL_PROVISIONING_DIALOG_RESET
+                : CANCEL_PROVISIONING_DIALOG_OK;
+        final int positiveResId = isDoProvisioning ? R.string.reset
+                : R.string.profile_owner_cancel_ok;
+        final int negativeResId = isDoProvisioning ? R.string.device_owner_cancel_cancel
+                : R.string.profile_owner_cancel_cancel;
+        final int dialogMsgResId = isDoProvisioning
+                ? R.string.this_will_reset_take_back_first_screen
+                : R.string.profile_owner_cancel_message;
+
+        SimpleDialog.Builder dialogBuilder = new SimpleDialog.Builder()
+                .setCancelable(false)
+                .setMessage(dialogMsgResId)
+                .setNegativeButtonMessage(negativeResId)
+                .setPositiveButtonMessage(positiveResId);
+        if (isDoProvisioning) {
+            dialogBuilder.setTitle(R.string.stop_setup_reset_device_question);
+        }
+
+        showDialog(dialogBuilder, dialogTag);
+    }
+
+    private void onProvisioningAborted() {
+        setResult(Activity.RESULT_CANCELED);
+        finish();
+    }
+
+    @Override
+    public void onNegativeButtonClick(DialogFragment dialog) {
+        switch (dialog.getTag()) {
+            case CANCEL_PROVISIONING_DIALOG_OK:
+            case CANCEL_PROVISIONING_DIALOG_RESET:
+                dialog.dismiss();
+                break;
+            default:
+                SimpleDialog.throwButtonClickHandlerNotImplemented(dialog);
+        }
+        getProvisioningManager().registerListener(this);
+    }
+
+    @Override
+    public void onPositiveButtonClick(DialogFragment dialog) {
+        switch (dialog.getTag()) {
+            case CANCEL_PROVISIONING_DIALOG_OK:
+                getProvisioningManager().cancelProvisioning();
+                onProvisioningAborted();
+                break;
+            case CANCEL_PROVISIONING_DIALOG_RESET:
+                getUtils().sendFactoryResetBroadcast(this, "DO provisioning cancelled by user");
+                onProvisioningAborted();
+                break;
+            case ERROR_DIALOG_OK:
+                onProvisioningAborted();
+                break;
+            case ERROR_DIALOG_RESET:
+                getUtils().sendFactoryResetBroadcast(this, "Error during DO provisioning");
+                onProvisioningAborted();
+                break;
+            default:
+                SimpleDialog.throwButtonClickHandlerNotImplemented(dialog);
+        }
+    }
+
+    private void initializeUi(ProvisioningParams params) {
+        final boolean isDoProvisioning = getUtils().isDeviceOwnerAction(params.provisioningAction);
+        final int headerResId = isDoProvisioning ? R.string.setup_work_device
+                : R.string.setting_up_workspace;
+        final int titleResId = isDoProvisioning ? R.string.setup_device_progress
+                : R.string.setup_profile_progress;
+
+        initializeLayoutParams(R.layout.progress, headerResId, true,
+                CustomizationParams.createInstance(mParams, this, mUtils).statusBarColor);
+        setTitle(titleResId);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningControllerCallback.java b/src/com/android/managedprovisioning/provisioning/ProvisioningControllerCallback.java
new file mode 100644
index 0000000..6f2ed3c
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningControllerCallback.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+/**
+ * Interface for communication of updates from the provisioning controller.
+ */
+public interface ProvisioningControllerCallback extends ProvisioningManagerCallback {
+    /**
+     * Method called when the provisioning process was successfully clean up. This can occur after
+     * an error or after the user cancelled progress.
+     */
+    void cleanUpCompleted();
+
+    /**
+     * Method called to indicate that the provisioning tasks have been completed.
+     */
+    void provisioningTasksCompleted();
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactory.java b/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactory.java
new file mode 100644
index 0000000..f38c327
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactory.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+/**
+ * Factory class to create an {@link AbstractProvisioningController} from a set of
+ * {@link ProvisioningParams}.
+ */
+@VisibleForTesting
+public class ProvisioningControllerFactory {
+
+    private final Utils mUtils = new Utils();
+
+    /**
+     * This method constructs the controller used for the given type of provisioning.
+     */
+    @VisibleForTesting
+    public AbstractProvisioningController createProvisioningController(
+            Context context,
+            ProvisioningParams params,
+            ProvisioningControllerCallback callback) {
+        if (mUtils.isDeviceOwnerAction(params.provisioningAction)) {
+            return new DeviceOwnerProvisioningController(
+                    context,
+                    params,
+                    UserHandle.myUserId(),
+                    callback);
+        } else {
+            return new ProfileOwnerProvisioningController(
+                    context,
+                    params,
+                    UserHandle.myUserId(),
+                    callback);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningManager.java b/src/com/android/managedprovisioning/provisioning/ProvisioningManager.java
new file mode 100644
index 0000000..4bc29ad
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningManager.java
@@ -0,0 +1,259 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_TOTAL_TASK_TIME_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.CANCELLED_DURING_PROVISIONING;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.util.Pair;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.analytics.TimeLogger;
+import com.android.managedprovisioning.common.Globals;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Singleton instance that provides communications between the ongoing provisioning process and the
+ * UI layer.
+ */
+public class ProvisioningManager implements ProvisioningControllerCallback {
+    private static ProvisioningManager sInstance;
+
+    private static final Intent SERVICE_INTENT = new Intent().setComponent(new ComponentName(
+            Globals.MANAGED_PROVISIONING_PACKAGE_NAME,
+            ProvisioningService.class.getName()));
+
+    private static final int CALLBACK_NONE = 0;
+    private static final int CALLBACK_ERROR = 1;
+    private static final int CALLBACK_PROGRESS = 2;
+    private static final int CALLBACK_PRE_FINALIZED = 3;
+
+    private final Context mContext;
+    private final ProvisioningControllerFactory mFactory;
+    private final Handler mUiHandler;
+
+    @GuardedBy("this")
+    private AbstractProvisioningController mController;
+    @GuardedBy("this")
+    private List<ProvisioningManagerCallback> mCallbacks = new ArrayList<>();
+
+    private final ProvisioningAnalyticsTracker mProvisioningAnalyticsTracker;
+    private final TimeLogger mTimeLogger;
+    private int mLastCallback = CALLBACK_NONE;
+    private Pair<Pair<Integer, Integer>, Boolean> mLastError; // TODO: refactor
+    private int mLastProgressMsgId;
+    private HandlerThread mHandlerThread;
+
+    public static ProvisioningManager getInstance(Context context) {
+        if (sInstance == null) {
+            sInstance = new ProvisioningManager(context.getApplicationContext());
+        }
+        return sInstance;
+    }
+
+    private ProvisioningManager(Context context) {
+        this(
+                context,
+                new Handler(Looper.getMainLooper()),
+                new ProvisioningControllerFactory(),
+                ProvisioningAnalyticsTracker.getInstance(),
+                new TimeLogger(context, PROVISIONING_TOTAL_TASK_TIME_MS));
+    }
+
+    @VisibleForTesting
+    ProvisioningManager(
+            Context context,
+            Handler uiHandler,
+            ProvisioningControllerFactory factory,
+            ProvisioningAnalyticsTracker analyticsTracker,
+            TimeLogger timeLogger) {
+        mContext = checkNotNull(context);
+        mUiHandler = checkNotNull(uiHandler);
+        mFactory = checkNotNull(factory);
+        mProvisioningAnalyticsTracker = checkNotNull(analyticsTracker);
+        mTimeLogger = checkNotNull(timeLogger);
+    }
+
+    /**
+     * Initiate a new provisioning process, unless one is already ongoing.
+     *
+     * @param params {@link ProvisioningParams} associated with the new provisioning process.
+     */
+    public void maybeStartProvisioning(final ProvisioningParams params) {
+        synchronized (this) {
+            if (mController == null) {
+                mTimeLogger.start();
+                startNewProvisioningLocked(params);
+                mProvisioningAnalyticsTracker.logProvisioningStarted(mContext, params);
+            } else {
+                ProvisionLogger.loge("Trying to start provisioning, but it's already running");
+            }
+        }
+   }
+
+    private void startNewProvisioningLocked(final ProvisioningParams params) {
+        ProvisionLogger.logd("Initializing provisioning process");
+        if (mHandlerThread == null) {
+            mHandlerThread = new HandlerThread("Provisioning Worker");
+            mHandlerThread.start();
+            mContext.startService(SERVICE_INTENT);
+        }
+        mLastCallback = CALLBACK_NONE;
+        mLastError = null;
+        mLastProgressMsgId = 0;
+
+        mController = mFactory.createProvisioningController(mContext, params, this);
+        mController.start(mHandlerThread.getLooper());
+    }
+
+    /**
+     * Cancel the provisioning progress.
+     */
+    public void cancelProvisioning() {
+        synchronized (this) {
+            if (mController != null) {
+                mProvisioningAnalyticsTracker.logProvisioningCancelled(mContext,
+                        CANCELLED_DURING_PROVISIONING);
+                mController.cancel();
+            } else {
+                ProvisionLogger.loge("Trying to cancel provisioning, but controller is null");
+            }
+        }
+    }
+
+    /**
+     * Register a listener for updates of the provisioning progress.
+     *
+     * <p>Registering a listener will immediately result in the last callback being sent to the
+     * listener. All callbacks will occur on the UI thread.</p>
+     *
+     * @param callback listener to be registered.
+     */
+    public void registerListener(ProvisioningManagerCallback callback) {
+        synchronized (this) {
+            mCallbacks.add(callback);
+            callLastCallbackLocked(callback);
+        }
+    }
+
+    /**
+     * Unregister a listener from updates of the provisioning progress.
+     *
+     * @param callback listener to be unregistered.
+     */
+    public void unregisterListener(ProvisioningManagerCallback callback) {
+        synchronized (this) {
+            mCallbacks.remove(callback);
+        }
+    }
+
+    @Override
+    public void cleanUpCompleted() {
+        synchronized (this) {
+            clearControllerLocked();
+        }
+    }
+
+    @Override
+    public void error(int titleId, int messageId, boolean factoryResetRequired) {
+        synchronized (this) {
+            for (ProvisioningManagerCallback callback : mCallbacks) {
+                mUiHandler.post(() -> callback.error(titleId, messageId, factoryResetRequired));
+            }
+            mLastCallback = CALLBACK_ERROR;
+            mLastError = Pair.create(Pair.create(titleId, messageId), factoryResetRequired);
+        }
+    }
+
+    @Override
+    public void progressUpdate(int progressMsgId) {
+        synchronized (this) {
+            for (ProvisioningManagerCallback callback : mCallbacks) {
+                mUiHandler.post(() -> callback.progressUpdate(progressMsgId));
+            }
+            mLastCallback = CALLBACK_PROGRESS;
+            mLastProgressMsgId = progressMsgId;
+        }
+    }
+
+    @Override
+    public void provisioningTasksCompleted() {
+        synchronized (this) {
+            mTimeLogger.stop();
+            if (mController != null) {
+                mUiHandler.post(mController::preFinalize);
+            } else {
+                ProvisionLogger.loge("Trying to pre-finalize provisioning, but controller is null");
+            }
+        }
+    }
+
+    @Override
+    public void preFinalizationCompleted() {
+        synchronized (this) {
+            for (ProvisioningManagerCallback callback : mCallbacks) {
+                mUiHandler.post(callback::preFinalizationCompleted);
+            }
+            mLastCallback = CALLBACK_PRE_FINALIZED;
+            mProvisioningAnalyticsTracker.logProvisioningSessionCompleted(mContext);
+            clearControllerLocked();
+            ProvisionLogger.logi("ProvisioningManager pre-finalization completed");
+        }
+    }
+
+    private void callLastCallbackLocked(ProvisioningManagerCallback callback) {
+        switch (mLastCallback) {
+            case CALLBACK_ERROR:
+                final Pair<Pair<Integer, Integer>, Boolean> error = mLastError;
+                mUiHandler.post(
+                        () -> callback.error(error.first.first, error.first.second, error.second));
+                break;
+            case CALLBACK_PROGRESS:
+                final int progressMsg = mLastProgressMsgId;
+                mUiHandler.post(() -> callback.progressUpdate(progressMsg));
+                break;
+            case CALLBACK_PRE_FINALIZED:
+                mUiHandler.post(callback::preFinalizationCompleted);
+                break;
+            default:
+                ProvisionLogger.logd("No previous callback");
+        }
+    }
+
+    private void clearControllerLocked() {
+        mController = null;
+
+        if (mHandlerThread != null) {
+            mHandlerThread.quitSafely();
+            mHandlerThread = null;
+            mContext.stopService(SERVICE_INTENT);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningManagerCallback.java b/src/com/android/managedprovisioning/provisioning/ProvisioningManagerCallback.java
new file mode 100644
index 0000000..6888bec
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningManagerCallback.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+/**
+ * Interface for listeners to the {@link ProvisioningManager}. A listener can be registered for
+ * updated via {@link ProvisioningManager#registerListener(ProvisioningManagerCallback)}.
+ */
+public interface ProvisioningManagerCallback {
+    /**
+     * Method called when an error was encountered during the provisioning process.
+     *
+     * @param dialogTitleId resource id of the error title to be displayed to the user.
+     * @param errorMessageId resource id of the error message to be displayed to the user.
+     * @param factoryResetRequired indicating whether a factory reset is necessary.
+     */
+    void error(int dialogTitleId, int errorMessageId, boolean factoryResetRequired);
+
+    /**
+     * Method called to indicate a progress update in the provisioning process.
+     *
+     * @param progressMessageId resource id of the progress message to be displayed to the user.
+     */
+    void progressUpdate(int progressMessageId);
+
+    /**
+     * Method called to indicate that pre-finalization has completed.
+     */
+    void preFinalizationCompleted();
+}
diff --git a/src/com/android/managedprovisioning/provisioning/ProvisioningService.java b/src/com/android/managedprovisioning/provisioning/ProvisioningService.java
new file mode 100644
index 0000000..bcc71d3
--- /dev/null
+++ b/src/com/android/managedprovisioning/provisioning/ProvisioningService.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * Service that keeps the provisioning process alive.
+ */
+public class ProvisioningService extends Service {
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/AbstractProvisioningTask.java b/src/com/android/managedprovisioning/task/AbstractProvisioningTask.java
new file mode 100644
index 0000000..bd0f9ac
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/AbstractProvisioningTask.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.VIEW_UNKNOWN;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+
+import com.android.managedprovisioning.analytics.TimeLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+/**
+ * Base class for all provisioning tasks.
+ */
+public abstract class AbstractProvisioningTask {
+    protected final Context mContext;
+    protected final ProvisioningParams mProvisioningParams;
+    private final Callback mCallback;
+    private TimeLogger mTimeLogger;
+
+    /**
+     * Constructor for a provisioning task
+     *
+     * @param context {@link Context} object.
+     * @param provisioningParams {@link ProvisioningParams} object for this provisioning process.
+     * @param callback {@link Callback} object to return task results.
+     */
+    AbstractProvisioningTask(
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        mContext = checkNotNull(context);
+        mProvisioningParams = provisioningParams;
+        mCallback = checkNotNull(callback);
+
+        mTimeLogger = new TimeLogger(context, getMetricsCategory());
+    }
+
+    protected final void success() {
+        mCallback.onSuccess(this);
+    }
+
+    protected final void error(int resultCode) {
+        mCallback.onError(this, resultCode);
+    }
+
+    protected void startTaskTimer() {
+        mTimeLogger.start();
+    }
+
+    protected void stopTaskTimer() {
+        mTimeLogger.stop();
+    }
+
+    protected int getMetricsCategory() {
+        return VIEW_UNKNOWN;
+    }
+
+    /**
+     * Run the task.
+     *
+     * @param userId the id of the user the action should be performed on.
+     */
+    public abstract void run(int userId);
+
+    /**
+     * @return the resource id of the status message related to the task.
+     */
+    public abstract int getStatusMsgId();
+
+    /**
+     * Callback class for provisioning tasks.
+     *
+     * <p>Every execution of run should result in exactly one of
+     * {@link Callback#onSuccess(AbstractProvisioningTask)} and
+     * {@link Callback#onError(AbstractProvisioningTask, int)} to be called.</p>
+     */
+    public interface Callback {
+
+        /**
+         * Callback indicating that the task has finished successfully.
+         *
+         * @param task the task that finished executing.
+         */
+        void onSuccess(AbstractProvisioningTask task);
+
+        /**
+         * Callback indicating that the task has encountered an error.
+         *
+         * @param task the task that finished executing.
+         * @param errorCode a error code indicating the type of error that happened.
+         */
+        void onError(AbstractProvisioningTask task, int errorCode);
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
index 681ba59..cd5e7cc 100644
--- a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
+++ b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
@@ -16,181 +16,180 @@
 
 package com.android.managedprovisioning.task;
 
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.content.Context;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
+import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.support.annotation.Nullable;
-import android.text.TextUtils;
 
-import java.lang.Thread;
-
-import com.android.managedprovisioning.NetworkMonitor;
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.WifiConfig;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ProvisionLogger;
 import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.WifiInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.wifi.NetworkMonitor;
+import com.android.managedprovisioning.task.wifi.WifiConfigurationProvider;
 
 /**
- * Adds a wifi network to system.
+ * Adds a wifi network to the system and waits for it to successfully connect. If the system does
+ * not support wifi, the adding or connection times out {@link #error(int)} will be called.
  */
-public class AddWifiNetworkTask implements NetworkMonitor.Callback {
+public class AddWifiNetworkTask extends AbstractProvisioningTask
+        implements NetworkMonitor.NetworkConnectedCallback {
     private static final int RETRY_SLEEP_DURATION_BASE_MS = 500;
     private static final int RETRY_SLEEP_MULTIPLIER = 2;
     private static final int MAX_RETRIES = 6;
     private static final int RECONNECT_TIMEOUT_MS = 60000;
 
-    private final Context mContext;
-    @Nullable
-    private final WifiInfo mWifiInfo;
-    private final Callback mCallback;
-
-    private WifiManager mWifiManager;
-    private NetworkMonitor mNetworkMonitor;
-    private WifiConfig mWifiConfig;
+    private final WifiConfigurationProvider mWifiConfigurationProvider;
+    private final WifiManager mWifiManager;
+    private final NetworkMonitor mNetworkMonitor;
 
     private Handler mHandler;
     private boolean mTaskDone = false;
 
-    private int mDurationNextSleep = RETRY_SLEEP_DURATION_BASE_MS;
-    private int mRetriesLeft = MAX_RETRIES;
-
     private final Utils mUtils = new Utils();
+    private Runnable mTimeoutRunnable;
 
-    /**
-     * @throws IllegalArgumentException if the {@code ssid} parameter is empty.
-     */
-    public AddWifiNetworkTask(Context context, WifiInfo wifiInfo, Callback callback) {
-        mCallback = callback;
-        mContext = context;
-        mWifiInfo = wifiInfo;
-        mWifiManager  = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
-        mWifiConfig = new WifiConfig(mWifiManager);
-
-        HandlerThread thread = new HandlerThread("Timeout thread",
-                android.os.Process.THREAD_PRIORITY_BACKGROUND);
-        thread.start();
-        Looper looper = thread.getLooper();
-        mHandler = new Handler(looper);
+    public AddWifiNetworkTask(
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        this(
+                new NetworkMonitor(context),
+                new WifiConfigurationProvider(),
+                context, provisioningParams, callback);
     }
 
-    public void run() {
-        if (mWifiInfo == null) {
-            mCallback.onSuccess();
+    @VisibleForTesting
+    AddWifiNetworkTask(
+            NetworkMonitor networkMonitor,
+            WifiConfigurationProvider wifiConfigurationProvider,
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        super(context, provisioningParams, callback);
+
+        mNetworkMonitor = checkNotNull(networkMonitor);
+        mWifiConfigurationProvider = checkNotNull(wifiConfigurationProvider);
+        mWifiManager  = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+    }
+
+    @Override
+    public void run(int userId) {
+        if (mProvisioningParams.wifiInfo == null) {
+            success();
             return;
         }
-        if (!enableWifi()) {
+
+        if (mWifiManager == null || !enableWifi()) {
             ProvisionLogger.loge("Failed to enable wifi");
-            mCallback.onError();
+            error(0);
             return;
         }
 
         if (isConnectedToSpecifiedWifi()) {
-            mCallback.onSuccess();
+            success();
             return;
         }
 
-        mNetworkMonitor = new NetworkMonitor(mContext, this);
+        mTaskDone = false;
+        mHandler = new Handler();
+        mNetworkMonitor.startListening(this);
         connectToProvidedNetwork();
     }
 
-    private void connectToProvidedNetwork() {
-        int netId = mWifiConfig.addNetwork(mWifiInfo.ssid, mWifiInfo.hidden, mWifiInfo.securityType,
-                mWifiInfo.password, mWifiInfo.proxyHost, mWifiInfo.proxyPort,
-                mWifiInfo.proxyBypassHosts, mWifiInfo.pacUrl);
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_connect_to_wifi;
+    }
 
-        if (netId == -1) {
-            ProvisionLogger.loge("Failed to save network.");
-            if (mRetriesLeft > 0) {
-                ProvisionLogger.loge("Retrying in " + mDurationNextSleep + " ms.");
-                try {
-                    Thread.sleep(mDurationNextSleep);
-                } catch (InterruptedException e) {
-                    ProvisionLogger.loge("Retry interrupted.");
-                }
-                mDurationNextSleep *= RETRY_SLEEP_MULTIPLIER;
-                mRetriesLeft--;
-                connectToProvidedNetwork();
-                return;
-            } else {
-                ProvisionLogger.loge("Already retried " +  MAX_RETRIES + " times."
-                        + " Quit retrying and report error.");
-                mCallback.onError();
-                return;
-            }
+    private void connectToProvidedNetwork() {
+        WifiConfiguration wifiConf =
+                mWifiConfigurationProvider.generateWifiConfiguration(mProvisioningParams.wifiInfo);
+
+        if (wifiConf == null) {
+            ProvisionLogger.loge("WifiConfiguration is null");
+            error(0);
+            return;
         }
 
+        int netId = tryAddingNetwork(wifiConf);
+        if (netId == -1) {
+            ProvisionLogger.loge("Unable to add network after trying " +  MAX_RETRIES + " times.");
+            error(0);
+            return;
+        }
+
+        // Setting disableOthers to 'true' should trigger a connection attempt.
+        mWifiManager.enableNetwork(netId, true);
+        mWifiManager.saveConfiguration();
+
         // Network was successfully saved, now connect to it.
         if (!mWifiManager.reconnect()) {
             ProvisionLogger.loge("Unable to connect to wifi");
-            mCallback.onError();
+            error(0);
             return;
         }
 
         // NetworkMonitor will call onNetworkConnected when in Wifi mode.
         // Post time out event in case the NetworkMonitor doesn't call back.
-        mHandler.postDelayed(new Runnable() {
-                public void run(){
-                    synchronized(this) {
-                        if (mTaskDone) return;
-                        mTaskDone = true;
-                    }
-                    ProvisionLogger.loge("Setting up wifi connection timed out.");
-                    mCallback.onError();
-                    return;
-                }
-            }, RECONNECT_TIMEOUT_MS);
+        mTimeoutRunnable = () -> finishTask(false);
+        mHandler.postDelayed(mTimeoutRunnable, RECONNECT_TIMEOUT_MS);
+    }
+
+    private int tryAddingNetwork(WifiConfiguration wifiConf) {
+        int netId = mWifiManager.addNetwork(wifiConf);
+        int retriesLeft = MAX_RETRIES;
+        int durationNextSleep = RETRY_SLEEP_DURATION_BASE_MS;
+
+        while(netId == -1 && retriesLeft > 0) {
+            ProvisionLogger.loge("Retrying in " + durationNextSleep + " ms.");
+            try {
+                Thread.sleep(durationNextSleep);
+            } catch (InterruptedException e) {
+                ProvisionLogger.loge("Retry interrupted.");
+            }
+            durationNextSleep *= RETRY_SLEEP_MULTIPLIER;
+            retriesLeft--;
+            netId = mWifiManager.addNetwork(wifiConf);
+        }
+        return netId;
     }
 
     private boolean enableWifi() {
-        return mWifiManager != null
-                && (mWifiManager.isWifiEnabled() || mWifiManager.setWifiEnabled(true));
+        return mWifiManager.isWifiEnabled() || mWifiManager.setWifiEnabled(true);
     }
 
     @Override
     public void onNetworkConnected() {
         if (isConnectedToSpecifiedWifi()) {
-            synchronized(this) {
-                if (mTaskDone) return;
-                mTaskDone = true;
-            }
-
             ProvisionLogger.logd("Connected to the correct network");
-
+            finishTask(true);
             // Remove time out callback.
-            mHandler.removeCallbacksAndMessages(null);
-
-            cleanUp();
-            mCallback.onSuccess();
-            return;
+            mHandler.removeCallbacks(mTimeoutRunnable);
         }
     }
 
-    @Override
-    public void onNetworkDisconnected() {
+    private synchronized void finishTask(boolean isSuccess) {
+        if (mTaskDone) {
+            return;
+        }
 
-    }
-
-    public void cleanUp() {
-        if (mNetworkMonitor != null) {
-            mNetworkMonitor.close();
-            mNetworkMonitor = null;
+        mTaskDone = true;
+        mNetworkMonitor.stopListening();
+        if (isSuccess) {
+            success();
+        } else {
+            error(0);
         }
     }
 
     private boolean isConnectedToSpecifiedWifi() {
         return mUtils.isConnectedToWifi(mContext)
-                && mWifiManager != null
                 && mWifiManager.getConnectionInfo() != null
-                && mWifiInfo.ssid.equals(mWifiManager.getConnectionInfo().getSSID());
-    }
-
-    public abstract static class Callback {
-        public abstract void onSuccess();
-        public abstract void onError();
+                && mProvisioningParams.wifiInfo.ssid.equals(
+                        mWifiManager.getConnectionInfo().getSSID());
     }
 }
diff --git a/src/com/android/managedprovisioning/task/CopyAccountToUserTask.java b/src/com/android/managedprovisioning/task/CopyAccountToUserTask.java
new file mode 100644
index 0000000..3a77dac
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/CopyAccountToUserTask.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_COPY_ACCOUNT_TASK_MS;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.COPY_ACCOUNT_EXCEPTION;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.COPY_ACCOUNT_FAILED;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.COPY_ACCOUNT_SUCCEEDED;
+import static com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker.COPY_ACCOUNT_TIMED_OUT;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * This task copies the account in {@link ProvisioningParams#accountToMigrate} from an existing
+ * user to the user that is being provisioned.
+ *
+ * <p>If the account migration fails or times out, we still return success as we consider account
+ * migration not to be a critical operation.</p>
+ */
+public class CopyAccountToUserTask extends AbstractProvisioningTask {
+    private static final int ACCOUNT_COPY_TIMEOUT_SECONDS = 60 * 3;  // 3 minutes
+
+    private final int mSourceUserId;
+    private final ProvisioningAnalyticsTracker mProvisioningAnalyticsTracker;
+
+    public CopyAccountToUserTask(
+            int sourceUserId,
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        super(context, provisioningParams, callback);
+
+        mSourceUserId = sourceUserId;
+        mProvisioningAnalyticsTracker = ProvisioningAnalyticsTracker.getInstance();
+    }
+
+    @Override
+    public void run(int userId) {
+        startTaskTimer();
+
+        final boolean copySucceeded = maybeCopyAccount(userId);
+        // Do not log time if account migration did not succeed, as that isn't useful.
+        if (copySucceeded) {
+            stopTaskTimer();
+        }
+        // account migration is not considered a critical operation, so succeed anyway
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_finishing_touches;
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_COPY_ACCOUNT_TASK_MS;
+    }
+
+    @VisibleForTesting
+    boolean maybeCopyAccount(int targetUserId) {
+        Account accountToMigrate = mProvisioningParams.accountToMigrate;
+        UserHandle sourceUser = UserHandle.of(mSourceUserId);
+        UserHandle targetUser = UserHandle.of(targetUserId);
+
+        if (accountToMigrate == null) {
+            ProvisionLogger.logd("No account to migrate.");
+            return false;
+        }
+        if (sourceUser.equals(targetUser)) {
+            ProvisionLogger.loge("sourceUser and targetUser are the same, won't migrate account.");
+            return false;
+        }
+        ProvisionLogger.logd("Attempting to copy account from " + sourceUser + " to " + targetUser);
+        try {
+            AccountManager accountManager = (AccountManager)
+                    mContext.getSystemService(Context.ACCOUNT_SERVICE);
+            boolean copySucceeded = accountManager.copyAccountToUser(
+                    accountToMigrate,
+                    sourceUser,
+                    targetUser,
+                    /* callback= */ null, /* handler= */ null)
+                    .getResult(ACCOUNT_COPY_TIMEOUT_SECONDS, TimeUnit.SECONDS);
+            if (copySucceeded) {
+                ProvisionLogger.logi("Copied account to " + targetUser);
+                mProvisioningAnalyticsTracker.logCopyAccountStatus(mContext,
+                        COPY_ACCOUNT_SUCCEEDED);
+                return true;
+            } else {
+                mProvisioningAnalyticsTracker.logCopyAccountStatus(mContext, COPY_ACCOUNT_FAILED);
+                ProvisionLogger.loge("Could not copy account to " + targetUser);
+            }
+        } catch (OperationCanceledException e) {
+            mProvisioningAnalyticsTracker.logCopyAccountStatus(mContext, COPY_ACCOUNT_TIMED_OUT);
+            ProvisionLogger.loge("Exception copying account to " + targetUser, e);
+        } catch (AuthenticatorException | IOException e) {
+            mProvisioningAnalyticsTracker.logCopyAccountStatus(mContext, COPY_ACCOUNT_EXCEPTION);
+            ProvisionLogger.loge("Exception copying account to " + targetUser, e);
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/CreateManagedProfileTask.java b/src/com/android/managedprovisioning/task/CreateManagedProfileTask.java
new file mode 100644
index 0000000..95542fb
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/CreateManagedProfileTask.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_CREATE_PROFILE_TASK_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.nonrequiredapps.NonRequiredAppsLogic;
+
+import java.util.Set;
+
+/**
+ * Task to create a managed profile.
+ */
+public class CreateManagedProfileTask extends AbstractProvisioningTask {
+
+    private int mProfileUserId;
+    private final NonRequiredAppsLogic mNonRequiredAppsLogic;
+    private final UserManager mUserManager;
+
+    public CreateManagedProfileTask(Context context, ProvisioningParams params, Callback callback) {
+        this(
+                context,
+                params,
+                callback,
+                context.getSystemService(UserManager.class),
+                new NonRequiredAppsLogic(context, true, params));
+    }
+
+    @VisibleForTesting
+    CreateManagedProfileTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback,
+            UserManager userManager,
+            NonRequiredAppsLogic logic) {
+        super(context, params, callback);
+        mNonRequiredAppsLogic = checkNotNull(logic);
+        mUserManager = checkNotNull(userManager);
+    }
+
+    @Override
+    public void run(int userId) {
+        startTaskTimer();
+        final Set<String> nonRequiredApps = mNonRequiredAppsLogic.getSystemAppsToRemove(userId);
+        UserInfo userInfo = mUserManager.createProfileForUserEvenWhenDisallowed(
+                mContext.getString(R.string.default_managed_profile_name),
+                UserInfo.FLAG_MANAGED_PROFILE | UserInfo.FLAG_DISABLED,
+                userId, nonRequiredApps.toArray(new String[nonRequiredApps.size()]));
+        if (userInfo == null) {
+            error(0);
+            return;
+        }
+        mProfileUserId = userInfo.id;
+        mNonRequiredAppsLogic.maybeTakeSystemAppsSnapshot(userInfo.id);
+        stopTaskTimer();
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_initialize;
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_CREATE_PROFILE_TASK_MS;
+    }
+
+    public int getProfileUserId() {
+        return mProfileUserId;
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/CrossProfileIntentFilter.java b/src/com/android/managedprovisioning/task/CrossProfileIntentFilter.java
new file mode 100644
index 0000000..7963f61
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/CrossProfileIntentFilter.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.IntDef;
+import android.content.IntentFilter;
+
+import com.android.internal.annotations.Immutable;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Representation of a cross-profile intent filter.
+ */
+@Immutable
+final class CrossProfileIntentFilter {
+
+    @IntDef({
+            Direction.TO_PARENT,
+            Direction.TO_PROFILE
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    @interface Direction {
+        int TO_PARENT = 0;
+        int TO_PROFILE = 1;
+    }
+
+    /** The intent filter that's used */
+    public final IntentFilter filter;
+
+    /**
+     * The flags related to the forwarding, e.g.
+     * {@link android.content.pm.PackageManager#SKIP_CURRENT_PROFILE} or
+     * {@link android.content.pm.PackageManager#ONLY_IF_NO_MATCH_FOUND}.
+     */
+    public final int flags;
+
+    /**
+     * The direction of forwarding, can be either {@link Direction#TO_PARENT} or
+     * {@link Direction#TO_PROFILE}.
+     */
+    public final @Direction int direction;
+
+    private CrossProfileIntentFilter(IntentFilter filter, int flags, @Direction int direction) {
+        this.filter = checkNotNull(filter);
+        this.flags = flags;
+        this.direction = direction;
+    }
+
+    static final class Builder {
+        private IntentFilter mFilter = new IntentFilter();
+        private int mFlags = 0;
+        private @Direction int mDirection;
+
+        public Builder(@Direction int direction, int flags) {
+            mDirection = direction;
+            mFlags = flags;
+        }
+
+        Builder addAction(String action) {
+            mFilter.addAction(action);
+            return this;
+        }
+
+        Builder addCategory(String category) {
+            mFilter.addCategory(category);
+            return this;
+        }
+
+        Builder addDataType(String type) {
+            try {
+                mFilter.addDataType(type);
+            } catch (IntentFilter.MalformedMimeTypeException e) {
+                // ignore
+            }
+            return this;
+        }
+
+        Builder addDataScheme(String scheme) {
+            mFilter.addDataScheme(scheme);
+            return this;
+        }
+
+        CrossProfileIntentFilter build() {
+            return new CrossProfileIntentFilter(mFilter, mFlags, mDirection);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetter.java b/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetter.java
new file mode 100644
index 0000000..69def96
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetter.java
@@ -0,0 +1,305 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.task;
+
+import static android.content.pm.PackageManager.ONLY_IF_NO_MATCH_FOUND;
+import static android.content.pm.PackageManager.SKIP_CURRENT_PROFILE;
+import static android.speech.RecognizerIntent.ACTION_RECOGNIZE_SPEECH;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.hardware.usb.UsbManager;
+import android.os.UserManager;
+import android.provider.AlarmClock;
+import android.provider.MediaStore;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.task.CrossProfileIntentFilter.Direction;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Class to set CrossProfileIntentFilters during managed profile creation, and reset them after an
+ * ota.
+ */
+public class CrossProfileIntentFiltersSetter {
+
+    // Intents from profile to parent user
+
+    /** Emergency call intent with mime type is always resolved by primary user. */
+    private static final CrossProfileIntentFilter EMERGENCY_CALL_MIME =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, SKIP_CURRENT_PROFILE)
+                    .addAction(Intent.ACTION_CALL_EMERGENCY)
+                    .addAction(Intent.ACTION_CALL_PRIVILEGED)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .addDataType("vnd.android.cursor.item/phone")
+                    .addDataType("vnd.android.cursor.item/phone_v2")
+                    .addDataType("vnd.android.cursor.item/person")
+                    .addDataType("vnd.android.cursor.dir/calls")
+                    .addDataType("vnd.android.cursor.item/calls")
+                    .build();
+
+    /** Emergency call intent with data schemes is always resolved by primary user. */
+    private static final CrossProfileIntentFilter EMERGENCY_CALL_DATA =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, SKIP_CURRENT_PROFILE)
+                    .addAction(Intent.ACTION_CALL_EMERGENCY)
+                    .addAction(Intent.ACTION_CALL_PRIVILEGED)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .addDataScheme("tel")
+                    .addDataScheme("sip")
+                    .addDataScheme("voicemail")
+                    .build();
+
+    /** Dial intent with mime type can be handled by either managed profile or its parent user. */
+    private static final CrossProfileIntentFilter DIAL_MIME =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, ONLY_IF_NO_MATCH_FOUND)
+                    .addAction(Intent.ACTION_DIAL)
+                    .addAction(Intent.ACTION_VIEW)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .addDataType("vnd.android.cursor.item/phone")
+                    .addDataType("vnd.android.cursor.item/phone_v2")
+                    .addDataType("vnd.android.cursor.item/person")
+                    .addDataType("vnd.android.cursor.dir/calls")
+                    .addDataType("vnd.android.cursor.item/calls")
+                    .build();
+
+    /** Dial intent with data scheme can be handled by either managed profile or its parent user. */
+    private static final CrossProfileIntentFilter DIAL_DATA =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, ONLY_IF_NO_MATCH_FOUND)
+                    .addAction(Intent.ACTION_DIAL)
+                    .addAction(Intent.ACTION_VIEW)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .addDataScheme("tel")
+                    .addDataScheme("sip")
+                    .addDataScheme("voicemail")
+                    .build();
+
+    /**
+     * Dial intent with no data scheme or type can be handled by either managed profile or its
+     * parent user.
+     */
+    private static final CrossProfileIntentFilter DIAL_RAW =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, ONLY_IF_NO_MATCH_FOUND)
+                    .addAction(Intent.ACTION_DIAL)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .build();
+
+    /** Pressing the call button can be handled by either managed profile or its parent user. */
+    private static final CrossProfileIntentFilter CALL_BUTTON =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, ONLY_IF_NO_MATCH_FOUND)
+                    .addAction(Intent.ACTION_CALL_BUTTON)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    /** SMS and MMS are exclusively handled by the primary user. */
+    private static final CrossProfileIntentFilter SMS_MMS =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, SKIP_CURRENT_PROFILE)
+                    .addAction(Intent.ACTION_VIEW)
+                    .addAction(Intent.ACTION_SENDTO)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_BROWSABLE)
+                    .addDataScheme("sms")
+                    .addDataScheme("smsto")
+                    .addDataScheme("mms")
+                    .addDataScheme("mmsto")
+                    .build();
+
+    /** Mobile network settings is always shown in the primary user. */
+    private static final CrossProfileIntentFilter MOBILE_NETWORK_SETTINGS =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, SKIP_CURRENT_PROFILE)
+                    .addAction(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS)
+                    .addAction(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    /** HOME intent is always resolved by the primary user. */
+    @VisibleForTesting
+    static final CrossProfileIntentFilter HOME =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, SKIP_CURRENT_PROFILE)
+                    .addAction(Intent.ACTION_MAIN)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_HOME)
+                    .build();
+
+    /** Get content can be forwarded to parent user. */
+    private static final CrossProfileIntentFilter GET_CONTENT =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(Intent.ACTION_GET_CONTENT)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_OPENABLE)
+                    .addDataType("*/*")
+                    .build();
+
+    /** Open document intent can be forwarded to parent user. */
+    private static final CrossProfileIntentFilter OPEN_DOCUMENT =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(Intent.ACTION_OPEN_DOCUMENT)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addCategory(Intent.CATEGORY_OPENABLE)
+                    .addDataType("*/*")
+                    .build();
+
+    /** Pick for any data type can be forwarded to parent user. */
+    private static final CrossProfileIntentFilter ACTION_PICK_DATA =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(Intent.ACTION_PICK)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addDataType("*/*")
+                    .build();
+
+    /** Pick without data type can be forwarded to parent user. */
+    private static final CrossProfileIntentFilter ACTION_PICK_RAW =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(Intent.ACTION_PICK)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    /** Speech recognition can be performed by primary user. */
+    private static final CrossProfileIntentFilter RECOGNIZE_SPEECH =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(ACTION_RECOGNIZE_SPEECH)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    /** Media capture can be performed by primary user. */
+    private static final CrossProfileIntentFilter MEDIA_CAPTURE =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(MediaStore.ACTION_IMAGE_CAPTURE)
+                    .addAction(MediaStore.ACTION_IMAGE_CAPTURE_SECURE)
+                    .addAction(MediaStore.ACTION_VIDEO_CAPTURE)
+                    .addAction(MediaStore.Audio.Media.RECORD_SOUND_ACTION)
+                    .addAction(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA)
+                    .addAction(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE)
+                    .addAction(MediaStore.INTENT_ACTION_VIDEO_CAMERA)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    /** Alarm setting can be performed by primary user. */
+    private static final CrossProfileIntentFilter SET_ALARM =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PARENT, 0)
+                    .addAction(AlarmClock.ACTION_SET_ALARM)
+                    .addAction(AlarmClock.ACTION_SHOW_ALARMS)
+                    .addAction(AlarmClock.ACTION_SET_TIMER)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    // Intents from parent to profile user
+
+    /** ACTION_SEND can be forwarded to the managed profile on user's choice. */
+    @VisibleForTesting
+    static final CrossProfileIntentFilter ACTION_SEND =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PROFILE, 0)
+                    .addAction(Intent.ACTION_SEND)
+                    .addAction(Intent.ACTION_SEND_MULTIPLE)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .addDataType("*/*")
+                    .build();
+
+    /** USB devices attached can get forwarded to the profile. */
+    private static final CrossProfileIntentFilter USB_DEVICE_ATTACHED =
+            new CrossProfileIntentFilter.Builder(Direction.TO_PROFILE, 0)
+                    .addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED)
+                    .addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED)
+                    .addCategory(Intent.CATEGORY_DEFAULT)
+                    .build();
+
+    @VisibleForTesting
+    static final List<CrossProfileIntentFilter> FILTERS = Arrays.asList(
+            EMERGENCY_CALL_MIME,
+            EMERGENCY_CALL_DATA,
+            DIAL_MIME,
+            DIAL_DATA,
+            DIAL_RAW,
+            CALL_BUTTON,
+            SMS_MMS,
+            SET_ALARM,
+            MEDIA_CAPTURE,
+            RECOGNIZE_SPEECH,
+            ACTION_PICK_RAW,
+            ACTION_PICK_DATA,
+            OPEN_DOCUMENT,
+            GET_CONTENT,
+            USB_DEVICE_ATTACHED,
+            ACTION_SEND,
+            HOME,
+            MOBILE_NETWORK_SETTINGS);
+
+    private final PackageManager mPackageManager;
+    private final UserManager mUserManager;
+
+    public CrossProfileIntentFiltersSetter(Context context) {
+        this(context.getPackageManager(),
+                (UserManager) context.getSystemService(Context.USER_SERVICE));
+    }
+
+    @VisibleForTesting
+    CrossProfileIntentFiltersSetter(PackageManager packageManager, UserManager userManager) {
+        mPackageManager = checkNotNull(packageManager);
+        mUserManager = checkNotNull(userManager);
+    }
+
+    /**
+     * Sets all default cross profile intent filters from {@code parentUserId} to
+     * {@code managedProfileUserId}.
+     */
+    public void setFilters(int parentUserId, int managedProfileUserId) {
+        ProvisionLogger.logd("Setting cross-profile intent filters");
+
+        for (CrossProfileIntentFilter filter : FILTERS) {
+            if (filter.direction == Direction.TO_PARENT) {
+                mPackageManager.addCrossProfileIntentFilter(filter.filter, managedProfileUserId,
+                        parentUserId, filter.flags);
+            } else {
+                mPackageManager.addCrossProfileIntentFilter(filter.filter, parentUserId,
+                        managedProfileUserId, filter.flags);
+            }
+        }
+    }
+
+    /**
+     * Reset the cross profile intent filters between {@code userId} and all of its managed profiles
+     * if any.
+     */
+    public void resetFilters(int userId) {
+        List<UserInfo> profiles = mUserManager.getProfiles(userId);
+        if (profiles.size() <= 1) {
+            return;
+        }
+
+        // Removes cross profile intent filters from the parent to all the managed profiles.
+        mPackageManager.clearCrossProfileIntentFilters(userId);
+
+        // For each managed profile reset cross profile intent filters
+        for (UserInfo profile : profiles) {
+            if (!profile.isManagedProfile()) {
+                continue;
+            }
+            mPackageManager.clearCrossProfileIntentFilters(profile.id);
+            setFilters(userId, profile.id);
+        }
+    }
+
+}
diff --git a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
index 2dbef67..8ea477e 100644
--- a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
+++ b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
@@ -16,225 +16,89 @@
 
 package com.android.managedprovisioning.task;
 
-import android.app.AppGlobals;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.ComponentInfo;
 import android.content.pm.IPackageDeleteObserver;
-import android.content.pm.IPackageManager;
 import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.res.Resources;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.util.Xml;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.FastXmlSerializer;
-import com.android.internal.view.IInputMethodManager;
-import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.R;
-import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.nonrequiredapps.NonRequiredAppsLogic;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-
 /**
- * Deletes all system apps with a launcher that are not in the required set of packages.
- * Furthermore deletes all disallowed apps.
- *
- * Note: If an app is mistakenly listed as both required and disallowed, it will be treated as
- * required.
+ * Deletes all non-required apps.
  *
  * This task may be run when a profile (both for managed device and managed profile) is created.
- * In that case the newProfile flag should be true.
+ * In that case the firstTimeCreation flag should be true.
  *
- * It should also be run after a system update with newProfile false, if
- * {@link #shouldDeleteNonRequiredApps} returns true. Note that only newly installed system apps
- * will be deleted.
+ * It should also be run after a system update with firstTimeCreation false. Note that only
+ * newly installed system apps will be deleted.
  */
-public class DeleteNonRequiredAppsTask {
-    private final Callback mCallback;
-    private final Context mContext;
-    private final String mMdmPackageName;
-    private final IPackageManager mIPackageManager;
-    private final IInputMethodManager mIInputMethodManager;
+public class DeleteNonRequiredAppsTask extends AbstractProvisioningTask {
     private final PackageManager mPm;
-    private final List<String> mRequiredAppsList;
-    private final List<String> mDisallowedAppsList;
-    private final List<String> mVendorRequiredAppsList;
-    private final List<String> mVendorDisallowedAppsList;
-    private final int mUserId;
-    private final int mProvisioningType;
-    private final boolean mNewProfile; // If we are provisioning a new managed profile/device.
-    private final boolean mLeaveAllSystemAppsEnabled;
+    private final NonRequiredAppsLogic mLogic;
 
-    private static final String TAG_SYSTEM_APPS = "system-apps";
-    private static final String TAG_PACKAGE_LIST_ITEM = "item";
-    private static final String ATTR_VALUE = "value";
-
-    public static final int DEVICE_OWNER = 0;
-    public static final int PROFILE_OWNER = 1;
-    public static final int MANAGED_USER = 2;
-
-    private final Utils mUtils = new Utils();
-
-    /**
-     * Provisioning type should be either {@link #DEVICE_OWNER}, {@link #PROFILE_OWNER} or
-     * {@link #MANAGED_USER}.
-     **/
-    public DeleteNonRequiredAppsTask(Context context, String mdmPackageName, int provisioningType,
-            boolean newProfile, int userId, boolean leaveAllSystemAppsEnabled, Callback callback) {
-        this(context, AppGlobals.getPackageManager(), getIInputMethodManager(), mdmPackageName,
-                provisioningType, newProfile, userId, leaveAllSystemAppsEnabled, callback);
+    public DeleteNonRequiredAppsTask(
+            boolean firstTimeCreation,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        this(
+                context,
+                params,
+                callback,
+                new NonRequiredAppsLogic(context, firstTimeCreation, params));
     }
 
     @VisibleForTesting
-    DeleteNonRequiredAppsTask(Context context, IPackageManager iPm, IInputMethodManager iimm,
-            String mdmPackageName, int provisioningType, boolean newProfile, int userId,
-            boolean leaveAllSystemAppsEnabled, Callback callback) {
+    DeleteNonRequiredAppsTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback,
+            NonRequiredAppsLogic logic) {
+        super(context, params, callback);
 
-        mCallback = callback;
-        mContext = context;
-        mMdmPackageName = mdmPackageName;
-        mProvisioningType = provisioningType;
-        mUserId = userId;
-        mNewProfile = newProfile;
-        mLeaveAllSystemAppsEnabled = leaveAllSystemAppsEnabled;
-        mPm = context.getPackageManager();
-        mIPackageManager = iPm;
-        mIInputMethodManager = iimm;
-
-        int requiredAppsListArray;
-        int vendorRequiredAppsListArray;
-        int disallowedAppsListArray;
-        int vendorDisallowedAppsListArray;
-        if (mProvisioningType == DEVICE_OWNER) {
-            requiredAppsListArray = R.array.required_apps_managed_device;
-            disallowedAppsListArray = R.array.disallowed_apps_managed_device;
-            vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_device;
-            vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_device;
-        } else if (mProvisioningType == PROFILE_OWNER) {
-            requiredAppsListArray = R.array.required_apps_managed_profile;
-            disallowedAppsListArray = R.array.disallowed_apps_managed_profile;
-            vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_profile;
-            vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_profile;
-        } else if (mProvisioningType == MANAGED_USER) {
-            requiredAppsListArray = R.array.required_apps_managed_user;
-            disallowedAppsListArray = R.array.disallowed_apps_managed_user;
-            vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_user;
-            vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_user;
-        } else {
-            throw new IllegalArgumentException("Provisioning type " + mProvisioningType +
-                    " not supported.");
-        }
-
-        Resources resources = mContext.getResources();
-        mRequiredAppsList = Arrays.asList(resources.getStringArray(requiredAppsListArray));
-        mDisallowedAppsList = Arrays.asList(resources.getStringArray(disallowedAppsListArray));
-        mVendorRequiredAppsList = Arrays.asList(
-                resources.getStringArray(vendorRequiredAppsListArray));
-        mVendorDisallowedAppsList = Arrays.asList(
-                resources.getStringArray(vendorDisallowedAppsListArray));
+        mPm = checkNotNull(context.getPackageManager());
+        mLogic = checkNotNull(logic);
     }
 
-    public void run() {
-        if (mLeaveAllSystemAppsEnabled) {
-            ProvisionLogger.logd("Not deleting non-required apps.");
-            mCallback.onSuccess();
-            return;
-        }
-        ProvisionLogger.logd("Deleting non required apps.");
+    @Override
+    public void run(int userId) {
+        Set<String> packagesToDelete = mLogic.getSystemAppsToRemove(userId);
+        mLogic.maybeTakeSystemAppsSnapshot(userId);
 
-        Set<String> packagesToDelete = getPackagesToDelete();
-        removeNonInstalledPackages(packagesToDelete);
+        // Remove all packages that are not currently installed
+        removeNonInstalledPackages(packagesToDelete, userId);
 
         if (packagesToDelete.isEmpty()) {
-            mCallback.onSuccess();
+            success();
             return;
         }
 
         PackageDeleteObserver packageDeleteObserver =
                 new PackageDeleteObserver(packagesToDelete.size());
         for (String packageName : packagesToDelete) {
-            ProvisionLogger.logd("Deleting package [" + packageName + "] as user " + mUserId);
+            ProvisionLogger.logd("Deleting package [" + packageName + "] as user " + userId);
             mPm.deletePackageAsUser(packageName, packageDeleteObserver,
-                    PackageManager.DELETE_SYSTEM_APP, mUserId);
+                    PackageManager.DELETE_SYSTEM_APP, userId);
         }
     }
 
-    private Set<String> getPackagesToDelete() {
-        Set<String> packagesToDelete = getCurrentAppsWithLauncher();
-        // Newly installed system apps are uninstalled when they are not required and are either
-        // disallowed or have a launcher icon.
-        packagesToDelete.removeAll(getRequiredApps());
-        // Don't delete the system input method packages in case of Device owner provisioning.
-        if (mProvisioningType == DEVICE_OWNER || mProvisioningType == MANAGED_USER) {
-            packagesToDelete.removeAll(getSystemInputMethods());
-        }
-        packagesToDelete.addAll(getDisallowedApps());
-
-        // Only consider new system apps.
-        packagesToDelete.retainAll(getNewSystemApps());
-        return packagesToDelete;
-    }
-
-    private Set<String> getNewSystemApps() {
-        File systemAppsFile = getSystemAppsFile(mContext, mUserId);
-        systemAppsFile.getParentFile().mkdirs(); // Creating the folder if it does not exist
-
-        Set<String> currentSystemApps = mUtils.getCurrentSystemApps(mIPackageManager, mUserId);
-        final Set<String> previousSystemApps;
-        if (mNewProfile) {
-            // Provisioning case.
-            previousSystemApps = Collections.<String>emptySet();
-        } else  if (!systemAppsFile.exists()) {
-            // OTA case.
-            ProvisionLogger.loge("Could not find the system apps file " +
-                    systemAppsFile.getAbsolutePath());
-            mCallback.onError();
-            return Collections.<String>emptySet();
-        } else {
-            previousSystemApps = readSystemApps(systemAppsFile);
-        }
-
-        writeSystemApps(currentSystemApps, systemAppsFile);
-        Set<String> newApps = currentSystemApps;
-        newApps.removeAll(previousSystemApps);
-        return newApps;
-    }
-
-    /**
-     * Remove all packages from the set that are not installed.
-     */
-    private void removeNonInstalledPackages(Set<String> packages) {
-        Set<String> toBeRemoved = new HashSet<String>();
+    private void removeNonInstalledPackages(Set<String> packages, int userId) {
+        Set<String> toBeRemoved = new HashSet<>();
         for (String packageName : packages) {
             try {
-                PackageInfo info = mPm.getPackageInfoAsUser(packageName, 0 /* default flags */,
-                        mUserId);
+                PackageInfo info = mPm.getPackageInfoAsUser(
+                    packageName, 0 /* default flags */,
+                    userId);
                 if (info == null) {
                     toBeRemoved.add(packageName);
                 }
@@ -245,122 +109,9 @@
         packages.removeAll(toBeRemoved);
     }
 
-    /**
-     * Returns if this task should be run on OTA.
-     * This is indicated by the presence of the system apps file.
-     */
-    public static boolean shouldDeleteNonRequiredApps(Context context, int userId) {
-        return getSystemAppsFile(context, userId).exists();
-    }
-
-    static File getSystemAppsFile(Context context, int userId) {
-        return new File(context.getFilesDir() + File.separator + "system_apps"
-                + File.separator + "user" + userId + ".xml");
-    }
-
-    private Set<String> getCurrentAppsWithLauncher() {
-        Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
-        launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
-        List<ResolveInfo> resolveInfos = mPm.queryIntentActivitiesAsUser(launcherIntent,
-                PackageManager.MATCH_UNINSTALLED_PACKAGES
-                | PackageManager.MATCH_DISABLED_COMPONENTS
-                | PackageManager.MATCH_DIRECT_BOOT_AWARE
-                | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
-                mUserId);
-        Set<String> apps = new HashSet<String>();
-        for (ResolveInfo resolveInfo : resolveInfos) {
-            apps.add(resolveInfo.activityInfo.packageName);
-        }
-        return apps;
-    }
-
-    private Set<String> getSystemInputMethods() {
-        // InputMethodManager is final so it cannot be mocked.
-        // So, we're using IInputMethodManager directly because it can be mocked.
-        List<InputMethodInfo> inputMethods = null;
-        try {
-            inputMethods = mIInputMethodManager.getInputMethodList();
-        } catch (RemoteException e) {
-            ProvisionLogger.loge("Could not communicate with IInputMethodManager", e);
-            return Collections.<String>emptySet();
-        }
-        Set<String> systemInputMethods = new HashSet<String>();
-        for (InputMethodInfo inputMethodInfo : inputMethods) {
-            ApplicationInfo applicationInfo = inputMethodInfo.getServiceInfo().applicationInfo;
-            if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                systemInputMethods.add(inputMethodInfo.getPackageName());
-            }
-        }
-        return systemInputMethods;
-    }
-
-    private void writeSystemApps(Set<String> packageNames, File systemAppsFile) {
-        try {
-            FileOutputStream stream = new FileOutputStream(systemAppsFile, false);
-            XmlSerializer serializer = new FastXmlSerializer();
-            serializer.setOutput(stream, "utf-8");
-            serializer.startDocument(null, true);
-            serializer.startTag(null, TAG_SYSTEM_APPS);
-            for (String packageName : packageNames) {
-                serializer.startTag(null, TAG_PACKAGE_LIST_ITEM);
-                serializer.attribute(null, ATTR_VALUE, packageName);
-                serializer.endTag(null, TAG_PACKAGE_LIST_ITEM);
-            }
-            serializer.endTag(null, TAG_SYSTEM_APPS);
-            serializer.endDocument();
-            stream.close();
-        } catch (IOException e) {
-            ProvisionLogger.loge("IOException trying to write the system apps", e);
-        }
-    }
-
-    private Set<String> readSystemApps(File systemAppsFile) {
-        Set<String> result = new HashSet<String>();
-        if (!systemAppsFile.exists()) {
-            return result;
-        }
-        try {
-            FileInputStream stream = new FileInputStream(systemAppsFile);
-
-            XmlPullParser parser = Xml.newPullParser();
-            parser.setInput(stream, null);
-
-            int type = parser.next();
-            int outerDepth = parser.getDepth();
-            while ((type=parser.next()) != XmlPullParser.END_DOCUMENT
-                   && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
-                if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
-                    continue;
-                }
-                String tag = parser.getName();
-                if (tag.equals(TAG_PACKAGE_LIST_ITEM)) {
-                    result.add(parser.getAttributeValue(null, ATTR_VALUE));
-                } else {
-                    ProvisionLogger.loge("Unknown tag: " + tag);
-                }
-            }
-            stream.close();
-        } catch (IOException e) {
-            ProvisionLogger.loge("IOException trying to read the system apps", e);
-        } catch (XmlPullParserException e) {
-            ProvisionLogger.loge("XmlPullParserException trying to read the system apps", e);
-        }
-        return result;
-    }
-
-    protected Set<String> getRequiredApps() {
-        HashSet<String> requiredApps = new HashSet<String>();
-        requiredApps.addAll(mRequiredAppsList);
-        requiredApps.addAll(mVendorRequiredAppsList);
-        requiredApps.add(mMdmPackageName);
-        return requiredApps;
-    }
-
-    private Set<String> getDisallowedApps() {
-        HashSet<String> disallowedApps = new HashSet<String>();
-        disallowedApps.addAll(mDisallowedAppsList);
-        disallowedApps.addAll(mVendorDisallowedAppsList);
-        return disallowedApps;
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_delete_non_required_apps;
     }
 
     /**
@@ -379,25 +130,15 @@
             if (returnCode != PackageManager.DELETE_SUCCEEDED) {
                 ProvisionLogger.logw(
                         "Could not finish the provisioning: package deletion failed");
-                mCallback.onError();
+                error(0);
                 return;
             }
             int currentPackageCount = mPackageCount.decrementAndGet();
             if (currentPackageCount == 0) {
                 ProvisionLogger.logi("All non-required system apps with launcher icon, "
                         + "and all disallowed apps have been uninstalled.");
-                mCallback.onSuccess();
+                success();
             }
         }
     }
-
-    private static IInputMethodManager getIInputMethodManager() {
-        IBinder b = ServiceManager.getService(Context.INPUT_METHOD_SERVICE);
-        return IInputMethodManager.Stub.asInterface(b);
-    }
-
-    public abstract static class Callback {
-        public abstract void onSuccess();
-        public abstract void onError();
-    }
 }
diff --git a/src/com/android/managedprovisioning/task/DeviceOwnerInitializeProvisioningTask.java b/src/com/android/managedprovisioning/task/DeviceOwnerInitializeProvisioningTask.java
new file mode 100644
index 0000000..d6a3243
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/DeviceOwnerInitializeProvisioningTask.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import android.app.AlarmManager;
+import android.content.Context;
+
+import com.android.internal.app.LocalePicker;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.Locale;
+
+/**
+ * Initialization of locale and timezone.
+ */
+public class DeviceOwnerInitializeProvisioningTask extends AbstractProvisioningTask {
+
+    public DeviceOwnerInitializeProvisioningTask(Context context, ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_initialize;
+    }
+
+    @Override
+    public void run(int userId) {
+        setTimeAndTimezone(mProvisioningParams.timeZone, mProvisioningParams.localTime);
+        setLocale(mProvisioningParams.locale);
+
+        success();
+    }
+
+    private void setTimeAndTimezone(String timeZone, long localTime) {
+        try {
+            final AlarmManager alarmManager = mContext.getSystemService(AlarmManager.class);
+            if (timeZone != null) {
+                alarmManager.setTimeZone(timeZone);
+            }
+            if (localTime > 0) {
+                alarmManager.setTime(localTime);
+            }
+        } catch (Exception e) {
+            ProvisionLogger.loge("Alarm manager failed to set the system time/timezone.", e);
+            // Do not stop provisioning process, but ignore this error.
+        }
+    }
+
+    private void setLocale(Locale locale) {
+        if (locale == null || locale.equals(Locale.getDefault())) {
+            return;
+        }
+        try {
+            // If locale is different from current locale this results in a configuration change,
+            // which will trigger the restarting of the activity.
+            LocalePicker.updateLocale(locale);
+        } catch (Exception e) {
+            ProvisionLogger.loge("Failed to set the system locale.", e);
+            // Do not stop provisioning process, but ignore this error.
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java b/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java
deleted file mode 100644
index a7516ac..0000000
--- a/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.task;
-
-import android.content.ComponentName;
-
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.common.Utils;
-
-/**
- * Disables Bluetooth sharing by disabling the BluetoothOppLauncherActivity.
- */
-public class DisableBluetoothSharingTask {
-    private final int mUserId;
-
-    private final Utils mUtils = new Utils();
-
-    public DisableBluetoothSharingTask(int userId) {
-        mUserId = userId;
-    }
-
-    public void run() {
-        ProvisionLogger.logd("Disabling Bluetooth sharing.");
-        mUtils.disableComponent(new ComponentName("com.android.bluetooth",
-                        "com.android.bluetooth.opp.BluetoothOppLauncherActivity"), mUserId);
-    }
-}
diff --git a/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java b/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java
index 04446a1..42dc7d7 100644
--- a/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java
+++ b/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java
@@ -24,8 +24,10 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
 import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
 
 import java.util.List;
 import java.util.Set;
@@ -34,18 +36,24 @@
 /**
  * Disables all system app components that listen to ACTION_INSTALL_SHORTCUT.
  */
-public class DisableInstallShortcutListenersTask {
+public class DisableInstallShortcutListenersTask extends AbstractProvisioningTask {
     private final PackageManager mPm;
-    private final int mUserId;
+    private int mUserId;
 
     private final Utils mUtils = new Utils();
 
-    public DisableInstallShortcutListenersTask(Context context, int userId) {
-        mUserId = userId;
+    public DisableInstallShortcutListenersTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+
         mPm = context.getPackageManager();
     }
 
-    public void run() {
+    @Override
+    public void run(int userId) {
+        mUserId = userId;
         ProvisionLogger.logd("Disabling install shortcut listeners.");
         Intent actionShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
         Set<String> systemApps = mUtils.getCurrentSystemApps(AppGlobals.getPackageManager(),
@@ -54,6 +62,12 @@
             actionShortcut.setPackage(systemApp);
             disableReceivers(actionShortcut);
         }
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_finishing_touches;
     }
 
     /**
diff --git a/src/com/android/managedprovisioning/task/DisallowAddUserTask.java b/src/com/android/managedprovisioning/task/DisallowAddUserTask.java
index 10a9cfb..e97d901 100644
--- a/src/com/android/managedprovisioning/task/DisallowAddUserTask.java
+++ b/src/com/android/managedprovisioning/task/DisallowAddUserTask.java
@@ -16,33 +16,49 @@
 
 package com.android.managedprovisioning.task;
 
-import android.app.admin.DevicePolicyManager;
+import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
 import android.os.UserManager;
 
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
 
 /**
  * Disables user addition for all users on the device.
  */
-public class DisallowAddUserTask {
-    private final UserManager mUserManager;
-    private final int mDeviceOwnerUserId;
+public class DisallowAddUserTask extends AbstractProvisioningTask {
     private final boolean mIsSplitSystemUser;
+    private final UserManager mUserManager;
 
-    public DisallowAddUserTask(UserManager userManager, int deviceOwnerUserId,
-            boolean isSplitSystemUser) {
-        mUserManager = userManager;
-        mDeviceOwnerUserId = deviceOwnerUserId;
-        mIsSplitSystemUser = isSplitSystemUser;
+    public DisallowAddUserTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        this(UserManager.isSplitSystemUser(), context, params, callback);
     }
 
-    public void maybeDisallowAddUsers() {
-        if (mIsSplitSystemUser && (mDeviceOwnerUserId == UserHandle.USER_SYSTEM)) {
+    @VisibleForTesting
+    DisallowAddUserTask(boolean splitSystemUser,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+        mIsSplitSystemUser = splitSystemUser;
+        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+    }
+
+    @Override
+    public void run(int userId) {
+
+        if (mIsSplitSystemUser && (userId == UserHandle.USER_SYSTEM)) {
             ProvisionLogger.logi("Not setting DISALLOW_ADD_USER as system device-owner detected.");
+            success();
             return;
         }
+
         for (UserInfo userInfo : mUserManager.getUsers()) {
             UserHandle userHandle = userInfo.getUserHandle();
             if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_ADD_USER, userHandle)) {
@@ -50,5 +66,11 @@
                 ProvisionLogger.logi("DISALLOW_ADD_USER restriction set on user: " + userInfo.id);
             }
         }
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_finishing_touches;
     }
 }
diff --git a/src/com/android/managedprovisioning/task/DownloadPackageTask.java b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
index caa3f73..867e6e8 100644
--- a/src/com/android/managedprovisioning/task/DownloadPackageTask.java
+++ b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
@@ -15,6 +15,9 @@
  */
 package com.android.managedprovisioning.task;
 
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_DOWNLOAD_PACKAGE_TASK_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.app.DownloadManager;
 import android.app.DownloadManager.Query;
 import android.app.DownloadManager.Request;
@@ -22,145 +25,139 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.Signature;
 import android.database.Cursor;
 import android.net.Uri;
-import android.text.TextUtils;
+import android.os.Handler;
+import android.os.Looper;
 
-import com.android.managedprovisioning.NetworkMonitor;
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Globals;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
 
-import java.io.InputStream;
-import java.io.IOException;
 import java.io.File;
-import java.io.FileInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
 
 /**
- * Downloads all packages that were added. Also verifies that the downloaded files are the ones that
- * are expected.
+ * Downloads the management app apk from the url provided by {@link PackageDownloadInfo#location}.
+ * The location of the downloaded file can be read via {@link #getDownloadedPackageLocation()}.
  */
-public class DownloadPackageTask {
-    private static final boolean DEBUG = false; // To control logging.
+public class DownloadPackageTask extends AbstractProvisioningTask {
+    public static final int ERROR_DOWNLOAD_FAILED = 0;
+    public static final int ERROR_OTHER = 1;
 
-    public static final int ERROR_HASH_MISMATCH = 0;
-    public static final int ERROR_DOWNLOAD_FAILED = 1;
-    public static final int ERROR_OTHER = 2;
-
-    private static final String SHA1_TYPE = "SHA-1";
-    private static final String SHA256_TYPE = "SHA-256";
-
-    private final Context mContext;
-    private final Callback mCallback;
     private BroadcastReceiver mReceiver;
-    private final DownloadManager mDlm;
-    private final PackageManager mPm;
-    private int mFileNumber = 0;
+    private final DownloadManager mDownloadManager;
+    private final String mPackageName;
+    private final PackageDownloadInfo mPackageDownloadInfo;
+    private long mDownloadId;
 
-    private final Utils mUtils = new Utils();
+    private final Utils mUtils;
 
-    private Set<DownloadStatusInfo> mDownloads;
+    private String mDownloadLocationTo; //local file where the package is downloaded.
+    private boolean mDoneDownloading;
 
-    public DownloadPackageTask (Context context, Callback callback) {
-        mCallback = callback;
-        mContext = context;
-        mDlm = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE);
-        mDlm.setAccessFilename(true);
-        mPm = context.getPackageManager();
-
-        mDownloads = new HashSet<DownloadStatusInfo>();
+    public DownloadPackageTask(
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        this(new Utils(), context, provisioningParams, callback);
     }
 
-    public void addDownloadIfNecessary(
-            String packageName, PackageDownloadInfo downloadInfo, String label) {
-        if (downloadInfo != null
-                && mUtils.packageRequiresUpdate(packageName, downloadInfo.minVersion, mContext)) {
-            mDownloads.add(new DownloadStatusInfo(downloadInfo, label));
-        }
+    @VisibleForTesting
+    DownloadPackageTask(
+            Utils utils,
+            Context context,
+            ProvisioningParams provisioningParams,
+            Callback callback) {
+        super(context, provisioningParams, callback);
+
+        mUtils = checkNotNull(utils);
+        mDownloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+        mDownloadManager.setAccessFilename(true);
+        mPackageName = provisioningParams.inferDeviceAdminPackageName();
+        mPackageDownloadInfo = checkNotNull(provisioningParams.deviceAdminDownloadInfo);
     }
 
-    public void run() {
-        if (mDownloads.size() == 0) {
-            mCallback.onSuccess();
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_download;
+    }
+
+    @Override
+    public void run(int userId) {
+        startTaskTimer();
+        if (!mUtils.packageRequiresUpdate(mPackageName, mPackageDownloadInfo.minVersion,
+                mContext)) {
+            // Do not log time if package is already on device and does not require an update, as
+            // that isn't useful.
+            success();
             return;
         }
         if (!mUtils.isConnectedToNetwork(mContext)) {
             ProvisionLogger.loge("DownloadPackageTask: not connected to the network, can't download"
                     + " the package");
-            mCallback.onError(ERROR_OTHER);
+            error(ERROR_OTHER);
+            return;
         }
         mReceiver = createDownloadReceiver();
+        // register the receiver on the worker thread to avoid threading issues with respect to
+        // the location variable
         mContext.registerReceiver(mReceiver,
-                new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+                new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE),
+                null,
+                new Handler(Looper.myLooper()));
 
-        DownloadManager dm = (DownloadManager) mContext
-                .getSystemService(Context.DOWNLOAD_SERVICE);
-        for (DownloadStatusInfo info : mDownloads) {
-            if (DEBUG) {
-                ProvisionLogger.logd("Starting download from " +
-                        info.mPackageDownloadInfo.location);
-            }
-
-            Request request = new Request(Uri.parse(info.mPackageDownloadInfo.location));
-            // All we want is to have a different file for each apk
-            // Note that the apk may not actually be downloaded to this path. This could happen if
-            // this file already exists.
-            String path = mContext.getExternalFilesDir(null)
-                    + "/download_cache/managed_provisioning_downloaded_app_" + mFileNumber + ".apk";
-            mFileNumber++;
-            File downloadedFile = new File(path);
-            downloadedFile.getParentFile().mkdirs(); // If the folder doesn't exists it is created
-            request.setDestinationUri(Uri.fromFile(downloadedFile));
-            if (info.mPackageDownloadInfo.cookieHeader != null) {
-                request.addRequestHeader("Cookie", info.mPackageDownloadInfo.cookieHeader);
-                if (DEBUG) {
-                    ProvisionLogger.logd("Downloading with http cookie header: "
-                            + info.mPackageDownloadInfo.cookieHeader);
-                }
-            }
-            info.mDownloadId = dm.enqueue(request);
+        if (Globals.DEBUG) {
+            ProvisionLogger.logd("Starting download from " + mPackageDownloadInfo.location);
         }
+
+        Request request = new Request(Uri.parse(mPackageDownloadInfo.location));
+
+        // Note that the apk may not actually be downloaded to this path. This could happen if
+        // this file already exists.
+        String path = mContext.getExternalFilesDir(null)
+                + "/download_cache/managed_provisioning_downloaded_app.apk";
+        File downloadedFile = new File(path);
+        downloadedFile.getParentFile().mkdirs(); // If the folder doesn't exists it is created
+        request.setDestinationUri(Uri.fromFile(downloadedFile));
+
+        if (mPackageDownloadInfo.cookieHeader != null) {
+            request.addRequestHeader("Cookie", mPackageDownloadInfo.cookieHeader);
+            if (Globals.DEBUG) {
+                ProvisionLogger.logd("Downloading with http cookie header: "
+                        + mPackageDownloadInfo.cookieHeader);
+            }
+        }
+        mDownloadId = mDownloadManager.enqueue(request);
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_DOWNLOAD_PACKAGE_TASK_MS;
     }
 
     private BroadcastReceiver createDownloadReceiver() {
         return new BroadcastReceiver() {
-            /**
-             * Whenever the download manager finishes a download, record the successful download for
-             * the corresponding DownloadStatusInfo.
-             */
             @Override
             public void onReceive(Context context, Intent intent) {
                 if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(intent.getAction())) {
                     Query q = new Query();
-                    for (DownloadStatusInfo info : mDownloads) {
-                        q.setFilterById(info.mDownloadId);
-                        Cursor c = mDlm.query(q);
-                        if (c.moveToFirst()) {
-                            long downloadId =
-                                    c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID));
-                            String filePath = c.getString(c.getColumnIndex(
-                                    DownloadManager.COLUMN_LOCAL_FILENAME));
-                            int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
-                            if (DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {
-                                c.close();
-                                onDownloadSuccess(downloadId, filePath);
-                            } else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)){
-                                int reason = c.getInt(
-                                        c.getColumnIndex(DownloadManager.COLUMN_REASON));
-                                c.close();
-                                onDownloadFail(reason);
-                            }
+                    q.setFilterById(mDownloadId);
+                    Cursor c = mDownloadManager.query(q);
+                    if (c.moveToFirst()) {
+                        int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
+                        if (DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {
+                            mDownloadLocationTo = c.getString(
+                                    c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));
+                            c.close();
+                            onDownloadSuccess();
+                        } else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)) {
+                            int reason = c.getColumnIndex(DownloadManager.COLUMN_REASON);
+                            c.close();
+                            onDownloadFail(reason);
                         }
                     }
                 }
@@ -169,207 +166,30 @@
     }
 
     /**
-     * For a given successful download, check that the downloaded file is the expected file.
+     * For a successful download, check that the downloaded file is the expected file.
      * If the package hash is provided then that is used, otherwise a signature hash is used.
-     * Then check if this was the last file the task had to download and finish the
-     * DownloadPackageTask if that is the case.
-     * @param downloadId the unique download id for the completed download.
-     * @param location the file location of the downloaded file.
      */
-    private void onDownloadSuccess(long downloadId, String filePath) {
-        DownloadStatusInfo info = null;
-        for (DownloadStatusInfo infoToMatch : mDownloads) {
-            if (downloadId == infoToMatch.mDownloadId) {
-                info = infoToMatch;
-            }
-        }
-        if (info == null || info.mDoneDownloading) {
+    private void onDownloadSuccess() {
+        if (mDoneDownloading) {
             // DownloadManager can send success more than once. Only act first time.
             return;
-        } else {
-            info.mDoneDownloading = true;
-            info.mLocation = filePath;
-        }
-        ProvisionLogger.logd("Downloaded succesfully to: " + info.mLocation);
-
-        boolean downloadedContentsCorrect = false;
-        if (info.mPackageDownloadInfo.packageChecksum.length > 0) {
-            downloadedContentsCorrect = doesPackageHashMatch(info);
-        } else if (info.mPackageDownloadInfo.signatureChecksum.length > 0) {
-            downloadedContentsCorrect = doesASignatureHashMatch(info);
         }
 
-        if (downloadedContentsCorrect) {
-            info.mSuccess = true;
-            checkSuccess();
-        } else {
-            mCallback.onError(ERROR_HASH_MISMATCH);
-        }
+        ProvisionLogger.logd("Downloaded succesfully to: " + mDownloadLocationTo);
+        mDoneDownloading = true;
+        stopTaskTimer();
+        success();
     }
 
-    /**
-     * Check whether package hash of downloaded file matches the hash given in DownloadStatusInfo.
-     * By default, SHA-256 is used to verify the file hash.
-     * If mPackageDownloadInfo.packageChecksumSupportsSha1 == true, SHA-1 hash is also supported for
-     * backwards compatibility.
-     */
-    private boolean doesPackageHashMatch(DownloadStatusInfo info) {
-        byte[] packageSha256Hash, packageSha1Hash = null;
-
-        ProvisionLogger.logd("Checking file hash of entire apk file.");
-        packageSha256Hash = computeHashOfFile(info.mLocation, SHA256_TYPE);
-        if (packageSha256Hash == null) {
-            // Error should have been reported in computeHashOfFile().
-            return false;
-        }
-
-        if (Arrays.equals(info.mPackageDownloadInfo.packageChecksum, packageSha256Hash)) {
-            return true;
-        }
-
-        // Fall back to SHA-1
-        if (info.mPackageDownloadInfo.packageChecksumSupportsSha1) {
-            packageSha1Hash = computeHashOfFile(info.mLocation, SHA1_TYPE);
-            if (Arrays.equals(info.mPackageDownloadInfo.packageChecksum, packageSha1Hash)) {
-                return true;
-            }
-        }
-
-        ProvisionLogger.loge("Provided hash does not match file hash.");
-        ProvisionLogger.loge("Hash provided by programmer: "
-                + mUtils.byteArrayToString(info.mPackageDownloadInfo.packageChecksum));
-        ProvisionLogger.loge("SHA-256 Hash computed from file: " + mUtils.byteArrayToString(
-                packageSha256Hash));
-        if (packageSha1Hash != null) {
-            ProvisionLogger.loge("SHA-1 Hash computed from file: " + mUtils.byteArrayToString(
-                    packageSha1Hash));
-        }
-        return false;
-    }
-
-    private boolean doesASignatureHashMatch(DownloadStatusInfo info) {
-        // Check whether a signature hash of downloaded apk matches the hash given in constructor.
-        ProvisionLogger.logd("Checking " + SHA256_TYPE
-                + "-hashes of all signatures of downloaded package.");
-        List<byte[]> sigHashes = computeHashesOfAllSignatures(info.mLocation);
-        if (sigHashes == null) {
-            // Error should have been reported in computeHashesOfAllSignatures().
-            return false;
-        }
-        if (sigHashes.isEmpty()) {
-            ProvisionLogger.loge("Downloaded package does not have any signatures.");
-            return false;
-        }
-        for (byte[] sigHash : sigHashes) {
-            if (Arrays.equals(sigHash, info.mPackageDownloadInfo.signatureChecksum)) {
-                return true;
-            }
-        }
-
-        ProvisionLogger.loge("Provided hash does not match any signature hash.");
-        ProvisionLogger.loge("Hash provided by programmer: "
-                + mUtils.byteArrayToString(info.mPackageDownloadInfo.signatureChecksum));
-        ProvisionLogger.loge("Hashes computed from package signatures: ");
-        for (byte[] sigHash : sigHashes) {
-            ProvisionLogger.loge(mUtils.byteArrayToString(sigHash));
-        }
-
-        return false;
-    }
-
-    private void checkSuccess() {
-        for (DownloadStatusInfo info : mDownloads) {
-            if (!info.mSuccess) {
-                return;
-            }
-        }
-        mCallback.onSuccess();
+    public String getDownloadedPackageLocation() {
+        return mDownloadLocationTo;
     }
 
     private void onDownloadFail(int errorCode) {
         ProvisionLogger.loge("Downloading package failed.");
         ProvisionLogger.loge("COLUMN_REASON in DownloadManager response has value: "
                 + errorCode);
-        mCallback.onError(ERROR_DOWNLOAD_FAILED);
-    }
-
-    private byte[] computeHashOfFile(String fileLocation, String hashType) {
-        InputStream fis = null;
-        MessageDigest md;
-        byte hash[] = null;
-        try {
-            md = MessageDigest.getInstance(hashType);
-        } catch (NoSuchAlgorithmException e) {
-            ProvisionLogger.loge("Hashing algorithm " + hashType + " not supported.", e);
-            mCallback.onError(ERROR_OTHER);
-            return null;
-        }
-        try {
-            fis = new FileInputStream(fileLocation);
-
-            byte[] buffer = new byte[256];
-            int n = 0;
-            while (n != -1) {
-                n = fis.read(buffer);
-                if (n > 0) {
-                    md.update(buffer, 0, n);
-                }
-            }
-            hash = md.digest();
-        } catch (IOException e) {
-            ProvisionLogger.loge("IO error.", e);
-            mCallback.onError(ERROR_OTHER);
-        } finally {
-            // Close input stream quietly.
-            try {
-                if (fis != null) {
-                    fis.close();
-                }
-            } catch (IOException e) {
-                // Ignore.
-            }
-        }
-        return hash;
-    }
-
-    public String getDownloadedPackageLocation(String label) {
-        for (DownloadStatusInfo info : mDownloads) {
-            if (info.mLabel.equals(label)) {
-                return info.mLocation;
-            }
-        }
-        return "";
-    }
-
-    private List<byte[]> computeHashesOfAllSignatures(String packageArchiveLocation) {
-        PackageInfo info = mPm.getPackageArchiveInfo(packageArchiveLocation,
-                PackageManager.GET_SIGNATURES);
-        if (info == null) {
-            ProvisionLogger.loge("Unable to get package archive info from "
-                    + packageArchiveLocation);
-            mCallback.onError(ERROR_OTHER);
-            return null;
-        }
-
-        List<byte[]> hashes = new LinkedList<byte[]>();
-        Signature signatures[] = info.signatures;
-        try {
-            for (Signature signature : signatures) {
-               byte[] hash = computeHashOfByteArray(signature.toByteArray());
-               hashes.add(hash);
-            }
-        } catch (NoSuchAlgorithmException e) {
-            ProvisionLogger.loge("Hashing algorithm " + SHA256_TYPE + " not supported.", e);
-            mCallback.onError(ERROR_OTHER);
-            return null;
-        }
-        return hashes;
-    }
-
-    private byte[] computeHashOfByteArray(byte[] bytes) throws NoSuchAlgorithmException {
-        MessageDigest md = MessageDigest.getInstance(SHA256_TYPE);
-        md.update(bytes, 0, bytes.length);
-        return md.digest();
+        error(ERROR_DOWNLOAD_FAILED);
     }
 
     public void cleanUp() {
@@ -379,37 +199,12 @@
             mReceiver = null;
         }
 
-        //Remove download.
-        DownloadManager dm = (DownloadManager) mContext
-                .getSystemService(Context.DOWNLOAD_SERVICE);
-        for (DownloadStatusInfo info : mDownloads) {
-            boolean removeSuccess = dm.remove(info.mDownloadId) == 1;
-            if (removeSuccess) {
-                ProvisionLogger.logd("Successfully removed installer file.");
-            } else {
-                ProvisionLogger.loge("Could not remove installer file.");
-                // Ignore this error. Failing cleanup should not stop provisioning flow.
-            }
-        }
-    }
-
-    public abstract static class Callback {
-        public abstract void onSuccess();
-        public abstract void onError(int errorCode);
-    }
-
-    private static class DownloadStatusInfo {
-        public final PackageDownloadInfo mPackageDownloadInfo;
-        public final String mLabel;
-        public long mDownloadId;
-        public String mLocation; // Location where the package is downloaded to.
-        public boolean mDoneDownloading;
-        public boolean mSuccess;
-
-        public DownloadStatusInfo(PackageDownloadInfo packageDownloadInfo,String label) {
-            mPackageDownloadInfo = packageDownloadInfo;
-            mLabel = label;
-            mDoneDownloading = false;
+        boolean removeSuccess = mDownloadManager.remove(mDownloadId) == 1;
+        if (removeSuccess) {
+            ProvisionLogger.logd("Successfully removed installer file.");
+        } else {
+            ProvisionLogger.loge("Could not remove installer file.");
+            // Ignore this error. Failing cleanup should not stop provisioning flow.
         }
     }
 }
diff --git a/src/com/android/managedprovisioning/task/InstallExistingPackageTask.java b/src/com/android/managedprovisioning/task/InstallExistingPackageTask.java
new file mode 100644
index 0000000..d887db2
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/InstallExistingPackageTask.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+/**
+ * Task to install an existing package on a given user.
+ */
+public class InstallExistingPackageTask extends AbstractProvisioningTask {
+
+    private final String mPackageName;
+
+    public InstallExistingPackageTask(
+            String packageName,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+
+        mPackageName = checkNotNull(packageName);
+    }
+
+    public int getStatusMsgId() {
+        return R.string.progress_install;
+    }
+
+    @Override
+    public void run(int userId) {
+        PackageManager pm = mContext.getPackageManager();
+        try {
+            int status = pm.installExistingPackageAsUser(mPackageName, userId);
+            if (status == PackageManager.INSTALL_SUCCEEDED) {
+                success();
+            } else {
+                ProvisionLogger.loge("Install failed, result code = " + status);
+                error(0);
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            error(0);
+        }
+
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/InstallPackageTask.java b/src/com/android/managedprovisioning/task/InstallPackageTask.java
index f60f50a..909951b 100644
--- a/src/com/android/managedprovisioning/task/InstallPackageTask.java
+++ b/src/com/android/managedprovisioning/task/InstallPackageTask.java
@@ -15,207 +15,125 @@
  */
 package com.android.managedprovisioning.task;
 
-import android.app.DownloadManager;
-import android.content.ComponentName;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_INSTALL_PACKAGE_TASK_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.content.Context;
 import android.content.pm.IPackageInstallObserver;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.text.TextUtils;
-import android.Manifest.permission;
 
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
 import com.android.managedprovisioning.model.ProvisioningParams;
 
 import java.io.File;
-import java.util.HashSet;
-import java.util.Set;
 
 /**
- * Installs all packages that were added. Can install a downloaded apk, or install an existing
- * package which is already installed for a different user.
- * <p>
- * Before installing from a downloaded file, each file is checked to ensure it contains the correct
- * package and admin receiver.
- * </p>
+ * Installs the management app apk from a download location provided by
+ * {@link DownloadPackageTask#getDownloadedPackageLocation()}.
  */
-public class InstallPackageTask {
+public class InstallPackageTask extends AbstractProvisioningTask {
     public static final int ERROR_PACKAGE_INVALID = 0;
     public static final int ERROR_INSTALLATION_FAILED = 1;
-    public static final int ERROR_PACKAGE_NAME_INVALID = 2;
 
-    private final Context mContext;
-    private final Callback mCallback;
+    private final DownloadPackageTask mDownloadPackageTask;
 
     private PackageManager mPm;
-    private Set<InstallInfo> mPackagesToInstall;
 
     /**
-     * Create an InstallPackageTask. When run, this will attempt to install the device admin
-     * packages if it is non-null.
+     * Create an InstallPackageTask. When run, this will attempt to install the device admin package
+     * if it is non-null.
      *
      * {@see #run(String, String)} for more detail on package installation.
      */
-    public InstallPackageTask (Context context, Callback callback) {
-        mCallback = callback;
-        mContext = context;
-        mPackagesToInstall = new HashSet<InstallInfo>();
-        mPm = mContext.getPackageManager();
+    public InstallPackageTask(
+            DownloadPackageTask downloadPackageTask,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+
+        mPm = context.getPackageManager();
+        mDownloadPackageTask = checkNotNull(downloadPackageTask);
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_install;
     }
 
     /**
-     * Should be called before {@link #run}.
-     */
-    public void addInstallIfNecessary(String packageName, String packageLocation) {
-        if (!TextUtils.isEmpty(packageName)) {
-            mPackagesToInstall.add(new InstallInfo(packageName, packageLocation));
-        }
-    }
-
-    /**
-     * Install all packages given by {@link #addPackageToInstall}. Each package will be installed
-     * from the given location if one is provided. If a null or empty location is provided, and the
-     * package is installed for a different user, it will be enabled for the calling user. If the
-     * package location is not provided and the package is not installed for any other users, this
-     * task will produce an error.
+     * Installs a package. The package will be installed from the given location if one is provided.
+     * If a null or empty location is provided, and the package is installed for a different user,
+     * it will be enabled for the calling user. If the package location is not provided and the
+     * package is not installed for any other users, this task will produce an error.
      *
      * Errors will be indicated if a downloaded package is invalid, or installation fails.
      */
-    public void run() {
-        if (mPackagesToInstall.size() == 0) {
-            ProvisionLogger.loge("No downloaded packages to install");
-            mCallback.onSuccess();
+    @Override
+    public void run(int userId) {
+        startTaskTimer();
+        String packageLocation = mDownloadPackageTask.getDownloadedPackageLocation();
+        String packageName = mProvisioningParams.inferDeviceAdminPackageName();
+
+        ProvisionLogger.logi("Installing package");
+        if (TextUtils.isEmpty(packageLocation)) {
+            // Do not log time if not installing any package, as that isn't useful.
+            success();
             return;
         }
-        ProvisionLogger.logi("Installing package(s)");
 
-        for (InstallInfo info : mPackagesToInstall) {
-            if (TextUtils.isEmpty(info.location)) {
-                installExistingPackage(info);
-
-            } else if (packageContentIsCorrect(info.packageName, info.location)) {
-                // Allow for replacing an existing package.
-                // Needed in case this task is performed multiple times.
-                mPm.installPackage(Uri.parse("file://" + info.location),
-                        new PackageInstallObserver(info),
-                        /* flags */ PackageManager.INSTALL_REPLACE_EXISTING,
-                        mContext.getPackageName());
-            } else {
-                // Error should have been reported in packageContentIsCorrect().
-                return;
-            }
-        }
+        // Allow for replacing an existing package.
+        // Needed in case this task is performed multiple times.
+        mPm.installPackage(Uri.parse("file://" + packageLocation),
+                new PackageInstallObserver(packageName, packageLocation),
+                /* flags */ PackageManager.INSTALL_REPLACE_EXISTING,
+                mContext.getPackageName());
     }
 
-    private boolean packageContentIsCorrect(String packageName, String packageLocation) {
-        PackageInfo pi = mPm.getPackageArchiveInfo(packageLocation, PackageManager.GET_RECEIVERS);
-        if (pi == null) {
-            ProvisionLogger.loge("Package could not be parsed successfully.");
-            mCallback.onError(ERROR_PACKAGE_INVALID);
-            return false;
-        }
-        if (!pi.packageName.equals(packageName)) {
-            ProvisionLogger.loge("Package name in apk (" + pi.packageName
-                    + ") does not match package name specified by programmer ("
-                    + packageName + ").");
-            mCallback.onError(ERROR_PACKAGE_INVALID);
-            return false;
-        }
-        if (pi.receivers != null) {
-            for (ActivityInfo ai : pi.receivers) {
-                if (!TextUtils.isEmpty(ai.permission) &&
-                        ai.permission.equals(android.Manifest.permission.BIND_DEVICE_ADMIN)) {
-                    return true;
-                }
-            }
-        }
-        ProvisionLogger.loge("Installed package has no admin receiver.");
-        mCallback.onError(ERROR_PACKAGE_INVALID);
-        return false;
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_INSTALL_PACKAGE_TASK_MS;
     }
 
     private class PackageInstallObserver extends IPackageInstallObserver.Stub {
-        private final InstallInfo mInstallInfo;
+        private final String mPackageName;
+        private final String mPackageLocation;
 
-        public PackageInstallObserver(InstallInfo installInfo) {
-            mInstallInfo = installInfo;
+        public PackageInstallObserver(String packageName, String packageLocation) {
+            mPackageName = packageName;
+            mPackageLocation = packageLocation;
         }
 
         @Override
         public void packageInstalled(String packageName, int returnCode) {
-            if (packageName != null && !packageName.equals(mInstallInfo.packageName))  {
+            if (packageName != null && !packageName.equals(mPackageName))  {
                 ProvisionLogger.loge("Package doesn't have expected package name.");
-                mCallback.onError(ERROR_PACKAGE_INVALID);
+                error(ERROR_PACKAGE_INVALID);
                 return;
             }
             if (returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                mInstallInfo.doneInstalling = true;
-                ProvisionLogger.logd(
-                        "Package " + mInstallInfo.packageName + " is succesfully installed.");
-                checkSuccess();
+                ProvisionLogger.logd("Package " + mPackageName + " is succesfully installed.");
+                stopTaskTimer();
+                success();
             } else if (returnCode == PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE) {
-                mInstallInfo.doneInstalling = true;
-                ProvisionLogger.logd("Current version of " + mInstallInfo.packageName
+                ProvisionLogger.logd("Current version of " + mPackageName
                         + " higher than the version to be installed. It was not reinstalled.");
-                checkSuccess();
+                // If the package is already at a higher version: success.
+                // Do not log time if package is already at a higher version, as that isn't useful.
+                success();
             } else {
                 ProvisionLogger.logd(
-                        "Installing package " + mInstallInfo.packageName + " failed.");
+                        "Installing package " + mPackageName + " failed.");
                 ProvisionLogger.logd(
                         "Errorcode returned by IPackageInstallObserver = " + returnCode);
-                mCallback.onError(ERROR_INSTALLATION_FAILED);
+                error(ERROR_INSTALLATION_FAILED);
             }
             // remove the file containing the apk in order not to use too much space.
-            new File(mInstallInfo.location).delete();
-        }
-    }
-
-    /**
-     * Calls the success callback once all of the packages that needed to be installed are
-     * successfully installed.
-     */
-    private void checkSuccess() {
-        for (InstallInfo info : mPackagesToInstall) {
-            if (!info.doneInstalling) {
-                return;
-            }
-        }
-        mCallback.onSuccess();
-    }
-
-    /**
-     * Attempt to install this package from an existing package installed under a different user.
-     * If this package is already installed for this user, this is a no-op. If it is not installed
-     * for another user, this will produce an error.
-     * @param info The package to install
-     */
-    private void installExistingPackage(InstallInfo info) {
-        try {
-            ProvisionLogger.logi("Installing existing package " + info.packageName);
-            mPm.installExistingPackage(info.packageName);
-            info.doneInstalling = true;
-        } catch (PackageManager.NameNotFoundException e) {
-            mCallback.onError(ERROR_PACKAGE_INVALID);
-            return;
-        }
-        checkSuccess();
-    }
-
-    public abstract static class Callback {
-        public abstract void onSuccess();
-        public abstract void onError(int errorCode);
-    }
-
-    private static class InstallInfo {
-        public String packageName;
-        public String location;
-        public boolean doneInstalling;
-
-        public InstallInfo(String packageName, String location) {
-            this.packageName = packageName;
-            this.location = location;
+            new File(mPackageLocation).delete();
         }
     }
 }
diff --git a/src/com/android/managedprovisioning/task/ManagedProfileSettingsTask.java b/src/com/android/managedprovisioning/task/ManagedProfileSettingsTask.java
index ab0da4f..39ad7fd 100644
--- a/src/com/android/managedprovisioning/task/ManagedProfileSettingsTask.java
+++ b/src/com/android/managedprovisioning/task/ManagedProfileSettingsTask.java
@@ -16,25 +16,73 @@
 
 package com.android.managedprovisioning.task;
 
-import android.content.ContentResolver;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.app.admin.DevicePolicyManager;
 import android.content.Context;
-import android.provider.Settings;
+import android.os.UserHandle;
+import android.os.UserManager;
 
-import static android.provider.Settings.Secure.MANAGED_PROFILE_CONTACT_REMOTE_SEARCH;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.model.ProvisioningParams;
 
-public class ManagedProfileSettingsTask {
+public class ManagedProfileSettingsTask extends AbstractProvisioningTask {
 
-    private final int mUserId;
-    private final ContentResolver mContentResolver;
+    @VisibleForTesting
+    static final boolean DEFAULT_CONTACT_REMOTE_SEARCH = true;
 
-    public ManagedProfileSettingsTask(Context context, int userId) {
-        mContentResolver = context.getContentResolver();
-        mUserId = userId;
+    private final SettingsFacade mSettingsFacade;
+    private final CrossProfileIntentFiltersSetter mCrossProfileIntentFiltersSetter;
+
+    public ManagedProfileSettingsTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        this(new SettingsFacade(), new CrossProfileIntentFiltersSetter(context), context, params,
+                callback);
     }
 
-    public void run() {
+    @VisibleForTesting
+    ManagedProfileSettingsTask(
+            SettingsFacade settingsFacade,
+            CrossProfileIntentFiltersSetter crossProfileIntentFiltersSetter,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+        mSettingsFacade = checkNotNull(settingsFacade);
+        mCrossProfileIntentFiltersSetter = checkNotNull(crossProfileIntentFiltersSetter);
+    }
+
+    @Override
+    public void run(int userId) {
         // Turn on managed profile contacts remote search.
-        Settings.Secure.putIntForUser(mContentResolver, MANAGED_PROFILE_CONTACT_REMOTE_SEARCH,
-                1, mUserId);
+        mSettingsFacade.setProfileContactRemoteSearch(mContext, DEFAULT_CONTACT_REMOTE_SEARCH,
+                userId);
+
+        // Disable managed profile wallpaper access
+        UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+        um.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true, UserHandle.of(userId));
+
+        // Set the main color of managed provisioning from the provisioning params
+        if (mProvisioningParams.mainColor != null) {
+            DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(
+                    Context.DEVICE_POLICY_SERVICE);
+            dpm.setOrganizationColorForUser(mProvisioningParams.mainColor, userId);
+        }
+
+        mCrossProfileIntentFiltersSetter.setFilters(UserHandle.myUserId(), userId);
+
+        // always mark managed profile setup as completed
+        mSettingsFacade.setUserSetupCompleted(mContext, userId);
+
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_finishing_touches;
     }
 }
diff --git a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
index fc74208..1b51470 100644
--- a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
+++ b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
@@ -16,69 +16,83 @@
 
 package com.android.managedprovisioning.task;
 
-import android.app.AppGlobals;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
-import android.os.RemoteException;
-import android.os.UserHandle;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
 
 /**
- * This tasks sets a given component as the owner of the device.
+ * This tasks sets a given component as the device or profile owner. It also enables the management
+ * app if it's not currently enabled and sets the component as active admin.
  */
-public class SetDevicePolicyTask {
+public class SetDevicePolicyTask extends AbstractProvisioningTask {
 
-    private final Callback mCallback;
-    private final Context mContext;
-    private String mAdminPackage;
-    private ComponentName mAdminComponent;
-    private final String mOwnerName;
-    private final int mUserId;
+    private final PackageManager mPackageManager;
+    private final DevicePolicyManager mDevicePolicyManager;
+    private final Utils mUtils;
 
-    private PackageManager mPackageManager;
-    private DevicePolicyManager mDevicePolicyManager;
-
-    public SetDevicePolicyTask(Context context, String ownerName, Callback callback) {
-        this(context, ownerName, callback, UserHandle.myUserId());
+    public SetDevicePolicyTask(
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        this(new Utils(), context, params, callback);
     }
 
     @VisibleForTesting
-    /* package */ SetDevicePolicyTask(Context context, String ownerName, Callback callback,
-            int userId) {
-        mCallback = callback;
-        mContext = context;
-        mOwnerName = ownerName;
-        mUserId = userId;
+    SetDevicePolicyTask(Utils utils,
+                        Context context,
+                        ProvisioningParams params,
+                        Callback callback) {
+        super(context, params, callback);
 
+        mUtils = checkNotNull(utils);
         mPackageManager = mContext.getPackageManager();
-        mDevicePolicyManager = (DevicePolicyManager) mContext.
-                getSystemService(Context.DEVICE_POLICY_SERVICE);
+        mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
     }
 
-    public void run(ComponentName adminComponent) {
-        boolean success = true;
-        try {
-            mAdminComponent = adminComponent;
-            mAdminPackage = mAdminComponent.getPackageName();
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_set_owner;
+    }
 
-            enableDevicePolicyApp(mAdminPackage);
-            setActiveAdmin(mAdminComponent);
-            success = setDeviceOwner(mAdminComponent, mOwnerName);
+    @Override
+    public void run(int userId) {
+        boolean success;
+        try {
+            ComponentName adminComponent = mUtils.findDeviceAdmin(
+                    mProvisioningParams.deviceAdminPackageName,
+                    mProvisioningParams.deviceAdminComponentName, mContext);
+            String adminPackage = adminComponent.getPackageName();
+
+            enableDevicePolicyApp(adminPackage);
+            setActiveAdmin(adminComponent, userId);
+            if (mUtils.isProfileOwnerAction(mProvisioningParams.provisioningAction)) {
+                success = setProfileOwner(adminComponent, userId);
+            } else {
+                success = setDeviceOwner(adminComponent,
+                        mContext.getResources().getString(R.string.default_owned_device_username),
+                        userId);
+            }
         } catch (Exception e) {
             ProvisionLogger.loge("Failure setting device or profile owner", e);
-            mCallback.onError();
+            error(0);
             return;
         }
+
         if (success) {
-            mCallback.onSuccess();
+            success();
         } else {
             ProvisionLogger.loge("Error when setting device or profile owner.");
-            mCallback.onError();
+            error(0);
         }
     }
 
@@ -93,21 +107,25 @@
         }
     }
 
-    private void setActiveAdmin(ComponentName component) {
+    private void setActiveAdmin(ComponentName component, int userId) {
         ProvisionLogger.logd("Setting " + component + " as active admin.");
-        mDevicePolicyManager.setActiveAdmin(component, true, mUserId);
+        mDevicePolicyManager.setActiveAdmin(component, true, userId);
     }
 
-    private boolean setDeviceOwner(ComponentName component, String owner) {
-        ProvisionLogger.logd("Setting " + component + " as device owner " + owner + ".");
+    private boolean setDeviceOwner(ComponentName component, String owner, int userId) {
+        ProvisionLogger.logd("Setting " + component + " as device owner of user " + userId);
         if (!component.equals(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser())) {
-            return mDevicePolicyManager.setDeviceOwner(component, owner, mUserId);
+            return mDevicePolicyManager.setDeviceOwner(component, owner, userId);
         }
         return true;
     }
 
-    public abstract static class Callback {
-        public abstract void onSuccess();
-        public abstract void onError();
+    private boolean setProfileOwner(ComponentName component, int userId) {
+        ProvisionLogger.logd("Setting " + component + " as profile owner of user " + userId);
+        if (!component.equals(mDevicePolicyManager.getProfileOwnerAsUser(userId))) {
+            return mDevicePolicyManager.setProfileOwner(component, component.getPackageName(),
+                    userId);
+        }
+        return true;
     }
 }
diff --git a/src/com/android/managedprovisioning/task/StartManagedProfileTask.java b/src/com/android/managedprovisioning/task/StartManagedProfileTask.java
new file mode 100644
index 0000000..fb0db5a
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/StartManagedProfileTask.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_START_PROFILE_TASK_MS;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.app.ActivityManager;
+import android.app.IActivityManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.RemoteException;
+import android.os.UserHandle;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * This task starts the managed profile and waits for it to be unlocked.
+ */
+public class StartManagedProfileTask extends AbstractProvisioningTask {
+    // Maximum time we will wait for ACTION_USER_UNLOCK until we give up
+    private static final int USER_UNLOCKED_TIMEOUT_SECONDS = 120; // 2 minutes
+    @VisibleForTesting
+    static final IntentFilter UNLOCK_FILTER = new IntentFilter(Intent.ACTION_USER_UNLOCKED);
+
+    private final IActivityManager mIActivityManager;
+
+    public StartManagedProfileTask(Context context, ProvisioningParams params, Callback callback) {
+        this(ActivityManager.getService(), context, params, callback);
+    }
+
+    @VisibleForTesting
+    StartManagedProfileTask(
+            IActivityManager iActivityManager,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+
+        mIActivityManager = checkNotNull(iActivityManager);
+    }
+
+    @Override
+    public void run(int userId) {
+        startTaskTimer();
+        UserUnlockedReceiver unlockedReceiver = new UserUnlockedReceiver(userId);
+        mContext.registerReceiverAsUser(unlockedReceiver, new UserHandle(userId), UNLOCK_FILTER,
+                null, null);
+        try {
+            if (!mIActivityManager.startUserInBackground(userId)) {
+                ProvisionLogger.loge("Unable to start user in background: " + userId);
+                error(0);
+                return;
+            }
+
+            if (!unlockedReceiver.waitForUserUnlocked()) {
+                ProvisionLogger.loge("Timeout whilst waiting for unlock of user: " + userId);
+                error(0);
+                return;
+            }
+        } catch (RemoteException e) {
+            ProvisionLogger.loge("Exception when starting user in background: " + userId, e);
+            error(0);
+            return;
+        } finally {
+            mContext.unregisterReceiver(unlockedReceiver);
+        }
+        stopTaskTimer();
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_finishing_touches;
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return PROVISIONING_START_PROFILE_TASK_MS;
+    }
+
+    /**
+     * BroadcastReceiver that listens to {@link Intent#ACTION_USER_UNLOCKED} in order to provide
+     * a blocking wait until the managed profile has been started and unlocked.
+     */
+    @VisibleForTesting
+    static class UserUnlockedReceiver extends BroadcastReceiver {
+        private final Semaphore semaphore = new Semaphore(0);
+        private final int mUserId;
+
+        UserUnlockedReceiver(int userId) {
+            mUserId = userId;
+        }
+
+        @Override
+        public void onReceive(Context context, Intent intent ) {
+            if (!Intent.ACTION_USER_UNLOCKED.equals(intent.getAction())) {
+                ProvisionLogger.logw("Unexpected intent: " + intent);
+                return;
+            }
+            if (intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL) == mUserId) {
+                ProvisionLogger.logd("Received ACTION_USER_UNLOCKED for user " + mUserId);
+                semaphore.release();
+            }
+        }
+
+        public boolean waitForUserUnlocked() {
+            ProvisionLogger.logd("Waiting for ACTION_USER_UNLOCKED");
+            try {
+                return semaphore.tryAcquire(USER_UNLOCKED_TIMEOUT_SECONDS, TimeUnit.SECONDS);
+            } catch (InterruptedException ie) {
+                return false;
+            }
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/VerifyPackageTask.java b/src/com/android/managedprovisioning/task/VerifyPackageTask.java
new file mode 100644
index 0000000..a77f74a
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/VerifyPackageTask.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.Signature;
+import android.text.TextUtils;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.PackageDownloadInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Verifies the management app apk downloaded previously in {@link DownloadPackageTask}.
+ *
+ * <p>The first check verifies that a {@link android.app.admin.DeviceAdminReceiver} is present in
+ * the apk and that it corresponds to the one provided via
+ * {@link ProvisioningParams#deviceAdminComponentName}.</p>
+ *
+ * <p>The second check verifies that the package or signature checksum matches the ones given via
+ * {@link PackageDownloadInfo#packageChecksum} or {@link PackageDownloadInfo#signatureChecksum}
+ * respectively. The package checksum takes priority in case both are present.</p>
+ */
+public class VerifyPackageTask extends AbstractProvisioningTask {
+    public static final int ERROR_HASH_MISMATCH = 0;
+    public static final int ERROR_DEVICE_ADMIN_MISSING = 1;
+
+    private final Utils mUtils;
+    private final DownloadPackageTask mDownloadPackageTask;
+    private final PackageManager mPackageManager;
+    private final PackageDownloadInfo mDownloadInfo;
+
+    public VerifyPackageTask(
+            DownloadPackageTask downloadPackageTask,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        this(new Utils(), downloadPackageTask, context, params, callback);
+    }
+
+    @VisibleForTesting
+    VerifyPackageTask(
+            Utils utils,
+            DownloadPackageTask downloadPackageTask,
+            Context context,
+            ProvisioningParams params,
+            Callback callback) {
+        super(context, params, callback);
+
+        mUtils = checkNotNull(utils);
+        mDownloadPackageTask = checkNotNull(downloadPackageTask);
+        mPackageManager = mContext.getPackageManager();
+        mDownloadInfo = checkNotNull(params.deviceAdminDownloadInfo);
+    }
+
+    @Override
+    public void run(int userId) {
+        final String downloadLocation = mDownloadPackageTask.getDownloadedPackageLocation();
+        if (TextUtils.isEmpty(downloadLocation)) {
+            ProvisionLogger.logw("VerifyPackageTask invoked, but download location is null");
+            success();
+            return;
+        }
+
+        PackageInfo packageInfo = mPackageManager.getPackageArchiveInfo(downloadLocation,
+                PackageManager.GET_SIGNATURES | PackageManager.GET_RECEIVERS);
+        String packageName = mProvisioningParams.inferDeviceAdminPackageName();
+        // Device admin package name can't be null
+        if (packageInfo == null || packageName == null) {
+            ProvisionLogger.loge("Device admin package info or name is null");
+            error(ERROR_DEVICE_ADMIN_MISSING);
+            return;
+        }
+
+        if (mUtils.findDeviceAdminInPackageInfo(packageName,
+                mProvisioningParams.deviceAdminComponentName, packageInfo) == null) {
+            error(ERROR_DEVICE_ADMIN_MISSING);
+            return;
+        }
+
+        if (mDownloadInfo.packageChecksum.length > 0) {
+            if (!doesPackageHashMatch(downloadLocation, mDownloadInfo.packageChecksum,
+                    mDownloadInfo.packageChecksumSupportsSha1)) {
+                error(ERROR_HASH_MISMATCH);
+                return;
+            }
+        } else {
+            if (!doesASignatureHashMatch(packageInfo, mDownloadInfo.signatureChecksum)) {
+                error(ERROR_HASH_MISMATCH);
+                return;
+            }
+        }
+
+        success();
+    }
+
+    @Override
+    public int getStatusMsgId() {
+        return R.string.progress_install;
+    }
+
+    private List<byte[]> computeHashesOfAllSignatures(Signature[] signatures) {
+        if (signatures == null) {
+            return null;
+        }
+
+        List<byte[]> hashes = new LinkedList<>();
+        for (Signature signature : signatures) {
+            byte[] hash = mUtils.computeHashOfByteArray(signature.toByteArray());
+            hashes.add(hash);
+        }
+        return hashes;
+    }
+
+    private boolean doesASignatureHashMatch(PackageInfo packageInfo, byte[] signatureChecksum) {
+        // Check whether a signature hash of downloaded apk matches the hash given in constructor.
+        ProvisionLogger.logd("Checking " + Utils.SHA256_TYPE
+                + "-hashes of all signatures of downloaded package.");
+        List<byte[]> sigHashes = computeHashesOfAllSignatures(packageInfo.signatures);
+        if (sigHashes == null || sigHashes.isEmpty()) {
+            ProvisionLogger.loge("Downloaded package does not have any signatures.");
+            return false;
+        }
+
+        for (byte[] sigHash : sigHashes) {
+            if (Arrays.equals(sigHash, signatureChecksum)) {
+                return true;
+            }
+        }
+
+        ProvisionLogger.loge("Provided hash does not match any signature hash.");
+        ProvisionLogger.loge("Hash provided by programmer: "
+                + StoreUtils.byteArrayToString(signatureChecksum));
+        ProvisionLogger.loge("Hashes computed from package signatures: ");
+        for (byte[] sigHash : sigHashes) {
+            if (sigHash != null) {
+                ProvisionLogger.loge(StoreUtils.byteArrayToString(sigHash));
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Check whether package hash of downloaded file matches the hash given in PackageDownloadInfo.
+     * By default, SHA-256 is used to verify the file hash.
+     * If mPackageDownloadInfo.packageChecksumSupportsSha1 == true, SHA-1 hash is also supported for
+     * backwards compatibility.
+     */
+    private boolean doesPackageHashMatch(String downloadLocation, byte[] packageChecksum,
+            boolean supportsSha1) {
+        byte[] packageSha256Hash, packageSha1Hash = null;
+
+        ProvisionLogger.logd("Checking file hash of entire apk file.");
+        packageSha256Hash = mUtils.computeHashOfFile(downloadLocation, Utils.SHA256_TYPE);
+        if (Arrays.equals(packageChecksum, packageSha256Hash)) {
+            return true;
+        }
+
+        // Fall back to SHA-1
+        if (supportsSha1) {
+            packageSha1Hash = mUtils.computeHashOfFile(downloadLocation, Utils.SHA1_TYPE);
+            if (Arrays.equals(packageChecksum, packageSha1Hash)) {
+                return true;
+            }
+        }
+
+        ProvisionLogger.loge("Provided hash does not match file hash.");
+        ProvisionLogger.loge("Hash provided by programmer: "
+                + StoreUtils.byteArrayToString(packageChecksum));
+        if (packageSha256Hash != null) {
+            ProvisionLogger.loge("SHA-256 Hash computed from file: "
+                    + StoreUtils.byteArrayToString(packageSha256Hash));
+        }
+        if (packageSha1Hash != null) {
+            ProvisionLogger.loge("SHA-1 Hash computed from file: "
+                    + StoreUtils.byteArrayToString(packageSha1Hash));
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogic.java b/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogic.java
new file mode 100644
index 0000000..42668dc
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogic.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.IntDef;
+import android.app.AppGlobals;
+import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * Logic that calculates which system apps should be removed during profile creation and subsequent
+ * OTAs. It also decides whether a snapshot should be taken or not.
+ */
+public class NonRequiredAppsLogic {
+
+    @IntDef({
+            Case.OTA_LEAVE_APPS,
+            Case.OTA_REMOVE_APPS,
+            Case.NEW_PROFILE_LEAVE_APPS,
+            Case.NEW_PROFILE_REMOVE_APPS
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    private @interface Case {
+        int OTA_LEAVE_APPS = 0;
+        int OTA_REMOVE_APPS = 1;
+        int NEW_PROFILE_LEAVE_APPS = 2;
+        int NEW_PROFILE_REMOVE_APPS = 3;
+    }
+
+    private final PackageManager mPackageManager;
+    private final IPackageManager mIPackageManager;
+    private final boolean mNewProfile;
+    private final ProvisioningParams mParams;
+    private final SystemAppsSnapshot mSnapshot;
+    private final OverlayPackagesProvider mProvider;
+    private final Utils mUtils;
+
+    public NonRequiredAppsLogic(
+            Context context,
+            boolean newProfile,
+            ProvisioningParams params) {
+        this(
+                context.getPackageManager(),
+                AppGlobals.getPackageManager(),
+                newProfile,
+                params,
+                new SystemAppsSnapshot(context),
+                new OverlayPackagesProvider(context, params),
+                new Utils());
+    }
+
+    @VisibleForTesting
+    NonRequiredAppsLogic(
+            PackageManager packageManager,
+            IPackageManager iPackageManager,
+            boolean newProfile,
+            ProvisioningParams params,
+            SystemAppsSnapshot snapshot,
+            OverlayPackagesProvider provider,
+            Utils utils) {
+        mPackageManager = checkNotNull(packageManager);
+        mIPackageManager = checkNotNull(iPackageManager);
+        mNewProfile = newProfile;
+        mParams = checkNotNull(params);
+        mSnapshot = checkNotNull(snapshot);
+        mProvider = checkNotNull(provider);
+        mUtils = checkNotNull(utils);
+    }
+
+    public Set<String> getSystemAppsToRemove(int userId) {
+        if (!shouldDeleteSystemApps(userId)) {
+            return Collections.emptySet();
+        }
+
+        // Start with all system apps
+        Set<String> newSystemApps = mUtils.getCurrentSystemApps(mIPackageManager, userId);
+
+        // Remove the ones that were already present in the last snapshot only when OTA
+        if (!mNewProfile) {
+            newSystemApps.removeAll(mSnapshot.getSnapshot(userId));
+        }
+
+        // Get the packages from the black/white lists
+        Set<String> packagesToDelete = mProvider.getNonRequiredApps(userId);
+
+        // Retain only new system apps
+        packagesToDelete.retainAll(newSystemApps);
+
+        return packagesToDelete;
+    }
+
+    public void maybeTakeSystemAppsSnapshot(int userId) {
+        if (shouldDeleteSystemApps(userId)) {
+            mSnapshot.takeNewSnapshot(userId);
+        }
+    }
+
+    private boolean shouldDeleteSystemApps(int userId) {
+        @Case int which = getCase(userId);
+        return (Case.NEW_PROFILE_REMOVE_APPS == which) || (Case.OTA_REMOVE_APPS == which);
+    }
+
+    private @Case int getCase(int userId) {
+        if (mNewProfile) {
+            if (mParams.leaveAllSystemAppsEnabled) {
+                return Case.NEW_PROFILE_LEAVE_APPS;
+            } else {
+                return Case.NEW_PROFILE_REMOVE_APPS;
+            }
+        } else {
+            if (mSnapshot.hasSnapshot(userId)) {
+                return Case.OTA_REMOVE_APPS;
+            } else {
+                return Case.OTA_LEAVE_APPS;
+            }
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProvider.java b/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProvider.java
new file mode 100644
index 0000000..851d838
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProvider.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.view.inputmethod.InputMethodInfo;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.view.IInputMethodManager;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Class that provides the apps that are not required on a managed device / profile according to the
+ * overlays provided via (vendor_|)required_apps_managed_(profile|device).xml.
+ */
+public class OverlayPackagesProvider {
+
+    private static final int DEVICE_OWNER = 0;
+    private static final int PROFILE_OWNER = 1;
+    private static final int MANAGED_USER = 2;
+
+    private final PackageManager mPm;
+    private final IInputMethodManager mIInputMethodManager;
+    private final String mDpcPackageName;
+    private final List<String> mRequiredAppsList;
+    private final List<String> mDisallowedAppsList;
+    private final List<String> mVendorRequiredAppsList;
+    private final List<String> mVendorDisallowedAppsList;
+    private final int mProvisioningType;
+    private final boolean mLeaveAllSystemAppsEnabled;
+
+    public OverlayPackagesProvider(Context context, ProvisioningParams params) {
+        this(context, params, getIInputMethodManager());
+    }
+
+    @VisibleForTesting
+    OverlayPackagesProvider(
+            Context context,
+            ProvisioningParams params,
+            IInputMethodManager iInputMethodManager) {
+        mPm = checkNotNull(context.getPackageManager());
+        mIInputMethodManager = checkNotNull(iInputMethodManager);
+        mDpcPackageName = checkNotNull(params.inferDeviceAdminPackageName());
+
+        // For split system user devices that will have a system device owner, don't adjust the set
+        // of enabled packages in the system user as we expect the right set of packages to be
+        // enabled for the system user out of the box. For other devices, the set of available
+        // packages can vary depending on management state.
+        mLeaveAllSystemAppsEnabled = params.leaveAllSystemAppsEnabled ||
+                params.provisioningAction.equals(ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE);
+
+        int requiredAppsListArray;
+        int vendorRequiredAppsListArray;
+        int disallowedAppsListArray;
+        int vendorDisallowedAppsListArray;
+        switch (params.provisioningAction) {
+            case ACTION_PROVISION_MANAGED_USER:
+                mProvisioningType = MANAGED_USER;
+                requiredAppsListArray = R.array.required_apps_managed_user;
+                disallowedAppsListArray = R.array.disallowed_apps_managed_user;
+                vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_user;
+                vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_user;
+                break;
+            case ACTION_PROVISION_MANAGED_PROFILE:
+                mProvisioningType = PROFILE_OWNER;
+                requiredAppsListArray = R.array.required_apps_managed_profile;
+                disallowedAppsListArray = R.array.disallowed_apps_managed_profile;
+                vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_profile;
+                vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_profile;
+                break;
+            case ACTION_PROVISION_MANAGED_DEVICE:
+            case ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE:
+                mProvisioningType = DEVICE_OWNER;
+                requiredAppsListArray = R.array.required_apps_managed_device;
+                disallowedAppsListArray = R.array.disallowed_apps_managed_device;
+                vendorRequiredAppsListArray = R.array.vendor_required_apps_managed_device;
+                vendorDisallowedAppsListArray = R.array.vendor_disallowed_apps_managed_device;
+                break;
+            default:
+                throw new IllegalArgumentException("Provisioning action "
+                        + params.provisioningAction + " not implemented.");
+        }
+
+        Resources resources = context.getResources();
+        mRequiredAppsList = Arrays.asList(resources.getStringArray(requiredAppsListArray));
+        mDisallowedAppsList = Arrays.asList(resources.getStringArray(disallowedAppsListArray));
+        mVendorRequiredAppsList = Arrays.asList(
+                resources.getStringArray(vendorRequiredAppsListArray));
+        mVendorDisallowedAppsList = Arrays.asList(
+                resources.getStringArray(vendorDisallowedAppsListArray));
+    }
+
+    /**
+     * Computes non-required apps. All the system apps with a launcher that are not in
+     * the required set of packages will be considered as non-required apps.
+     *
+     * Note: If an app is mistakenly listed as both required and disallowed, it will be treated as
+     * disallowed.
+     *
+     * @param userId The userId for which the non-required apps needs to be computed.
+     * @return the set of non-required apps.
+     */
+    public Set<String> getNonRequiredApps(int userId) {
+        if (mLeaveAllSystemAppsEnabled) {
+            return Collections.emptySet();
+        }
+
+        Set<String> nonRequiredApps = getCurrentAppsWithLauncher(userId);
+        // Newly installed system apps are uninstalled when they are not required and are either
+        // disallowed or have a launcher icon.
+        nonRequiredApps.removeAll(getRequiredApps());
+        // Don't delete the system input method packages in case of Device owner provisioning.
+        if (mProvisioningType == DEVICE_OWNER || mProvisioningType == MANAGED_USER) {
+            nonRequiredApps.removeAll(getSystemInputMethods());
+        }
+        nonRequiredApps.addAll(getDisallowedApps());
+        return nonRequiredApps;
+    }
+
+    private Set<String> getCurrentAppsWithLauncher(int userId) {
+        Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
+        launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
+        List<ResolveInfo> resolveInfos = mPm.queryIntentActivitiesAsUser(launcherIntent,
+                PackageManager.MATCH_UNINSTALLED_PACKAGES
+                        | PackageManager.MATCH_DISABLED_COMPONENTS
+                        | PackageManager.MATCH_DIRECT_BOOT_AWARE
+                        | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
+                userId);
+        Set<String> apps = new HashSet<>();
+        for (ResolveInfo resolveInfo : resolveInfos) {
+            apps.add(resolveInfo.activityInfo.packageName);
+        }
+        return apps;
+    }
+
+    private Set<String> getSystemInputMethods() {
+        // InputMethodManager is final so it cannot be mocked.
+        // So, we're using IInputMethodManager directly because it can be mocked.
+        List<InputMethodInfo> inputMethods;
+        try {
+            inputMethods = mIInputMethodManager.getInputMethodList();
+        } catch (RemoteException e) {
+            ProvisionLogger.loge("Could not communicate with IInputMethodManager", e);
+            return Collections.emptySet();
+        }
+        Set<String> systemInputMethods = new HashSet<>();
+        for (InputMethodInfo inputMethodInfo : inputMethods) {
+            ApplicationInfo applicationInfo = inputMethodInfo.getServiceInfo().applicationInfo;
+            if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                systemInputMethods.add(inputMethodInfo.getPackageName());
+            }
+        }
+        return systemInputMethods;
+    }
+
+    private Set<String> getRequiredApps() {
+        HashSet<String> requiredApps = new HashSet<>();
+        requiredApps.addAll(mRequiredAppsList);
+        requiredApps.addAll(mVendorRequiredAppsList);
+        requiredApps.add(mDpcPackageName);
+        return requiredApps;
+    }
+
+    private Set<String> getDisallowedApps() {
+        HashSet<String> disallowedApps = new HashSet<>();
+        disallowedApps.addAll(mDisallowedAppsList);
+        disallowedApps.addAll(mVendorDisallowedAppsList);
+        return disallowedApps;
+    }
+
+    private static IInputMethodManager getIInputMethodManager() {
+        IBinder b = ServiceManager.getService(Context.INPUT_METHOD_SERVICE);
+        return IInputMethodManager.Stub.asInterface(b);
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshot.java b/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshot.java
new file mode 100644
index 0000000..54fdcc8
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshot.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.Nullable;
+import android.app.AppGlobals;
+import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.util.Xml;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FastXmlSerializer;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.Utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
+
+/**
+ * Stores and retrieves the system apps that were on the device during provisioning and on
+ * subsequent OTAs.
+ */
+public class SystemAppsSnapshot {
+    private static final String TAG_SYSTEM_APPS = "system-apps";
+    private static final String TAG_PACKAGE_LIST_ITEM = "item";
+    private static final String ATTR_VALUE = "value";
+
+    private final Context mContext;
+    private final IPackageManager mIPackageManager;
+    private final Utils mUtils;
+
+    public SystemAppsSnapshot(Context context) {
+        this(context, AppGlobals.getPackageManager(), new Utils());
+    }
+
+    @VisibleForTesting
+    SystemAppsSnapshot(
+            Context context,
+            IPackageManager iPackageManager,
+            Utils utils) {
+        mContext = checkNotNull(context);
+        mIPackageManager = checkNotNull(iPackageManager);
+        mUtils = checkNotNull(utils);
+    }
+
+    /**
+     * Returns whether currently a snapshot exists for the given user.
+     *
+     * @param userId the user id for which the snapshot is requested.
+     */
+    public boolean hasSnapshot(int userId) {
+        return getSystemAppsFile(mContext, userId).exists();
+    }
+
+    /**
+     * Returns the last stored snapshot for the given user.
+     *
+     * @param userId the user id for which the snapshot is requested.
+     */
+    public Set<String> getSnapshot(int userId) {
+        return readSystemApps(getSystemAppsFile(mContext, userId));
+    }
+
+    /**
+     * Call this method to take a snapshot of the current set of system apps.
+     *
+     * @param userId the user id for which the snapshot should be taken.
+     */
+    public void takeNewSnapshot(int userId) {
+        final File systemAppsFile = getSystemAppsFile(mContext, userId);
+        systemAppsFile.getParentFile().mkdirs(); // Creating the folder if it does not exist
+        writeSystemApps(mUtils.getCurrentSystemApps(mIPackageManager, userId), systemAppsFile);
+    }
+
+    private void writeSystemApps(Set<String> packageNames, File systemAppsFile) {
+        try {
+            FileOutputStream stream = new FileOutputStream(systemAppsFile, false);
+            XmlSerializer serializer = new FastXmlSerializer();
+            serializer.setOutput(stream, "utf-8");
+            serializer.startDocument(null, true);
+            serializer.startTag(null, TAG_SYSTEM_APPS);
+            for (String packageName : packageNames) {
+                serializer.startTag(null, TAG_PACKAGE_LIST_ITEM);
+                serializer.attribute(null, ATTR_VALUE, packageName);
+                serializer.endTag(null, TAG_PACKAGE_LIST_ITEM);
+            }
+            serializer.endTag(null, TAG_SYSTEM_APPS);
+            serializer.endDocument();
+            stream.close();
+        } catch (IOException e) {
+            ProvisionLogger.loge("IOException trying to write the system apps", e);
+        }
+    }
+
+    private Set<String> readSystemApps(File systemAppsFile) {
+        Set<String> result = new HashSet<>();
+        if (!systemAppsFile.exists()) {
+            return result;
+        }
+        try {
+            FileInputStream stream = new FileInputStream(systemAppsFile);
+
+            XmlPullParser parser = Xml.newPullParser();
+            parser.setInput(stream, null);
+            parser.next();
+
+            int type;
+            int outerDepth = parser.getDepth();
+            while ((type=parser.next()) != XmlPullParser.END_DOCUMENT
+                    && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+                if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                    continue;
+                }
+                String tag = parser.getName();
+                if (tag.equals(TAG_PACKAGE_LIST_ITEM)) {
+                    result.add(parser.getAttributeValue(null, ATTR_VALUE));
+                } else {
+                    ProvisionLogger.loge("Unknown tag: " + tag);
+                }
+            }
+            stream.close();
+        } catch (IOException e) {
+            ProvisionLogger.loge("IOException trying to read the system apps", e);
+        } catch (XmlPullParserException e) {
+            ProvisionLogger.loge("XmlPullParserException trying to read the system apps", e);
+        }
+        return result;
+    }
+
+    @VisibleForTesting
+    static File getSystemAppsFile(Context context, int userId) {
+        return new File(context.getFilesDir() + File.separator + "system_apps"
+                + File.separator + "user" + userId + ".xml");
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/wifi/NetworkMonitor.java b/src/com/android/managedprovisioning/task/wifi/NetworkMonitor.java
new file mode 100644
index 0000000..1a6c6f0
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/wifi/NetworkMonitor.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.wifi;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.ConnectivityManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.common.ProvisionLogger;
+import com.android.managedprovisioning.common.Utils;
+
+/**
+ * Monitor the state of the data network and the checkin service. Invoke a callback when the network
+ * is connected and checkin has succeeded.
+ */
+public class NetworkMonitor {
+
+    @VisibleForTesting
+    static final IntentFilter FILTER;
+    static {
+        FILTER = new IntentFilter();
+        FILTER.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+        // Listen to immediate connectivity changes which are 3 seconds
+        // earlier than CONNECTIVITY_ACTION and may not have IPv6 routes
+        // setup. However, this may allow us to start up services like
+        // the CheckinService a bit earlier.
+        FILTER.addAction(ConnectivityManager.INET_CONDITION_ACTION);
+    }
+
+    /** State notification callback. Expect some duplicate notifications. */
+    public interface NetworkConnectedCallback {
+        void onNetworkConnected();
+    }
+
+    private final Context mContext;
+    private final Utils mUtils ;
+
+    private NetworkConnectedCallback mCallback = null;
+
+    /**
+     * Start watching the network and monitoring the checkin service. Immediately invokes one of the
+     * callback methods to report the current state, and then invokes callback methods over time as
+     * the state changes.
+     *
+     * @param context to use for intent observers and such
+     */
+    public NetworkMonitor(Context context) {
+        this(context, new Utils());
+    }
+
+    @VisibleForTesting
+    NetworkMonitor(Context context, Utils utils) {
+        mContext = checkNotNull(context);
+        mUtils = checkNotNull(utils);
+    }
+
+    /**
+     * Start listening for connectivity changes.
+     * @param callback Callback to inform about those changes.
+     */
+    public synchronized void startListening(NetworkConnectedCallback callback) {
+        mCallback = checkNotNull(callback);
+        mContext.registerReceiver(mBroadcastReceiver, FILTER);
+    }
+
+    /**
+     * Stop listening for connectivity changes.
+     */
+    public synchronized void stopListening() {
+        if (mCallback == null) {
+            return;
+        }
+
+        mCallback = null;
+        mContext.unregisterReceiver(mBroadcastReceiver);
+    }
+
+    private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            ProvisionLogger.logd("onReceive " + intent.toString());
+            if (FILTER.matchAction(intent.getAction())) {
+                synchronized (NetworkMonitor.this) {
+                    if (mUtils.isConnectedToWifi(context) && mCallback != null) {
+                        mCallback.onNetworkConnected();
+                    }
+                }
+            }
+        }
+    };
+}
diff --git a/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java b/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java
new file mode 100644
index 0000000..930ba9e
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.wifi;
+
+import android.net.IpConfiguration.ProxySettings;
+import android.net.ProxyInfo;
+import android.net.wifi.WifiConfiguration;
+import android.text.TextUtils;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.managedprovisioning.model.WifiInfo;
+
+/**
+ * Utility class for configuring a new {@link WifiConfiguration} object from the provisioning
+ * parameters represented via {@link WifiInfo}.
+ */
+public class WifiConfigurationProvider {
+
+    @VisibleForTesting
+    static final String WPA = "WPA";
+    @VisibleForTesting
+    static final String WEP = "WEP";
+    @VisibleForTesting
+    static final String NONE = "NONE";
+
+    /**
+     * Create a {@link WifiConfiguration} object from the internal representation given via
+     * {@link WifiInfo}.
+     */
+    public WifiConfiguration generateWifiConfiguration(WifiInfo wifiInfo) {
+        WifiConfiguration wifiConf = new WifiConfiguration();
+        wifiConf.SSID = wifiInfo.ssid;
+        wifiConf.status = WifiConfiguration.Status.ENABLED;
+        wifiConf.hiddenSSID = wifiInfo.hidden;
+        wifiConf.userApproved = WifiConfiguration.USER_APPROVED;
+        String securityType = wifiInfo.securityType != null ? wifiInfo.securityType : NONE;
+        switch (securityType) {
+            case WPA:
+                updateForWPAConfiguration(wifiConf, wifiInfo.password);
+                break;
+            case WEP:
+                updateForWEPConfiguration(wifiConf, wifiInfo.password);
+                break;
+            default: // NONE
+                wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+                wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
+                break;
+        }
+
+        updateForProxy(
+                wifiConf,
+                wifiInfo.proxyHost,
+                wifiInfo.proxyPort,
+                wifiInfo.proxyBypassHosts,
+                wifiInfo.pacUrl);
+        return wifiConf;
+    }
+
+    private void updateForWPAConfiguration(WifiConfiguration wifiConf, String wifiPassword) {
+        wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
+        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
+        wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.WPA); // For WPA
+        wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); // For WPA2
+        wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
+        wifiConf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
+        if (!TextUtils.isEmpty(wifiPassword)) {
+            wifiConf.preSharedKey = "\"" + wifiPassword + "\"";
+        }
+    }
+
+    private void updateForWEPConfiguration(WifiConfiguration wifiConf, String password) {
+        wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
+        wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
+        wifiConf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
+        int length = password.length();
+        if ((length == 10 || length == 26 || length == 58) && password.matches("[0-9A-Fa-f]*")) {
+            wifiConf.wepKeys[0] = password;
+        } else {
+            wifiConf.wepKeys[0] = '"' + password + '"';
+        }
+        wifiConf.wepTxKeyIndex = 0;
+    }
+
+    private void updateForProxy(WifiConfiguration wifiConf, String proxyHost, int proxyPort,
+            String proxyBypassHosts, String pacUrl) {
+        if (TextUtils.isEmpty(proxyHost) && TextUtils.isEmpty(pacUrl)) {
+            return;
+        }
+        if (!TextUtils.isEmpty(proxyHost)) {
+            ProxyInfo proxy = new ProxyInfo(proxyHost, proxyPort, proxyBypassHosts);
+            wifiConf.setProxy(ProxySettings.STATIC, proxy);
+        } else {
+            ProxyInfo proxy = new ProxyInfo(pacUrl);
+            wifiConf.setProxy(ProxySettings.PAC, proxy);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/uiflows/PreProvisioningActivity.java b/src/com/android/managedprovisioning/uiflows/PreProvisioningActivity.java
deleted file mode 100644
index cbd2c04..0000000
--- a/src/com/android/managedprovisioning/uiflows/PreProvisioningActivity.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Copyright 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.uiflows;
-
-import android.annotation.NonNull;
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.android.managedprovisioning.DeleteManagedProfileDialog;
-import com.android.managedprovisioning.DeviceOwnerProvisioningActivity;
-import com.android.managedprovisioning.LogoUtils;
-import com.android.managedprovisioning.ProfileOwnerProvisioningActivity;
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.R;
-import com.android.managedprovisioning.SetupLayoutActivity;
-import com.android.managedprovisioning.UserConsentDialog;
-import com.android.managedprovisioning.common.MdmPackageInfo;
-import com.android.managedprovisioning.model.ProvisioningParams;
-
-public class PreProvisioningActivity extends SetupLayoutActivity
-        implements UserConsentDialog.ConsentCallback,
-        DeleteManagedProfileDialog.DeleteManagedProfileCallback,
-        PreProvisioningController.Ui {
-
-    protected static final int ENCRYPT_DEVICE_REQUEST_CODE = 1;
-    protected static final int PROVISIONING_REQUEST_CODE = 2;
-    protected static final int WIFI_REQUEST_CODE = 3;
-    protected static final int CHANGE_LAUNCHER_REQUEST_CODE = 4;
-
-    // Note: must match the constant defined in HomeSettings
-    private static final String EXTRA_SUPPORT_MANAGED_PROFILES = "support_managed_profiles";
-
-    protected PreProvisioningController mController;
-
-    protected TextView mConsentMessageTextView;
-    protected TextView mMdmInfoTextView;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mController = new PreProvisioningController(
-                this,
-                this);
-
-        mController.initiateProvisioning(getIntent(), getCallingPackage());
-    }
-
-    @Override
-    public void finish() {
-        // The user has backed out of provisioning, so we perform the necessary clean up steps.
-        LogoUtils.cleanUp(this);
-        EncryptionController.getInstance(this).cancelEncryptionReminder();
-        super.finish();
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == ENCRYPT_DEVICE_REQUEST_CODE) {
-            if (resultCode == RESULT_CANCELED) {
-                ProvisionLogger.loge("User canceled device encryption.");
-                setResult(Activity.RESULT_CANCELED);
-                finish();
-            }
-        } else if (requestCode == PROVISIONING_REQUEST_CODE) {
-            setResult(resultCode);
-            finish();
-        } else if (requestCode == CHANGE_LAUNCHER_REQUEST_CODE) {
-            if (!mUtils.currentLauncherSupportsManagedProfiles(this)) {
-                showCurrentLauncherInvalid();
-            } else {
-                startProfileOwnerProvisioning(mController.getParams());
-            }
-        } else if (requestCode == WIFI_REQUEST_CODE) {
-            if (resultCode == RESULT_CANCELED) {
-                ProvisionLogger.loge("User canceled wifi picking.");
-                setResult(RESULT_CANCELED);
-                finish();
-            } else if (resultCode == RESULT_OK) {
-                ProvisionLogger.logd("Wifi request result is OK");
-                if (mUtils.isConnectedToWifi(this)) {
-                    mController.askForConsentOrStartDeviceOwnerProvisioning();
-                } else {
-                    requestWifiPick();
-                }
-            }
-        } else {
-            ProvisionLogger.logw("Unknown result code :" + resultCode);
-        }
-    }
-
-    @Override
-    public void showErrorAndClose(int resourceId, String logText) {
-        ProvisionLogger.loge(logText);
-        new AlertDialog.Builder(this)
-                .setTitle(R.string.provisioning_error_title)
-                .setMessage(resourceId)
-                .setCancelable(false)
-                .setPositiveButton(R.string.device_owner_error_ok,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                // Close activity
-                                PreProvisioningActivity.this.setResult(
-                                        Activity.RESULT_CANCELED);
-                                PreProvisioningActivity.this.finish();
-                            }
-                        })
-                .show();
-    }
-
-    @Override
-    public void requestEncryption(ProvisioningParams params) {
-        Intent encryptIntent = new Intent(this, EncryptDeviceActivity.class);
-        encryptIntent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
-        startActivityForResult(encryptIntent, ENCRYPT_DEVICE_REQUEST_CODE);
-    }
-
-    @Override
-    public void requestWifiPick() {
-        startActivityForResult(mUtils.getWifiPickIntent(), WIFI_REQUEST_CODE);
-    }
-
-    @Override
-    public void showCurrentLauncherInvalid() {
-        new AlertDialog.Builder(this)
-                .setCancelable(false)
-                .setMessage(R.string.managed_provisioning_not_supported_by_launcher)
-                .setNegativeButton(R.string.cancel_provisioning,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                dialog.dismiss();
-                                setResult(Activity.RESULT_CANCELED);
-                                finish();
-                            }
-                        })
-                .setPositiveButton(R.string.pick_launcher,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                requestLauncherPick();
-                            }
-                        })
-                .show();
-    }
-
-    private void requestLauncherPick() {
-        Intent changeLauncherIntent = new Intent(Settings.ACTION_HOME_SETTINGS);
-        changeLauncherIntent.putExtra(EXTRA_SUPPORT_MANAGED_PROFILES, true);
-        startActivityForResult(changeLauncherIntent, CHANGE_LAUNCHER_REQUEST_CODE);
-    }
-
-    @Override
-    public void startDeviceOwnerProvisioning(int userId, ProvisioningParams params) {
-        Intent intent = new Intent(this, DeviceOwnerProvisioningActivity.class);
-        intent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
-        startActivityForResultAsUser(intent, PROVISIONING_REQUEST_CODE, new UserHandle(userId));
-        // Set cross-fade transition animation into the interstitial progress activity.
-        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
-    }
-
-    @Override
-    public void startProfileOwnerProvisioning(ProvisioningParams params) {
-        Intent intent = new Intent(this, ProfileOwnerProvisioningActivity.class);
-        intent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
-        startActivityForResult(intent, PROVISIONING_REQUEST_CODE);
-        // Set cross-fade transition animation into the interstitial progress activity.
-        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
-    }
-
-    @Override
-    public void initiateUi(int headerRes, int titleRes, int consentRes, int mdmInfoRes,
-            ProvisioningParams params) {
-        // Setup the UI.
-        initializeLayoutParams(R.layout.user_consent, headerRes, false);
-        Button nextButton = (Button) findViewById(R.id.setup_button);
-        nextButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                mController.afterNavigateNext();
-            }
-        });
-        nextButton.setText(R.string.next);
-
-        mConsentMessageTextView = (TextView) findViewById(R.id.user_consent_message);
-        mMdmInfoTextView = (TextView) findViewById(R.id.mdm_info_message);
-
-        mConsentMessageTextView.setText(consentRes);
-        mMdmInfoTextView.setText(mdmInfoRes);
-
-        setMdmIconAndLabel(params.inferDeviceAdminPackageName());
-
-        maybeSetLogoAndMainColor(params.mainColor);
-
-        setTitle(titleRes);
-    }
-
-    private void setMdmIconAndLabel(@NonNull String packageName) {
-        MdmPackageInfo packageInfo = MdmPackageInfo.createFromPackageName(this, packageName);
-        TextView deviceManagerName = (TextView) findViewById(R.id.device_manager_name);
-        if (packageInfo != null) {
-            String appLabel = packageInfo.appLabel;
-            ImageView imageView = (ImageView) findViewById(R.id.device_manager_icon_view);
-            imageView.setImageDrawable(packageInfo.packageIcon);
-            imageView.setContentDescription(
-                    getResources().getString(R.string.mdm_icon_label, appLabel));
-
-            deviceManagerName.setText(appLabel);
-        } else {
-            // During provisioning from trusted source, the package is not actually on the device
-            // yet, so show a default information.
-            deviceManagerName.setText(packageName);
-        }
-    }
-
-    @Override
-    public void showUserConsentDialog(ProvisioningParams params,
-            boolean isProfileOwnerProvisioning) {
-        UserConsentDialog dialog;
-        if (isProfileOwnerProvisioning) {
-            dialog = UserConsentDialog.newProfileOwnerInstance();
-        } else {
-            dialog = UserConsentDialog.newDeviceOwnerInstance(!params.startedByTrustedSource);
-        }
-        dialog.show(getFragmentManager(), "UserConsentDialogFragment");
-    }
-
-    /**
-     * Callback for successful user consent request.
-     */
-    @Override
-    public void onDialogConsent() {
-        // Right after user consent, provisioning will be started. To avoid talkback reading out
-        // the activity title in the time this activity briefly comes back to the foreground, we
-        // remove the title.
-        setTitle("");
-
-        mController.continueProvisioningAfterUserConsent();
-    }
-
-    /**
-     * Callback for cancelled user consent request.
-     */
-    @Override
-    public void onDialogCancel() {
-        // only show special UI for device owner provisioning.
-        if (mController.isProfileOwnerProvisioning()) {
-            return;
-        }
-
-        // For Nfc provisioning, we automatically show the user consent dialog if applicable.
-        // If the user then decides to cancel, we should finish the entire activity and exit.
-        // For other cases, dismissing the consent dialog will lead back to PreProvisioningActivity,
-        // where we show another dialog asking for user confirmation to cancel the setup and
-        // factory reset the device.
-        if (mController.getParams().startedByTrustedSource) {
-            setResult(RESULT_CANCELED);
-            finish();
-        } else {
-            new AlertDialog.Builder(this)
-                    .setTitle(R.string.cancel_setup_and_factory_reset_dialog_title)
-                    .setMessage(R.string.cancel_setup_and_factory_reset_dialog_msg)
-                    .setNegativeButton(R.string.cancel_setup_and_factory_reset_dialog_cancel, null)
-                    .setPositiveButton(R.string.cancel_setup_and_factory_reset_dialog_ok,
-                            new AlertDialog.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog, int id) {
-                                    mUtils.sendFactoryResetBroadcast(
-                                            PreProvisioningActivity.this,
-                                            "Device owner setup cancelled");
-                                }
-                            })
-                    .show();
-        }
-    }
-
-    @Override
-    public void showDeleteManagedProfileDialog(ComponentName mdmPackageName, String domainName,
-            int userId) {
-        DeleteManagedProfileDialog.newInstance(userId, mdmPackageName, domainName)
-                .show(getFragmentManager(), "DeleteManagedProfileDialogFragment");
-    }
-
-    /**
-     * Callback for user agreeing to remove existing managed profile.
-     */
-    @Override
-    public void onRemoveProfileApproval(int existingManagedProfileUserId) {
-        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
-        userManager.removeUser(existingManagedProfileUserId);
-    }
-
-    /**
-     * Callback for cancelled deletion of existing managed profile.
-     */
-    @Override
-    public void onRemoveProfileCancel() {
-        setResult(Activity.RESULT_CANCELED);
-        finish();
-    }
-
-    /**
-     * When the user backs out of creating a managed profile, show a dialog to double check.
-     */
-    @Override
-    public void onBackPressed() {
-        if (!mController.isProfileOwnerProvisioning()) {
-            super.onBackPressed();
-            return;
-        }
-        // TODO: Update strings for managed user case
-        new AlertDialog.Builder(this)
-                .setTitle(R.string.work_profile_setup_later_title)
-                .setMessage(R.string.work_profile_setup_later_message)
-                .setCancelable(false)
-                .setPositiveButton(R.string.work_profile_setup_stop,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog,int id) {
-                                PreProvisioningActivity.this.setResult(
-                                        Activity.RESULT_CANCELED);
-                                PreProvisioningActivity.this.finish();
-                            }
-                        })
-                .setNegativeButton(R.string.work_profile_setup_continue,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int id) {
-                              // user chose to continue. Do nothing
-                            }
-                        })
-                .show();
-    }
-}
diff --git a/src/com/android/managedprovisioning/uiflows/PreProvisioningController.java b/src/com/android/managedprovisioning/uiflows/PreProvisioningController.java
deleted file mode 100644
index 06135d2..0000000
--- a/src/com/android/managedprovisioning/uiflows/PreProvisioningController.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- * Copyright 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.uiflows;
-
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
-import static com.android.internal.util.Preconditions.checkNotNull;
-import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.app.admin.DevicePolicyManager;
-import android.app.KeyguardManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.os.AsyncTask;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings.Global;
-import android.service.persistentdata.PersistentDataBlockManager;
-import android.text.TextUtils;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.parser.MessageParser;
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.R;
-
-import java.util.List;
-
-public class PreProvisioningController {
-    private final Context mContext;
-    private final Ui mUi;
-    private final MessageParser mMessageParser;
-    private final Utils mUtils;
-    private final EncryptionController mEncryptionController;
-
-    // used system services
-    private final DevicePolicyManager mDevicePolicyManager;
-    private final UserManager mUserManager;
-    private final PackageManager mPackageManager;
-    private final ActivityManager mActivityManager;
-    private final KeyguardManager mKeyguardManager;
-    private final PersistentDataBlockManager mPdbManager;
-
-    private ProvisioningParams mParams;
-    private boolean mIsProfileOwnerProvisioning;
-
-    public PreProvisioningController(
-            @NonNull Context context,
-            @NonNull Ui ui) {
-        this(context, ui, new MessageParser(), new Utils(),
-                EncryptionController.getInstance(context));
-    }
-
-    @VisibleForTesting
-    PreProvisioningController(
-            @NonNull Context context,
-            @NonNull Ui ui,
-            @NonNull MessageParser parser,
-            @NonNull Utils utils,
-            @NonNull EncryptionController encryptionController) {
-        mContext = checkNotNull(context, "Context must not be null");
-        mUi = checkNotNull(ui, "Ui must not be null");
-        mMessageParser = checkNotNull(parser, "MessageParser must not be null");
-        mUtils = checkNotNull(utils, "Utils must not be null");
-        mEncryptionController = checkNotNull(encryptionController,
-                "EncryptionController must not be null");
-
-        mDevicePolicyManager = (DevicePolicyManager) mContext.getSystemService(
-                Context.DEVICE_POLICY_SERVICE);
-        mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
-        mPackageManager = mContext.getPackageManager();
-        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
-        mKeyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
-        mPdbManager = (PersistentDataBlockManager) mContext.getSystemService(
-                Context.PERSISTENT_DATA_BLOCK_SERVICE);
-    }
-
-    interface Ui {
-        /**
-         * Show an error message and cancel provisioning.
-         *
-         * @param resId resource id used to form the user facing error message
-         * @param errorMessage an error message that gets logged for debugging
-         */
-        void showErrorAndClose(int resId, String errorMessage);
-
-        /**
-         * Request the user to encrypt the device.
-         *
-         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
-         */
-        void requestEncryption(ProvisioningParams params);
-
-        /**
-         * Request the user to choose a wifi network.
-         */
-        void requestWifiPick();
-
-        /**
-         * Initialize the pre provisioning UI with the mdm info and the relevant strings.
-         *
-         * @param headerRes resource id for the header text
-         * @param titleRes resource id for the title text
-         * @param consentRes resource id of the consent text
-         * @param mdmInfoRes resource id for the mdm info text
-         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
-         */
-        void initiateUi(int headerRes, int titleRes, int consentRes, int mdmInfoRes,
-                ProvisioningParams params);
-
-        /**
-         * Start device owner provisioning.
-         *
-         * @param userId the id of the user we want to start provisioning on
-         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
-         */
-        void startDeviceOwnerProvisioning(int userId, ProvisioningParams params);
-
-        /**
-         * Start profile owner provisioning.
-         *
-         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
-         */
-        void startProfileOwnerProvisioning(ProvisioningParams params);
-
-        /**
-         * Show a user consent dialog.
-         *
-         * @param params the {@link ProvisioningParams} object related to the ongoing provisioning
-         * @param isProfileOwnerProvisioning whether we're provisioning a profile owner
-         */
-        void showUserConsentDialog(ProvisioningParams params, boolean isProfileOwnerProvisioning);
-
-        /**
-         * Show a dialog to delete an existing managed profile.
-         *
-         * @param mdmPackageName the {@link ComponentName} of the existing profile's profile owner
-         * @param domainName domain name of the organization which owns the managed profile
-         *
-         * @param userId the user id of the existing profile
-         */
-        void showDeleteManagedProfileDialog(ComponentName mdmPackageName, String domainName,
-                int userId);
-
-        /**
-         * Show an error dialog indicating that the current launcher does not support managed
-         * profiles and ask the user to choose a different one.
-         */
-        void showCurrentLauncherInvalid();
-    }
-
-    public void initiateProvisioning(Intent intent, String callingPackage) {
-        // Check factory reset protection as the first thing
-        if (factoryResetProtected()) {
-            mUi.showErrorAndClose(R.string.device_owner_error_frp,
-                    "Factory reset protection blocks provisioning.");
-            return;
-        }
-
-        try {
-            // Read the provisioning params from the provisioning intent
-            mParams = mMessageParser.parse(intent, mContext);
-
-            // If this is a resume after encryption or trusted intent, we don't need to verify the
-            // caller. Otherwise, verify that the calling app is trying to set itself as
-            // Device/ProfileOwner
-            if (!ACTION_RESUME_PROVISIONING.equals(intent.getAction()) &&
-                    !mParams.startedByTrustedSource) {
-                verifyCaller(callingPackage);
-            }
-        } catch (IllegalProvisioningArgumentException e) {
-            // TODO: make this a generic error message
-            mUi.showErrorAndClose(R.string.device_owner_error_general, e.getMessage());
-            return;
-        }
-
-        mIsProfileOwnerProvisioning = mUtils.isProfileOwnerAction(mParams.provisioningAction);
-        // Check whether provisioning is allowed for the current action
-        if (!mDevicePolicyManager.isProvisioningAllowed(mParams.provisioningAction)) {
-            showProvisioningError(mParams.provisioningAction);
-            return;
-        }
-
-        // Initiate the corresponding provisioning mode
-        if (mIsProfileOwnerProvisioning) {
-            initiateProfileOwnerProvisioning(intent);
-        } else {
-            initiateDeviceOwnerProvisioning(intent);
-        }
-    }
-
-    /**
-     * Verify that the caller is trying to set itself as owner.
-     *
-     * @throws IllegalProvisioningArgumentException if the caller is trying to set a different
-     * package as owner.
-     */
-    private void verifyCaller(@NonNull String callingPackage)
-            throws IllegalProvisioningArgumentException {
-        checkNotNull(callingPackage,
-                "Calling package is null. Was startActivityForResult used to start this activity?");
-        if (!callingPackage.equals(mParams.inferDeviceAdminPackageName())) {
-            throw new IllegalProvisioningArgumentException("Permission denied, "
-                    + "calling package tried to set a different package as owner. ");
-        }
-    }
-
-    private void initiateDeviceOwnerProvisioning(Intent intent) {
-        if (!mParams.startedByTrustedSource) {
-            mUi.initiateUi(
-                    R.string.setup_work_device,
-                    R.string.setup_device_start_setup,
-                    R.string.company_controls_device,
-                    R.string.the_following_is_your_mdm_for_device,
-                    mParams);
-        }
-
-        // Ask to encrypt the device before proceeding
-        if (isEncryptionRequired()) {
-            maybeTriggerEncryption();
-            return;
-        }
-
-        // Have the user pick a wifi network if necessary.
-        // It is not possible to ask the user to pick a wifi network if
-        // the screen is locked.
-        // TODO: remove this check once we know the screen will not be locked.
-        if (mKeyguardManager.inKeyguardRestrictedInputMode()) {
-            ProvisionLogger.logi("Cannot pick wifi because the screen is locked.");
-            // Have the user pick a wifi network if necessary.
-        } else if (!mUtils.isConnectedToNetwork(mContext) && mParams.wifiInfo == null
-               && mParams.deviceAdminDownloadInfo != null) {
-            if (canRequestWifiPick()) {
-                mUi.requestWifiPick();
-                return;
-            } else {
-                ProvisionLogger.logi(
-                        "Cannot pick wifi because there is no handler to the intent");
-            }
-        }
-        askForConsentOrStartDeviceOwnerProvisioning();
-    }
-
-    private void initiateProfileOwnerProvisioning(Intent intent) {
-        mUi.initiateUi(
-                R.string.setup_work_profile,
-                R.string.setup_profile_start_setup,
-                R.string.company_controls_workspace,
-                R.string.the_following_is_your_mdm,
-                mParams);
-
-        // If there is already a managed profile, setup the profile deletion dialog.
-        int existingManagedProfileUserId = mUtils.alreadyHasManagedProfile(mContext);
-        if (existingManagedProfileUserId != -1) {
-            ComponentName mdmPackageName = mDevicePolicyManager
-                    .getProfileOwnerAsUser(existingManagedProfileUserId);
-            String domainName = mDevicePolicyManager
-                    .getProfileOwnerNameAsUser(existingManagedProfileUserId);
-            mUi.showDeleteManagedProfileDialog(mdmPackageName, domainName,
-                    existingManagedProfileUserId);
-        }
-    }
-
-    /**
-     * Start provisioning for real. In profile owner case, double check that the launcher
-     * supports managed profiles if necessary. In device owner case, possibly create a new user
-     * before starting provisioning.
-     */
-    public void continueProvisioningAfterUserConsent() {
-        if (isProfileOwnerProvisioning()) {
-            checkLauncherAndStartProfileOwnerProvisioning();
-        } else {
-            maybeCreateUserAndStartDeviceOwnerProvisioning();
-        }
-    }
-
-    /**
-     * Invoked when the user continues provisioning by pressing the next button.
-     *
-     * <p>If device hasn't been encrypted yet, invoke the encryption flow. Otherwise, show a user
-     * consent before starting provisioning.
-     */
-    public void afterNavigateNext() {
-        if (isEncryptionRequired()) {
-            maybeTriggerEncryption();
-        } else {
-            // Notify the user once more that the admin will have full control over the profile,
-            // then start provisioning.
-            mUi.showUserConsentDialog(mParams, mIsProfileOwnerProvisioning);
-        }
-    }
-
-    /**
-     * Returns whether the device needs encryption.
-     *
-     * @param skip indicating whether the parameter to skip encryption was given.
-     */
-    private boolean isEncryptionRequired() {
-        return !mParams.skipEncryption && mUtils.isEncryptionRequired();
-    }
-
-    /**
-     * Check whether the device supports encryption. If it does not support encryption, but
-     * encryption is requested, show an error dialog.
-     */
-    private void maybeTriggerEncryption() {
-        if (mDevicePolicyManager.getStorageEncryptionStatus() ==
-                DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
-            mUi.showErrorAndClose(R.string.preprovisioning_error_encryption_not_supported,
-                    "This device does not support encryption, but "
-                    + DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION
-                    + " was not passed.");
-        } else {
-            mUi.requestEncryption(mParams);
-        }
-    }
-
-    private void checkLauncherAndStartProfileOwnerProvisioning() {
-        // Check whether the current launcher supports managed profiles.
-        if (!mUtils.currentLauncherSupportsManagedProfiles(mContext)) {
-            mUi.showCurrentLauncherInvalid();
-        } else {
-            // Cancel the boot reminder as provisioning has now started.
-            mEncryptionController.cancelEncryptionReminder();
-            mUi.startProfileOwnerProvisioning(mParams);
-        }
-    }
-
-    public void askForConsentOrStartDeviceOwnerProvisioning() {
-        // If we are started by Nfc and the device supports FRP, we need to ask for user consent
-        // since FRP will not be activated at the end of the flow.
-        if (mParams.startedByTrustedSource) {
-            if (mUtils.isFrpSupported(mContext)) {
-                mUi.showUserConsentDialog(mParams, false);
-            } else {
-                maybeCreateUserAndStartDeviceOwnerProvisioning();
-            }
-        }
-        // In other provisioning modes we wait for the user to press next.
-    }
-
-    private void maybeCreateUserAndStartDeviceOwnerProvisioning() {
-        // Cancel the boot reminder as provisioning has now started.
-        mEncryptionController.cancelEncryptionReminder();
-        if (isMeatUserCreationRequired(mParams.provisioningAction)) {
-            // Create the primary user, and continue the provisioning in this user.
-            new CreatePrimaryUserTask().execute();
-        } else {
-            mUi.startDeviceOwnerProvisioning(mUserManager.getUserHandle(), mParams);
-        }
-    }
-
-    private boolean factoryResetProtected() {
-        // If we are started during setup wizard, check for factory reset protection.
-        // If the device is already setup successfully, do not check factory reset protection.
-        if (mUtils.isDeviceProvisioned(mContext)) {
-            ProvisionLogger.logd("Device is provisioned, FRP not required.");
-            return false;
-        }
-
-        if (mPdbManager == null) {
-            ProvisionLogger.logd("Reset protection not supported.");
-            return false;
-        }
-        int size = mPdbManager.getDataBlockSize();
-        ProvisionLogger.logd("Data block size: " + size);
-        return size > 0;
-    }
-
-    public boolean isMeatUserCreationRequired(String action) {
-        if (mUtils.isSplitSystemUser()
-                && ACTION_PROVISION_MANAGED_DEVICE.equals(action)) {
-            List<UserInfo> users = mUserManager.getUsers();
-            if (users.size() > 1) {
-                mUi.showErrorAndClose(R.string.device_owner_error_general,
-                        "Cannot start Device Owner Provisioning because there are already "
-                        + users.size() + " users");
-                return false;
-            }
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    private boolean canRequestWifiPick() {
-        return mPackageManager.resolveActivity(mUtils.getWifiPickIntent(), 0) != null;
-    }
-
-    private boolean systemHasManagedProfileFeature() {
-        return mPackageManager.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS);
-    }
-
-    /**
-     * Returns whether the provisioning process is a profile owner provisioning process.
-     */
-    public boolean isProfileOwnerProvisioning() {
-        return mIsProfileOwnerProvisioning;
-    }
-
-    @NonNull
-    public ProvisioningParams getParams() {
-        if (mParams == null) {
-            throw new IllegalStateException("ProvisioningParams are null");
-        }
-        return mParams;
-    }
-
-    // TODO: review the use of async task for the case where the activity might have got killed
-    private class CreatePrimaryUserTask extends AsyncTask<Void, Void, UserInfo> {
-        @Override
-        protected UserInfo doInBackground(Void... args) {
-            // Create the user where we're going to install the device owner.
-            UserInfo userInfo = mUserManager.createUser(
-                    mContext.getString(R.string.default_first_meat_user_name),
-                    UserInfo.FLAG_PRIMARY | UserInfo.FLAG_ADMIN);
-
-            if (userInfo != null) {
-                ProvisionLogger.logi("Created user " + userInfo.id + " to hold the device owner");
-            }
-            return userInfo;
-        }
-
-        @Override
-        protected void onPostExecute(UserInfo userInfo) {
-            if (userInfo == null) {
-                mUi.showErrorAndClose(R.string.device_owner_error_general,
-                        "Could not create user to hold the device owner");
-            } else {
-                mActivityManager.switchUser(userInfo.id);
-                mUi.startDeviceOwnerProvisioning(userInfo.id, mParams);
-            }
-        }
-    }
-
-    private void showProvisioningError(String action) {
-        UserInfo userInfo = mUserManager.getUserInfo(mUserManager.getUserHandle());
-        if (DevicePolicyManager.ACTION_PROVISION_MANAGED_USER.equals(action)) {
-            mUi.showErrorAndClose(R.string.user_setup_incomplete,
-                        "Exiting managed user provisioning, setup incomplete");
-        } else if (DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE.equals(action)) {
-            // Try to show an error message explaining why provisioning is not allowed.
-            if (!systemHasManagedProfileFeature()) {
-                mUi.showErrorAndClose(R.string.managed_provisioning_not_supported,
-                        "Exiting managed profile provisioning, "
-                        + "managed profiles feature is not available");
-            } else if (!userInfo.canHaveProfile()) {
-                mUi.showErrorAndClose(R.string.user_cannot_have_work_profile,
-                        "Exiting managed profile provisioning, calling user cannot have managed"
-                        + "profiles.");
-            } else if (mUtils.isDeviceManaged(mContext)) {
-                // The actual check in isProvisioningAllowed() is more than just "is there DO?",
-                // but for error message showing purpose, isDeviceManaged() will do.
-                mUi.showErrorAndClose(R.string.device_owner_exists,
-                        "Exiting managed profile provisioning, a device owner exists");
-            } else if (!mUserManager.canAddMoreManagedProfiles(UserHandle.myUserId(),
-                    true /* after removing one eventual existing managed profile */)) {
-                mUi.showErrorAndClose(R.string.maximum_user_limit_reached,
-                        "Exiting managed profile provisioning, cannot add more managed profiles.");
-            } else {
-                mUi.showErrorAndClose(R.string.managed_provisioning_error_text, "Managed profile"
-                        + " provisioning not allowed for an unknown reason.");
-            }
-        } else if (mUtils.isDeviceProvisioned(mContext)) {
-            mUi.showErrorAndClose(R.string.device_owner_error_already_provisioned,
-                    "Device already provisioned.");
-        } else if (!mUtils.isCurrentUserSystem()) {
-            mUi.showErrorAndClose(R.string.device_owner_error_general,
-                    "Device owner can only be set up for USER_SYSTEM.");
-        } else if (action.equals(ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE) &&
-                !UserManager.isSplitSystemUser()) {
-            mUi.showErrorAndClose(R.string.device_owner_error_general,
-                    "System User Device owner can only be set on a split-user system.");
-        } else {
-            // TODO: show generic error
-            mUi.showErrorAndClose(R.string.device_owner_error_general,
-                    "Device Owner provisioning not allowed for an unknown reason.");
-        }
-    }
-}
diff --git a/src/com/android/managedprovisioning/uiflows/WebActivity.java b/src/com/android/managedprovisioning/uiflows/WebActivity.java
deleted file mode 100644
index 9858fdd..0000000
--- a/src/com/android/managedprovisioning/uiflows/WebActivity.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.uiflows;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnLongClickListener;
-import android.webkit.WebResourceRequest;
-import android.webkit.WebView;
-import android.webkit.WebViewClient;
-
-import com.android.managedprovisioning.ProvisionLogger;
-import com.android.managedprovisioning.common.Utils;
-
-/**
- * This activity shows a web view, which loads the url indicated in the starting intent. By default
- * the user can click on links and load other urls. However, by passing the allowed url base, the
- * web view can be limited to urls that start with this base.
- *
- * <p>This activity is currently used by the
- * {@link com.android.managedprovisioning.UserConsentDialog} to display the google support web page
- * about the provisioning concepts.
- */
-public class WebActivity extends Activity {
-    private static final String EXTRA_URL = "extra_url";
-
-    // Users can only browse urls starting with the base specified by the following extra.
-    // If this extra is not used, there are no restrictions on browsable urls.
-    private static final String EXTRA_ALLOWED_URL_BASE = "extra_allowed_url_base";
-
-    private WebView mWebView;
-    private final Utils mUtils = new Utils();
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mWebView = new WebView(this);
-        final String extraUrl = getIntent().getStringExtra(EXTRA_URL);
-        final String extraAllowedUrlBase = getIntent().getStringExtra(EXTRA_ALLOWED_URL_BASE);
-        if (extraUrl == null) {
-            ProvisionLogger.loge("No url provided to WebActivity.");
-            finish();
-            return;
-        }
-        mWebView.loadUrl(extraUrl);
-        mWebView.setWebViewClient(new WebViewClient() {
-            @Override
-            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
-                String url = request.getUrl().toString();
-                if (extraAllowedUrlBase != null && url.startsWith(extraAllowedUrlBase)) {
-                    view.loadUrl(url);
-                }
-                return true;
-            }
-        });
-        if (!mUtils.isUserSetupCompleted(this)) {
-            // User should not be able to escape provisioning if user setup isn't complete.
-            mWebView.setOnLongClickListener(new OnLongClickListener() {
-                @Override
-                public boolean onLongClick(View v) {
-                    return true;
-                }
-            });
-        }
-        this.setContentView(mWebView);
-    }
-
-    /**
-     * Creates an intent to launch the webactivity.
-     *
-     * @param url the url to be shown upon launching this activity
-     * @param allowedUrlBase the limit to all urls allowed to be seen in this webview
-     */
-    public static Intent createIntent(Context context, String url, String allowedUrlBase) {
-        Intent intent = new Intent(context, WebActivity.class);
-        intent.putExtra(WebActivity.EXTRA_URL, url);
-        intent.putExtra(WebActivity.EXTRA_ALLOWED_URL_BASE, allowedUrlBase);
-        return intent;
-    }
-}
\ No newline at end of file
diff --git a/tests/Android.mk b/tests/Android.mk
index a05a12d..fd297e3 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -1,17 +1,5 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := ManagedProvisioningTests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-test mockito-target
-
-LOCAL_INSTRUMENTATION_FOR := ManagedProvisioning
-
-include $(BUILD_PACKAGE)
+# Include all makefiles in subdirectories
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
deleted file mode 100644
index 43cec3d..0000000
--- a/tests/AndroidManifest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.managedprovisioning.tests">
-
-    <application>
-        <uses-library android:name="android.test.runner" />
-    </application>
-
-    <instrumentation android:name="android.test.InstrumentationTestRunner"
-        android:targetPackage="com.android.managedprovisioning"
-        android:label="Tests for ManagedProvisioning">
-    </instrumentation>
-</manifest>
diff --git a/tests/README b/tests/README
index da83d8a..63eb413 100644
--- a/tests/README
+++ b/tests/README
@@ -1,17 +1,17 @@
-To build the tests you can use the following command at the root of your android source tree
-$ make ManagedProvisioningTests
+To run all instrumentation tests:
+$ runtest managed-provisioning
 
-The test apk then needs to be installed onto your test device via for example
-$ adb install -r out/target/product/shamu/data/app/ManagedProvisioningTests/ManagedProvisioningTests.apk
+To run all instrumentation tests in a specific class:
+$ runtest --path src/com/android/managedprovisioning/<class>.java
 
-To run all tests:
-$ adb shell am instrument -w com.android.managedprovisioning.tests/android.test.InstrumentationTestRunner
+To run a specific instrumentation test:
+$ runtest -c com.android.managedprovisioning.<class> -m <method> managed-provisioning
 
-To run all tests in a specific class:
-$ adb shell am instrument -w -e class com.android.managedprovisioning.<class> com.android.managedprovisioning.tests/android.test.InstrumentationTestRunner
+To obtain a test coverage report for instrumentation tests:
+$ packages/apps/ManagedProvisioning/tools/bash/coverage.sh
 
-To run a specific test:
-$ adb shell am instrument -w -e class com.android.managedprovisioning.<class>#<test> com.android.managedprovisioning.tests/android.test.InstrumentationTestRunner
-
-More general information can be found at
+More general information can be found at "runtest -h" and
 http://developer.android.com/reference/android/test/InstrumentationTestRunner.html
+
+To run all robolectric tests:
+make RunManagedProvisioningRoboTests
diff --git a/tests/instrumentation/Android.mk b/tests/instrumentation/Android.mk
new file mode 100644
index 0000000..926d9be
--- /dev/null
+++ b/tests/instrumentation/Android.mk
@@ -0,0 +1,23 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := ManagedProvisioningTests
+LOCAL_CERTIFICATE := platform
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test \
+    mockito-target-minus-junit4 \
+    espresso-core \
+    espresso-intents \
+    legacy-android-test
+
+LOCAL_INSTRUMENTATION_FOR := ManagedProvisioning
+LOCAL_COMPATIBILITY_SUITE := device-tests
+
+include $(BUILD_PACKAGE)
diff --git a/tests/instrumentation/AndroidManifest.xml b/tests/instrumentation/AndroidManifest.xml
new file mode 100644
index 0000000..aa5ecdd
--- /dev/null
+++ b/tests/instrumentation/AndroidManifest.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.managedprovisioning.tests">
+
+    <!-- System permission to receive result from managed profile -->
+    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <receiver android:name="com.android.managedprovisioning.e2eui.ManagedProfileAdminReceiver"
+            android:permission="android.permission.BIND_DEVICE_ADMIN">
+            <meta-data android:name="android.app.device_admin"
+                android:resource="@xml/device_admin_sample" />
+            <intent-filter>
+                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
+                <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE"/>
+            </intent-filter>
+        </receiver>
+
+        <activity android:name="com.android.managedprovisioning.e2eui.DpcPostProvisioningActivity"
+            android:permission="android.permission.BIND_DEVICE_ADMIN">
+            <intent-filter>
+                <action android:name="android.app.action.PROVISIONING_SUCCESSFUL" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+    </application>
+
+    <instrumentation android:name="com.android.managedprovisioning.TestInstrumentationRunner"
+        android:targetPackage="com.android.managedprovisioning"
+        android:label="Tests for ManagedProvisioning">
+    </instrumentation>
+</manifest>
diff --git a/tests/instrumentation/res/raw/android.jpg b/tests/instrumentation/res/raw/android.jpg
new file mode 100644
index 0000000..7c26a8d
--- /dev/null
+++ b/tests/instrumentation/res/raw/android.jpg
Binary files differ
diff --git a/tests/instrumentation/res/raw/test_disclaimer1.txt b/tests/instrumentation/res/raw/test_disclaimer1.txt
new file mode 100644
index 0000000..cb9ae2e
--- /dev/null
+++ b/tests/instrumentation/res/raw/test_disclaimer1.txt
@@ -0,0 +1 @@
+<h1>Disclaimer 1</h1>
\ No newline at end of file
diff --git a/tests/instrumentation/res/raw/test_disclaimer2.txt b/tests/instrumentation/res/raw/test_disclaimer2.txt
new file mode 100644
index 0000000..157f728
--- /dev/null
+++ b/tests/instrumentation/res/raw/test_disclaimer2.txt
@@ -0,0 +1 @@
+<h1>Disclaimer 2</h1>
\ No newline at end of file
diff --git a/tests/instrumentation/res/raw/test_disclaimer3.txt b/tests/instrumentation/res/raw/test_disclaimer3.txt
new file mode 100644
index 0000000..54017fa
--- /dev/null
+++ b/tests/instrumentation/res/raw/test_disclaimer3.txt
@@ -0,0 +1 @@
+<h1>Disclaimer 3</h1>
\ No newline at end of file
diff --git a/tests/instrumentation/res/xml/device_admin_sample.xml b/tests/instrumentation/res/xml/device_admin_sample.xml
new file mode 100644
index 0000000..5661e51
--- /dev/null
+++ b/tests/instrumentation/res/xml/device_admin_sample.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2016 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
+    <uses-policies>
+        <limit-password />
+        <watch-login />
+        <reset-password />
+        <force-lock />
+        <wipe-data />
+        <expire-password />
+        <encrypted-storage />
+        <disable-camera />
+        <disable-keyguard-features />
+    </uses-policies>
+</device-admin>
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/TestInstrumentationRunner.java b/tests/instrumentation/src/com/android/managedprovisioning/TestInstrumentationRunner.java
new file mode 100644
index 0000000..1eb7b82
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/TestInstrumentationRunner.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import android.app.Activity;
+import android.app.Application;
+import android.app.Application.ActivityLifecycleCallbacks;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.test.runner.AndroidJUnitRunner;
+import android.util.ArrayMap;
+
+import android.view.WindowManager;
+import java.util.Map;
+
+public class TestInstrumentationRunner extends AndroidJUnitRunner {
+    // hard-coded package name as context.getPackageName() provides ManagedProvisioning app name
+    // instead of test package name
+    public static final String TEST_PACKAGE_NAME = "com.android.managedprovisioning.tests";
+
+    private static final String TAG = "TestInstrumentationRunner";
+    private static final Map<String, OnActivityCreatedCallback> sReplacedActivityMap =
+            new ArrayMap();
+
+    public static void registerReplacedActivity(Class<?> oldActivity,
+            OnActivityCreatedCallback onActivityCreatedCallback) {
+        sReplacedActivityMap.put(oldActivity.getCanonicalName(), onActivityCreatedCallback);
+    }
+
+    public static void registerReplacedActivity(Class<?> oldActivity,
+            Class<? extends Activity> newActivity) {
+        registerReplacedActivity(oldActivity,
+                (classLoader, className, intent) -> newActivity.newInstance());
+    }
+
+    public static void unregisterReplacedActivity(Class<?> oldActivity) {
+        sReplacedActivityMap.remove(oldActivity.getCanonicalName());
+    }
+
+    @Override
+    public Activity newActivity(ClassLoader cl, String className, Intent intent)
+            throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+        OnActivityCreatedCallback callback = sReplacedActivityMap.get(className);
+        if (callback != null) {
+            return callback.createActivity(cl, className, intent);
+        } else {
+            return super.newActivity(cl, className, intent);
+        }
+    }
+
+    @Override
+    public Application newApplication(ClassLoader cl, String className, Context context)
+            throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Application app = super.newApplication(cl, className, context);
+        app.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
+            @Override
+            public void onActivityCreated(Activity activity, Bundle bundle) {
+                // Show activity on top of keyguard
+                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
+                // Turn on screen to prevent activity being paused by system. See b/31262906
+                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+            }
+
+            @Override
+            public void onActivityStarted(Activity activity) {}
+
+            @Override
+            public void onActivityResumed(Activity activity) {}
+
+            @Override
+            public void onActivityPaused(Activity activity) {}
+
+            @Override
+            public void onActivityStopped(Activity activity) {}
+
+            @Override
+            public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {}
+
+            @Override
+            public void onActivityDestroyed(Activity activity) {}
+        });
+        return app;
+    }
+
+    public interface OnActivityCreatedCallback {
+        Activity createActivity(ClassLoader cl, String className, Intent intent)
+                throws IllegalAccessException, InstantiationException;
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/TestUtils.java b/tests/instrumentation/src/com/android/managedprovisioning/TestUtils.java
similarity index 100%
rename from tests/src/com/android/managedprovisioning/TestUtils.java
rename to tests/instrumentation/src/com/android/managedprovisioning/TestUtils.java
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/analytics/AnalyticsUtilsTest.java b/tests/instrumentation/src/com/android/managedprovisioning/analytics/AnalyticsUtilsTest.java
new file mode 100644
index 0000000..b56e352
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/analytics/AnalyticsUtilsTest.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
+import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
+import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
+import static org.mockito.Mockito.when;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.nfc.NdefMessage;
+import android.nfc.NdefRecord;
+import android.nfc.NfcAdapter;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.io.ByteArrayOutputStream;
+import java.util.List;
+import java.util.Properties;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link AnalyticsUtils}.
+ */
+@SmallTest
+public class AnalyticsUtilsTest extends AndroidTestCase {
+    private static final String INVALID_PACKAGE_NAME = "invalid-package-name";
+    private static final String VALID_PACKAGE_NAME = "valid-package-name";
+    private static final String VALID_INSTALLER_PACKAGE = "valid-installer-package";
+    private static final String INVALID_PROVISIONING_EXTRA = "invalid-provisioning-extra";
+
+    @Mock private Context mockContext;
+    @Mock private PackageManager mockPackageManager;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        when(mockContext.getPackageManager()).thenReturn(mockPackageManager);
+    }
+
+    public void testGetInstallerPackageName_invalidPackage() {
+        // WHEN getting installer package name for an invalid package.
+        when(mockPackageManager.getInstallerPackageName(INVALID_PACKAGE_NAME))
+                .thenThrow(new IllegalArgumentException());
+        // THEN null should be returned and exception should be digested.
+        assertNull(AnalyticsUtils.getInstallerPackageName(mockContext, INVALID_PACKAGE_NAME));
+    }
+
+    public void testGetInstallerPackageName_validPackage() {
+        // WHEN getting installer package name for a valid package.
+        when(mockPackageManager.getInstallerPackageName(VALID_PACKAGE_NAME))
+                .thenReturn(VALID_INSTALLER_PACKAGE);
+        // THEN valid installer package name should be returned.
+        assertEquals(VALID_INSTALLER_PACKAGE,
+                AnalyticsUtils.getInstallerPackageName(mockContext, VALID_PACKAGE_NAME));
+    }
+
+    public void testGetAllProvisioningExtras_NullIntent() {
+        // WHEN getting provisioning extras using null Intent.
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(null);
+        // THEN an empty list of valid provisioning extras should be returned.
+        assertEquals(0, provisioningExtras.size());
+    }
+
+    public void testGetAllProvisioningExtras_ProvisioningResume() {
+        // GIVEN provisioning was resumed
+        Intent intent = new Intent(ACTION_RESUME_PROVISIONING);
+        // WHEN getting provisioning extras using resume provisioning intent.
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        // THEN an empty list of valid provisioning extras should be returned.
+        assertEquals(0, provisioningExtras.size());
+    }
+
+    public void testGetAllProvisioningExtras_NullBundleExtras() {
+        // GIVEN intent has null extras
+        Intent intent = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE);
+        // WHEN getting provisioning extras with null extras
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        // THEN an empty list of valid provisioning extras should be returned.
+        assertEquals(0, provisioningExtras.size());
+    }
+
+    public void testGetAllProvisioningExtras_NullNfcProperties() throws Exception {
+        // GIVEN intent has null extras
+        Intent intent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED);
+        // WHEN getting provisioning extras with null extras
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        // THEN an empty list of valid provisioning extras should be returned.
+        assertEquals(0, provisioningExtras.size());
+    }
+
+    public void testGetAllProvisioningExtras() {
+        // GIVEN intent with both valid and invalid provisioning extras
+        Intent intent = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE);
+        intent.putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, "");
+        intent.putExtra(INVALID_PROVISIONING_EXTRA, "");
+        intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, "");
+        // WHEN getting provisioning extras using the intent
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        // THEN a list of valid provisioning extras should be returned.
+        assertEquals(2, provisioningExtras.size());
+        provisioningExtras.contains(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
+        provisioningExtras.contains(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE);
+    }
+
+    public void testGetAllProvisioningExtras_Nfc() throws Exception {
+        // GIVEN a Nfc intent with both valid and invalid provisioning extras
+        Properties props = new Properties();
+        ByteArrayOutputStream stream = new ByteArrayOutputStream();
+        props.setProperty(EXTRA_PROVISIONING_MAIN_COLOR, "");
+        props.setProperty(INVALID_PROVISIONING_EXTRA, "");
+        props.setProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, "");
+        props.store(stream, "NFC provisioning intent" /* data description */);
+
+        NdefRecord record = NdefRecord.createMime(
+                DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC,
+                stream.toByteArray());
+        NdefMessage ndfMsg = new NdefMessage(new NdefRecord[]{record});
+
+        Intent intent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED)
+                .setType(MIME_TYPE_PROVISIONING_NFC)
+                .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
+
+        // WHEN getting provisioning extras using the intent
+        List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
+        // THEN a list of valid provisioning extras should be returned.
+        assertEquals(2, provisioningExtras.size());
+        provisioningExtras.contains(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
+        provisioningExtras.contains(EXTRA_PROVISIONING_MAIN_COLOR);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/analytics/NetworkTypeLoggerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/analytics/NetworkTypeLoggerTest.java
new file mode 100644
index 0000000..0f5d1c2
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/analytics/NetworkTypeLoggerTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static android.net.ConnectivityManager.TYPE_WIFI;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_NETWORK_TYPE;
+import static com.android.managedprovisioning.analytics.NetworkTypeLogger.NETWORK_TYPE_NOT_CONNECTED;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+
+import com.android.managedprovisioning.common.Utils;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link NetworkTypeLogger}.
+ */
+@SmallTest
+public class NetworkTypeLoggerTest extends AndroidTestCase {
+
+    private static final NetworkInfo WIFI_NETWORK_INFO =
+            new NetworkInfo(TYPE_WIFI, 2, "WIFI", "WIFI_SUBTYPE");
+
+    @Mock private Context mContext;
+    @Mock private MetricsLoggerWrapper mMetricsLoggerWrapper;
+    @Mock private Utils mUtils;
+
+    private NetworkTypeLogger mNetworkTypeLogger;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        mNetworkTypeLogger = new NetworkTypeLogger(mContext, mUtils, mMetricsLoggerWrapper);
+    }
+
+    @SmallTest
+    public void test_NullNetworkInfo() {
+        // GIVEN there is no network info present
+        when(mUtils.getActiveNetworkInfo(mContext)).thenReturn(null);
+        // WHEN network type is logged
+        mNetworkTypeLogger.log();
+        // THEN network type not connected should be logged
+        verify(mMetricsLoggerWrapper).logAction(mContext, PROVISIONING_NETWORK_TYPE,
+                NETWORK_TYPE_NOT_CONNECTED);
+    }
+
+    @SmallTest
+    public void test_NetworkNotConnected() {
+        // GIVEN there is a valid network info
+        when(mUtils.getActiveNetworkInfo(mContext)).thenReturn(WIFI_NETWORK_INFO);
+        // GIVEN that the device is not connected
+        when(mUtils.isConnectedToNetwork(mContext)).thenReturn(false);
+        // WHEN network type is logged
+        mNetworkTypeLogger.log();
+        // THEN network type not connected should be logged
+        verify(mMetricsLoggerWrapper).logAction(mContext, PROVISIONING_NETWORK_TYPE,
+                NETWORK_TYPE_NOT_CONNECTED);
+    }
+
+    @SmallTest
+    public void test_NetworkTypeWifi() {
+        // GIVEN the device is connected to a wifi network
+        when(mUtils.getActiveNetworkInfo(mContext)).thenReturn(WIFI_NETWORK_INFO);
+        when(mUtils.isConnectedToNetwork(mContext)).thenReturn(true);
+        // WHEN network type is logged
+        mNetworkTypeLogger.log();
+        // THEN network type wifi should be logged
+        verify(mMetricsLoggerWrapper).logAction(mContext, PROVISIONING_NETWORK_TYPE, TYPE_WIFI);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/analytics/TimeLoggerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/analytics/TimeLoggerTest.java
new file mode 100644
index 0000000..44f94de
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/analytics/TimeLoggerTest.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.analytics;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link TimeLogger}.
+ */
+@SmallTest
+public class TimeLoggerTest extends AndroidTestCase {
+
+    private static final int CATEGORY = 1;
+    private static final long START_TIME_MS = 1500;
+    private static final long STOP_TIME_MS = 2500;
+
+    private TimeLogger mTimeLogger;
+
+    @Mock private Context mContext;
+    @Mock private MetricsLoggerWrapper mMetricsLoggerWrapper;
+    @Mock private AnalyticsUtils mAnalyticsUtils;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        mTimeLogger = new TimeLogger(mContext, CATEGORY, mMetricsLoggerWrapper, mAnalyticsUtils);
+    }
+
+    @SmallTest
+    public void testTimeLogger_withStartTime() {
+        // GIVEN that START_TIME_MS is the elapsed real time.
+        when(mAnalyticsUtils.elapsedRealTime()).thenReturn(START_TIME_MS);
+        // WHEN logging time starts.
+        mTimeLogger.start();
+
+        // GIVEN that STOP_TIME_MS is the elapsed real time.
+        when(mAnalyticsUtils.elapsedRealTime()).thenReturn(STOP_TIME_MS);
+        // WHEN logging time stops.
+        mTimeLogger.stop();
+
+        // THEN time taken should be logged and the value should be stop time - start time.
+        verify(mMetricsLoggerWrapper).logAction(mContext, CATEGORY,
+                (int) (STOP_TIME_MS - START_TIME_MS));
+    }
+
+    @SmallTest
+    public void testTimeLogger_withStartTime_stopsTwice() {
+        // GIVEN that START_TIME_MS is the elapsed real time.
+        when(mAnalyticsUtils.elapsedRealTime()).thenReturn(START_TIME_MS);
+        // WHEN logging time starts.
+        mTimeLogger.start();
+
+        // GIVEN that STOP_TIME_MS is the elapsed real time.
+        when(mAnalyticsUtils.elapsedRealTime()).thenReturn(STOP_TIME_MS);
+        // WHEN logging time stops.
+        mTimeLogger.stop();
+
+        // THEN time taken should be logged and the value should be stop time - start time.
+        verify(mMetricsLoggerWrapper).logAction(mContext, CATEGORY,
+                (int) (STOP_TIME_MS - START_TIME_MS));
+
+        // WHEN logging time stops.
+        mTimeLogger.stop();
+        // THEN nothing should be logged.
+        verifyNoMoreInteractions(mMetricsLoggerWrapper);
+    }
+
+    @SmallTest
+    public void testTimeLogger_withoutStartTime() {
+        // GIVEN there is no start time.
+        // WHEN logging time stops.
+        mTimeLogger.stop();
+        // THEN nothing should be logged.
+        verifyZeroInteractions(mMetricsLoggerWrapper);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/CustomizationVerifier.java b/tests/instrumentation/src/com/android/managedprovisioning/common/CustomizationVerifier.java
new file mode 100644
index 0000000..d5cfccb
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/CustomizationVerifier.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static android.graphics.PorterDuff.Mode.SRC_ATOP;
+import static android.support.test.espresso.matcher.ViewMatchers.assertThat;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.instanceOf;
+
+import android.app.Activity;
+import android.content.res.ColorStateList;
+import android.graphics.Bitmap;
+import android.graphics.PorterDuffColorFilter;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.widget.ImageView;
+import android.widget.ProgressBar;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.preprovisioning.anim.ColorMatcher;
+import com.android.managedprovisioning.preprovisioning.anim.SwiperThemeMatcher;
+
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+
+public class CustomizationVerifier {
+    private final Activity mActivity;
+
+    public CustomizationVerifier(Activity activity) {
+        mActivity = activity;
+    }
+
+    public void assertStatusBarColorCorrect(int targetColor) {
+        int statusBarColor = mActivity.getWindow().getStatusBarColor();
+        assertThat(statusBarColor, equalTo(targetColor));
+    }
+
+    public void assertSwiperColorCorrect(int targetSwiperColor) {
+        assertThat(mActivity.getThemeResId(), equalTo( // TODO: maybe replace with a screenshot test
+                new SwiperThemeMatcher(mActivity, new ColorMatcher()).findTheme(
+                        targetSwiperColor)));
+    }
+
+    public void assertDefaultLogoCorrect(int targetColor) {
+        Drawable actualLogo = extractLogo();
+        Drawable expectedLogo = makeDefaultLogo(targetColor);
+        assertThat(actualLogo.getConstantState(), equalTo(expectedLogo.getConstantState()));
+        assertThat(actualLogo.getColorFilter(), equalTo(expectedLogo.getColorFilter()));
+    }
+
+    public void assertCustomLogoCorrect(Bitmap targetLogo) {
+        Bitmap actualLogo = ((BitmapDrawable) extractLogo()).getBitmap();
+        assertThat(targetLogo, bitmapEqualTo(actualLogo));
+    }
+
+    public void assertNextButtonColorCorrect(int targetColor) {
+        Drawable buttonBackground = mActivity.findViewById(R.id.next_button).getBackground();
+        assertThat(buttonBackground, instanceOf(ColorDrawable.class));
+        assertThat(((ColorDrawable) buttonBackground).getColor(), equalTo(targetColor));
+    }
+
+    public void assertProgressBarColorCorrect(int targetColor) {
+        ProgressBar progressBar = (ProgressBar) mActivity.findViewById(
+                com.android.setupwizardlib.R.id.suw_layout_progress);
+
+        ColorStateList expected = ColorStateList.valueOf(targetColor);
+        assertThat(progressBar.getIndeterminateTintList(), equalTo(expected));
+        assertThat(progressBar.getProgressBackgroundTintList(), equalTo(expected));
+    }
+
+    private Matcher<Bitmap> bitmapEqualTo(Bitmap expected) {
+        return new BaseMatcher<Bitmap>() {
+            @Override
+            public void describeTo(Description description) {
+                description.appendText("Bitmap different from expected.");
+            }
+
+            @Override
+            public boolean matches(Object actual) {
+                return expected.sameAs((Bitmap) actual);
+            }
+        };
+    }
+
+    private Drawable makeDefaultLogo(int color) {
+        Drawable logo = mActivity.getDrawable(R.drawable.ic_enterprise_blue_24dp);
+        logo.setColorFilter(new PorterDuffColorFilter(color, SRC_ATOP));
+        return logo;
+    }
+
+    private Drawable extractLogo() {
+        return ((ImageView) mActivity.findViewById(
+                com.android.setupwizardlib.R.id.suw_layout_icon)).getDrawable();
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/HtmlToSpannedParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/HtmlToSpannedParserTest.java
new file mode 100644
index 0000000..a014788
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/HtmlToSpannedParserTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import android.graphics.Color;
+import android.support.test.InstrumentationRegistry;
+import android.text.Spanned;
+
+import com.android.managedprovisioning.preprovisioning.WebActivity;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class HtmlToSpannedParserTest {
+    private static final int SAMPLE_COLOR = Color.MAGENTA;
+    private HtmlToSpannedParser mHtmlToSpannedParser;
+
+    @Before
+    public void setUp() throws Exception {
+        mHtmlToSpannedParser =
+                new HtmlToSpannedParser(new ClickableSpanFactory(SAMPLE_COLOR),
+                        url -> WebActivity.createIntent(InstrumentationRegistry.getTargetContext(),
+                                url, SAMPLE_COLOR));
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void throwsExceptionForEmptyInputs1() {
+        mHtmlToSpannedParser.parseHtml(null);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void throwsExceptionForEmptyInputs2() {
+        mHtmlToSpannedParser.parseHtml("");
+    }
+
+    @Test
+    public void handlesSimpleText() {
+        String inputHtml = "bb\n\ncc\ndd";
+        String textRaw = "bb cc dd"; // whitespace stripped out in the process of HTML conversion
+
+        assertRawTextCorrect(inputHtml, textRaw);
+    }
+
+    @Test
+    public void handlesComplexHtml() {
+        String inputHtml = "a <b> b </b> <h1> ch1 </h1> <ol> <li> i1 </li> </ol> e";
+        String textRaw = "a b \nch1 \ni1 \ne";
+
+        assertRawTextCorrect(inputHtml, textRaw);
+        // TODO: add testing of formatting
+    }
+
+    private void assertRawTextCorrect(String inputHtml, String textRaw) {
+        Spanned spanned = mHtmlToSpannedParser.parseHtml(inputHtml);
+        assertThat(spanned.toString(), equalTo(textRaw));
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/LocaleTestUtils.java b/tests/instrumentation/src/com/android/managedprovisioning/common/LocaleTestUtils.java
new file mode 100644
index 0000000..2850eb3
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/LocaleTestUtils.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+
+import java.util.Locale;
+
+/**
+ * Utility class to save and restore the locale of the system.
+ * <p>
+ * Taken from <a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/94b10b530c0fc297e2974e57e094c500d3ee6003/tests/src/com/android/dialer/util/LocaleTestUtils.java">com.android.dialer.util.LocaleTestUtils</a>
+ * <p>
+ * This can be used for tests that assume to be run in a certain locale, e.g., because they
+ * check against strings in a particular language or require an assumption on how the system
+ * will behave in a specific locale.
+ * <p>
+ * In your test, you can change the locale with the following code:
+ * <pre>
+ * public class CanadaFrenchTest extends AndroidTestCase {
+ *     private LocaleTestUtils mLocaleTestUtils;
+ *
+ *     &#64;Override
+ *     public void setUp() throws Exception {
+ *         super.setUp();
+ *         mLocaleTestUtils = new LocaleTestUtils(getContext());
+ *         mLocaleTestUtils.setLocale(Locale.CANADA_FRENCH);
+ *     }
+ *
+ *     &#64;Override
+ *     public void tearDown() throws Exception {
+ *         mLocaleTestUtils.restoreLocale();
+ *         mLocaleTestUtils = null;
+ *         super.tearDown();
+ *     }
+ *
+ *     ...
+ * }
+ * </pre>
+ * Note that one should not call {@link #setLocale(Locale)} more than once without calling
+ * {@link #restoreLocale()} first.
+ * <p>
+ * This class is not thread-safe. Usually its methods should be invoked only from the test thread.
+ */
+public class LocaleTestUtils {
+    private final Context mContext;
+    private boolean mSaved;
+    private Locale mSavedContextLocale;
+    private Locale mSavedSystemLocale;
+
+    /**
+     * Create a new instance that can be used to set and reset the locale for the given context.
+     *
+     * @param context the context on which to alter the locale
+     */
+    public LocaleTestUtils(Context context) {
+        mContext = context;
+        mSaved = false;
+    }
+
+    /**
+     * Set the locale to the given value and saves the previous value.
+     *
+     * @param locale the value to which the locale should be set
+     * @throws IllegalStateException if the locale was already set
+     */
+    public void setLocale(Locale locale) {
+        if (mSaved) {
+            throw new IllegalStateException(
+                    "call restoreLocale() before calling setLocale() again");
+        }
+        mSavedContextLocale = setResourcesLocale(mContext.getResources(), locale);
+        mSavedSystemLocale = setResourcesLocale(Resources.getSystem(), locale);
+        mSaved = true;
+    }
+
+    /**
+     * Restores the previously set locale.
+     *
+     * @throws IllegalStateException if the locale was not set using {@link #setLocale(Locale)}
+     */
+    public void restoreLocale() {
+        if (!mSaved) {
+            throw new IllegalStateException("call setLocale() before calling restoreLocale()");
+        }
+        setResourcesLocale(mContext.getResources(), mSavedContextLocale);
+        setResourcesLocale(Resources.getSystem(), mSavedSystemLocale);
+        mSaved = false;
+    }
+
+    /**
+     * Sets the locale for the given resources and returns the previous locale.
+     *
+     * @param resources the resources on which to set the locale
+     * @param locale the value to which to set the locale
+     * @return the previous value of the locale for the resources
+     */
+    private Locale setResourcesLocale(Resources resources, Locale locale) {
+        Configuration contextConfiguration = new Configuration(resources.getConfiguration());
+        Locale savedLocale = contextConfiguration.locale;
+        contextConfiguration.locale = locale;
+        resources.updateConfiguration(contextConfiguration, null);
+        return savedLocale;
+    }
+}
\ No newline at end of file
diff --git a/tests/src/com/android/managedprovisioning/LogoUtilsTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/LogoUtilsTest.java
similarity index 85%
rename from tests/src/com/android/managedprovisioning/LogoUtilsTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/common/LogoUtilsTest.java
index e247db6..5573a5f 100644
--- a/tests/src/com/android/managedprovisioning/LogoUtilsTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/LogoUtilsTest.java
@@ -5,7 +5,7 @@
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,29 +14,23 @@
  * limitations under the License.
  */
 
-package com.android.managedprovisioning;
+package com.android.managedprovisioning.common;
 
-import android.content.Context;
 import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.lang.Exception;
 
 @SmallTest
 public class LogoUtilsTest extends AndroidTestCase {
-
     private static final int SAMPLE_COLOR = Color.RED;
 
     public void testPartiallyResizedBitmap() throws Exception {
@@ -99,7 +93,7 @@
         File tempFile = writeBitmapToTempFile(bitmap);
         try {
             LogoUtils.saveOrganisationLogo(getContext(), Uri.fromFile(tempFile));
-            Drawable drawable = LogoUtils.getOrganisationLogo(getContext());
+            Drawable drawable = LogoUtils.getOrganisationLogo(getContext(), SAMPLE_COLOR);
             // We should have the original drawable.
             assertEquals(7, drawable.getIntrinsicWidth());
             assertEquals(5, drawable.getIntrinsicHeight());
@@ -109,20 +103,16 @@
     }
 
     public void testDefaultOrganisationLogo() throws Exception {
-        int maxWidth = (int) getContext().getResources().getDimension(R.dimen.max_logo_width);
-        int maxHeight = (int) getContext().getResources().getDimension(R.dimen.max_logo_height);
-        // In this test, we don't save the logo.
-
-        // First let's compute the expected logo. It is the default one, resized if too big.
-        Bitmap expected = BitmapFactory.decodeResource(getContext().getResources(),
-                R.drawable.ic_corp_icon);
-        expected = LogoUtils.resizeBitmap(expected, maxWidth, maxHeight);
+        // First let's compute the expected logo. It is the default one.
+        Drawable expected = getContext().getResources().getDrawable(
+                LogoUtils.DEFAULT_LOGO_ID, getContext().getTheme());
+        expected.setColorFilter(SAMPLE_COLOR, PorterDuff.Mode.SRC_ATOP);
 
         // Now, get the actual logo
-        Drawable logo = LogoUtils.getOrganisationLogo(getContext());
+        Drawable actual = LogoUtils.getOrganisationLogo(getContext(), SAMPLE_COLOR);
 
         // They should be equal.
-        assertBitmapEquals(expected, bitmapFromDrawable(logo));
+        assertBitmapEquals(bitmapFromDrawable(expected), bitmapFromDrawable(actual));
     }
 
     private Bitmap createSampleBitmap(int width, int height) {
@@ -162,4 +152,4 @@
         fos.close();
         return tempFile;
     }
-}
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferencesTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferencesTest.java
new file mode 100644
index 0000000..0445456
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/ManagedProvisioningSharedPreferencesTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences.SHARED_PREFERENCE;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class ManagedProvisioningSharedPreferencesTest {
+
+    private static final String KEY_TEST_SHARED_PREFERENCE =
+            "ManagedProvisioningSharedPreferencesTest";
+
+    @Mock
+    Context mContext;
+    SharedPreferences mSharedPreferences;
+
+    ManagedProvisioningSharedPreferences mManagedProvisioningSharedPreferences;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        Context targetContext = InstrumentationRegistry.getTargetContext();
+        mSharedPreferences = targetContext.getSharedPreferences(KEY_TEST_SHARED_PREFERENCE,
+                Context.MODE_PRIVATE);
+        cleanUp();
+
+        when(mContext.getSharedPreferences(eq(SHARED_PREFERENCE), eq(Context.MODE_PRIVATE)))
+                .thenReturn(mSharedPreferences);
+        mManagedProvisioningSharedPreferences = new ManagedProvisioningSharedPreferences(mContext);
+    }
+
+    @After
+    public void tearDown() {
+        cleanUp();
+    }
+
+    private void cleanUp() {
+        mSharedPreferences.edit().clear().commit();
+    }
+
+    @Test
+    public void testGetAndIncrementProvisioningId() {
+        assertEquals(mManagedProvisioningSharedPreferences.incrementAndGetProvisioningId(), 1L);
+        assertEquals(mManagedProvisioningSharedPreferences.getProvisioningId(), 1L);
+
+        assertEquals(mManagedProvisioningSharedPreferences.incrementAndGetProvisioningId(), 2L);
+        assertEquals(mManagedProvisioningSharedPreferences.getProvisioningId(), 2L);
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/common/MdmPackageInfoTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/MdmPackageInfoTest.java
similarity index 100%
rename from tests/src/com/android/managedprovisioning/common/MdmPackageInfoTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/common/MdmPackageInfoTest.java
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/StringConcatenatorTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/StringConcatenatorTest.java
new file mode 100644
index 0000000..74ddec6
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/StringConcatenatorTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+import static java.util.Arrays.asList;
+import static java.util.Collections.emptyList;
+import static java.util.Collections.singletonList;
+
+import android.content.res.Resources;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.List;
+import java.util.Locale;
+
+
+@SmallTest
+public class StringConcatenatorTest {
+    private StringConcatenator mInstance;
+    private LocaleTestUtils mLocaleTestUtils;
+
+    @Before
+    public void setUp() throws Exception {
+        mLocaleTestUtils = new LocaleTestUtils(InstrumentationRegistry.getTargetContext());
+        mLocaleTestUtils.setLocale(Locale.US); // sets a stable locale so tests behave consistently
+
+        Resources resources = InstrumentationRegistry.getTargetContext().getResources();
+        mInstance = new StringConcatenator(resources);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        mLocaleTestUtils.restoreLocale();
+    }
+
+    @Test
+    public void joinNull() {
+        assertCorrect(null, null);
+    }
+
+    @Test
+    public void joinEmpty() {
+        assertCorrect(emptyList(), "");
+    }
+
+    @Test
+    public void joinOne() {
+        assertCorrect(singletonList("word1"), "word1");
+    }
+
+    @Test
+    public void joinTwo() {
+        assertCorrect(asList("word1", "word2"), "word1 and word2");
+    }
+
+    @Test
+    public void joinThree() {
+        assertCorrect(asList("word1", "word2", "word3"), "word1, word2 and word3");
+    }
+
+    @Test
+    public void joinMany() {
+        assertCorrect(asList("word1", "word2", "word3", "word4", "word5", "word6", "word7"),
+                "word1, word2, word3, word4, word5, word6 and word7"
+        );
+    }
+
+    private void assertCorrect(List<String> input, String expected) {
+        assertThat(mInstance.join(input), equalTo(expected));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/TouchTargetEnforcerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/TouchTargetEnforcerTest.java
new file mode 100644
index 0000000..ef46d24
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/TouchTargetEnforcerTest.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import static android.support.test.InstrumentationRegistry.getTargetContext;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.lessThanOrEqualTo;
+import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+
+import android.graphics.Rect;
+import android.support.test.filters.SmallTest;
+import android.view.TouchDelegate;
+import android.view.View;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class TouchTargetEnforcerTest {
+    private static final float SAMPLE_DENSITY = 2.625f;
+    private static final int TOLERANCE_PX = 2;
+    private static final int OFFSET_DEFAULT = 500;
+
+    @Mock private View mViewAncestor;
+    @Captor private ArgumentCaptor<Runnable> mArgumentCaptor;
+    private TouchTargetEnforcer mEnforcer;
+    private View mView;
+    private int mEdgeValue;
+
+    private Rect mCapturedBounds;
+    private View mCapturedTargetView;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mView = new View(getTargetContext());
+        mEdgeValue = Math.round(TouchTargetEnforcer.MIN_TARGET_DP * SAMPLE_DENSITY);
+
+        mEnforcer = new TouchTargetEnforcer(SAMPLE_DENSITY, (bounds, target) -> {
+            mCapturedBounds = bounds;
+            mCapturedTargetView = target;
+            return new TouchDelegate(mCapturedBounds, mCapturedTargetView);
+        });
+
+        mCapturedBounds = null;
+        mCapturedTargetView = null;
+    }
+
+    @Test
+    public void expansionNeededWidth() {
+        testExpansionNeeded(mEdgeValue - 1, mEdgeValue + 1);
+    }
+
+    @Test
+    public void expansionNeededHeight() {
+        testExpansionNeeded(mEdgeValue + 1, mEdgeValue - 1);
+    }
+
+    @Test
+    public void expansionNeededWidthHeight() {
+        testExpansionNeeded(mEdgeValue - 1, mEdgeValue - 1);
+    }
+
+    private void testExpansionNeeded(int width, int height) {
+        setViewDimen(width, height);
+        assertExpansionNeeded(width, height);
+    }
+
+    private void assertExpansionNeeded(int width, int height) {
+        // when
+        mEnforcer.enforce(mView, mViewAncestor);
+        mView.getViewTreeObserver().dispatchOnGlobalLayout(); // force try register Touch Delegate
+
+        // then
+        verify(mViewAncestor).post(mArgumentCaptor.capture()); // prep capture TouchDelegate args
+        mArgumentCaptor.getValue().run(); // capture args under mCapturedBounds
+        //noinspection ResultOfMethodCallIgnored
+        verify(mViewAncestor).getTouchDelegate();
+        verify(mViewAncestor).setTouchDelegate(any());
+        verifyNoMoreInteractions(mViewAncestor);
+
+        // verify end state correct
+        assertBoundsCorrect(width, mCapturedBounds.width());
+        assertBoundsCorrect(height, mCapturedBounds.height());
+    }
+
+    @Test
+    public void expansionNotNeeded() {
+        // given
+        setViewDimen(mEdgeValue + 1, mEdgeValue + 1);
+        assertThat(mView.getWidth(), greaterThanOrEqualTo(mEdgeValue));
+        assertThat(mView.getHeight(), greaterThanOrEqualTo(mEdgeValue));
+
+        // when
+        mEnforcer.enforce(mView, mViewAncestor);
+        mView.getViewTreeObserver().dispatchOnGlobalLayout(); // force UI queue to add a Runnable
+
+        // then
+        verifyZeroInteractions(mViewAncestor);
+    }
+
+    @Test
+    public void doesNotCrashOnEdges() {
+        setViewDimen(0, 0, 0);
+        assertExpansionNeeded(0, 0);
+    }
+
+    private void assertBoundsCorrect(int oldValue, int newValue) {
+        assertThat(newValue, greaterThanOrEqualTo(mEdgeValue));
+        if (oldValue >= mEdgeValue) {
+            assertThat(newValue, equalTo(oldValue));
+        } else {
+            assertThat(mCapturedBounds.width(), lessThanOrEqualTo(mEdgeValue + TOLERANCE_PX));
+        }
+    }
+
+    private void setViewDimen(int width, int height) {
+        setViewDimen(width, height, OFFSET_DEFAULT);
+    }
+
+    private void setViewDimen(int width, int height, int offset) {
+        mView.setLeft(offset);
+        mView.setRight(offset + width);
+        mView.setTop(offset);
+        mView.setBottom(offset + height);
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/UriBitmap.java b/tests/instrumentation/src/com/android/managedprovisioning/common/UriBitmap.java
new file mode 100644
index 0000000..1b46cd6
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/UriBitmap.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.common;
+
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.net.Uri;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/**
+ * Test helper class to simplify testing cases where drawables are handled as Uri's.
+ */
+public class UriBitmap {
+    private final Bitmap mBitmap;
+    private final Uri mUri;
+    private final File mTempFile;
+
+    private UriBitmap(Bitmap bitmap, Uri uri, File tempFile) {
+        mBitmap = bitmap;
+        mUri = uri;
+        mTempFile = tempFile;
+    }
+
+    public Bitmap getBitmap() {
+        return mBitmap;
+    }
+
+    public Uri getUri() {
+        return mUri;
+    }
+
+    /**
+     * @return an instance encapsulating a sample {@link Bitmap} and a {@link Uri} pointing to it
+     */
+    public static UriBitmap createSimpleInstance() throws IOException {
+        Bitmap bitmap = generateSampleBitmap();
+        File tempFile = File.createTempFile("tmpImage", ".png");
+        Uri uri = bitmapToUri(bitmap, tempFile);
+        return new UriBitmap(bitmap, uri, tempFile);
+    }
+
+    private static Bitmap generateSampleBitmap() {
+        Bitmap bitmap = Bitmap.createBitmap(15, 15, Bitmap.Config.ARGB_8888);
+        for (int x = 0; x < bitmap.getWidth(); x++) {
+            for (int y = 0; y < bitmap.getHeight(); y++) {
+                bitmap.setPixel(x, y, Color.rgb(x, y, x + y));
+            }
+        }
+        return bitmap;
+    }
+
+    private static Uri bitmapToUri(Bitmap bitmap, File tempFile) throws IOException {
+        try (FileOutputStream fs = new FileOutputStream(tempFile)) {
+            bitmap.compress(Bitmap.CompressFormat.PNG, 100, fs);
+            return Uri.fromFile(tempFile);
+        }
+    }
+
+    /**
+     * Deletes the temp file where the image is stored (simple way to generate an Uri-enabled image)
+     */
+    @Override
+    protected void finalize() throws Throwable {
+        if (mTempFile != null) {
+            //noinspection ResultOfMethodCallIgnored
+            mTempFile.delete();
+        }
+        super.finalize();
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/UtilsTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/UtilsTest.java
new file mode 100644
index 0000000..7e8d87e
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/UtilsTest.java
@@ -0,0 +1,447 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.common;
+
+import static org.mockito.Matchers.contains;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.accounts.AccountManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ParceledListSlice;
+import android.content.pm.ResolveInfo;
+import android.graphics.Color;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.os.Build;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link Utils}.
+ */
+@SmallTest
+public class UtilsTest extends AndroidTestCase {
+    private static final String TEST_PACKAGE_NAME_1 = "com.test.packagea";
+    private static final String TEST_PACKAGE_NAME_2 = "com.test.packageb";
+    private static final String TEST_DEVICE_ADMIN_NAME = TEST_PACKAGE_NAME_1 + ".DeviceAdmin";
+    // Another DeviceAdmin in package 1
+    private static final String TEST_DEVICE_ADMIN_NAME_2 = TEST_PACKAGE_NAME_1 + ".DeviceAdmin2";
+    private static final ComponentName TEST_COMPONENT_NAME = new ComponentName(TEST_PACKAGE_NAME_1,
+            TEST_DEVICE_ADMIN_NAME);
+    private static final ComponentName TEST_COMPONENT_NAME_2 = new ComponentName(TEST_PACKAGE_NAME_1,
+            TEST_DEVICE_ADMIN_NAME_2);
+    private static final int TEST_USER_ID = 10;
+    private static final String TEST_FILE_NAME = "testfile";
+
+    @Mock private Context mockContext;
+    @Mock private AccountManager mockAccountManager;
+    @Mock private IPackageManager mockIPackageManager;
+    @Mock private PackageManager mockPackageManager;
+    @Mock private ConnectivityManager mockConnectivityManager;
+
+    private Utils mUtils;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        when(mockContext.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mockAccountManager);
+        when(mockContext.getPackageManager()).thenReturn(mockPackageManager);
+        when(mockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+                .thenReturn(mockConnectivityManager);
+
+        mUtils = new Utils();
+    }
+
+    @Override
+    public void tearDown() {
+        mContext.deleteFile(TEST_FILE_NAME);
+    }
+
+    public void testGetCurrentSystemApps() throws Exception {
+        // GIVEN two currently installed apps, one of which is system
+        List<ApplicationInfo> appList = Arrays.asList(
+                createApplicationInfo(TEST_PACKAGE_NAME_1, false),
+                createApplicationInfo(TEST_PACKAGE_NAME_2, true));
+        when(mockIPackageManager.getInstalledApplications(
+                PackageManager.GET_UNINSTALLED_PACKAGES, TEST_USER_ID))
+                .thenReturn(new ParceledListSlice(appList));
+        // WHEN requesting the current system apps
+        Set<String> res = mUtils.getCurrentSystemApps(mockIPackageManager, TEST_USER_ID);
+        // THEN the one system app should be returned
+        assertEquals(1, res.size());
+        assertTrue(res.contains(TEST_PACKAGE_NAME_2));
+    }
+
+    public void testSetComponentEnabledSetting() throws Exception {
+        // GIVEN a component name and a user id
+        // WHEN disabling a component
+        mUtils.setComponentEnabledSetting(mockIPackageManager, TEST_COMPONENT_NAME,
+                PackageManager.COMPONENT_ENABLED_STATE_DISABLED, TEST_USER_ID);
+        // THEN the correct method on mockIPackageManager gets invoked
+        verify(mockIPackageManager).setComponentEnabledSetting(eq(TEST_COMPONENT_NAME),
+                eq(PackageManager.COMPONENT_ENABLED_STATE_DISABLED),
+                eq(PackageManager.DONT_KILL_APP),
+                eq(TEST_USER_ID));
+        verifyNoMoreInteractions(mockIPackageManager);
+    }
+
+    public void testPackageRequiresUpdate_notPresent() throws Exception {
+        // GIVEN that the requested package is not present on the device
+        // WHEN checking whether an update is required
+        when(mockPackageManager.getPackageInfo(TEST_PACKAGE_NAME_1, 0))
+                .thenThrow(new NameNotFoundException());
+        // THEN an update is required
+        assertTrue(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 0, mockContext));
+    }
+
+    public void testPackageRequiresUpdate() throws Exception {
+        // GIVEN a package that is installed on the device
+        PackageInfo pi = new PackageInfo();
+        pi.packageName = TEST_PACKAGE_NAME_1;
+        pi.versionCode = 1;
+        when(mockPackageManager.getPackageInfo(TEST_PACKAGE_NAME_1, 0)).thenReturn(pi);
+        // WHEN checking whether an update is required
+        // THEN verify that update required returns the correct result depending on the minimum
+        // version code requested.
+        assertFalse(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 0, mockContext));
+        assertFalse(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 1, mockContext));
+        assertTrue(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 2, mockContext));
+    }
+
+    public void testIsConnectedToNetwork() throws Exception {
+        // GIVEN the device is currently connected to mobile network
+        setCurrentNetworkMock(ConnectivityManager.TYPE_MOBILE, true);
+        // WHEN checking connectivity
+        // THEN utils should return true
+        assertTrue(mUtils.isConnectedToNetwork(mockContext));
+
+        // GIVEN the device is currently connected to wifi
+        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, true);
+        // WHEN checking connectivity
+        // THEN utils should return true
+        assertTrue(mUtils.isConnectedToNetwork(mockContext));
+
+        // GIVEN the device is currently disconnected on wifi
+        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, false);
+        // WHEN checking connectivity
+        // THEN utils should return false
+        assertFalse(mUtils.isConnectedToNetwork(mockContext));
+    }
+
+    public void testIsConnectedToWifi() throws Exception {
+        // GIVEN the device is currently connected to mobile network
+        setCurrentNetworkMock(ConnectivityManager.TYPE_MOBILE, true);
+        // WHEN checking whether connected to wifi
+        // THEN utils should return false
+        assertFalse(mUtils.isConnectedToWifi(mockContext));
+
+        // GIVEN the device is currently connected to wifi
+        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, true);
+        // WHEN checking whether connected to wifi
+        // THEN utils should return true
+        assertTrue(mUtils.isConnectedToWifi(mockContext));
+
+        // GIVEN the device is currently disconnected on wifi
+        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, false);
+        // WHEN checking whether connected to wifi
+        // THEN utils should return false
+        assertFalse(mUtils.isConnectedToWifi(mockContext));
+    }
+
+    public void testGetActiveNetworkInfo() throws Exception {
+        // GIVEN the device is connected to a network.
+        final NetworkInfo networkInfo =
+                new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, null, null);
+        when(mockConnectivityManager.getActiveNetworkInfo()).thenReturn(networkInfo);
+        // THEN calling getActiveNetworkInfo should return the correct network info.
+        assertEquals(mUtils.getActiveNetworkInfo(mockContext), networkInfo);
+    }
+
+    public void testCurrentLauncherSupportsManagedProfiles_noLauncherSet() throws Exception {
+        // GIVEN there currently is no default launcher set
+        when(mockPackageManager.resolveActivity(any(Intent.class), anyInt()))
+                .thenReturn(null);
+        // WHEN checking whether the current launcher support managed profiles
+        // THEN utils should return false
+        assertFalse(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
+    }
+
+    public void testCurrentLauncherSupportsManagedProfiles() throws Exception {
+        // GIVEN the current default launcher is built against lollipop
+        setLauncherMock(Build.VERSION_CODES.LOLLIPOP);
+        // WHEN checking whether the current launcher support managed profiles
+        // THEN utils should return true
+        assertTrue(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
+
+        // GIVEN the current default launcher is built against kitkat
+        setLauncherMock(Build.VERSION_CODES.KITKAT);
+        // WHEN checking whether the current launcher support managed profiles
+        // THEN utils should return false
+        assertFalse(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
+    }
+
+    public void testFindDeviceAdmin_ComponentName() throws Exception {
+        // GIVEN a package info with more than one device admin
+        setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME, TEST_DEVICE_ADMIN_NAME_2);
+
+        // THEN calling findDeviceAdmin returns the correct admin
+        assertEquals(TEST_COMPONENT_NAME_2,
+                mUtils.findDeviceAdmin(null, TEST_COMPONENT_NAME_2, mockContext));
+    }
+
+    public void testFindDeviceAdmin_PackageName() throws Exception {
+        // GIVEN a package info with one device admin
+        setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME);
+
+        // THEN calling findDeviceAdmin returns the correct admin
+        assertEquals(TEST_COMPONENT_NAME,
+                mUtils.findDeviceAdmin(TEST_PACKAGE_NAME_1, null, mockContext));
+    }
+
+    public void testFindDeviceAdmin_NoPackageName() throws Exception {
+        // GIVEN no package info file
+        when(mockPackageManager.getPackageInfo(TEST_PACKAGE_NAME_1,
+                PackageManager.GET_RECEIVERS | PackageManager.MATCH_DISABLED_COMPONENTS))
+                .thenReturn(null);
+
+        // THEN throw IllegalProvisioningArgumentException
+        try {
+            mUtils.findDeviceAdmin(TEST_PACKAGE_NAME_1, null, mockContext);
+            fail();
+        } catch (IllegalProvisioningArgumentException e) {
+            // expected
+        }
+    }
+
+    public void testFindDeviceAdmin_AnotherComponentName() throws Exception {
+        // GIVEN a package info with one device admin
+        setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME);
+
+        // THEN looking another device admin throws IllegalProvisioningArgumentException
+        try {
+            mUtils.findDeviceAdmin(null, TEST_COMPONENT_NAME_2, mockContext);
+            fail();
+        } catch (IllegalProvisioningArgumentException e) {
+            // expected
+        }
+    }
+
+    public void testFindDeviceAdminInPackageInfo_Success() throws Exception {
+        // GIVEN a package info with one device admin
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME);
+
+        // THEN calling findDeviceAdminInPackageInfo returns the correct admin
+        assertEquals(TEST_COMPONENT_NAME,
+                mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME_1, null, packageInfo));
+    }
+
+    public void testFindDeviceAdminInPackageInfo_PackageNameMismatch() throws Exception {
+        // GIVEN a package info with one device admin
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME);
+
+        // THEN calling findDeviceAdminInPackageInfo with the wrong package name return null
+        assertNull(mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME_2, null, packageInfo));
+    }
+
+    public void testFindDeviceAdminInPackageInfo_NoAdmin() throws Exception {
+        // GIVEN a package info with no device admin
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1);
+
+        // THEN calling findDeviceAdminInPackageInfo returns null
+        assertNull(mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME_1, null, packageInfo));
+    }
+
+    public void testFindDeviceAdminInPackageInfo_TwoAdmins() throws Exception {
+        // GIVEN a package info with more than one device admin
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME,
+                TEST_DEVICE_ADMIN_NAME_2);
+
+        // THEN calling findDeviceAdminInPackageInfo returns null
+        assertNull(mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME_1, null, packageInfo));
+    }
+
+    public void testFindDeviceAdminInPackageInfo_TwoAdminsWithComponentName() throws Exception {
+        // GIVEN a package info with more than one device admin
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME,
+                TEST_DEVICE_ADMIN_NAME_2);
+
+        // THEN calling findDeviceAdminInPackageInfo return component 1
+        assertEquals(TEST_COMPONENT_NAME, mUtils.findDeviceAdminInPackageInfo(
+                TEST_PACKAGE_NAME_1, TEST_COMPONENT_NAME, packageInfo));
+    }
+
+
+    public void testFindDeviceAdminInPackageInfo_InvalidComponentName() throws Exception {
+        // GIVEN a package info with component 1
+        PackageInfo packageInfo = setUpPackage(TEST_PACKAGE_NAME_1, TEST_DEVICE_ADMIN_NAME);
+
+        // THEN calling findDeviceAdminInPackageInfo with component 2 returns null
+        assertNull(mUtils.findDeviceAdminInPackageInfo(
+                TEST_PACKAGE_NAME_1, TEST_COMPONENT_NAME_2, packageInfo));
+    }
+
+    public void testComputeHashOfByteArray() {
+        // GIVEN a byte array
+        byte[] bytes = "TESTARRAY".getBytes();
+        // GIVEN its Sha256 hash
+        byte[] sha256 = new byte[] {100, -45, -118, -68, -104, -15, 63, -60, -84, -44, -13, -63,
+                53, -50, 104, -63, 38, 122, 16, -44, -85, -50, 67, 98, 78, 121, 11, 72, 79, 40, 107,
+                125};
+
+        // THEN computeHashOfByteArray returns the correct result
+        assertTrue(Arrays.equals(sha256, mUtils.computeHashOfByteArray(bytes)));
+    }
+
+    public void testComputeHashOfFile() {
+        // GIVEN a file with test data
+        final String fileLocation = getContext().getFilesDir().toString() + "/" + TEST_FILE_NAME;
+        String string = "Hello world!";
+        FileOutputStream outputStream;
+        try {
+            outputStream = getContext().openFileOutput(TEST_FILE_NAME, Context.MODE_PRIVATE);
+            outputStream.write(string.getBytes());
+            outputStream.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        // GIVEN the file's Sha256 hash
+        byte[] sha256 = new byte[] {-64, 83, 94, 75, -30, -73, -97, -3, -109, 41, 19, 5, 67, 107,
+                -8, -119, 49, 78, 74, 63, -82, -64, 94, -49, -4, -69, 125, -13, 26, -39, -27, 26};
+        // GIVEN the file's Sha1 hash
+        byte[] sha1 = new byte[] {-45, 72, 106, -23, 19, 110, 120, 86, -68, 66, 33, 35, -123, -22,
+                121, 112, -108, 71, 88, 2};
+
+        //THEN the Sha256 hash is correct
+        assertTrue(
+                Arrays.equals(sha256, mUtils.computeHashOfFile(fileLocation, Utils.SHA256_TYPE)));
+        //THEN the Sha1 hash is correct
+        assertTrue(Arrays.equals(sha1, mUtils.computeHashOfFile(fileLocation, Utils.SHA1_TYPE)));
+    }
+
+    public void testComputeHashOfFile_NotPresent() {
+        // GIVEN no file is present
+        final String fileLocation = getContext().getFilesDir().toString() + "/" + TEST_FILE_NAME;
+        getContext().deleteFile(TEST_FILE_NAME);
+
+        // THEN computeHashOfFile should return null
+        assertNull(mUtils.computeHashOfFile(fileLocation, Utils.SHA256_TYPE));
+        assertNull(mUtils.computeHashOfFile(fileLocation, Utils.SHA1_TYPE));
+    }
+
+    public void testBrightColors() {
+        assertTrue(mUtils.isBrightColor(Color.WHITE));
+        assertTrue(mUtils.isBrightColor(Color.YELLOW));
+        assertFalse(mUtils.isBrightColor(Color.BLACK));
+        assertFalse(mUtils.isBrightColor(Color.BLUE));
+    }
+
+    public void testCanResolveIntentAsUser() {
+        // GIVEN intent is null
+        // THEN intent should not be resolved
+        assertFalse(mUtils.canResolveIntentAsUser(mockContext, null, TEST_USER_ID));
+
+        // GIVEN a valid intent
+        Intent intent = new Intent();
+
+        // WHEN resolve activity as user returns null
+        when(mockPackageManager.resolveActivityAsUser(any(Intent.class), anyInt(), anyInt()))
+                .thenReturn(null);
+        // THEN intent should not be resolved for user
+        assertFalse(mUtils.canResolveIntentAsUser(mockContext, intent, TEST_USER_ID));
+
+        // WHEN resolve activity as user returns valid resolve info
+        when(mockPackageManager.resolveActivityAsUser(any(Intent.class), anyInt(), anyInt()))
+                .thenReturn(new ResolveInfo());
+        // THEN intent should be resolved
+        assertTrue(mUtils.canResolveIntentAsUser(mockContext, intent, TEST_USER_ID));
+    }
+
+    private ApplicationInfo createApplicationInfo(String packageName, boolean system) {
+        ApplicationInfo ai = new ApplicationInfo();
+        ai.packageName = packageName;
+        if (system) {
+            ai.flags = ApplicationInfo.FLAG_SYSTEM;
+        }
+        return ai;
+    }
+
+    private void setCurrentNetworkMock(int type, boolean connected) {
+        NetworkInfo networkInfo = new NetworkInfo(type, 0, null, null);
+        networkInfo.setDetailedState(
+                connected ? NetworkInfo.DetailedState.CONNECTED
+                        : NetworkInfo.DetailedState.DISCONNECTED,
+                null, null);
+        when(mockConnectivityManager.getActiveNetworkInfo()).thenReturn(networkInfo);
+    }
+
+    private void setLauncherMock(int targetSdkVersion) throws Exception {
+        ApplicationInfo appInfo = new ApplicationInfo();
+        appInfo.targetSdkVersion = targetSdkVersion;
+        ActivityInfo actInfo = new ActivityInfo();
+        actInfo.packageName = TEST_PACKAGE_NAME_1;
+        ResolveInfo resInfo = new ResolveInfo();
+        resInfo.activityInfo = actInfo;
+
+        when(mockPackageManager.resolveActivity(any(Intent.class), anyInt())).thenReturn(resInfo);
+        when(mockPackageManager.getApplicationInfo(TEST_PACKAGE_NAME_1, 0)).thenReturn(appInfo);
+    }
+
+    private PackageInfo setUpPackage(String packageName, String... adminNames)
+            throws NameNotFoundException {
+        PackageInfo packageInfo = new PackageInfo();
+        packageInfo.packageName = packageName;
+        packageInfo.receivers = new ActivityInfo[adminNames.length];
+        for (int i = 0; i < adminNames.length; i++) {
+            ActivityInfo receiver = new ActivityInfo();
+            receiver.permission = android.Manifest.permission.BIND_DEVICE_ADMIN;
+            receiver.name = adminNames[i];
+            packageInfo.receivers[i] = receiver;
+        }
+        when(mockPackageManager.getPackageInfo(packageName,
+                PackageManager.GET_RECEIVERS | PackageManager.MATCH_DISABLED_COMPONENTS))
+                .thenReturn(packageInfo);
+
+        return packageInfo;
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/DpcPostProvisioningActivity.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/DpcPostProvisioningActivity.java
new file mode 100644
index 0000000..232be8e
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/DpcPostProvisioningActivity.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.e2eui;
+
+import android.app.Activity;
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.Bundle;
+
+public class DpcPostProvisioningActivity extends Activity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        // Verify that managed profile has been successfully created.
+        boolean testResult = E2eUiTestUtils.verifyProfile(this, getIntent(), dpm);
+        // Informs the result to provisioning result listener.
+        E2eUiTestUtils.sendResult(ProvisioningResultListener.ACTION_PROVISION_RESULT_INTENT,
+                this, testResult);
+        finish();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/E2eUiTestUtils.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/E2eUiTestUtils.java
new file mode 100644
index 0000000..9db4104
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/E2eUiTestUtils.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.managedprovisioning.e2eui;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.Intent;
+import android.os.PersistableBundle;
+import android.os.UserHandle;
+import android.util.Log;
+
+/**
+ * Utility functions for end to end tests
+ */
+public class E2eUiTestUtils {
+    private static final String TAG = E2eUiTestUtils.class.getSimpleName();
+    private static final String EXTRAS_BUNDLE_TEST_KEY = "extras_bundle_test_key";
+
+    public static Intent insertProvisioningExtras(Intent intent) {
+        PersistableBundle bundle = new PersistableBundle();
+        bundle.putBoolean(EXTRAS_BUNDLE_TEST_KEY, true);
+        intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, bundle);
+        return intent;
+    }
+
+    public static boolean verifyProvisioningExtras(Intent intent) {
+        PersistableBundle persistableBundle = intent
+                .getParcelableExtra(DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
+        return persistableBundle != null && persistableBundle.getBoolean(EXTRAS_BUNDLE_TEST_KEY);
+    }
+
+    public static void sendResult(String action, Context context, boolean result) {
+        Intent resultBroadcast = new Intent(action);
+        resultBroadcast.putExtra(ProvisioningResultListener.EXTRA_RESULT, result);
+        context.sendBroadcastAsUser(resultBroadcast, UserHandle.SYSTEM);
+    }
+
+    public static boolean verifyProfile(Context context, Intent intent,
+            DevicePolicyManager dpm) {
+        dpm.setProfileEnabled(ManagedProfileAdminReceiver.COMPONENT_NAME);
+        final boolean isProfileOwner = dpm.isProfileOwnerApp(context.getPackageName());
+        Log.i(TAG, "isProfileOwner: " + isProfileOwner);
+        final boolean verifyProvisioningExtras = verifyProvisioningExtras(intent);
+        Log.i(TAG, "verifyProvisioningExtras: " + verifyProvisioningExtras);
+        return isProfileOwner && verifyProvisioningExtras;
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileAdminReceiver.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileAdminReceiver.java
new file mode 100644
index 0000000..5910295
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileAdminReceiver.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.e2eui;
+
+import android.app.admin.DeviceAdminReceiver;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+
+import com.android.managedprovisioning.TestInstrumentationRunner;
+
+public class ManagedProfileAdminReceiver extends DeviceAdminReceiver {
+    public static final ComponentName COMPONENT_NAME = new ComponentName(
+            TestInstrumentationRunner.TEST_PACKAGE_NAME,
+            ManagedProfileAdminReceiver.class.getName());
+
+    public static final Intent INTENT_PROVISION_MANAGED_PROFILE =
+            E2eUiTestUtils.insertProvisioningExtras(new Intent(
+                    DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE)
+                    .putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+                            COMPONENT_NAME)
+                    .putExtra(DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION, true));
+
+    @Override
+    public void onProfileProvisioningComplete(Context context, Intent intent) {
+        // Verify that managed profile has been successfully created.
+        boolean testResult = E2eUiTestUtils.verifyProfile(context, intent, getManager(context));
+        // Informs the result to provisioning result listener.
+        E2eUiTestUtils.sendResult(ProvisioningResultListener.ACTION_PROVISION_RESULT_BROADCAST, context,
+                testResult);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileTest.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileTest.java
new file mode 100644
index 0000000..d64c628
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ManagedProfileTest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.e2eui;
+
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.test.espresso.ViewInteraction;
+import android.support.test.espresso.base.DefaultFailureHandler;
+import android.support.test.filters.LargeTest;
+import android.support.test.rule.ActivityTestRule;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import android.view.View;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.preprovisioning.PreProvisioningActivity;
+import org.hamcrest.Matcher;
+
+import java.util.List;
+
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.action.ViewActions.scrollTo;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+
+@LargeTest
+public class ManagedProfileTest extends AndroidTestCase {
+    private static final String TAG = "ManagedProfileTest";
+
+    private static final long TIMEOUT = 120L;
+
+    public ActivityTestRule mActivityRule;
+    private ProvisioningResultListener mResultListener;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mActivityRule = new ActivityTestRule<>(
+                PreProvisioningActivity.class,
+                true /* initialTouchMode */,
+                false);  // launchActivity. False to set intent per method
+        mResultListener = new ProvisioningResultListener(getContext());
+        TestInstrumentationRunner.registerReplacedActivity(PreProvisioningActivity.class,
+                (cl, className, intent) -> new TestPreProvisioningActivity(mResultListener));
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        TestInstrumentationRunner.unregisterReplacedActivity(PreProvisioningActivity.class);
+        mResultListener.unregister();
+
+        // Remove any managed profiles in case that
+        removeAllManagedProfiles();
+    }
+
+    private void removeAllManagedProfiles() {
+        UserManager um = getContext().getSystemService(UserManager.class);
+        List<UserInfo> users = um.getUsers();
+        for (UserInfo user : users) {
+            if (user.isManagedProfile()) {
+                int userId = user.getUserHandle().getIdentifier();
+                um.removeUserEvenWhenDisallowed(userId);
+                Log.e(TAG, "remove managed profile user: " + userId);
+            }
+        }
+    }
+
+    public void testManagedProfile() throws Exception {
+        mActivityRule.launchActivity(ManagedProfileAdminReceiver.INTENT_PROVISION_MANAGED_PROFILE);
+
+        mResultListener.register();
+
+        // Retry the sequence of 2 actions 3 times to avoid flakiness of the test
+        new EspressoClickRetryActions(3) {
+            @Override
+            public ViewInteraction newViewInteraction1() {
+                return onView(withId(R.id.next_button));
+            }
+        }.run();
+
+        if (mResultListener.await(TIMEOUT)) {
+            assertTrue(mResultListener.getResult());
+        } else {
+            fail("timeout: " + TIMEOUT + " seconds");
+        }
+    }
+
+    private abstract class EspressoClickRetryActions {
+        private final int mRetries;
+        private int i = 0;
+
+        EspressoClickRetryActions(int retries) {
+            mRetries = retries;
+        }
+
+        public abstract ViewInteraction newViewInteraction1();
+
+        public void run() {
+            i++;
+            newViewInteraction1()
+                    .withFailureHandler(this::handleFailure)
+                    .perform(scrollTo(), click());
+            Log.i(TAG, "newViewInteraction1 succeeds.");
+        }
+
+        private void handleFailure(Throwable e, Matcher<View> matcher) {
+            Log.i(TAG, "espresso handleFailure count: " + i, e);
+            if (i < mRetries) {
+                run();
+            } else {
+                new DefaultFailureHandler(getContext()).handle(e, matcher);
+            }
+        }
+    }
+}
+
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ProvisioningResultListener.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ProvisioningResultListener.java
new file mode 100644
index 0000000..b1d530f
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/ProvisioningResultListener.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.e2eui;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Log;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * Listen to provisioning result from DPC running in test process
+ */
+public class ProvisioningResultListener {
+    private static final String TAG = ProvisioningResultListener.class.getSimpleName();
+
+    public static final String ACTION_PROVISION_RESULT_BROADCAST =
+            "com.android.managedprovisioning.e2eui.ACTION_PROVISION_RESULT_BROADCAST";
+    public static final String ACTION_PROVISION_RESULT_INTENT =
+            "com.android.managedprovisioning.e2eui.ACTION_PROVISION_RESULT_INTENT";
+    public static final String EXTRA_RESULT = "result";
+
+    private final Context mContext;
+    private final CountDownLatch mLatch = new CountDownLatch(3);
+    private final AtomicBoolean mBroadcastResult = new AtomicBoolean(false);
+    private final AtomicBoolean mPreprovisioningActivityResult = new AtomicBoolean(false);
+    private final AtomicBoolean mIntentResult = new AtomicBoolean(false);
+    private final ResultReceiver mReceiver = new ResultReceiver();
+    private boolean mIsRegistered = false;
+
+    private class ResultReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            switch(intent.getAction()) {
+                case ACTION_PROVISION_RESULT_BROADCAST:
+                    mBroadcastResult.set(intent.getBooleanExtra(EXTRA_RESULT, false));
+                    mLatch.countDown();
+                    break;
+                case ACTION_PROVISION_RESULT_INTENT:
+                    mIntentResult.set(intent.getBooleanExtra(EXTRA_RESULT, false));
+                    mLatch.countDown();
+                    break;
+            }
+        }
+    }
+
+    public ProvisioningResultListener(Context context) {
+        mContext = context;
+    }
+
+    public void register() {
+        mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_PROVISION_RESULT_BROADCAST));
+        mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_PROVISION_RESULT_INTENT));
+        mIsRegistered = true;
+    }
+
+    public void unregister() {
+        if (mIsRegistered) {
+            mContext.unregisterReceiver(mReceiver);
+            mIsRegistered = false;
+        }
+    }
+
+    public boolean await(long timeoutSeconds) throws InterruptedException {
+        return mLatch.await(timeoutSeconds, TimeUnit.SECONDS);
+    }
+
+    public void setPreprovisioningActivityResult(boolean result) {
+        mPreprovisioningActivityResult.set(result);
+        mLatch.countDown();
+    }
+
+    public boolean getResult() {
+        Log.i(TAG, "mBroadcastResult: " + mBroadcastResult.get());
+        Log.i(TAG, "mIntentResult: " + mIntentResult.get());
+        Log.i(TAG, "mPreprovisioningActivityResult: " + mPreprovisioningActivityResult.get());
+        return mBroadcastResult.get() && mIntentResult.get()
+                && mPreprovisioningActivityResult.get();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/e2eui/TestPreProvisioningActivity.java b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/TestPreProvisioningActivity.java
new file mode 100644
index 0000000..a281835
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/e2eui/TestPreProvisioningActivity.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.e2eui;
+
+import android.content.Intent;
+import android.util.Log;
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.preprovisioning.PreProvisioningActivity;
+
+public class TestPreProvisioningActivity extends PreProvisioningActivity {
+    private static final String TAG = "TestPreProvisioningActivity";
+
+    private final ProvisioningResultListener mlistener;
+
+    public TestPreProvisioningActivity(ProvisioningResultListener listener) {
+        mlistener = listener;
+    }
+
+    /** ManagedProfileTest is running in ManagedProvisioning process, while the AdminReceiver is in
+     * test package process. Mock the calling package to pretend we provision it from test package,
+     * not from ManagedProvisioning.
+     */
+    @Override
+    public String getCallingPackage() {
+        return TestInstrumentationRunner.TEST_PACKAGE_NAME;
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        Log.i(TAG, "onActivityResult " + requestCode);
+        // Return the result code to the test and verify it.
+        if (requestCode == PROVISIONING_REQUEST_CODE) {
+            mlistener.setPreprovisioningActivityResult(resultCode == RESULT_OK);
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiverTest.java b/tests/instrumentation/src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiverTest.java
new file mode 100644
index 0000000..cce4247
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/finalization/DpcReceivedSuccessReceiverTest.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
+import static android.app.admin.DevicePolicyManager.ACTION_MANAGED_PROFILE_PROVISIONED;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.accounts.Account;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Unit tests for {@link DpcReceivedSuccessReceiver}.
+ */
+public class DpcReceivedSuccessReceiverTest extends AndroidTestCase {
+    private static final int SEND_BROADCAST_TIMEOUT_SECONDS = 1;
+    private static final String TEST_MDM_PACKAGE_NAME = "mdm.package.name";
+    private static final Account TEST_ACCOUNT = new Account("test@account.com", "account.type");
+    private static final Intent TEST_INTENT = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
+    private static final UserHandle MANAGED_PROFILE_USER_HANDLE = UserHandle.of(123);
+
+    @Mock private Context mContext;
+    @Mock private Utils mUtils;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @SmallTest
+    public void testNoAccountMigration() {
+        // GIVEN that no account migration occurred during provisioning
+        final DpcReceivedSuccessReceiver receiver = new DpcReceivedSuccessReceiver(null, false,
+                MANAGED_PROFILE_USER_HANDLE, TEST_MDM_PACKAGE_NAME, mUtils);
+
+        // WHEN the profile provisioning complete intent was received by the DPC
+        receiver.onReceive(mContext, TEST_INTENT);
+
+        // THEN an intent should be sent to the primary user
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).sendBroadcast(intentCaptor.capture());
+
+        // THEN the broadcast action is ACTION_MANAGED_PROFILE_PROVISIONED
+        assertEquals(ACTION_MANAGED_PROFILE_PROVISIONED, intentCaptor.getValue().getAction());
+
+        // THEN the receiver package is the DPC
+        assertEquals(TEST_MDM_PACKAGE_NAME, intentCaptor.getValue().getPackage());
+
+        // THEN the extra user handle should be of managed profile
+        assertEquals(MANAGED_PROFILE_USER_HANDLE,
+                intentCaptor.getValue().getExtra(Intent.EXTRA_USER));
+    }
+
+    @SmallTest
+    public void testAccountMigration() throws Exception {
+        // GIVEN that account migration occurred during provisioning
+        final DpcReceivedSuccessReceiver receiver = new DpcReceivedSuccessReceiver(TEST_ACCOUNT,
+                false /* keepAccountMigrated */, MANAGED_PROFILE_USER_HANDLE, TEST_MDM_PACKAGE_NAME,
+                mUtils);
+
+        // WHEN receiver.onReceive is called
+        invokeOnReceiveAndVerifyIntent(receiver);
+
+        // THEN the account should have been removed from the primary user
+        verify(mUtils).removeAccount(mContext, TEST_ACCOUNT);
+    }
+
+    @SmallTest
+    public void testAccountCopy() throws Exception {
+        // GIVEN that account copy occurred during provisioning
+        final DpcReceivedSuccessReceiver receiver = new DpcReceivedSuccessReceiver(TEST_ACCOUNT,
+                true /* keepAccountMigrated */, MANAGED_PROFILE_USER_HANDLE, TEST_MDM_PACKAGE_NAME,
+                mUtils);
+
+        // WHEN receiver.onReceive is called
+        invokeOnReceiveAndVerifyIntent(receiver);
+
+        // THEN the account is not removed from the primary user
+        verify(mUtils, never()).removeAccount(mContext, TEST_ACCOUNT);
+    }
+
+    private void invokeOnReceiveAndVerifyIntent(final DpcReceivedSuccessReceiver receiver)
+            throws InterruptedException {
+        // prepare a semaphore to handle AsyncTask usage
+        final Semaphore semaphore = new Semaphore(0);
+        doAnswer((InvocationOnMock invocation) -> {
+            semaphore.release(1);
+            return null;
+        }).when(mContext).sendBroadcast(any(Intent.class));
+
+        // WHEN the profile provisioning complete intent was received by the DPC
+        receiver.onReceive(mContext, TEST_INTENT);
+
+        assertTrue(semaphore.tryAcquire(SEND_BROADCAST_TIMEOUT_SECONDS, TimeUnit.SECONDS));
+
+        // THEN an intent should be sent to the primary user
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).sendBroadcast(intentCaptor.capture());
+
+        // THEN the broadcast action is ACTION_MANAGED_PROFILE_PROVISIONED
+        assertEquals(ACTION_MANAGED_PROFILE_PROVISIONED, intentCaptor.getValue().getAction());
+
+        // THEN the receiver package is the DPC
+        assertEquals(TEST_MDM_PACKAGE_NAME, intentCaptor.getValue().getPackage());
+
+        // THEN the extra user handle should be of managed profile
+        assertEquals(MANAGED_PROFILE_USER_HANDLE,
+                intentCaptor.getValue().getExtra(Intent.EXTRA_USER));
+
+        // THEN the account was added to the broadcast
+        assertEquals(TEST_ACCOUNT, intentCaptor.getValue().getParcelableExtra(
+                EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/finalization/FinalizationControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/finalization/FinalizationControllerTest.java
new file mode 100644
index 0000000..bb98848
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/finalization/FinalizationControllerTest.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISIONING_SUCCESSFUL;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+import static com.android.managedprovisioning.TestUtils.createTestAdminExtras;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.PersistableBundle;
+import android.os.UserHandle;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.TestUtils;
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link FinalizationController}.
+ */
+public class FinalizationControllerTest extends AndroidTestCase {
+    private static final UserHandle MANAGED_PROFILE_USER_HANDLE = UserHandle.of(123);
+    private static final String TEST_MDM_PACKAGE_NAME = "mdm.package.name";
+    private static final String TEST_MDM_ADMIN_RECEIVER = TEST_MDM_PACKAGE_NAME + ".AdminReceiver";
+    private static final ComponentName TEST_MDM_ADMIN = new ComponentName(TEST_MDM_PACKAGE_NAME,
+            TEST_MDM_ADMIN_RECEIVER);
+    private static final PersistableBundle TEST_MDM_EXTRA_BUNDLE = createTestAdminExtras();
+
+    @Mock private Context mContext;
+    @Mock private Utils mUtils;
+    @Mock private SettingsFacade mSettingsFacade;
+    @Mock private UserProvisioningStateHelper mHelper;
+
+    private FinalizationController mController;
+
+    @Override
+    public void setUp() throws Exception {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+        when(mUtils.findDeviceAdmin(null, TEST_MDM_ADMIN, mContext))
+                .thenReturn(TEST_MDM_ADMIN);
+        when(mUtils.canResolveIntentAsUser(any(Context.class), any(Intent.class), anyInt()))
+                .thenReturn(true);
+        when(mContext.getFilesDir()).thenReturn(getContext().getFilesDir());
+
+        mController = new FinalizationController(mContext, mUtils, mSettingsFacade, mHelper);
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        mController.loadProvisioningParamsAndClearFile();
+    }
+
+    @SmallTest
+    public void testInitiallyDone_alreadyCalled() {
+        // GIVEN that provisioningInitiallyDone has already been called
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(false);
+        final ProvisioningParams params = createProvisioningParams(
+                ACTION_PROVISION_MANAGED_PROFILE);
+
+        // WHEN calling provisioningInitiallyDone
+        mController.provisioningInitiallyDone(params);
+
+        // THEN nothing should happen
+        verify(mHelper, never()).markUserProvisioningStateInitiallyDone(params);
+        verify(mHelper, never()).markUserProvisioningStateFinalized(params);
+    }
+
+    @SmallTest
+    public void testFinalized_alreadyCalled() {
+        // GIVEN that provisioningInitiallyDone has already been called
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(true);
+        final ProvisioningParams params = createProvisioningParams(
+                ACTION_PROVISION_MANAGED_PROFILE);
+
+        // WHEN calling provisioningFinalized
+        mController.provisioningFinalized();
+
+        // THEN nothing should happen
+        verify(mHelper, never()).markUserProvisioningStateInitiallyDone(params);
+        verify(mHelper, never()).markUserProvisioningStateFinalized(params);
+    }
+
+    @SmallTest
+    public void testFinalized_noParamsStored() {
+        // GIVEN that the user provisioning state is correct
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(false);
+
+        // WHEN calling provisioningFinalized
+        mController.provisioningFinalized();
+
+        // THEN nothing should happen
+        verify(mHelper, never())
+                .markUserProvisioningStateInitiallyDone(any(ProvisioningParams.class));
+        verify(mHelper, never()).markUserProvisioningStateFinalized(any(ProvisioningParams.class));
+    }
+
+    @SmallTest
+    public void testManagedProfileAfterSuw() {
+        // GIVEN that provisioningInitiallyDone has never been called
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(true);
+        // GIVEN that we've provisioned a managed profile after SUW
+        final ProvisioningParams params = createProvisioningParams(
+                ACTION_PROVISION_MANAGED_PROFILE);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(true);
+        when(mUtils.getManagedProfile(mContext))
+                .thenReturn(MANAGED_PROFILE_USER_HANDLE);
+
+        // WHEN calling provisioningInitiallyDone
+        mController.provisioningInitiallyDone(params);
+
+        // THEN the user provisioning state should be marked as initially done
+        verify(mHelper).markUserProvisioningStateInitiallyDone(params);
+
+        // THEN provisioning successful intent should be sent to the dpc.
+        verifyDpcLaunchedForUser(MANAGED_PROFILE_USER_HANDLE);
+
+        // THEN an ordered broadcast should be sent to the DPC
+        verifyOrderedBroadcast();
+    }
+
+    @SmallTest
+    public void testManagedProfileDuringSuw() {
+        // GIVEN that provisioningInitiallyDone has never been called
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(true);
+        // GIVEN that we've provisioned a managed profile after SUW
+        final ProvisioningParams params = createProvisioningParams(
+                ACTION_PROVISION_MANAGED_PROFILE);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+        when(mUtils.getManagedProfile(mContext))
+                .thenReturn(MANAGED_PROFILE_USER_HANDLE);
+
+        // WHEN calling provisioningInitiallyDone
+        mController.provisioningInitiallyDone(params);
+
+        // THEN the user provisioning state should be marked as initially done
+        verify(mHelper).markUserProvisioningStateInitiallyDone(params);
+        // THEN the provisioning params have been stored and will be read in provisioningFinalized
+
+        // GIVEN that the provisioning state is now incomplete
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(false);
+
+        // WHEN calling provisioningFinalized
+        mController.provisioningFinalized();
+
+        // THEN the user provisioning state is finalized
+        verify(mHelper).markUserProvisioningStateFinalized(params);
+
+        // THEN provisioning successful intent should be sent to the dpc.
+        verifyDpcLaunchedForUser(MANAGED_PROFILE_USER_HANDLE);
+
+        // THEN an ordered broadcast should be sent to the DPC
+        verifyOrderedBroadcast();
+    }
+
+    @SmallTest
+    public void testDeviceOwner() {
+        // GIVEN that provisioningInitiallyDone has never been called
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(true);
+        // GIVEN that we've provisioned a managed profile after SUW
+        final ProvisioningParams params = createProvisioningParams(
+                ACTION_PROVISION_MANAGED_DEVICE);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+
+        // WHEN calling provisioningInitiallyDone
+        mController.provisioningInitiallyDone(params);
+
+        // THEN the user provisioning state should be marked as initially done
+        verify(mHelper).markUserProvisioningStateInitiallyDone(params);
+        // THEN the provisioning params have been stored and will be read in provisioningFinalized
+
+        // GIVEN that the provisioning state is now incomplete
+        when(mHelper.isStateUnmanagedOrFinalized()).thenReturn(false);
+
+        // WHEN calling provisioningFinalized
+        mController.provisioningFinalized();
+
+        // THEN the user provisioning state is finalized
+        verify(mHelper).markUserProvisioningStateFinalized(params);
+
+        // THEN provisioning successful intent should be sent to the dpc.
+        verifyDpcLaunchedForUser(UserHandle.of(UserHandle.myUserId()));
+
+        // THEN a broadcast was sent to the primary user
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).sendBroadcast(intentCaptor.capture());
+
+        // THEN the intent should be ACTION_PROFILE_PROVISIONING_COMPLETE
+        assertEquals(ACTION_PROFILE_PROVISIONING_COMPLETE, intentCaptor.getValue().getAction());
+        // THEN the intent should be sent to the admin receiver
+        assertEquals(TEST_MDM_ADMIN, intentCaptor.getValue().getComponent());
+        // THEN the admin extras bundle should contain mdm extras
+        assertExtras(intentCaptor.getValue());
+    }
+
+    private void verifyOrderedBroadcast() {
+        // THEN an ordered broadcast should be sent to the DPC
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).sendOrderedBroadcastAsUser(
+                intentCaptor.capture(),
+                eq(MANAGED_PROFILE_USER_HANDLE),
+                eq(null),
+                any(BroadcastReceiver.class),
+                eq(null),
+                eq(Activity.RESULT_OK),
+                eq(null),
+                eq(null));
+        // THEN the intent should be ACTION_PROFILE_PROVISIONING_COMPLETE
+        assertEquals(ACTION_PROFILE_PROVISIONING_COMPLETE, intentCaptor.getValue().getAction());
+        // THEN the intent should be sent to the admin receiver
+        assertEquals(TEST_MDM_ADMIN, intentCaptor.getValue().getComponent());
+        // THEN the admin extras bundle should contain mdm extras
+        assertExtras(intentCaptor.getValue());
+    }
+
+    private void verifyDpcLaunchedForUser(UserHandle userHandle) {
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivityAsUser(intentCaptor.capture(), eq(userHandle));
+        // THEN the intent should be ACTION_PROVISIONING_SUCCESSFUL
+        assertEquals(ACTION_PROVISIONING_SUCCESSFUL, intentCaptor.getValue().getAction());
+        // THEN the intent should only be sent to the dpc
+        assertEquals(TEST_MDM_PACKAGE_NAME, intentCaptor.getValue().getPackage());
+        // THEN the admin extras bundle should contain mdm extras
+        assertExtras(intentCaptor.getValue());
+    }
+
+    private void assertExtras(Intent intent) {
+        TestUtils.bundleEquals(TEST_MDM_EXTRA_BUNDLE,
+                (PersistableBundle) intent.getExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE));
+    }
+
+    private ProvisioningParams createProvisioningParams(String action) {
+        return new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(TEST_MDM_ADMIN)
+                .setProvisioningAction(action)
+                .setAdminExtrasBundle(TEST_MDM_EXTRA_BUNDLE)
+                .build();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelperTest.java b/tests/instrumentation/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelperTest.java
new file mode 100644
index 0000000..e1c8c67
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/finalization/UserProvisioningStateHelperTest.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.finalization;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_PROFILE_COMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_COMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_FINALIZED;
+import static android.app.admin.DevicePolicyManager.STATE_USER_SETUP_INCOMPLETE;
+import static android.app.admin.DevicePolicyManager.STATE_USER_UNMANAGED;
+import static android.content.Context.DEVICE_POLICY_SERVICE;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.UserHandle;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link UserProvisioningStateHelper}.
+ */
+public class UserProvisioningStateHelperTest extends AndroidTestCase {
+    private static final int PRIMARY_USER_ID = 1;
+    private static final int MANAGED_PROFILE_USER_ID = 2;
+    private static final String TEST_MDM_PACKAGE_NAME = "mdm.package.name";
+
+    @Mock private Context mContext;
+    @Mock private DevicePolicyManager mDevicePolicyManager;
+    @Mock private Utils mUtils;
+    @Mock private SettingsFacade mSettingsFacade;
+
+    private UserProvisioningStateHelper mHelper;
+
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(DEVICE_POLICY_SERVICE)).thenReturn(mDevicePolicyManager);
+
+        mHelper = new UserProvisioningStateHelper(
+                mContext,
+                mUtils,
+                mSettingsFacade,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testInitiallyDone_ProfileAfterSuw() {
+        // GIVEN that we've provisioned a managed profile after SUW
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE,
+                false);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(true);
+        when(mUtils.getManagedProfile(mContext)).thenReturn(UserHandle.of(MANAGED_PROFILE_USER_ID));
+
+        // WHEN calling markUserProvisioningStateInitiallyDone
+        mHelper.markUserProvisioningStateInitiallyDone(params);
+
+        // THEN the managed profile's state should be set to FINALIZED
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_FINALIZED,
+                MANAGED_PROFILE_USER_ID);
+    }
+
+    @SmallTest
+    public void testInitiallyDone_ProfileDuringSuw() {
+        // GIVEN that we've provisioned a managed profile during SUW
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE,
+                false);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+        when(mUtils.getManagedProfile(mContext)).thenReturn(UserHandle.of(MANAGED_PROFILE_USER_ID));
+
+        // WHEN calling markUserProvisioningStateInitiallyDone
+        mHelper.markUserProvisioningStateInitiallyDone(params);
+
+        // THEN the managed profile's state should be set to COMPLETE
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_COMPLETE,
+                MANAGED_PROFILE_USER_ID);
+        // THEN the primary user's state should be set to PROFILE_COMPLETE
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_PROFILE_COMPLETE,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testInitiallyDone_DeviceOwnerSkipUserSetup() {
+        // GIVEN that we've provisioned a device owner with skip user setup true
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE,
+                true);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+
+        // WHEN calling markUserProvisioningStateInitiallyDone
+        mHelper.markUserProvisioningStateInitiallyDone(params);
+
+        // THEN the primary user's state should be set to COMPLETE
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_COMPLETE,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testInitiallyDone_DeviceOwnerDontSkipUserSetup() {
+        // GIVEN that we've provisioned a device owner with skip user setup false
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE,
+                false);
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+
+        // WHEN calling markUserProvisioningStateInitiallyDone
+        mHelper.markUserProvisioningStateInitiallyDone(params);
+
+        // THEN the primary user's state should be set to INCOMPLETE
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_INCOMPLETE,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testFinalized_ManagedProfile() {
+        // GIVEN that we've provisioned a managed profile
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE,
+                false);
+        when(mUtils.getManagedProfile(mContext)).thenReturn(UserHandle.of(MANAGED_PROFILE_USER_ID));
+
+        // WHEN calling markUserProvisioningStateFinalized
+        mHelper.markUserProvisioningStateFinalized(params);
+
+        // THEN the managed profile's state should be set to FINALIZED
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_FINALIZED,
+                MANAGED_PROFILE_USER_ID);
+        // THEN the primary user's state should be set to UNMANAGED
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_UNMANAGED,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testFinalized_DeviceOwner() {
+        // GIVEN that we've provisioned a device owner with skip user setup false
+        final ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE,
+                false);
+
+        // WHEN calling markUserProvisioningStateFinalized
+        mHelper.markUserProvisioningStateFinalized(params);
+
+        // THEN the primary user's state should be set to FINALIZED
+        verify(mDevicePolicyManager).setUserProvisioningState(STATE_USER_SETUP_FINALIZED,
+                PRIMARY_USER_ID);
+    }
+
+    @SmallTest
+    public void testIsStateUnmanagedOrFinalized() {
+        assertTrue(isStateUnmanagedOrFinalizedWithCurrentState(STATE_USER_UNMANAGED));
+        assertTrue(isStateUnmanagedOrFinalizedWithCurrentState(STATE_USER_SETUP_FINALIZED));
+        assertFalse(isStateUnmanagedOrFinalizedWithCurrentState(STATE_USER_PROFILE_COMPLETE));
+        assertFalse(isStateUnmanagedOrFinalizedWithCurrentState(STATE_USER_SETUP_INCOMPLETE));
+        assertFalse(isStateUnmanagedOrFinalizedWithCurrentState(STATE_USER_PROFILE_COMPLETE));
+    }
+
+    private boolean isStateUnmanagedOrFinalizedWithCurrentState(int currentState) {
+        when(mDevicePolicyManager.getUserProvisioningState()).thenReturn(currentState);
+        return mHelper.isStateUnmanagedOrFinalized();
+    }
+
+    private ProvisioningParams createProvisioningParams(String action, boolean skipUserSetup) {
+        return new ProvisioningParams.Builder()
+                .setDeviceAdminPackageName(TEST_MDM_PACKAGE_NAME)
+                .setProvisioningAction(action)
+                .setSkipUserSetup(skipUserSetup)
+                .build();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/model/CustomizationParamsTest.java b/tests/instrumentation/src/com/android/managedprovisioning/model/CustomizationParamsTest.java
new file mode 100644
index 0000000..e64c9f5
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/model/CustomizationParamsTest.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.model;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_BUTTON;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_DO;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_MP;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_SWIPER;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.nullValue;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.graphics.Color;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+
+import org.junit.Test;
+
+@SmallTest
+public class CustomizationParamsTest {
+    private static final Context mContext = InstrumentationRegistry.getTargetContext();
+    private static final Utils mUtils = new Utils();
+
+    private static final ComponentName COMPONENT_NAME = new ComponentName("org.test", "ATestDPC");
+    private static final int SAMPLE_COLOR = Color.rgb(11, 22, 33);
+    private static final String SAMPLE_URL = "http://d.android.com";
+    private static final String SAMPLE_ORG_NAME = "Organization Inc.";
+
+    @Test
+    public void defaultColorManagedProfile() {
+        // given
+        ProvisioningParams params = createParams(ACTION_PROVISION_MANAGED_PROFILE, null, null,
+                null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.statusBarColor, equalTo(getColor(DEFAULT_COLOR_ID_MP)));
+        assertThat(instance.swiperColor, equalTo(getColor(DEFAULT_COLOR_ID_SWIPER)));
+        assertThat(instance.buttonColor, equalTo(getColor(DEFAULT_COLOR_ID_BUTTON)));
+    }
+
+    @Test
+    public void defaultColorDeviceOwner() {
+        // given
+        ProvisioningParams params = createParams(ACTION_PROVISION_MANAGED_DEVICE, null, null, null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.statusBarColor, equalTo(getColor(DEFAULT_COLOR_ID_DO)));
+        assertThat(instance.swiperColor, equalTo(getColor(DEFAULT_COLOR_ID_SWIPER)));
+        assertThat(instance.buttonColor, equalTo(getColor(DEFAULT_COLOR_ID_BUTTON)));
+    }
+
+    @Test
+    public void respectsMainColor() {
+        // given
+        ProvisioningParams params = createParams(null, SAMPLE_COLOR, null, null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.statusBarColor, equalTo(SAMPLE_COLOR));
+        assertThat(instance.swiperColor, equalTo(SAMPLE_COLOR));
+        assertThat(instance.buttonColor, equalTo(SAMPLE_COLOR));
+    }
+
+    @Test
+    public void orgNameDefaultsToNull() {
+        // given
+        ProvisioningParams params = createParams(null, null, null, null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.orgName, nullValue());
+    }
+
+    @Test
+    public void respectsOrgName() {
+        // given
+        ProvisioningParams params = createParams(null, null, null, SAMPLE_ORG_NAME);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.orgName, equalTo(SAMPLE_ORG_NAME));
+    }
+
+    @Test
+    public void respectsUrl() {
+        // given
+        ProvisioningParams params = createParams(null, null, SAMPLE_URL, null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.supportUrl, equalTo(SAMPLE_URL));
+    }
+
+    @Test
+    public void urlDefaultsToNull() {
+        // given
+        ProvisioningParams params = createParams(null, null, null, null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.supportUrl, nullValue());
+    }
+
+    @Test
+    public void ignoresInvalidUrl() {
+        // given
+        ProvisioningParams params = createParams(null, null, "not a valid web url", null);
+
+        // when
+        CustomizationParams instance = createInstance(params);
+
+        // then
+        assertThat(instance.supportUrl, nullValue());
+    }
+
+    private CustomizationParams createInstance(ProvisioningParams params) {
+        return CustomizationParams.createInstance(params, mContext, mUtils);
+    }
+
+    private ProvisioningParams createParams(String provisioningAction, Integer mainColor,
+            String supportUrl, String orgName) {
+        ProvisioningParams.Builder builder =
+                new ProvisioningParams.Builder().setDeviceAdminComponentName(COMPONENT_NAME);
+
+        builder.setProvisioningAction(provisioningAction == null ? ACTION_PROVISION_MANAGED_DEVICE
+                : provisioningAction);
+
+        if (mainColor != null) {
+            builder.setMainColor(mainColor);
+        }
+
+        if (supportUrl != null) {
+            builder.setSupportUrl(supportUrl);
+        }
+
+        if (orgName != null) {
+            builder.setOrganizationName(orgName);
+        }
+
+        return builder.build();
+    }
+
+    private int getColor(int gray_status_bar) {
+        return mContext.getColor(gray_status_bar);
+    }
+}
\ No newline at end of file
diff --git a/tests/src/com/android/managedprovisioning/model/PackageDownloadInfoTest.java b/tests/instrumentation/src/com/android/managedprovisioning/model/PackageDownloadInfoTest.java
similarity index 100%
rename from tests/src/com/android/managedprovisioning/model/PackageDownloadInfoTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/model/PackageDownloadInfoTest.java
diff --git a/tests/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java b/tests/instrumentation/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java
similarity index 83%
rename from tests/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java
index cb4bade..c69e923 100644
--- a/tests/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/model/ProvisioningParamsTest.java
@@ -29,7 +29,7 @@
 
 import com.android.managedprovisioning.model.WifiInfo;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
-
+import java.io.File;
 import java.lang.Exception;
 import java.util.Locale;
 
@@ -50,6 +50,7 @@
     private static final boolean TEST_LEAVE_ALL_SYSTEM_APP_ENABLED = true;
     private static final boolean TEST_SKIP_ENCRYPTION = true;
     private static final boolean TEST_SKIP_USER_SETUP = true;
+    private static final boolean TEST_SKIP_USER_CONSENT = true;
     private static final Account TEST_ACCOUNT_TO_MIGRATE =
             new Account("user@gmail.com", "com.google");
 
@@ -120,40 +121,8 @@
     @SmallTest
     public void testEquals() {
         // GIVEN 2 ProvisioningParams objects created by the same set of parameters
-        ProvisioningParams provisioningParams1 = ProvisioningParams.Builder.builder()
-                .setProvisioningAction(TEST_PROVISIONING_ACTION)
-                .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
-                .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
-                .setDeviceAdminDownloadInfo(TEST_DOWNLOAD_INFO)
-                .setLocalTime(TEST_LOCAL_TIME)
-                .setLocale(TEST_LOCALE)
-                .setTimeZone(TEST_TIME_ZONE)
-                .setMainColor(TEST_MAIN_COLOR)
-                .setStartedByTrustedSource(TEST_STARTED_BY_TRUSTED_SOURCE)
-                .setLeaveAllSystemAppsEnabled(TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
-                .setSkipEncryption(TEST_SKIP_ENCRYPTION)
-                .setSkipUserSetup(TEST_SKIP_USER_SETUP)
-                .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
-                .setWifiInfo(TEST_WIFI_INFO)
-                .setAdminExtrasBundle(createTestAdminExtras())
-                .build();
-        ProvisioningParams provisioningParams2 = ProvisioningParams.Builder.builder()
-                .setProvisioningAction(TEST_PROVISIONING_ACTION)
-                .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
-                .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
-                .setDeviceAdminDownloadInfo(TEST_DOWNLOAD_INFO)
-                .setLocalTime(TEST_LOCAL_TIME)
-                .setLocale(TEST_LOCALE)
-                .setTimeZone(TEST_TIME_ZONE)
-                .setMainColor(TEST_MAIN_COLOR)
-                .setStartedByTrustedSource(TEST_STARTED_BY_TRUSTED_SOURCE)
-                .setLeaveAllSystemAppsEnabled(TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
-                .setSkipEncryption(TEST_SKIP_ENCRYPTION)
-                .setSkipUserSetup(TEST_SKIP_USER_SETUP)
-                .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
-                .setWifiInfo(TEST_WIFI_INFO)
-                .setAdminExtrasBundle(createTestAdminExtras())
-                .build();
+        ProvisioningParams provisioningParams1 = getCompleteProvisioningParams();
+        ProvisioningParams provisioningParams2 = getCompleteProvisioningParams();
 
         // WHEN these two objects compare.
         // THEN they are the same.
@@ -204,9 +173,47 @@
     }
 
     @SmallTest
+    public void testSaveAndRestoreComplete() throws Exception {
+        testSaveAndRestore(getCompleteProvisioningParams());
+    }
+
+    // Testing with a minimum set of parameters to cover all null use cases.
+    @SmallTest
+    public void testSaveAndRestoreMinimalist() throws Exception {
+        testSaveAndRestore(ProvisioningParams.Builder.builder()
+                .setProvisioningAction(TEST_PROVISIONING_ACTION)
+                .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
+                .build());
+    }
+
+    private void testSaveAndRestore(ProvisioningParams original) {
+        // GIVEN a ProvisioningParams object
+        // WHEN the ProvisioningParams is written to xml and then read back
+        File file = new File(mContext.getFilesDir(), "test_store.xml");
+        original.save(file);
+        ProvisioningParams copy = ProvisioningParams.load(file);
+        // THEN the same ProvisioningParams is obtained
+        assertEquals(original, copy);
+    }
+
+    @SmallTest
     public void testParceable() {
         // GIVEN a ProvisioningParams object.
-        ProvisioningParams expectedProvisioningParams = ProvisioningParams.Builder.builder()
+        ProvisioningParams expectedProvisioningParams = getCompleteProvisioningParams();
+
+        // WHEN the ProvisioningParams is written to parcel and then read back.
+        Parcel parcel = Parcel.obtain();
+        expectedProvisioningParams.writeToParcel(parcel, 0);
+        parcel.setDataPosition(0);
+        ProvisioningParams actualProvisioningParams =
+                ProvisioningParams.CREATOR.createFromParcel(parcel);
+
+        // THEN the same ProvisioningParams is obtained.
+        assertEquals(expectedProvisioningParams, actualProvisioningParams);
+    }
+
+    private ProvisioningParams getCompleteProvisioningParams() {
+        return ProvisioningParams.Builder.builder()
                 .setProvisioningAction(TEST_PROVISIONING_ACTION)
                 .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
                 .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
@@ -219,19 +226,10 @@
                 .setLeaveAllSystemAppsEnabled(TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
                 .setSkipEncryption(TEST_SKIP_ENCRYPTION)
                 .setSkipUserSetup(TEST_SKIP_USER_SETUP)
+                .setSkipUserConsent(TEST_SKIP_USER_CONSENT)
                 .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
                 .setWifiInfo(TEST_WIFI_INFO)
                 .setAdminExtrasBundle(createTestAdminExtras())
                 .build();
-
-        // WHEN the ProvisioningParams is written to parcel and then read back.
-        Parcel parcel = Parcel.obtain();
-        expectedProvisioningParams.writeToParcel(parcel, 0);
-        parcel.setDataPosition(0);
-        ProvisioningParams actualProvisioningParams =
-                ProvisioningParams.CREATOR.createFromParcel(parcel);
-
-        // THEN the same ProvisioningParams is obtained.
-        assertEquals(expectedProvisioningParams, actualProvisioningParams);
     }
 }
diff --git a/tests/src/com/android/managedprovisioning/model/WifiInfoTest.java b/tests/instrumentation/src/com/android/managedprovisioning/model/WifiInfoTest.java
similarity index 100%
rename from tests/src/com/android/managedprovisioning/model/WifiInfoTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/model/WifiInfoTest.java
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/ota/OtaControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/ota/OtaControllerTest.java
new file mode 100644
index 0000000..663798e
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/ota/OtaControllerTest.java
@@ -0,0 +1,212 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.ota;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.util.Pair;
+
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+import com.android.managedprovisioning.task.CrossProfileIntentFiltersSetter;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
+import com.android.managedprovisioning.task.DisallowAddUserTask;
+import com.android.managedprovisioning.task.InstallExistingPackageTask;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link OtaController}.
+ */
+@SmallTest
+public class OtaControllerTest {
+    private static final int DEVICE_OWNER_USER_ID = 12;
+    private static final int MANAGED_PROFILE_USER_ID = 15;
+
+    private static final ComponentName ADMIN_COMPONENT = new ComponentName("com.test.admin",
+            ".AdminReceiver");
+
+    @Mock private Context mContext;
+    @Mock private DevicePolicyManager mDevicePolicyManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private UserManager mUserManager;
+    @Mock private CrossProfileIntentFiltersSetter mCrossProfileIntentFiltersSetter;
+
+    private TaskExecutor mTaskExecutor;
+    private OtaController mController;
+
+    private List<Pair<Integer, AbstractProvisioningTask>> mTasks
+            = new ArrayList<>();
+    private List<UserInfo> mUsers = new ArrayList<>();
+    private List<UserInfo> mProfiles = new ArrayList<>();
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
+                .thenReturn(mDevicePolicyManager);
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getResources())
+                .thenReturn(InstrumentationRegistry.getTargetContext().getResources());
+
+        when(mUserManager.getUsers()).thenReturn(mUsers);
+        when(mUserManager.getProfiles(UserHandle.USER_SYSTEM)).thenReturn(mProfiles);
+
+        mTaskExecutor = new FakeTaskExecutor();
+        mController = new OtaController(mContext, mTaskExecutor, mCrossProfileIntentFiltersSetter);
+
+        addSystemUser();
+    }
+
+    @Test
+    public void testDeviceOwnerSystemUser() {
+        // GIVEN that there is a device owner on the system user
+        setDeviceOwner(UserHandle.USER_SYSTEM, ADMIN_COMPONENT);
+
+        // WHEN running the OtaController
+        mController.run();
+
+        // THEN the task list should contain DeleteNonRequiredAppsTask and DisallowAddUserTask
+        assertTaskList(
+                Pair.create(UserHandle.USER_SYSTEM, DeleteNonRequiredAppsTask.class),
+                Pair.create(UserHandle.USER_SYSTEM, DisallowAddUserTask.class));
+
+        // THEN cross profile intent filters setter should be invoked for system user
+        verify(mCrossProfileIntentFiltersSetter).resetFilters(UserHandle.USER_SYSTEM);
+    }
+
+    @Test
+    public void testDeviceOwnerSeparate() {
+        // GIVEN that there is a device owner on a non-system meat user
+        addMeatUser(DEVICE_OWNER_USER_ID);
+        setDeviceOwner(DEVICE_OWNER_USER_ID, ADMIN_COMPONENT);
+
+        // WHEN running the OtaController
+        mController.run();
+
+        // THEN the task list should contain DeleteNonRequiredAppsTask and DisallowAddUserTask
+        assertTaskList(
+                Pair.create(DEVICE_OWNER_USER_ID, DeleteNonRequiredAppsTask.class),
+                Pair.create(DEVICE_OWNER_USER_ID, DisallowAddUserTask.class));
+
+        // THEN cross profile intent filters setter should be invoked for both users
+        verify(mCrossProfileIntentFiltersSetter).resetFilters(UserHandle.USER_SYSTEM);
+        verify(mCrossProfileIntentFiltersSetter).resetFilters(DEVICE_OWNER_USER_ID);
+    }
+
+    @Test
+    public void testManagedProfile() {
+        // GIVEN that there is a managed profile
+        addManagedProfile(MANAGED_PROFILE_USER_ID, ADMIN_COMPONENT);
+
+        // WHEN running the OtaController
+        mController.run();
+
+        // THEN the task list should contain InstallExistingPackageTask,
+        // DisableInstallShortcutListenersTask and DeleteNonRequiredAppsTask
+        assertTaskList(
+                Pair.create(MANAGED_PROFILE_USER_ID, InstallExistingPackageTask.class),
+                Pair.create(MANAGED_PROFILE_USER_ID, DisableInstallShortcutListenersTask.class),
+                Pair.create(MANAGED_PROFILE_USER_ID, DeleteNonRequiredAppsTask.class));
+
+        // THEN the cross profile intent filters should be reset
+        verify(mCrossProfileIntentFiltersSetter).resetFilters(UserHandle.USER_SYSTEM);
+        verify(mCrossProfileIntentFiltersSetter, never()).resetFilters(MANAGED_PROFILE_USER_ID);
+
+        // THEN the DISALLOW_WALLPAPER restriction should be set
+        verify(mUserManager).setUserRestriction(UserManager.DISALLOW_WALLPAPER, true,
+                UserHandle.of(MANAGED_PROFILE_USER_ID));
+    }
+
+    private class FakeTaskExecutor extends TaskExecutor {
+
+        public FakeTaskExecutor() {
+            super();
+        }
+
+        @Override
+        public synchronized void execute(int userId, AbstractProvisioningTask task) {
+            mTasks.add(Pair.create(userId, task));
+        }
+    }
+
+    private void addMeatUser(int userId) {
+        UserInfo ui = new UserInfo(userId, null, 0);
+        mUsers.add(ui);
+        when(mUserManager.getProfiles(userId)).thenReturn(Collections.singletonList(ui));
+    }
+
+    private void setDeviceOwner(int userId, ComponentName admin) {
+        when(mDevicePolicyManager.getDeviceOwnerUserId()).thenReturn(userId);
+        when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(admin);
+    }
+
+    private void addManagedProfile(int userId, ComponentName admin) {
+        UserInfo ui = new UserInfo(userId, null, UserInfo.FLAG_MANAGED_PROFILE);
+        mUsers.add(ui);
+        when(mDevicePolicyManager.getProfileOwnerAsUser(userId)).thenReturn(admin);
+        when(mUserManager.getProfiles(userId)).thenReturn(Collections.singletonList(ui));
+        mProfiles.add(ui);
+    }
+
+    private void addSystemUser() {
+        UserInfo ui = new UserInfo(UserHandle.USER_SYSTEM, null, UserInfo.FLAG_PRIMARY);
+        mUsers.add(ui);
+        mProfiles.add(ui);
+    }
+
+    private void assertTaskList(Pair<Integer, Class>... tasks) {
+        assertEquals(tasks.length, mTasks.size());
+
+        for (Pair<Integer, Class> task : tasks) {
+            assertTaskListContains(task.first, task.second);
+        }
+    }
+
+    private void assertTaskListContains(Integer userId, Class taskClass) {
+        for (Pair<Integer, AbstractProvisioningTask> task : mTasks) {
+            if (userId == task.first && taskClass.isInstance(task.second)) {
+                return;
+            }
+        }
+        fail("Task for class " + taskClass + " and userId " + userId + " not executed");
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/ota/TaskExecutorTest.java b/tests/instrumentation/src/com/android/managedprovisioning/ota/TaskExecutorTest.java
new file mode 100644
index 0000000..a970507
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/ota/TaskExecutorTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.ota;
+
+import android.content.Context;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import static org.mockito.Mockito.verify;
+
+/**
+ * Unit tests for {@link TaskExecutor}.
+ */
+@SmallTest
+public class TaskExecutorTest {
+    private final int TEST_USER_ID = 123;
+
+    @Mock private Context mContext;
+    @Mock private AbstractProvisioningTask mTask1;
+    @Mock private AbstractProvisioningTask mTask2;
+
+    private TaskExecutor mExecutor;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mExecutor = new TaskExecutor();
+    }
+
+    @Test
+    public void testExecute_firstTask() {
+        // WHEN executing the first task
+        mExecutor.execute(TEST_USER_ID, mTask1);
+
+        // THEN run method of the task should be called
+        verify(mTask1).run(TEST_USER_ID);
+    }
+
+    @Test
+    public void testExecute_twoTask() {
+        // WHEN executing the first task
+        mExecutor.execute(TEST_USER_ID, mTask1);
+
+        // THEN run method of the task should be called
+        verify(mTask1).run(TEST_USER_ID);
+
+        // WHEN executing a second task
+        mExecutor.execute(TEST_USER_ID, mTask2);
+
+        // THEN run method of the task should be called
+        verify(mTask2).run(TEST_USER_ID);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/parser/DeviceAdminIconParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/parser/DeviceAdminIconParserTest.java
new file mode 100644
index 0000000..9366ad0
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/parser/DeviceAdminIconParserTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.parser;
+
+import static com.android.managedprovisioning.common.StoreUtils.DIR_PROVISIONING_PARAMS_FILE_CACHE;
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNull;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.testcommon.TestUtils;
+import com.android.managedprovisioning.tests.R;
+import java.io.File;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Test for {@link DeviceAdminIconParser}
+ */
+@SmallTest
+public class DeviceAdminIconParserTest {
+    private static final String TEST_FILE_DIRNAME = "DeviceAdminIconParserTest";
+    private static final long TEST_PROVISIONING_ID = 999L;
+    private static File TEST_FILE_DIR;
+    private static File OUTPUT_FILE;
+    private static Uri INPUT_URI;
+    private static String INPUT_CONTENT;
+
+    @Mock
+    Context mContext;
+
+    DeviceAdminIconParser mDeviceAdminIconParser;
+
+    @BeforeClass
+    public static void setUpClass() throws Exception {
+        // Stop the activity from rotating in order to keep hold of the context
+        Context testContext = InstrumentationRegistry.getContext();
+        Context targetContext = InstrumentationRegistry.getTargetContext();
+        ContentResolver cr = targetContext.getContentResolver();
+        TEST_FILE_DIR = new File(targetContext.getFilesDir(), TEST_FILE_DIRNAME);
+        OUTPUT_FILE = new File(new File(TEST_FILE_DIR, DIR_PROVISIONING_PARAMS_FILE_CACHE),
+                "device_admin_icon_" + TEST_PROVISIONING_ID);
+
+        INPUT_URI = TestUtils.resourceToUri(testContext, R.raw.android);
+        INPUT_CONTENT = TestUtils.stringFromUri(cr, INPUT_URI);
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        Context targetContext = InstrumentationRegistry.getTargetContext();
+
+        TEST_FILE_DIR.mkdir();
+        when(mContext.getFilesDir()).thenReturn(TEST_FILE_DIR);
+        when(mContext.getContentResolver()).thenReturn(targetContext.getContentResolver());
+
+        mDeviceAdminIconParser = new DeviceAdminIconParser(mContext, TEST_PROVISIONING_ID);
+    }
+
+    @After
+    public void tearDown() {
+        deleteRecursive(TEST_FILE_DIR);
+    }
+
+    @Test
+    public void testNullUri() {
+        assertNull(mDeviceAdminIconParser.parse(null));
+    }
+
+    @Test
+    public void testUri() throws Exception {
+        assertEquals(OUTPUT_FILE.getAbsolutePath(), mDeviceAdminIconParser.parse(INPUT_URI));
+        assertEquals(INPUT_CONTENT, StoreUtils.readString(OUTPUT_FILE));
+    }
+
+    private static void deleteRecursive(File fileOrDirectory) {
+        if (fileOrDirectory.isDirectory())
+            for (File child : fileOrDirectory.listFiles())
+                deleteRecursive(child);
+
+        fileOrDirectory.delete();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/parser/DisclaimersParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/parser/DisclaimersParserTest.java
new file mode 100644
index 0000000..3e34789
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/parser/DisclaimersParserTest.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.parser;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_CONTENT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DISCLAIMER_HEADER;
+import static com.android.managedprovisioning.common.StoreUtils.DIR_PROVISIONING_PARAMS_FILE_CACHE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import com.android.managedprovisioning.common.StoreUtils;
+import com.android.managedprovisioning.model.DisclaimersParam;
+import com.android.managedprovisioning.testcommon.TestUtils;
+import com.android.managedprovisioning.tests.R;
+import java.io.File;
+import java.io.IOException;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link DisclaimersParser}.
+ */
+@SmallTest
+public class DisclaimersParserTest {
+    private static final String TEST_FILE_DIRNAME = "DisclaimersParserTest";
+    private static final String TEST_PACKAGE = "com.android.managedprovisioning.tests";
+    private static final long TEST_PROVISIONING_ID = 999L;
+
+    private static File TEST_FILE_DIR;
+
+    private static Uri DISCLAIMER_URI_1;
+    private static final String DISCLAIMER_HEADER_1 = "DISCLAIMER_HEADER_1";
+    private static String DISCLAIMER_CONTENT_1;
+    private static String DISCLAIMER_FILE_DEST_1;
+    private static Uri DISCLAIMER_URI_2;
+    private static final String DISCLAIMER_HEADER_2 = "DISCLAIMER_HEADER_2";
+    private static String DISCLAIMER_CONTENT_2;
+    private static String DISCLAIMER_FILE_DEST_2;
+    private static Uri DISCLAIMER_URI_3;
+    private static final String DISCLAIMER_HEADER_3 = "DISCLAIMER_HEADER_3";
+    private static String DISCLAIMER_CONTENT_3;
+    private static String DISCLAIMER_FILE_DEST_3;
+
+    @Mock
+    Context mContext;
+
+    DisclaimersParser mDisclaimersParser;
+
+    @BeforeClass
+    public static void setUpClass() throws Exception {
+        // Stop the activity from rotating in order to keep hold of the context
+        Context testContext = InstrumentationRegistry.getContext();
+        Context targetContext = InstrumentationRegistry.getTargetContext();
+        ContentResolver cr = targetContext.getContentResolver();
+        TEST_FILE_DIR = new File(targetContext.getFilesDir(), TEST_FILE_DIRNAME);
+
+        DISCLAIMER_URI_1 = TestUtils.resourceToUri(testContext, R.raw.test_disclaimer1);
+        DISCLAIMER_CONTENT_1 = TestUtils.stringFromUri(cr, DISCLAIMER_URI_1);
+        DISCLAIMER_FILE_DEST_1 = getDisclaimerPath(1);
+        DISCLAIMER_URI_2 = TestUtils.resourceToUri(testContext, R.raw.test_disclaimer2);
+        DISCLAIMER_CONTENT_2 = TestUtils.stringFromUri(cr, DISCLAIMER_URI_2);
+        DISCLAIMER_FILE_DEST_2 = getDisclaimerPath(2);
+        DISCLAIMER_URI_3 = TestUtils.resourceToUri(testContext, R.raw.test_disclaimer3);
+        DISCLAIMER_CONTENT_3 = TestUtils.stringFromUri(cr, DISCLAIMER_URI_3);
+        DISCLAIMER_FILE_DEST_3 = getDisclaimerPath(3);
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ContentResolver cr = InstrumentationRegistry.getTargetContext().getContentResolver();
+        when(mContext.getFilesDir()).thenReturn(TEST_FILE_DIR);
+        when(mContext.getContentResolver()).thenReturn(cr);
+
+        mDisclaimersParser = new DisclaimersParser(mContext, TEST_PROVISIONING_ID);
+    }
+
+    @After
+    public void tearDown() {
+        TestUtils.deleteRecursive(TEST_FILE_DIR);
+    }
+
+    @Test
+    public void testEmpty() {
+        assertNull(mDisclaimersParser.parse(null));
+        assertNull(mDisclaimersParser.parse(new Bundle[0]));
+    }
+
+    @Test
+    public void testHeaderOnly() {
+        Bundle bundle = new Bundle();
+        bundle.putString(EXTRA_PROVISIONING_DISCLAIMER_HEADER, DISCLAIMER_HEADER_1);
+        assertNull(mDisclaimersParser.parse(new Bundle[] { bundle }));
+    }
+
+    @Test
+    public void testOneParsing() throws Exception {
+        Bundle bundle = new Bundle();
+        bundle.putString(EXTRA_PROVISIONING_DISCLAIMER_HEADER, DISCLAIMER_HEADER_1);
+        bundle.putParcelable(EXTRA_PROVISIONING_DISCLAIMER_CONTENT, DISCLAIMER_URI_1);
+
+        DisclaimersParam disclaimers = mDisclaimersParser.parse(new Bundle[] { bundle });
+
+        assertNotNull(disclaimers);
+        assertEquals(disclaimers.mDisclaimers.length, 1);
+        assertEquals(disclaimers.mDisclaimers[0].mHeader, DISCLAIMER_HEADER_1);
+        assertEquals(disclaimers.mDisclaimers[0].mContentFilePath, DISCLAIMER_FILE_DEST_1);
+        assertEquals(getDisclaimerContentString(disclaimers.mDisclaimers[0]),
+                DISCLAIMER_CONTENT_1);
+    }
+
+    @Test
+    public void testThreeParsing() throws Exception {
+        Bundle bundle1 = new Bundle();
+        bundle1.putString(EXTRA_PROVISIONING_DISCLAIMER_HEADER, DISCLAIMER_HEADER_1);
+        bundle1.putParcelable(EXTRA_PROVISIONING_DISCLAIMER_CONTENT, DISCLAIMER_URI_1);
+        Bundle bundle2 = new Bundle();
+        bundle2.putString(EXTRA_PROVISIONING_DISCLAIMER_HEADER, DISCLAIMER_HEADER_2);
+        bundle2.putParcelable(EXTRA_PROVISIONING_DISCLAIMER_CONTENT, DISCLAIMER_URI_2);
+        Bundle bundle3 = new Bundle();
+        bundle3.putString(EXTRA_PROVISIONING_DISCLAIMER_HEADER, DISCLAIMER_HEADER_3);
+        bundle3.putParcelable(EXTRA_PROVISIONING_DISCLAIMER_CONTENT, DISCLAIMER_URI_3);
+
+        DisclaimersParam disclaimers = mDisclaimersParser.parse(
+                new Bundle[] { bundle1, bundle2, bundle3 });
+
+        // The order of disclaimers must follow the original orders
+        assertNotNull(disclaimers);
+        assertEquals(disclaimers.mDisclaimers.length, 3);
+        assertEquals(disclaimers.mDisclaimers[0].mHeader, DISCLAIMER_HEADER_1);
+        assertEquals(disclaimers.mDisclaimers[0].mContentFilePath, DISCLAIMER_FILE_DEST_1);
+        assertEquals(getDisclaimerContentString(disclaimers.mDisclaimers[0]),
+                DISCLAIMER_CONTENT_1);
+        assertEquals(disclaimers.mDisclaimers[1].mHeader, DISCLAIMER_HEADER_2);
+        assertEquals(disclaimers.mDisclaimers[1].mContentFilePath, DISCLAIMER_FILE_DEST_2);
+        assertEquals(getDisclaimerContentString(disclaimers.mDisclaimers[1]),
+                DISCLAIMER_CONTENT_2);
+        assertEquals(disclaimers.mDisclaimers[2].mHeader, DISCLAIMER_HEADER_3);
+        assertEquals(disclaimers.mDisclaimers[2].mContentFilePath, DISCLAIMER_FILE_DEST_3);
+        assertEquals(getDisclaimerContentString(disclaimers.mDisclaimers[2]),
+                DISCLAIMER_CONTENT_3);
+    }
+
+    private String getDisclaimerContentString(DisclaimersParam.Disclaimer disclaimer)
+            throws IOException {
+        return StoreUtils.readString(new File(disclaimer.mContentFilePath));
+    }
+
+    private static String getDisclaimerPath(int index) {
+        return new File(new File(TEST_FILE_DIR, DIR_PROVISIONING_PARAMS_FILE_CACHE),
+                "disclaimer_content_" + TEST_PROVISIONING_ID + "_" + ( index - 1 ) + ".txt")
+                .getAbsolutePath();
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java
similarity index 74%
rename from tests/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java
index eec3fc6..97b9034 100644
--- a/tests/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/parser/ExtrasProvisioningDataParserTest.java
@@ -17,9 +17,9 @@
 
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
@@ -27,13 +27,18 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCALE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ORGANIZATION_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_CONSENT;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SUPPORT_URL;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PAC_URL;
@@ -45,11 +50,9 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID;
 import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
 import static com.android.managedprovisioning.TestUtils.createTestAdminExtras;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_ACTION;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
 
 import android.accounts.Account;
 import android.app.admin.DevicePolicyManager;
@@ -57,23 +60,21 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.PersistableBundle;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.Base64;
-
 import com.android.managedprovisioning.common.Globals;
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.StoreUtils;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
 import com.android.managedprovisioning.model.ProvisioningParams;
 import com.android.managedprovisioning.model.WifiInfo;
-
+import java.util.Locale;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
-import java.util.Locale;
-
 /** Tests for {@link ExtrasProvisioningDataParser}. */
 @SmallTest
 public class ExtrasProvisioningDataParserTest extends AndroidTestCase {
@@ -81,6 +82,9 @@
     private static final ComponentName TEST_COMPONENT_NAME =
             ComponentName.unflattenFromString(
                     "com.afwsamples.testdpc/com.afwsamples.testdpc.DeviceAdminReceiver");
+    private static final ComponentName TEST_COMPONENT_NAME_2 =
+            ComponentName.unflattenFromString(
+                    "com.afwsamples.testdpc2/com.afwsamples.testdpc.DeviceAdminReceiver");
     private static final long TEST_LOCAL_TIME = 1456939524713L;
     private static final Locale TEST_LOCALE = Locale.UK;
     private static final String TEST_TIME_ZONE = "GMT";
@@ -88,9 +92,16 @@
     private static final boolean TEST_STARTED_BY_TRUSTED_SOURCE = true;
     private static final boolean TEST_LEAVE_ALL_SYSTEM_APP_ENABLED = true;
     private static final boolean TEST_SKIP_ENCRYPTION = true;
+    private static final boolean TEST_SKIP_USER_CONSENT = true;
+    private static final boolean TEST_KEEP_ACCOUNT_MIGRATED = true;
     private static final boolean TEST_SKIP_USER_SETUP = true;
+    private static final long TEST_PROVISIONING_ID = 1000L;
     private static final Account TEST_ACCOUNT_TO_MIGRATE =
             new Account("user@gmail.com", "com.google");
+    private static final String TEST_SHARED_PREFERENCE = "ExtrasProvisioningDataParserTest";
+    private static final String TEST_DEVICE_ADMIN_PACKAGE_LABEL = "TestPackage";
+    private static final String TEST_ORGANIZATION_NAME = "TestOrganizationName";
+    private static final String TEST_SUPPORT_URL = "https://www.support.url/";
 
     // Wifi info
     private static final String TEST_SSID = "TestWifi";
@@ -131,6 +142,12 @@
     @Mock
     private Context mContext;
 
+    @Mock
+    private DevicePolicyManager mDpm;
+
+    @Mock
+    private ManagedProvisioningSharedPreferences mSharedPreferences;
+
     private ExtrasProvisioningDataParser mExtrasProvisioningDataParser;
 
     private Utils mUtils;
@@ -141,8 +158,13 @@
         System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
 
         MockitoAnnotations.initMocks(this);
-
-        mExtrasProvisioningDataParser = new ExtrasProvisioningDataParser(mUtils = spy(new Utils()));
+        when(mContext.getSystemServiceName(DevicePolicyManager.class))
+                .thenReturn(Context.DEVICE_POLICY_SERVICE);
+        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn(mDpm);
+        when(mSharedPreferences.incrementAndGetProvisioningId()).thenReturn(TEST_PROVISIONING_ID);
+        mUtils = spy(new Utils());
+        mExtrasProvisioningDataParser = new ExtrasProvisioningDataParser(mContext, mUtils,
+                mSharedPreferences);
     }
 
     public void testParse_trustedSourceProvisioningIntent() throws Exception {
@@ -156,11 +178,19 @@
                 .putExtras(getTestDeviceAdminDownloadExtras())
                 .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, createTestAdminExtras())
                 .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
+                .putExtra(EXTRA_PROVISIONING_SKIP_USER_CONSENT, TEST_SKIP_USER_CONSENT)
+                .putExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, TEST_KEEP_ACCOUNT_MIGRATED)
+                .putExtra(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                        TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
                 .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
-                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
+                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE)
+                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL,
+                        TEST_DEVICE_ADMIN_PACKAGE_LABEL)
+                .putExtra(EXTRA_PROVISIONING_ORGANIZATION_NAME, TEST_ORGANIZATION_NAME)
+                .putExtra(EXTRA_PROVISIONING_SUPPORT_URL, TEST_SUPPORT_URL);
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
 
         // THEN ProvisionParams is constructed as expected.
         assertEquals(
@@ -170,6 +200,7 @@
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
                         .setDeviceAdminDownloadInfo(TEST_DOWNLOAD_INFO)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         .setLocalTime(TEST_LOCAL_TIME)
                         .setLocale(TEST_LOCALE)
                         .setTimeZone(TEST_TIME_ZONE)
@@ -178,65 +209,33 @@
                         // THEN the trusted source is set to true.
                         .setStartedByTrustedSource(true)
                         .setSkipEncryption(TEST_SKIP_ENCRYPTION)
+                        // THEN skipping user consent flag is ignored
+                        .setSkipUserConsent(false)
+                        // THEN keep account migrated flag is ignored
+                        .setKeepAccountMigrated(false)
+                        .setLeaveAllSystemAppsEnabled(true)
                         .setWifiInfo(TEST_WIFI_INFO)
                         .setAdminExtrasBundle(createTestAdminExtras())
                         .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
+                        .setDeviceAdminLabel(TEST_DEVICE_ADMIN_PACKAGE_LABEL)
+                        .setOrganizationName(TEST_ORGANIZATION_NAME)
+                        .setSupportUrl(TEST_SUPPORT_URL)
                         .build(),
                 params);
     }
 
     public void testParse_resumeProvisioningIntent() throws Exception {
-        // GIVEN a resume provisioning intent which stores a device provisioning intent and other
-        // extras.
+        // GIVEN a ProvisioningParams stored in an intent
+        ProvisioningParams expected = ProvisioningParams.Builder.builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+                .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                .build();
         Intent intent = new Intent(Globals.ACTION_RESUME_PROVISIONING)
-                .putExtra(EXTRA_PROVISIONING_ACTION, ACTION_PROVISION_MANAGED_DEVICE)
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, TEST_COMPONENT_NAME)
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, TEST_PACKAGE_NAME)
-                .putExtras(getTestTimeTimeZoneAndLocaleExtras())
-                .putExtras(getTestWifiInfoExtras())
-                .putExtras(getTestDeviceAdminDownloadExtras())
-                // GIVEN the package checksum support sha1 is set to true.
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM, true)
-                .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, createTestAdminExtras())
-                .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
-                .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
-                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE)
-                // GIVEN this original provisioning intent was started by a trusted source.
-                .putExtra(EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE, true);
-
-        // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
-
-        // THEN ProvisionParams is constructed as expected.
-        assertEquals(
-                ProvisioningParams.Builder.builder()
-                        // THEN provisioning action is restored to ACTION_PROVISION_MANAGED_DEVICE
-                        .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
-                        .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
-                        // THEN device admin package name is supported for resume intents
-                        .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
-                        .setDeviceAdminDownloadInfo(
-                                PackageDownloadInfo.Builder.builder()
-                                        .setLocation(TEST_DOWNLOAD_LOCATION)
-                                        .setCookieHeader(TEST_COOKIE_HEADER)
-                                        .setPackageChecksum(TEST_PACKAGE_CHECKSUM)
-                                        .setSignatureChecksum(TEST_SIGNATURE_CHECKSUM)
-                                        .setMinVersion(TEST_MIN_SUPPORT_VERSION)
-                                        // THEN the package checksum support sha1 is set to true.
-                                        .setPackageChecksumSupportsSha1(true)
-                                        .build())
-                        .setLocalTime(TEST_LOCAL_TIME)
-                        .setLocale(TEST_LOCALE)
-                        .setTimeZone(TEST_TIME_ZONE)
-                        .setMainColor(TEST_MAIN_COLOR)
-                        // THEN the trusted source is set to true.
-                        .setStartedByTrustedSource(true)
-                        .setSkipEncryption(TEST_SKIP_ENCRYPTION)
-                        .setWifiInfo(TEST_WIFI_INFO)
-                        .setAdminExtrasBundle(createTestAdminExtras())
-                        .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
-                        .build(),
-                params);
+                .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, expected);
+        // WHEN the intent is parsed by the parser
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
+        // THEN we get back the original ProvisioningParams.
+        assertEquals(expected, params);
     }
 
     public void testParse_managedProfileIntent() throws Exception {
@@ -251,6 +250,10 @@
                 .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, createTestAdminExtras())
                 .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
                 .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
+                .putExtra(EXTRA_PROVISIONING_SKIP_USER_CONSENT, TEST_SKIP_USER_CONSENT)
+                .putExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, TEST_KEEP_ACCOUNT_MIGRATED)
+                .putExtra(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                        TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
                 .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
 
         // GIVEN the device admin is installed.
@@ -259,7 +262,7 @@
                 .findDeviceAdmin(TEST_PACKAGE_NAME, TEST_COMPONENT_NAME, mContext);
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
 
         // THEN ProvisionParams is constructed as expected.
         assertEquals(
@@ -267,6 +270,7 @@
                         // THEN provisioning action is ACTION_PROVISION_MANAGED_PROFILE
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         // THEN device admin package name is not supported.
                         .setDeviceAdminPackageName(null)
                         // THEN device admin download info is not supported.
@@ -275,12 +279,98 @@
                         .setWifiInfo(null)
                         .setMainColor(TEST_MAIN_COLOR)
                         .setSkipEncryption(TEST_SKIP_ENCRYPTION)
+                        // THEN leave all system apps flag is ignored
+                        .setLeaveAllSystemAppsEnabled(false)
+                        // THEN skipping user consent flag is ignored
+                        .setSkipUserConsent(false)
+                        .setKeepAccountMigrated(TEST_KEEP_ACCOUNT_MIGRATED)
                         .setAdminExtrasBundle(createTestAdminExtras())
                         .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
                         .build(),
                 params);
     }
 
+    public void testParse_managedProfileIntent_CompProvisioning() throws Exception {
+        // GIVEN a managed profile provisioning intent and other extras.
+        Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE)
+                // GIVEN a device admin package name and component name
+                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, TEST_PACKAGE_NAME)
+                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, TEST_COMPONENT_NAME)
+                .putExtras(getTestTimeTimeZoneAndLocaleExtras())
+                .putExtras(getTestWifiInfoExtras())
+                .putExtras(getTestDeviceAdminDownloadExtras())
+                .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, createTestAdminExtras())
+                .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
+                .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
+                .putExtra(EXTRA_PROVISIONING_SKIP_USER_CONSENT, TEST_SKIP_USER_CONSENT)
+                .putExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, TEST_KEEP_ACCOUNT_MIGRATED)
+                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
+
+        // GIVEN the device admin is installed.
+        doReturn(TEST_COMPONENT_NAME)
+                .when(mUtils)
+                .findDeviceAdmin(TEST_PACKAGE_NAME, TEST_COMPONENT_NAME, mContext);
+
+        // GIVEN the device admin is also device owner in primary user.
+        when(mDpm.getDeviceOwnerComponentOnCallingUser()).thenReturn(TEST_COMPONENT_NAME);
+
+        // WHEN the intent is parsed by the parser.
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
+
+        // THEN ProvisionParams is constructed as expected.
+        assertEquals(
+                ProvisioningParams.Builder.builder()
+                        // THEN provisioning action is ACTION_PROVISION_MANAGED_PROFILE
+                        .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                        .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
+                        // THEN device admin package name is not supported.
+                        .setDeviceAdminPackageName(null)
+                        // THEN device admin download info is not supported.
+                        .setDeviceAdminDownloadInfo(null)
+                        // THEN wifi info is not supported.
+                        .setWifiInfo(null)
+                        .setMainColor(TEST_MAIN_COLOR)
+                        .setSkipEncryption(TEST_SKIP_ENCRYPTION)
+                        .setSkipUserConsent(TEST_SKIP_USER_CONSENT)
+                        .setKeepAccountMigrated(TEST_KEEP_ACCOUNT_MIGRATED)
+                        .setAdminExtrasBundle(createTestAdminExtras())
+                        .setAccountToMigrate(TEST_ACCOUNT_TO_MIGRATE)
+                        .build(),
+                params);
+    }
+
+    public void testParse_managedProfileIntent_DeviceOwnerWithByodProvisioning() throws Exception {
+        // GIVEN a managed profile provisioning intent and other extras.
+        Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE)
+                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, TEST_COMPONENT_NAME)
+                .putExtra(EXTRA_PROVISIONING_SKIP_USER_CONSENT, TEST_SKIP_USER_CONSENT)
+                .putExtra(EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, TEST_KEEP_ACCOUNT_MIGRATED);
+
+        // GIVEN the device admin is installed.
+        doReturn(TEST_COMPONENT_NAME)
+                .when(mUtils)
+                .findDeviceAdmin(null, TEST_COMPONENT_NAME, mContext);
+
+        // GIVEN a different device admin is a device owner in primary user.
+        when(mDpm.getDeviceOwnerComponentOnCallingUser()).thenReturn(TEST_COMPONENT_NAME_2);
+
+        // WHEN the intent is parsed by the parser.
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
+
+        // THEN ProvisionParams is constructed as expected.
+        assertEquals(
+                ProvisioningParams.Builder.builder()
+                        .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                        .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
+                        // THEN skipping user consent flag is ignored
+                        .setSkipUserConsent(false)
+                        .setKeepAccountMigrated(TEST_KEEP_ACCOUNT_MIGRATED)
+                        .build(),
+                params);
+    }
+
     public void testParse_managedUserIntent() throws Exception {
         // GIVEN a managed user provisioning intent and other extras.
         Intent intent = new Intent(ACTION_PROVISION_MANAGED_USER)
@@ -296,7 +386,7 @@
                 .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
 
         // THEN ProvisionParams is constructed as expected.
         assertEquals(
@@ -304,6 +394,7 @@
                         // THEN provisioning action is ACTION_PROVISION_MANAGED_USER
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_USER)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         // THEN device admin package name is not supported in Managed User
                         // provisioning.
                         .setDeviceAdminPackageName(null)
@@ -330,11 +421,13 @@
                 .putExtras(getTestDeviceAdminDownloadExtras())
                 .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, createTestAdminExtras())
                 .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
+                .putExtra(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                        TEST_LEAVE_ALL_SYSTEM_APP_ENABLED)
                 .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
                 .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
 
         // THEN ProvisionParams is constructed as expected.
         assertEquals(
@@ -342,6 +435,7 @@
                         // THEN provisioning action is ACTION_PROVISION_MANAGED_DEVICE
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         // THEN device admin package name is not supported in Device Owner
                         // provisioning.
                         .setDeviceAdminPackageName(null)
@@ -350,6 +444,7 @@
                         // THEN time, time zone and locale are not supported.
                         .setMainColor(TEST_MAIN_COLOR)
                         .setSkipEncryption(TEST_SKIP_ENCRYPTION)
+                        .setLeaveAllSystemAppsEnabled(true)
                         // THEN wifi configuration is not supported.
                         .setWifiInfo(null)
                         .setAdminExtrasBundle(createTestAdminExtras())
@@ -373,7 +468,7 @@
                 .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
 
         // THEN ProvisionParams is constructed as expected.
         assertEquals(
@@ -381,6 +476,7 @@
                         // THEN provisioning action is ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         // THEN device admin package name is not supported in Device Owner
                         // provisioning.
                         .setDeviceAdminPackageName(null)
@@ -413,7 +509,7 @@
 
         try {
             // WHEN the intent is parsed by the parser.
-            ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent, mContext);
+            ProvisioningParams params = mExtrasProvisioningDataParser.parse(intent);
             fail("ExtrasProvisioningDataParser doesn't support NFC intent. "
                     + "IllegalProvisioningArgumentException should be thrown");
         } catch (IllegalProvisioningArgumentException e) {
@@ -439,7 +535,7 @@
         timeTimezoneAndLocaleExtras.putLong(EXTRA_PROVISIONING_LOCAL_TIME, TEST_LOCAL_TIME);
         timeTimezoneAndLocaleExtras.putString(EXTRA_PROVISIONING_TIME_ZONE, TEST_TIME_ZONE);
         timeTimezoneAndLocaleExtras.putString(
-                EXTRA_PROVISIONING_LOCALE, MessageParser.localeToString(TEST_LOCALE));
+                EXTRA_PROVISIONING_LOCALE, StoreUtils.localeToString(TEST_LOCALE));
         return timeTimezoneAndLocaleExtras;
     }
 
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/parser/MessageParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/parser/MessageParserTest.java
new file mode 100644
index 0000000..0318acf
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/parser/MessageParserTest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.parser;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
+import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.accounts.Account;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.nfc.NdefMessage;
+import android.nfc.NdefRecord;
+import android.nfc.NfcAdapter;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.ByteArrayOutputStream;
+import java.util.Locale;
+import java.util.Properties;
+
+/** Tests {@link MessageParser} */
+@SmallTest
+public class MessageParserTest extends AndroidTestCase {
+    private static final String TEST_PACKAGE_NAME = "com.afwsamples.testdpc";
+    private static final ComponentName TEST_COMPONENT_NAME =
+            ComponentName.unflattenFromString(
+                    "com.afwsamples.testdpc/com.afwsamples.testdpc.DeviceAdminReceiver");
+    private static final long TEST_LOCAL_TIME = 1456939524713L;
+    private static final Locale TEST_LOCALE = Locale.UK;
+    private static final String TEST_TIME_ZONE = "GMT";
+    private static final Integer TEST_MAIN_COLOR = 65280;
+    private static final boolean TEST_SKIP_ENCRYPTION = true;
+    private static final Account TEST_ACCOUNT_TO_MIGRATE =
+            new Account("user@gmail.com", "com.google");
+
+    @Mock
+    private Context mContext;
+
+    private Utils mUtils;
+
+    private MessageParser mMessageParser;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        mMessageParser = new MessageParser(mContext, mUtils = spy(new Utils()));
+    }
+
+    public void test_correctParserUsedToParseNfcIntent() throws Exception {
+        // GIVEN a NFC provisioning intent with some supported data.
+        Properties props = new Properties();
+        ByteArrayOutputStream stream = new ByteArrayOutputStream();
+        props.setProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, TEST_PACKAGE_NAME);
+        props.setProperty(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+                TEST_COMPONENT_NAME.flattenToString());
+        props.store(stream, "NFC provisioning intent" /* data description */);
+        NdefRecord record = NdefRecord.createMime(
+                DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC,
+                stream.toByteArray());
+        NdefMessage ndfMsg = new NdefMessage(new NdefRecord[]{record});
+
+        Intent intent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED)
+                .setType(MIME_TYPE_PROVISIONING_NFC)
+                .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
+
+        // WHEN the mMessageParser.getParser is invoked.
+        ProvisioningDataParser parser = mMessageParser.getParser(intent);
+
+        // THEN the properties parser is returned.
+        assertTrue(parser instanceof PropertiesProvisioningDataParser);
+    }
+
+    public void test_correctParserUsedToParseOtherSupportedProvisioningIntent() throws Exception {
+        // GIVEN the device admin app is installed.
+        doReturn(TEST_COMPONENT_NAME)
+                .when(mUtils)
+                .findDeviceAdmin(null, TEST_COMPONENT_NAME, mContext);
+        // GIVEN a list of supported provisioning actions, except NFC.
+        String[] supportedProvisioningActions = new String[] {
+                ACTION_PROVISION_MANAGED_DEVICE,
+                ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE,
+                ACTION_PROVISION_MANAGED_USER,
+                ACTION_PROVISION_MANAGED_PROFILE,
+                ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE
+        };
+
+        for (String provisioningAction : supportedProvisioningActions) {
+            Intent intent = new Intent(provisioningAction)
+                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, TEST_COMPONENT_NAME);
+
+            // WHEN the mMessageParser.getParser is invoked.
+            ProvisioningDataParser parser = mMessageParser.getParser(intent);
+
+            // THEN the extras parser is returned.
+            assertTrue(parser instanceof ExtrasProvisioningDataParser);
+        }
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java b/tests/instrumentation/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java
similarity index 84%
rename from tests/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java
index 018eed4..a867eb3 100644
--- a/tests/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/parser/PropertiesProvisioningDataParserTest.java
@@ -39,10 +39,7 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID;
 import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
-import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
-import static com.android.managedprovisioning.TestUtils.createTestAdminExtras;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE;
+import static org.mockito.Mockito.when;
 
 import android.accounts.Account;
 import android.app.admin.DevicePolicyManager;
@@ -56,17 +53,16 @@
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.Base64;
-
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.StoreUtils;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.PackageDownloadInfo;
 import com.android.managedprovisioning.model.ProvisioningParams;
 import com.android.managedprovisioning.model.WifiInfo;
-
 import java.io.ByteArrayOutputStream;
 import java.util.Locale;
 import java.util.Properties;
-
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -85,8 +81,10 @@
     private static final boolean TEST_LEAVE_ALL_SYSTEM_APP_ENABLED = true;
     private static final boolean TEST_SKIP_ENCRYPTION = true;
     private static final boolean TEST_SKIP_USER_SETUP = true;
+    private static final long TEST_PROVISIONING_ID = 2000L;
     private static final Account TEST_ACCOUNT_TO_MIGRATE =
             new Account("user@gmail.com", "com.google");
+    private static final String INVALID_MIME_TYPE = "invalid-mime-type";
 
     // Wifi info
     private static final String TEST_SSID = "TestWifi";
@@ -128,6 +126,9 @@
     @Mock
     private Context mContext;
 
+    @Mock
+    private ManagedProvisioningSharedPreferences mSharedPreferences;
+
     private PropertiesProvisioningDataParser mPropertiesProvisioningDataParser;
 
     @Override
@@ -137,7 +138,9 @@
 
         MockitoAnnotations.initMocks(this);
 
-        mPropertiesProvisioningDataParser = new PropertiesProvisioningDataParser(new Utils());
+        when(mSharedPreferences.incrementAndGetProvisioningId()).thenReturn(TEST_PROVISIONING_ID);
+        mPropertiesProvisioningDataParser = new PropertiesProvisioningDataParser(mContext,
+                new Utils(), mSharedPreferences);
     }
 
     public void testParse_nfcProvisioningIntent() throws Exception {
@@ -151,10 +154,6 @@
         setTestWifiInfo(props);
         setTestTimeTimeZoneAndLocale(props);
         setTestDeviceAdminDownload(props);
-        // GIVEN this intent requested to support SHA1 package checksum.
-        props.setProperty(
-                EXTRA_PROVISIONING_DEVICE_ADMIN_SUPPORT_SHA1_PACKAGE_CHECKSUM,
-                Boolean.toString(true));
         props.setProperty(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, getTestAdminExtrasString());
         props.setProperty(
                 EXTRA_PROVISIONING_SKIP_ENCRYPTION,
@@ -174,7 +173,7 @@
                 .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
 
         // WHEN the intent is parsed by the parser.
-        ProvisioningParams params = mPropertiesProvisioningDataParser.parse(intent, mContext);
+        ProvisioningParams params = mPropertiesProvisioningDataParser.parse(intent);
 
 
         // THEN ProvisionParams is constructed as expected.
@@ -185,6 +184,7 @@
                         .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
                         .setDeviceAdminComponentName(TEST_COMPONENT_NAME)
                         .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
+                        .setProvisioningId(TEST_PROVISIONING_ID)
                         .setDeviceAdminDownloadInfo(
                                 PackageDownloadInfo.Builder.builder()
                                         .setLocation(TEST_DOWNLOAD_LOCATION)
@@ -219,7 +219,7 @@
 
         try {
             // WHEN the intent is parsed by the parser.
-            ProvisioningParams params = mPropertiesProvisioningDataParser.parse(intent, mContext);
+            ProvisioningParams params = mPropertiesProvisioningDataParser.parse(intent);
             fail("PropertiesProvisioningDataParser doesn't support intent other than NFC. "
                     + "IllegalProvisioningArgumentException should be thrown");
         } catch (IllegalProvisioningArgumentException e) {
@@ -227,6 +227,42 @@
         }
     }
 
+    public void testGetFirstNdefRecord_nullNdefMessages() {
+        // GIVEN nfc intent with no ndef messages
+        Intent nfcIntent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED);
+        // WHEN getting first ndef record
+        // THEN it should return null
+        assertNull(PropertiesProvisioningDataParser.getFirstNdefRecord(nfcIntent));
+    }
+
+    public void testGetFirstNdefRecord_noNfcMimeType() {
+        // GIVEN nfc intent with no ndf message with a record with a valid mime type.
+        ByteArrayOutputStream stream = new ByteArrayOutputStream();
+        NdefRecord record = NdefRecord.createMime(INVALID_MIME_TYPE, stream.toByteArray());
+        NdefMessage ndfMsg = new NdefMessage(new NdefRecord[]{record});
+        Intent nfcIntent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED)
+                .setType(MIME_TYPE_PROVISIONING_NFC)
+                .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
+        // WHEN getting first ndef record
+        // THEN it should return null
+        assertNull(PropertiesProvisioningDataParser.getFirstNdefRecord(nfcIntent));
+    }
+
+    public void testGetFirstNdefRecord() {
+        // GIVEN nfc intent with valid ndf message with a record with mime type nfc.
+        ByteArrayOutputStream stream = new ByteArrayOutputStream();
+        NdefRecord record = NdefRecord.createMime(
+                DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC,
+                stream.toByteArray());
+        NdefMessage ndfMsg = new NdefMessage(new NdefRecord[]{record});
+        Intent nfcIntent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED)
+                .setType(MIME_TYPE_PROVISIONING_NFC)
+                .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
+        // WHEN getting first ndef record
+        // THEN valid record should be returned
+        assertEquals(PropertiesProvisioningDataParser.getFirstNdefRecord(nfcIntent), record);
+    }
+
     private static Properties setTestWifiInfo(Properties props) {
         props.setProperty(EXTRA_PROVISIONING_WIFI_SSID, TEST_SSID);
         props.setProperty(EXTRA_PROVISIONING_WIFI_SECURITY_TYPE, TEST_SECURITY_TYPE);
@@ -242,7 +278,7 @@
     private static Properties setTestTimeTimeZoneAndLocale(Properties props) {
         props.setProperty(EXTRA_PROVISIONING_LOCAL_TIME, Long.toString(TEST_LOCAL_TIME));
         props.setProperty(EXTRA_PROVISIONING_TIME_ZONE, TEST_TIME_ZONE);
-        props.setProperty(EXTRA_PROVISIONING_LOCALE, MessageParser.localeToString(TEST_LOCALE));
+        props.setProperty(EXTRA_PROVISIONING_LOCALE, StoreUtils.localeToString(TEST_LOCALE));
         return props;
     }
 
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivityTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivityTest.java
new file mode 100644
index 0000000..ed43a0e
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptDeviceActivityTest.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.ACTION_START_ENCRYPTION;
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.verify;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.provider.Settings;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.rule.ActivityTestRule;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.common.CustomizationVerifier;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link EncryptDeviceActivity}.
+ */
+@SmallTest
+public class EncryptDeviceActivityTest {
+
+    private static final ComponentName ADMIN = new ComponentName("com.test.admin", ".Receiver");
+    private static final int SAMPLE_COLOR = Color.parseColor("#d40000");
+    private static final ProvisioningParams PROFILE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setMainColor(SAMPLE_COLOR)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    private static final ProvisioningParams DEVICE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .setMainColor(SAMPLE_COLOR)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    private static final Intent PROFILE_OWNER_INTENT = new Intent()
+            .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, PROFILE_OWNER_PARAMS);
+    private static final Intent DEVICE_OWNER_INTENT = new Intent()
+            .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, DEVICE_OWNER_PARAMS);
+
+    @Rule
+    public ActivityTestRule<EncryptDeviceActivity> mActivityRule = new ActivityTestRule<>(
+            EncryptDeviceActivity.class, true /* Initial touch mode  */,
+            false /* Lazily launch activity */);
+
+    @Mock EncryptionController mController;
+    private static int sRotationLocked;
+
+    @BeforeClass
+    public static void setUpClass() {
+        // Stop the activity from rotating in order to keep hold of the context
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        sRotationLocked = Settings.System.getInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 0);
+        Settings.System.putInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 0);
+    }
+
+    @AfterClass
+    public static void tearDownClass() {
+        // Reset the rotation value back to what it was before the test
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        Settings.System.putInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, sRotationLocked);
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        TestEncryptionActivity.sController = mController;
+        TestEncryptionActivity.sLastLaunchedIntent = null;
+
+        TestInstrumentationRunner.registerReplacedActivity(EncryptDeviceActivity.class,
+                TestEncryptionActivity.class);
+    }
+
+    @After
+    public void tearDown() {
+        TestInstrumentationRunner.unregisterReplacedActivity(EncryptDeviceActivity.class);
+    }
+
+    @Test
+    public void testProfileOwner() {
+        // WHEN launching EncryptDeviceActivity with a profile owner intent
+        Activity activity = mActivityRule.launchActivity(PROFILE_OWNER_INTENT);
+
+        // THEN the profile owner description should be present
+        onView(withId(R.id.encrypt_main_text))
+                .check(matches(withText(R.string.encrypt_device_text_for_profile_owner_setup)));
+
+        // status bar color matches the one from intent parameters
+        new CustomizationVerifier(activity).assertStatusBarColorCorrect(SAMPLE_COLOR);
+
+        // WHEN pressing the encrypt button
+        onView(withId(R.id.encrypt_button)).perform(click());
+
+        // THEN encryption reminder should be set
+        verify(mController).setEncryptionReminder(PROFILE_OWNER_PARAMS);
+
+        // THEN encryption activity should be started
+        assertEquals(ACTION_START_ENCRYPTION,
+                TestEncryptionActivity.sLastLaunchedIntent.getAction());
+    }
+
+    @Test
+    public void testDeviceOwner() {
+        // WHEN launching EncryptDeviceActivity with a profile owner intent
+        Activity activity = mActivityRule.launchActivity(DEVICE_OWNER_INTENT);
+
+        // THEN the profile owner description should be present
+        onView(withId(R.id.encrypt_main_text))
+                .check(matches(withText(R.string.encrypt_device_text_for_device_owner_setup)));
+
+        // status bar color matches the one from intent parameters
+        new CustomizationVerifier(activity).assertStatusBarColorCorrect(SAMPLE_COLOR);
+
+        // WHEN pressing the encrypt button
+        onView(withId(R.id.encrypt_button)).perform(click());
+
+        // THEN encryption reminder should be set
+        verify(mController).setEncryptionReminder(DEVICE_OWNER_PARAMS);
+
+        // THEN encryption activity should be started
+        assertEquals(ACTION_START_ENCRYPTION,
+                TestEncryptionActivity.sLastLaunchedIntent.getAction());
+    }
+
+    @Test
+    public void testNoParams() {
+        // WHEN launching EncryptDeviceActivity without a params object
+        mActivityRule.launchActivity(new Intent());
+
+        // THEN the activity should finish immediately
+        assertTrue(mActivityRule.getActivity().isFinishing());
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptionControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptionControllerTest.java
new file mode 100644
index 0000000..9f6dad3
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/EncryptionControllerTest.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.content.pm.PackageManager;
+import android.os.Handler;
+import android.os.Looper;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class EncryptionControllerTest extends AndroidTestCase {
+    private static final int TEST_USER_ID = 10;
+    private static final String MP_PACKAGE_NAME = "com.android.managedprovisioning";
+    private static final ComponentName TEST_HOME_RECEIVER = new ComponentName(MP_PACKAGE_NAME,
+            ".HomeReceiverActivity");
+    private static final String TEST_MDM_PACKAGE = "com.admin.test";
+    private static final int RESUME_PROVISIONING_TIMEOUT_MS = 1000;
+
+    @Mock private Context mContext;
+    @Mock private Utils mUtils;
+    @Mock private SettingsFacade mSettingsFacade;
+    @Mock private Resources mResources;
+    @Mock private PackageManager mPackageManager;
+    @Mock private EncryptionController.ResumeNotificationHelper mResumeNotificationHelper;
+
+    private EncryptionController mController;
+
+    @Override
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+
+        MockitoAnnotations.initMocks(this);
+
+        when(mUtils.isPhysicalDeviceEncrypted()).thenReturn(true);
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getFilesDir()).thenReturn(getContext().getFilesDir());
+
+        mController = createEncryptionController();
+        mController.getProvisioningParamsFile(mContext).delete();
+    }
+
+    public void testDeviceOwner() throws Exception {
+        // GIVEN we've set a provisioning reminder for device owner provisioning.
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+        ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE);
+        setReminder(params);
+        verify(mUtils).enableComponent(TEST_HOME_RECEIVER, TEST_USER_ID);
+        verify(mPackageManager).flushPackageRestrictionsAsUser(TEST_USER_ID);
+        // WHEN resuming the provisioning
+        runResumeProvisioningOnUiThread();
+        // THEN the pre provisioning activity is started
+        verifyStartPreProvisioningActivity(params);
+    }
+
+    public void testProfileOwnerAfterSuw() throws Exception {
+        // GIVEN we set a provisioning reminder for managed profile provisioning after SUW
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(true);
+        ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
+        setReminder(params);
+        // WHEN resuming the provisioning
+        runResumeProvisioningOnUiThread();
+        // THEN we show a notification
+        verifyShowResumeNotification(params);
+    }
+
+    public void testProfileOwnerDuringSuw() throws Exception {
+        // GIVEN we set a provisioning reminder for managed profile provisioning during SUW
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(false);
+        ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
+        setReminder(params);
+        verify(mUtils).enableComponent(TEST_HOME_RECEIVER, TEST_USER_ID);
+        verify(mPackageManager).flushPackageRestrictionsAsUser(TEST_USER_ID);
+        // WHEN resuming the provisioning
+        runResumeProvisioningOnUiThread();
+        // THEN we start the pre provisioning activity
+        verifyStartPreProvisioningActivity(params);
+    }
+
+    public void testDeviceNotEncrypted() throws Exception {
+        // GIVEN an intent was stored to resume device owner provisioning, but the device
+        // is not encrypted
+        ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE);
+        setReminder(params);
+        when(mUtils.isPhysicalDeviceEncrypted()).thenReturn(false);
+        // WHEN resuming provisioning
+        runResumeProvisioningOnUiThread();
+        // THEN nothing should happen
+        verifyNothingStarted();
+    }
+
+    public void testResumeProvisioningNoIntent() throws Exception {
+        // GIVEN no reminder is set
+        // WHEN resuming the provisioning
+        runResumeProvisioningOnUiThread();
+        // THEN nothing should happen
+        verifyNothingStarted();
+    }
+
+    public void testCancelProvisioningReminder() throws Exception {
+        // WHEN we've set a provisioning reminder
+        when(mSettingsFacade.isUserSetupCompleted(mContext)).thenReturn(true);
+        ProvisioningParams params = createProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
+        setReminder(params);
+        // WHEN canceling the reminder and then resuming the provisioning
+        mController.cancelEncryptionReminder();
+        verify(mUtils).disableComponent(TEST_HOME_RECEIVER, TEST_USER_ID);
+        runResumeProvisioningOnUiThread();
+        // THEN nothing should start
+        verifyNothingStarted();
+    }
+
+    private ProvisioningParams createProvisioningParams(String action) {
+        return new ProvisioningParams.Builder()
+                .setProvisioningAction(action)
+                .setDeviceAdminPackageName(TEST_MDM_PACKAGE)
+                .build();
+    }
+
+    private void runResumeProvisioningOnUiThread() throws InterruptedException {
+        final Semaphore semaphore = new Semaphore(0);
+        new Handler(Looper.getMainLooper()).post(new Runnable() {
+            @Override
+            public void run() {
+                // In a real case, the device may have rebooted between the moment when the
+                // reminder was set and the moment we resume the provisioning. Recreate the
+                // encryption controller to simulate this.
+                createEncryptionController().resumeProvisioning();
+                semaphore.release();
+            }
+        });
+        assertTrue("Timeout trying to resume provisioning",
+                semaphore.tryAcquire(RESUME_PROVISIONING_TIMEOUT_MS, TimeUnit.MILLISECONDS));
+    }
+
+    private EncryptionController createEncryptionController() {
+        return new EncryptionController(mContext, mUtils, mSettingsFacade, TEST_HOME_RECEIVER,
+                mResumeNotificationHelper, TEST_USER_ID);
+    }
+
+    private void setReminder(ProvisioningParams params) {
+        mController.setEncryptionReminder(params);
+    }
+
+    private void verifyStartPreProvisioningActivity(ProvisioningParams params) throws Exception {
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivity(intentCaptor.capture());
+        assertEquals(params, intentCaptor.getValue().getParcelableExtra(
+                ProvisioningParams.EXTRA_PROVISIONING_PARAMS));
+        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
+    }
+
+    private void verifyShowResumeNotification(ProvisioningParams params) throws Exception {
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mResumeNotificationHelper).showResumeNotification(intentCaptor.capture());
+        assertEquals(params, intentCaptor.getValue().getParcelableExtra(
+                ProvisioningParams.EXTRA_PROVISIONING_PARAMS));
+        verify(mContext, never()).startActivity(any(Intent.class));
+    }
+
+    private void verifyNothingStarted() throws Exception {
+        verify(mContext, never()).startActivity(any(Intent.class));
+        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityTest.java
new file mode 100644
index 0000000..7541abb
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityTest.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
+
+import static com.android.managedprovisioning.e2eui.ManagedProfileAdminReceiver.COMPONENT_NAME;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_BUTTON;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_DO;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_MP;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_SWIPER;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.Color;
+import android.support.test.filters.SmallTest;
+import android.support.test.rule.ActivityTestRule;
+
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.common.CustomizationVerifier;
+import com.android.managedprovisioning.common.UriBitmap;
+import com.android.managedprovisioning.preprovisioning.terms.TermsActivity;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.io.IOException;
+
+@SmallTest
+// TODO: Currently only color and logo functionality are covered. Fill in the rest (b/32131665).
+public class PreProvisioningActivityTest {
+    private static final int SAMPLE_COLOR = Color.parseColor("#ffd40000");
+
+    @Rule
+    public ActivityTestRule<PreProvisioningActivity> mActivityRule = new ActivityTestRule<>(
+            PreProvisioningActivity.class, true, false);
+
+    @BeforeClass
+    public static void setUpClass() {
+        TestInstrumentationRunner.registerReplacedActivity(PreProvisioningActivity.class,
+                (classLoader, className, intent) -> new PreProvisioningActivity(
+                        activity -> new PreProvisioningController(activity, activity) {
+                            @Override
+                            protected boolean checkDevicePolicyPreconditions() {
+                                return true;
+                            }
+
+                            @Override
+                            protected boolean verifyActionAndCaller(Intent intent, String caller) {
+                                return true;
+                            }
+                        }, null));
+    }
+
+    @AfterClass
+    public static void tearDownClass() {
+        TestInstrumentationRunner.unregisterReplacedActivity(TermsActivity.class);
+    }
+
+    @Test
+    public void profileOwnerDefaultColors() {
+        Activity activity = mActivityRule.launchActivity(
+                createIntent(ACTION_PROVISION_MANAGED_PROFILE, null));
+        CustomizationVerifier v = new CustomizationVerifier(activity);
+        v.assertStatusBarColorCorrect(activity.getColor(DEFAULT_COLOR_ID_MP));
+        v.assertSwiperColorCorrect(activity.getColor(DEFAULT_COLOR_ID_SWIPER));
+        v.assertNextButtonColorCorrect(activity.getColor(DEFAULT_COLOR_ID_BUTTON));
+    }
+
+    @Test
+    public void profileOwnerCustomColors() {
+        Activity activity = mActivityRule.launchActivity(
+                createIntent(ACTION_PROVISION_MANAGED_PROFILE, SAMPLE_COLOR));
+        CustomizationVerifier v = new CustomizationVerifier(activity);
+        v.assertStatusBarColorCorrect(SAMPLE_COLOR);
+        v.assertSwiperColorCorrect(SAMPLE_COLOR);
+        v.assertNextButtonColorCorrect(SAMPLE_COLOR);
+    }
+
+    @Test
+    public void deviceOwnerDefaultColorsAndLogo() {
+        Activity activity = mActivityRule.launchActivity(
+                createIntent(ACTION_PROVISION_MANAGED_DEVICE, null));
+        CustomizationVerifier v = new CustomizationVerifier(activity);
+        int color = activity.getColor(DEFAULT_COLOR_ID_DO);
+        v.assertStatusBarColorCorrect(color);
+        v.assertDefaultLogoCorrect(color);
+        v.assertNextButtonColorCorrect(color);
+    }
+
+    @Test
+    public void deviceOwnerCustomColor() {
+        Activity activity = mActivityRule.launchActivity(
+                createIntent(ACTION_PROVISION_MANAGED_DEVICE, SAMPLE_COLOR));
+        CustomizationVerifier v = new CustomizationVerifier(activity);
+        v.assertStatusBarColorCorrect(SAMPLE_COLOR);
+        v.assertDefaultLogoCorrect(SAMPLE_COLOR);
+        v.assertNextButtonColorCorrect(SAMPLE_COLOR);
+    }
+
+    @Test
+    public void deviceOwnerCustomLogo() throws IOException {
+        UriBitmap expectedLogo = UriBitmap.createSimpleInstance();
+
+        Activity activity = mActivityRule.launchActivity(
+                createIntent(ACTION_PROVISION_MANAGED_DEVICE, SAMPLE_COLOR).putExtra(
+                        EXTRA_PROVISIONING_LOGO_URI, expectedLogo.getUri()));
+        CustomizationVerifier v = new CustomizationVerifier(activity);
+        v.assertCustomLogoCorrect(expectedLogo.getBitmap());
+    }
+
+    private Intent createIntent(String provisioningAction, Integer mainColor) {
+        Intent intent = new Intent(provisioningAction).putExtra(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, COMPONENT_NAME);
+        if (mainColor != null) {
+            intent.putExtra(EXTRA_PROVISIONING_MAIN_COLOR, mainColor);
+        }
+        return intent;
+    }
+}
\ No newline at end of file
diff --git a/tests/src/com/android/managedprovisioning/uiflows/PreProvisioningControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningControllerTest.java
similarity index 61%
rename from tests/src/com/android/managedprovisioning/uiflows/PreProvisioningControllerTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningControllerTest.java
index 2234f8f..b3af145 100644
--- a/tests/src/com/android/managedprovisioning/uiflows/PreProvisioningControllerTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/PreProvisioningControllerTest.java
@@ -13,13 +13,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.managedprovisioning.uiflows;
+package com.android.managedprovisioning.preprovisioning;
 
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.CODE_MANAGED_USERS_NOT_SUPPORTED;
+import static android.app.admin.DevicePolicyManager.CODE_OK;
 import static android.nfc.NfcAdapter.ACTION_NDEF_DISCOVERED;
+
 import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
+
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.anyString;
@@ -30,6 +34,8 @@
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
+import static java.util.Collections.emptyList;
+
 import android.app.ActivityManager;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
@@ -37,14 +43,18 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.graphics.drawable.VectorDrawable;
 import android.os.UserManager;
 import android.service.persistentdata.PersistentDataBlockManager;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
 import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
 import android.text.TextUtils;
 
 import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.analytics.TimeLogger;
 import com.android.managedprovisioning.common.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.common.SettingsFacade;
 import com.android.managedprovisioning.common.Utils;
 import com.android.managedprovisioning.model.ProvisioningParams;
 import com.android.managedprovisioning.model.WifiInfo;
@@ -56,6 +66,7 @@
 @SmallTest
 public class PreProvisioningControllerTest extends AndroidTestCase {
     private static final String TEST_MDM_PACKAGE = "com.test.mdm";
+    private static final String TEST_MDM_PACKAGE_LABEL = "Test MDM";
     private static final ComponentName TEST_MDM_COMPONENT_NAME = new ComponentName(TEST_MDM_PACKAGE,
             "com.test.mdm.DeviceAdmin");
     private static final String TEST_BOGUS_PACKAGE = "com.test.bogus";
@@ -63,25 +74,41 @@
     private static final String MP_PACKAGE_NAME = "com.android.managedprovisioning";
     private static final int TEST_USER_ID = 10;
 
-    @Mock private Context mContext;
-    @Mock private DevicePolicyManager mDevicePolicyManager;
-    @Mock private UserManager mUserManager;
-    @Mock private PackageManager mPackageManager;
-    @Mock private ActivityManager mActivityManager;
-    @Mock private KeyguardManager mKeyguardManager;
-    @Mock private PersistentDataBlockManager mPdbManager;
-    @Mock private PreProvisioningController.Ui mUi;
-    @Mock private MessageParser mMessageParser;
-    @Mock private Utils mUtils;
-    @Mock private Intent mIntent;
-    @Mock private EncryptionController mEncryptionController;
+    @Mock
+    private Context mContext;
+    @Mock
+    private DevicePolicyManager mDevicePolicyManager;
+    @Mock
+    private UserManager mUserManager;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private ActivityManager mActivityManager;
+    @Mock
+    private KeyguardManager mKeyguardManager;
+    @Mock
+    private PersistentDataBlockManager mPdbManager;
+    @Mock
+    private PreProvisioningController.Ui mUi;
+    @Mock
+    private MessageParser mMessageParser;
+    @Mock
+    private Utils mUtils;
+    @Mock
+    private SettingsFacade mSettingsFacade;
+    @Mock
+    private Intent mIntent;
+    @Mock
+    private EncryptionController mEncryptionController;
+    @Mock
+    private TimeLogger mTimeLogger;
 
     private ProvisioningParams mParams;
 
     private PreProvisioningController mController;
 
     @Override
-    public void setUp() {
+    public void setUp() throws PackageManager.NameNotFoundException {
         // this is necessary for mockito to work
         System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
 
@@ -96,38 +123,37 @@
         when(mContext.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE))
                 .thenReturn(mPdbManager);
         when(mContext.getPackageName()).thenReturn(MP_PACKAGE_NAME);
+        when(mContext.getResources()).thenReturn(
+                InstrumentationRegistry.getTargetContext().getResources());
 
         when(mUserManager.getUserHandle()).thenReturn(TEST_USER_ID);
 
-        when(mUtils.isFrpSupported(mContext)).thenReturn(true);
         when(mUtils.isSplitSystemUser()).thenReturn(false);
         when(mUtils.isEncryptionRequired()).thenReturn(false);
         when(mUtils.currentLauncherSupportsManagedProfiles(mContext)).thenReturn(true);
         when(mUtils.alreadyHasManagedProfile(mContext)).thenReturn(-1);
 
+        when(mPackageManager.getApplicationIcon(anyString())).thenReturn(new VectorDrawable());
+        when(mPackageManager.getApplicationLabel(any())).thenReturn(TEST_MDM_PACKAGE_LABEL);
+
         when(mKeyguardManager.inKeyguardRestrictedInputMode()).thenReturn(false);
         when(mDevicePolicyManager.getStorageEncryptionStatus())
                 .thenReturn(DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE);
-
-        mController = new PreProvisioningController(mContext, mUi, mMessageParser, mUtils,
-                mEncryptionController);
+        mController = new PreProvisioningController(mContext, mUi, mTimeLogger, mMessageParser,
+                mUtils, mSettingsFacade, mEncryptionController);
     }
 
     public void testManagedProfile() throws Exception {
         // GIVEN an intent to provision a managed profile
         prepareMocksForManagedProfileIntent(false);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, true);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start profile provisioning
-        verify(mUi).startProfileOwnerProvisioning(mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -135,27 +161,37 @@
     public void testManagedProfile_provisioningNotAllowed() throws Exception {
         // GIVEN an intent to provision a managed profile, but provisioning mode is not allowed
         prepareMocksForManagedProfileIntent(false);
-        when(mDevicePolicyManager.isProvisioningAllowed(ACTION_PROVISION_MANAGED_PROFILE))
-                .thenReturn(false);
+        when(mDevicePolicyManager.checkProvisioningPreCondition(
+                ACTION_PROVISION_MANAGED_PROFILE, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_MANAGED_USERS_NOT_SUPPORTED);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN show an error dialog
-        verify(mUi).showErrorAndClose(anyInt(), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_add_work_profile),
+                eq(R.string.user_cant_have_work_profile_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
     public void testManagedProfile_nullCallingPackage() throws Exception {
         // GIVEN a device that is not currently encrypted
         prepareMocksForManagedProfileIntent(false);
-        try {
-            // WHEN initiating provisioning
-            mController.initiateProvisioning(mIntent, null);
-            fail("Expected NullPointerException not thrown");
-        } catch (NullPointerException ne) {
-            // THEN a NullPointerException is thrown
-        }
-        // THEN no user interaction occurs
-        verifyZeroInteractions(mUi);
+        // WHEN initiating provisioning
+        mController.initiateProvisioning(mIntent, null, null);
+        // THEN error is shown
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.contact_your_admin_for_help), any(String.class));
+        verifyNoMoreInteractions(mUi);
+    }
+
+    public void testManagedProfile_invalidCallingPackage() throws Exception {
+        // GIVEN a device that is not currently encrypted
+        prepareMocksForManagedProfileIntent(false);
+        // WHEN initiating provisioning
+        mController.initiateProvisioning(mIntent, null, "com.android.invalid.dpc");
+        // THEN error is shown
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.contact_your_admin_for_help), any(String.class));
+        verifyNoMoreInteractions(mUi);
     }
 
     public void testManagedProfile_withEncryption() throws Exception {
@@ -163,11 +199,11 @@
         prepareMocksForManagedProfileIntent(false);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating managed profile provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
         // THEN show encryption screen
         verify(mUi).requestEncryption(mParams);
         verifyNoMoreInteractions(mUi);
@@ -178,17 +214,13 @@
         // we don't set the startedByTrustedSource flag.
         prepareMocksForAfterEncryption(ACTION_PROVISION_MANAGED_PROFILE, false);
         // WHEN initiating with a continuation intent
-        mController.initiateProvisioning(mIntent, MP_PACKAGE_NAME);
+        mController.initiateProvisioning(mIntent, null, MP_PACKAGE_NAME);
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, true);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start profile provisioning
-        verify(mUi).startProfileOwnerProvisioning(mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -198,20 +230,15 @@
         prepareMocksForManagedProfileIntent(false);
         when(mUtils.alreadyHasManagedProfile(mContext)).thenReturn(TEST_USER_ID);
         // WHEN initiating managed profile provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly and a dialog to remove the existing
         // profile should be shown
         verifyInitiateProfileOwnerUi();
-        verify(mUi).showDeleteManagedProfileDialog(any(ComponentName.class),
-                anyString(), eq(TEST_USER_ID));
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, true);
+        verify(mUi).showDeleteManagedProfileDialog(any(), any(), eq(TEST_USER_ID));
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start profile provisioning
-        verify(mUi).startProfileOwnerProvisioning(mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -221,13 +248,9 @@
         prepareMocksForManagedProfileIntent(false);
         when(mUtils.currentLauncherSupportsManagedProfiles(mContext)).thenReturn(false);
         // WHEN initiating managed profile provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, true);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN show a dialog indicating that the current launcher is invalid
@@ -240,22 +263,24 @@
         // as owner of the profile
         prepareMocksForManagedProfileIntent(false);
         // WHEN initiating managed profile provisioning
-        mController.initiateProvisioning(mIntent, TEST_BOGUS_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_BOGUS_PACKAGE);
         // THEN show an error dialog and do not continue
-        verify(mUi).showErrorAndClose(eq(R.string.device_owner_error_general), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.contact_your_admin_for_help), any());
         verifyNoMoreInteractions(mUi);
     }
 
     public void testManagedProfile_frp() throws Exception {
         // GIVEN managed profile provisioning is invoked from SUW with FRP active
         prepareMocksForManagedProfileIntent(false);
-        when(mUtils.isDeviceProvisioned(mContext)).thenReturn(false);
+        when(mSettingsFacade.isDeviceProvisioned(mContext)).thenReturn(false);
         // setting the data block size to any number greater than 0 should invoke FRP.
         when(mPdbManager.getDataBlockSize()).thenReturn(4);
         // WHEN initiating managed profile provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN show an error dialog and do not continue
-        verify(mUi).showErrorAndClose(eq(R.string.device_owner_error_frp), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_has_reset_protection_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -264,17 +289,13 @@
         prepareMocksForManagedProfileIntent(true);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, true);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start profile provisioning
-        verify(mUi).startProfileOwnerProvisioning(mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mUi, never()).requestEncryption(any(ProvisioningParams.class));
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
@@ -288,14 +309,14 @@
         when(mDevicePolicyManager.getStorageEncryptionStatus())
                 .thenReturn(DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN the UI elements should be updated accordingly
         verifyInitiateProfileOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
         // THEN show an error indicating that this device does not support encryption
-        verify(mUi).showErrorAndClose(eq(R.string.preprovisioning_error_encryption_not_supported),
-                anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_doesnt_allow_encryption_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -303,13 +324,12 @@
         // GIVEN provisioning was started via an NFC tap and device is already encrypted
         prepareMocksForNfcIntent(ACTION_PROVISION_MANAGED_DEVICE, false);
         // WHEN initiating NFC provisioning
-        mController.initiateProvisioning(mIntent, null);
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
+        mController.initiateProvisioning(mIntent, null, null);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -319,13 +339,13 @@
         prepareMocksForNfcIntent(ACTION_PROVISION_MANAGED_DEVICE, true);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating NFC provisioning
-        mController.initiateProvisioning(mIntent, null);
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
+
+        mController.initiateProvisioning(mIntent, null, null);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mUi, never()).requestEncryption(any(ProvisioningParams.class));
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
@@ -336,8 +356,11 @@
         prepareMocksForNfcIntent(ACTION_PROVISION_MANAGED_DEVICE, false);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating NFC provisioning
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN show encryption screen
+        verifyInitiateDeviceOwnerUi();
         verify(mUi).requestEncryption(mParams);
         verifyNoMoreInteractions(mUi);
     }
@@ -348,13 +371,12 @@
         // set
         prepareMocksForAfterEncryption(ACTION_PROVISION_MANAGED_DEVICE, true);
         // WHEN continuing NFC provisioning after encryption
-        mController.initiateProvisioning(mIntent, null);
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
+        mController.initiateProvisioning(mIntent, null, null);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verifyNoMoreInteractions(mUi);
     }
 
@@ -364,9 +386,10 @@
         // setting the data block size to any number greater than 0 should invoke FRP.
         when(mPdbManager.getDataBlockSize()).thenReturn(4);
         // WHEN initiating NFC provisioning
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
         // THEN show an error dialog
-        verify(mUi).showErrorAndClose(eq(R.string.device_owner_error_frp), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_has_reset_protection_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -378,10 +401,13 @@
         when(mDevicePolicyManager.getStorageEncryptionStatus())
                 .thenReturn(DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED);
         // WHEN initiating NFC provisioning
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN show an error dialog
-        verify(mUi).showErrorAndClose(eq(R.string.preprovisioning_error_encryption_not_supported),
-                anyString());
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_doesnt_allow_encryption_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -389,13 +415,12 @@
         // GIVEN provisioning was started via a QR code and device is already encrypted
         prepareMocksForQrIntent(ACTION_PROVISION_MANAGED_DEVICE, false);
         // WHEN initiating QR provisioning
-        mController.initiateProvisioning(mIntent, null);
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
+        mController.initiateProvisioning(mIntent, null, null);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verifyNoMoreInteractions(mUi);
     }
 
@@ -404,14 +429,13 @@
         prepareMocksForQrIntent(ACTION_PROVISION_MANAGED_DEVICE, true);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating QR provisioning
-        mController.initiateProvisioning(mIntent, null);
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
+        mController.initiateProvisioning(mIntent, null, null);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
-        verify(mUi, never()).requestEncryption(any(ProvisioningParams.class));
+        verifyInitiateDeviceOwnerUi();
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
+        verify(mUi, never()).requestEncryption(any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -420,8 +444,11 @@
         prepareMocksForQrIntent(ACTION_PROVISION_MANAGED_DEVICE, false);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating QR provisioning
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN show encryption screen
+        verifyInitiateDeviceOwnerUi();
         verify(mUi).requestEncryption(mParams);
         verifyNoMoreInteractions(mUi);
     }
@@ -432,9 +459,10 @@
         // setting the data block size to any number greater than 0 should invoke FRP.
         when(mPdbManager.getDataBlockSize()).thenReturn(4);
         // WHEN initiating QR provisioning
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
         // THEN show an error dialog
-        verify(mUi).showErrorAndClose(eq(R.string.device_owner_error_frp), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_has_reset_protection_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
@@ -442,17 +470,13 @@
         // GIVEN device owner provisioning was started and device is already encrypted
         prepareMocksForDoIntent(true);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly
         verifyInitiateDeviceOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -462,18 +486,14 @@
         prepareMocksForDoIntent(true);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN the UI elements should be updated accordingly
         verifyInitiateDeviceOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
-        verify(mUi, never()).requestEncryption(any(ProvisioningParams.class));
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
+        verify(mUi, never()).requestEncryption(any());
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
@@ -487,7 +507,9 @@
         prepareMocksForDoIntent(false);
         when(mUtils.isEncryptionRequired()).thenReturn(true);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // WHEN the user consents
+        mController.continueProvisioningAfterUserConsent();
         // THEN update the UI elements and show encryption screen
         verifyInitiateDeviceOwnerUi();
         verify(mUi).requestEncryption(mParams);
@@ -499,72 +521,154 @@
         // the startedByTrustedSource flag.
         prepareMocksForAfterEncryption(ACTION_PROVISION_MANAGED_DEVICE, false);
         // WHEN provisioning is continued
-        mController.initiateProvisioning(mIntent, null);
+        mController.initiateProvisioning(mIntent, null, null);
         // THEN the UI elements should be updated accordingly
         verifyInitiateDeviceOwnerUi();
-        // WHEN the user clicks next
-        mController.afterNavigateNext();
-        // THEN show a user consent dialog
-        verify(mUi).showUserConsentDialog(mParams, false);
         // WHEN the user consents
         mController.continueProvisioningAfterUserConsent();
         // THEN start device owner provisioning
-        verify(mUi).startDeviceOwnerProvisioning(TEST_USER_ID, mParams);
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
         verify(mEncryptionController).cancelEncryptionReminder();
         verifyNoMoreInteractions(mUi);
     }
 
+    public void testNullParams() throws Exception {
+        // THEN verifying params is null initially
+        assertNull(mController.getParams());
+    }
+
     public void testDeviceOwner_frp() throws Exception {
         // GIVEN device owner provisioning is invoked with FRP active
         prepareMocksForDoIntent(false);
         // setting the data block size to any number greater than 0 should invoke FRP.
         when(mPdbManager.getDataBlockSize()).thenReturn(4);
         // WHEN initiating provisioning
-        mController.initiateProvisioning(mIntent, TEST_MDM_PACKAGE);
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
         // THEN show an error dialog
-        verify(mUi).showErrorAndClose(eq(R.string.device_owner_error_frp), anyString());
+        verify(mUi).showErrorAndClose(eq(R.string.cant_set_up_device),
+                eq(R.string.device_has_reset_protection_contact_admin), any());
         verifyNoMoreInteractions(mUi);
     }
 
+    public void testMaybeStartProfileOwnerProvisioningIfSkipUserConsent_continueProvisioning()
+            throws Exception {
+        // GIVEN skipping user consent and encryption
+        prepareMocksForMaybeStartProvisioning(true, true, false);
+        // WHEN calling initiateProvisioning
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // THEN start profile owner provisioning
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
+    }
+
+    public void testMaybeStartProfileOwnerProvisioningIfSkipUserConsent_notSkipUserConsent()
+            throws Exception {
+        // GIVEN not skipping user consent
+        prepareMocksForMaybeStartProvisioning(false, true, false);
+        // WHEN calling initiateProvisioning
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // THEN not starting profile owner provisioning
+        verify(mUi, never()).startProvisioning(mUserManager.getUserHandle(), mParams);
+    }
+
+    public void testMaybeStartProfileOwnerProvisioningIfSkipUserConsent_requireEncryption()
+            throws Exception {
+        // GIVEN skipping user consent and encryption
+        prepareMocksForMaybeStartProvisioning(true, false, false);
+        // WHEN calling initiateProvisioning
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // THEN not starting profile owner provisioning
+        verify(mUi, never()).startProvisioning(anyInt(), any());
+        // THEN show encryption ui
+        verify(mUi).requestEncryption(mParams);
+        verifyNoMoreInteractions(mUi);
+    }
+
+    public void testMaybeStartProfileOwnerProvisioningIfSkipUserConsent_managedProfileExists()
+            throws Exception {
+        // GIVEN skipping user consent and encryption, but current managed profile exists
+        prepareMocksForMaybeStartProvisioning(true, true, true);
+        // WHEN calling initiateProvisioning
+        mController.initiateProvisioning(mIntent, null, TEST_MDM_PACKAGE);
+        // THEN not starting profile owner provisioning
+        verify(mUi, never()).startProvisioning(mUserManager.getUserHandle(), mParams);
+        // THEN show UI to delete user
+        verify(mUi).showDeleteManagedProfileDialog(any(), any(), anyInt());
+        // WHEN user agrees to remove the current profile and continue provisioning
+        mController.continueProvisioningAfterUserConsent();
+        // THEN start profile owner provisioning
+        verify(mUi).startProvisioning(mUserManager.getUserHandle(), mParams);
+    }
+
+    private void prepareMocksForMaybeStartProvisioning(
+            boolean skipUserConsent, boolean skipEncryption, boolean managedProfileExists)
+            throws IllegalProvisioningArgumentException {
+        String action = ACTION_PROVISION_MANAGED_PROFILE;
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        mParams = ProvisioningParams.Builder.builder()
+                .setProvisioningAction(action)
+                .setDeviceAdminComponentName(TEST_MDM_COMPONENT_NAME)
+                .setSkipUserConsent(skipUserConsent)
+                .build();
+
+        when(mUtils.alreadyHasManagedProfile(mContext)).thenReturn(
+                managedProfileExists ? 10 : -1);
+        when(mUtils.isEncryptionRequired()).thenReturn(!skipEncryption);
+
+
+        when(mMessageParser.parse(mIntent)).thenReturn(mParams);
+    }
+
     private void prepareMocksForManagedProfileIntent(boolean skipEncryption) throws Exception {
         final String action = ACTION_PROVISION_MANAGED_PROFILE;
         when(mIntent.getAction()).thenReturn(action);
         when(mUtils.findDeviceAdmin(TEST_MDM_PACKAGE, null, mContext))
                 .thenReturn(TEST_MDM_COMPONENT_NAME);
-        when(mUtils.isDeviceProvisioned(mContext)).thenReturn(true);
-        when(mDevicePolicyManager.isProvisioningAllowed(action)).thenReturn(true);
-        when(mMessageParser.parse(mIntent, mContext)).thenReturn(
+        when(mSettingsFacade.isDeviceProvisioned(mContext)).thenReturn(true);
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        when(mMessageParser.parse(mIntent)).thenReturn(
                 createParams(false, skipEncryption, null, action, TEST_MDM_PACKAGE));
     }
 
     private void prepareMocksForNfcIntent(String action, boolean skipEncryption) throws Exception {
         when(mIntent.getAction()).thenReturn(ACTION_NDEF_DISCOVERED);
-        when(mDevicePolicyManager.isProvisioningAllowed(action)).thenReturn(true);
-        when(mMessageParser.parse(mIntent, mContext)).thenReturn(
+        when(mIntent.getComponent()).thenReturn(ComponentName.createRelative(MP_PACKAGE_NAME,
+                ".PreProvisioningActivityViaNfc"));
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        when(mMessageParser.parse(mIntent)).thenReturn(
                 createParams(true, skipEncryption, TEST_WIFI_SSID, action, TEST_MDM_PACKAGE));
     }
 
     private void prepareMocksForQrIntent(String action, boolean skipEncryption) throws Exception {
         when(mIntent.getAction())
                 .thenReturn(ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE);
-        when(mDevicePolicyManager.isProvisioningAllowed(action)).thenReturn(true);
-        when(mMessageParser.parse(mIntent, mContext)).thenReturn(
+        when(mIntent.getComponent()).thenReturn(ComponentName.createRelative(MP_PACKAGE_NAME,
+                ".PreProvisioningActivityViaTrustedApp"));
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        when(mMessageParser.parse(mIntent)).thenReturn(
                 createParams(true, skipEncryption, TEST_WIFI_SSID, action, TEST_MDM_PACKAGE));
     }
 
     private void prepareMocksForDoIntent(boolean skipEncryption) throws Exception {
         final String action = ACTION_PROVISION_MANAGED_DEVICE;
         when(mIntent.getAction()).thenReturn(action);
-        when(mDevicePolicyManager.isProvisioningAllowed(action)).thenReturn(true);
-        when(mMessageParser.parse(mIntent, mContext)).thenReturn(
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        when(mMessageParser.parse(mIntent)).thenReturn(
                 createParams(false, skipEncryption, TEST_WIFI_SSID, action, TEST_MDM_PACKAGE));
     }
 
     private void prepareMocksForAfterEncryption(String action, boolean startedByTrustedSource)
             throws Exception {
         when(mIntent.getAction()).thenReturn(ACTION_RESUME_PROVISIONING);
-        when(mDevicePolicyManager.isProvisioningAllowed(action)).thenReturn(true);
-        when(mMessageParser.parse(mIntent, mContext)).thenReturn(
+        when(mIntent.getComponent()).thenReturn(ComponentName.createRelative(MP_PACKAGE_NAME,
+                ".PreProvisioningActivityAfterEncryption"));
+        when(mDevicePolicyManager.checkProvisioningPreCondition(action, TEST_MDM_PACKAGE))
+                .thenReturn(CODE_OK);
+        when(mMessageParser.parse(mIntent)).thenReturn(
                 createParams(
                         startedByTrustedSource, false, TEST_WIFI_SSID, action, TEST_MDM_PACKAGE));
     }
@@ -583,20 +687,14 @@
     }
 
     private void verifyInitiateProfileOwnerUi() {
-        verify(mUi).initiateUi(
-                R.string.setup_work_profile,
-                R.string.setup_profile_start_setup,
-                R.string.company_controls_workspace,
-                R.string.the_following_is_your_mdm,
-                mParams);
+        verify(mUi).initiateUi(eq(R.layout.intro_profile_owner),
+                eq(R.string.setup_profile), any(), any(), eq(true),
+                eq(false), eq(emptyList()), any());
     }
 
     private void verifyInitiateDeviceOwnerUi() {
-        verify(mUi).initiateUi(
-                R.string.setup_work_device,
-                R.string.setup_device_start_setup,
-                R.string.company_controls_device,
-                R.string.the_following_is_your_mdm_for_device,
-                mParams);
+        verify(mUi).initiateUi(eq(R.layout.intro_device_owner),
+                eq(R.string.setup_device), eq(TEST_MDM_PACKAGE_LABEL), any(), eq(false),
+                eq(false), eq(emptyList()), any());
     }
-}
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/ResumeNotificationHelperTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/ResumeNotificationHelperTest.java
new file mode 100644
index 0000000..c9e2dbf
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/ResumeNotificationHelperTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning;
+
+import static com.android.managedprovisioning.preprovisioning.EncryptionController.CHANNEL_ID;
+import static com.android.managedprovisioning.preprovisioning.EncryptionController.NOTIFICATION_ID;
+import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertEquals;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.os.SystemClock;
+import android.service.notification.StatusBarNotification;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Globals;
+import com.android.managedprovisioning.preprovisioning.EncryptionController.ResumeNotificationHelper;
+import org.hamcrest.MatcherAssert;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+@SmallTest
+public class ResumeNotificationHelperTest {
+
+    private static final int NOTIFICATION_TIMEOUT_MS = 5000;
+
+    private ResumeNotificationHelper mResumeNotificationHelper;
+    private NotificationManager mNotificationManager;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = InstrumentationRegistry.getTargetContext();
+        mResumeNotificationHelper = new ResumeNotificationHelper(mContext);
+        mNotificationManager = mContext.getSystemService(NotificationManager.class);
+        removeAllNotifications();
+    }
+
+    @After
+    public void tearDown() {
+        removeAllNotifications();
+    }
+
+    @Test
+    public void testShowResumeNotification() throws Exception {
+        MatcherAssert.assertThat(mNotificationManager.getActiveNotifications().length,
+                equalTo(0));
+
+        Intent intent = new Intent(Globals.ACTION_RESUME_PROVISIONING);
+        mResumeNotificationHelper.showResumeNotification(intent);
+
+        waitForNotification();
+        StatusBarNotification[] notifications = mNotificationManager.getActiveNotifications();
+        MatcherAssert.assertThat(notifications.length, equalTo(1));
+        StatusBarNotification notification = notifications[0];
+        assertEquals(notification.getId(), NOTIFICATION_ID);
+        assertEquals(notification.getNotification().getChannel(), CHANNEL_ID);
+        assertEquals(notification.getNotification().extras.getString(Notification.EXTRA_TITLE),
+                mContext.getString(R.string.continue_provisioning_notify_title));
+    }
+
+    private void waitForNotification() throws InterruptedException {
+        long elapsed = SystemClock.elapsedRealtime();
+        while(SystemClock.elapsedRealtime() - elapsed < NOTIFICATION_TIMEOUT_MS
+                && mNotificationManager.getActiveNotifications().length == 0) {
+            Thread.sleep(10);
+        }
+    }
+
+    private void removeAllNotifications() {
+        mNotificationManager.cancelAll();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/TestEncryptionActivity.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/TestEncryptionActivity.java
new file mode 100644
index 0000000..86fcb91
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/TestEncryptionActivity.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.preprovisioning;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.WindowManager;
+
+/**
+ * Wrapper activity around {@link EncryptDeviceActivity} that ensures that the activity is running
+ * and in the foreground.
+ */
+public class TestEncryptionActivity extends EncryptDeviceActivity {
+
+    static EncryptionController sController;
+    static Intent sLastLaunchedIntent;
+
+    @Override
+    protected EncryptionController getEncryptionController() {
+        return sController;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // Show activity on top of keyguard
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
+        // Turn on screen to prevent activity being paused by system
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+    }
+
+    @Override
+    public void startActivity(Intent intent) {
+        sLastLaunchedIntent = intent;
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/WebActivityTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/WebActivityTest.java
new file mode 100644
index 0000000..3a7d72d
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/WebActivityTest.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning;
+
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import android.app.Instrumentation;
+import android.content.Intent;
+import android.graphics.Color;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.test.ActivityUnitTestCase;
+import android.view.ViewGroup;
+import android.webkit.WebView;
+
+import com.android.managedprovisioning.common.CustomizationVerifier;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+@SmallTest
+public class WebActivityTest extends ActivityUnitTestCase<WebActivity> {
+    private static final String TEST_URL = "http://www.test.com/support";
+    private static final int STATUS_BAR_COLOR = Color.parseColor("#BDBDBD"); // any color would do
+
+    public WebActivityTest() {
+        super(WebActivity.class);
+    }
+
+    public void testNoUrl() {
+        Intent intent = WebActivity.createIntent(getInstrumentation().getTargetContext(), null,
+                STATUS_BAR_COLOR);
+        assertThat(intent, nullValue());
+    }
+
+    public void testUrlLaunched() {
+        startActivityOnMainSync(WebActivity.createIntent(getInstrumentation().getTargetContext(),
+                TEST_URL, STATUS_BAR_COLOR));
+        assertFalse(isFinishCalled());
+        final AtomicReference<String> urlRef = new AtomicReference<>(null);
+        getInstrumentation().runOnMainSync(() ->
+                urlRef.set(((WebView) ((ViewGroup) getActivity()
+                        .findViewById(android.R.id.content)).getChildAt(0)).getUrl()));
+        assertEquals(TEST_URL, urlRef.get());
+        new CustomizationVerifier(getActivity()).assertStatusBarColorCorrect(STATUS_BAR_COLOR);
+    }
+
+    private void startActivityOnMainSync(final Intent intent) {
+        getInstrumentation().runOnMainSync(() -> startActivity(intent, null, null));
+    }
+
+    @Override
+    public Instrumentation getInstrumentation() {
+        return InstrumentationRegistry.getInstrumentation();
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcherTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcherTest.java
new file mode 100644
index 0000000..1562b98
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/ColorMatcherTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.anim;
+
+import static android.graphics.Color.parseColor;
+import static android.graphics.Color.rgb;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+
+import android.support.test.filters.SmallTest;
+
+import org.junit.Test;
+
+@SmallTest
+public class ColorMatcherTest {
+    private final ColorMatcher mColorMatcher = new ColorMatcher();
+
+    @Test
+    public void findsCloseColor() {
+        assertCorrect(rgb(0, 0, 0), rgb(0, 0, 0));
+        assertCorrect(rgb(1, 1, 1), rgb(0, 0, 0));
+        assertCorrect(rgb(15, 15, 15), rgb(0, 0, 0));
+        assertCorrect(rgb(16, 16, 16), rgb(32, 32, 32));
+        assertCorrect(rgb(0xff, 0xff, 0xff), rgb(0xff, 0xff, 0xff));
+        assertCorrect(rgb(0xfe, 0xfe, 0xfe), rgb(0xff, 0xff, 0xff));
+        assertCorrect(rgb(100, 200, 50), rgb(96, 192, 64));
+        assertCorrect(rgb(0xd4, 0, 0), rgb(0xe0, 0, 0));
+        assertCorrect(parseColor("#d40000"), parseColor("#e00000"));
+    }
+
+    private void assertCorrect(int source, int expected) {
+        int actual = mColorMatcher.findClosestColor(source);
+        assertThat(actual, equalTo(expected));
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcherTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcherTest.java
new file mode 100644
index 0000000..f3e2a66
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/anim/SwiperThemeMatcherTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.anim;
+
+import static android.graphics.Color.parseColor;
+import static android.support.test.InstrumentationRegistry.getTargetContext;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.R;
+
+import org.junit.Test;
+
+@SmallTest
+public class SwiperThemeMatcherTest {
+    private final SwiperThemeMatcher mSwiperThemeMatcher = new SwiperThemeMatcher(
+            getTargetContext(), new ColorMatcher());
+
+    @Test
+    public void findsCorrectTheme() {
+        assertCorrect(parseColor("#ff000000"), R.style.Swiper000000);
+        assertCorrect(parseColor("#d40000"), R.style.Swipere00000);
+        assertCorrect(parseColor("white"), R.style.Swiperffffff);
+    }
+
+    private void assertCorrect(int source, int expected) {
+        assertThat(mSwiperThemeMatcher.findTheme(source), equalTo(expected));
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivityTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivityTest.java
new file mode 100644
index 0000000..5e4b3b7
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsActivityTest.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+
+import static org.hamcrest.core.IsNot.not;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.provider.Settings;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.espresso.ViewAssertion;
+import android.support.test.filters.FlakyTest;
+import android.support.test.filters.SmallTest;
+import android.support.test.rule.ActivityTestRule;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.model.DisclaimersParam;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Tests for {@link TermsActivity}.
+ */
+@SmallTest
+public class TermsActivityTest {
+
+    private static final String HEADER_0_TOP = InstrumentationRegistry.getTargetContext()
+        .getString(R.string.work_profile_info);
+    private static final String HEADER_1 = "header1";
+    private static final String HEADER_2 = "header2";
+    private static final String HEADER_3_BOTTOM = "header3";
+    private static final String CONTENT_1 = "content1";
+    private static final String CONTENT_2_HTML =
+            "<ol>" + "<li>" + "<b>" + "item" + "</b>" + "1" + "<li>" + "item" + "<i>" + "2";
+    private static final String CONTENT_3 = "content3";
+
+    private final Map<String, String> mPathToContent = new HashMap<>();
+
+    @Rule
+    public ActivityTestRule<TermsActivity> mActivityRule = new ActivityTestRule<>(
+            TermsActivity.class, true, false);
+
+    @Before
+    public void setUp() throws Settings.SettingNotFoundException {
+        TestInstrumentationRunner.registerReplacedActivity(TermsActivity.class,
+                (classLoader, className, intent) -> new TermsActivity(
+                        (file) -> mPathToContent.get(file.getPath()), null));
+        mPathToContent.clear();
+    }
+
+    @After
+    public void tearDown() {
+        TestInstrumentationRunner.unregisterReplacedActivity(TermsActivity.class);
+    }
+
+    // TODO(b/35613314): remove @FlakyTest once bug fixed
+    @FlakyTest
+    @Test
+    public void expanderTest() throws InterruptedException {
+        // given an intent with disclaimers
+        DisclaimersParam.Disclaimer[] extraDisclaimers = {
+                setUpDisclaimer(HEADER_1, "path1", CONTENT_1),
+                setUpDisclaimer(HEADER_2, "path2", CONTENT_2_HTML),
+                setUpDisclaimer(HEADER_3_BOTTOM, "path3", CONTENT_3)};
+        Intent intent = createIntent(ACTION_PROVISION_MANAGED_PROFILE, extraDisclaimers);
+
+        // when an activity is launched
+        mActivityRule.launchActivity(intent);
+
+        // then all headers are displayed
+        onView(withText(HEADER_0_TOP)).check(matches(isDisplayed()));
+        for (DisclaimersParam.Disclaimer d : extraDisclaimers) {
+            onView(withText(d.mHeader)).check(matches(isDisplayed()));
+        }
+
+        // none of the content is displayed
+        onView(withId(R.id.disclaimer_content)).check(isNotDisplayed());
+
+        // when clicking on one, it expands
+        onView(withText(HEADER_1)).perform(click());
+        onView(withText(CONTENT_1)).check(matches(isDisplayed()));
+
+        // when clicking on another, it collapses the first one, and expands the other one
+        onView(withText(HEADER_3_BOTTOM)).perform(click());
+        onView(withText(CONTENT_1)).check(isNotDisplayed());
+        onView(withText(CONTENT_3)).check(matches(isDisplayed()));
+
+        // TODO: replace with a proper fix; all attempts failed so far
+        // Not tried yet: https://google.github.io/android-testing-support-library/docs/espresso/idling-resource/
+        Thread.sleep(500);
+
+        // when clicking again on the first one, the last one collapses
+        onView(withText(HEADER_1)).perform(click());
+        onView(withText(CONTENT_3)).check(isNotDisplayed());
+        onView(withText(CONTENT_1)).check(matches(isDisplayed()));
+
+        // check that HTML in disclaimers is respected
+        onView(withText("header2")).perform(click());
+        onView(withId(R.id.disclaimer_content)).check(matches(withText("item1\nitem2\n")));
+    }
+
+    /**
+     * As long as as the item is not visible to the user, we're happy
+     */
+    private ViewAssertion isNotDisplayed() {
+        return (view, e) -> {
+            if (view != null) {
+                matches(not(isDisplayed()));
+            }
+        };
+    }
+
+    private Intent createIntent(String provisioningAction,
+            DisclaimersParam.Disclaimer... disclaimers) {
+        DisclaimersParam disclaimersParam = new DisclaimersParam.Builder().setDisclaimers(
+                disclaimers).build();
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(provisioningAction)
+                .setDisclaimersParam(disclaimersParam)
+                .setDeviceAdminComponentName(new ComponentName("test.pkg.name.controller", "Main"))
+                .build();
+        Intent intent = new Intent();
+        intent.putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
+        return intent;
+    }
+
+    private DisclaimersParam.Disclaimer setUpDisclaimer(String header, String contentPath,
+            String content) {
+        mPathToContent.put(contentPath, content);
+        return new DisclaimersParam.Disclaimer(header, contentPath);
+    }
+}
+
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapterTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapterTest.java
new file mode 100644
index 0000000..e944bdf
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsListAdapterTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+import android.graphics.Color;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.view.LayoutInflater;
+
+import com.android.managedprovisioning.common.ClickableSpanFactory;
+import com.android.managedprovisioning.common.AccessibilityContextMenuMaker;
+import com.android.managedprovisioning.common.HtmlToSpannedParser;
+import com.android.managedprovisioning.preprovisioning.WebActivity;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+import java.util.List;
+
+@SmallTest
+public class TermsListAdapterTest {
+    private @Mock LayoutInflater mLayoutInflater;
+    private @Mock AccessibilityContextMenuMaker mContextMenuMaker;
+
+    private List<TermsDocument> mDocs;
+    private HtmlToSpannedParser mHtmlToSpannedParser;
+    private TermsListAdapter.GroupExpandedInfo mGroupInfoAlwaysCollapsed = i -> false;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        TermsDocument doc1 = TermsDocument.createInstance("h1", "c1");
+        TermsDocument doc2 = TermsDocument.createInstance("h2", "c2");
+        TermsDocument doc3 = TermsDocument.createInstance("h3", "c3");
+        mDocs = Arrays.asList(doc1, doc2, doc3);
+
+        mHtmlToSpannedParser = new HtmlToSpannedParser(new ClickableSpanFactory(Color.MAGENTA),
+                url -> WebActivity.createIntent(InstrumentationRegistry.getTargetContext(), url,
+                        Color.BLUE));
+    }
+
+    @Test
+    public void returnsCorrectDocument() {
+        // given: an adapter
+        TermsListAdapter adapter = new TermsListAdapter(mDocs, mLayoutInflater, mContextMenuMaker,
+                mHtmlToSpannedParser, mGroupInfoAlwaysCollapsed);
+
+        // when: asked for a document from the initially passed-in list
+        for (int i = 0; i < mDocs.size(); i++) {
+            // then: elements from that list are returned
+            assertThat(adapter.getChild(i, 0), sameInstance(mDocs.get(i)));
+            assertThat(adapter.getGroup(i), sameInstance(mDocs.get(i)));
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsProviderTest.java b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsProviderTest.java
new file mode 100755
index 0000000..be8ab81
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/preprovisioning/terms/TermsProviderTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.preprovisioning.terms;
+
+import static com.android.managedprovisioning.provisioning.ProvisioningActivityTest.DEVICE_OWNER_PARAMS;
+import static com.android.managedprovisioning.provisioning.ProvisioningActivityTest.PROFILE_OWNER_PARAMS;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.not;
+import static org.junit.Assert.assertThat;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.List;
+
+@SmallTest
+public class TermsProviderTest {
+    private TermsProvider mTermsProvider;
+    private String stringGeneralPo;
+    private String stringGeneralDo;
+    private String stringAdminDisclaimerDo;
+    private String stringAdminDisclaimerPo;
+
+    @Before
+    public void setUp() {
+        Context context = InstrumentationRegistry.getTargetContext();
+        mTermsProvider = new TermsProvider(context, s -> "", new Utils());
+        stringGeneralPo = context.getString(R.string.work_profile_info);
+        stringGeneralDo = context.getString(R.string.managed_device_info);
+        stringAdminDisclaimerDo = context.getString(R.string.admin_has_ability_to_monitor_device);
+        stringAdminDisclaimerPo = context.getString(R.string.admin_has_ability_to_monitor_profile);
+    }
+
+    @Test
+    public void generalHeading_presentAsFirst_profileOwner() throws Exception {
+        List<TermsDocument> terms = mTermsProvider.getTerms(PROFILE_OWNER_PARAMS, 0);
+        assertThat(terms.get(0).getHeading(), equalTo(stringGeneralPo));
+        assertThat(terms.get(0).getContent(), equalTo(stringAdminDisclaimerPo));
+    }
+
+    @Test
+    public void generalHeading_presentAsFirst_deviceOwner() throws Exception {
+        List<TermsDocument> terms = mTermsProvider.getTerms(DEVICE_OWNER_PARAMS, 0);
+        assertThat(terms.get(0).getHeading(), equalTo(stringGeneralDo));
+        assertThat(terms.get(0).getContent(), equalTo(stringAdminDisclaimerDo));
+    }
+
+    @Test
+    public void flag_skipGeneral() {
+        ProvisioningParams[] params = {PROFILE_OWNER_PARAMS, DEVICE_OWNER_PARAMS};
+        for (ProvisioningParams p : params) {
+            List<TermsDocument> terms = mTermsProvider.getTerms(p,
+                    TermsProvider.Flags.SKIP_GENERAL_DISCLAIMER);
+            if (terms != null && !terms.isEmpty()) {
+                assertThat(terms.get(0), not(equalTo(stringGeneralPo)));
+                assertThat(terms.get(0), not(equalTo(stringGeneralDo)));
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningControllerTest.java
new file mode 100644
index 0000000..c7d2d56
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/DeviceOwnerProvisioningControllerTest.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.content.ComponentName;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.finalization.FinalizationController;
+import com.android.managedprovisioning.model.PackageDownloadInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.model.WifiInfo;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+import com.android.managedprovisioning.task.AddWifiNetworkTask;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DeviceOwnerInitializeProvisioningTask;
+import com.android.managedprovisioning.task.DisallowAddUserTask;
+import com.android.managedprovisioning.task.DownloadPackageTask;
+import com.android.managedprovisioning.task.InstallPackageTask;
+import com.android.managedprovisioning.task.SetDevicePolicyTask;
+import com.android.managedprovisioning.task.VerifyPackageTask;
+
+import org.mockito.Mock;
+
+/**
+ * Unit tests for {@link DeviceOwnerProvisioningController}.
+ */
+public class DeviceOwnerProvisioningControllerTest extends ProvisioningControllerBaseTest {
+
+    private static final int TEST_USER_ID = 123;
+    private static final ComponentName TEST_ADMIN = new ComponentName("com.test.admin",
+            "com.test.admin.AdminReceiver");
+
+    private static final String TEST_SSID = "SomeSsid";
+    private static final WifiInfo TEST_WIFI_INFO = new WifiInfo.Builder()
+            .setSsid(TEST_SSID)
+            .build();
+
+    private static final String TEST_DOWNLOAD_LOCATION = "http://www.some.uri.com";
+    private static final byte[] TEST_PACKAGE_CHECKSUM = new byte[] { '1', '2', '3', '4', '5' };
+    private static final PackageDownloadInfo TEST_DOWNLOAD_INFO = new PackageDownloadInfo.Builder()
+            .setLocation(TEST_DOWNLOAD_LOCATION)
+            .setSignatureChecksum(TEST_PACKAGE_CHECKSUM)
+            .build();
+
+    @Mock private ProvisioningControllerCallback mCallback;
+    @Mock private FinalizationController mFinalizationController;
+    private ProvisioningParams mParams;
+
+    @SmallTest
+    public void testRunAllTasks() throws Exception {
+        // GIVEN device owner provisioning was invoked with a wifi and download info
+        createController(TEST_WIFI_INFO, TEST_DOWNLOAD_INFO);
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the initialization task is run first
+        taskSucceeded(DeviceOwnerInitializeProvisioningTask.class);
+
+        // THEN the add wifi task should be run
+        taskSucceeded(AddWifiNetworkTask.class);
+
+        // THEN the download package task should be run
+        taskSucceeded(DownloadPackageTask.class);
+
+        // THEN the verify package task should be run
+        taskSucceeded(VerifyPackageTask.class);
+
+        // THEN the install package task should be run
+        taskSucceeded(InstallPackageTask.class);
+
+        // THEN the delete non-required apps task should be run
+        taskSucceeded(DeleteNonRequiredAppsTask.class);
+
+        // THEN the set device policy task should be run
+        taskSucceeded(SetDevicePolicyTask.class);
+
+        // THEN the disallow add user task should be run
+        taskSucceeded(DisallowAddUserTask.class);
+
+        // THEN the provisioning complete callback should have happened
+        verify(mCallback).provisioningTasksCompleted();
+    }
+
+    @SmallTest
+    public void testNoWifiInfo() throws Exception {
+        // GIVEN device owner provisioning was invoked with a wifi and download info
+        createController(null, TEST_DOWNLOAD_INFO);
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the initialization task is run first
+        taskSucceeded(DeviceOwnerInitializeProvisioningTask.class);
+
+        // THEN the download package task should be run
+        taskSucceeded(DownloadPackageTask.class);
+
+        // THEN the verify package task should be run
+        taskSucceeded(VerifyPackageTask.class);
+
+        // THEN the install package task should be run
+        taskSucceeded(InstallPackageTask.class);
+
+        // THEN the delete non-required apps task should be run
+        taskSucceeded(DeleteNonRequiredAppsTask.class);
+
+        // THEN the set device policy task should be run
+        taskSucceeded(SetDevicePolicyTask.class);
+
+        // THEN the disallow add user task should be run
+        taskSucceeded(DisallowAddUserTask.class);
+
+        // THEN the provisioning complete callback should have happened
+        verify(mCallback).provisioningTasksCompleted();
+    }
+
+    @SmallTest
+    public void testNoDownloadInfo() throws Exception {
+        // GIVEN device owner provisioning was invoked with a wifi and download info
+        createController(TEST_WIFI_INFO, null);
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the initialization task is run first
+        taskSucceeded(DeviceOwnerInitializeProvisioningTask.class);
+
+        // THEN the add wifi task should be run
+        taskSucceeded(AddWifiNetworkTask.class);
+
+        // THEN the delete non-required apps task should be run
+        taskSucceeded(DeleteNonRequiredAppsTask.class);
+
+        // THEN the set device policy task should be run
+        taskSucceeded(SetDevicePolicyTask.class);
+
+        // THEN the disallow add user task should be run
+        taskSucceeded(DisallowAddUserTask.class);
+
+        // THEN the provisioning complete callback should have happened
+        verify(mCallback).provisioningTasksCompleted();
+    }
+
+    @SmallTest
+    public void testErrorAddWifiTask() throws Exception {
+        // GIVEN device owner provisioning was invoked with a wifi and download info
+        createController(TEST_WIFI_INFO, TEST_DOWNLOAD_INFO);
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the initialization task is run first
+        taskSucceeded(DeviceOwnerInitializeProvisioningTask.class);
+
+        // THEN the add wifi task should be run
+        AbstractProvisioningTask task = verifyTaskRun(AddWifiNetworkTask.class);
+
+        // WHEN the task causes an error
+        mController.onError(task, 0);
+
+        // THEN the onError callback should have been called without factory reset being required
+        verify(mCallback).error(eq(R.string.cant_set_up_device), anyInt(), eq(false));
+    }
+
+    @SmallTest
+    public void testErrorDownloadAppTask() throws Exception {
+        // GIVEN device owner provisioning was invoked with a wifi and download info
+        createController(TEST_WIFI_INFO, TEST_DOWNLOAD_INFO);
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the initialization task is run first
+        taskSucceeded(DeviceOwnerInitializeProvisioningTask.class);
+
+        // THEN the add wifi task should be run
+        taskSucceeded(AddWifiNetworkTask.class);
+
+        // THEN the download package task should be run
+        AbstractProvisioningTask task = verifyTaskRun(DownloadPackageTask.class);
+
+        // WHEN the task causes an error
+        mController.onError(task, 0);
+
+        // THEN the onError callback should have been called with factory reset being required
+        verify(mCallback).error(anyInt(), anyInt(), eq(true));
+    }
+
+    private void createController(WifiInfo wifiInfo, PackageDownloadInfo downloadInfo) {
+        mParams = new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(TEST_ADMIN)
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+                .setWifiInfo(wifiInfo)
+                .setDeviceAdminDownloadInfo(downloadInfo)
+                .build();
+
+        mController = new DeviceOwnerProvisioningController(
+                getContext(),
+                mParams,
+                TEST_USER_ID,
+                mCallback,
+                mFinalizationController);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningControllerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningControllerTest.java
new file mode 100644
index 0000000..ca17588
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProfileOwnerProvisioningControllerTest.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.test.filters.MediumTest;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.finalization.FinalizationController;
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+import com.android.managedprovisioning.task.CopyAccountToUserTask;
+import com.android.managedprovisioning.task.CreateManagedProfileTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
+import com.android.managedprovisioning.task.InstallExistingPackageTask;
+import com.android.managedprovisioning.task.ManagedProfileSettingsTask;
+import com.android.managedprovisioning.task.SetDevicePolicyTask;
+import com.android.managedprovisioning.task.StartManagedProfileTask;
+
+import org.mockito.Mock;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Unit tests for {@link ProfileOwnerProvisioningController}.
+ */
+
+public class ProfileOwnerProvisioningControllerTest extends ProvisioningControllerBaseTest {
+
+    private static final int TEST_PARENT_USER_ID = 1;
+    private static final int TEST_PROFILE_USER_ID = 2;
+    private static final ComponentName TEST_ADMIN = new ComponentName("com.test.admin",
+            "com.test.admin.AdminReceiver");
+
+    @Mock private ProvisioningControllerCallback mCallback;
+    @Mock private FinalizationController mFinalizationController;
+    @Mock private UserManager mUserManager;
+    private Context mContext;
+    private ProvisioningParams mParams;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+
+        mContext = new ContextWrapper(getContext()) {
+            @Override
+            public Object getSystemService(String name) {
+                if (Context.USER_SERVICE.equals(name)) {
+                    return mUserManager;
+                }
+                return super.getSystemService(name);
+            }
+        };
+
+        when(mUserManager.createProfileForUser(anyString(), anyInt(), eq(TEST_PARENT_USER_ID)))
+                .thenReturn(new UserInfo(TEST_PROFILE_USER_ID, null, 0));
+    }
+
+    @SmallTest
+    public void testRunAllTasks() throws Exception {
+        // GIVEN device profile owner provisioning was invoked
+        createController();
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the create managed profile task is run first
+        verifyTaskRun(CreateManagedProfileTask.class);
+
+        // WHEN the task completes successfully
+        CreateManagedProfileTask createManagedProfileTask = mock(CreateManagedProfileTask.class);
+        when(createManagedProfileTask.getProfileUserId()).thenReturn(TEST_PROFILE_USER_ID);
+        mController.onSuccess(createManagedProfileTask);
+
+        // THEN the install existing package task is run
+        taskSucceeded(InstallExistingPackageTask.class);
+
+        // THEN the set device policy task is run
+        taskSucceeded(SetDevicePolicyTask.class);
+
+        // THEN the managed profile settings task is run
+        taskSucceeded(ManagedProfileSettingsTask.class);
+
+        // THEN the disable install shortcut listeners task is run
+        taskSucceeded(DisableInstallShortcutListenersTask.class);
+
+        // THEN the start managed profile task is run
+        taskSucceeded(StartManagedProfileTask.class);
+
+        // THEN the copy account to user task is run
+        taskSucceeded(CopyAccountToUserTask.class);
+
+        // THEN the provisioning complete callback should have happened
+        verify(mCallback).provisioningTasksCompleted();
+    }
+
+    @MediumTest
+    public void testCancel() throws Exception {
+        // GIVEN device profile owner provisioning was invoked
+        createController();
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the create managed profile task is run first
+        verifyTaskRun(CreateManagedProfileTask.class);
+
+        // WHEN the task completes successfully
+        CreateManagedProfileTask createManagedProfileTask = mock(CreateManagedProfileTask.class);
+        when(createManagedProfileTask.getProfileUserId()).thenReturn(TEST_PROFILE_USER_ID);
+        mController.onSuccess(createManagedProfileTask);
+
+        // THEN the install existing package task is run
+        AbstractProvisioningTask task = verifyTaskRun(InstallExistingPackageTask.class);
+
+        // latch used to wait for onCancelled callback
+        final CountDownLatch latch = new CountDownLatch(1);
+        doAnswer(new Answer<Void>() {
+            @Override
+            public Void answer(InvocationOnMock invocationOnMock) throws Throwable {
+                latch.countDown();
+                return null;
+            }
+        }).when(mCallback).cleanUpCompleted();
+
+        // WHEN the user cancels the provisioning progress
+        mController.cancel();
+
+        // THEN the activity is informed that progress has been cancelled
+        assertTrue(latch.await(1, TimeUnit.SECONDS));
+
+        // THEN the managed profile is deleted
+        verify(mUserManager).removeUserEvenWhenDisallowed(TEST_PROFILE_USER_ID);
+
+        // WHEN the install existing package task eventually finishes
+        mController.onSuccess(task);
+
+        // THEN no more tasks should be run
+        assertNull(mHandler.getLastTask());
+    }
+
+    @SmallTest
+    public void testError() throws Exception {
+        // GIVEN device profile owner provisioning was invoked
+        createController();
+
+        // WHEN starting the test run
+        mController.start(mHandler);
+
+        // THEN the create managed profile task is run first
+        verifyTaskRun(CreateManagedProfileTask.class);
+
+        // WHEN the task completes successfully
+        CreateManagedProfileTask createManagedProfileTask = mock(CreateManagedProfileTask.class);
+        when(createManagedProfileTask.getProfileUserId()).thenReturn(TEST_PROFILE_USER_ID);
+        mController.onSuccess(createManagedProfileTask);
+
+        // THEN the install existing package task is run
+        AbstractProvisioningTask task = verifyTaskRun(InstallExistingPackageTask.class);
+
+        // WHEN the task encountered an error
+        mController.onError(task, 0);
+
+        // THEN the activity should be informed about the error
+        verify(mCallback).error(R.string.cant_set_up_profile,
+                R.string.managed_provisioning_error_text, false);
+    }
+
+    private void createController() {
+        mParams = new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(TEST_ADMIN)
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                .build();
+
+        mController = new ProfileOwnerProvisioningController(
+                mContext,
+                mParams,
+                TEST_PARENT_USER_ID,
+                mCallback,
+                mFinalizationController);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningActivityTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningActivityTest.java
new file mode 100644
index 0000000..4af2b0d
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningActivityTest.java
@@ -0,0 +1,408 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.Espresso.pressBack;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+
+import static com.android.managedprovisioning.common.LogoUtils.saveOrganisationLogo;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_DO;
+import static com.android.managedprovisioning.model.CustomizationParams.DEFAULT_COLOR_ID_MP;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+import static java.util.Arrays.asList;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.rule.ActivityTestRule;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.TestInstrumentationRunner;
+import com.android.managedprovisioning.common.CustomizationVerifier;
+import com.android.managedprovisioning.common.UriBitmap;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.IOException;
+
+/**
+ * Unit tests for {@link ProvisioningActivity}.
+ */
+@SmallTest
+public class ProvisioningActivityTest {
+    private static final String ADMIN_PACKAGE = "com.test.admin";
+    private static final ComponentName ADMIN = new ComponentName(ADMIN_PACKAGE, ".Receiver");
+    public static final ProvisioningParams PROFILE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    public static final ProvisioningParams DEVICE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    private static final Intent PROFILE_OWNER_INTENT = new Intent()
+            .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, PROFILE_OWNER_PARAMS);
+    private static final Intent DEVICE_OWNER_INTENT = new Intent()
+            .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, DEVICE_OWNER_PARAMS);
+
+    @Rule
+    public ActivityTestRule<ProvisioningActivity> mActivityRule = new ActivityTestRule<>(
+            ProvisioningActivity.class, true /* Initial touch mode  */,
+            false /* Lazily launch activity */);
+
+    @Mock private ProvisioningManager mProvisioningManager;
+    @Mock private Utils mUtils;
+    private static int mRotationLocked;
+
+    @BeforeClass
+    public static void setUpClass() {
+        // Stop the activity from rotating in order to keep hold of the context
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        mRotationLocked = Settings.System.getInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 0);
+        Settings.System.putInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 0);
+    }
+
+    @AfterClass
+    public static void tearDownClass() {
+        // Reset the rotation value back to what it was before the test
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        Settings.System.putInt(context.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, mRotationLocked);
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        TestInstrumentationRunner.registerReplacedActivity(ProvisioningActivity.class,
+                (classLoader, className, intent) ->
+                        new ProvisioningActivity(mProvisioningManager, mUtils));
+    }
+
+    @After
+    public void tearDown() {
+        TestInstrumentationRunner.unregisterReplacedActivity(ProvisioningActivity.class);
+    }
+
+    @Test
+    public void testLaunch() {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // THEN the provisioning process should be initiated
+        verify(mProvisioningManager).maybeStartProvisioning(PROFILE_OWNER_PARAMS);
+
+        // THEN the activity should start listening for provisioning updates
+        verify(mProvisioningManager).registerListener(any(ProvisioningManagerCallback.class));
+        verifyNoMoreInteractions(mProvisioningManager);
+    }
+
+    @Test
+    public void testColors() {
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        // default color Managed Profile (MP)
+        assertColorsCorrect(PROFILE_OWNER_INTENT, context.getColor(DEFAULT_COLOR_ID_MP));
+
+        // default color Device Owner (DO)
+        assertColorsCorrect(DEVICE_OWNER_INTENT, context.getColor(DEFAULT_COLOR_ID_DO));
+
+        // custom color for both cases (MP, DO)
+        int targetColor = Color.parseColor("#d40000"); // any color (except default) would do
+        for (String action : asList(ACTION_PROVISION_MANAGED_PROFILE,
+                ACTION_PROVISION_MANAGED_DEVICE)) {
+            ProvisioningParams provisioningParams = new ProvisioningParams.Builder()
+                    .setProvisioningAction(action)
+                    .setDeviceAdminComponentName(ADMIN)
+                    .setMainColor(targetColor)
+                    .build();
+            assertColorsCorrect(new Intent().putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS,
+                    provisioningParams), targetColor);
+        }
+    }
+
+    private void assertColorsCorrect(Intent intent, int color) {
+        launchActivityAndWait(intent);
+        Activity activity = mActivityRule.getActivity();
+
+        CustomizationVerifier customizationVerifier = new CustomizationVerifier(activity);
+        customizationVerifier.assertStatusBarColorCorrect(color);
+        customizationVerifier.assertDefaultLogoCorrect(color);
+        customizationVerifier.assertProgressBarColorCorrect(color);
+
+        activity.finish();
+    }
+
+    @Test
+    public void testCustomLogo() throws IOException {
+        assertCustomLogoCorrect(PROFILE_OWNER_INTENT);
+        assertCustomLogoCorrect(DEVICE_OWNER_INTENT);
+    }
+
+    private void assertCustomLogoCorrect(Intent intent) throws IOException {
+        UriBitmap targetLogo = UriBitmap.createSimpleInstance();
+        saveOrganisationLogo(InstrumentationRegistry.getTargetContext(), targetLogo.getUri());
+        launchActivityAndWait(intent);
+        ProvisioningActivity activity = mActivityRule.getActivity();
+        new CustomizationVerifier(activity).assertCustomLogoCorrect(targetLogo.getBitmap());
+        activity.finish();
+    }
+
+    @Test
+    public void testSavedInstanceState() throws Throwable {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // THEN the provisioning process should be initiated
+        verify(mProvisioningManager).maybeStartProvisioning(PROFILE_OWNER_PARAMS);
+
+        // WHEN the activity is recreated with a saved instance state
+        mActivityRule.runOnUiThread(() -> {
+                    Bundle bundle = new Bundle();
+                    InstrumentationRegistry.getInstrumentation()
+                            .callActivityOnSaveInstanceState(mActivityRule.getActivity(), bundle);
+                    InstrumentationRegistry.getInstrumentation()
+                            .callActivityOnCreate(mActivityRule.getActivity(), bundle);
+                });
+
+        // THEN provisioning should not be initiated again
+        verify(mProvisioningManager).maybeStartProvisioning(PROFILE_OWNER_PARAMS);
+    }
+
+    @Test
+    public void testPause() throws Throwable {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // WHEN the activity is paused
+        mActivityRule.runOnUiThread(() -> {
+            InstrumentationRegistry.getInstrumentation()
+                    .callActivityOnPause(mActivityRule.getActivity());
+        });
+
+        // THEN the listener is unregistered
+        verify(mProvisioningManager).unregisterListener(any(ProvisioningManagerCallback.class));
+    }
+
+    @Test
+    public void testErrorNoFactoryReset() throws Throwable {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // WHEN an error occurred that does not require factory reset
+        final int errorMsgId = R.string.managed_provisioning_error_text;
+        mActivityRule.runOnUiThread(() -> mActivityRule.getActivity().error(R.string.cant_set_up_device, errorMsgId, false));
+
+        // THEN the UI should show an error dialog
+        onView(withText(errorMsgId)).check(matches(isDisplayed()));
+
+        // WHEN clicking ok
+        onView(withId(android.R.id.button1))
+                .check(matches(withText(R.string.device_owner_error_ok)))
+                .perform(click());
+
+        // THEN the activity should be finishing
+        assertTrue(mActivityRule.getActivity().isFinishing());
+    }
+
+    @Test
+    public void testErrorFactoryReset() throws Throwable {
+        // GIVEN the activity was launched with a device owner intent
+        launchActivityAndWait(DEVICE_OWNER_INTENT);
+
+        // WHEN an error occurred that does not require factory reset
+        final int errorMsgId = R.string.managed_provisioning_error_text;
+        mActivityRule.runOnUiThread(() -> mActivityRule.getActivity().error(R.string.cant_set_up_device, errorMsgId, true));
+
+        // THEN the UI should show an error dialog
+        onView(withText(errorMsgId)).check(matches(isDisplayed()));
+
+        // WHEN clicking the ok button that says that factory reset is required
+        onView(withId(android.R.id.button1))
+                .check(matches(withText(R.string.reset)))
+                .perform(click());
+
+        // THEN factory reset should be invoked
+        verify(mUtils).sendFactoryResetBroadcast(any(Context.class), anyString());
+    }
+
+    @Test
+    public void testCancelProfileOwner() throws Throwable {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // WHEN the user tries to cancel
+        pressBack();
+
+        // THEN the cancel dialog should be shown
+        onView(withText(R.string.profile_owner_cancel_message)).check(matches(isDisplayed()));
+
+        // WHEN deciding not to cancel
+        onView(withId(android.R.id.button2))
+                .check(matches(withText(R.string.profile_owner_cancel_cancel)))
+                .perform(click());
+
+        // THEN the activity should not be finished
+        assertFalse(mActivityRule.getActivity().isFinishing());
+
+        // WHEN the user tries to cancel
+        pressBack();
+
+        // THEN the cancel dialog should be shown
+        onView(withText(R.string.profile_owner_cancel_message)).check(matches(isDisplayed()));
+
+        // WHEN deciding to cancel
+        onView(withId(android.R.id.button1))
+                .check(matches(withText(R.string.profile_owner_cancel_ok)))
+                .perform(click());
+
+        // THEN the manager should be informed
+        verify(mProvisioningManager).cancelProvisioning();
+
+        // THEN the activity should be finished
+        assertTrue(mActivityRule.getActivity().isFinishing());
+    }
+
+    @Test
+    public void testCancelProfileOwner_CompProvisioningWithSkipConsent() throws Throwable {
+        // GIVEN launching profile intent with skipping user consent
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                .setDeviceAdminComponentName(ADMIN)
+                .setSkipUserConsent(true)
+                .build();
+        Intent intent = new Intent()
+                .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
+        launchActivityAndWait(new Intent(intent));
+
+        // WHEN the user tries to cancel
+        mActivityRule.runOnUiThread(() -> mActivityRule.getActivity().onBackPressed());
+
+        // THEN never unregistering ProvisioningManager
+        verify(mProvisioningManager, never()).unregisterListener(
+                any(ProvisioningManagerCallback.class));
+    }
+
+    @Test
+    public void testCancelProfileOwner_CompProvisioningWithoutSkipConsent() throws Throwable {
+        // GIVEN launching profile intent without skipping user consent
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                .setDeviceAdminComponentName(ADMIN)
+                .setSkipUserConsent(false)
+                .build();
+        Intent intent = new Intent()
+                .putExtra(ProvisioningParams.EXTRA_PROVISIONING_PARAMS, params);
+        launchActivityAndWait(new Intent(intent));
+
+        // WHEN the user tries to cancel
+        mActivityRule.runOnUiThread(() -> mActivityRule.getActivity().onBackPressed());
+
+        // THEN unregistering ProvisioningManager
+        verify(mProvisioningManager).unregisterListener(any(ProvisioningManagerCallback.class));
+
+        // THEN the cancel dialog should be shown
+        onView(withText(R.string.profile_owner_cancel_message)).check(matches(isDisplayed()));
+    }
+
+    @Test
+    public void testCancelDeviceOwner() throws Throwable {
+        // GIVEN the activity was launched with a device owner intent
+        launchActivityAndWait(DEVICE_OWNER_INTENT);
+
+        // WHEN the user tries to cancel
+        pressBack();
+
+        // THEN the cancel dialog should be shown
+        onView(withText(R.string.stop_setup_reset_device_question)).check(matches(isDisplayed()));
+        onView(withText(R.string.this_will_reset_take_back_first_screen))
+                .check(matches(isDisplayed()));
+
+        // WHEN deciding not to cancel
+        onView(withId(android.R.id.button2))
+                .check(matches(withText(R.string.device_owner_cancel_cancel)))
+                .perform(click());
+
+        // THEN the activity should not be finished
+        assertFalse(mActivityRule.getActivity().isFinishing());
+
+        // WHEN the user tries to cancel
+        pressBack();
+
+        // THEN the cancel dialog should be shown
+        onView(withText(R.string.stop_setup_reset_device_question)).check(matches(isDisplayed()));
+
+        // WHEN deciding to cancel
+        onView(withId(android.R.id.button1))
+                .check(matches(withText(R.string.reset)))
+                .perform(click());
+
+        // THEN factory reset should be invoked
+        verify(mUtils).sendFactoryResetBroadcast(any(Context.class), anyString());
+    }
+
+    @Test
+    public void testSuccess() throws Throwable {
+        // GIVEN the activity was launched with a profile owner intent
+        launchActivityAndWait(PROFILE_OWNER_INTENT);
+
+        // WHEN preFinalization is completed
+        mActivityRule.runOnUiThread(() -> mActivityRule.getActivity().preFinalizationCompleted());
+
+        // THEN the activity should finish
+        assertTrue(mActivityRule.getActivity().isFinishing());
+    }
+
+    private void launchActivityAndWait(Intent intent) {
+        mActivityRule.launchActivity(intent);
+        onView(withId(R.id.setup_wizard_layout));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerBaseTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerBaseTest.java
new file mode 100644
index 0000000..65c23e4
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerBaseTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static com.android.managedprovisioning.provisioning.AbstractProvisioningController.MSG_RUN_TASK;
+
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.test.AndroidTestCase;
+
+import com.android.managedprovisioning.task.AbstractProvisioningTask;
+
+import org.mockito.MockitoAnnotations;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Base class for provisioning controller tests.
+ */
+public abstract class ProvisioningControllerBaseTest extends AndroidTestCase {
+
+    private HandlerThread mHandlerThread;
+    protected FakeTaskHandler mHandler;
+    protected AbstractProvisioningController mController;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+        mHandlerThread = new HandlerThread("TestHandler");
+        mHandlerThread.start();
+        mHandler = new FakeTaskHandler(mHandlerThread.getLooper());
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        mHandlerThread.quitSafely();
+        super.tearDown();
+    }
+
+    protected void taskSucceeded(Class expected) throws Exception {
+        AbstractProvisioningTask task = verifyTaskRun(expected);
+        // WHEN the task completes successfully
+        mController.onSuccess(task);
+    }
+
+    protected AbstractProvisioningTask verifyTaskRun(Class expected) throws Exception {
+        AbstractProvisioningTask task = mHandler.getLastTask();
+        assertNotNull(task);
+        assertEquals(expected, task.getClass());
+        return task;
+    }
+
+    protected class FakeTaskHandler extends Handler {
+
+        FakeTaskHandler(Looper looper) {
+            super(looper);
+        }
+
+        private BlockingQueue<AbstractProvisioningTask> mBlockingQueue
+                = new ArrayBlockingQueue<>(1);
+
+        public AbstractProvisioningTask getLastTask() throws Exception {
+            return mBlockingQueue.poll(10, TimeUnit.SECONDS);
+        }
+
+        public void handleMessage(Message msg) {
+            if (msg.what == MSG_RUN_TASK) {
+                assertTrue(mBlockingQueue.add((AbstractProvisioningTask) msg.obj));
+            } else {
+                fail("Unknown message " + msg.what);
+            }
+        }
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactoryTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactoryTest.java
new file mode 100644
index 0000000..9f9bad1
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningControllerFactoryTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.junit.Assert.assertTrue;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link ProvisioningControllerFactory}.
+ */
+@SmallTest
+public class ProvisioningControllerFactoryTest {
+    private static final ComponentName ADMIN = new ComponentName("com.test.admin", ".Receiver");
+    private static final ProvisioningParams PROFILE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    private static final ProvisioningParams DEVICE_OWNER_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+
+    private ProvisioningControllerFactory mFactory = new ProvisioningControllerFactory();
+    @Mock private ProvisioningControllerCallback mCallback;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void testProfileOwner() {
+        // WHEN calling the factory with a set of profile owner params
+        AbstractProvisioningController controller =
+                mFactory.createProvisioningController(InstrumentationRegistry.getTargetContext(),
+                        PROFILE_OWNER_PARAMS, mCallback);
+
+        // THEN the controller should be a profile owner controller
+        assertTrue(controller instanceof ProfileOwnerProvisioningController);
+    }
+
+    @Test
+    public void testDeviceOwner() {
+        // WHEN calling the factory with a set of device owner params
+        AbstractProvisioningController controller =
+                mFactory.createProvisioningController(InstrumentationRegistry.getTargetContext(),
+                        DEVICE_OWNER_PARAMS, mCallback);
+
+        // THEN the controller should be a device owner controller
+        assertTrue(controller instanceof DeviceOwnerProvisioningController);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningManagerTest.java b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningManagerTest.java
new file mode 100644
index 0000000..28af638
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/provisioning/ProvisioningManagerTest.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.provisioning;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.analytics.ProvisioningAnalyticsTracker;
+import com.android.managedprovisioning.analytics.TimeLogger;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+
+/**
+ * Unit tests for {@link ProvisioningManager}.
+ */
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class ProvisioningManagerTest {
+    private final int TEST_PROGRESS_ID = 123;
+    private final int TEST_ERROR_ID = 456;
+    private final boolean TEST_FACTORY_RESET_REQUIRED = true;
+    private final ComponentName TEST_ADMIN = new ComponentName("com.test.admin", ".AdminReceiver");
+    private final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(TEST_ADMIN)
+            .build();
+
+    @Mock private Context mContext;
+    @Mock private ProvisioningControllerFactory mFactory;
+    @Mock private ProvisioningAnalyticsTracker mAnalyticsTracker;
+    @Mock private TimeLogger mTimeLogger;
+    @Mock private Handler mUiHandler;
+    @Mock private ProvisioningManagerCallback mCallback;
+    @Mock private AbstractProvisioningController mController;
+
+    private ProvisioningManager mManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        // Immediately execute any message that is sent onto the handler
+        when(mUiHandler.sendMessageAtTime(any(Message.class), anyLong())).thenAnswer(
+                (InvocationOnMock invocation) -> {
+                    Message msg = (Message) invocation.getArguments()[0];
+                    msg.getCallback().run();
+                    return null;
+                });
+        mManager = new ProvisioningManager(mContext, mUiHandler, mFactory, mAnalyticsTracker,
+                mTimeLogger);
+        when(mFactory.createProvisioningController(mContext, TEST_PARAMS, mManager))
+                .thenReturn(mController);
+    }
+
+    @Test
+    public void testMaybeStartProvisioning() {
+        // GIVEN that provisioning is not currently running
+        // WHEN calling maybeStartProvisioning
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+
+        // THEN the factory should be called
+        verify(mFactory).createProvisioningController(mContext, TEST_PARAMS, mManager);
+
+        // THEN the controller should be started on a Looper that is not the main thread
+        ArgumentCaptor<Looper> looperCaptor = ArgumentCaptor.forClass(Looper.class);
+        verify(mController).start(looperCaptor.capture());
+        assertTrue(looperCaptor.getValue() != Looper.getMainLooper());
+
+        // WHEN trying to start provisioning again
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+
+        // THEN nothing should happen
+        verifyNoMoreInteractions(mFactory);
+        verifyNoMoreInteractions(mController);
+    }
+
+    @Test
+    public void testCancelProvisioning() {
+        // GIVEN provisioning has been started
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+
+        // WHEN cancelling provisioning
+        mManager.cancelProvisioning();
+
+        // THEN the controller should be cancelled
+        verify(mController).cancel();
+    }
+
+    @Test
+    public void testRegisterListener_noProgress() {
+        // GIVEN no progress has previously been achieved
+        // WHEN a listener is registered
+        mManager.registerListener(mCallback);
+
+        // THEN no callback should be given
+        verifyZeroInteractions(mCallback);
+
+        // WHEN a progress callback was made
+        mManager.progressUpdate(TEST_PROGRESS_ID);
+
+        // THEN the listener should receive a callback
+        verify(mCallback).progressUpdate(TEST_PROGRESS_ID);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testListener_progress() {
+        // GIVEN a listener is registered
+        mManager.registerListener(mCallback);
+        // WHEN some progress has occurred previously
+        mManager.progressUpdate(TEST_PROGRESS_ID);
+        // THEN the listener should receive a callback
+        verify(mCallback).progressUpdate(TEST_PROGRESS_ID);
+
+        // WHEN the listener is unregistered and registered again
+        mManager.unregisterListener(mCallback);
+        mManager.registerListener(mCallback);
+        // THEN the listener should receive a callback again
+        verify(mCallback, times(2)).progressUpdate(TEST_PROGRESS_ID);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testListener_error() {
+        // GIVEN a listener is registered
+        mManager.registerListener(mCallback);
+        // WHEN some progress has occurred previously
+        mManager.error(R.string.cant_set_up_device, TEST_ERROR_ID, TEST_FACTORY_RESET_REQUIRED);
+        // THEN the listener should receive a callback
+        verify(mCallback).error(R.string.cant_set_up_device, TEST_ERROR_ID, TEST_FACTORY_RESET_REQUIRED);
+
+        // WHEN the listener is unregistered and registered again
+        mManager.unregisterListener(mCallback);
+        mManager.registerListener(mCallback);
+        // THEN the listener should receive a callback again
+        verify(mCallback, times(2)).error(R.string.cant_set_up_device, TEST_ERROR_ID, TEST_FACTORY_RESET_REQUIRED);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testProvisioningTasksCompleted() {
+        // GIVEN provisioning has been started
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+        // WHEN all tasks are completed.
+        mManager.provisioningTasksCompleted();
+        // THEN the controller should be prefinalized
+        verify(mController).preFinalize();
+    }
+
+    @Test
+    public void testListener_cleanupCompleted() {
+        // GIVEN provisioning has been started
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+
+        // GIVEN a listener is registered
+        mManager.registerListener(mCallback);
+        // WHEN some progress has occurred previously
+        mManager.cleanUpCompleted();
+        // THEN no callback is sent
+        verifyZeroInteractions(mCallback);
+    }
+
+    @Test
+    public void testListener_preFinalizationCompleted() {
+        // GIVEN provisioning has been started
+        mManager.maybeStartProvisioning(TEST_PARAMS);
+        // GIVEN a listener is registered
+        mManager.registerListener(mCallback);
+        // WHEN some progress has occurred previously
+        mManager.preFinalizationCompleted();
+        // THEN the listener should receive a callback
+        verify(mCallback).preFinalizationCompleted();
+
+        // WHEN the listener is unregistered and registered again
+        mManager.unregisterListener(mCallback);
+        mManager.registerListener(mCallback);
+        // THEN the listener should receive a callback again
+        verify(mCallback, times(2)).preFinalizationCompleted();
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testUnregisterListener() {
+        // GIVEN a register had previously been registered and then unregistered
+        mManager.registerListener(mCallback);
+        mManager.unregisterListener(mCallback);
+
+        // WHEN a progress callback was made
+        mManager.progressUpdate(TEST_PROGRESS_ID);
+
+        // THEN the listener should not receive a callback
+        verifyZeroInteractions(mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/CopyAccountToUserTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/CopyAccountToUserTaskTest.java
new file mode 100644
index 0000000..5e9daf6
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/CopyAccountToUserTaskTest.java
@@ -0,0 +1,208 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.nullable;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerCallback;
+import android.accounts.AccountManagerFuture;
+import android.accounts.OperationCanceledException;
+import android.content.Context;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.support.test.filters.FlakyTest;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Unit tests for {@link CopyAccountToUserTask}.
+ */
+@FlakyTest // TODO: http://b/34117742
+public class CopyAccountToUserTaskTest extends AndroidTestCase {
+    private static final String TEST_MDM_PACKAGE_NAME = "mdm.package.name";
+    private static final Account TEST_ACCOUNT = new Account("test@afw-test.com", "com.google");
+    private static final int TEST_SOURCE_USER_ID = 1;
+    private static final int TEST_TARGET_USER_ID = 2;
+
+    @Mock private Context mContext;
+    @Mock private AccountManager mAccountManager;
+    @Mock private AccountManagerFuture mAccountManagerFuture;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    private CopyAccountToUserTask mTask;
+
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mAccountManager);
+        when(mAccountManager.copyAccountToUser(
+                eq(TEST_ACCOUNT),
+                eq(UserHandle.of(TEST_SOURCE_USER_ID)),
+                eq(UserHandle.of(TEST_TARGET_USER_ID)),
+                nullable(AccountManagerCallback.class),
+                nullable(Handler.class))).thenReturn(mAccountManagerFuture);
+    }
+
+    @SmallTest
+    public void testRun() throws Exception {
+        // GIVEN an account on the source user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // GIVEN no timeout or error occurred during migration
+        when(mAccountManagerFuture.getResult(anyLong(), any(TimeUnit.class))).thenReturn(true);
+
+        // THEN when the task is run
+        mTask.run(TEST_TARGET_USER_ID);
+
+        // THEN the account migration was triggered
+        verify(mAccountManager).copyAccountToUser(
+                eq(TEST_ACCOUNT),
+                eq(UserHandle.of(TEST_SOURCE_USER_ID)),
+                eq(UserHandle.of(TEST_TARGET_USER_ID)),
+                nullable(AccountManagerCallback.class),
+                nullable(Handler.class));
+
+        // THEN the success callback should be given
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testRun_error() throws Exception {
+        // GIVEN an account on the source user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // GIVEN no timeout or error occurred during migration
+        when(mAccountManagerFuture.getResult(anyLong(), any(TimeUnit.class))).thenReturn(false);
+
+        // THEN when the task is run
+        mTask.run(TEST_TARGET_USER_ID);
+
+        // THEN the account migration was triggered
+        verify(mAccountManager).copyAccountToUser(
+                eq(TEST_ACCOUNT),
+                eq(UserHandle.of(TEST_SOURCE_USER_ID)),
+                eq(UserHandle.of(TEST_TARGET_USER_ID)),
+                nullable(AccountManagerCallback.class),
+                nullable(Handler.class));
+
+        // THEN the success callback should be given
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testRun_nullAccount() {
+        // GIVEN no account is passed
+        createTask(TEST_SOURCE_USER_ID, null);
+
+        // WHEN running the task
+        mTask.run(TEST_TARGET_USER_ID);
+
+        // THEN nothing should happen
+        verifyZeroInteractions(mAccountManager);
+
+        // THEN the success callback should still occur
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testRun_sameUser() {
+        // GIVEN an account on a user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // WHEN running the task for the same user
+        mTask.run(TEST_SOURCE_USER_ID);
+
+        // THEN nothing should happen
+        verifyZeroInteractions(mAccountManager);
+
+        // THEN the success callback should still occur
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testMaybeCopyAccount_success() throws Exception {
+        // GIVEN an account on the source user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // GIVEN no timeout or error occurred during migration
+        when(mAccountManagerFuture.getResult(anyLong(), any(TimeUnit.class))).thenReturn(true);
+
+        // WHEN copying the account from the source user to the target user
+        // THEN the account migration succeeds
+        assertTrue(mTask.maybeCopyAccount(TEST_TARGET_USER_ID));
+    }
+
+    @SmallTest
+    public void testMaybeCopyAccount_error() throws Exception {
+        // GIVEN an account on the source user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // GIVEN an error occurred during migration
+        when(mAccountManagerFuture.getResult(anyLong(), any(TimeUnit.class))).thenReturn(false);
+
+        // WHEN copying the account from the source user to the target user
+        // THEN the account migration fails
+        assertFalse(mTask.maybeCopyAccount(TEST_TARGET_USER_ID));
+    }
+
+    @SmallTest
+    public void testMaybeCopyAccount_timeout() throws Exception {
+        // GIVEN an account on the source user
+        createTask(TEST_SOURCE_USER_ID, TEST_ACCOUNT);
+
+        // GIVEN a timeout occurred during migration, which is indicated by an
+        // OperationCanceledException
+        when(mAccountManagerFuture.getResult(anyLong(), any(TimeUnit.class)))
+                .thenThrow(new OperationCanceledException());
+
+        // WHEN copying the account from the source user to the target user
+        // THEN the account migration fails
+        assertFalse(mTask.maybeCopyAccount(TEST_TARGET_USER_ID));
+    }
+
+    private void createTask(int sourceUserId, Account account) {
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+                .setDeviceAdminPackageName(TEST_MDM_PACKAGE_NAME)
+                .setAccountToMigrate(account)
+                .build();
+        mTask = new CopyAccountToUserTask(sourceUserId, mContext, params, mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/CreateManagedProfileTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/CreateManagedProfileTaskTest.java
new file mode 100644
index 0000000..8e33c0c
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/CreateManagedProfileTaskTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.AdditionalMatchers.aryEq;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.nonrequiredapps.NonRequiredAppsLogic;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class CreateManagedProfileTaskTest {
+    private static final int TEST_PARENT_USER_ID = 111;
+    private static final int TEST_USER_ID = 123;
+    private static final String TEST_DPC_PACKAGE_NAME = "com.test.dpc";
+    private static final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setDeviceAdminPackageName(TEST_DPC_PACKAGE_NAME)
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .build();
+    private static final String[] SYSTEM_APPS_TO_DELETE = {"app.a", "app.b"};
+
+    private @Mock UserManager mUserManager;
+    private @Mock NonRequiredAppsLogic mLogic;
+    private @Mock AbstractProvisioningTask.Callback mCallback;
+
+    private CreateManagedProfileTask mTask;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mTask = new CreateManagedProfileTask(InstrumentationRegistry.getTargetContext(),
+                TEST_PARAMS, mCallback, mUserManager, mLogic);
+        // GIVEN that a set of system apps should not be installed on the new user
+        when(mLogic.getSystemAppsToRemove(TEST_PARENT_USER_ID))
+            .thenReturn(new LinkedHashSet<String>(Arrays.asList(SYSTEM_APPS_TO_DELETE)));
+    }
+
+    @Test
+    public void testSuccess() {
+        // GIVEN that a new profile can be created
+        when(mUserManager.createProfileForUserEvenWhenDisallowed(
+                        anyString(), anyInt(), eq(TEST_PARENT_USER_ID),
+                        aryEq(SYSTEM_APPS_TO_DELETE)))
+                .thenReturn(new UserInfo(TEST_USER_ID, null, 0));
+
+        // WHEN the CreateManagedProfileTask is run
+        mTask.run(TEST_PARENT_USER_ID);
+        // THEN success callback should have happened
+        verify(mCallback).onSuccess(mTask);
+        // THEN any other callback should not happen
+        verifyNoMoreInteractions(mCallback);
+        // THEN list of system apps in the new user should be saved
+        verify(mLogic).maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+        // THEN the id of the new profile should be returned by getProfileUserId
+        assertEquals(TEST_USER_ID, mTask.getProfileUserId());
+    }
+
+    @Test
+    public void testError() {
+        // GIVEN that a new profile can't be created
+        when(mUserManager.createProfileForUserEvenWhenDisallowed(
+                        anyString(), anyInt(), eq(TEST_PARENT_USER_ID),
+                        aryEq(SYSTEM_APPS_TO_DELETE)))
+                .thenReturn(null);
+
+        // WHEN the CreateManagedProfileTask is run
+        mTask.run(TEST_PARENT_USER_ID);
+        // THEN error callback should have happened
+        verify(mCallback).onError(mTask, 0);
+        // THEN any other callback should not happen
+        verifyNoMoreInteractions(mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFilterTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFilterTest.java
new file mode 100644
index 0000000..51f0a7c
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFilterTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import android.content.pm.PackageManager;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.task.CrossProfileIntentFilter.Direction;
+
+import org.junit.Test;
+
+/**
+ * Unit tests for {@link CrossProfileIntentFilter}.
+ */
+@SmallTest
+public class CrossProfileIntentFilterTest {
+
+    private static final int TEST_FLAGS = PackageManager.SKIP_CURRENT_PROFILE;
+    private static final int TEST_DIRECTION = Direction.TO_PARENT;
+    private static final String ACTION_1 = "action1";
+    private static final String ACTION_2 = "action2";
+    private static final String CATEGORY_1 = "category1";
+    private static final String CATEGORY_2 = "category2";
+    private static final String SCHEME_1 = "scheme1";
+    private static final String SCHEME_2 = "scheme2";
+    private static final String TYPE_1 = "*/*";
+    private static final String TYPE_2 = "com.test/*";
+
+    @Test
+    public void testBuilder() {
+        CrossProfileIntentFilter filter =
+                new CrossProfileIntentFilter.Builder(TEST_DIRECTION, TEST_FLAGS)
+                        .addAction(ACTION_1)
+                        .addAction(ACTION_2)
+                        .addCategory(CATEGORY_1)
+                        .addCategory(CATEGORY_2)
+                        .addDataScheme(SCHEME_1)
+                        .addDataScheme(SCHEME_2)
+                        .addDataType(TYPE_1)
+                        .addDataType(TYPE_2)
+                        .build();
+
+        assertEquals(TEST_DIRECTION, filter.direction);
+        assertEquals(TEST_FLAGS, filter.flags);
+
+        assertEquals(ACTION_1, filter.filter.getAction(0));
+        assertEquals(ACTION_2, filter.filter.getAction(1));
+        assertEquals(CATEGORY_1, filter.filter.getCategory(0));
+        assertEquals(CATEGORY_2, filter.filter.getCategory(1));
+        assertEquals(SCHEME_1, filter.filter.getDataScheme(0));
+        assertEquals(SCHEME_2, filter.filter.getDataScheme(1));
+        assertTrue(filter.filter.hasDataType(TYPE_1));
+        assertTrue(filter.filter.hasDataType(TYPE_2));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetterTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetterTest.java
new file mode 100644
index 0000000..8d9cf40
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/CrossProfileIntentFiltersSetterTest.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.test.filters.SmallTest;
+
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link CrossProfileIntentFiltersSetter}
+ */
+@SmallTest
+public class CrossProfileIntentFiltersSetterTest {
+
+    private static final int TEST_PARENT_USER_ID = 101;
+    private static final int TEST_PROFILE_USER_ID = 123;
+
+    @Mock PackageManager mPackageManager;
+    @Mock UserManager mUserManager;
+
+    private CrossProfileIntentFiltersSetter mSetter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mSetter = new CrossProfileIntentFiltersSetter(mPackageManager, mUserManager);
+    }
+
+    @Test
+    public void testSetFilters() {
+        // WHEN setting the filters
+        mSetter.setFilters(TEST_PARENT_USER_ID, TEST_PROFILE_USER_ID);
+
+        // THEN the right number of filters is applied
+        verify(mPackageManager, times(CrossProfileIntentFiltersSetter.FILTERS.size()))
+                .addCrossProfileIntentFilter(any(IntentFilter.class), anyInt(), anyInt(), anyInt());
+
+        // THEN the HOME intent should be forwarded from the profile to the parent
+        verify(mPackageManager).addCrossProfileIntentFilter(
+                CrossProfileIntentFiltersSetter.HOME.filter,
+                TEST_PROFILE_USER_ID, TEST_PARENT_USER_ID,
+                CrossProfileIntentFiltersSetter.HOME.flags);
+
+        // THEN the ACTION_SEND intent should be forwarded from the parent to the profile
+        verify(mPackageManager).addCrossProfileIntentFilter(
+                CrossProfileIntentFiltersSetter.ACTION_SEND.filter,
+                TEST_PARENT_USER_ID, TEST_PROFILE_USER_ID,
+                CrossProfileIntentFiltersSetter.ACTION_SEND.flags);
+    }
+
+    @Test
+    public void testResetFilters_NoProfiles() {
+        // GIVEN that the user has no profiles
+        UserInfo ui = new UserInfo(UserHandle.USER_SYSTEM, null, UserInfo.FLAG_PRIMARY);
+        when(mUserManager.getProfiles(TEST_PARENT_USER_ID))
+                .thenReturn(Collections.singletonList(ui));
+
+        // WHEN calling reset filters
+        mSetter.resetFilters(TEST_PARENT_USER_ID);
+
+        // THEN nothing should happen
+        verifyZeroInteractions(mPackageManager);
+    }
+
+    @Test
+    public void testResetFilters_OneProfile() {
+        // GIVEN that the user has no profiles
+        UserInfo parent = new UserInfo(TEST_PARENT_USER_ID, null, UserInfo.FLAG_PRIMARY);
+        UserInfo profile = new UserInfo(TEST_PROFILE_USER_ID, null, UserInfo.FLAG_MANAGED_PROFILE);
+        when(mUserManager.getProfiles(TEST_PARENT_USER_ID))
+                .thenReturn(Arrays.asList(parent, profile));
+
+        // WHEN calling reset filters
+        mSetter.resetFilters(TEST_PARENT_USER_ID);
+
+        // THEN the existing filters should be removed
+        verify(mPackageManager).clearCrossProfileIntentFilters(TEST_PARENT_USER_ID);
+        verify(mPackageManager).clearCrossProfileIntentFilters(TEST_PROFILE_USER_ID);
+
+        // THEN the right number of filters is applied
+        verify(mPackageManager, times(CrossProfileIntentFiltersSetter.FILTERS.size()))
+                .addCrossProfileIntentFilter(any(IntentFilter.class), anyInt(), anyInt(), anyInt());
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java
new file mode 100644
index 0000000..6e1b17c
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.IPackageDeleteObserver;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.RemoteException;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.test.mock.MockPackageManager;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+import com.android.managedprovisioning.task.nonrequiredapps.NonRequiredAppsLogic;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class DeleteNonRequiredAppsTaskTest {
+    private static final String TEST_DPC_PACKAGE_NAME = "dpc.package.name";
+    private static final int TEST_USER_ID = 123;
+    private static final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .setDeviceAdminPackageName(TEST_DPC_PACKAGE_NAME)
+            .build();
+
+    private @Mock AbstractProvisioningTask.Callback mCallback;
+    private @Mock Context mTestContext;
+    private @Mock NonRequiredAppsLogic mLogic;
+
+    private FakePackageManager mPackageManager;
+    private Set<String> mDeletedApps;
+    private DeleteNonRequiredAppsTask mTask;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mPackageManager = new FakePackageManager();
+
+        when(mTestContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mTestContext.getFilesDir()).thenReturn(InstrumentationRegistry.getTargetContext()
+                .getFilesDir());
+
+        mDeletedApps = new HashSet<>();
+
+        mTask = new DeleteNonRequiredAppsTask(mTestContext, TEST_PARAMS, mCallback, mLogic);
+    }
+
+    @Test
+    public void testNoAppsToDelete() {
+        // GIVEN that no apps should be deleted
+        when(mLogic.getSystemAppsToRemove(TEST_USER_ID)).thenReturn(Collections.emptySet());
+        mPackageManager.setInstalledApps(setFromArray("app.a"));
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN maybe take snapshot should have been called
+        verify(mLogic).maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        // THEN no apps should have been deleted
+        assertDeletedApps();
+    }
+
+    @Test
+    public void testAppsToDelete() {
+        // GIVEN that some apps should be deleted
+        when(mLogic.getSystemAppsToRemove(TEST_USER_ID))
+                .thenReturn(setFromArray("app.a", "app.b"));
+        // GIVEN that only app a is currently installed
+        mPackageManager.setInstalledApps(setFromArray("app.a", "app.c"));
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN maybe take snapshot should have been called
+        verify(mLogic).maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        // THEN those apps should have been deleted
+        assertDeletedApps("app.a");
+    }
+
+    @Test
+    public void testAllAppsAlreadyDeleted() {
+        // GIVEN that some apps should be deleted
+        when(mLogic.getSystemAppsToRemove(TEST_USER_ID))
+            .thenReturn(setFromArray("app.a", "app.b"));
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN maybe take snapshot should have been called
+        verify(mLogic).maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        // THEN those apps should have been deleted
+        assertDeletedApps();
+    }
+
+    @Test
+    public void testDeletionFailed() {
+        // GIVEN that one app should be deleted
+        when(mLogic.getSystemAppsToRemove(TEST_USER_ID))
+            .thenReturn(setFromArray("app.a"));
+        mPackageManager.setInstalledApps(setFromArray("app.a"));
+
+        // GIVEN that deletion fails
+        mPackageManager.setDeletionSucceeds(false);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN maybe take snapshot should have been called
+        verify(mLogic).maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    private <T> Set<T> setFromArray(T... array) {
+        if (array == null) {
+            return null;
+        }
+        return new HashSet<>(Arrays.asList(array));
+    }
+
+    private void assertDeletedApps(String... appArray) {
+        assertEquals(setFromArray(appArray), mDeletedApps);
+    }
+
+
+    class FakePackageManager extends MockPackageManager {
+        private boolean mDeletionSucceeds = true;
+        private Set<String> mInstalledApps = new HashSet<>();
+
+        void setDeletionSucceeds(boolean deletionSucceeds) {
+            mDeletionSucceeds = deletionSucceeds;
+        }
+
+        void setInstalledApps(Set<String> set) {
+            mInstalledApps = set;
+        }
+
+        @Override
+        public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
+                int flags, int userId) {
+            if (mDeletionSucceeds) {
+                mDeletedApps.add(packageName);
+            }
+            assertTrue((flags & PackageManager.DELETE_SYSTEM_APP) != 0);
+            assertEquals(TEST_USER_ID, userId);
+
+            int resultCode;
+            if (mDeletionSucceeds) {
+                resultCode = PackageManager.DELETE_SUCCEEDED;
+            } else {
+                resultCode = PackageManager.DELETE_FAILED_INTERNAL_ERROR;
+            }
+            assertTrue(mInstalledApps.remove(packageName));
+
+            try {
+                observer.packageDeleted(packageName, resultCode);
+            } catch (RemoteException e) {
+                fail(e.toString());
+            }
+        }
+
+        @Override
+        public PackageInfo getPackageInfoAsUser(String pkg, int flag, int userId)
+                throws NameNotFoundException {
+            if (mInstalledApps.contains(pkg) && userId == TEST_USER_ID) {
+                return new PackageInfo();
+            }
+            throw new NameNotFoundException();
+        }
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java
similarity index 62%
rename from tests/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java
rename to tests/instrumentation/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java
index 29c1864..9b88b62 100644
--- a/tests/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/DisallowAddUserTaskTest.java
@@ -16,6 +16,13 @@
 
 package com.android.managedprovisioning.task;
 
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
@@ -29,21 +36,13 @@
 import java.util.Arrays;
 import java.util.Collections;
 
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyBoolean;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
 /**
  * Unit-tests for {@link DisallowAddUserTask}.
  */
 public class DisallowAddUserTaskTest extends AndroidTestCase {
     @Mock private Context mockContext;
     @Mock private UserManager mockUserManager;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
 
     // Normal cases.
     private UserInfo primaryUser = new UserInfo(0, "Primary",
@@ -61,6 +60,7 @@
 
         MockitoAnnotations.initMocks(this);
 
+        when(mockContext.getSystemService(Context.USER_SERVICE)).thenReturn(mockUserManager);
         // Setup sensible default responses.
         when(mockUserManager.hasUserRestriction(anyString(), any(UserHandle.class)))
                 .thenReturn(false);
@@ -68,51 +68,75 @@
 
     @SmallTest
     public void testMaybeDisallowAddUsers_normalSystem() {
+        // GIVEN that only one user exists on the device and the system doesn't have a split system
+        // user
         when(mockUserManager.getUsers()).thenReturn(Collections.singletonList(primaryUser));
+        final DisallowAddUserTask task =
+                new DisallowAddUserTask(false, mockContext, null, mCallback);
 
-        new DisallowAddUserTask(mockUserManager, primaryUser.id, false /* isSplitSystemUser */)
-                .maybeDisallowAddUsers();
+        // WHEN running the DisallowAddUserTask on the single user
+        task.run(primaryUser.id);
 
+        // THEN the user restriction should be set
         verify(mockUserManager).setUserRestriction(UserManager.DISALLOW_ADD_USER, true,
                 primaryUser.getUserHandle());
+        verify(mCallback).onSuccess(task);
     }
 
     @SmallTest
     public void testMaybeDisallowAddUsers_normalSystem_restrictionAlreadySetupForOneUser() {
+        // GIVEN that only one user exists on the device and the system doesn't have a split system
+        // user
         when(mockUserManager.getUsers()).thenReturn(Collections.singletonList(primaryUser));
+        final DisallowAddUserTask task =
+                new DisallowAddUserTask(false, mockContext, null, mCallback);
 
+        // GIVEN that the user restriction has already been set
         when(mockUserManager.hasUserRestriction(UserManager.DISALLOW_ADD_USER,
                 primaryUser.getUserHandle()))
                 .thenReturn(true);
 
-        new DisallowAddUserTask(mockUserManager, meatUser.id, false /* isSplitSystemUser */)
-                .maybeDisallowAddUsers();
+        // WHEN running the DisallowAddUserTask on the single user
+        task.run(primaryUser.id);
 
-        verify(mockUserManager, never()).setUserRestriction(eq(UserManager.DISALLOW_ADD_USER),
-                anyBoolean(), eq(primaryUser.getUserHandle()));
+        // THEN the user restriction should not be set
+        verify(mockUserManager, never()).setUserRestriction(anyString(), anyBoolean(),
+                any(UserHandle.class));
+        verify(mCallback).onSuccess(task);
     }
 
     @SmallTest
     public void testMaybeDisallowAddUsers_splitUserSystem_meatUserDeviceOwner() {
+        // GIVEN that we have a split system user and a single meat user on the device
         when(mockUserManager.getUsers()).thenReturn(Arrays.asList(new UserInfo[]{
                 systemUser, meatUser}));
+        final DisallowAddUserTask task =
+                new DisallowAddUserTask(true, mockContext, null, mCallback);
 
-        new DisallowAddUserTask(mockUserManager, meatUser.id, true /* isSplitSystemUser */)
-                .maybeDisallowAddUsers();
+        // WHEN running the DisallowAddUserTask on the meat user
+        task.run(meatUser.id);
 
+        // THEN the user restriction should be added on both users
         verify(mockUserManager).setUserRestriction(UserManager.DISALLOW_ADD_USER, true,
                 systemUser.getUserHandle());
         verify(mockUserManager).setUserRestriction(UserManager.DISALLOW_ADD_USER, true,
                 meatUser.getUserHandle());
+        verify(mCallback).onSuccess(task);
     }
 
     @SmallTest
     public void testMaybeDisallowAddUsers_splitUserSystem_systemDeviceOwner() {
+        // GIVEN that we have a split system user and only the system user on the device
         when(mockUserManager.getUsers()).thenReturn(Collections.singletonList(systemUser));
+        final DisallowAddUserTask task =
+                new DisallowAddUserTask(true, mockContext, null, mCallback);
 
-        new DisallowAddUserTask(mockUserManager, systemUser.id, true /* isSplitSystemUser */)
-                .maybeDisallowAddUsers();
+        // WHEN running the DisallowAddUserTask on the system user
+        task.run(systemUser.id);
 
-        verifyZeroInteractions(mockUserManager);
+        // THEN the user restriction should not be set
+        verify(mockUserManager, never()).setUserRestriction(anyString(), anyBoolean(),
+                any(UserHandle.class));
+        verify(mCallback).onSuccess(task);
     }
-}
\ No newline at end of file
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/DownloadPackageTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/DownloadPackageTaskTest.java
new file mode 100644
index 0000000..5786fc1
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/DownloadPackageTaskTest.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+
+import static com.android.managedprovisioning.task.DownloadPackageTask.ERROR_DOWNLOAD_FAILED;
+import static com.android.managedprovisioning.task.DownloadPackageTask.ERROR_OTHER;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Matchers.nullable;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.DownloadManager;
+import android.app.DownloadManager.Query;
+import android.app.DownloadManager.Request;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.database.MatrixCursor;
+import android.os.Handler;
+import android.os.Looper;
+import android.support.test.filters.FlakyTest;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.PackageDownloadInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@FlakyTest // TODO: http://b/34117742
+public class DownloadPackageTaskTest {
+    @Mock private Context mContext;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    @Mock private DownloadManager mDownloadManager;
+    @Mock private Utils mUtils;
+
+    private static final String TEST_PACKAGE_NAME = "sample.package.name";
+    private static final String TEST_PACKAGE_LOCATION = "http://www.some.uri.com";
+    private static final String TEST_LOCAL_FILENAME = "/local/filename";
+    private static final int TEST_USER_ID = 123;
+    private static final byte[] TEST_SIGNATURE = new byte[] {'a', 'b', 'c', 'd'};
+
+    private static final long TEST_DOWNLOAD_ID = 1234;
+    private static final int PACKAGE_VERSION = 43;
+    private static final PackageDownloadInfo TEST_DOWNLOAD_INFO = new PackageDownloadInfo.Builder()
+            .setLocation(TEST_PACKAGE_LOCATION)
+            .setSignatureChecksum(TEST_SIGNATURE)
+            .setMinVersion(PACKAGE_VERSION)
+            .build();
+    private static final ProvisioningParams PARAMS = new ProvisioningParams.Builder()
+            .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .setDeviceAdminDownloadInfo(TEST_DOWNLOAD_INFO)
+            .build();
+
+    private DownloadPackageTask mTask;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.DOWNLOAD_SERVICE)).thenReturn(mDownloadManager);
+        when(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME, PACKAGE_VERSION, mContext))
+                .thenReturn(true);
+
+        mTask = new DownloadPackageTask(
+                mUtils,
+                mContext,
+                PARAMS,
+                mCallback);
+    }
+
+    @Test
+    public void testAlreadyInstalled() throws Exception {
+        // GIVEN the package is already installed, with the right version
+        when(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME, PACKAGE_VERSION, mContext))
+                .thenReturn(false);
+
+        // WHEN running the download package task
+        runTask();
+
+        // THEN we get a success callback directly
+        verifyOnTaskFinished(null);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testNotConnected() throws Exception {
+        // GIVEN we're not connected to a network
+        doReturn(false).when(mUtils).isConnectedToNetwork(mContext);
+
+        // WHEN running the download package task
+        runTask();
+
+        // THEN we get an error callback
+        verify(mCallback).onError(mTask, ERROR_OTHER);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testDownloadFailed() throws Exception {
+        // GIVEN the download succeeds
+        mockSuccessfulDownload(DownloadManager.STATUS_FAILED);
+
+        // WHEN running the download package task
+        runTask();
+
+        // THEN a download receiver was registered
+        BroadcastReceiver receiver = verifyDownloadReceiver();
+
+        // WHEN invoking download complete
+        receiver.onReceive(mContext, new Intent(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+
+        // THEN we get a success callback
+        verify(mCallback).onError(mTask, ERROR_DOWNLOAD_FAILED);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testDownloadSucceeded() throws Exception {
+        // GIVEN the download succeeds
+        mockSuccessfulDownload(DownloadManager.STATUS_SUCCESSFUL);
+
+        // WHEN running the download package task
+        runTask();
+
+        // THEN a download receiver was registered
+        BroadcastReceiver receiver = verifyDownloadReceiver();
+
+        // WHEN invoking download complete
+        receiver.onReceive(mContext, new Intent(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+
+        // THEN we get a success callback
+        verifyOnTaskFinished(TEST_LOCAL_FILENAME);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    /** Test that it works fine even if DownloadManager sends the broadcast twice */
+    @Test
+    public void testSendBroadcastTwice() throws Exception {
+        // GIVEN the download succeeds
+        mockSuccessfulDownload(DownloadManager.STATUS_SUCCESSFUL);
+
+        // WHEN running the download package task
+        runTask();
+
+        // THEN a download receiver was registered
+        BroadcastReceiver receiver = verifyDownloadReceiver();
+
+        // WHEN invoking download complete twice
+        receiver.onReceive(mContext, new Intent(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+        receiver.onReceive(mContext, new Intent(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+
+        // THEN we still get only one success callback
+        verifyOnTaskFinished(TEST_LOCAL_FILENAME);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    private void mockSuccessfulDownload(int downloadStatus) {
+        doReturn(true).when(mUtils).isConnectedToNetwork(any(Context.class));
+        when(mDownloadManager.enqueue(any(Request.class))).thenReturn(TEST_DOWNLOAD_ID);
+        MatrixCursor cursor = new MatrixCursor(new String[]{
+                DownloadManager.COLUMN_STATUS,
+                DownloadManager.COLUMN_LOCAL_FILENAME});
+        cursor.addRow(new Object[]{downloadStatus, TEST_LOCAL_FILENAME});
+        when(mDownloadManager.query(any(Query.class))).thenReturn(cursor);
+    }
+
+    private BroadcastReceiver verifyDownloadReceiver() {
+        verify(mDownloadManager).setAccessFilename(true);
+        ArgumentCaptor<BroadcastReceiver> receiverCaptor = ArgumentCaptor.forClass(
+                BroadcastReceiver.class);
+        ArgumentCaptor<IntentFilter> filterCaptor = ArgumentCaptor.forClass(
+                IntentFilter.class);
+        verify(mContext).registerReceiver(
+                receiverCaptor.capture(),
+                filterCaptor.capture(),
+                nullable(String.class),
+                any(Handler.class));
+        assertEquals(filterCaptor.getValue().getAction(0),
+                DownloadManager.ACTION_DOWNLOAD_COMPLETE);
+        return receiverCaptor.getValue();
+    }
+
+    private void verifyOnTaskFinished(String location) {
+        verify(mCallback).onSuccess(mTask);
+        assertEquals(location, mTask.getDownloadedPackageLocation());
+    }
+
+    private void runTask() {
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+        mTask.run(TEST_USER_ID);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/InstallExistingPackageTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallExistingPackageTaskTest.java
new file mode 100644
index 0000000..b6532db
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallExistingPackageTaskTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link InstallExistingPackageTask}.
+ */
+@SmallTest
+public class InstallExistingPackageTaskTest {
+    private static final String ADMIN_PACKAGE_NAME = "com.admin.test";
+    private static final String ADMIN_RECEIVER_NAME = ADMIN_PACKAGE_NAME + ".AdminReceiver";
+    private static final ComponentName ADMIN_COMPONENT_NAME = new ComponentName(ADMIN_PACKAGE_NAME,
+            ADMIN_RECEIVER_NAME);
+    private static final String INSTALL_PACKAGE_NAME = "com.install.package";
+    private static final int TEST_USER_ID = 123;
+    private final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(ADMIN_COMPONENT_NAME)
+            .build();
+
+    @Mock private Context mContext;
+    @Mock private PackageManager mPackageManager;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    private InstallExistingPackageTask mTask;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+
+        mTask = new InstallExistingPackageTask(INSTALL_PACKAGE_NAME, mContext, TEST_PARAMS,
+                mCallback);
+    }
+
+    @Test
+    public void testSuccess() throws Exception {
+        // GIVEN that installing the existing package succeeds
+        when(mPackageManager.installExistingPackageAsUser(INSTALL_PACKAGE_NAME, TEST_USER_ID))
+                .thenReturn(PackageManager.INSTALL_SUCCEEDED);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN the existing package should have been installed
+        verify(mPackageManager).installExistingPackageAsUser(INSTALL_PACKAGE_NAME, TEST_USER_ID);
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testPackageNotFound() throws Exception {
+        // GIVEN that the package is not present on the device
+        when(mPackageManager.installExistingPackageAsUser(INSTALL_PACKAGE_NAME, TEST_USER_ID))
+                .thenThrow(new PackageManager.NameNotFoundException());
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN an error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testInstallFailed() throws Exception {
+        // GIVEN that the package is not present on the device
+        when(mPackageManager.installExistingPackageAsUser(INSTALL_PACKAGE_NAME, TEST_USER_ID))
+                .thenReturn(PackageManager.INSTALL_FAILED_INVALID_APK);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN an error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
new file mode 100644
index 0000000..8b76e2b
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static com.android.managedprovisioning.task.InstallPackageTask.ERROR_INSTALLATION_FAILED;
+import static com.android.managedprovisioning.task.InstallPackageTask.ERROR_PACKAGE_INVALID;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.IPackageInstallObserver;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class InstallPackageTaskTest extends AndroidTestCase {
+    private static final String TEST_PACKAGE_NAME = "com.android.test";
+    private static final String OTHER_PACKAGE_NAME = "com.android.other";
+    private static final String TEST_PACKAGE_LOCATION = "/sdcard/TestPackage.apk";
+    private static final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+            .build();
+    private static final int TEST_USER_ID = 123;
+
+    @Mock private Context mContext;
+    @Mock private PackageManager mPackageManager;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    @Mock private DownloadPackageTask mDownloadPackageTask;
+    private InstallPackageTask mTask;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getPackageName()).thenReturn(getContext().getPackageName());
+
+        mTask = new InstallPackageTask(mDownloadPackageTask, mContext, TEST_PARAMS, mCallback);
+    }
+
+    @SmallTest
+    public void testNoDownloadLocation() {
+        // GIVEN no package was downloaded
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(null);
+
+        // WHEN running the InstallPackageTask without specifying an install location
+        mTask.run(TEST_USER_ID);
+        // THEN no package is installed, but we get a success callback
+        verify(mPackageManager, never()).installPackage(
+                any(Uri.class),
+                any(IPackageInstallObserver.class),
+                anyInt(),
+                anyString());
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSuccess() throws Exception {
+        // GIVEN a package was downloaded to TEST_LOCATION
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(TEST_PACKAGE_LOCATION);
+
+        // WHEN running the InstallPackageTask specifying an install location
+        mTask.run(TEST_USER_ID);
+
+        // THEN package installed is invoked with an install observer
+        IPackageInstallObserver observer = verifyPackageInstalled();
+
+        // WHEN the package installed callback is invoked with success
+        observer.packageInstalled(TEST_PACKAGE_NAME, PackageManager.INSTALL_SUCCEEDED);
+
+        // THEN we receive a success callback
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testInstallFailedVersionDowngrade() throws Exception {
+        // GIVEN a package was downloaded to TEST_LOCATION
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(TEST_PACKAGE_LOCATION);
+
+        // WHEN running the InstallPackageTask with a package already at a higher version
+        mTask.run(TEST_USER_ID);
+
+        // THEN package installed is invoked with an install observer
+        IPackageInstallObserver observer = verifyPackageInstalled();
+
+        // WHEN the package installed callback is invoked with version downgrade error
+        observer.packageInstalled(null, PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE);
+
+        // THEN we get a success callback, because an existing version of the DPC is present
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testInstallFailedOtherError() throws Exception {
+        // GIVEN a package was downloaded to TEST_LOCATION
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(TEST_PACKAGE_LOCATION);
+
+        // WHEN running the InstallPackageTask with a package already at a higher version
+        mTask.run(TEST_USER_ID);
+
+        // THEN package installed is invoked with an install observer
+        IPackageInstallObserver observer = verifyPackageInstalled();
+
+        // WHEN the package installed callback is invoked with version downgrade error
+        observer.packageInstalled(null, PackageManager.INSTALL_FAILED_INVALID_APK);
+
+        // THEN we get a success callback, because an existing version of the DPC is present
+        verify(mCallback).onError(mTask, ERROR_INSTALLATION_FAILED);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testDifferentPackageName() throws Exception {
+        // GIVEN a package was downloaded to TEST_LOCATION
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(TEST_PACKAGE_LOCATION);
+
+        // WHEN running the InstallPackageTask with a package already at a higher version
+        mTask.run(TEST_USER_ID);
+
+        // THEN package installed is invoked with an install observer
+        IPackageInstallObserver observer = verifyPackageInstalled();
+
+        // WHEN the package installed callback is invoked with version downgrade error
+        observer.packageInstalled(OTHER_PACKAGE_NAME, PackageManager.INSTALL_SUCCEEDED);
+
+        // THEN we get a success callback, because an existing version of the DPC is present
+        verify(mCallback).onError(mTask, ERROR_PACKAGE_INVALID);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    private IPackageInstallObserver verifyPackageInstalled() {
+        ArgumentCaptor<IPackageInstallObserver> observerCaptor
+                = ArgumentCaptor.forClass(IPackageInstallObserver.class);
+        ArgumentCaptor<Integer> flagsCaptor = ArgumentCaptor.forClass(Integer.class);
+        // THEN the package is installed and we get a success callback
+        verify(mPackageManager).installPackage(
+                eq(Uri.parse("file://" + TEST_PACKAGE_LOCATION)),
+                observerCaptor.capture(),
+                flagsCaptor.capture(),
+                eq(getContext().getPackageName()));
+        // make sure that the flags value has been set
+        assertTrue(0 != (flagsCaptor.getValue() & PackageManager.INSTALL_REPLACE_EXISTING));
+        return observerCaptor.getValue();
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/ManagedProfileSettingsTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/ManagedProfileSettingsTaskTest.java
new file mode 100644
index 0000000..b35c371
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/ManagedProfileSettingsTaskTest.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static com.android.managedprovisioning.task.ManagedProfileSettingsTask.DEFAULT_CONTACT_REMOTE_SEARCH;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.graphics.Color;
+import android.os.UserManager;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.SettingsFacade;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link ManagedProfileSettingsTask}.
+ */
+@SmallTest
+public class ManagedProfileSettingsTaskTest {
+
+    private static final int TEST_USER_ID = 123;
+    private static final ComponentName ADMIN = new ComponentName("com.test.admin", ".Receiver");
+    private static final ProvisioningParams NO_COLOR_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(ADMIN)
+            .build();
+    private static final ProvisioningParams COLOR_PARAMS = new ProvisioningParams.Builder()
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .setDeviceAdminComponentName(ADMIN)
+            .setMainColor(Color.GREEN)
+            .build();
+
+
+    @Mock private Context mContext;
+    @Mock private UserManager mUserManager;
+    @Mock private DevicePolicyManager mDevicePolicyManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    @Mock private SettingsFacade mSettingsFacade;
+    @Mock private CrossProfileIntentFiltersSetter mCrossProfileIntentFiltersSetter;
+    private ManagedProfileSettingsTask mTask;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
+                .thenReturn(mDevicePolicyManager);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+
+    }
+
+    @Test
+    public void testNoMainColor() {
+        // GIVEN that no main color was passed in the parameter
+        mTask = new ManagedProfileSettingsTask(mSettingsFacade, mCrossProfileIntentFiltersSetter,
+                mContext, NO_COLOR_PARAMS, mCallback);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        // THEN no color should be stored in dpm
+        verify(mDevicePolicyManager, never())
+                .setOrganizationColorForUser(anyInt(), eq(TEST_USER_ID));
+
+        // THEN user setup complete and contacts remote search should be set
+        verify(mSettingsFacade).setUserSetupCompleted(mContext, TEST_USER_ID);
+        verify(mSettingsFacade).setProfileContactRemoteSearch(mContext,
+                DEFAULT_CONTACT_REMOTE_SEARCH, TEST_USER_ID);
+
+        // THEN cross profile intent filters are set
+        verify(mCrossProfileIntentFiltersSetter).setFilters(anyInt(), eq(TEST_USER_ID));
+    }
+
+    @Test
+    public void testMainColor() {
+        // GIVEN that a main color was passed in the parameter
+        mTask = new ManagedProfileSettingsTask(mSettingsFacade, mCrossProfileIntentFiltersSetter,
+                mContext, COLOR_PARAMS, mCallback);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        // THEN the main color should be stored in dpm
+        verify(mDevicePolicyManager).setOrganizationColorForUser(Color.GREEN, TEST_USER_ID);
+
+        // THEN user setup complete and contacts remote search should be set
+        verify(mSettingsFacade).setUserSetupCompleted(mContext, TEST_USER_ID);
+        verify(mSettingsFacade).setProfileContactRemoteSearch(mContext,
+                DEFAULT_CONTACT_REMOTE_SEARCH, TEST_USER_ID);
+
+        // THEN cross profile intent filters are set
+        verify(mCrossProfileIntentFiltersSetter).setFilters(anyInt(), eq(TEST_USER_ID));
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java
new file mode 100644
index 0000000..4f86353
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class SetDevicePolicyTaskTest extends AndroidTestCase {
+    private static final String ADMIN_PACKAGE_NAME = "com.admin.test";
+    private static final String ADMIN_RECEIVER_NAME = ADMIN_PACKAGE_NAME + ".AdminReceiver";
+    private static final ComponentName ADMIN_COMPONENT_NAME = new ComponentName(ADMIN_PACKAGE_NAME,
+            ADMIN_RECEIVER_NAME);
+    private static final int TEST_USER_ID = 123;
+
+    @Mock private Context mContext;
+    @Mock private PackageManager mPackageManager;
+    @Mock private DevicePolicyManager mDevicePolicyManager;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    @Mock private Utils mUtils;
+
+    private String mDefaultOwnerName;
+    private SetDevicePolicyTask mTask;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        // This is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+
+        mDefaultOwnerName = getContext().getResources()
+                .getString(R.string.default_owned_device_username);
+
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
+                .thenReturn(mDevicePolicyManager);
+        when(mContext.getResources()).thenReturn(getContext().getResources());
+
+        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
+                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
+        when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(null);
+        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, mDefaultOwnerName,
+                TEST_USER_ID)).thenReturn(true);
+        when(mUtils.findDeviceAdmin(null, ADMIN_COMPONENT_NAME, mContext))
+                .thenReturn(ADMIN_COMPONENT_NAME);
+    }
+
+    @SmallTest
+    public void testEnableDevicePolicyApp() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+        // GIVEN that the management app is currently not enabled
+        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
+                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN the management app should have been enabled
+        verify(mPackageManager).setApplicationEnabledSetting(ADMIN_PACKAGE_NAME,
+                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
+                PackageManager.DONT_KILL_APP);
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testEnableDevicePolicyApp_PackageNotFound() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+        // GIVEN that the management app is not present on the device
+        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
+                .thenThrow(new IllegalArgumentException());
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN an error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSetActiveAdmin() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN the management app should have been set as active admin
+        verify(mDevicePolicyManager).setActiveAdmin(ADMIN_COMPONENT_NAME, true, TEST_USER_ID);
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSetDeviceOwner() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN the management app should have been set as device owner
+        verify(mDevicePolicyManager).setDeviceOwner(ADMIN_COMPONENT_NAME, mDefaultOwnerName,
+                TEST_USER_ID);
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSetDeviceOwner_PreconditionsNotMet() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+
+        // GIVEN that setting device owner is not currently allowed
+        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, mDefaultOwnerName,
+                TEST_USER_ID)).thenThrow(new IllegalStateException());
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN an error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSetDeviceOwner_ReturnFalse() {
+        // GIVEN that we are provisioning device owner
+        createTask(ACTION_PROVISION_MANAGED_DEVICE);
+
+        // GIVEN that setting device owner fails
+        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, mDefaultOwnerName,
+                TEST_USER_ID)).thenReturn(false);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN an error should be returned
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @SmallTest
+    public void testSetProfileOwner() {
+        // GIVEN that we are provisioning a managed profile
+        createTask(ACTION_PROVISION_MANAGED_PROFILE);
+        // GIVEN that setting the profile owner succeeds
+        when(mDevicePolicyManager.setProfileOwner(ADMIN_COMPONENT_NAME, ADMIN_PACKAGE_NAME,
+                TEST_USER_ID)).thenReturn(true);
+
+        // WHEN running the task
+        mTask.run(TEST_USER_ID);
+
+        // THEN the management app should have been set as profile owner
+        verify(mDevicePolicyManager).setProfileOwner(ADMIN_COMPONENT_NAME, ADMIN_PACKAGE_NAME,
+                TEST_USER_ID);
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    private void createTask(String action) {
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setDeviceAdminComponentName(ADMIN_COMPONENT_NAME)
+                .setProvisioningAction(action)
+                .build();
+        mTask = new SetDevicePolicyTask(mUtils, mContext, params, mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/StartManagedProfileTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/StartManagedProfileTaskTest.java
new file mode 100644
index 0000000..b6871a2
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/StartManagedProfileTaskTest.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.IActivityManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Unit tests for {@link StartManagedProfileTask}.
+ */
+public class StartManagedProfileTaskTest extends AndroidTestCase {
+    private static final int TEST_USER_ID = 123;
+    private static final String TEST_MDM_PACKAGE_NAME = "com.test.mdm";
+    private static final ProvisioningParams TEST_PARAMS = new ProvisioningParams.Builder()
+            .setDeviceAdminPackageName(TEST_MDM_PACKAGE_NAME)
+            .setProvisioningAction(ACTION_PROVISION_MANAGED_PROFILE)
+            .build();
+    private static final Intent UNLOCK_INTENT = new Intent(Intent.ACTION_USER_UNLOCKED)
+            .putExtra(Intent.EXTRA_USER_HANDLE, TEST_USER_ID);
+
+    @Mock private IActivityManager mIActivityManager;
+    @Mock private Context mContext;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    private ArgumentCaptor<BroadcastReceiver> mReceiverCaptor =
+            ArgumentCaptor.forClass(BroadcastReceiver.class);
+
+    private StartManagedProfileTask mTask;
+    private HandlerThread mHandlerThread;
+    private final CountDownLatch mStartInBackgroundLatch = new CountDownLatch(1);
+    private final CountDownLatch mSuccessLatch = new CountDownLatch(1);
+
+    public void setUp() {
+        // this is necessary for mockito to work
+        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
+        MockitoAnnotations.initMocks(this);
+
+        mHandlerThread = new HandlerThread("Test thread");
+        mHandlerThread.start();
+
+        mTask = new StartManagedProfileTask(mIActivityManager, mContext, TEST_PARAMS, mCallback);
+
+        // register a countdown latch for the success callback
+        doAnswer((InvocationOnMock invocationOnMock) -> {
+                mSuccessLatch.countDown();
+                return null;
+            }).when(mCallback).onSuccess(mTask);
+    }
+
+    public void tearDown() {
+        mHandlerThread.quitSafely();
+    }
+
+    @SmallTest
+    public void testSuccess() throws Exception {
+        // GIVEN that starting the user succeeds
+        doAnswer((InvocationOnMock invocationOnMock) -> {
+                mStartInBackgroundLatch.countDown();
+                return true;
+            }).when(mIActivityManager).startUserInBackground(TEST_USER_ID);
+
+        // WHEN the task is run (on a handler thread to avoid deadlocks)
+        new Handler(mHandlerThread.getLooper()).post(() -> mTask.run(TEST_USER_ID));
+
+        // THEN user unlock should have been called
+        assertTrue(mStartInBackgroundLatch.await(1, TimeUnit.SECONDS));
+
+        // THEN an unlock receiver should be registered
+        verify(mContext).registerReceiverAsUser(
+                mReceiverCaptor.capture(),
+                eq(UserHandle.of(TEST_USER_ID)),
+                eq(StartManagedProfileTask.UNLOCK_FILTER),
+                eq(null), eq(null));
+
+        // THEN the success callback should not have been called
+        verifyZeroInteractions(mCallback);
+
+        // WHEN the unlock broadcast is sent
+        mReceiverCaptor.getValue().onReceive(mContext, UNLOCK_INTENT);
+
+        // THEN the success callback should be called
+        assertTrue(mSuccessLatch.await(1, TimeUnit.SECONDS));
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+
+        verify(mContext).unregisterReceiver(mReceiverCaptor.getValue());
+    }
+
+    @SmallTest
+    public void testError() throws Exception {
+        // GIVEN that starting the user in background fails
+        when(mIActivityManager.startUserInBackground(TEST_USER_ID)).thenReturn(false);
+
+        // WHEN the task is run
+        mTask.run(TEST_USER_ID);
+
+        // THEN an unlock receiver should be registered
+        verify(mContext).registerReceiverAsUser(
+                mReceiverCaptor.capture(),
+                eq(UserHandle.of(TEST_USER_ID)),
+                eq(StartManagedProfileTask.UNLOCK_FILTER),
+                eq(null), eq(null));
+
+        // THEN the error callback should have been called
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+
+        verify(mContext).unregisterReceiver(mReceiverCaptor.getValue());
+    }
+
+    @SmallTest
+    public void testRemoteException() throws Exception {
+        // GIVEN that starting the user in background throws a remote exception
+        when(mIActivityManager.startUserInBackground(TEST_USER_ID))
+                .thenThrow(new RemoteException());
+
+        // WHEN the task is run
+        mTask.run(TEST_USER_ID);
+
+        // THEN an unlock receiver should be registered
+        verify(mContext).registerReceiverAsUser(
+                mReceiverCaptor.capture(),
+                eq(UserHandle.of(TEST_USER_ID)),
+                eq(StartManagedProfileTask.UNLOCK_FILTER),
+                eq(null), eq(null));
+
+        // THEN the error callback should have been called
+        verify(mCallback).onError(mTask, 0);
+        verifyNoMoreInteractions(mCallback);
+
+        verify(mContext).unregisterReceiver(mReceiverCaptor.getValue());
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/VerifyPackageTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/VerifyPackageTaskTest.java
new file mode 100644
index 0000000..09cd332
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/VerifyPackageTaskTest.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static com.android.managedprovisioning.task.VerifyPackageTask.ERROR_DEVICE_ADMIN_MISSING;
+import static com.android.managedprovisioning.task.VerifyPackageTask.ERROR_HASH_MISMATCH;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.Signature;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.PackageDownloadInfo;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link VerifyPackageTask}.
+ */
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class VerifyPackageTaskTest {
+
+    private static final String TEST_PACKAGE_NAME = "sample.package.name";
+    private static final String TEST_ADMIN_NAME = TEST_PACKAGE_NAME + ".DeviceAdmin";
+    private static final String TEST_PACKAGE_LOCATION = "http://www.some.uri.com";
+    private static final String TEST_LOCAL_FILENAME = "/local/filename";
+    private static final int TEST_USER_ID = 123;
+    private static final byte[] TEST_BAD_HASH = new byte[] { 'b', 'a', 'd' };
+    private static final byte[] TEST_PACKAGE_CHECKSUM_HASH = new byte[] { '1', '2', '3', '4', '5' };
+    private static final byte[] TEST_SIGNATURE_HASH = new byte[] {'a', 'b', 'c', 'd'};
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[] {};
+    private static final Signature[] TEST_SIGNATURES = new Signature[] { new Signature("1986") };
+
+    @Mock private Context mContext;
+    @Mock private DownloadPackageTask mDownloadPackageTask;
+    @Mock private AbstractProvisioningTask.Callback mCallback;
+    @Mock private PackageManager mPackageManager;
+    @Mock private Utils mUtils;
+    @Mock private PackageInfo mPackageInfo;
+
+    private AbstractProvisioningTask mTask;
+
+    @Before
+    public void setUp() throws Exception {
+        // This is necessary for mockito to work
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+
+        mPackageInfo.packageName = TEST_PACKAGE_NAME;
+        mPackageInfo.signatures = TEST_SIGNATURES;
+
+        when(mPackageManager.getPackageArchiveInfo(TEST_LOCAL_FILENAME,
+                PackageManager.GET_SIGNATURES | PackageManager.GET_RECEIVERS))
+                .thenReturn(mPackageInfo);
+
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(TEST_LOCAL_FILENAME);
+
+        when(mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME, null, mPackageInfo))
+                .thenReturn(new ComponentName(TEST_PACKAGE_NAME, TEST_ADMIN_NAME));
+    }
+
+    @Test
+    public void testDownloadLocationNull() {
+        // GIVEN that the download package location is null
+        when(mDownloadPackageTask.getDownloadedPackageLocation()).thenReturn(null);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(TEST_PACKAGE_CHECKSUM_HASH, EMPTY_BYTE_ARRAY, false);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testMissingDeviceAdminComponent() {
+        // GIVEN that the device admin component cannot be found
+        when(mUtils.findDeviceAdminInPackageInfo(TEST_PACKAGE_NAME, null, mPackageInfo))
+                .thenReturn(null);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(TEST_PACKAGE_CHECKSUM_HASH, EMPTY_BYTE_ARRAY, false);
+
+        // THEN an error should be reported
+        verify(mCallback).onError(mTask, ERROR_DEVICE_ADMIN_MISSING);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testPackageChecksumSha256_success() throws Exception {
+        // GIVEN the hash of the downloaded file matches the parameter value
+        when(mUtils.computeHashOfFile(TEST_LOCAL_FILENAME, Utils.SHA256_TYPE))
+                .thenReturn(TEST_PACKAGE_CHECKSUM_HASH);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(TEST_PACKAGE_CHECKSUM_HASH, EMPTY_BYTE_ARRAY, false);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testPackageChecksumSha1_success() throws Exception {
+        // GIVEN the hash of the downloaded file matches the parameter value in Sha1
+        when(mUtils.computeHashOfFile(TEST_LOCAL_FILENAME, Utils.SHA1_TYPE))
+                .thenReturn(TEST_PACKAGE_CHECKSUM_HASH);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(TEST_PACKAGE_CHECKSUM_HASH, EMPTY_BYTE_ARRAY, true);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testPackageChecksumSha1_failure() throws Exception {
+        // GIVEN the hash of the downloaded file does no match the parameter value in Sha1
+        when(mUtils.computeHashOfFile(TEST_LOCAL_FILENAME, Utils.SHA1_TYPE))
+                .thenReturn(TEST_BAD_HASH);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(TEST_PACKAGE_CHECKSUM_HASH, EMPTY_BYTE_ARRAY, true);
+
+        // THEN hash mismatch error should be called
+        verify(mCallback).onError(mTask, ERROR_HASH_MISMATCH);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testSignatureHash_success() throws Exception {
+        // GIVEN the hash of the signature matches the parameter value
+        when(mUtils.computeHashOfByteArray(TEST_SIGNATURES[0].toByteArray()))
+                .thenReturn(TEST_SIGNATURE_HASH);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(EMPTY_BYTE_ARRAY, TEST_SIGNATURE_HASH, true);
+
+        // THEN success should be called
+        verify(mCallback).onSuccess(mTask);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testSignatureHash_failure() throws Exception {
+        // GIVEN the hash of the signature does not match the parameter value
+        when(mUtils.computeHashOfByteArray(TEST_SIGNATURES[0].toByteArray()))
+                .thenReturn(TEST_BAD_HASH);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(EMPTY_BYTE_ARRAY, TEST_SIGNATURE_HASH, true);
+
+        // THEN hash mismatch error should be called
+        verify(mCallback).onError(mTask, ERROR_HASH_MISMATCH);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testSignatureHash_noSignature() throws Exception {
+        // GIVEN the package has no signature
+        mPackageInfo.signatures = null;
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(EMPTY_BYTE_ARRAY, TEST_SIGNATURE_HASH, true);
+
+        // THEN hash mismatch error should be called
+        verify(mCallback).onError(mTask, ERROR_HASH_MISMATCH);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    @Test
+    public void testSignatureHash_digestFailure() throws Exception {
+        // GIVEN the package has no signature
+        when(mUtils.computeHashOfByteArray(any(byte[].class))).thenReturn(null);
+
+        // WHEN running the VerifyPackageTask
+        runWithDownloadInfo(EMPTY_BYTE_ARRAY, TEST_SIGNATURE_HASH, true);
+
+        // THEN hash mismatch error should be called
+        verify(mCallback).onError(mTask, ERROR_HASH_MISMATCH);
+        verifyNoMoreInteractions(mCallback);
+    }
+
+    private void runWithDownloadInfo(byte[] packageChecksum, byte[] signatureChecksum,
+            boolean supportsSha1) {
+        PackageDownloadInfo downloadInfo = new PackageDownloadInfo.Builder()
+                .setLocation(TEST_PACKAGE_LOCATION)
+                .setPackageChecksum(packageChecksum)
+                .setSignatureChecksum(signatureChecksum)
+                .setPackageChecksumSupportsSha1(supportsSha1)
+                .build();
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+                .setDeviceAdminPackageName(TEST_PACKAGE_NAME)
+                .setDeviceAdminDownloadInfo(downloadInfo)
+                .build();
+        mTask = new VerifyPackageTask(mUtils, mDownloadPackageTask, mContext, params, mCallback);
+        mTask.run(TEST_USER_ID);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogicTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogicTest.java
new file mode 100644
index 0000000..b0839e3
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/NonRequiredAppsLogicTest.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link NonRequiredAppsLogic}.
+ */
+@SmallTest
+public class NonRequiredAppsLogicTest {
+    private static final String TEST_DPC_PACKAGE_NAME = "dpc.package.name";
+    private static final int TEST_USER_ID = 123;
+    private static final String[] APPS = {
+            "app.a", "app.b", "app.c", "app.d", "app.e", "app.f", "app.g", "app.h",
+    };
+    private static final int[] SNAPSHOT_APPS = {0, 1, 2, 3};
+    private static final int[] SYSTEM_APPS = {0, 1, 4, 5};
+    private static final int[] BLACKLIST_APPS = {0, 2, 4, 6};
+
+    @Mock private PackageManager mPackageManager;
+    @Mock private IPackageManager mIPackageManager;
+    @Mock private SystemAppsSnapshot mSnapshot;
+    @Mock private OverlayPackagesProvider mProvider;
+    @Mock private Utils mUtils;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void testGetSystemAppsToRemove_NewLeave() throws Exception {
+        // GIVEN that a new profile is being created and that system apps should not be deleted
+        final NonRequiredAppsLogic logic = createLogic(true, true);
+        // GIVEN that a combination of apps is present
+        initializeApps();
+
+        // THEN getSystemAppsToRemove should be empty
+        assertTrue(logic.getSystemAppsToRemove(TEST_USER_ID).isEmpty());
+    }
+
+    @Test
+    public void testGetSystemAppsToRemove_NewDelete() throws Exception {
+        // GIVEN that a new profile is being created and that system apps should be deleted
+        final NonRequiredAppsLogic logic = createLogic(true, false);
+        // GIVEN that a combination of apps is present
+        initializeApps();
+
+        // THEN getSystemAppsToRemove should return a non-empty list with the only app to removed
+        // being the one that is a current system app and non required
+        assertEquals(getSetFromArray(new int[] { 0, 4 }),
+                logic.getSystemAppsToRemove(TEST_USER_ID));
+    }
+
+    @Test
+    public void testGetSystemAppsToRemove_OtaLeave() throws Exception {
+        // GIVEN that an OTA occurs and that system apps should not be deleted (indicated by the
+        // fact that no snapshot currently exists)
+        final NonRequiredAppsLogic logic = createLogic(false, false);
+        // GIVEN that a combination of apps is present
+        initializeApps();
+        // GIVEN that no snapshot currently exists
+        when(mSnapshot.hasSnapshot(TEST_USER_ID)).thenReturn(false);
+
+        // THEN getSystemAppsToRemove should be empty
+        assertTrue(logic.getSystemAppsToRemove(TEST_USER_ID).isEmpty());
+    }
+
+    @Test
+    public void testGetSystemAppsToRemove_OtaDelete() throws Exception {
+        // GIVEN that an OTA occurs and that system apps should be deleted (indicated by the fact
+        // that a snapshot currently exists)
+        final NonRequiredAppsLogic logic = createLogic(false, false);
+        // GIVEN that a combination of apps is present
+        initializeApps();
+
+        // THEN getSystemAppsToRemove should return a non-empty list with the only app to removed
+        // being the one that is a current system app, non required and not in the last
+        // snapshot.
+        assertEquals(Collections.singleton(APPS[4]), logic.getSystemAppsToRemove(TEST_USER_ID));
+    }
+
+    @Test
+    public void testMaybeTakeSnapshot_NewLeave() {
+        // GIVEN that a new profile is being created and that system apps should not be deleted
+        final NonRequiredAppsLogic logic = createLogic(true, true);
+
+        // WHEN calling maybeTakeSystemAppsSnapshot
+        logic.maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN no snapshot should be taken
+        verify(mSnapshot, never()).takeNewSnapshot(anyInt());
+    }
+
+    @Test
+    public void testMaybeTakeSnapshot_NewDelete() {
+        // GIVEN that a new profile is being created and that system apps should be deleted
+        final NonRequiredAppsLogic logic = createLogic(true, false);
+
+        // WHEN calling maybeTakeSystemAppsSnapshot
+        logic.maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN a snapshot should be taken
+        verify(mSnapshot).takeNewSnapshot(TEST_USER_ID);
+    }
+
+    @Test
+    public void testMaybeTakeSnapshot_OtaLeave() {
+        // GIVEN that an OTA occurs and that system apps should not be deleted (indicated by the
+        // fact that no snapshot currently exists)
+        final NonRequiredAppsLogic logic = createLogic(false, false);
+        when(mSnapshot.hasSnapshot(TEST_USER_ID)).thenReturn(false);
+
+        // WHEN calling maybeTakeSystemAppsSnapshot
+        logic.maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN no snapshot should be taken
+        verify(mSnapshot, never()).takeNewSnapshot(anyInt());
+    }
+
+    @Test
+    public void testMaybeTakeSnapshot_OtaDelete() {
+        // GIVEN that an OTA occurs and that system apps should be deleted (indicated by the fact
+        // that a snapshot currently exists)
+        final NonRequiredAppsLogic logic = createLogic(false, false);
+        when(mSnapshot.hasSnapshot(TEST_USER_ID)).thenReturn(true);
+
+        // WHEN calling maybeTakeSystemAppsSnapshot
+        logic.maybeTakeSystemAppsSnapshot(TEST_USER_ID);
+
+        // THEN a snapshot should be taken
+        verify(mSnapshot).takeNewSnapshot(TEST_USER_ID);
+    }
+
+    private void initializeApps() throws Exception {
+        setCurrentSystemApps(getSetFromArray(SYSTEM_APPS));
+        setLastSnapshot(getSetFromArray(SNAPSHOT_APPS));
+        setNonRequiredApps(getSetFromArray(BLACKLIST_APPS));
+    }
+
+    private void setCurrentSystemApps(Set<String> set) {
+        when(mUtils.getCurrentSystemApps(mIPackageManager, TEST_USER_ID)).thenReturn(set);
+    }
+
+    private void setLastSnapshot(Set<String> set) {
+        when(mSnapshot.getSnapshot(TEST_USER_ID)).thenReturn(set);
+        when(mSnapshot.hasSnapshot(TEST_USER_ID)).thenReturn(true);
+    }
+
+    private void setNonRequiredApps(Set<String> set) {
+        when(mProvider.getNonRequiredApps(TEST_USER_ID)).thenReturn(set);
+    }
+
+    private Set<String> getSetFromArray(int[] ids) {
+        Set<String> set = new HashSet<>(ids.length);
+        for (int id : ids) {
+            set.add(APPS[id]);
+        }
+        return set;
+    }
+
+    private NonRequiredAppsLogic createLogic(boolean newProfile, boolean leaveSystemAppsEnabled) {
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(ACTION_PROVISION_MANAGED_DEVICE)
+                .setDeviceAdminPackageName(TEST_DPC_PACKAGE_NAME)
+                .setLeaveAllSystemAppsEnabled(leaveSystemAppsEnabled)
+                .build();
+        return new NonRequiredAppsLogic(
+                mPackageManager,
+                mIPackageManager,
+                newProfile,
+                params,
+                mSnapshot,
+                mProvider,
+                mUtils);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProviderTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProviderTest.java
new file mode 100644
index 0000000..f812f53
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/OverlayPackagesProviderTest.java
@@ -0,0 +1,336 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
+import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.content.res.Resources;
+import android.os.RemoteException;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.test.mock.MockPackageManager;
+import android.view.inputmethod.InputMethodInfo;
+
+import com.android.internal.view.IInputMethodManager;
+import com.android.managedprovisioning.model.ProvisioningParams;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class OverlayPackagesProviderTest {
+    private static final String TEST_DPC_PACKAGE_NAME = "dpc.package.name";
+    private static final int TEST_USER_ID = 123;
+
+    private @Mock Resources mResources;
+    private @Mock IInputMethodManager mIInputMethodManager;
+    private @Mock Context mTestContext;
+
+    private FakePackageManager mPackageManager;
+    private String[] mSystemAppsWithLauncher;
+    private OverlayPackagesProvider mHelper;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mPackageManager = new FakePackageManager();
+        when(mTestContext.getResources()).thenReturn(mResources);
+        when(mTestContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mTestContext.getFilesDir()).thenReturn(
+                InstrumentationRegistry.getTargetContext().getCacheDir());
+
+        setSystemInputMethods();
+        setRequiredAppsManagedDevice();
+        setVendorRequiredAppsManagedDevice();
+        setDisallowedAppsManagedDevice();
+        setVendorDisallowedAppsManagedDevice();
+        setRequiredAppsManagedProfile();
+        setVendorRequiredAppsManagedProfile();
+        setDisallowedAppsManagedProfile();
+        setVendorDisallowedAppsManagedProfile();
+        setRequiredAppsManagedUser();
+        setVendorRequiredAppsManagedUser();
+        setDisallowedAppsManagedUser();
+        setVendorDisallowedAppsManagedUser();
+    }
+
+    @Test
+    public void testAppsWithLauncherAreNonRequiredByDefault() {
+        setSystemAppsWithLauncher("app.a", "app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.a", "app.b");
+    }
+
+    @Test
+    public void testDeviceOwnerRequiredApps() {
+        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
+        setRequiredAppsManagedDevice("app.a");
+        setVendorRequiredAppsManagedDevice("app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.c");
+    }
+
+    @Test
+    public void testProfileOwnerRequiredApps() {
+        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
+        setRequiredAppsManagedProfile("app.a");
+        setVendorRequiredAppsManagedProfile("app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_PROFILE, false);
+        verifyAppsAreNonRequired("app.c");
+    }
+
+    @Test
+    public void testManagedUserRequiredApps() {
+        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
+        setRequiredAppsManagedUser("app.a");
+        setVendorRequiredAppsManagedUser("app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_USER, false);
+        verifyAppsAreNonRequired("app.c");
+    }
+
+    @Test
+    public void testDpcIsRequired() {
+        setSystemAppsWithLauncher("app.a", TEST_DPC_PACKAGE_NAME);
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.a");
+    }
+
+    @Test
+    public void testDisallowedAppsAreNonRequiredEvenIfNoLauncher() {
+        setSystemAppsWithLauncher();
+        setDisallowedAppsManagedDevice("app.a");
+        setVendorDisallowedAppsManagedDevice("app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.a", "app.b");
+    }
+
+    @Test
+    public void testDeviceOwnerImesAreRequired() {
+        setSystemAppsWithLauncher("app.a", "app.b");
+        setSystemInputMethods("app.a");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.b");
+    }
+
+    @Test
+    public void testProfileOwnerImesAreNonRequired() {
+        setSystemAppsWithLauncher("app.a", "app.b");
+        setSystemInputMethods("app.a");
+
+        buildHelper(ACTION_PROVISION_MANAGED_PROFILE, false);
+        verifyAppsAreNonRequired("app.a", "app.b");
+    }
+
+    @Test
+    public void testManagedUserImesAreRequired() {
+        setSystemAppsWithLauncher("app.a", "app.b");
+        setSystemInputMethods("app.a");
+
+        buildHelper(ACTION_PROVISION_MANAGED_USER, false);
+        verifyAppsAreNonRequired("app.b");
+    }
+
+    @Test
+    public void testDisallowedAppsAreNonInstalled() {
+        setSystemAppsWithLauncher("app.a");
+        setDisallowedAppsManagedDevice("app.c");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, false);
+        verifyAppsAreNonRequired("app.a", "app.c");
+    }
+
+    @Test
+    public void testLeaveAllSystemAppsEnabled() {
+        setSystemAppsWithLauncher("app.a", "app.b");
+
+        buildHelper(ACTION_PROVISION_MANAGED_DEVICE, true);
+        verifyAppsAreNonRequired();
+    }
+
+    private void verifyAppsAreNonRequired(String... appArray) {
+        assertEquals(setFromArray(appArray), mHelper.getNonRequiredApps(TEST_USER_ID));
+    }
+
+    private void buildHelper(String action, boolean leaveAllSystemAppsEnabled) {
+        ProvisioningParams params = new ProvisioningParams.Builder()
+                .setProvisioningAction(action)
+                .setDeviceAdminPackageName(TEST_DPC_PACKAGE_NAME)
+                .setLeaveAllSystemAppsEnabled(leaveAllSystemAppsEnabled)
+                .build();
+        mHelper = new OverlayPackagesProvider(mTestContext, params, mIInputMethodManager);
+    }
+
+    private void setRequiredAppsManagedDevice(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_device,
+                apps);
+    }
+
+    private void setVendorRequiredAppsManagedDevice(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_device,
+                apps);
+    }
+
+    private void setDisallowedAppsManagedDevice(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_device,
+                apps);
+    }
+
+    private void setVendorDisallowedAppsManagedDevice(String... apps) {
+        setStringArray(
+                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_device,
+                apps);
+    }
+
+    private void setRequiredAppsManagedProfile(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_profile,
+                apps);
+    }
+
+    private void setVendorRequiredAppsManagedProfile(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_profile,
+                apps);
+    }
+
+    private void setDisallowedAppsManagedProfile(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_profile,
+                apps);
+    }
+
+    private void setVendorDisallowedAppsManagedProfile(String... apps) {
+        setStringArray(
+                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_profile,
+                apps);
+    }
+
+    private void setRequiredAppsManagedUser(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_user,
+                apps);
+    }
+
+    private void setVendorRequiredAppsManagedUser(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_user,
+                apps);
+    }
+
+    private void setDisallowedAppsManagedUser(String... apps) {
+        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_user,
+                apps);
+    }
+
+    private void setVendorDisallowedAppsManagedUser(String... apps) {
+        setStringArray(
+                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_user,
+                apps);
+    }
+
+    private void setStringArray(int resourceId, String[] strs) {
+        when(mResources.getStringArray(eq(resourceId)))
+                .thenReturn(strs);
+    }
+
+    private void setSystemInputMethods(String... packageNames) {
+        List<InputMethodInfo> inputMethods = new ArrayList<InputMethodInfo>();
+        for (String packageName : packageNames) {
+            ApplicationInfo aInfo = new ApplicationInfo();
+            aInfo.flags = ApplicationInfo.FLAG_SYSTEM;
+            ServiceInfo serviceInfo = new ServiceInfo();
+            serviceInfo.applicationInfo = aInfo;
+            serviceInfo.packageName = packageName;
+            serviceInfo.name = "";
+            ResolveInfo ri = new ResolveInfo();
+            ri.serviceInfo = serviceInfo;
+            InputMethodInfo inputMethodInfo = new InputMethodInfo(ri, false, null, null, 0, false);
+            inputMethods.add(inputMethodInfo);
+        }
+        try {
+            when(mIInputMethodManager.getInputMethodList()).thenReturn(inputMethods);
+        } catch (RemoteException e) {
+            fail(e.toString());
+        }
+    }
+
+    private void setSystemAppsWithLauncher(String... apps) {
+        mSystemAppsWithLauncher = apps;
+    }
+
+    private <T> Set<T> setFromArray(T... array) {
+        if (array == null) {
+            return null;
+        }
+        return new HashSet<T>(Arrays.asList(array));
+    }
+
+    class FakePackageManager extends MockPackageManager {
+        @Override
+        public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId) {
+            assertTrue("Expected an intent with action ACTION_MAIN",
+                    Intent.ACTION_MAIN.equals(intent.getAction()));
+            assertEquals("Expected an intent with category CATEGORY_LAUNCHER",
+                    setFromArray(Intent.CATEGORY_LAUNCHER), intent.getCategories());
+            assertTrue("Expected the flag MATCH_UNINSTALLED_PACKAGES",
+                    (flags & PackageManager.MATCH_UNINSTALLED_PACKAGES) != 0);
+            assertTrue("Expected the flag MATCH_DISABLED_COMPONENTS",
+                    (flags & PackageManager.MATCH_DISABLED_COMPONENTS) != 0);
+            assertTrue("Expected the flag MATCH_DIRECT_BOOT_AWARE",
+                    (flags & PackageManager.MATCH_DIRECT_BOOT_AWARE) != 0);
+            assertTrue("Expected the flag MATCH_DIRECT_BOOT_UNAWARE",
+                    (flags & PackageManager.MATCH_DIRECT_BOOT_UNAWARE) != 0);
+            assertEquals(userId, TEST_USER_ID);
+            List<ResolveInfo> result = new ArrayList<>();
+            if (mSystemAppsWithLauncher == null) {
+                return result;
+            }
+            for (String packageName : mSystemAppsWithLauncher) {
+                ActivityInfo ai = new ActivityInfo();
+                ai.packageName = packageName;
+                ResolveInfo ri = new ResolveInfo();
+                ri.activityInfo  = ai;
+                result.add(ri);
+            }
+            return result;
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshotTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshotTest.java
new file mode 100644
index 0000000..f21faa9
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/nonrequiredapps/SystemAppsSnapshotTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.nonrequiredapps;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+import com.android.managedprovisioning.task.nonrequiredapps.SystemAppsSnapshot;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit-tests for {@link SystemAppsSnapshot}.
+ */
+@SmallTest
+public class SystemAppsSnapshotTest {
+    private static final String TEST_PACKAGE_NAME_1 = "com.test.packagea";
+    private static final String TEST_PACKAGE_NAME_2 = "com.test.packageb";
+    private static final int TEST_USER_ID = 123;
+
+    @Mock private IPackageManager mockIPackageManager;
+    @Mock private Context mContext;
+    @Mock private Utils mUtils;
+    private SystemAppsSnapshot mSystemAppsSnapshot;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getFilesDir())
+                .thenReturn(InstrumentationRegistry.getTargetContext().getFilesDir());
+
+        mSystemAppsSnapshot = new SystemAppsSnapshot(mContext, mockIPackageManager, mUtils);
+    }
+
+    @After
+    public void tearDown() {
+        File systemAppsFile = SystemAppsSnapshot.getSystemAppsFile(
+                InstrumentationRegistry.getTargetContext(), TEST_USER_ID);
+        if (systemAppsFile.exists()) {
+            systemAppsFile.delete();
+        }
+    }
+
+    @Test
+    public void testHasSnapshot() throws Exception {
+        // GIVEN a number of installed system apps
+        setCurrentSystemApps(TEST_PACKAGE_NAME_1, TEST_PACKAGE_NAME_2);
+
+        // THEN hasSnapshot should return false before the first snapshot is taken
+        assertFalse(mSystemAppsSnapshot.hasSnapshot(TEST_USER_ID));
+
+        // WHEN taking a snapshot
+        mSystemAppsSnapshot.takeNewSnapshot(TEST_USER_ID);
+
+        // THEN hasSnapshot should return true
+        assertTrue(mSystemAppsSnapshot.hasSnapshot(TEST_USER_ID));
+    }
+
+    @Test
+    public void testGetSnapshot() throws Exception {
+        // GIVEN a number of installed system apps
+        setCurrentSystemApps(TEST_PACKAGE_NAME_1, TEST_PACKAGE_NAME_2);
+
+        // THEN getSnapshot should return an empty set
+        assertTrue(mSystemAppsSnapshot.getSnapshot(TEST_USER_ID).isEmpty());
+
+        // WHEN taking a snapshot
+        mSystemAppsSnapshot.takeNewSnapshot(TEST_USER_ID);
+
+        // THEN hasSnapshot should return true
+        assertSetEquals(mSystemAppsSnapshot.getSnapshot(TEST_USER_ID),
+                TEST_PACKAGE_NAME_1, TEST_PACKAGE_NAME_2);
+    }
+
+    private void setCurrentSystemApps(String... packages) throws Exception {
+        when(mUtils.getCurrentSystemApps(mockIPackageManager, TEST_USER_ID))
+                .thenReturn(new HashSet<>(Arrays.asList(packages)));
+    }
+
+    private void assertSetEquals(Collection<String> result, String... expected) {
+        assertEquals(expected.length, result.size());
+        for (String name : expected) {
+            assertTrue(result.contains(name));
+        }
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/NetworkMonitorTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/NetworkMonitorTest.java
new file mode 100644
index 0000000..29ed050
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/NetworkMonitorTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.wifi;
+
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.common.Utils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Unit tests for {@link NetworkMonitor}.
+ */
+@SmallTest
+public class NetworkMonitorTest {
+
+    @Mock private Context mContext;
+    @Mock private Utils mUtils;
+    @Mock private NetworkMonitor.NetworkConnectedCallback mCallback;
+    private NetworkMonitor mNetworkMonitor;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mNetworkMonitor = new NetworkMonitor(mContext, mUtils);
+    }
+
+    @Test
+    public void testStartListening() {
+        // WHEN starting to listen for connectivity changes
+        mNetworkMonitor.startListening(mCallback);
+
+        // THEN a broadcast receiver should be registered
+        ArgumentCaptor<BroadcastReceiver> receiverCaptor =
+                ArgumentCaptor.forClass(BroadcastReceiver.class);
+        verify(mContext).registerReceiver(receiverCaptor.capture(), eq(NetworkMonitor.FILTER));
+
+        // WHEN connectivity is not obtained and a broadcast is received
+        when(mUtils.isConnectedToWifi(mContext)).thenReturn(false);
+        receiverCaptor.getValue().onReceive(mContext,
+                new Intent(ConnectivityManager.CONNECTIVITY_ACTION));
+
+        // THEN no callback should be given
+        verifyZeroInteractions(mCallback);
+
+        // WHEN connectivity is obtained and a broadcast is received
+        when(mUtils.isConnectedToWifi(mContext)).thenReturn(true);
+        receiverCaptor.getValue().onReceive(mContext,
+                new Intent(ConnectivityManager.CONNECTIVITY_ACTION));
+
+        // THEN a callback should be given
+        verify(mCallback).onNetworkConnected();
+    }
+
+    @Test
+    public void testStopListening() {
+        // WHEN starting and stopping to listen for connectivity changes
+        mNetworkMonitor.startListening(mCallback);
+        mNetworkMonitor.stopListening();
+
+        // THEN a broadcast receiver should be registered and later unregistered
+        ArgumentCaptor<BroadcastReceiver> receiverCaptor =
+                ArgumentCaptor.forClass(BroadcastReceiver.class);
+        verify(mContext).registerReceiver(receiverCaptor.capture(), eq(NetworkMonitor.FILTER));
+        verify(mContext).unregisterReceiver(receiverCaptor.getValue());
+
+        // WHEN connectivity is not obtained and a broadcast is received
+        when(mUtils.isConnectedToWifi(mContext)).thenReturn(false);
+        receiverCaptor.getValue().onReceive(mContext,
+                new Intent(ConnectivityManager.CONNECTIVITY_ACTION));
+
+        // THEN no callback should be given
+        verifyZeroInteractions(mCallback);
+
+        // WHEN connectivity is obtained and a broadcast is received
+        when(mUtils.isConnectedToWifi(mContext)).thenReturn(true);
+        receiverCaptor.getValue().onReceive(mContext,
+                new Intent(ConnectivityManager.CONNECTIVITY_ACTION));
+
+        // THEN no callback should be given
+        verifyZeroInteractions(mCallback);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java
new file mode 100644
index 0000000..7fc22bb
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2016, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.task.wifi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import android.net.IpConfiguration;
+import android.net.wifi.WifiConfiguration;
+import android.support.test.filters.SmallTest;
+
+import com.android.managedprovisioning.model.WifiInfo;
+
+import org.junit.Test;
+
+/**
+ * Unit test for {@link WifiConfigurationProvider}.
+ */
+@SmallTest
+public class WifiConfigurationProviderTest {
+    private static final String TEST_SSID = "test_ssid";
+    private static final boolean TEST_HIDDEN = true;
+    private static final String TEST_PAC_URL = "test.pac.url";
+    private static final String TEST_PROXY_BYPASS_HOST = "testProxyBypassHost";
+    private static final String TEST_PROXY_HOST = "TestProxyHost";
+    private static final int TEST_PROXY_PORT = 1234;
+    private static final String TEST_PASSWORD = "testPassword";
+    private static final String TEST_PASSWORD_WEP = "0123456789"; // length needs to be 10
+
+    private static final WifiInfo.Builder BASE_BUILDER = new WifiInfo.Builder()
+            .setSsid(TEST_SSID)
+            .setHidden(TEST_HIDDEN);
+
+    private static final WifiInfo WIFI_INFO_WPA = BASE_BUILDER
+            .setSecurityType(WifiConfigurationProvider.WPA)
+            .setPassword(TEST_PASSWORD)
+            .build();
+
+    private static final WifiInfo WIFI_INFO_WEP = BASE_BUILDER
+            .setSecurityType(WifiConfigurationProvider.WEP)
+            .setPassword(TEST_PASSWORD)
+            .build();
+
+    private static final WifiInfo WIFI_INFO_WEP_2 = BASE_BUILDER
+            .setSecurityType(WifiConfigurationProvider.WEP)
+            .setPassword(TEST_PASSWORD_WEP)
+            .build();
+
+    private static final WifiInfo WIFI_INFO_NONE = BASE_BUILDER
+            .setSecurityType(WifiConfigurationProvider.NONE)
+            .build();
+
+    private static final WifiInfo WIFI_INFO_NULL = BASE_BUILDER
+            .build();
+
+    private static final WifiInfo WIFI_INFO_PAC = BASE_BUILDER
+            .setPacUrl(TEST_PAC_URL)
+            .build();
+
+    private static final WifiInfo WIFI_INFO_PROXY = BASE_BUILDER
+            .setProxyBypassHosts(TEST_PROXY_BYPASS_HOST)
+            .setProxyHost(TEST_PROXY_HOST)
+            .setProxyPort(TEST_PROXY_PORT)
+            .build();
+
+
+    private final WifiConfigurationProvider mProvider = new WifiConfigurationProvider();
+
+    @Test
+    public void testWpa() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_WPA);
+
+        assertBase(wifiConf);
+        assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK));
+        assertTrue(wifiConf.allowedProtocols.get(WifiConfiguration.Protocol.WPA));
+        assertEquals("\"" + TEST_PASSWORD + "\"", wifiConf.preSharedKey);
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testWep() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_WEP);
+
+        assertBase(wifiConf);
+        assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
+        assertEquals("\"" + TEST_PASSWORD + "\"", wifiConf.wepKeys[0]);
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testWep2() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_WEP_2);
+
+        assertBase(wifiConf);
+        assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
+        assertEquals(TEST_PASSWORD_WEP, wifiConf.wepKeys[0]);
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testNone() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_NONE);
+
+        assertBase(wifiConf);
+        assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
+        assertTrue(wifiConf.allowedAuthAlgorithms.get(WifiConfiguration.AuthAlgorithm.OPEN));
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testNull() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_NULL);
+
+        assertBase(wifiConf);
+        assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
+        assertTrue(wifiConf.allowedAuthAlgorithms.get(WifiConfiguration.AuthAlgorithm.OPEN));
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testPac() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_PAC);
+
+        assertBase(wifiConf);
+        assertEquals(IpConfiguration.ProxySettings.PAC, wifiConf.getProxySettings());
+    }
+
+    @Test
+    public void testStaticProxy() {
+        WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_PROXY);
+
+        assertBase(wifiConf);
+        assertEquals(IpConfiguration.ProxySettings.STATIC, wifiConf.getProxySettings());
+    }
+
+    private void assertBase(WifiConfiguration wifiConf) {
+        assertEquals(TEST_SSID, wifiConf.SSID);
+        assertEquals(TEST_HIDDEN, wifiConf.hiddenSSID);
+        assertEquals(WifiConfiguration.Status.ENABLED, wifiConf.status);
+        assertEquals(WifiConfiguration.USER_APPROVED, wifiConf.userApproved);
+    }
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/testcommon/TestUtils.java b/tests/instrumentation/src/com/android/managedprovisioning/testcommon/TestUtils.java
new file mode 100644
index 0000000..4315f68
--- /dev/null
+++ b/tests/instrumentation/src/com/android/managedprovisioning/testcommon/TestUtils.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.testcommon;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+
+import com.android.managedprovisioning.common.StoreUtils;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class TestUtils {
+    public static Uri resourceToUri(Context context, int resID) {
+        return Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"
+                + context.getResources().getResourcePackageName(resID) + '/'
+                + context.getResources().getResourceTypeName(resID) + '/'
+                + context.getResources().getResourceEntryName(resID) );
+    }
+
+    public static String stringFromUri(ContentResolver cr, Uri uri) throws IOException {
+        try (final InputStream in = cr.openInputStream(uri)) {
+            try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
+                StoreUtils.copyStream(in, out);
+                return out.toString();
+            }
+        }
+    }
+
+    public static void deleteRecursive(File fileOrDirectory) {
+        if (fileOrDirectory.isDirectory())
+            for (File child : fileOrDirectory.listFiles())
+                deleteRecursive(child);
+
+        fileOrDirectory.delete();
+    }
+}
diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk
new file mode 100644
index 0000000..dba8cfb
--- /dev/null
+++ b/tests/robotests/Android.mk
@@ -0,0 +1,39 @@
+#############################################
+# ManagedProvisioning Robolectric test target. #
+#############################################
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+# Include the testing libraries (JUnit4 + Robolectric libs).
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    platform-system-robolectric
+
+LOCAL_JAVA_LIBRARIES := \
+    junit \
+    platform-robolectric-prebuilt \
+    telephony-common
+
+LOCAL_INSTRUMENTATION_FOR := ManagedProvisioning
+LOCAL_MODULE := ManagedProvisioningRoboTests
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+#############################################################
+# Settings runner target to run the previous target. #
+#############################################################
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := RunManagedProvisioningRoboTests
+
+LOCAL_SDK_VERSION := current
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    ManagedProvisioningRoboTests
+
+LOCAL_TEST_PACKAGE := ManagedProvisioning
+
+include prebuilts/misc/common/robolectric/run_robotests.mk
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/managedprovisioning/model/WifiInfoRoboTest.java b/tests/robotests/src/com/android/managedprovisioning/model/WifiInfoRoboTest.java
new file mode 100644
index 0000000..4c7a6e5
--- /dev/null
+++ b/tests/robotests/src/com/android/managedprovisioning/model/WifiInfoRoboTest.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning.model;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.not;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import android.os.Parcel;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+/**
+ * Robolectric tests for {@link WifiInfo}.
+ */
+@RunWith(RobolectricTestRunner.class)
+@Config(manifest = "packages/apps/ManagedProvisioning/AndroidManifest.xml",
+        sdk = 23)
+public class WifiInfoRoboTest {
+    private static final String TEST_SSID = "TestWifi";
+    private static final boolean TEST_HIDDEN = true;
+    private static final String TEST_SECURITY_TYPE = "WPA2";
+    private static final String TEST_PASSWORD = "TestPassword";
+    private static final String TEST_PROXY_HOST = "proxy.example.com";
+    private static final int TEST_PROXY_PORT = 7689;
+    private static final String TEST_PROXY_BYPASS_HOSTS = "http://host1.com;https://host2.com";
+    private static final String TEST_PAC_URL = "pac.example.com";
+
+    @Test
+    public void testBuilderWriteAndReadBack() {
+        // WHEN a WifiInfo object is constructed by a set of parameters.
+        WifiInfo wifiInfo = WifiInfo.Builder.builder()
+                .setSsid(TEST_SSID)
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+        // THEN the same set of values are set to the object.
+        assertEquals(TEST_SSID, wifiInfo.ssid);
+        assertEquals(TEST_HIDDEN, wifiInfo.hidden);
+        assertEquals(TEST_SECURITY_TYPE, wifiInfo.securityType);
+        assertEquals(TEST_PASSWORD, wifiInfo.password);
+        assertEquals(TEST_PROXY_HOST, wifiInfo.proxyHost);
+        assertEquals(TEST_PROXY_PORT, wifiInfo.proxyPort);
+        assertEquals(TEST_PROXY_BYPASS_HOSTS, wifiInfo.proxyBypassHosts);
+        assertEquals(TEST_PAC_URL, wifiInfo.pacUrl);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testFailToConstructWifiInfoWithoutSsid() {
+        WifiInfo.Builder.builder()
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+    }
+
+    @Test
+    public void testEquals() {
+        // GIVEN 2 WifiInfo objects are constructed with the same set of parameters.
+        WifiInfo wifiInfo1 = WifiInfo.Builder.builder()
+                .setSsid(TEST_SSID)
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+        WifiInfo wifiInfo2 = WifiInfo.Builder.builder()
+                .setSsid(TEST_SSID)
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+        // WHEN comparing these two objects.
+        // THEN they are equal.
+        assertEquals(wifiInfo1, wifiInfo2);
+    }
+
+    @Test
+    public void testNotEquals() {
+        // GIVEN 2 WifiInfo objects are constructed with the same set of parameters.
+        WifiInfo wifiInfo1 = WifiInfo.Builder.builder()
+                .setSsid(TEST_SSID)
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+        WifiInfo wifiInfo2 = WifiInfo.Builder.builder()
+                .setSsid("TestWifi2")
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+        // WHEN comparing these two objects.
+        // THEN they are not equal.
+        assertThat(wifiInfo2, not(equalTo(wifiInfo1)));
+    }
+
+    @Test
+    public void testParceable() {
+        // GIVEN a WifiInfo object.
+        WifiInfo expectedWifiInfo = WifiInfo.Builder.builder()
+                .setSsid(TEST_SSID)
+                .setHidden(TEST_HIDDEN)
+                .setSecurityType(TEST_SECURITY_TYPE)
+                .setPassword(TEST_PASSWORD)
+                .setProxyHost(TEST_PROXY_HOST)
+                .setProxyPort(TEST_PROXY_PORT)
+                .setProxyBypassHosts(TEST_PROXY_BYPASS_HOSTS)
+                .setPacUrl(TEST_PAC_URL)
+                .build();
+
+        // WHEN the WifiInfo is written to parcel and then read back.
+        Parcel parcel = Parcel.obtain();
+        expectedWifiInfo.writeToParcel(parcel, 0);
+        parcel.setDataPosition(0);
+        WifiInfo actualWifiInfo = WifiInfo.CREATOR.createFromParcel(parcel);
+
+        // THEN the same WifiInfo is obtained.
+        assertEquals(expectedWifiInfo, actualWifiInfo);
+    }
+}
diff --git a/tests/src/com/android/managedprovisioning/IntentStoreTest.java b/tests/src/com/android/managedprovisioning/IntentStoreTest.java
deleted file mode 100644
index ebd3647..0000000
--- a/tests/src/com/android/managedprovisioning/IntentStoreTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.accounts.Account;
-import android.content.ComponentName;
-import android.content.Intent;
-import android.os.BaseBundle;
-import android.os.Bundle;
-import android.os.PersistableBundle;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import java.util.Set;
-
-public class IntentStoreTest extends AndroidTestCase {
-
-    private static final String SAMPLE_INTENT_STORE_NAME = "sample_intent_store_name";
-
-    private static final ComponentName SAMPLE_COMPONENT_NAME
-            = new ComponentName("package.sample", "class.sample");
-
-    @Override
-    public void tearDown() {
-        createIntentStore().clear();
-    }
-
-    @SmallTest
-    public void testAction() throws Exception {
-        testIntentCanBeRecovered(new Intent("action.test"));
-    }
-
-    @SmallTest
-    public void testComponent() throws Exception {
-        testIntentCanBeRecovered(new Intent().setComponent(SAMPLE_COMPONENT_NAME));
-    }
-
-    @SmallTest
-    public void testExtraStrings() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a", "b").putExtra("c", "d"));
-    }
-
-    @SmallTest
-    public void testExtraInt() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a", 42));
-    }
-
-    @SmallTest
-    public void testExtraLong() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a", 12345678910L));
-    }
-
-    @SmallTest
-    public void testExtraBoolean() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a", true));
-    }
-
-    @SmallTest
-    public void testExtraComponentName() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a", SAMPLE_COMPONENT_NAME));
-    }
-
-    @SmallTest
-    public void testExtraAccount() throws Exception {
-        testIntentCanBeRecovered(new Intent().putExtra("a",
-                new Account("sample.type", "sample.name")));
-    }
-
-    @SmallTest
-    public void testPersistableBundle() throws Exception {
-        PersistableBundle pBundle = new PersistableBundle();
-        pBundle.putString("a", "b");
-        pBundle.putBoolean("c", false);
-        Intent firstIntent = new Intent().putExtra("a", pBundle);
-        // Utils.intentEquals() method doesn't support embedded Bundle, so we can't use it.
-        IntentStore intentStore = createIntentStore();
-        intentStore.save(firstIntent);
-        Intent newIntent = intentStore.load();
-        if (!TestUtils.bundleEquals(pBundle, (PersistableBundle) newIntent.getExtra("a"))) {
-            TestUtils.failIntentsNotEqual(firstIntent, newIntent);
-        }
-    }
-
-    /**
-     * Tests that the intent can be saved, recovered,
-     * and that the recovered intent is equal to the original one.
-     */
-    private void testIntentCanBeRecovered(Intent intent) throws Exception {
-        createIntentStore().save(intent);
-        // Use a different intent store to make sure that the intent store doesn't just save the
-        // intent in memmory.
-        IntentStore loadingIntentStore = createIntentStore();
-        TestUtils.assertIntentEquals(intent, loadingIntentStore.load());
-    }
-
-    private IntentStore createIntentStore() {
-        return new IntentStore(getContext(), SAMPLE_INTENT_STORE_NAME);
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/common/UtilsTest.java b/tests/src/com/android/managedprovisioning/common/UtilsTest.java
deleted file mode 100644
index 9d5a598..0000000
--- a/tests/src/com/android/managedprovisioning/common/UtilsTest.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.common;
-
-import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.AccountManagerCallback;
-import android.accounts.AccountManagerFuture;
-import android.accounts.OperationCanceledException;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.PackageInfo;
-import android.content.pm.ParceledListSlice;
-import android.content.pm.ResolveInfo;
-import android.graphics.Color;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.os.Build;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.Arrays;
-import java.util.concurrent.TimeUnit;
-import java.util.List;
-import java.util.Set;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.anyLong;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-/**
- * Unit-tests for {@link Utils}.
- */
-@SmallTest
-public class UtilsTest extends AndroidTestCase {
-    private static final String TEST_PACKAGE_NAME_1 = "com.test.packagea";
-    private static final String TEST_PACKAGE_NAME_2 = "com.test.packageb";
-    private static final ComponentName TEST_COMPONENT_NAME = new ComponentName(TEST_PACKAGE_NAME_1,
-            ".MainActivity");
-    private static final int TEST_USER_ID = 10;
-
-    @Mock private Context mockContext;
-    @Mock private AccountManager mockAccountManager;
-    @Mock private IPackageManager mockIPackageManager;
-    @Mock private PackageManager mockPackageManager;
-    @Mock private ConnectivityManager mockConnectivityManager;
-
-    private Utils mUtils;
-
-    @Override
-    public void setUp() {
-        // this is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-
-        MockitoAnnotations.initMocks(this);
-
-        when(mockContext.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mockAccountManager);
-        when(mockContext.getPackageManager()).thenReturn(mockPackageManager);
-        when(mockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
-                .thenReturn(mockConnectivityManager);
-
-        mUtils = new Utils();
-    }
-
-    public void testGetCurrentSystemApps() throws Exception {
-        // GIVEN two currently installed apps, one of which is system
-        List<ApplicationInfo> appList = Arrays.asList(
-                createApplicationInfo(TEST_PACKAGE_NAME_1, false),
-                createApplicationInfo(TEST_PACKAGE_NAME_2, true));
-        when(mockIPackageManager.getInstalledApplications(
-                PackageManager.GET_UNINSTALLED_PACKAGES, TEST_USER_ID))
-                .thenReturn(new ParceledListSlice(appList));
-        // WHEN requesting the current system apps
-        Set<String> res = mUtils.getCurrentSystemApps(mockIPackageManager, TEST_USER_ID);
-        // THEN the one system app should be returned
-        assertEquals(1, res.size());
-        assertTrue(res.contains(TEST_PACKAGE_NAME_2));
-    }
-
-    public void testSetComponentEnabledSetting() throws Exception {
-        // GIVEN a component name and a user id
-        // WHEN disabling a component
-        mUtils.setComponentEnabledSetting(mockIPackageManager, TEST_COMPONENT_NAME,
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED, TEST_USER_ID);
-        // THEN the correct method on mockIPackageManager gets invoked
-        verify(mockIPackageManager).setComponentEnabledSetting(eq(TEST_COMPONENT_NAME),
-                eq(PackageManager.COMPONENT_ENABLED_STATE_DISABLED),
-                eq(PackageManager.DONT_KILL_APP),
-                eq(TEST_USER_ID));
-        verifyNoMoreInteractions(mockIPackageManager);
-    }
-
-    public void testPackageRequiresUpdate_notPresent() throws Exception {
-        // GIVEN that the requested package is not present on the device
-        // WHEN checking whether an update is required
-        when(mockPackageManager.getPackageInfo(TEST_PACKAGE_NAME_1, 0))
-                .thenThrow(new NameNotFoundException());
-        // THEN an update is required
-        assertTrue(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 0, mockContext));
-    }
-
-    public void testPackageRequiresUpdate() throws Exception {
-        // GIVEN a package that is installed on the device
-        PackageInfo pi = new PackageInfo();
-        pi.packageName = TEST_PACKAGE_NAME_1;
-        pi.versionCode = 1;
-        when(mockPackageManager.getPackageInfo(TEST_PACKAGE_NAME_1, 0)).thenReturn(pi);
-        // WHEN checking whether an update is required
-        // THEN verify that update required returns the correct result depending on the minimum
-        // version code requested.
-        assertFalse(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 0, mockContext));
-        assertFalse(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 1, mockContext));
-        assertTrue(mUtils.packageRequiresUpdate(TEST_PACKAGE_NAME_1, 2, mockContext));
-    }
-
-    public void testMaybeCopyAccount_success() throws Exception {
-        // GIVEN an account on the source user and a managed profile present and no timeout
-        // or error during migration
-        Account testAccount = new Account("test@afw-test.com", "com.google");
-        UserHandle primaryUser = UserHandle.of(0);
-        UserHandle managedProfile = UserHandle.of(10);
-
-        AccountManagerFuture mockResult = mock(AccountManagerFuture.class);
-        when(mockResult.getResult(anyLong(), any(TimeUnit.class))).thenReturn(true);
-        when(mockAccountManager.copyAccountToUser(any(Account.class), any(UserHandle.class),
-                any(UserHandle.class), any(AccountManagerCallback.class), any(Handler.class)))
-                .thenReturn(mockResult);
-
-        // WHEN copying the account from the source user to the target user
-        // THEN the account migration succeeds
-        assertTrue(mUtils.maybeCopyAccount(mockContext, testAccount, primaryUser, managedProfile));
-        verify(mockAccountManager).copyAccountToUser(eq(testAccount), eq(primaryUser),
-                eq(managedProfile), any(AccountManagerCallback.class), any(Handler.class));
-        verify(mockResult).getResult(anyLong(), any(TimeUnit.class));
-    }
-
-    public void testMaybeCopyAccount_error() throws Exception {
-        // GIVEN an account on the source user and a target user present and an error occurs
-        // during migration
-        Account testAccount = new Account("test@afw-test.com", "com.google");
-        UserHandle primaryUser = UserHandle.of(0);
-        UserHandle managedProfile = UserHandle.of(10);
-
-        AccountManagerFuture mockResult = mock(AccountManagerFuture.class);
-        when(mockResult.getResult(anyLong(), any(TimeUnit.class))).thenReturn(false);
-        when(mockAccountManager.copyAccountToUser(any(Account.class), any(UserHandle.class),
-                any(UserHandle.class), any(AccountManagerCallback.class), any(Handler.class)))
-                .thenReturn(mockResult);
-
-        // WHEN copying the account from the source user to the target user
-        // THEN the account migration fails
-        assertFalse(mUtils.maybeCopyAccount(mockContext, testAccount, primaryUser, managedProfile));
-        verify(mockAccountManager).copyAccountToUser(eq(testAccount), eq(primaryUser),
-                eq(managedProfile), any(AccountManagerCallback.class), any(Handler.class));
-        verify(mockResult).getResult(anyLong(), any(TimeUnit.class));
-    }
-
-    public void testMaybeCopyAccount_timeout() throws Exception {
-        // GIVEN an account on the source user and a target user present and a timeout occurs
-        // during migration
-        Account testAccount = new Account("test@afw-test.com", "com.google");
-        UserHandle primaryUser = UserHandle.of(0);
-        UserHandle managedProfile = UserHandle.of(10);
-
-        AccountManagerFuture mockResult = mock(AccountManagerFuture.class);
-        // the AccountManagerFuture throws an OperationCanceledException after timeout
-        when(mockResult.getResult(anyLong(), any(TimeUnit.class)))
-                .thenThrow(new OperationCanceledException());
-        when(mockAccountManager.copyAccountToUser(any(Account.class), any(UserHandle.class),
-                any(UserHandle.class), any(AccountManagerCallback.class), any(Handler.class)))
-                .thenReturn(mockResult);
-
-        // WHEN copying the account from the source user to the target user
-        // THEN the account migration fails
-        assertFalse(mUtils.maybeCopyAccount(mockContext, testAccount, primaryUser, managedProfile));
-        verify(mockAccountManager).copyAccountToUser(eq(testAccount), eq(primaryUser),
-                eq(managedProfile), any(AccountManagerCallback.class), any(Handler.class));
-        verify(mockResult).getResult(anyLong(), any(TimeUnit.class));
-    }
-
-    public void testMaybeCopyAccount_nullAccount() {
-        // GIVEN a device with two users present
-        UserHandle primaryUser = UserHandle.of(0);
-        UserHandle managedProfile = UserHandle.of(10);
-
-        // WHEN trying to copy a null account from the source user to the target user
-        // THEN request is ignored
-        assertFalse(mUtils.maybeCopyAccount(mockContext, null /* accountToMigrate */, primaryUser,
-                managedProfile));
-        verifyZeroInteractions(mockAccountManager);
-    }
-
-    public void testMaybeCopyAccount_sameUser() {
-        // GIVEN an account on a user
-        Account testAccount = new Account("test@afw-test.com", "com.google");
-        UserHandle primaryUser = UserHandle.of(0);
-
-        // WHEN trying to invoke copying an account with the same user id for source and target user
-        // THEN request is ignored
-        assertFalse(mUtils.maybeCopyAccount(mockContext, testAccount, primaryUser, primaryUser));
-        verifyZeroInteractions(mockAccountManager);
-    }
-
-    public void testIsConnectedToNetwork() throws Exception {
-        // GIVEN the device is currently connected to mobile network
-        setCurrentNetworkMock(ConnectivityManager.TYPE_MOBILE, true);
-        // WHEN checking connectivity
-        // THEN utils should return true
-        assertTrue(mUtils.isConnectedToNetwork(mockContext));
-
-        // GIVEN the device is currently connected to wifi
-        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, true);
-        // WHEN checking connectivity
-        // THEN utils should return true
-        assertTrue(mUtils.isConnectedToNetwork(mockContext));
-
-        // GIVEN the device is currently disconnected on wifi
-        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, false);
-        // WHEN checking connectivity
-        // THEN utils should return false
-        assertFalse(mUtils.isConnectedToNetwork(mockContext));
-    }
-
-    public void testIsConnectedToWifi() throws Exception {
-        // GIVEN the device is currently connected to mobile network
-        setCurrentNetworkMock(ConnectivityManager.TYPE_MOBILE, true);
-        // WHEN checking whether connected to wifi
-        // THEN utils should return false
-        assertFalse(mUtils.isConnectedToWifi(mockContext));
-
-        // GIVEN the device is currently connected to wifi
-        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, true);
-        // WHEN checking whether connected to wifi
-        // THEN utils should return true
-        assertTrue(mUtils.isConnectedToWifi(mockContext));
-
-        // GIVEN the device is currently disconnected on wifi
-        setCurrentNetworkMock(ConnectivityManager.TYPE_WIFI, false);
-        // WHEN checking whether connected to wifi
-        // THEN utils should return false
-        assertFalse(mUtils.isConnectedToWifi(mockContext));
-    }
-
-    public void testCurrentLauncherSupportsManagedProfiles_noLauncherSet() throws Exception {
-        // GIVEN there currently is no default launcher set
-        when(mockPackageManager.resolveActivity(any(Intent.class), anyInt()))
-                .thenReturn(null);
-        // WHEN checking whether the current launcher support managed profiles
-        // THEN utils should return false
-        assertFalse(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
-    }
-
-    public void testCurrentLauncherSupportsManagedProfiles() throws Exception {
-        // GIVEN the current default launcher is built against lollipop
-        setLauncherMock(Build.VERSION_CODES.LOLLIPOP);
-        // WHEN checking whether the current launcher support managed profiles
-        // THEN utils should return true
-        assertTrue(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
-
-        // GIVEN the current default launcher is built against kitkat
-        setLauncherMock(Build.VERSION_CODES.KITKAT);
-        // WHEN checking whether the current launcher support managed profiles
-        // THEN utils should return false
-        assertFalse(mUtils.currentLauncherSupportsManagedProfiles(mockContext));
-    }
-
-    private ApplicationInfo createApplicationInfo(String packageName, boolean system) {
-        ApplicationInfo ai = new ApplicationInfo();
-        ai.packageName = packageName;
-        if (system) {
-            ai.flags = ApplicationInfo.FLAG_SYSTEM;
-        }
-        return ai;
-    }
-
-    private void setCurrentNetworkMock(int type, boolean connected) {
-        NetworkInfo networkInfo = new NetworkInfo(type, 0, null, null);
-        networkInfo.setDetailedState(
-                connected ? NetworkInfo.DetailedState.CONNECTED
-                        : NetworkInfo.DetailedState.DISCONNECTED,
-                null, null);
-        when(mockConnectivityManager.getActiveNetworkInfo()).thenReturn(networkInfo);
-    }
-
-    private void setLauncherMock(int targetSdkVersion) throws Exception {
-        ApplicationInfo appInfo = new ApplicationInfo();
-        appInfo.targetSdkVersion = targetSdkVersion;
-        ActivityInfo actInfo = new ActivityInfo();
-        actInfo.packageName = TEST_PACKAGE_NAME_1;
-        ResolveInfo resInfo = new ResolveInfo();
-        resInfo.activityInfo = actInfo;
-
-        when(mockPackageManager.resolveActivity(any(Intent.class), anyInt())).thenReturn(resInfo);
-        when(mockPackageManager.getApplicationInfo(TEST_PACKAGE_NAME_1, 0)).thenReturn(appInfo);
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/parser/MessageParserTest.java b/tests/src/com/android/managedprovisioning/parser/MessageParserTest.java
deleted file mode 100644
index 761b9bc..0000000
--- a/tests/src/com/android/managedprovisioning/parser/MessageParserTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning.parser;
-
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCALE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_USER_SETUP;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TIME_ZONE;
-import static com.android.managedprovisioning.common.Globals.ACTION_RESUME_PROVISIONING;
-import static com.android.managedprovisioning.model.ProvisioningParams.DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED;
-import static com.android.managedprovisioning.model.ProvisioningParams.DEFAULT_STARTED_BY_TRUSTED_SOURCE;
-import static com.android.managedprovisioning.model.ProvisioningParams.DEFAULT_SKIP_USER_SETUP;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_ACTION;
-import static com.android.managedprovisioning.parser.MessageParser.EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE;
-import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
-import static com.android.managedprovisioning.model.ProvisioningParams.DEFAULT_LOCAL_TIME;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.accounts.Account;
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
-import android.os.PersistableBundle;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.managedprovisioning.TestUtils;
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.ProvisioningParams;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.io.ByteArrayOutputStream;
-import java.lang.Exception;
-import java.util.Locale;
-import java.util.Properties;
-
-/** Tests {@link MessageParser} */
-@SmallTest
-public class MessageParserTest extends AndroidTestCase {
-    private static final String TEST_PACKAGE_NAME = "com.afwsamples.testdpc";
-    private static final ComponentName TEST_COMPONENT_NAME =
-            ComponentName.unflattenFromString(
-                    "com.afwsamples.testdpc/com.afwsamples.testdpc.DeviceAdminReceiver");
-    private static final long TEST_LOCAL_TIME = 1456939524713L;
-    private static final Locale TEST_LOCALE = Locale.UK;
-    private static final String TEST_TIME_ZONE = "GMT";
-    private static final Integer TEST_MAIN_COLOR = 65280;
-    private static final boolean TEST_SKIP_ENCRYPTION = true;
-    private static final Account TEST_ACCOUNT_TO_MIGRATE =
-            new Account("user@gmail.com", "com.google");
-
-    @Mock
-    private Context mContext;
-
-    private Utils mUtils;
-
-    private MessageParser mMessageParser;
-
-    @Override
-    public void setUp() {
-        // this is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-
-        MockitoAnnotations.initMocks(this);
-
-        mMessageParser = new MessageParser(mUtils = spy(new Utils()));
-    }
-
-    public void testParseAndRecoverIntent() throws Exception {
-        // GIVEN the device admin app is installed.
-        doReturn(TEST_COMPONENT_NAME)
-                .when(mUtils)
-                .findDeviceAdmin(TEST_PACKAGE_NAME, null, mContext);
-
-        // GIVEN a managed provisioning intent with some extras was being parsed.
-        Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE)
-                .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, TEST_PACKAGE_NAME)
-                .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
-                .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
-                .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE);
-        ProvisioningParams params = mMessageParser.parse(intent, mContext);
-
-        // WHEN the provisioning data was converted to an intent by getIntentFromProvisioningParams.
-        Intent restoredIntent = mMessageParser.getIntentFromProvisioningParams(params);
-
-        // THEN the intent matches
-        TestUtils.assertIntentEquals(new Intent(ACTION_RESUME_PROVISIONING)
-                        .putExtra(EXTRA_PROVISIONING_ACTION, ACTION_PROVISION_MANAGED_PROFILE)
-                        // Package name is deprecated and replaced by component name only.
-                        .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, (String) null)
-                        .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
-                                TEST_COMPONENT_NAME)
-                        .putExtra(EXTRA_PROVISIONING_LOCAL_TIME, DEFAULT_LOCAL_TIME)
-                        .putExtra(EXTRA_PROVISIONING_TIME_ZONE, (String) null)
-                        .putExtra(EXTRA_PROVISIONING_LOCALE, (Locale) null)
-                        .putExtra(EXTRA_PROVISIONING_SKIP_ENCRYPTION, TEST_SKIP_ENCRYPTION)
-                        .putExtra(EXTRA_PROVISIONING_SKIP_USER_SETUP, DEFAULT_SKIP_USER_SETUP)
-                        .putExtra(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
-                                DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED)
-                        .putExtra(EXTRA_PROVISIONING_MAIN_COLOR, TEST_MAIN_COLOR)
-                        .putExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE, TEST_ACCOUNT_TO_MIGRATE)
-                        .putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, (PersistableBundle) null)
-                        .putExtra(EXTRA_PROVISIONING_STARTED_BY_TRUSTED_SOURCE,
-                                DEFAULT_STARTED_BY_TRUSTED_SOURCE),
-                restoredIntent);
-    }
-
-    public void test_correctParserUsedToParseNfcIntent() throws Exception {
-        // GIVEN a NFC provisioning intent with some supported data.
-        Properties props = new Properties();
-        ByteArrayOutputStream stream = new ByteArrayOutputStream();
-        props.setProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, TEST_PACKAGE_NAME);
-        props.setProperty(
-                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
-                TEST_COMPONENT_NAME.flattenToString());
-        props.store(stream, "NFC provisioning intent" /* data description */);
-        NdefRecord record = NdefRecord.createMime(
-                DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC,
-                stream.toByteArray());
-        NdefMessage ndfMsg = new NdefMessage(new NdefRecord[]{record});
-
-        Intent intent = new Intent(NfcAdapter.ACTION_NDEF_DISCOVERED)
-                .setType(MIME_TYPE_PROVISIONING_NFC)
-                .putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, new NdefMessage[]{ndfMsg});
-
-        // WHEN the mMessageParser.getParser is invoked.
-        ProvisioningDataParser parser = mMessageParser.getParser(intent);
-
-        // THEN the properties parser is returned.
-        assertTrue(parser instanceof PropertiesProvisioningDataParser);
-    }
-
-    public void test_correctParserUsedToParseOtherSupportedProvisioningIntent() throws Exception {
-        // GIVEN the device admin app is installed.
-        doReturn(TEST_COMPONENT_NAME)
-                .when(mUtils)
-                .findDeviceAdmin(null, TEST_COMPONENT_NAME, mContext);
-        // GIVEN a list of supported provisioning actions, except NFC.
-        String[] supportedProvisioningActions = new String[] {
-                ACTION_PROVISION_MANAGED_DEVICE,
-                ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE,
-                ACTION_PROVISION_MANAGED_USER,
-                ACTION_PROVISION_MANAGED_PROFILE,
-                ACTION_PROVISION_MANAGED_SHAREABLE_DEVICE
-        };
-
-        for (String provisioningAction : supportedProvisioningActions) {
-            Intent intent = new Intent(provisioningAction)
-                    .putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, TEST_COMPONENT_NAME);
-
-            // WHEN the mMessageParser.getParser is invoked.
-            ProvisioningDataParser parser = mMessageParser.getParser(intent);
-
-            // THEN the extras parser is returned.
-            assertTrue(parser instanceof ExtrasProvisioningDataParser);
-        }
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java b/tests/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java
deleted file mode 100644
index 3833e18..0000000
--- a/tests/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTaskTest.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.task;
-
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageDeleteObserver;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ParceledListSlice;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
-import android.content.Context;
-import android.content.Intent;
-import android.os.RemoteException;
-import android.test.AndroidTestCase;
-import android.test.mock.MockPackageManager;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.view.inputmethod.InputMethodInfo;
-
-import com.android.internal.view.IInputMethodManager;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-public class DeleteNonRequiredAppsTaskTest extends AndroidTestCase {
-
-    private @Mock Resources mResources;
-    private @Mock IPackageManager mIPackageManager;
-    private @Mock IInputMethodManager mIInputMethodManager;
-    private @Mock DeleteNonRequiredAppsTask.Callback mCallback;
-    private @Mock Context mTestContext;
-
-    private FakePackageManager mPackageManager;
-
-    private static final String TEST_MDM_PACKAGE_NAME = "mdm.package.name";
-    private static final int TEST_USER_ID = 0;
-    private Set<String> mDeletedApps;
-    private String[] mSystemAppsWithLauncher;
-    private Set<String> mInstalledApplications;
-
-    @Override
-    protected void setUp() throws Exception {
-        // this is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-
-        MockitoAnnotations.initMocks(this);
-
-        mPackageManager = new FakePackageManager();
-
-        when(mTestContext.getResources()).thenReturn(mResources);
-        when(mTestContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mTestContext.getFilesDir()).thenReturn(getContext().getFilesDir());
-
-        mDeletedApps = new HashSet<String>();
-
-        setSystemInputMethods();
-        setRequiredAppsManagedDevice();
-        setVendorRequiredAppsManagedDevice();
-        setDisallowedAppsManagedDevice();
-        setVendorDisallowedAppsManagedDevice();
-        setRequiredAppsManagedProfile();
-        setVendorRequiredAppsManagedProfile();
-        setDisallowedAppsManagedProfile();
-        setVendorDisallowedAppsManagedProfile();
-        setRequiredAppsManagedUser();
-        setVendorRequiredAppsManagedUser();
-        setDisallowedAppsManagedUser();
-        setVendorDisallowedAppsManagedUser();
-    }
-
-    // We run most methods for device owner only, and we'll assume they also work for profile owner.
-    @SmallTest
-    public void testOnlyAppsWithLauncherDeletedByDefault() {
-        setSystemAppsWithLauncher("app.a");
-        setInstalledSystemApps( "app.a", "app.b");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        assertDeletedApps("app.a");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testDeviceOwnerRequiredAppsNotDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
-        setInstalledSystemApps("app.a", "app.b", "app.c");
-        setRequiredAppsManagedDevice("app.a");
-        setVendorRequiredAppsManagedDevice("app.b");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        assertDeletedApps("app.c");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testProfileOwnerRequiredAppsNotDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
-        setInstalledSystemApps("app.a", "app.b", "app.c");
-        setRequiredAppsManagedProfile("app.a");
-        setVendorRequiredAppsManagedProfile("app.b");
-
-        runTask(DeleteNonRequiredAppsTask.PROFILE_OWNER, true, false);
-
-        assertDeletedApps("app.c");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testManagedUserRequiredAppsNotDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b", "app.c");
-        setInstalledSystemApps("app.a", "app.b", "app.c");
-        setRequiredAppsManagedUser("app.a");
-        setVendorRequiredAppsManagedUser("app.b");
-
-        runTask(DeleteNonRequiredAppsTask.MANAGED_USER, true, false);
-
-        assertDeletedApps("app.c");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testMdmNotDeleted() {
-        setSystemAppsWithLauncher(TEST_MDM_PACKAGE_NAME);
-        setInstalledSystemApps(TEST_MDM_PACKAGE_NAME);
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        assertDeletedApps();
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testDisallowedAppsDeletedEvenIfNoLauncher() {
-        setSystemAppsWithLauncher();
-        setInstalledSystemApps("app.a", "app.b", "app.c");
-        setDisallowedAppsManagedDevice("app.a");
-        setVendorDisallowedAppsManagedDevice("app.b");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        assertDeletedApps("app.a", "app.b");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testDeviceOwnerImesNotDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b");
-        setInstalledSystemApps("app.a", "app.b");
-        setSystemInputMethods("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        assertDeletedApps("app.b");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testProfileOwnerImesStillDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b");
-        setInstalledSystemApps("app.a", "app.b");
-        setSystemInputMethods("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.PROFILE_OWNER, true, false);
-
-        assertDeletedApps("app.a", "app.b");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testManagedUserImesNotDeleted() {
-        setSystemAppsWithLauncher("app.a", "app.b");
-        setInstalledSystemApps("app.a", "app.b");
-        setSystemInputMethods("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.MANAGED_USER, true, false);
-
-        assertDeletedApps("app.b");
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testLeaveAllAppsEnabled() {
-        setSystemAppsWithLauncher("app.a");
-        setInstalledSystemApps("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, true);
-
-        assertDeletedApps(); //assert that no app has been deleted.
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testNewAppsDeletedAfterOta() {
-        setSystemAppsWithLauncher();
-        setInstalledSystemApps("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        verify(mCallback, times(1)).onSuccess();
-        assertDeletedApps(); //assert that no app has been deleted.
-
-        // Now, an OTA happens and installs app.b with a launcher
-        setSystemAppsWithLauncher("app.b");
-        setInstalledSystemApps("app.a", "app.b");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, false, false);
-
-        assertDeletedApps("app.b");
-        verify(mCallback, times(2)).onSuccess();
-    }
-
-    @SmallTest
-    public void testExistingAppsNotDeletedAgainAfterOta() {
-        setSystemAppsWithLauncher("app.a");
-        setInstalledSystemApps("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        verify(mCallback, times(1)).onSuccess();
-        assertDeletedApps("app.a");
-        mDeletedApps.clear();
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, false, false);
-
-        assertDeletedApps();
-        verify(mCallback, times(2)).onSuccess();
-    }
-
-    @SmallTest
-    public void testWhenNoSystemAppsFileFound() {
-        setSystemAppsWithLauncher("app.a");
-        setInstalledSystemApps("app.a");
-
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-
-        verify(mCallback, times(1)).onSuccess();
-        assertDeletedApps("app.a");
-        mDeletedApps.clear();
-
-        setSystemAppsWithLauncher("app.a", "app.b");
-        setInstalledSystemApps("app.a", "app.b");
-
-        // Now, we set a wrong value to mTestContext.getFilesDir. So it should not find the system apps
-        // file. So it should not delete any app, but call onError().
-        when(mTestContext.getFilesDir()).thenReturn(new File(""));
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, false, false);
-
-        assertDeletedApps();
-        verify(mCallback, times(1)).onError();
-    }
-
-    @SmallTest
-    public void testWhenDeletionFails() {
-        setSystemAppsWithLauncher("app.a");
-        setInstalledSystemApps("app.a");
-        mPackageManager.setDeletionSucceeds(false);
-        runTask(DeleteNonRequiredAppsTask.DEVICE_OWNER, true, false);
-        verify(mCallback, times(1)).onError();
-    }
-
-    private void setRequiredAppsManagedDevice(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_device,
-                apps);
-    }
-
-    private void setVendorRequiredAppsManagedDevice(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_device,
-                apps);
-    }
-
-    private void setDisallowedAppsManagedDevice(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_device,
-                apps);
-    }
-
-    private void setVendorDisallowedAppsManagedDevice(String... apps) {
-        setStringArray(
-                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_device,
-                apps);
-    }
-
-    private void setRequiredAppsManagedProfile(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_profile,
-                apps);
-    }
-
-    private void setVendorRequiredAppsManagedProfile(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_profile,
-                apps);
-    }
-
-    private void setDisallowedAppsManagedProfile(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_profile,
-                apps);
-    }
-
-    private void setVendorDisallowedAppsManagedProfile(String... apps) {
-        setStringArray(
-                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_profile,
-                apps);
-    }
-
-    private void setRequiredAppsManagedUser(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.required_apps_managed_user,
-                apps);
-    }
-
-    private void setVendorRequiredAppsManagedUser(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.vendor_required_apps_managed_user,
-                apps);
-    }
-
-    private void setDisallowedAppsManagedUser(String... apps) {
-        setStringArray(com.android.managedprovisioning.R.array.disallowed_apps_managed_user,
-                apps);
-    }
-
-    private void setVendorDisallowedAppsManagedUser(String... apps) {
-        setStringArray(
-                com.android.managedprovisioning.R.array.vendor_disallowed_apps_managed_user,
-                apps);
-    }
-
-    private void runTask(int type, boolean newProfile, boolean leaveAllSystemAppsEnabled) {
-        DeleteNonRequiredAppsTask task = new DeleteNonRequiredAppsTask(mTestContext,
-                mIPackageManager, mIInputMethodManager, TEST_MDM_PACKAGE_NAME, type, newProfile,
-                TEST_USER_ID, leaveAllSystemAppsEnabled, mCallback);
-        task.run();
-    }
-
-    private void setStringArray(int resourceId, String[] strs) {
-        when(mResources.getStringArray(eq(resourceId)))
-                .thenReturn(strs);
-    }
-
-    private void assertDeletedApps(String... appArray) {
-        assertEquals(setFromArray(appArray), mDeletedApps);
-    }
-
-    private void setInstalledSystemApps(String... installedApps) {
-        List<ApplicationInfo> applications = new ArrayList<ApplicationInfo>();
-        for (String app : installedApps) {
-            ApplicationInfo aInfo = new ApplicationInfo();
-            aInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-            aInfo.packageName = app;
-            applications.add(aInfo);
-        }
-        try {
-            when(mIPackageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES,
-                    TEST_USER_ID)).thenReturn(new ParceledListSlice(applications));
-        } catch (RemoteException e) {
-            fail(e.toString());
-        }
-        mInstalledApplications = setFromArray(installedApps);
-    }
-
-    private void setSystemInputMethods(String... packageNames) {
-        List<InputMethodInfo> inputMethods = new ArrayList<InputMethodInfo>();
-        for (String packageName : packageNames) {
-            ApplicationInfo aInfo = new ApplicationInfo();
-            aInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-            ServiceInfo serviceInfo = new ServiceInfo();
-            serviceInfo.applicationInfo = aInfo;
-            serviceInfo.packageName = packageName;
-            serviceInfo.name = "";
-            ResolveInfo ri = new ResolveInfo();
-            ri.serviceInfo = serviceInfo;
-            InputMethodInfo inputMethodInfo = new InputMethodInfo(ri, false, null, null, 0, false);
-            inputMethods.add(inputMethodInfo);
-        }
-        try {
-            when(mIInputMethodManager.getInputMethodList()).thenReturn(inputMethods);
-        } catch (RemoteException e) {
-            fail(e.toString());
-        }
-    }
-
-    private void setSystemAppsWithLauncher(String... apps) {
-        mSystemAppsWithLauncher = apps;
-    }
-
-    private <T> Set<T> setFromArray(T[] array) {
-        return new HashSet<T>(Arrays.asList(array));
-    }
-
-    class FakePackageManager extends MockPackageManager {
-        private boolean mDeletionSucceeds = true;
-
-        void setDeletionSucceeds(boolean deletionSucceeds) {
-            mDeletionSucceeds = deletionSucceeds;
-        }
-
-        @Override
-        public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
-                int flags, int userId) {
-            if (mDeletionSucceeds) {
-                mDeletedApps.add(packageName);
-            }
-            assertTrue((flags & PackageManager.DELETE_SYSTEM_APP) != 0);
-            assertEquals(TEST_USER_ID, userId);
-
-            int resultCode;
-            if (mDeletionSucceeds) {
-                resultCode = PackageManager.DELETE_SUCCEEDED;
-            } else {
-                resultCode = PackageManager.DELETE_FAILED_INTERNAL_ERROR;
-            }
-
-            try {
-                observer.packageDeleted(packageName, resultCode);
-            } catch (RemoteException e) {
-                fail(e.toString());
-            }
-        }
-
-        @Override
-        public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId) {
-            assertTrue("Expected an intent with action ACTION_MAIN and category CATEGORY_LAUNCHER",
-                    intent.filterEquals(
-                    new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER)));
-            assertTrue("Expected the flag MATCH_UNINSTALLED_PACKAGES",
-                    (flags & PackageManager.MATCH_UNINSTALLED_PACKAGES) != 0);
-            assertTrue("Expected the flag MATCH_DISABLED_COMPONENTS",
-                    (flags & PackageManager.MATCH_DISABLED_COMPONENTS) != 0);
-            assertTrue("Expected the flag MATCH_ENCRYPTION_AWARE_AND_UNAWARE",
-                    (flags & PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE) != 0);
-            assertEquals(userId, TEST_USER_ID);
-            List<ResolveInfo> result = new ArrayList<ResolveInfo>();
-            for (String packageName : mSystemAppsWithLauncher) {
-                ActivityInfo ai = new ActivityInfo();
-                ai.packageName = packageName;
-                ResolveInfo ri = new ResolveInfo();
-                ri.activityInfo  = ai;
-                result.add(ri);
-            }
-            return result;
-        }
-
-        @Override
-        public PackageInfo getPackageInfoAsUser(String packageName, int flags, int userId)
-                throws NameNotFoundException {
-            if (mInstalledApplications.contains(packageName)) {
-                return new PackageInfo();
-            }
-            throw new NameNotFoundException();
-        }
-    }
-}
-
diff --git a/tests/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java b/tests/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
deleted file mode 100644
index 5910cd2..0000000
--- a/tests/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.task;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.ActivityInfo;
-import android.content.pm.IPackageInstallObserver;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageInfo;
-import android.net.Uri;
-import android.os.Bundle;
-import android.test.AndroidTestCase;
-import android.test.mock.MockContentProvider;
-import android.test.mock.MockContentResolver;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-public class InstallPackageTaskTest extends AndroidTestCase {
-    private static final String TEST_PACKAGE_NAME = "com.android.test";
-    private static final String TEST_PACKAGE_LOCATION = "/sdcard/TestPackage.apk";
-
-    private static final String PACKAGE_NAME = InstallPackageTask.class.getPackage().getName();
-
-    private Context mContext;
-    private PackageManager mPackageManager;
-    private InstallPackageTask.Callback mCallback;
-    private InstallPackageTask mTask;
-    private PackageInfo mPackageInfo;
-    private ActivityInfo mActivityInfo;
-    private MockContentResolver mContentResolver;
-    private MockContentProvider mContentProvider;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        // this is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-
-        mContext = mock(Context.class);
-        mActivityInfo = new ActivityInfo();
-        mPackageInfo = new PackageInfo();
-        mPackageManager = mock(PackageManager.class);
-        mContentProvider = new MyMockContentProvider();
-        mContentResolver = new MockContentResolver();
-
-        mActivityInfo.permission = android.Manifest.permission.BIND_DEVICE_ADMIN;
-
-        mPackageInfo.packageName = TEST_PACKAGE_NAME;
-        mPackageInfo.receivers = new ActivityInfo[] {mActivityInfo};
-
-        mCallback = mock(InstallPackageTask.Callback.class);
-
-        when(mPackageManager.getPackageArchiveInfo(eq(TEST_PACKAGE_LOCATION), anyInt())).
-                thenReturn(mPackageInfo);
-
-        mContentResolver.addProvider("settings", mContentProvider);
-
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mContext.getPackageName()).thenReturn(PACKAGE_NAME);
-        when(mContext.getContentResolver()).thenReturn(mContentResolver);
-
-        mTask = new InstallPackageTask(mContext, mCallback);
-    }
-
-    @SmallTest
-    public void testInstall_NoPackages() {
-        mTask.run();
-        verify(mPackageManager, never()).installPackage(
-                any(Uri.class),
-                any(IPackageInstallObserver.class),
-                anyInt(),
-                anyString());
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testInstall_OnePackage() {
-        mTask.addInstallIfNecessary(TEST_PACKAGE_NAME, TEST_PACKAGE_LOCATION);
-        Answer installerAnswer = new Answer() {
-                @Override
-                public Object answer(InvocationOnMock invocation) throws Throwable {
-                    Object[] arguments = invocation.getArguments();
-                    IPackageInstallObserver observer = (IPackageInstallObserver)
-                            arguments[1];
-                    int flags = (Integer) arguments[2];
-                    // make sure that the flags value has been set
-                    assertTrue(0 != (flags & PackageManager.INSTALL_REPLACE_EXISTING));
-                    observer.packageInstalled(TEST_PACKAGE_NAME,
-                            PackageManager.INSTALL_SUCCEEDED);
-                    return null;
-                }
-        };
-        doAnswer(installerAnswer).when(mPackageManager).installPackage(
-                eq(Uri.parse("file://" + TEST_PACKAGE_LOCATION)),
-                any(IPackageInstallObserver.class),
-                anyInt(),
-                eq(PACKAGE_NAME));
-        mTask.run();
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testInstall_InstallFailedVersionDowngrade() {
-        mTask.addInstallIfNecessary(TEST_PACKAGE_NAME, TEST_PACKAGE_LOCATION);
-        Answer installerAnswer = new Answer() {
-                @Override
-                public Object answer(InvocationOnMock invocation) throws Throwable {
-                    Object[] arguments = invocation.getArguments();
-                    IPackageInstallObserver observer = (IPackageInstallObserver)
-                            arguments[1];
-                    observer.packageInstalled(null,
-                            PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE);
-                    return null;
-                }
-        };
-        doAnswer(installerAnswer).when(mPackageManager).installPackage(
-                eq(Uri.parse("file://" + TEST_PACKAGE_LOCATION)),
-                any(IPackageInstallObserver.class),
-                anyInt(),
-                eq(PACKAGE_NAME));
-        mTask.run();
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testPackageHasNoReceivers() {
-        mPackageInfo.receivers = null;
-        mTask.addInstallIfNecessary(TEST_PACKAGE_NAME, TEST_PACKAGE_LOCATION);
-        mTask.run();
-        verify(mPackageManager, never()).installPackage(
-                any(Uri.class),
-                any(IPackageInstallObserver.class),
-                anyInt(),
-                anyString());
-        verify(mCallback, times(1)).onError(InstallPackageTask.ERROR_PACKAGE_INVALID);
-    }
-
-    private static class MyMockContentProvider extends MockContentProvider {
-        public MyMockContentProvider() {
-        }
-
-        @Override
-        public Bundle call(String method, String request, Bundle args) {
-            return new Bundle();
-        }
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java b/tests/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java
deleted file mode 100644
index 3d8afad..0000000
--- a/tests/src/com/android/managedprovisioning/task/SetDevicePolicyTaskTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning.task;
-
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.Mock;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.mockito.MockitoAnnotations;
-
-public class SetDevicePolicyTaskTest extends AndroidTestCase {
-    private static final String ADMIN_PACKAGE_NAME = "com.admin.test";
-    private static final String ADMIN_RECEIVER_NAME = ADMIN_PACKAGE_NAME + ".AdminReceiver";
-    private static final ComponentName ADMIN_COMPONENT_NAME = new ComponentName(ADMIN_PACKAGE_NAME,
-            ADMIN_RECEIVER_NAME);
-    private static final String OWNER_NAME = "Test Owner";
-    private static final int TEST_USER_ID = 123;
-
-    @Mock private Context mContext;
-    @Mock private PackageManager mPackageManager;
-    @Mock private DevicePolicyManager mDevicePolicyManager;
-    @Mock private SetDevicePolicyTask.Callback mCallback;
-
-    private SetDevicePolicyTask mTask;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        // This is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-        MockitoAnnotations.initMocks(this);
-
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
-                .thenReturn(mDevicePolicyManager);
-        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
-                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
-        when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(null);
-        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID))
-                .thenReturn(true);
-
-        mTask = new SetDevicePolicyTask(mContext, OWNER_NAME, mCallback, TEST_USER_ID);
-    }
-
-    @SmallTest
-    public void testEnableDevicePolicyApp() {
-        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
-                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mPackageManager).setApplicationEnabledSetting(ADMIN_PACKAGE_NAME,
-                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
-                PackageManager.DONT_KILL_APP);
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testEnableDevicePolicyApp_PackageNotFound() {
-        when(mPackageManager.getApplicationEnabledSetting(ADMIN_PACKAGE_NAME))
-                .thenThrow(new IllegalArgumentException());
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mCallback, times(1)).onError();
-    }
-
-    @SmallTest
-    public void testSetActiveAdmin() {
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mDevicePolicyManager).setActiveAdmin(ADMIN_COMPONENT_NAME, true, TEST_USER_ID);
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testSetDeviceOwner() {
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mDevicePolicyManager).setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID);
-        verify(mCallback, times(1)).onSuccess();
-    }
-
-    @SmallTest
-    public void testSetDeviceOwner_PreconditionsNotMet() {
-        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID))
-                .thenThrow(new IllegalStateException());
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mDevicePolicyManager).setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID);
-        verify(mCallback, times(1)).onError();
-    }
-
-    @SmallTest
-    public void testSetDeviceOwner_ReturnFalse() {
-        when(mDevicePolicyManager.setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID))
-                .thenReturn(false);
-        mTask.run(ADMIN_COMPONENT_NAME);
-        verify(mDevicePolicyManager).setDeviceOwner(ADMIN_COMPONENT_NAME, OWNER_NAME, TEST_USER_ID);
-        verify(mCallback, times(1)).onError();
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/uiflows/EncryptionControllerTest.java b/tests/src/com/android/managedprovisioning/uiflows/EncryptionControllerTest.java
deleted file mode 100644
index 0c6f8f7..0000000
--- a/tests/src/com/android/managedprovisioning/uiflows/EncryptionControllerTest.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning.uiflows;
-
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE;
-import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.os.Handler;
-import android.os.Looper;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.managedprovisioning.IntentStore;
-import com.android.managedprovisioning.common.Globals;
-import com.android.managedprovisioning.common.Utils;
-import com.android.managedprovisioning.model.ProvisioningParams;
-import com.android.managedprovisioning.parser.MessageParser;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-public class EncryptionControllerTest extends AndroidTestCase {
-    private static final int TEST_USER_ID = 10;
-    private static final String MP_PACKAGE_NAME = "com.android.managedprovisioning";
-    private static final ComponentName TEST_HOME_RECEIVER = new ComponentName(MP_PACKAGE_NAME,
-            ".HomeReceiverActivity");
-    private static final String TEST_MDM_PACKAGE = "com.admin.test";
-    private static final String TEST_STRING = "Test";
-    private static final int RESUME_PROVISIONING_TIMEOUT_MS = 1000;
-
-    @Mock private Context mContext;
-    @Mock private IntentStore mIntentStore;
-    @Mock private Utils mUtils;
-    @Mock private Resources mResources;
-    @Mock private PackageManager mPackageManager;
-    @Mock private EncryptionController.ResumeNotificationHelper mResumeNotificationHelper;
-
-    private EncryptionController mController;
-    private MessageParser mMessageParser;
-    private Intent mIntent;
-
-    @Override
-    public void setUp() {
-        // this is necessary for mockito to work
-        System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
-
-        MockitoAnnotations.initMocks(this);
-
-        mMessageParser = new MessageParser();
-
-        when(mUtils.isPhysicalDeviceEncrypted()).thenReturn(true);
-        when(mContext.getApplicationContext()).thenReturn(mContext);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-
-        mController = new EncryptionController(mContext, mIntentStore, mUtils, mMessageParser,
-                TEST_HOME_RECEIVER, mResumeNotificationHelper, TEST_USER_ID);
-    }
-
-    public void testSetEncryptionReminder_duringSuw() {
-        final String action = ACTION_PROVISION_MANAGED_DEVICE;
-        // GIVEN a set of parameters to be stored for resumption
-        // WHEN setting an encryption reminder
-        mController.setEncryptionReminder(createAndStoreProvisioningParams(action));
-        // THEN the intent is stored in IntentStore and the HOME receiver is enabled
-        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mIntentStore).save(intentCaptor.capture());
-        Intent intent = intentCaptor.getValue();
-        assertEquals(Globals.ACTION_RESUME_PROVISIONING, intent.getAction());
-        assertEquals(action, intent.getStringExtra(MessageParser.EXTRA_PROVISIONING_ACTION));
-        verify(mUtils).enableComponent(TEST_HOME_RECEIVER, TEST_USER_ID);
-        verify(mPackageManager).flushPackageRestrictionsAsUser(TEST_USER_ID);
-    }
-
-    public void testSetEncryptionReminder_afterSuw() {
-        final String action = ACTION_PROVISION_MANAGED_PROFILE;
-        // GIVEN a set of parameters to be stored for resumption and user setup has been completed
-        // on the given user
-        when(mUtils.isUserSetupCompleted(mContext)).thenReturn(true);
-        // WHEN setting an encryption reminder
-        mController.setEncryptionReminder(createAndStoreProvisioningParams(action));
-        // THEN the intent is stored in IntentStore and the HOME receiver is enabled
-        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mIntentStore).save(intentCaptor.capture());
-        Intent intent = intentCaptor.getValue();
-        assertEquals(Globals.ACTION_RESUME_PROVISIONING, intent.getAction());
-        assertEquals(action, intent.getStringExtra(MessageParser.EXTRA_PROVISIONING_ACTION));
-        verify(mUtils, never()).enableComponent(any(ComponentName.class), anyInt());
-    }
-
-    public void testResumeProvisioning_profileOwnerAfterSuw() throws Exception {
-        // GIVEN an intent was stored to resume managed profile provisioning after SUW
-        when(mUtils.isUserSetupCompleted(mContext)).thenReturn(true);
-        createAndStoreProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
-        // WHEN resuming provisioning
-        runResumeProvisioningOnUiThread();
-        // THEN a resume notification should be posted and no activity should be started
-        verify(mResumeNotificationHelper).showResumeNotification(any(Intent.class));
-        verify(mContext, never()).startActivity(any(Intent.class));
-    }
-
-    public void testResumeProvisioning_profileOwnerDuringSuw() throws Exception {
-        // GIVEN an intent was stored to resume managed profile provisioning during SUW
-        createAndStoreProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
-        // WHEN resuming provisioning
-        runResumeProvisioningOnUiThread();
-        // THEN the PreProvisioningActivity should be started and no notification should be posted
-        verify(mContext).startActivity(mIntent);
-        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
-    }
-
-    public void testResumeProvisioningTwice_profileOwnerDuringSuw() throws Exception {
-        // GIVEN an intent was stored to resume managed profile provisioning during SUW
-        createAndStoreProvisioningParams(ACTION_PROVISION_MANAGED_PROFILE);
-        // GIVEN resuming provisioning was called once.
-        runResumeProvisioningOnUiThread();
-        // // WHEN resuming provisioning is called again.
-        runResumeProvisioningOnUiThread();
-        // THEN the PreProvisioningActivity should only be started once and no notification should
-        // be posted
-        verify(mContext).startActivity(mIntent);
-        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
-    }
-
-    public void testResumeProvisioning_deviceOwner() throws Exception {
-        // GIVEN an intent was stored to resume device owner provisioning during SUW
-        createAndStoreProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE);
-        // WHEN resuming provisioning
-        runResumeProvisioningOnUiThread();
-        // THEN the PreProvisioningActivity should be started and no notification should be posted
-        verify(mContext).startActivity(mIntent);
-        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
-    }
-
-    public void testResumeProvisioning_deviceNotEncrypted() throws Exception {
-        // GIVEN an intent was stored to resume device owner provisioning, but the device
-        // is not encrypted
-        when(mUtils.isPhysicalDeviceEncrypted()).thenReturn(false);
-        createAndStoreProvisioningParams(ACTION_PROVISION_MANAGED_DEVICE);
-        // WHEN resuming provisioning
-        runResumeProvisioningOnUiThread();
-        // THEN nothing should happen
-        verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
-    }
-
-    public void testResumeProvisioning_noIntent() throws Exception {
-        // GIVEN an intent was stored to resume device owner provisioning, but the device
-        // is not encrypted
-        when(mIntentStore.load()).thenReturn(null);
-        // WHEN resuming provisioning
-        runResumeProvisioningOnUiThread();
-        // THEN nothing should happen
-        verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mResumeNotificationHelper, never()).showResumeNotification(any(Intent.class));
-    }
-
-    public void testCancelProvisioningReminder() {
-        // WHEN cancelling the provisioning reminder
-        mController.cancelEncryptionReminder();
-        // THEN the intent store should be cleared and the HOME receiver disabled
-        verify(mIntentStore).clear();
-        verify(mUtils).disableComponent(TEST_HOME_RECEIVER, TEST_USER_ID);
-    }
-
-    private ProvisioningParams createAndStoreProvisioningParams(String action) {
-        ProvisioningParams params = new ProvisioningParams.Builder()
-                .setProvisioningAction(action)
-                .setDeviceAdminPackageName(TEST_MDM_PACKAGE)
-                .build();
-        mIntent = mMessageParser.getIntentFromProvisioningParams(params);
-        assertEquals(action, mIntent.getStringExtra(MessageParser.EXTRA_PROVISIONING_ACTION));
-        when(mIntentStore.load()).thenReturn(mIntent);
-        return params;
-    }
-
-    private void runResumeProvisioningOnUiThread() throws InterruptedException {
-        final Semaphore semaphore = new Semaphore(0);
-        new Handler(Looper.getMainLooper()).post(new Runnable() {
-            @Override
-            public void run() {
-                mController.resumeProvisioning();
-                semaphore.release();
-            }
-        });
-        assertTrue("Timeout trying to resume provisioning",
-                semaphore.tryAcquire(RESUME_PROVISIONING_TIMEOUT_MS, TimeUnit.MILLISECONDS));
-    }
-}
diff --git a/tests/src/com/android/managedprovisioning/uiflows/WebActivityTest.java b/tests/src/com/android/managedprovisioning/uiflows/WebActivityTest.java
deleted file mode 100644
index b83fb96..0000000
--- a/tests/src/com/android/managedprovisioning/uiflows/WebActivityTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.managedprovisioning.uiflows;
-
-import android.content.Intent;
-import android.test.ActivityUnitTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.view.ViewGroup;
-import android.webkit.WebView;
-
-@SmallTest
-public class WebActivityTest extends ActivityUnitTestCase<WebActivity> {
-    private static final String TEST_URL = "http://www.test.com/support";
-
-    public WebActivityTest() {
-        super(WebActivity.class);
-    }
-
-    public void testNoUrl() {
-        startActivity(WebActivity.createIntent(getInstrumentation().getTargetContext(),
-                null, null), null, null);
-        assertTrue(isFinishCalled());
-    }
-
-    public void testUrlLaunched() {
-        startActivity(WebActivity.createIntent(getInstrumentation().getTargetContext(),
-                TEST_URL, null), null, null);
-        assertFalse(isFinishCalled());
-        WebView webView = (WebView) ((ViewGroup) getActivity().findViewById(android.R.id.content))
-                .getChildAt(0);
-        assertEquals(TEST_URL, webView.getUrl());
-    }
-}
diff --git a/tools/bash/animation/swiper-theme-gen.sh b/tools/bash/animation/swiper-theme-gen.sh
new file mode 100755
index 0000000..72fb72b
--- /dev/null
+++ b/tools/bash/animation/swiper-theme-gen.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+# Copyright 2017, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+function setup_paths {
+    if [ -z "${ANDROID_BUILD_TOP}" ]; then
+        echo "Could not resolve ANDROID_BUILD_TOP. Make sure you run source build/envsetup.sh and lunch <target> first."
+        exit
+    fi
+
+    ANDROID_CLASSES="${ANDROID_BUILD_TOP}/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes"
+    if [ ! -d "${ANDROID_CLASSES}" ]; then
+        echo "Could not find folder ${ANDROID_CLASSES}. Make sure you compile ManagedProvisioning first"
+        exit
+    fi
+
+    MP="${ANDROID_BUILD_TOP}/packages/apps/ManagedProvisioning"
+    TOOLS_JAVA="${MP}/tools/java"
+    CP="${TOOLS_JAVA}:${MP}/src:${ANDROID_CLASSES}"
+    OUT_PATH="${MP}/swiper-themes.xml"
+}
+
+setup_paths
+
+pushd "${TOOLS_JAVA}" > /dev/null
+
+echo "compiling.."
+javac -cp "${CP}" com/android/managedprovisioning/tools/anim/SwiperThemeGenerator.java
+
+echo "generating themes.."
+java  -cp "${CP}" com.android.managedprovisioning.tools.anim.SwiperThemeGenerator "${OUT_PATH}"
+
+echo "output stored under: ${OUT_PATH}"
+echo "done"
+
+popd > /dev/null
\ No newline at end of file
diff --git a/tools/bash/coverage.sh b/tools/bash/coverage.sh
new file mode 100755
index 0000000..244cb2b
--- /dev/null
+++ b/tools/bash/coverage.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+
+# This script was copied from vendor/google/apps/SetupWizard/tools/coverage.sh
+
+##### App specific parameters #####
+
+PACKAGE_NAME='com.android.managedprovisioning'
+MODULE_NAME='ManagedProvisioning'
+MODULE_PATH='packages/apps/ManagedProvisioning'
+MODULE_INSTALL_PATH='system/priv-app/ManagedProvisioning/ManagedProvisioning.apk'
+
+TEST_MODULE_PATH='packages/apps/ManagedProvisioning/tests/instrumentation'
+TEST_MODULE_INSTALL_PATH='data/app/ManagedProvisioningTests/ManagedProvisioningTests.apk'
+TEST_RUNNER='com.android.managedprovisioning.tests/com.android.managedprovisioning.TestInstrumentationRunner'
+
+##### End app specific parameters #####
+
+if [[ $# != 0 && ! ($# == 1 && ($1 == "HTML" || $1 == "XML" || $1 == "CSV")) ]]; then
+  echo "$0: usage: coverage.sh [REPORT_TYPE]"
+  echo "REPORT_TYPE [HTML | XML | CSV] : the type of the report (default is HTML)"
+  exit 1
+fi
+
+REPORT_TYPE=${1:-HTML}
+
+if [ -z $ANDROID_BUILD_TOP ]; then
+  echo "You need to source and lunch before you can use this script"
+  exit 1
+fi
+
+REPORTER_JAR="$ANDROID_BUILD_TOP/prebuilts/sdk/tools/jack-jacoco-reporter.jar"
+
+OUTPUT_DIR="$ANDROID_BUILD_TOP/out/coverage/$MODULE_NAME"
+
+echo "Running tests and generating coverage report"
+echo "Output dir: $OUTPUT_DIR"
+echo "Report type: $REPORT_TYPE"
+
+REMOTE_COVERAGE_OUTPUT_FILE="/data/data/$PACKAGE_NAME/files/coverage.ec"
+COVERAGE_OUTPUT_FILE="$ANDROID_BUILD_TOP/out/$PACKAGE_NAME.ec"
+OUT_COMMON="$ANDROID_BUILD_TOP/out/target/common"
+COVERAGE_METADATA_FILE="$OUT_COMMON/obj/APPS/${MODULE_NAME}_intermediates/coverage.em"
+
+source $ANDROID_BUILD_TOP/build/envsetup.sh
+
+set -e # fail early
+
+(cd "$ANDROID_BUILD_TOP/$MODULE_PATH" && EMMA_INSTRUMENT_STATIC=true mma -j32)
+(cd "$ANDROID_BUILD_TOP/$TEST_MODULE_PATH" && EMMA_INSTRUMENT_STATIC=true mma -j32)
+
+set -x # print commands
+
+adb root
+adb wait-for-device
+
+adb shell rm -f "$REMOTE_COVERAGE_OUTPUT_FILE"
+
+adb install -r -g "$OUT/$TEST_MODULE_INSTALL_PATH"
+adb install -r -g "$OUT/$MODULE_INSTALL_PATH"
+
+adb shell am instrument -e coverage true -e size small -w "$TEST_RUNNER"
+
+mkdir -p "$OUTPUT_DIR"
+
+adb pull "$REMOTE_COVERAGE_OUTPUT_FILE" "$COVERAGE_OUTPUT_FILE"
+
+java -jar "$REPORTER_JAR" \
+  --report-dir "$OUTPUT_DIR" \
+  --metadata-file "$COVERAGE_METADATA_FILE" \
+  --coverage-file "$COVERAGE_OUTPUT_FILE" \
+  --report-type "$REPORT_TYPE" \
+  --source-dir "$ANDROID_BUILD_TOP/$MODULE_PATH/src"
+
+set +x
+
+# Echo the file as URI to quickly open the result using ctrl-click in terminal
+echo "file://$OUTPUT_DIR/index.html"
diff --git a/tools/java/com/android/managedprovisioning/tools/anim/SwiperThemeGenerator.java b/tools/java/com/android/managedprovisioning/tools/anim/SwiperThemeGenerator.java
new file mode 100644
index 0000000..edae876
--- /dev/null
+++ b/tools/java/com/android/managedprovisioning/tools/anim/SwiperThemeGenerator.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning.tools.anim;
+
+import android.graphics.Color;
+
+import com.android.managedprovisioning.preprovisioning.anim.ColorMatcher;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Generates swiper themes (styles_swiper.xml) to allow for color customization. */
+public class SwiperThemeGenerator {
+    /**
+     * @param args Specify output file path as the first argument
+     */
+    public static void main(String[] args) throws IOException, InterruptedException {
+        String outFilePath = args[0];
+        ColorMatcher colorMatcher = new ColorMatcher();
+
+        Set<Integer> seen = new HashSet<>();
+        try (OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(outFilePath))) {
+
+            for (int r = 0; r <= 0xff; r++) {
+                for (int g = 0; g <= 0xff; g++) {
+                    for (int b = 0; b <= 0xff; b++) {
+                        int color = Color.argb(0xff, r, g, b);
+                        int candidate = colorMatcher.findClosestColor(color);
+                        if (seen.add(candidate)) {
+                            String colorHex = String.format("%02x%02x%02x", Color.red(candidate),
+                                    Color.green(candidate), Color.blue(candidate));
+                            out.append("<style name=\"Swiper")
+                                    .append(colorHex)
+                                    .append("\" parent=\"Provisioning2Theme\">")
+                                    .append("<item name=\"swiper_color\">#")
+                                    .append(colorHex)
+                                    .append("</item></style>\n");
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file