diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity
index f636726fa8078335f12021a99ee86372f2dace01..4d2b26fec68189c23611e05206994ecb36afaf6e 100644
--- a/Assets/Scenes/Level01.unity
+++ b/Assets/Scenes/Level01.unity
@@ -2659,9 +2659,9 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 0}
-        m_TargetAssemblyTypeName: MainMenuManager, Assembly-CSharp
-        m_MethodName: LoadGame
+      - m_Target: {fileID: 1664473422}
+        m_TargetAssemblyTypeName: Nightmare.SaveManager, Assembly-CSharp
+        m_MethodName: Save
         m_Mode: 3
         m_Arguments:
           m_ObjectArgument: {fileID: 0}
@@ -4360,7 +4360,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 660127adb6b066043a008b88ccbbe913, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  countdownDuration: 60
+  countdownDuration: 3
   countdownText: {fileID: 961404588}
 --- !u!114 &564408470
 MonoBehaviour:
@@ -6967,7 +6967,7 @@ GameObject:
   - component: {fileID: 817289309}
   - component: {fileID: 817289308}
   m_Layer: 5
-  m_Name: SlotFIlesPanel
+  m_Name: SlotFilePanel
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -9345,9 +9345,9 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 0}
-        m_TargetAssemblyTypeName: MainMenuManager, Assembly-CSharp
-        m_MethodName: LoadGame
+      - m_Target: {fileID: 1664473422}
+        m_TargetAssemblyTypeName: Nightmare.SaveManager, Assembly-CSharp
+        m_MethodName: Save
         m_Mode: 3
         m_Arguments:
           m_ObjectArgument: {fileID: 0}
@@ -9946,6 +9946,8 @@ Transform:
   - {fileID: 1967859029}
   - {fileID: 522075883}
   - {fileID: 1561614410}
+  - {fileID: 1664473421}
+  - {fileID: 1494457707}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1171939603
@@ -12135,6 +12137,50 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 30, y: 0, z: 0}
+--- !u!1 &1494457706
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1494457707}
+  - component: {fileID: 1494457708}
+  m_Layer: 0
+  m_Name: PlayTimeManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1494457707
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1494457706}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1165414997}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1494457708
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1494457706}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c12072774c03cc847a7e2b2a3916116c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1512961169
 GameObject:
   m_ObjectHideFlags: 0
@@ -13338,6 +13384,58 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1652776653}
   m_CullTransparentMesh: 1
+--- !u!1 &1664473420
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1664473421}
+  - component: {fileID: 1664473422}
+  m_Layer: 0
+  m_Name: SaveManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1664473421
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1664473420}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1165414997}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1664473422
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1664473420}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ee3659762bac6df4c8e4b05db6002eed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  playerNameTexts:
+  - {fileID: 227101467}
+  - {fileID: 568848476}
+  - {fileID: 50078063}
+  playTimeTexts:
+  - {fileID: 326241295}
+  - {fileID: 1114854962}
+  - {fileID: 152646569}
 --- !u!1 &1683328810
 GameObject:
   m_ObjectHideFlags: 0
@@ -15913,6 +16011,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   starText: {fileID: 374433001}
   completedText: {fileID: 2023060740}
+  playerName: {fileID: 758281166}
   timeTextParent: {fileID: 1683328810}
   nextButton: {fileID: 794014896}
 --- !u!1 &1972235736
@@ -16141,9 +16240,9 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 0}
-        m_TargetAssemblyTypeName: MainMenuManager, Assembly-CSharp
-        m_MethodName: LoadGame
+      - m_Target: {fileID: 1664473422}
+        m_TargetAssemblyTypeName: Nightmare.SaveManager, Assembly-CSharp
+        m_MethodName: Save
         m_Mode: 3
         m_Arguments:
           m_ObjectArgument: {fileID: 0}
diff --git a/Assets/Scenes/Level02.unity b/Assets/Scenes/Level02.unity
index d1a130e3c02ae6bde75bb5559fbfbd5e3254e43d..fc497872c5821fb6187d873c73f98c10578a0e90 100644
--- a/Assets/Scenes/Level02.unity
+++ b/Assets/Scenes/Level02.unity
@@ -16183,6 +16183,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   starText: {fileID: 374433001}
   completedText: {fileID: 2023060740}
+  playerName: {fileID: 758281166}
   timeTextParent: {fileID: 1683328810}
   nextButton: {fileID: 2665492}
 --- !u!1 &1978917666
diff --git a/Assets/Scenes/Level03.unity b/Assets/Scenes/Level03.unity
index dc2ae800c68b0ef2647e04d29b1ec5e175ebe1b1..71844ce8bd740aaf15e747ade78a2106b9cf0aae 100644
--- a/Assets/Scenes/Level03.unity
+++ b/Assets/Scenes/Level03.unity
@@ -16617,6 +16617,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   starText: {fileID: 374433001}
   completedText: {fileID: 2023060740}
+  playerName: {fileID: 758281166}
   timeTextParent: {fileID: 1683328810}
   nextButton: {fileID: 1850578051}
 --- !u!1 &1978917666
diff --git a/Assets/Scenes/Level04.unity b/Assets/Scenes/Level04.unity
index f3587eba34b0595fac0d79aefc0e59216859663d..951998a1fd2e0640ba11881cdb6096cd932a1e29 100644
--- a/Assets/Scenes/Level04.unity
+++ b/Assets/Scenes/Level04.unity
@@ -16417,6 +16417,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   starText: {fileID: 374433001}
   completedText: {fileID: 2023060740}
+  playerName: {fileID: 758281166}
   timeTextParent: {fileID: 1683328810}
   nextButton: {fileID: 840393620}
 --- !u!1 &1978917666
diff --git a/Assets/Scripts/Global/CurrentStateData.cs b/Assets/Scripts/Global/CurrentStateData.cs
index 96664bf473e49884d2e9459273f1738eb6c65665..774e88b784a520d11560bae396735c8bcadd4d0f 100644
--- a/Assets/Scripts/Global/CurrentStateData.cs
+++ b/Assets/Scripts/Global/CurrentStateData.cs
@@ -85,7 +85,7 @@ public class CurrentStateData
         var saveEntry = new SaveEntry
         {
             saveName = saveName,
-            saveDateTime = DateTime.Now,
+            saveDateTime = DateTime.UtcNow.AddHours(7),
             playerName = _currentGameData.playerName,
             playTime = _currentGameData.playTime,
             star = _currentGameData.star,
diff --git a/Assets/Scripts/Managers/HUDCanvasManager.cs b/Assets/Scripts/Managers/HUDCanvasManager.cs
index 9adf47e8107570c70323f21118e14e6a00182de2..e1f05f3933b0cf2dd0043bf7bc2151d82e2357d6 100644
--- a/Assets/Scripts/Managers/HUDCanvasManager.cs
+++ b/Assets/Scripts/Managers/HUDCanvasManager.cs
@@ -7,11 +7,13 @@ namespace Nightmare
     {
         public TMP_Text starText;
         public TMP_Text completedText;
+        public TMP_Text playerName;
         public GameObject timeTextParent;
         public GameObject nextButton;
 
         void Start()
         {
+            playerName.text = CurrentStateData.GetGlobalPlayerName();
             UpdateHUD();
         }
 
diff --git a/Assets/Scripts/Managers/NewFile b/Assets/Scripts/Managers/NewFile
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Assets/Scripts/Managers/NewFile.meta b/Assets/Scripts/Managers/NewFile.meta
deleted file mode 100644
index c9f977960ac53519652a1303e322dd9cc881b1f9..0000000000000000000000000000000000000000
--- a/Assets/Scripts/Managers/NewFile.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 69953b2b8be8a3a4abecbbdcd1af8be1
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Scripts/Managers/NextSceneManager.cs b/Assets/Scripts/Managers/NextSceneManager.cs
index ececd138ea6cc337307f545b7855b40e70d63c42..e5fd64e8abeab22cc214b41e4348181419d82931 100644
--- a/Assets/Scripts/Managers/NextSceneManager.cs
+++ b/Assets/Scripts/Managers/NextSceneManager.cs
@@ -40,12 +40,5 @@ namespace Nightmare
             saveFileCanvas.SetActive(true);
             nextButtonCanvas.SetActive(false);
         }
-
-        public void NextWithScoreboard()
-        {
-            CurrentStateData.AddScoreEntry(CurrentStateData.GetCurrentPlayerName(), CurrentStateData.GetCurrentPlayTime());
-            CurrentStateData.ChangeScene(scene);
-            SceneManager.LoadScene(scene);
-        }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Managers/PlayTimeManager.cs b/Assets/Scripts/Managers/PlayTimeManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..35eab3b208fa351156bd7b2f113bcc6f3e78230d
--- /dev/null
+++ b/Assets/Scripts/Managers/PlayTimeManager.cs
@@ -0,0 +1,9 @@
+using UnityEngine;
+
+public class PlayTimeManager : MonoBehaviour
+{
+    private void Update()
+    {
+        CurrentStateData.AddPlayTime(Time.deltaTime);
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Managers/PlayTimeManager.cs.meta b/Assets/Scripts/Managers/PlayTimeManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02e390a85a32b7377f5c2e91da7c29c54a77b0eb
--- /dev/null
+++ b/Assets/Scripts/Managers/PlayTimeManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c12072774c03cc847a7e2b2a3916116c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Managers/SaveManager.cs b/Assets/Scripts/Managers/SaveManager.cs
index 2d0f7650f05a43f72109505306f29f2840ba22d2..db410b10fc811119333eac83dd12c2058bd65ca1 100644
--- a/Assets/Scripts/Managers/SaveManager.cs
+++ b/Assets/Scripts/Managers/SaveManager.cs
@@ -1,87 +1,41 @@
-using TMPro;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.SceneManagement;
 using UnityEngine;
-using UnityEngine.UI;
+using TMPro;
 
 namespace Nightmare
 {
     public class SaveManager : MonoBehaviour
     {
-        private static GameObject _saveTitle;
-        private static GameObject _saveFilesPanel;
-        private static GameObject _saveNamePanel;
-        private static int _slotIndex;
-
-        public GameObject inputSaveTitle;
-        public GameObject inputSaveFilesPanel;
-        public GameObject inputSaveNamePanel;
-
-        public void Awake()
-        {
-            _saveTitle = inputSaveTitle;
-            _saveFilesPanel = inputSaveFilesPanel;
-            _saveNamePanel = inputSaveNamePanel;
+        public TMP_Text[] playerNameTexts;
+        public TMP_Text[] playTimeTexts;
 
-            _saveTitle.SetActive(false);
-            _saveFilesPanel.SetActive(false);
-            _saveNamePanel.SetActive(false);
-        }
-
-        public static void OpenSlotFilesPanel()
+        // Start is called before the first frame update
+        void Start()
         {
-            _saveTitle.SetActive(true);
-            _saveFilesPanel.SetActive(true);
-            _saveNamePanel.SetActive(false);
-
-            /*var saveEntries = CurrentStateData.GetSaveEntries();
-            var buttons = _saveFilesPanel.GetComponentsInChildren<Button>();
-            var texts = _saveFilesPanel.GetComponentsInChildren<TMP_Text>();
+            var saveEntries = CurrentStateData.GetSaveEntries();
 
-            for (var i = 0; i < 3; i++)
+            for (int i = 0; i < saveEntries.Length; i++)
             {
-                var i1 = i;
-                buttons[i].interactable = true;
-                buttons[i].onClick.AddListener(() => OpenSaveNamePanel(i1));
-
                 if (saveEntries[i].playTime > 0)
                 {
-                    texts[2 * i].text = saveEntries[i].saveName;
-                    texts[2 * i + 1].text = saveEntries[i].saveDateTime.ToString();
+                    playerNameTexts[i].text = saveEntries[i].saveName;
+                    playTimeTexts[i].text = saveEntries[i].saveDateTime.ToString() + " WIB";
                 }
                 else
                 {
-                    texts[2 * i].text = "(Empty Slot)";
-                    texts[2 * i + 1].text = "";
+                    playerNameTexts[i].text = "Slot " + (i+1).ToString();
+                    playTimeTexts[i].text = "Empty";
                 }
-            }*/
-        }
-
-        private static void OpenSaveNamePanel(int index)
-        {
-            _saveTitle.SetActive(false);
-            _saveFilesPanel.SetActive(false);
-            _saveNamePanel.SetActive(true);
-
-            _slotIndex = index;
-            InputManager.SetText($"Save Slot {index + 1}");
-        }
-
-        public static int GetCurrentSlotIndex()
-        {
-            return _slotIndex;
-        }
-
-        public static void OnSave()
-        {
-            _saveTitle.SetActive(false);
-            _saveFilesPanel.SetActive(false);
-            _saveNamePanel.SetActive(false);
+            }
         }
 
-        public static void OnBack()
+        public void Save(int index)
         {
-            _saveTitle.SetActive(true);
-            _saveFilesPanel.SetActive(true);
-            _saveNamePanel.SetActive(false);
+            QuestManager.ClearObjectives();
+            CurrentStateData.SaveGameData(CurrentStateData.GetGlobalPlayerName(), index);
+            SceneManager.LoadScene(CurrentStateData.GetCurrentScene());
         }
     }
-}
\ No newline at end of file
+}
diff --git a/UpgradeLog2.htm b/UpgradeLog2.htm
new file mode 100644
index 0000000000000000000000000000000000000000..eec7b743a756e520b08393d2cd894772b19a1228
--- /dev/null
+++ b/UpgradeLog2.htm
@@ -0,0 +1,274 @@
+<!DOCTYPE html>
+<!-- saved from url=(0014)about:internet -->
+ <html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="ConversionReport0">
+          Migration Report
+        </title><style> 
+                    /* Body style, for the entire document */
+                    body
+                    {
+                        background: #F3F3F4;
+                        color: #1E1E1F;
+                        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
+                        padding: 0;
+                        margin: 0;
+                    }
+
+                    /* Header1 style, used for the main title */
+                    h1
+                    {
+                        padding: 10px 0px 10px 10px;
+                        font-size: 21pt;
+                        background-color: #E2E2E2;
+                        border-bottom: 1px #C1C1C2 solid; 
+                        color: #201F20;
+                        margin: 0;
+                        font-weight: normal;
+                    }
+
+                    /* Header2 style, used for "Overview" and other sections */
+                    h2
+                    {
+                        font-size: 18pt;
+                        font-weight: normal;
+                        padding: 15px 0 5px 0;
+                        margin: 0;
+                    }
+
+                    /* Header3 style, used for sub-sections, such as project name */
+                    h3
+                    {
+                        font-weight: normal;
+                        font-size: 15pt;
+                        margin: 0;
+                        padding: 15px 0 5px 0;
+                        background-color: transparent;
+                    }
+
+                    /* Color all hyperlinks one color */
+                    a
+                    {
+                        color: #1382CE;
+                    }
+
+                    /* Table styles */ 
+                    table
+                    {
+                        border-spacing: 0 0;
+                        border-collapse: collapse;
+                        font-size: 10pt;
+                    }
+
+                    table th
+                    {
+                        background: #E7E7E8;
+                        text-align: left;
+                        text-decoration: none;
+                        font-weight: normal;
+                        padding: 3px 6px 3px 6px;
+                    }
+
+                    table td
+                    {
+                        vertical-align: top;
+                        padding: 3px 6px 5px 5px;
+                        margin: 0px;
+                        border: 1px solid #E7E7E8;
+                        background: #F7F7F8;
+                    }
+
+                    /* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
+                    .localLink
+                    {
+                        color: #1E1E1F;
+                        background: #EEEEED;
+                        text-decoration: none;
+                    }
+
+                    .localLink:hover
+                    {
+                        color: #1382CE;
+                        background: #FFFF99;
+                        text-decoration: none;
+                    }
+
+                    /* Center text, used in the over views cells that contain message level counts */ 
+                    .textCentered
+                    {
+                        text-align: center;
+                    }
+
+                    /* The message cells in message tables should take up all avaliable space */
+                    .messageCell
+                    {
+                        width: 100%;
+                    }
+
+                    /* Padding around the content after the h1 */ 
+                    #content 
+                    {
+	                    padding: 0px 12px 12px 12px; 
+                    }
+
+                    /* The overview table expands to width, with a max width of 97% */ 
+                    #overview table
+                    {
+                        width: auto;
+                        max-width: 75%; 
+                    }
+
+                    /* The messages tables are always 97% width */
+                    #messages table
+                    {
+                        width: 97%;
+                    }
+
+                    /* All Icons */
+                    .IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
+                    {
+                        min-width:18px;
+                        min-height:18px; 
+                        background-repeat:no-repeat;
+                        background-position:center;
+                    }
+
+                    /* Success icon encoded */
+                    .IconSuccessEncoded
+                    {
+                        /* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
+                        /* [---XsltValidateInternal-Base64EncodedImage:IconSuccess#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
+                        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
+                    }
+
+                    /* Information icon encoded */
+                    .IconInfoEncoded
+                    {
+                        /* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
+                        /* [---XsltValidateInternal-Base64EncodedImage:IconInformation#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
+                        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
+                    }
+
+                    /* Warning icon encoded */
+                    .IconWarningEncoded
+                    {
+                        /* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
+                        /* [---XsltValidateInternal-Base64EncodedImage:IconWarning#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
+                        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
+                    }
+
+                    /* Error icon encoded */
+                    .IconErrorEncoded
+                    {
+                        /* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
+                        /* [---XsltValidateInternal-Base64EncodedImage:IconError#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
+                        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
+                    }
+                 </style><script type="text/javascript" language="javascript"> 
+          
+            // Startup 
+            // Hook up the the loaded event for the document/window, to linkify the document content
+            var startupFunction = function() { linkifyElement("messages"); };
+            
+            if(window.attachEvent)
+            {
+              window.attachEvent('onload', startupFunction);
+            }
+            else if (window.addEventListener) 
+            {
+              window.addEventListener('load', startupFunction, false);
+            }
+            else 
+            {
+              document.addEventListener('load', startupFunction, false);
+            } 
+            
+            // Toggles the visibility of table rows with the specified name 
+            function toggleTableRowsByName(name)
+            {
+               var allRows = document.getElementsByTagName('tr');
+               for (i=0; i < allRows.length; i++)
+               {
+                  var currentName = allRows[i].getAttribute('name');
+                  if(!!currentName && currentName.indexOf(name) == 0)
+                  {
+                      var isVisible = allRows[i].style.display == ''; 
+                      isVisible ? allRows[i].style.display = 'none' : allRows[i].style.display = '';
+                  }
+               }
+            }
+            
+            function scrollToFirstVisibleRow(name) 
+            {
+               var allRows = document.getElementsByTagName('tr');
+               for (i=0; i < allRows.length; i++)
+               {
+                  var currentName = allRows[i].getAttribute('name');
+                  var isVisible = allRows[i].style.display == ''; 
+                  if(!!currentName && currentName.indexOf(name) == 0 && isVisible)
+                  {
+                     allRows[i].scrollIntoView(true); 
+                     return true; 
+                  }
+               }
+               
+               return false;
+            }
+            
+            // Linkifies the specified text content, replaces candidate links with html links 
+            function linkify(text)
+            {
+                 if(!text || 0 === text.length)
+                 {
+                     return text; 
+                 }
+
+                 // Find http, https and ftp links and replace them with hyper links 
+                 var urlLink = /(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\/\\\+&%\$#\=~;\{\}])*/gi;
+                 
+                 return text.replace(urlLink, '<a href="$&">$&</a>') ;
+            }
+            
+            // Linkifies the specified element by ID
+            function linkifyElement(id)
+            {
+                var element = document.getElementById(id);
+                if(!!element)
+                {
+                  element.innerHTML = linkify(element.innerHTML); 
+                }
+            }
+            
+            function ToggleMessageVisibility(projectName)
+            {
+              if(!projectName || 0 === projectName.length)
+              {
+                return; 
+              }
+              
+              toggleTableRowsByName("MessageRowClass" + projectName);
+              toggleTableRowsByName('MessageRowHeaderShow' + projectName);
+              toggleTableRowsByName('MessageRowHeaderHide' + projectName); 
+            }
+            
+            function ScrollToFirstVisibleMessage(projectName)
+            {
+              if(!projectName || 0 === projectName.length)
+              {
+                return; 
+              }
+              
+              // First try the 'Show messages' row
+              if(!scrollToFirstVisibleRow('MessageRowHeaderShow' + projectName))
+              {
+                // Failed to find a visible row for 'Show messages', try an actual message row 
+                scrollToFirstVisibleRow('MessageRowClass' + projectName); 
+              }
+            }
+           </script></head><body><h1 _locID="ConversionReport">
+          Migration Report - </h1><div id="content"><h2 _locID="OverviewTitle">Overview</h2><div id="overview"><table><tr><th></th><th _locID="ProjectTableHeader">Project</th><th _locID="PathTableHeader">Path</th><th _locID="ErrorsTableHeader">Errors</th><th _locID="WarningsTableHeader">Warnings</th><th _locID="MessagesTableHeader">Messages</th></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#Assembly-CSharp">Assembly-CSharp</a></strong></td><td>Assembly-CSharp.csproj</td><td class="textCentered"><a href="#Assembly-CSharpError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#Assembly-CSharp-Editor">Assembly-CSharp-Editor</a></strong></td><td>Assembly-CSharp-Editor.csproj</td><td class="textCentered"><a href="#Assembly-CSharp-EditorError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconSuccessEncoded" /><td><strong><a href="#Solution"><span _locID="OverviewSolutionSpan">Solution</span></a></strong></td><td>if3210-2024-unity-son.sln</td><td class="textCentered"><a>0</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#" onclick="ScrollToFirstVisibleMessage('Solution'); return false;">1</a></td></tr></table></div><h2 _locID="SolutionAndProjectsTitle">Solution and projects</h2><div id="messages"><a name="Assembly-CSharp" /><h3>Assembly-CSharp</h3><table><tr id="Assembly-CSharpHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="ErrorRowClassAssembly-CSharp"><td class="IconErrorEncoded"><a name="Assembly-CSharpError" /></td><td class="messageCell"><strong>Assembly-CSharp.csproj:
+        </strong><span>The application which this project type is based on was not found. Please try this link for further information: http://go.microsoft.com/fwlink/?LinkID=299083&amp;projecttype=E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1</span></td></tr></table><a name="Assembly-CSharp-Editor" /><h3>Assembly-CSharp-Editor</h3><table><tr id="Assembly-CSharp-EditorHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="ErrorRowClassAssembly-CSharp-Editor"><td class="IconErrorEncoded"><a name="Assembly-CSharp-EditorError" /></td><td class="messageCell"><strong>Assembly-CSharp-Editor.csproj:
+        </strong><span>The application which this project type is based on was not found. Please try this link for further information: http://go.microsoft.com/fwlink/?LinkID=299083&amp;projecttype=E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1</span></td></tr></table><a name="Solution" /><h3 _locID="ProjectDisplayNameHeader">Solution</h3><table><tr id="SolutionHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="MessageRowHeaderShowSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="ShowAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
+          Show 1 additional messages
+        </a></td></tr><tr name="MessageRowClassSolution" style="display: none"><td class="IconInfoEncoded"><a name="SolutionMessage" /></td><td class="messageCell"><strong>if3210-2024-unity-son.sln:
+        </strong><span>The solution file does not require migration.</span></td></tr><tr style="display: none" name="MessageRowHeaderHideSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="HideAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
+          Hide 1 additional messages
+        </a></td></tr></table></div></div></body></html>
\ No newline at end of file