Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

Just upgraded WSS2 to WSS3 and the config tool errors:

An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown. Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.

06/27/2011 17:08:11  7  INF                    Leaving function SimpleStreamReader.Read
06/27/2011 17:08:11  6  ERR                    The process C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin\prescan.exe exited with return code 1
06/27/2011 17:08:11  6  INF                  Leaving function Common.RunCommand
06/27/2011 17:08:11  6  ERR                  Detected that the prescan.exe has not been run yet.
06/27/2011 17:08:11  6  INF                  Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                    Resource id to be retrieved is PreUpgradeScanErrorMessage for language English (United States)
06/27/2011 17:08:11  6  INF                    Resource retrieved id PreUpgradeScanErrorMessage is The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
06/27/2011 17:08:11  6  INF                  Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                  Entering function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  INF                    Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                      Resource id to be retrieved is ExceptionInfo for language English (United States)
06/27/2011 17:08:11  6  INF                      Resource retrieved id ExceptionInfo is An exception of type {0} was thrown.  Additional exception information: {1}
06/27/2011 17:08:11  6  INF                    Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                  Leaving function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  ERR                  Task initialize has failed with a PostSetupConfigurationTaskException An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
06/27/2011 17:08:11  6  INF                  Entering function Common.BuildExceptionInformation
06/27/2011 17:08:11  6  INF                    Entering function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  INF                      Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                        Resource id to be retrieved is ExceptionInfo for language English (United States)
06/27/2011 17:08:11  6  INF                        Resource retrieved id ExceptionInfo is An exception of type {0} was thrown.  Additional exception information: {1}
06/27/2011 17:08:11  6  INF                      Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                    Leaving function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  INF                  Leaving function Common.BuildExceptionInformation
06/27/2011 17:08:11  6  ERR                  An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException: Exception of type 'Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException' was thrown.
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.PrepareForUpgrade()
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
06/27/2011 17:08:11  6  INF                  Entering function Common.BuildExceptionInformation
06/27/2011 17:08:11  6  INF                    Entering function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  INF                      Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                        Resource id to be retrieved is ExceptionInfo for language English (United States)
06/27/2011 17:08:11  6  INF                        Resource retrieved id ExceptionInfo is An exception of type {0} was thrown.  Additional exception information: {1}
06/27/2011 17:08:11  6  INF                      Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                    Leaving function Common.BuildExceptionMessage
06/27/2011 17:08:11  6  INF                  Leaving function Common.BuildExceptionInformation
06/27/2011 17:08:11  6  INF                  Entering function TaskBase.OnTaskStop
06/27/2011 17:08:11  6  INF                    Creating the OnTaskStop event for task initialize
06/27/2011 17:08:11  6  ERR                    Task initialize has failed
06/27/2011 17:08:11  6  INF                    friendlyMessage for task initialize is An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
06/27/2011 17:08:11  6  INF                    debugMessage for task initialize is An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException: Exception of type 'Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException' was thrown.
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.PrepareForUpgrade()
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
06/27/2011 17:08:11  6  INF                    Entering function TaskBase.FireTaskStateChanged
06/27/2011 17:08:11  6  INF                      Firing the OnTaskStateChanged event for task initialize
06/27/2011 17:08:11  6  INF                      Entering function TaskDriver.TaskStateEventHandler
06/27/2011 17:08:11  6  INF                        Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                          Resource id to be retrieved is InitializeTaskDisplayName for language English (United States)
06/27/2011 17:08:11  6  INF                          Resource retrieved id InitializeTaskDisplayName is initialization
06/27/2011 17:08:11  6  INF                        Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  6  INF                        Received an TaskStateEventHandler event.  task:initialize TaskBase.State:stopped
06/27/2011 17:08:11  6  INF                        Entering function TasksQueue.IncrementTaskFailed
06/27/2011 17:08:11  6  INF                          Incremented the number of tasks failed to 1
06/27/2011 17:08:11  6  INF                        Leaving function TasksQueue.IncrementTaskFailed
06/27/2011 17:08:11  6  INF                        Task initialize has stopped and failed.  Total failed is now 1
06/27/2011 17:08:11  6  INF                      Leaving function TaskDriver.TaskStateEventHandler
06/27/2011 17:08:11  6  INF                      Entering function PsconfigBaseForm.TaskStateEventHandler
06/27/2011 17:08:11  6  INF                        Invoking the UI thread with the task state chagne event
06/27/2011 17:08:11  1  INF                        Entering function ConfigurationProgressForm.InvokeTaskStateEventHandler
06/27/2011 17:08:11  1  INF                          Received an TaskStateEventHandler event.  task:initialize TaskBase.State:stopped TaskBase.TaskResultinitialize
06/27/2011 17:08:11  1  INF                          Acquiring the reader lock to retrieve the state
06/27/2011 17:08:11  1  INF                          Releasing the reader lock to retrieve the state
06/27/2011 17:08:11  1  INF                          Acquiring the reader lock to retrieve the state
06/27/2011 17:08:11  1  INF                          Releasing the reader lock to retrieve the state
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  ERR                          Task initialize has stopped and failed.  Total failed is now 1
06/27/2011 17:08:11  1  INF                          Entering function Command.this[string key]
06/27/2011 17:08:11  1  INF                            Entering function CommandCollectionBase.Get
06/27/2011 17:08:11  1  INF                              Found value in collection for key V2V_INPLACE_UPGRADE
06/27/2011 17:08:11  1  INF                            Leaving function CommandCollectionBase.Get
06/27/2011 17:08:11  1  INF                            Found parameter V2V_INPLACE_UPGRADE in collection
06/27/2011 17:08:11  1  INF                          Leaving function Command.this[string key]
06/27/2011 17:08:11  1  INF                          Entering function Command.this[string key]
06/27/2011 17:08:11  1  INF                            Entering function CommandCollectionBase.Get
06/27/2011 17:08:11  1  INF                              Found value in collection for key B2B_UPGRADE
06/27/2011 17:08:11  1  INF                            Leaving function CommandCollectionBase.Get
06/27/2011 17:08:11  1  INF                            Found parameter B2B_UPGRADE in collection
06/27/2011 17:08:11  1  INF                          Leaving function Command.this[string key]
06/27/2011 17:08:11  1  INF                          Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:11  1  INF                            Resource id to be retrieved is InitializeTaskFailUpgradeConfigDisplayLabel for language English (United States)
06/27/2011 17:08:11  1  INF                            Resource retrieved id InitializeTaskFailUpgradeConfigDisplayLabel is Failed to initialize SharePoint Products and Technologies upgrade.
06/27/2011 17:08:11  1  INF                          Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Updating the task label below the progress bar Failed to initialize SharePoint Products and Technologies upgrade.
06/27/2011 17:08:11  1  INF                          Entering function FormParameterCollection.Add
06/27/2011 17:08:11  1  INF                          Leaving function FormParameterCollection.Add
06/27/2011 17:08:11  1  INF                          Last message from task initialize is An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                          Updating the task additional notification information below the progress bar An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
06/27/2011 17:08:11  1  INF                        Leaving function ConfigurationProgressForm.InvokeTaskStateEventHandler
06/27/2011 17:08:11  6  INF                        Sleeping an extra 1000 ms so things don't go too fast for the user for this task
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:11  1  INF                        Not running in high contrast, so we will paint the background with our trademarked image
06/27/2011 17:08:12  6  INF                      Leaving function PsconfigBaseForm.TaskStateEventHandler
06/27/2011 17:08:12  6  INF                    Leaving function TaskBase.FireTaskStateChanged
06/27/2011 17:08:12  6  INF                  Leaving function TaskBase.OnTaskStop
06/27/2011 17:08:12  6  INF                Leaving function TaskThread.ExecuteTask
06/27/2011 17:08:12  5  INF                Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                  Resource id to be retrieved is InitializeTaskDisplayName for language English (United States)
06/27/2011 17:08:12  5  INF                  Resource retrieved id InitializeTaskDisplayName is initialization
06/27/2011 17:08:12  5  INF                Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  ERR                Task initialization failed, so stopping execution of the engine
06/27/2011 17:08:12  5  INF                Entering function Command.this[string key]
06/27/2011 17:08:12  5  INF                  Entering function CommandCollectionBase.Get
06/27/2011 17:08:12  5  INF                    Found value in collection for key V2V_INPLACE_UPGRADE
06/27/2011 17:08:12  5  INF                  Leaving function CommandCollectionBase.Get
06/27/2011 17:08:12  5  INF                  Found parameter V2V_INPLACE_UPGRADE in collection
06/27/2011 17:08:12  5  INF                Leaving function Command.this[string key]
06/27/2011 17:08:12  5  INF                Entering function Command.this[string key]
06/27/2011 17:08:12  5  INF                  Entering function CommandCollectionBase.Get
06/27/2011 17:08:12  5  INF                    Found value in collection for key B2B_UPGRADE
06/27/2011 17:08:12  5  INF                  Leaving function CommandCollectionBase.Get
06/27/2011 17:08:12  5  INF                  Found parameter B2B_UPGRADE in collection
06/27/2011 17:08:12  5  INF                Leaving function Command.this[string key]
06/27/2011 17:08:12  5  INF                Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                  Resource id to be retrieved is InitializeTaskFailUpgradeConfigDisplayLabel for language English (United States)
06/27/2011 17:08:12  5  INF                  Resource retrieved id InitializeTaskFailUpgradeConfigDisplayLabel is Failed to initialize SharePoint Products and Technologies upgrade.
06/27/2011 17:08:12  5  INF                Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  ERR                Failed to initialize SharePoint Products and Technologies upgrade.
An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown.  Additional exception information: The pre-upgrade scan tool has not yet been run successfully on all content databases in the server farm. The pre-upgrade scan tool must complete without errors before you can continue with the upgrade process.
Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException: Exception of type 'Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException' was thrown.
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.PrepareForUpgrade()
   at Microsoft.SharePoint.PostSetupConfiguration.InitializeTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
06/27/2011 17:08:12  5  INF                Entering function TaskDriver.NotifyTaskSummary
06/27/2011 17:08:12  5  INF                  Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                    Resource id to be retrieved is TotalTasksRan for language English (United States)
06/27/2011 17:08:12  5  INF                    Resource retrieved id TotalTasksRan is Total number of configuration settings run: {0}
06/27/2011 17:08:12  5  INF                  Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                  Entering function TaskDriver.OnTaskDriverNotify
06/27/2011 17:08:12  5  INF                    Sending a task driver notify event: TaskDriverEventArgs.EventCriticalityType: info, TaskDriverEventArgs.EventMessageType: totalran, TaskDriverEventArgs.EventType.notify, message: Total number of configuration settings run: 1
06/27/2011 17:08:12  5  INF                    Entering function TaskDriver.FireOnTaskDriverEvent
06/27/2011 17:08:12  5  INF                      Entering function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Received a TaskDriverEventHandler: TaskDriverEventArgs.EventCriticalityType info, TaskDriverEventArgs.EventType notify, message Total number of configuration settings run: 1
06/27/2011 17:08:12  5  INF                      Leaving function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                      Entering function PsconfigBaseForm.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Invoking the UI thread with the task driver event
06/27/2011 17:08:12  1  INF                        Entering function ConfigurationProgressForm.InvokeTaskDriverEventHandler
06/27/2011 17:08:12  1  INF                          Received a TaskDriverEventHandler: TaskDriverEventArgs.EventCriticalityType: info, TaskDriverEventArgs.EventMessageType: totalran, TaskDriverEventArgs.EventType notify, message: Total number of configuration settings run: 1
06/27/2011 17:08:12  1  INF                          Received a non null event from the task driver
06/27/2011 17:08:12  1  INF                          Sending the notification event to the UI
06/27/2011 17:08:12  1  INF                          Entering function FormParameterCollection.Add
06/27/2011 17:08:12  1  INF                          Leaving function FormParameterCollection.Add
06/27/2011 17:08:12  1  INF                          TaskDriver said total tasks run is Total number of configuration settings run: 1
06/27/2011 17:08:12  1  INF                        Leaving function ConfigurationProgressForm.InvokeTaskDriverEventHandler
06/27/2011 17:08:12  5  INF                      Leaving function PsconfigBaseForm.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                    Leaving function TaskDriver.FireOnTaskDriverEvent
06/27/2011 17:08:12  5  INF                  Leaving function TaskDriver.OnTaskDriverNotify
06/27/2011 17:08:12  5  INF                  Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                    Resource id to be retrieved is TotalTasksSucceeded for language English (United States)
06/27/2011 17:08:12  5  INF                    Resource retrieved id TotalTasksSucceeded is Total number of successful configuration settings: {0}
06/27/2011 17:08:12  5  INF                  Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                  Entering function TaskDriver.OnTaskDriverNotify
06/27/2011 17:08:12  5  INF                    Sending a task driver notify event: TaskDriverEventArgs.EventCriticalityType: info, TaskDriverEventArgs.EventMessageType: totalsuccess, TaskDriverEventArgs.EventType.notify, message: Total number of successful configuration settings: 0
06/27/2011 17:08:12  5  INF                    Entering function TaskDriver.FireOnTaskDriverEvent
06/27/2011 17:08:12  5  INF                      Entering function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Received a TaskDriverEventHandler: TaskDriverEventArgs.EventCriticalityType info, TaskDriverEventArgs.EventType notify, message Total number of successful configuration settings: 0
06/27/2011 17:08:12  5  INF                      Leaving function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                      Entering function PsconfigBaseForm.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Invoking the UI thread with the task driver event
06/27/2011 17:08:12  1  INF                        Entering function ConfigurationProgressForm.InvokeTaskDriverEventHandler
06/27/2011 17:08:12  1  INF                          Received a TaskDriverEventHandler: TaskDriverEventArgs.EventCriticalityType: info, TaskDriverEventArgs.EventMessageType: totalsuccess, TaskDriverEventArgs.EventType notify, message: Total number of successful configuration settings: 0
06/27/2011 17:08:12  1  INF                          Received a non null event from the task driver
06/27/2011 17:08:12  1  INF                          Sending the notification event to the UI
06/27/2011 17:08:12  1  INF                          Entering function FormParameterCollection.Add
06/27/2011 17:08:12  1  INF                          Leaving function FormParameterCollection.Add
06/27/2011 17:08:12  1  INF                          TaskDriver said total tasks successful is Total number of successful configuration settings: 0
06/27/2011 17:08:12  1  INF                        Leaving function ConfigurationProgressForm.InvokeTaskDriverEventHandler
06/27/2011 17:08:12  5  INF                      Leaving function PsconfigBaseForm.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                    Leaving function TaskDriver.FireOnTaskDriverEvent
06/27/2011 17:08:12  5  INF                  Leaving function TaskDriver.OnTaskDriverNotify
06/27/2011 17:08:12  5  INF                  Entering function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                    Resource id to be retrieved is TotalTasksFailed for language English (United States)
06/27/2011 17:08:12  5  INF                    Resource retrieved id TotalTasksFailed is Total number of unsuccessful configuration settings: {0}
06/27/2011 17:08:12  5  INF                  Leaving function StringResourceManager.GetResourceString
06/27/2011 17:08:12  5  INF                  Entering function TaskDriver.OnTaskDriverNotify
06/27/2011 17:08:12  5  INF                    Sending a task driver notify event: TaskDriverEventArgs.EventCriticalityType: info, TaskDriverEventArgs.EventMessageType: totalfail, TaskDriverEventArgs.EventType.notify, message: Total number of unsuccessful configuration settings: 9
06/27/2011 17:08:12  5  INF                    Entering function TaskDriver.FireOnTaskDriverEvent
06/27/2011 17:08:12  5  INF                      Entering function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Received a TaskDriverEventHandler: TaskDriverEventArgs.EventCriticalityType info, TaskDriverEventArgs.EventType notify, message Total number of unsuccessful configuration settings: 9
06/27/2011 17:08:12  5  INF                      Leaving function UserInterface.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                      Entering function PsconfigBaseForm.TaskDriverEventHandler
06/27/2011 17:08:12  5  INF                        Invoking the UI thread with the task driver event
share|improve this question
add comment

2 Answers

The prescan tool not only tells you if there are things affecting upgrade, but sets a value in the content database that the upgrade looks for in order to be assured that the upgrade to the content database can take place with no errors.

share|improve this answer
add comment

Fix is to run:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>prescan.exe /all

Don't know why they make a program to do all the work, if it misses out a step that it requires, Microsoft. Will accept this as my answer when SO allows (2 days)

http://support.microsoft.com/kb/938216

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.