From e463cea1eca96fc0fd792ef4ca53bae412ec8d70 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 14 Jul 2016 20:21:00 +0100
Subject: [PATCH 01/55] Updating Graph ResourceId

The ResourceId was set to graph.windows.net while correct graph resource is graph.microsoft.com as defined in https://graph.microsoft.io/en-us/docs/authorization/app_authorization. with graph.windows.net calls to graph api return 401 unauthorized.
---
 SampleAADv1Bot/Web.config | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index 35fa335..d11d818 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -11,7 +11,7 @@
 
     <!-- AAD Auth v1 settings -->
     <add key="ActiveDirectory.Mode" value="v1" />
-    <add key="ActiveDirectory.ResourceId" value="https://graph.windows.net/" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
     <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
     <add key="ActiveDirectory.Tenant" value="dxdemos.net" />
     <add key="ActiveDirectory.ClientId" value="2d3b5788-05a5-486d-b2a4-2772a4511396" />

From 4c24401014a88bcf71853a7524f06161b5513b40 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Wed, 20 Jul 2016 14:59:15 +0100
Subject: [PATCH 02/55] Added Visual Studio Online oAuth2 support

---
 AuthBot/AuthBot.csproj                        |  1 +
 .../Controllers/OAuthCallbackController.cs    | 10 ++++-
 AuthBot/Helpers/VisualStudioOnlineHelper.cs   | 44 +++++++++++++++++++
 SampleAADv1Bot/SampleAADv1Bot.csproj          |  7 ++-
 SampleAADv1Bot/Web.config                     | 37 ++++++++++++----
 5 files changed, 87 insertions(+), 12 deletions(-)
 create mode 100644 AuthBot/Helpers/VisualStudioOnlineHelper.cs

diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index cd370d8..c57518c 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -116,6 +116,7 @@
     <Compile Include="Controllers\OAuthCallbackController.cs" />
     <Compile Include="Dialogs\AzureAuthDialog.cs" />
     <Compile Include="Helpers\AzureActiveDirectoryHelper.cs" />
+    <Compile Include="Helpers\VisualStudioOnlineHelper.cs" />
     <Compile Include="Models\AuthResult.cs" />
     <Compile Include="Models\AuthSettings.cs" />
     <Compile Include="Models\CancellationWords.cs" />
diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index c600984..a1d2470 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -79,9 +79,15 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                     else if (string.Equals(AuthSettings.Mode, "b2c", StringComparison.OrdinalIgnoreCase))
                     {
                     }
+                    else if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                    {
+                        // Exchange the Auth code with Access token
+                        var token = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
+                        authResult = token;
+                    }
+
+
 
-                    
-                   
                     var data = await client.Bots.GetUserDataAsync(resumptionCookie.BotId, resumptionCookie.UserId );
                     int magicNumber = GenerateRandomNumber();
                     data.SetProperty(ContextConstants.AuthResultKey, authResult);
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
new file mode 100644
index 0000000..911ae07
--- /dev/null
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -0,0 +1,44 @@
+using AuthBot.Models;
+using Microsoft.Bot.Builder.Dialogs;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading.Tasks;
+using System.Web;
+
+namespace AuthBot.Helpers
+{
+    class VisualStudioOnlineHelper
+    {
+        public static string GetAuthUrlAsync(ResumptionCookie resumptionCookie)
+        {
+            var encodedCookie = Microsoft.Bot.Builder.Dialogs.UrlToken.Encode(resumptionCookie);
+            return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, AuthSettings.Tenant, AuthSettings.RedirectUrl);
+        }
+        public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
+        {
+            using (var client = new HttpClient())
+            {
+
+                client.BaseAddress = new Uri("https://app.vssps.visualstudio.com");
+                using (var request = new HttpRequestMessage(HttpMethod.Post, String.Empty))
+                {
+                    var postData = string.Format("/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}", AuthSettings.ClientSecret, authorizationCode, AuthSettings.RedirectUrl);
+                    request.Content = new StringContent(postData, Encoding.UTF8, "application/x-www-form-urlencoded");
+                    HttpResponseMessage response = await client.SendAsync(request);
+                    var str = await response.Content.ReadAsStringAsync();
+
+                    //AuthResult authResult = AuthResult.FromADALAuthenticationResult(result, tokenCache);
+                    AuthResult authResult = null;
+                    return authResult;
+
+                }
+            }
+        }
+    }
+}
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index ce97bcc..bec9ee1 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -15,7 +15,7 @@
     <AssemblyName>SampleAADV1Bot</AssemblyName>
     <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <UseIISExpress>true</UseIISExpress>
-    <IISExpressSSLPort />
+    <IISExpressSSLPort>44338</IISExpressSSLPort>
     <IISExpressAnonymousAuthentication />
     <IISExpressWindowsAuthentication />
     <IISExpressUseClassicPipelineMode />
@@ -146,6 +146,7 @@
   </ItemGroup>
   <ItemGroup>
     <Content Include="packages.config" />
+    <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy.pubxml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
     </None>
@@ -174,7 +175,9 @@
           <AutoAssignPort>True</AutoAssignPort>
           <DevelopmentServerPort>3978</DevelopmentServerPort>
           <DevelopmentServerVPath>/</DevelopmentServerVPath>
-          <IISUrl>http://localhost:3978/</IISUrl>
+          <IISUrl>https://localhost:44338/</IISUrl>
+          <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
+          <IISAppRootUrl>https://localhost:44338/</IISAppRootUrl>
           <NTLMAuthentication>False</NTLMAuthentication>
           <UseCustomServer>False</UseCustomServer>
           <CustomServerUrl>
diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index d11d818..eb66000 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -6,17 +6,38 @@
 <configuration>
   <appSettings>
     <!-- update these with your appid and one of your appsecret keys-->
-    <add key="AppId" value="YourAppId" />
-    <add key="AppSecret" value="YourAppSecret" />
+    <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
+    <add key="BotId" value="MSGraphBot" />
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
 
-    <!-- AAD Auth v1 settings -->
-    <add key="ActiveDirectory.Mode" value="v1" />
+    <!--MSGraphBotTiago123-->
+    <!-- Microsoft AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
     <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
     <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="dxdemos.net" />
-    <add key="ActiveDirectory.ClientId" value="2d3b5788-05a5-486d-b2a4-2772a4511396" />
-    <add key="ActiveDirectory.ClientSecret" value="wU3oFBJ1gjWcB8Lo/fMaaCwg7ygg8Y9zBJlUq+0yBN0=" />    
-    <add key="ActiveDirectory.RedirectUrl" value="http://localhost:3978/api/OAuthCallback" />
+    <add key="ActiveDirectory.Tenant" value="72f988bf-86f1-41af-91ab-2d7cd011db47" />
+    <add key="ActiveDirectory.ClientId" value="028149ea-02ed-474c-8472-6fc2df4d8b5b" />
+    <add key="ActiveDirectory.ClientSecret" value="paU3t/vu2NaiO+gA8dZFqyyUYWe0x0Ps7+B+Wj3X1YY=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44339/api/OAuthCallback" />-->
+
+    <!-- WattSkyt AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
+    <add key="ActiveDirectory.Tenant" value="db8e431d-8772-4a9c-884c-50fbc65c560d" />
+    <add key="ActiveDirectory.ClientId" value="d45b70bc-0558-4e6d-a06a-afd440bde94b" />
+    <add key="ActiveDirectory.ClientSecret" value="BnAe9NcoWQODHPJZuf4R4d3QyiII2yZqUw/ndY/i8Do=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44308/api/OAuthCallback" />-->
+
+    <!-- VSO -->
+    <add key="ActiveDirectory.Mode" value="vso" />
+    <add key="ActiveDirectory.ResourceId" value="dpeted" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
+    <add key="ActiveDirectory.Tenant" value="vso.work" />
+    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
+    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
 
 
   </appSettings>

From 5b657f2bb708220b422b2f07c358497d60b56964 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Wed, 20 Jul 2016 15:17:26 +0100
Subject: [PATCH 03/55] Added files tu support VSO oAuth2 authentication

---
 .../Controllers/OAuthCallbackController.cs    |  8 +++-
 AuthBot/Dialogs/AzureAuthDialog.cs            |  9 ++++-
 SampleAADv1Bot/SampleAADv1Bot.csproj          | 10 +++--
 SampleAADv1Bot/Web.config                     | 37 ++++++++++++++-----
 4 files changed, 49 insertions(+), 15 deletions(-)

diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index d25aacc..a23897d 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -84,7 +84,13 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                     else if (string.Equals(AuthSettings.Mode, "b2c", StringComparison.OrdinalIgnoreCase))
                     {
                     }
-                    
+                    else if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                    {
+                        // Exchange the Auth code with Access token
+                        var token = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
+                        authResult = token;
+                    }
+
                     IStateClient sc = scope.Resolve<IStateClient>();
 
                     var dataBag = scope.Resolve<IBotData>();
diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index 2060292..e314583 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -129,7 +129,14 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string re
                     {
                         var resumptionCookie = new ResumptionCookie(msg);
 
-                        var authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, resourceId);
+                        String authenticationUrl;
+                        if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                        {
+                            authenticationUrl = VisualStudioOnlineHelper.GetAuthUrlAsync(resumptionCookie);
+                        }
+                        else
+                        { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, resourceId); }
+
 
                         await context.PostAsync($"You must be authenticated before you can proceed. Please, click [here]({authenticationUrl}) to log into your account.");
 
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index 170e98a..a0ae473 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -45,10 +45,6 @@
     <NoWarn>CS1998</NoWarn>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="AuthBot, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\AuthBot.3.0.2-alpha\lib\net40\AuthBot.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
       <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
@@ -201,6 +197,12 @@
       <DependentUpon>Web.config</DependentUpon>
     </None>
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\AuthBot\AuthBot.csproj">
+      <Project>{b8ad59d3-c36d-4e18-b504-06871001bc8d}</Project>
+      <Name>AuthBot</Name>
+    </ProjectReference>
+  </ItemGroup>
   <PropertyGroup>
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index 918faf7..5416361 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -6,18 +6,37 @@
 <configuration>
   <appSettings>
     <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
-    <add key="BotId" value="YourBotId" />
-    <add key="MicrosoftAppId" value="" />
-    <add key="MicrosoftAppPassword" value="" />
+    <add key="BotId" value="MSGraphBot" />
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
 
-    <!-- AAD Auth v1 settings -->
-    <add key="ActiveDirectory.Mode" value="v1" />
+    <!--MSGraphBotTiago123-->
+    <!-- Microsoft AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
     <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
     <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="dxdemos.net" />
-    <add key="ActiveDirectory.ClientId" value="2d3b5788-05a5-486d-b2a4-2772a4511396" />
-    <add key="ActiveDirectory.ClientSecret" value="wU3oFBJ1gjWcB8Lo/fMaaCwg7ygg8Y9zBJlUq+0yBN0=" />
-    <add key="ActiveDirectory.RedirectUrl" value="http://localhost:3978/api/OAuthCallback" />
+    <add key="ActiveDirectory.Tenant" value="72f988bf-86f1-41af-91ab-2d7cd011db47" />
+    <add key="ActiveDirectory.ClientId" value="028149ea-02ed-474c-8472-6fc2df4d8b5b" />
+    <add key="ActiveDirectory.ClientSecret" value="paU3t/vu2NaiO+gA8dZFqyyUYWe0x0Ps7+B+Wj3X1YY=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44339/api/OAuthCallback" />-->
+
+    <!-- WattSkyt AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
+    <add key="ActiveDirectory.Tenant" value="db8e431d-8772-4a9c-884c-50fbc65c560d" />
+    <add key="ActiveDirectory.ClientId" value="d45b70bc-0558-4e6d-a06a-afd440bde94b" />
+    <add key="ActiveDirectory.ClientSecret" value="BnAe9NcoWQODHPJZuf4R4d3QyiII2yZqUw/ndY/i8Do=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44308/api/OAuthCallback" />-->
+
+    <!-- VSO -->
+    <add key="ActiveDirectory.Mode" value="vso" />
+    <add key="ActiveDirectory.ResourceId" value="dpeted" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
+    <add key="ActiveDirectory.Tenant" value="vso.work" />
+    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
+    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
 
 
   </appSettings>

From bf0e882b94b4f49073b5ec938e31c0d7f50d8067 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 21 Jul 2016 18:23:24 +0100
Subject: [PATCH 04/55] Furthere the implementation of VSO authentication

---
 AuthBot/AuthBot.csproj                        |   1 +
 .../Controllers/OAuthCallbackController.cs    |   2 +-
 AuthBot/Helpers/AzureActiveDirectoryHelper.cs |   1 -
 AuthBot/Helpers/VisualStudioOnlineHelper.cs   | 103 ++++++++++++++++--
 AuthBot/Models/AuthResult.cs                  |   1 +
 AuthBot/Models/VSOAuthResult.cs               |  39 +++++++
 SampleAADv1Bot/Dialogs/ActionDialog.cs        |   3 +-
 SampleAADv1Bot/SampleAADv1Bot.csproj          |   3 +
 SampleAADv1Bot/default.htm                    |   4 +-
 9 files changed, 140 insertions(+), 17 deletions(-)
 create mode 100644 AuthBot/Models/VSOAuthResult.cs

diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index 348472a..b44d1ed 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -163,6 +163,7 @@
     <Compile Include="Models\CancellationWords.cs" />
     <Compile Include="Models\MemoryTokenCacheADAL.cs" />
     <Compile Include="Models\MemoryTokenCacheMSAL.cs" />
+    <Compile Include="Models\VSOAuthResult.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index a23897d..f405a1f 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -88,7 +88,7 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                     {
                         // Exchange the Auth code with Access token
                         var token = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
-                        authResult = token;
+                        VSOAuthResult _VsoAuthResult = token;
                     }
 
                     IStateClient sc = scope.Resolve<IStateClient>();
diff --git a/AuthBot/Helpers/AzureActiveDirectoryHelper.cs b/AuthBot/Helpers/AzureActiveDirectoryHelper.cs
index a2897a6..4bcb35f 100644
--- a/AuthBot/Helpers/AzureActiveDirectoryHelper.cs
+++ b/AuthBot/Helpers/AzureActiveDirectoryHelper.cs
@@ -46,7 +46,6 @@ public static async Task<string> GetAuthUrlAsync(ResumptionCookie resumptionCook
                 //    "&scope=" + HttpUtility.UrlEncode("openid profile " + string.Join(" ", scopes)) +
                 //    "&state=" + encodedCookie;
 
-
                 var uri = await client.GetAuthorizationRequestUrlAsync(
                    scopes,
                     null,
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index 911ae07..c1ff8a2 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -1,5 +1,6 @@
 using AuthBot.Models;
 using Microsoft.Bot.Builder.Dialogs;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.IO;
@@ -17,28 +18,110 @@ class VisualStudioOnlineHelper
     {
         public static string GetAuthUrlAsync(ResumptionCookie resumptionCookie)
         {
+            //To Do Change Tenant to Scope
             var encodedCookie = Microsoft.Bot.Builder.Dialogs.UrlToken.Encode(resumptionCookie);
             return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, AuthSettings.Tenant, AuthSettings.RedirectUrl);
         }
-        public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
+        public static async Task<VSOAuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
         {
+            VSOAuthResult authResult=null;
+            
             using (var client = new HttpClient())
             {
 
                 client.BaseAddress = new Uri("https://app.vssps.visualstudio.com");
-                using (var request = new HttpRequestMessage(HttpMethod.Post, String.Empty))
-                {
-                    var postData = string.Format("/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}", AuthSettings.ClientSecret, authorizationCode, AuthSettings.RedirectUrl);
+                using (var request = new HttpRequestMessage(HttpMethod.Post, "/oauth2/token"))
+                {                    
+                    var postData = GenerateRequestPostData(authorizationCode);
                     request.Content = new StringContent(postData, Encoding.UTF8, "application/x-www-form-urlencoded");
                     HttpResponseMessage response = await client.SendAsync(request);
-                    var str = await response.Content.ReadAsStringAsync();
-
-                    //AuthResult authResult = AuthResult.FromADALAuthenticationResult(result, tokenCache);
-                    AuthResult authResult = null;
-                    return authResult;
-
+                    if (response.StatusCode == HttpStatusCode.OK)
+                    {
+                        var strWebAuthResponse = await response.Content.ReadAsStringAsync();
+                        
+                        authResult = VSOAuthResult.FromVSOAuthenticationResult(strWebAuthResponse);
+                    }
                 }
             }
+            
+
+            //if (!String.IsNullOrEmpty(authorizationCode))
+            //{
+            //    error = PerformTokenRequest(GenerateRequestPostData(authorizationCode), out token);
+            //    if (!String.IsNullOrEmpty(error))
+            //    {
+            //        //Manage error
+            //    }
+
+            //}
+
+            return authResult;
         }
+
+        //private static String PerformTokenRequest(String postData, out TokenModel token)
+        //{
+        //    var error = String.Empty;
+        //    var strResponseData = String.Empty;
+
+        //    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://app.vssps.visualstudio.com/oauth2/token");
+
+        //    webRequest.Method = "POST";
+        //    webRequest.ContentLength = postData.Length;
+        //    webRequest.ContentType = "application/x-www-form-urlencoded";
+
+        //    using (StreamWriter swRequestWriter = new StreamWriter(webRequest.GetRequestStream()))
+        //    {
+        //        swRequestWriter.Write(postData);
+        //    }
+
+        //    try
+        //    {
+        //        HttpWebResponse hwrWebResponse = (HttpWebResponse)webRequest.GetResponse();
+
+        //        if (hwrWebResponse.StatusCode == HttpStatusCode.OK)
+        //        {
+        //            using (StreamReader srResponseReader = new StreamReader(hwrWebResponse.GetResponseStream()))
+        //            {
+        //                strResponseData = srResponseReader.ReadToEnd();
+        //            }
+
+        //            token = JsonConvert.DeserializeObject<TokenModel>(strResponseData);
+        //            return null;
+        //        }
+        //    }
+        //    catch (WebException wex)
+        //    {
+        //        error = "Request Issue: " + wex.Message;
+        //    }
+        //    catch (Exception ex)
+        //    {
+        //        error = "Issue: " + ex.Message;
+        //    }
+
+        //    token = new TokenModel();
+        //    return error;
+        //}
+
+
+        public static string GenerateRequestPostData(string code)
+        {
+            return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}",
+                HttpUtility.UrlEncode(AuthSettings.ClientSecret),
+                HttpUtility.UrlEncode(code),
+                AuthSettings.RedirectUrl
+                );
+        }
+
+        public static string GenerateRefreshPostData(string refreshToken)
+        {
+            return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=refresh_token&assertion={1}&redirect_uri={2}",
+                HttpUtility.UrlEncode(AuthSettings.ClientSecret),
+                HttpUtility.UrlEncode(refreshToken),
+                AuthSettings.RedirectUrl
+                );
+
+        }
+
+
     }
 }
diff --git a/AuthBot/Models/AuthResult.cs b/AuthBot/Models/AuthResult.cs
index c13cc61..afaaa2b 100644
--- a/AuthBot/Models/AuthResult.cs
+++ b/AuthBot/Models/AuthResult.cs
@@ -39,6 +39,7 @@ public static AuthResult FromMSALAuthenticationResult(Microsoft.Identity.Client.
 
             return result;
         }
+
     }
 }
 //*********************************************************
diff --git a/AuthBot/Models/VSOAuthResult.cs b/AuthBot/Models/VSOAuthResult.cs
new file mode 100644
index 0000000..b11b788
--- /dev/null
+++ b/AuthBot/Models/VSOAuthResult.cs
@@ -0,0 +1,39 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AuthBot.Models
+{
+
+    public class VSOAuthResult
+    {
+        public VSOAuthResult() { }
+
+        [JsonProperty(PropertyName = "access_token")]
+        public String accessToken { get; set; }
+
+        [JsonProperty(PropertyName = "token_type")]
+        public String tokenType { get; set; }
+
+        [JsonProperty(PropertyName = "expires_in")]
+        public String expiresIn { get; set; }
+
+        [JsonProperty(PropertyName = "refresh_token")]
+        public String refreshToken { get; set; }
+        public static VSOAuthResult FromVSOAuthenticationResult(String strWebAuthResponse)
+        {
+            VSOAuthResult token = new VSOAuthResult();
+            token = JsonConvert.DeserializeObject<VSOAuthResult>(strWebAuthResponse);
+
+            return token;
+        }
+    }
+    
+
+    
+
+
+}
diff --git a/SampleAADv1Bot/Dialogs/ActionDialog.cs b/SampleAADv1Bot/Dialogs/ActionDialog.cs
index 72faa82..7d2bdec 100644
--- a/SampleAADv1Bot/Dialogs/ActionDialog.cs
+++ b/SampleAADv1Bot/Dialogs/ActionDialog.cs
@@ -39,8 +39,6 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
 
             if (message.Text == "logon")
             {
-
-
                 //endpoint v1
                 if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
                 {
@@ -68,6 +66,7 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
             }
             else
             {
+                await context.PostAsync("say what ?");
                 context.Wait(MessageReceivedAsync);
             }
         }
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index a0ae473..9494bb9 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -203,6 +203,9 @@
       <Name>AuthBot</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\PublishProfiles\" />
+  </ItemGroup>
   <PropertyGroup>
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
diff --git a/SampleAADv1Bot/default.htm b/SampleAADv1Bot/default.htm
index a6f1707..20f0da4 100644
--- a/SampleAADv1Bot/default.htm
+++ b/SampleAADv1Bot/default.htm
@@ -5,9 +5,7 @@
     <meta charset="utf-8" />
 </head>
 <body style="font-family:'Segoe UI'">
-    <h1>Sample AAD v1 Bot</h1>
-   
-
+    <h1>Sample AAD v1 Bot (Tiagoand v1)</h1>
 </body>
 
 </html>

From 10e64f68cd7d5b5efd35727a69b67f45c1d880a8 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 21 Jul 2016 19:09:12 +0100
Subject: [PATCH 05/55] processing AuthResults and storing token

---
 .../Controllers/OAuthCallbackController.cs    |  4 +-
 AuthBot/Helpers/VisualStudioOnlineHelper.cs   | 11 +++--
 AuthBot/Models/AuthResult.cs                  | 40 +++++++++++++++++--
 3 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index f405a1f..f62defe 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -69,6 +69,7 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                 {
                     var client = scope.Resolve<IConnectorClient>();                
                     AuthResult authResult = null;
+
                     if (string.Equals(AuthSettings.Mode, "v1", StringComparison.OrdinalIgnoreCase))
                     {
                         // Exchange the Auth code with Access token
@@ -87,8 +88,7 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                     else if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
                     {
                         // Exchange the Auth code with Access token
-                        var token = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
-                        VSOAuthResult _VsoAuthResult = token;
+                        authResult = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
                     }
 
                     IStateClient sc = scope.Resolve<IStateClient>();
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index c1ff8a2..4a4e53d 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -22,9 +22,10 @@ public static string GetAuthUrlAsync(ResumptionCookie resumptionCookie)
             var encodedCookie = Microsoft.Bot.Builder.Dialogs.UrlToken.Encode(resumptionCookie);
             return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, AuthSettings.Tenant, AuthSettings.RedirectUrl);
         }
-        public static async Task<VSOAuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
+        public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
         {
-            VSOAuthResult authResult=null;
+            AuthResult authResult = null;
+            VSOAuthResult _VSOauthResult=null;
             
             using (var client = new HttpClient())
             {
@@ -38,10 +39,12 @@ public static async Task<VSOAuthResult> GetTokenByAuthCodeAsync(string authoriza
                     if (response.StatusCode == HttpStatusCode.OK)
                     {
                         var strWebAuthResponse = await response.Content.ReadAsStringAsync();
-                        
-                        authResult = VSOAuthResult.FromVSOAuthenticationResult(strWebAuthResponse);
+
+                        _VSOauthResult = VSOAuthResult.FromVSOAuthenticationResult(strWebAuthResponse);
+                        authResult = AuthResult.FromVSOAuthenticationResult(_VSOauthResult);
                     }
                 }
+
             }
             
 
diff --git a/AuthBot/Models/AuthResult.cs b/AuthBot/Models/AuthResult.cs
index afaaa2b..01a46e3 100644
--- a/AuthBot/Models/AuthResult.cs
+++ b/AuthBot/Models/AuthResult.cs
@@ -11,7 +11,15 @@ public class AuthResult
         public string UserUniqueId { get; set; }
         public long ExpiresOnUtcTicks { get; set; }
         public byte[] TokenCache { get; set; }
-     
+
+        public String tokenType { get; set; }
+
+        public String expiresIn { get; set; }
+
+        public String refreshToken { get; set; }
+
+        public String authType { get; set; } //if AD or VSO
+
         public static AuthResult FromADALAuthenticationResult(Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult authResult, Microsoft.IdentityModel.Clients.ActiveDirectory.TokenCache tokenCache)
         {
             var result = new AuthResult
@@ -20,7 +28,11 @@ public static AuthResult FromADALAuthenticationResult(Microsoft.IdentityModel.Cl
                 UserName = $"{authResult.UserInfo.GivenName} {authResult.UserInfo.FamilyName}",
                 UserUniqueId = authResult.UserInfo.UniqueId,
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
-                TokenCache = tokenCache.Serialize()
+                TokenCache = tokenCache.Serialize(),
+                tokenType = "not defined via AD auth",
+                expiresIn = "not defined via AD auth",
+                refreshToken = "not defined via AD auth",
+                authType = "ad"
             };
 
             return result;
@@ -34,12 +46,34 @@ public static AuthResult FromMSALAuthenticationResult(Microsoft.Identity.Client.
                 UserName = $"{authResult.User.Name}",
                 UserUniqueId = authResult.User.UniqueId,
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
-                TokenCache = tokenCache.Serialize()
+                TokenCache = tokenCache.Serialize(),
+                tokenType = "not defined via AD auth",
+                expiresIn = "not defined via AD auth",
+                refreshToken = "not defined via AD auth",
+
+                authType = "ad"
             };
 
             return result;
         }
 
+        public static AuthResult FromVSOAuthenticationResult(VSOAuthResult authResult)
+        {
+            var result = new AuthResult
+            {
+                AccessToken = authResult.accessToken,
+                UserName = "not defined via VSO",
+                UserUniqueId = "not defined via VSO",
+                ExpiresOnUtcTicks = -1,
+                TokenCache = new byte [0],
+                tokenType = authResult.tokenType,
+                expiresIn =authResult.expiresIn,
+                refreshToken=authResult.refreshToken,
+                authType = "vso"
+            };
+
+            return result;
+        }
     }
 }
 //*********************************************************

From 7a2dc14b2772856ace3bb83b949136ccd6e996ef Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 21 Jul 2016 19:33:22 +0100
Subject: [PATCH 06/55] Removed code that was commented. removed expiresIn auth
 result from VSO to use sames as AD result  ExpiresOnUtcTicks. Started
 implementing GetAccessToken.

---
 AuthBot/ContextExtensions.cs                | 19 ++++---
 AuthBot/Helpers/VisualStudioOnlineHelper.cs | 56 ---------------------
 AuthBot/Models/AuthResult.cs                | 10 ++--
 3 files changed, 17 insertions(+), 68 deletions(-)

diff --git a/AuthBot/ContextExtensions.cs b/AuthBot/ContextExtensions.cs
index 5944bf9..a510167 100644
--- a/AuthBot/ContextExtensions.cs
+++ b/AuthBot/ContextExtensions.cs
@@ -18,12 +18,19 @@ public static async Task<string> GetAccessToken(this IBotContext context, string
             {
                 try
                 {
-                    InMemoryTokenCacheADAL tokenCache = new InMemoryTokenCacheADAL(authResult.TokenCache);
-                    var result = await AzureActiveDirectoryHelper.GetToken(authResult.UserUniqueId, tokenCache, resourceId);
-                    authResult.AccessToken = result.AccessToken;
-                    authResult.ExpiresOnUtcTicks = result.ExpiresOnUtcTicks;
-                    authResult.TokenCache = tokenCache.Serialize();
-                    context.StoreAuthResult(authResult);
+                    if (string.Equals(authResult.authType, "vso", StringComparison.OrdinalIgnoreCase))
+                    {
+                        //is Token still valid ?
+
+                    }
+                    else { 
+                        InMemoryTokenCacheADAL tokenCache = new InMemoryTokenCacheADAL(authResult.TokenCache);
+                        var result = await AzureActiveDirectoryHelper.GetToken(authResult.UserUniqueId, tokenCache, resourceId);
+                        authResult.AccessToken = result.AccessToken;
+                        authResult.ExpiresOnUtcTicks = result.ExpiresOnUtcTicks;
+                        authResult.TokenCache = tokenCache.Serialize();
+                        context.StoreAuthResult(authResult);
+                    }
                 }
                 catch (Exception ex)
                 {
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index 4a4e53d..5d54a78 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -47,65 +47,9 @@ public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizatio
 
             }
             
-
-            //if (!String.IsNullOrEmpty(authorizationCode))
-            //{
-            //    error = PerformTokenRequest(GenerateRequestPostData(authorizationCode), out token);
-            //    if (!String.IsNullOrEmpty(error))
-            //    {
-            //        //Manage error
-            //    }
-
-            //}
-
             return authResult;
         }
 
-        //private static String PerformTokenRequest(String postData, out TokenModel token)
-        //{
-        //    var error = String.Empty;
-        //    var strResponseData = String.Empty;
-
-        //    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://app.vssps.visualstudio.com/oauth2/token");
-
-        //    webRequest.Method = "POST";
-        //    webRequest.ContentLength = postData.Length;
-        //    webRequest.ContentType = "application/x-www-form-urlencoded";
-
-        //    using (StreamWriter swRequestWriter = new StreamWriter(webRequest.GetRequestStream()))
-        //    {
-        //        swRequestWriter.Write(postData);
-        //    }
-
-        //    try
-        //    {
-        //        HttpWebResponse hwrWebResponse = (HttpWebResponse)webRequest.GetResponse();
-
-        //        if (hwrWebResponse.StatusCode == HttpStatusCode.OK)
-        //        {
-        //            using (StreamReader srResponseReader = new StreamReader(hwrWebResponse.GetResponseStream()))
-        //            {
-        //                strResponseData = srResponseReader.ReadToEnd();
-        //            }
-
-        //            token = JsonConvert.DeserializeObject<TokenModel>(strResponseData);
-        //            return null;
-        //        }
-        //    }
-        //    catch (WebException wex)
-        //    {
-        //        error = "Request Issue: " + wex.Message;
-        //    }
-        //    catch (Exception ex)
-        //    {
-        //        error = "Issue: " + ex.Message;
-        //    }
-
-        //    token = new TokenModel();
-        //    return error;
-        //}
-
-
         public static string GenerateRequestPostData(string code)
         {
             return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}",
diff --git a/AuthBot/Models/AuthResult.cs b/AuthBot/Models/AuthResult.cs
index 01a46e3..b8c3f0b 100644
--- a/AuthBot/Models/AuthResult.cs
+++ b/AuthBot/Models/AuthResult.cs
@@ -14,8 +14,6 @@ public class AuthResult
 
         public String tokenType { get; set; }
 
-        public String expiresIn { get; set; }
-
         public String refreshToken { get; set; }
 
         public String authType { get; set; } //if AD or VSO
@@ -30,7 +28,6 @@ public static AuthResult FromADALAuthenticationResult(Microsoft.IdentityModel.Cl
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
                 TokenCache = tokenCache.Serialize(),
                 tokenType = "not defined via AD auth",
-                expiresIn = "not defined via AD auth",
                 refreshToken = "not defined via AD auth",
                 authType = "ad"
             };
@@ -48,7 +45,6 @@ public static AuthResult FromMSALAuthenticationResult(Microsoft.Identity.Client.
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
                 TokenCache = tokenCache.Serialize(),
                 tokenType = "not defined via AD auth",
-                expiresIn = "not defined via AD auth",
                 refreshToken = "not defined via AD auth",
 
                 authType = "ad"
@@ -59,15 +55,17 @@ public static AuthResult FromMSALAuthenticationResult(Microsoft.Identity.Client.
 
         public static AuthResult FromVSOAuthenticationResult(VSOAuthResult authResult)
         {
+
+            long _expiresOnUtcTicks = DateTime.UtcNow.AddSeconds(Int32.Parse(authResult.expiresIn)).Ticks; 
+
             var result = new AuthResult
             {
                 AccessToken = authResult.accessToken,
                 UserName = "not defined via VSO",
                 UserUniqueId = "not defined via VSO",
-                ExpiresOnUtcTicks = -1,
+                ExpiresOnUtcTicks = _expiresOnUtcTicks, 
                 TokenCache = new byte [0],
                 tokenType = authResult.tokenType,
-                expiresIn =authResult.expiresIn,
                 refreshToken=authResult.refreshToken,
                 authType = "vso"
             };

From 81ced6af3daf4917db241e9d6eb7c0cf04c6699d Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 21 Jul 2016 19:49:01 +0100
Subject: [PATCH 07/55] Converted some internal method from Public to Private.
 Added method to check if VSO token expired. contiued implementation of
 GetAccessToken for VSO

---
 AuthBot/ContextExtensions.cs                |  7 +++++++
 AuthBot/Helpers/VisualStudioOnlineHelper.cs |  9 +++++++--
 AuthBot/Models/AuthResult.cs                | 18 +++++++++---------
 3 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/AuthBot/ContextExtensions.cs b/AuthBot/ContextExtensions.cs
index a510167..dd6f120 100644
--- a/AuthBot/ContextExtensions.cs
+++ b/AuthBot/ContextExtensions.cs
@@ -21,6 +21,13 @@ public static async Task<string> GetAccessToken(this IBotContext context, string
                     if (string.Equals(authResult.authType, "vso", StringComparison.OrdinalIgnoreCase))
                     {
                         //is Token still valid ?
+                        if (VisualStudioOnlineHelper.IsTokenExpired(authResult.ExpiresOnUtcTicks))
+                        {
+                            //renew token
+                            await context.PostAsync("Your VSO credentials expired and could not be renewed automatically!");
+                            await context.Logout();
+                            return null;
+                        }
 
                     }
                     else { 
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index 5d54a78..ae979e1 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -50,7 +50,7 @@ public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizatio
             return authResult;
         }
 
-        public static string GenerateRequestPostData(string code)
+        private static string GenerateRequestPostData(string code)
         {
             return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}",
                 HttpUtility.UrlEncode(AuthSettings.ClientSecret),
@@ -59,7 +59,7 @@ public static string GenerateRequestPostData(string code)
                 );
         }
 
-        public static string GenerateRefreshPostData(string refreshToken)
+        private static string GenerateRefreshPostData(string refreshToken)
         {
             return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=refresh_token&assertion={1}&redirect_uri={2}",
                 HttpUtility.UrlEncode(AuthSettings.ClientSecret),
@@ -69,6 +69,11 @@ public static string GenerateRefreshPostData(string refreshToken)
 
         }
 
+        public static bool IsTokenExpired(long _expiresOnUtcTicks) {
+
+            return DateTime.UtcNow.Ticks > _expiresOnUtcTicks;
+
+        }
 
     }
 }
diff --git a/AuthBot/Models/AuthResult.cs b/AuthBot/Models/AuthResult.cs
index b8c3f0b..51cb9d8 100644
--- a/AuthBot/Models/AuthResult.cs
+++ b/AuthBot/Models/AuthResult.cs
@@ -27,9 +27,9 @@ public static AuthResult FromADALAuthenticationResult(Microsoft.IdentityModel.Cl
                 UserUniqueId = authResult.UserInfo.UniqueId,
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
                 TokenCache = tokenCache.Serialize(),
-                tokenType = "not defined via AD auth",
-                refreshToken = "not defined via AD auth",
-                authType = "ad"
+                tokenType = String.Empty,
+                refreshToken = String.Empty,
+                authType = "AD"
             };
 
             return result;
@@ -44,10 +44,10 @@ public static AuthResult FromMSALAuthenticationResult(Microsoft.Identity.Client.
                 UserUniqueId = authResult.User.UniqueId,
                 ExpiresOnUtcTicks = authResult.ExpiresOn.UtcTicks,
                 TokenCache = tokenCache.Serialize(),
-                tokenType = "not defined via AD auth",
-                refreshToken = "not defined via AD auth",
+                tokenType = String.Empty,
+                refreshToken = String.Empty,
 
-                authType = "ad"
+                authType = "AD"
             };
 
             return result;
@@ -61,13 +61,13 @@ public static AuthResult FromVSOAuthenticationResult(VSOAuthResult authResult)
             var result = new AuthResult
             {
                 AccessToken = authResult.accessToken,
-                UserName = "not defined via VSO",
-                UserUniqueId = "not defined via VSO",
+                UserName = String.Empty,
+                UserUniqueId = String.Empty,
                 ExpiresOnUtcTicks = _expiresOnUtcTicks, 
                 TokenCache = new byte [0],
                 tokenType = authResult.tokenType,
                 refreshToken=authResult.refreshToken,
-                authType = "vso"
+                authType = "VSO"
             };
 
             return result;

From efcc51fe87b490c7c403813c97a9485d67adba00 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Fri, 22 Jul 2016 10:13:14 +0100
Subject: [PATCH 08/55] Reverted SampleAADv1Bot to original code. Created
 Sample project SsampleVSOBot. Implemented Logout flow in AuthBot

---
 AuthBot.sln                                   |   9 +-
 AuthBot/ContextExtensions.cs                  |  24 ++-
 SampleAADv1Bot/Dialogs/ActionDialog.cs        |   3 +-
 SampleAADv1Bot/SampleAADv1Bot.csproj          |  13 +-
 SampleAADv1Bot/Web.config                     |  39 +---
 SampleAADv1Bot/default.htm                    |   4 +-
 SampleVSOBot/App_Start/WebApiConfig.cs        |  27 +++
 .../Controllers/MessagesController.cs         |  83 ++++++++
 SampleVSOBot/Dialogs/ActionDialog.cs          | 118 +++++++++++
 SampleVSOBot/Dialogs/DialogExtensions.cs      |  91 +++++++++
 SampleVSOBot/Global.asax                      |   1 +
 SampleVSOBot/Global.asax.cs                   |  24 +++
 SampleVSOBot/Properties/AssemblyInfo.cs       |  35 ++++
 SampleVSOBot/SampleVSOBot.csproj              | 183 ++++++++++++++++++
 SampleVSOBot/Web.Debug.config                 |  30 +++
 SampleVSOBot/Web.Release.config               |  31 +++
 SampleVSOBot/Web.config                       | 100 ++++++++++
 SampleVSOBot/default.htm                      |  10 +
 SampleVSOBot/packages.config                  |  15 ++
 19 files changed, 792 insertions(+), 48 deletions(-)
 create mode 100644 SampleVSOBot/App_Start/WebApiConfig.cs
 create mode 100644 SampleVSOBot/Controllers/MessagesController.cs
 create mode 100644 SampleVSOBot/Dialogs/ActionDialog.cs
 create mode 100644 SampleVSOBot/Dialogs/DialogExtensions.cs
 create mode 100644 SampleVSOBot/Global.asax
 create mode 100644 SampleVSOBot/Global.asax.cs
 create mode 100644 SampleVSOBot/Properties/AssemblyInfo.cs
 create mode 100644 SampleVSOBot/SampleVSOBot.csproj
 create mode 100644 SampleVSOBot/Web.Debug.config
 create mode 100644 SampleVSOBot/Web.Release.config
 create mode 100644 SampleVSOBot/Web.config
 create mode 100644 SampleVSOBot/default.htm
 create mode 100644 SampleVSOBot/packages.config

diff --git a/AuthBot.sln b/AuthBot.sln
index aa180de..e9bf68a 100644
--- a/AuthBot.sln
+++ b/AuthBot.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneDriveBot", "OneDriveBot\
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleAADv1Bot", "SampleAADv1Bot\SampleAADv1Bot.csproj", "{D2253234-1279-486E-8A63-D8C3424E0525}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleVSOBot", "SampleVSOBot\SampleVSOBot.csproj", "{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -22,17 +24,18 @@ Global
 		{B8AD59D3-C36D-4E18-B504-06871001BC8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{B8AD59D3-C36D-4E18-B504-06871001BC8D}.Release|Any CPU.Build.0 = Release|Any CPU
 		{DFDC62CE-993B-461E-99DB-F079F46105C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{DFDC62CE-993B-461E-99DB-F079F46105C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{DFDC62CE-993B-461E-99DB-F079F46105C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{DFDC62CE-993B-461E-99DB-F079F46105C5}.Release|Any CPU.Build.0 = Release|Any CPU
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Release|Any CPU.Build.0 = Release|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/AuthBot/ContextExtensions.cs b/AuthBot/ContextExtensions.cs
index dd6f120..1b1a8f3 100644
--- a/AuthBot/ContextExtensions.cs
+++ b/AuthBot/ContextExtensions.cs
@@ -95,11 +95,25 @@ public static void StoreAuthResult(this IBotContext context, AuthResult authResu
 
         public static async Task Logout(this IBotContext context)
         {
-            context.UserData.RemoveValue(ContextConstants.AuthResultKey);
-            context.UserData.RemoveValue(ContextConstants.MagicNumberKey);
-            context.UserData.RemoveValue(ContextConstants.MagicNumberValidated);
-            string signoutURl = "https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=" + System.Net.WebUtility.UrlEncode(AuthSettings.RedirectUrl);
-            await context.PostAsync($"In order to finish the sign out, please click at this [link]({signoutURl}).");
+            AuthResult authResult;
+            string signoutURl;
+
+            if (context.UserData.TryGetValue(ContextConstants.AuthResultKey, out authResult))
+            { 
+                context.UserData.RemoveValue(ContextConstants.AuthResultKey);
+                context.UserData.RemoveValue(ContextConstants.MagicNumberKey);
+                context.UserData.RemoveValue(ContextConstants.MagicNumberValidated);
+                if (string.Equals(authResult.authType, "vso", StringComparison.OrdinalIgnoreCase))
+                {
+                    signoutURl = "//https://app.vssps.visualstudio.com/_signout";
+                }
+                else
+                {
+                    signoutURl = "https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=" + System.Net.WebUtility.UrlEncode(AuthSettings.RedirectUrl);
+                }
+                    
+                await context.PostAsync($"In order to finish the sign out, please click at this [link]({signoutURl}).");
+            }
         }
 
     }
diff --git a/SampleAADv1Bot/Dialogs/ActionDialog.cs b/SampleAADv1Bot/Dialogs/ActionDialog.cs
index 7d2bdec..72faa82 100644
--- a/SampleAADv1Bot/Dialogs/ActionDialog.cs
+++ b/SampleAADv1Bot/Dialogs/ActionDialog.cs
@@ -39,6 +39,8 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
 
             if (message.Text == "logon")
             {
+
+
                 //endpoint v1
                 if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
                 {
@@ -66,7 +68,6 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
             }
             else
             {
-                await context.PostAsync("say what ?");
                 context.Wait(MessageReceivedAsync);
             }
         }
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index 9494bb9..170e98a 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -45,6 +45,10 @@
     <NoWarn>CS1998</NoWarn>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="AuthBot, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\AuthBot.3.0.2-alpha\lib\net40\AuthBot.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
       <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
@@ -197,15 +201,6 @@
       <DependentUpon>Web.config</DependentUpon>
     </None>
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\AuthBot\AuthBot.csproj">
-      <Project>{b8ad59d3-c36d-4e18-b504-06871001bc8d}</Project>
-      <Name>AuthBot</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\PublishProfiles\" />
-  </ItemGroup>
   <PropertyGroup>
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index 5416361..4eb6c9a 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -6,37 +6,18 @@
 <configuration>
   <appSettings>
     <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
-    <add key="BotId" value="MSGraphBot" />
-    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
-    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
+    <add key="BotId" value="YourBotId" />
+    <add key="MicrosoftAppId" value="" />
+    <add key="MicrosoftAppPassword" value="" />
 
-    <!--MSGraphBotTiago123-->
-    <!-- Microsoft AD -->
-    <!--<add key="ActiveDirectory.Mode" value="v1" />
-    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
+    <!-- AAD Auth v1 settings -->
+    <add key="ActiveDirectory.Mode" value="v1" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.windows.net/" />
     <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="72f988bf-86f1-41af-91ab-2d7cd011db47" />
-    <add key="ActiveDirectory.ClientId" value="028149ea-02ed-474c-8472-6fc2df4d8b5b" />
-    <add key="ActiveDirectory.ClientSecret" value="paU3t/vu2NaiO+gA8dZFqyyUYWe0x0Ps7+B+Wj3X1YY=" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44339/api/OAuthCallback" />-->
-
-    <!-- WattSkyt AD -->
-    <!--<add key="ActiveDirectory.Mode" value="v1" />
-    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="db8e431d-8772-4a9c-884c-50fbc65c560d" />
-    <add key="ActiveDirectory.ClientId" value="d45b70bc-0558-4e6d-a06a-afd440bde94b" />
-    <add key="ActiveDirectory.ClientSecret" value="BnAe9NcoWQODHPJZuf4R4d3QyiII2yZqUw/ndY/i8Do=" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44308/api/OAuthCallback" />-->
-
-    <!-- VSO -->
-    <add key="ActiveDirectory.Mode" value="vso" />
-    <add key="ActiveDirectory.ResourceId" value="dpeted" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
-    <add key="ActiveDirectory.Tenant" value="vso.work" />
-    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
-    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
+    <add key="ActiveDirectory.Tenant" value="dxdemos.net" />
+    <add key="ActiveDirectory.ClientId" value="2d3b5788-05a5-486d-b2a4-2772a4511396" />
+    <add key="ActiveDirectory.ClientSecret" value="wU3oFBJ1gjWcB8Lo/fMaaCwg7ygg8Y9zBJlUq+0yBN0=" />
+    <add key="ActiveDirectory.RedirectUrl" value="http://localhost:3978/api/OAuthCallback" />
 
 
   </appSettings>
diff --git a/SampleAADv1Bot/default.htm b/SampleAADv1Bot/default.htm
index 20f0da4..a6f1707 100644
--- a/SampleAADv1Bot/default.htm
+++ b/SampleAADv1Bot/default.htm
@@ -5,7 +5,9 @@
     <meta charset="utf-8" />
 </head>
 <body style="font-family:'Segoe UI'">
-    <h1>Sample AAD v1 Bot (Tiagoand v1)</h1>
+    <h1>Sample AAD v1 Bot</h1>
+   
+
 </body>
 
 </html>
diff --git a/SampleVSOBot/App_Start/WebApiConfig.cs b/SampleVSOBot/App_Start/WebApiConfig.cs
new file mode 100644
index 0000000..01b4ed9
--- /dev/null
+++ b/SampleVSOBot/App_Start/WebApiConfig.cs
@@ -0,0 +1,27 @@
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web.Http;
+
+namespace SampleVSOBot
+{
+    public static class WebApiConfig
+    {
+        public static void Register(HttpConfiguration config)
+        {
+            // Web API configuration and services
+
+            // Web API routes
+            config.MapHttpAttributeRoutes();
+
+            config.Routes.MapHttpRoute(
+                name: "DefaultApi",
+                routeTemplate: "api/{controller}/{id}",
+                defaults: new { id = RouteParameter.Optional }
+            );
+        }
+
+    }
+}
diff --git a/SampleVSOBot/Controllers/MessagesController.cs b/SampleVSOBot/Controllers/MessagesController.cs
new file mode 100644
index 0000000..eda929b
--- /dev/null
+++ b/SampleVSOBot/Controllers/MessagesController.cs
@@ -0,0 +1,83 @@
+// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
+namespace SampleVSOBot
+{
+    using System.Linq;
+    using System.Text.RegularExpressions;
+    using System.Threading.Tasks;
+    using System.Web.Http;
+    using Dialogs;
+    using Microsoft.Bot.Builder.Dialogs;
+    using Microsoft.Bot.Builder.FormFlow;
+    using Microsoft.Bot.Connector;
+    using System.Web.Http.Description;
+    using System.Net.Http;
+
+    [BotAuthentication]
+    public class MessagesController : ApiController
+    {
+        /// <summary>
+        /// POST: api/Messages
+        /// Receive a message from a user and reply to it
+        /// </summary>
+        [BotAuthentication]
+
+        public virtual async Task<HttpResponseMessage> Post([FromBody]Activity activity)
+        {
+            if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
+            {
+                await Conversation.SendAsync(activity, () => new ActionDialog());
+            }
+            else
+            {
+                this.HandleSystemMessage(activity);
+            }
+            return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
+        }
+
+        private Activity HandleSystemMessage(Activity message)
+        {
+            if (message.Type == ActivityTypes.Ping)
+            {
+                Activity reply = message.CreateReply();
+                reply.Type = ActivityTypes.Ping;
+                return reply;
+            }
+
+            return null;
+        }
+    }
+}
+//*********************************************************
+//
+//AuthBot, https://github.com/matvelloso/AuthBot
+//
+//Copyright (c) Microsoft Corporation
+//All rights reserved.
+//
+// MIT License:
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// ""Software""), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+
+
+
+
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+
+
+
+
+// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//*********************************************************
diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
new file mode 100644
index 0000000..d96b033
--- /dev/null
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
+namespace SampleVSOBot.Dialogs
+{
+    using System;
+    using System.Threading;
+    using System.Threading.Tasks;
+    using AuthBot;
+    using AuthBot.Dialogs;
+    using AuthBot.Models;
+    using Microsoft.Bot.Builder.Dialogs;
+    using Microsoft.Bot.Connector;
+    using System.Configuration;
+    [Serializable]
+    public class ActionDialog : IDialog<string>
+    {
+        public async Task StartAsync(IDialogContext context)
+        {
+            context.Wait(MessageReceivedAsync);
+        }
+      
+        public async Task TokenSample(IDialogContext context)
+        {
+            //endpoint v1
+            var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
+
+            if (string.IsNullOrEmpty(accessToken))
+            {
+                return;
+            }
+
+            await context.PostAsync($"Your access token is: {accessToken}");
+
+            context.Wait(MessageReceivedAsync);
+        }
+
+        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> item)
+        {
+            var message = await item;
+
+            if (message.Text == "logon")
+            {
+                //endpoint v1
+                if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
+                {
+                    await context.Forward(new AzureAuthDialog(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]), this.ResumeAfterAuth, message, CancellationToken.None);
+                }
+                else
+                {
+                    context.Wait(MessageReceivedAsync);
+                }
+            }
+            else if (message.Text == "echo")
+            {
+                await context.PostAsync("echo");
+
+                context.Wait(this.MessageReceivedAsync);
+            }
+            else if (message.Text == "token")
+            {
+                await TokenSample(context);               
+            }
+            else if (message.Text == "logout")
+            {
+                await context.Logout();
+                context.Wait(this.MessageReceivedAsync);
+            }
+            else
+            {
+                await context.PostAsync("say what ?");
+                context.Wait(MessageReceivedAsync);
+            }
+        }
+        
+        private async Task ResumeAfterAuth(IDialogContext context, IAwaitable<string> result)
+        {
+            var message = await result;
+
+            await context.PostAsync(message);
+            context.Wait(MessageReceivedAsync);
+        }
+    }
+}
+
+
+//*********************************************************
+//
+//AuthBot, https://github.com/matvelloso/AuthBot
+//
+//Copyright (c) Microsoft Corporation
+//All rights reserved.
+//
+// MIT License:
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// ""Software""), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+
+
+
+
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+
+
+
+
+// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//*********************************************************
diff --git a/SampleVSOBot/Dialogs/DialogExtensions.cs b/SampleVSOBot/Dialogs/DialogExtensions.cs
new file mode 100644
index 0000000..6c8bb52
--- /dev/null
+++ b/SampleVSOBot/Dialogs/DialogExtensions.cs
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
+namespace SampleVSOBot.Dialogs
+{
+    using System;
+    using System.Collections.Generic;
+    using System.Linq;
+    using System.Threading.Tasks;
+    using Autofac;
+    using Microsoft.Bot.Builder.Dialogs;
+    using Microsoft.Bot.Builder.Dialogs.Internals;
+    using Microsoft.Bot.Builder.Luis.Models;
+    using Microsoft.Bot.Connector;
+
+    public static class DialogExtensions
+    {
+        public static void NotifyLongRunningOperation<T>(this Task<T> operation, IDialogContext context, Func<T, string> handler)
+        {
+            operation.ContinueWith(
+                async (t, ctx) =>
+                {
+                    var messageText = handler(t.Result);
+                    await NotifyUser((IDialogContext)ctx, messageText);
+                },
+                context);
+        }
+
+        public static void NotifyLongRunningOperation<T>(this Task<T> operation, IDialogContext context, Func<T, IDialogContext, string> handler)
+        {
+            operation.ContinueWith(
+                async (t, ctx) =>
+                {
+                    var messageText = handler(t.Result, (IDialogContext)ctx);
+                    await NotifyUser((IDialogContext)ctx, messageText);
+                },
+                context);
+        }
+
+        public static string GetEntityOriginalText(this EntityRecommendation recommendation, string query)
+        {
+            if (recommendation.StartIndex.HasValue && recommendation.EndIndex.HasValue)
+            {
+                return query.Substring(recommendation.StartIndex.Value, recommendation.EndIndex.Value - recommendation.StartIndex.Value + 1);
+            }
+
+            return null;
+        }
+
+        public static async Task NotifyUser(this IDialogContext context, string messageText)
+        {
+            if (!string.IsNullOrEmpty(messageText))
+            {
+                await context.PostAsync(messageText);
+            }
+        }
+    }
+}
+
+//*********************************************************
+//
+//AuthBot, https://github.com/matvelloso/AuthBot
+//
+//Copyright (c) Microsoft Corporation
+//All rights reserved.
+//
+// MIT License:
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// ""Software""), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+
+
+
+
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+
+
+
+
+// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//*********************************************************
diff --git a/SampleVSOBot/Global.asax b/SampleVSOBot/Global.asax
new file mode 100644
index 0000000..75be4e8
--- /dev/null
+++ b/SampleVSOBot/Global.asax
@@ -0,0 +1 @@
+<%@ Application Codebehind="Global.asax.cs" Inherits="SampleVSOBot.WebApiApplication" Language="C#" %>
diff --git a/SampleVSOBot/Global.asax.cs b/SampleVSOBot/Global.asax.cs
new file mode 100644
index 0000000..1d57ca0
--- /dev/null
+++ b/SampleVSOBot/Global.asax.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Web.Routing;
+
+namespace SampleVSOBot
+{
+    public class WebApiApplication : System.Web.HttpApplication
+    {
+        protected void Application_Start()
+        {
+            GlobalConfiguration.Configure(WebApiConfig.Register);
+            AuthBot.Models.AuthSettings.Mode = ConfigurationManager.AppSettings["ActiveDirectory.Mode"];
+            AuthBot.Models.AuthSettings.EndpointUrl = ConfigurationManager.AppSettings["ActiveDirectory.EndpointUrl"];
+            AuthBot.Models.AuthSettings.Tenant = ConfigurationManager.AppSettings["ActiveDirectory.Tenant"];
+            AuthBot.Models.AuthSettings.RedirectUrl = ConfigurationManager.AppSettings["ActiveDirectory.RedirectUrl"];
+            AuthBot.Models.AuthSettings.ClientId = ConfigurationManager.AppSettings["ActiveDirectory.ClientId"];
+            AuthBot.Models.AuthSettings.ClientSecret = ConfigurationManager.AppSettings["ActiveDirectory.ClientSecret"];
+        }
+    }
+}
diff --git a/SampleVSOBot/Properties/AssemblyInfo.cs b/SampleVSOBot/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..b895370
--- /dev/null
+++ b/SampleVSOBot/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SampleVSOBot")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SampleVSOBot")]
+[assembly: AssemblyCopyright("Copyright ©  2016")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a8ba1066-5695-4d71-abb4-65e5a5e0c3d4")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
new file mode 100644
index 0000000..c395373
--- /dev/null
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>
+    </ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}</ProjectGuid>
+    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>SampleVSOBot</RootNamespace>
+    <AssemblyName>Bot Application1</AssemblyName>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+    <UseIISExpress>true</UseIISExpress>
+    <IISExpressSSLPort>44370</IISExpressSSLPort>
+    <IISExpressAnonymousAuthentication />
+    <IISExpressWindowsAuthentication />
+    <IISExpressUseClassicPipelineMode />
+    <UseGlobalApplicationHostFile />
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
+      <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.0.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.0.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.2.33, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.2.206221351\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.Rest.ClientRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Rest.ClientRuntime.1.8.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.WindowsAzure.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.1\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Net" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Net.Http.WebRequest" />
+    <Reference Include="System.Web.DynamicData" />
+    <Reference Include="System.Web.Entity" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Web.Extensions" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.EnterpriseServices" />
+    <Reference Include="System.Xml.Linq" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="default.htm" />
+    <Content Include="Global.asax" />
+    <Content Include="Web.config">
+      <SubType>Designer</SubType>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="App_Start\WebApiConfig.cs" />
+    <Compile Include="Controllers\MessagesController.cs" />
+    <Compile Include="Dialogs\ActionDialog.cs" />
+    <Compile Include="Dialogs\DialogExtensions.cs" />
+    <Compile Include="Global.asax.cs">
+      <DependentUpon>Global.asax</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="packages.config" />
+    <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy.pubxml" />
+    <None Include="Web.Debug.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </None>
+    <None Include="Web.Release.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\AuthBot\AuthBot.csproj">
+      <Project>{b8ad59d3-c36d-4e18-b504-06871001bc8d}</Project>
+      <Name>AuthBot</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <PropertyGroup>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+  </PropertyGroup>
+  <PropertyGroup>
+    <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
+  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+        <WebProjectProperties>
+          <UseIIS>True</UseIIS>
+          <AutoAssignPort>True</AutoAssignPort>
+          <DevelopmentServerPort>3979</DevelopmentServerPort>
+          <DevelopmentServerVPath>/</DevelopmentServerVPath>
+          <IISUrl>https://localhost:44370/</IISUrl>
+          <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
+          <IISAppRootUrl>https://localhost:44370/</IISAppRootUrl>
+          <NTLMAuthentication>False</NTLMAuthentication>
+          <UseCustomServer>False</UseCustomServer>
+          <CustomServerUrl>
+          </CustomServerUrl>
+          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+        </WebProjectProperties>
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/SampleVSOBot/Web.Debug.config b/SampleVSOBot/Web.Debug.config
new file mode 100644
index 0000000..2e302f9
--- /dev/null
+++ b/SampleVSOBot/Web.Debug.config
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <!--
+    In the example below, the "SetAttributes" transform will change the value of 
+    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
+    finds an attribute "name" that has a value of "MyDB".
+    
+    <connectionStrings>
+      <add name="MyDB" 
+        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
+        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+    </connectionStrings>
+  -->
+  <system.web>
+    <!--
+      In the example below, the "Replace" transform will replace the entire 
+      <customErrors> section of your web.config file.
+      Note that because there is only one customErrors section under the 
+      <system.web> node, there is no need to use the "xdt:Locator" attribute.
+      
+      <customErrors defaultRedirect="GenericError.htm"
+        mode="RemoteOnly" xdt:Transform="Replace">
+        <error statusCode="500" redirect="InternalError.htm"/>
+      </customErrors>
+    -->
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/SampleVSOBot/Web.Release.config b/SampleVSOBot/Web.Release.config
new file mode 100644
index 0000000..c358444
--- /dev/null
+++ b/SampleVSOBot/Web.Release.config
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <!--
+    In the example below, the "SetAttributes" transform will change the value of 
+    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
+    finds an attribute "name" that has a value of "MyDB".
+    
+    <connectionStrings>
+      <add name="MyDB" 
+        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
+        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+    </connectionStrings>
+  -->
+  <system.web>
+    <compilation xdt:Transform="RemoveAttributes(debug)" />
+    <!--
+      In the example below, the "Replace" transform will replace the entire 
+      <customErrors> section of your web.config file.
+      Note that because there is only one customErrors section under the 
+      <system.web> node, there is no need to use the "xdt:Locator" attribute.
+      
+      <customErrors defaultRedirect="GenericError.htm"
+        mode="RemoteOnly" xdt:Transform="Replace">
+        <error statusCode="500" redirect="InternalError.htm"/>
+      </customErrors>
+    -->
+  </system.web>
+</configuration>
\ No newline at end of file
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
new file mode 100644
index 0000000..c2cb2f4
--- /dev/null
+++ b/SampleVSOBot/Web.config
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  For more information on how to configure your ASP.NET application, please visit
+  http://go.microsoft.com/fwlink/?LinkId=301879
+  -->
+<configuration>
+  <appSettings>
+    <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
+    <add key="BotId" value="MSGraphBot" />
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
+
+    <!--MSGraphBotTiago123-->
+    <!-- Microsoft AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
+    <add key="ActiveDirectory.Tenant" value="72f988bf-86f1-41af-91ab-2d7cd011db47" />
+    <add key="ActiveDirectory.ClientId" value="028149ea-02ed-474c-8472-6fc2df4d8b5b" />
+    <add key="ActiveDirectory.ClientSecret" value="paU3t/vu2NaiO+gA8dZFqyyUYWe0x0Ps7+B+Wj3X1YY=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44339/api/OAuthCallback" />-->
+
+    <!-- WattSkyt AD -->
+    <!--<add key="ActiveDirectory.Mode" value="v1" />
+    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
+    <add key="ActiveDirectory.Tenant" value="db8e431d-8772-4a9c-884c-50fbc65c560d" />
+    <add key="ActiveDirectory.ClientId" value="d45b70bc-0558-4e6d-a06a-afd440bde94b" />
+    <add key="ActiveDirectory.ClientSecret" value="BnAe9NcoWQODHPJZuf4R4d3QyiII2yZqUw/ndY/i8Do=" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44308/api/OAuthCallback" />-->
+
+    <!-- VSO -->
+    <add key="ActiveDirectory.Mode" value="vso" />
+    <add key="ActiveDirectory.ResourceId" value="dpeted" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
+    <add key="ActiveDirectory.Tenant" value="vso.work" />
+    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
+    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
+    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
+  </appSettings>
+  <!--
+    For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
+
+    The following attributes can be set on the <httpRuntime> tag.
+      <system.Web>
+        <httpRuntime targetFramework="4.6" />
+      </system.Web>
+  -->
+  <system.web>
+    <customErrors mode="Off" /> 
+    <compilation debug="true" targetFramework="4.6" />
+    <httpRuntime targetFramework="4.6" />
+  </system.web>
+  <system.webServer>
+    <defaultDocument>
+      <files>
+        <clear />
+        <add value="default.htm" />
+      </files>
+    </defaultDocument>
+    
+  <handlers>
+      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+      <remove name="OPTIONSVerbHandler" />
+      <remove name="TRACEVerbHandler" />
+      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+    </handlers></system.webServer>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
+        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
+        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
+        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>
\ No newline at end of file
diff --git a/SampleVSOBot/default.htm b/SampleVSOBot/default.htm
new file mode 100644
index 0000000..79f5063
--- /dev/null
+++ b/SampleVSOBot/default.htm
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title></title>
+    <meta charset="utf-8" />
+</head>
+<body style="font-family:'Segoe UI'">
+    <h1>Sample VSO Bot </h1>
+</body>
+</html>
\ No newline at end of file
diff --git a/SampleVSOBot/packages.config b/SampleVSOBot/packages.config
new file mode 100644
index 0000000..a77d566
--- /dev/null
+++ b/SampleVSOBot/packages.config
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Autofac" version="3.5.2" targetFramework="net46" />
+  <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
+  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
+  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
+  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
+  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.0.1" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
+  <package id="Microsoft.Rest.ClientRuntime" version="1.8.2" targetFramework="net46" />
+  <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net46" />
+  <package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net46" />
+</packages>
\ No newline at end of file

From 56061edc17eada2c1fbd675b799351548651ae03 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Fri, 22 Jul 2016 14:46:42 +0100
Subject: [PATCH 09/55] sorted some dependencies issues

---
 AuthBot.sln                             |  10 +--
 AuthBot/AuthBot.csproj                  |   2 +-
 AuthBot/packages.config                 |   2 +-
 OneDriveBot/OneDriveBot.csproj          |   2 +-
 OneDriveBot/packages.config             |   4 +-
 SampleAADv1Bot/SampleAADv1Bot.csproj    |   2 +-
 SampleAADv1Bot/Web.config               |   8 +-
 SampleAADv1Bot/packages.config          |   4 +-
 SampleAADv2Bot/SampleAADv2Bot.csproj    |   2 +-
 SampleAADv2Bot/Web.config               |   8 ++
 SampleAADv2Bot/packages.config          |   2 +-
 SampleVSOBot/App_Start/WebApiConfig.cs  |  38 ++++++++-
 SampleVSOBot/Dialogs/ActionDialog.cs    |   2 +
 SampleVSOBot/Global.asax.cs             |   4 +-
 SampleVSOBot/Properties/AssemblyInfo.cs |   6 +-
 SampleVSOBot/SampleVSOBot.csproj        | 106 +++++++++++++++++++-----
 SampleVSOBot/Web.config                 |  18 +++-
 SampleVSOBot/default.htm                |   7 +-
 SampleVSOBot/packages.config            |  40 ++++++++-
 19 files changed, 210 insertions(+), 57 deletions(-)

diff --git a/AuthBot.sln b/AuthBot.sln
index e9bf68a..7d0619f 100644
--- a/AuthBot.sln
+++ b/AuthBot.sln
@@ -11,7 +11,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneDriveBot", "OneDriveBot\
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleAADv1Bot", "SampleAADv1Bot\SampleAADv1Bot.csproj", "{D2253234-1279-486E-8A63-D8C3424E0525}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleVSOBot", "SampleVSOBot\SampleVSOBot.csproj", "{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleVSOBot", "SampleVSOBot\SampleVSOBot.csproj", "{4EE65876-C3A8-4F9D-973A-42729E205F94}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -32,10 +32,10 @@ Global
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index b44d1ed..af020f6 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -32,7 +32,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
+      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
diff --git a/AuthBot/packages.config b/AuthBot/packages.config
index 3f9bb89..92bb02d 100644
--- a/AuthBot/packages.config
+++ b/AuthBot/packages.config
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net452" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net452" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" />
diff --git a/OneDriveBot/OneDriveBot.csproj b/OneDriveBot/OneDriveBot.csproj
index 6539498..ec72488 100644
--- a/OneDriveBot/OneDriveBot.csproj
+++ b/OneDriveBot/OneDriveBot.csproj
@@ -47,7 +47,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
+      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
diff --git a/OneDriveBot/packages.config b/OneDriveBot/packages.config
index b755931..05de621 100644
--- a/OneDriveBot/packages.config
+++ b/OneDriveBot/packages.config
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.0.2-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
@@ -29,7 +29,7 @@
   <package id="System.IO" version="4.1.0" targetFramework="net46" />
   <package id="System.Linq" version="4.1.0" targetFramework="net46" />
   <package id="System.Linq.Expressions" version="4.1.0" targetFramework="net46" />
-  <package id="System.Net.Http" version="4.1.0" targetFramework="net46" />
+  <package id="System.Net.Http" version="4.0.0" targetFramework="net46" />
   <package id="System.Net.Primitives" version="4.0.11" targetFramework="net46" />
   <package id="System.Reflection" version="4.1.0" targetFramework="net46" />
   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net46" />
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index 170e98a..523e1cb 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -50,7 +50,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
+      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index 4eb6c9a..4703f57 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -6,10 +6,10 @@
 <configuration>
   <appSettings>
     <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
-    <add key="BotId" value="YourBotId" />
-    <add key="MicrosoftAppId" value="" />
-    <add key="MicrosoftAppPassword" value="" />
-
+    <add key="BotId" value="MSGraphBot" />
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
+    
     <!-- AAD Auth v1 settings -->
     <add key="ActiveDirectory.Mode" value="v1" />
     <add key="ActiveDirectory.ResourceId" value="https://graph.windows.net/" />
diff --git a/SampleAADv1Bot/packages.config b/SampleAADv1Bot/packages.config
index 76ef347..e7b748c 100644
--- a/SampleAADv1Bot/packages.config
+++ b/SampleAADv1Bot/packages.config
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.0.2-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
@@ -28,7 +28,7 @@
   <package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net46" />
   <package id="System.IO" version="4.1.0" targetFramework="net46" />
   <package id="System.Linq" version="4.1.0" targetFramework="net46" />
-  <package id="System.Net.Http" version="4.1.0" targetFramework="net46" />
+  <package id="System.Net.Http" version="4.0.0" targetFramework="net46" />
   <package id="System.Net.Primitives" version="4.0.11" targetFramework="net46" />
   <package id="System.Reflection" version="4.1.0" targetFramework="net46" />
   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net46" />
diff --git a/SampleAADv2Bot/SampleAADv2Bot.csproj b/SampleAADv2Bot/SampleAADv2Bot.csproj
index a483dd3..3113cef 100644
--- a/SampleAADv2Bot/SampleAADv2Bot.csproj
+++ b/SampleAADv2Bot/SampleAADv2Bot.csproj
@@ -48,7 +48,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-309\lib\net451\Autofac.dll</HintPath>
+      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
diff --git a/SampleAADv2Bot/Web.config b/SampleAADv2Bot/Web.config
index 581636e..9bce79e 100644
--- a/SampleAADv2Bot/Web.config
+++ b/SampleAADv2Bot/Web.config
@@ -83,6 +83,14 @@
         <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
       </dependentAssembly>
    
+      <dependentAssembly>
+        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
diff --git a/SampleAADv2Bot/packages.config b/SampleAADv2Bot/packages.config
index a3362f5..e7b748c 100644
--- a/SampleAADv2Bot/packages.config
+++ b/SampleAADv2Bot/packages.config
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.0.2-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
diff --git a/SampleVSOBot/App_Start/WebApiConfig.cs b/SampleVSOBot/App_Start/WebApiConfig.cs
index 01b4ed9..d41a664 100644
--- a/SampleVSOBot/App_Start/WebApiConfig.cs
+++ b/SampleVSOBot/App_Start/WebApiConfig.cs
@@ -1,5 +1,4 @@
-using Newtonsoft.Json;
-using Newtonsoft.Json.Serialization;
+// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -22,6 +21,39 @@ public static void Register(HttpConfiguration config)
                 defaults: new { id = RouteParameter.Optional }
             );
         }
-
     }
 }
+//*********************************************************
+//
+//AuthBot, https://github.com/matvelloso/AuthBot
+//
+//Copyright (c) Microsoft Corporation
+//All rights reserved.
+//
+// MIT License:
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// ""Software""), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+
+
+
+
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+
+
+
+
+// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//*********************************************************
diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index d96b033..ad43957 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -39,6 +39,8 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
 
             if (message.Text == "logon")
             {
+
+
                 //endpoint v1
                 if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
                 {
diff --git a/SampleVSOBot/Global.asax.cs b/SampleVSOBot/Global.asax.cs
index 1d57ca0..66fd0ab 100644
--- a/SampleVSOBot/Global.asax.cs
+++ b/SampleVSOBot/Global.asax.cs
@@ -1,4 +1,5 @@
-using System;
+using Microsoft.IdentityModel.Protocols;
+using System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Linq;
@@ -19,6 +20,7 @@ protected void Application_Start()
             AuthBot.Models.AuthSettings.RedirectUrl = ConfigurationManager.AppSettings["ActiveDirectory.RedirectUrl"];
             AuthBot.Models.AuthSettings.ClientId = ConfigurationManager.AppSettings["ActiveDirectory.ClientId"];
             AuthBot.Models.AuthSettings.ClientSecret = ConfigurationManager.AppSettings["ActiveDirectory.ClientSecret"];
+
         }
     }
 }
diff --git a/SampleVSOBot/Properties/AssemblyInfo.cs b/SampleVSOBot/Properties/AssemblyInfo.cs
index b895370..b2cb87d 100644
--- a/SampleVSOBot/Properties/AssemblyInfo.cs
+++ b/SampleVSOBot/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
-[assembly: AssemblyTitle("SampleVSOBot")]
+[assembly: AssemblyTitle("Microsoft.Bot.Sample.EchoBot")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("SampleVSOBot")]
-[assembly: AssemblyCopyright("Copyright ©  2016")]
+[assembly: AssemblyProduct("Microsoft.Bot.Sample.EchoBot")]
+[assembly: AssemblyCopyright("Copyright ©  2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
index c395373..457a82b 100644
--- a/SampleVSOBot/SampleVSOBot.csproj
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -7,15 +8,15 @@
     <ProductVersion>
     </ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{A8BA1066-5695-4D71-ABB4-65E5A5E0C3D4}</ProjectGuid>
+    <ProjectGuid>{4EE65876-C3A8-4F9D-973A-42729E205F94}</ProjectGuid>
     <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>SampleVSOBot</RootNamespace>
-    <AssemblyName>Bot Application1</AssemblyName>
+    <AssemblyName>SampleVSOBot</AssemblyName>
     <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <UseIISExpress>true</UseIISExpress>
-    <IISExpressSSLPort>44370</IISExpressSSLPort>
+    <IISExpressSSLPort />
     <IISExpressAnonymousAuthentication />
     <IISExpressWindowsAuthentication />
     <IISExpressUseClassicPipelineMode />
@@ -32,6 +33,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <NoWarn>CS1998</NoWarn>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -40,10 +42,11 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <NoWarn>CS1998</NoWarn>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
+    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
@@ -59,23 +62,60 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
+    <Reference Include="Microsoft.Diagnostics.Tracing.EventSource, Version=1.1.28.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28\lib\net46\Microsoft.Diagnostics.Tracing.EventSource.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.Identity.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.Identity.Client.Platform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Logging.1.0.0\lib\net451\Microsoft.IdentityModel.Logging.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.2.33, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.2.206221351\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="Microsoft.IdentityModel.Tokens, Version=5.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.0.0\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="Microsoft.Rest.ClientRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Rest.ClientRuntime.1.8.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="Microsoft.Win32.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Win32.Primitives.4.0.1\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="Microsoft.WindowsAzure.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.1\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
+    <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="System.ComponentModel.Composition" />
     <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
       <Private>True</Private>
@@ -87,6 +127,27 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="System.Net.Http.WebRequest" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Runtime.Serialization.Primitives.4.1.1\lib\net46\System.Runtime.Serialization.Primitives.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.2.0\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Security.Cryptography.Encoding.4.0.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Security.Cryptography.Primitives.4.0.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.1.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
     <Reference Include="System.Web.ApplicationServices" />
@@ -128,15 +189,22 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="packages.config" />
+    <Content Include="packages.config">
+      <SubType>Designer</SubType>
+    </Content>
     <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy.pubxml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
+      <SubType>Designer</SubType>
     </None>
     <None Include="Web.Release.config">
       <DependentUpon>Web.config</DependentUpon>
+      <SubType>Designer</SubType>
     </None>
   </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\AuthBot\AuthBot.csproj">
       <Project>{b8ad59d3-c36d-4e18-b504-06871001bc8d}</Project>
@@ -147,9 +215,6 @@
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
   </PropertyGroup>
-  <PropertyGroup>
-    <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
-  </PropertyGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
@@ -157,22 +222,17 @@
     <VisualStudio>
       <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
         <WebProjectProperties>
-          <UseIIS>True</UseIIS>
-          <AutoAssignPort>True</AutoAssignPort>
-          <DevelopmentServerPort>3979</DevelopmentServerPort>
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>
-          <IISUrl>https://localhost:44370/</IISUrl>
-          <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
-          <IISAppRootUrl>https://localhost:44370/</IISAppRootUrl>
-          <NTLMAuthentication>False</NTLMAuthentication>
-          <UseCustomServer>False</UseCustomServer>
-          <CustomServerUrl>
-          </CustomServerUrl>
-          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+          <SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
         </WebProjectProperties>
       </FlavorProperties>
     </VisualStudio>
   </ProjectExtensions>
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props'))" />
+  </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
index c2cb2f4..67d5252 100644
--- a/SampleVSOBot/Web.config
+++ b/SampleVSOBot/Web.config
@@ -9,7 +9,7 @@
     <add key="BotId" value="MSGraphBot" />
     <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
     <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
-
+    
     <!--MSGraphBotTiago123-->
     <!-- Microsoft AD -->
     <!--<add key="ActiveDirectory.Mode" value="v1" />
@@ -37,6 +37,8 @@
     <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
     <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
     <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
+
+
   </appSettings>
   <!--
     For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
@@ -47,7 +49,6 @@
       </system.Web>
   -->
   <system.web>
-    <customErrors mode="Off" /> 
     <compilation debug="true" targetFramework="4.6" />
     <httpRuntime targetFramework="4.6" />
   </system.web>
@@ -81,7 +82,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -91,10 +92,19 @@
         <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
       </dependentAssembly>
-      <dependentAssembly>
+       <dependentAssembly>
         <assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+      </dependentAssembly>
+     
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
\ No newline at end of file
diff --git a/SampleVSOBot/default.htm b/SampleVSOBot/default.htm
index 79f5063..e883479 100644
--- a/SampleVSOBot/default.htm
+++ b/SampleVSOBot/default.htm
@@ -5,6 +5,9 @@
     <meta charset="utf-8" />
 </head>
 <body style="font-family:'Segoe UI'">
-    <h1>Sample VSO Bot </h1>
+    <h1>Sample VSO Bot</h1>
+   
+
 </body>
-</html>
\ No newline at end of file
+
+</html>
diff --git a/SampleVSOBot/packages.config b/SampleVSOBot/packages.config
index a77d566..e7b748c 100644
--- a/SampleVSOBot/packages.config
+++ b/SampleVSOBot/packages.config
@@ -1,15 +1,51 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Autofac" version="3.5.2" targetFramework="net46" />
+  <package id="AuthBot" version="3.0.2-alpha" targetFramework="net46" />
+  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
+  <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.Bot.Builder" version="3.0.1" targetFramework="net46" />
+  <package id="Microsoft.Diagnostics.Tracing.EventSource.Redist" version="1.1.28" targetFramework="net46" />
+  <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
+  <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
   <package id="Microsoft.Rest.ClientRuntime" version="1.8.2" targetFramework="net46" />
+  <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="System.Collections" version="4.0.11" targetFramework="net46" />
+  <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
+  <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net46" />
+  <package id="System.Diagnostics.DiagnosticSource" version="4.0.0" targetFramework="net46" />
+  <package id="System.Globalization" version="4.0.11" targetFramework="net46" />
   <package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net46" />
+  <package id="System.IO" version="4.1.0" targetFramework="net46" />
+  <package id="System.Linq" version="4.1.0" targetFramework="net46" />
+  <package id="System.Net.Http" version="4.0.0" targetFramework="net46" />
+  <package id="System.Net.Primitives" version="4.0.11" targetFramework="net46" />
+  <package id="System.Reflection" version="4.1.0" targetFramework="net46" />
+  <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net46" />
+  <package id="System.Runtime" version="4.1.0" targetFramework="net46" />
+  <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net46" />
+  <package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="net46" />
+  <package id="System.Runtime.Serialization.Json" version="4.0.2" targetFramework="net46" />
+  <package id="System.Runtime.Serialization.Primitives" version="4.1.1" targetFramework="net46" />
+  <package id="System.Security.Cryptography.Algorithms" version="4.2.0" targetFramework="net46" />
+  <package id="System.Security.Cryptography.Encoding" version="4.0.0" targetFramework="net46" />
+  <package id="System.Security.Cryptography.Primitives" version="4.0.0" targetFramework="net46" />
+  <package id="System.Security.Cryptography.X509Certificates" version="4.1.0" targetFramework="net46" />
+  <package id="System.Text.Encoding" version="4.0.11" targetFramework="net46" />
+  <package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="net46" />
+  <package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="net46" />
+  <package id="System.Threading" version="4.0.11" targetFramework="net46" />
+  <package id="System.Threading.Tasks" version="4.0.11" targetFramework="net46" />
+  <package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="net46" />
+  <package id="System.Xml.XDocument" version="4.0.11" targetFramework="net46" />
 </packages>
\ No newline at end of file

From b140d03847193caa6a600ae6e8082367d2b9122e Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Mon, 1 Aug 2016 22:30:17 +0100
Subject: [PATCH 10/55] added code to get work items from vso

---
 AuthBot.sln                           | 11 ++--
 SampleVSOBot/Dialogs/ActionDialog.cs  | 32 ++++++++++-
 SampleVSOBot/Helpers/VSORestHelper.cs | 76 +++++++++++++++++++++++++++
 SampleVSOBot/SampleVSOBot.csproj      |  1 +
 SampleVSOBot/Web.config               | 19 -------
 SampleVSOBot/default.htm              |  2 +-
 6 files changed, 115 insertions(+), 26 deletions(-)
 create mode 100644 SampleVSOBot/Helpers/VSORestHelper.cs

diff --git a/AuthBot.sln b/AuthBot.sln
index 7d0619f..ff5538d 100644
--- a/AuthBot.sln
+++ b/AuthBot.sln
@@ -9,10 +9,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleAADv2Bot", "SampleAAD
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneDriveBot", "OneDriveBot\OneDriveBot.csproj", "{44BE2EEE-3F57-44D0-A298-C0967048DAE8}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleAADv1Bot", "SampleAADv1Bot\SampleAADv1Bot.csproj", "{D2253234-1279-486E-8A63-D8C3424E0525}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleVSOBot", "SampleVSOBot\SampleVSOBot.csproj", "{4EE65876-C3A8-4F9D-973A-42729E205F94}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleAADv1Bot", "SampleAADv1Bot\SampleAADv1Bot.csproj", "{D2253234-1279-486E-8A63-D8C3424E0525}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -29,13 +29,14 @@ Global
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{44BE2EEE-3F57-44D0-A298-C0967048DAE8}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.Build.0 = Release|Any CPU
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index ad43957..b6c439b 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -10,9 +10,12 @@ namespace SampleVSOBot.Dialogs
     using Microsoft.Bot.Builder.Dialogs;
     using Microsoft.Bot.Connector;
     using System.Configuration;
+    using Helpers;
+
     [Serializable]
     public class ActionDialog : IDialog<string>
     {
+
         public async Task StartAsync(IDialogContext context)
         {
             context.Wait(MessageReceivedAsync);
@@ -33,6 +36,29 @@ public async Task TokenSample(IDialogContext context)
             context.Wait(MessageReceivedAsync);
         }
 
+        public async Task GetWorkItems(IDialogContext context)
+        {
+            var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
+
+                try
+                {
+                    if (string.IsNullOrEmpty(accessToken))
+                    {
+                        await context.PostAsync($"Please logon first");
+                        context.Wait(MessageReceivedAsync);
+                    }
+                    else
+                    {
+
+                        String witems = await VSORestHelper.GetWorkItems(accessToken);
+                        await context.PostAsync(witems);
+                    }
+                }
+                catch (Exception exc)
+                { await context.PostAsync($"Error geting work items. Error: {exc.Message}"); }
+            
+            context.Wait(MessageReceivedAsync);
+        }
         public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> item)
         {
             var message = await item;
@@ -66,9 +92,13 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
                 await context.Logout();
                 context.Wait(this.MessageReceivedAsync);
             }
+            else if (message.Text == "work")
+            {
+                await GetWorkItems(context);
+            }
             else
             {
-                await context.PostAsync("say what ?");
+                await context.PostAsync("say what ? Please say something like login, logout, token, echo or work");
                 context.Wait(MessageReceivedAsync);
             }
         }
diff --git a/SampleVSOBot/Helpers/VSORestHelper.cs b/SampleVSOBot/Helpers/VSORestHelper.cs
new file mode 100644
index 0000000..d1bdb74
--- /dev/null
+++ b/SampleVSOBot/Helpers/VSORestHelper.cs
@@ -0,0 +1,76 @@
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using System.Web;
+
+namespace SampleVSOBot.Helpers
+{
+    public static class VSORestHelper
+    {
+        public static async Task<String> GetWorkItems(string token)
+        {
+            using (var client = new HttpClient())
+            {
+                var apiVersion = "1.0";
+                StringBuilder strResult = new StringBuilder();
+
+                var account = AuthBot.Models.AuthSettings.Tenant;
+                var query = "Select [System.Id] From WorkItems Where[System.WorkItemType] = 'Bug' order by [System.CreatedDate] desc";
+
+                var url = "https://" + account + ".visualstudio.com/defaultcollection/_apis/wit/";
+
+                // Execute a query that returns work item IDs matching the specified criteria
+                using (var request = new HttpRequestMessage(HttpMethod.Post, url + "wiql"))
+                {
+                    request.Headers.Add("Authorization", "Bearer " + token);
+                    request.Headers.Add("Accept", "application/json;api-version=" + apiVersion);
+
+                    Dictionary<string, string> body = new Dictionary<string, string>
+                    {
+                         {
+                        "query", query
+                        }
+                     };
+
+                    request.Content = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json");
+
+                    using (var response = await client.SendAsync(request))
+                    {
+                        var content = await response.Content.ReadAsStringAsync();
+                        var workItems = JObject.Parse(content)["workItems"] as JArray;
+
+                        string[] ids = workItems.Select<JToken, string>(w => (w["id"] + "")).Take(10).ToArray<string>();
+                        string idsString = String.Join(",", ids);
+
+                        // Get details for the last 10
+                        using (var detailsRequest = new HttpRequestMessage(HttpMethod.Get, url + "workitems?ids=" + idsString + "&fields=System.Id,System.Title"))
+                        {
+                            detailsRequest.Headers.Add("Authorization", "Bearer " + token);
+                            detailsRequest.Headers.Add("Accept", "application/json;api-version=" + apiVersion);
+
+                            using (var detailsResponse = await client.SendAsync(detailsRequest))
+                            {
+                                var detailsContent = await detailsResponse.Content.ReadAsStringAsync();
+                                var detailsWorkItems = JObject.Parse(detailsContent)["value"] as JArray;
+
+                                foreach (dynamic workItem in detailsWorkItems)
+                                {
+                                    strResult.AppendFormat("Work item: {0} ({1})",
+                                        workItem.fields["System.Id"],
+                                        workItem.fields["System.Title"]);
+                                }
+                            }
+                        }
+                        return strResult.ToString();
+                    }
+                }
+            }
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
index 457a82b..e388b17 100644
--- a/SampleVSOBot/SampleVSOBot.csproj
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -186,6 +186,7 @@
     <Compile Include="Global.asax.cs">
       <DependentUpon>Global.asax</DependentUpon>
     </Compile>
+    <Compile Include="Helpers\VSORestHelper.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
index 67d5252..b44a026 100644
--- a/SampleVSOBot/Web.config
+++ b/SampleVSOBot/Web.config
@@ -9,25 +9,6 @@
     <add key="BotId" value="MSGraphBot" />
     <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
     <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
-    
-    <!--MSGraphBotTiago123-->
-    <!-- Microsoft AD -->
-    <!--<add key="ActiveDirectory.Mode" value="v1" />
-    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com/" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="72f988bf-86f1-41af-91ab-2d7cd011db47" />
-    <add key="ActiveDirectory.ClientId" value="028149ea-02ed-474c-8472-6fc2df4d8b5b" />
-    <add key="ActiveDirectory.ClientSecret" value="paU3t/vu2NaiO+gA8dZFqyyUYWe0x0Ps7+B+Wj3X1YY=" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44339/api/OAuthCallback" />-->
-
-    <!-- WattSkyt AD -->
-    <!--<add key="ActiveDirectory.Mode" value="v1" />
-    <add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="db8e431d-8772-4a9c-884c-50fbc65c560d" />
-    <add key="ActiveDirectory.ClientId" value="d45b70bc-0558-4e6d-a06a-afd440bde94b" />
-    <add key="ActiveDirectory.ClientSecret" value="BnAe9NcoWQODHPJZuf4R4d3QyiII2yZqUw/ndY/i8Do=" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://localhost:44308/api/OAuthCallback" />-->
 
     <!-- VSO -->
     <add key="ActiveDirectory.Mode" value="vso" />
diff --git a/SampleVSOBot/default.htm b/SampleVSOBot/default.htm
index e883479..c4559c2 100644
--- a/SampleVSOBot/default.htm
+++ b/SampleVSOBot/default.htm
@@ -5,7 +5,7 @@
     <meta charset="utf-8" />
 </head>
 <body style="font-family:'Segoe UI'">
-    <h1>Sample VSO Bot</h1>
+    <h1>Sample VSO Bot (1.1)</h1>
    
 
 </body>

From ffe93ddfda7ecbfb08bdf3c371066205c3458224 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Wed, 3 Aug 2016 21:31:19 +0100
Subject: [PATCH 11/55] Implement refresh VSO token, Scopes read from
 webconfig. Token command to give more info about token and to refresh if
 expired. Implemented test command to force expire of token. other minor
 updates.

---
 AuthBot/ContextExtensions.cs                | 24 +++++++---
 AuthBot/Dialogs/AzureAuthDialog.cs          | 15 +++---
 AuthBot/Helpers/VisualStudioOnlineHelper.cs | 34 ++++++++++++--
 SampleVSOBot/Dialogs/ActionDialog.cs        | 52 +++++++++++++++++----
 SampleVSOBot/Global.asax.cs                 |  1 +
 SampleVSOBot/Helpers/VSORestHelper.cs       |  9 ++--
 SampleVSOBot/Web.config                     |  4 +-
 7 files changed, 109 insertions(+), 30 deletions(-)

diff --git a/AuthBot/ContextExtensions.cs b/AuthBot/ContextExtensions.cs
index 1b1a8f3..4a6311f 100644
--- a/AuthBot/ContextExtensions.cs
+++ b/AuthBot/ContextExtensions.cs
@@ -18,15 +18,25 @@ public static async Task<string> GetAccessToken(this IBotContext context, string
             {
                 try
                 {
+                    //await context.PostAsync($"authToken={authResult.AccessToken}");
+                    //await context.PostAsync($"ExpiresOnUtcTicks={authResult.ExpiresOnUtcTicks}");
                     if (string.Equals(authResult.authType, "vso", StringComparison.OrdinalIgnoreCase))
                     {
                         //is Token still valid ?
-                        if (VisualStudioOnlineHelper.IsTokenExpired(authResult.ExpiresOnUtcTicks))
+                        if (String.IsNullOrEmpty(authResult.AccessToken))
+                        { await context.PostAsync("GetAccessToken called but no token exists.Logon first."); }
+                        else if (VisualStudioOnlineHelper.IsTokenExpired(authResult.ExpiresOnUtcTicks))
                         {
                             //renew token
-                            await context.PostAsync("Your VSO credentials expired and could not be renewed automatically!");
-                            await context.Logout();
-                            return null;
+                            DateTime expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
+                            String expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
+                            await context.PostAsync($"Your VSO credentials expired on {expireDateStr}");
+                            authResult = await VisualStudioOnlineHelper.RefreshTokenAsync(authResult.refreshToken);
+                            expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
+                            expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
+                            await context.PostAsync($"Token refreshed. New expire time: {expireDateStr}");
+                            context.StoreAuthResult(authResult);
+                            return authResult.AccessToken;
                         }
 
                     }
@@ -42,8 +52,8 @@ public static async Task<string> GetAccessToken(this IBotContext context, string
                 catch (Exception ex)
                 {
                     Trace.TraceError("Failed to renew token: " + ex.Message);
-                    await context.PostAsync("Your credentials expired and could not be renewed automatically!");
-                    await context.Logout();
+                    await context.PostAsync("Exception in GetAccessToken: " + ex.Message);
+                    //await context.Logout();
                     return null;
                 }
                 return authResult.AccessToken;
@@ -105,7 +115,7 @@ public static async Task Logout(this IBotContext context)
                 context.UserData.RemoveValue(ContextConstants.MagicNumberValidated);
                 if (string.Equals(authResult.authType, "vso", StringComparison.OrdinalIgnoreCase))
                 {
-                    signoutURl = "//https://app.vssps.visualstudio.com/_signout";
+                    signoutURl = "https://app.vssps.visualstudio.com/_signout";
                 }
                 else
                 {
diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index e314583..e95018c 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -92,12 +92,15 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string[]
                     {
                         var resumptionCookie = new ResumptionCookie(msg);
 
-                        var authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes);
-                       
-                        //var reply = msg.CreateReply();
-                        //reply.Recipient = msg.From;
-                        //reply.From = msg.Recipient;
-                        //reply.Text = $"You must be authenticated before you can proceed. Please, click [here]({authenticationUrl}) to log into your account.";
+                        String authenticationUrl;
+                        if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                        {
+                            authenticationUrl = VisualStudioOnlineHelper.GetAuthUrlAsync(resumptionCookie);
+                        }
+                        else
+                        { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes); }
+
+                        
                         await context.PostAsync($"You must be authenticated before you can proceed. Please, click [here]({authenticationUrl}) to log into your account.");
 
                         context.Wait(this.MessageReceivedAsync);
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index ae979e1..fab7e5f 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -20,7 +20,8 @@ public static string GetAuthUrlAsync(ResumptionCookie resumptionCookie)
         {
             //To Do Change Tenant to Scope
             var encodedCookie = Microsoft.Bot.Builder.Dialogs.UrlToken.Encode(resumptionCookie);
-            return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, AuthSettings.Tenant, AuthSettings.RedirectUrl);
+            var scopes = String.Join(",", AuthSettings.Scopes); 
+            return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, scopes, AuthSettings.RedirectUrl);
         }
         public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
         {
@@ -50,6 +51,33 @@ public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizatio
             return authResult;
         }
 
+        public static async Task<AuthResult> RefreshTokenAsync(string refreshToken)
+        {
+            AuthResult authResult = null;
+            VSOAuthResult _VSOauthResult = null;
+
+            using (var client = new HttpClient())
+            {
+
+                client.BaseAddress = new Uri("https://app.vssps.visualstudio.com");
+                using (var request = new HttpRequestMessage(HttpMethod.Post, "/oauth2/token"))
+                {
+                    var postData = GenerateRefreshPostData(refreshToken);
+                    request.Content = new StringContent(postData, Encoding.UTF8, "application/x-www-form-urlencoded");
+                    HttpResponseMessage response = await client.SendAsync(request);
+                    if (response.StatusCode == HttpStatusCode.OK)
+                    {
+                        var strWebAuthResponse = await response.Content.ReadAsStringAsync();
+
+                        _VSOauthResult = VSOAuthResult.FromVSOAuthenticationResult(strWebAuthResponse);
+                        authResult = AuthResult.FromVSOAuthenticationResult(_VSOauthResult);
+                    }
+                }
+
+            }
+
+            return authResult;
+        }
         private static string GenerateRequestPostData(string code)
         {
             return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={1}&redirect_uri={2}",
@@ -58,7 +86,6 @@ private static string GenerateRequestPostData(string code)
                 AuthSettings.RedirectUrl
                 );
         }
-
         private static string GenerateRefreshPostData(string refreshToken)
         {
             return string.Format("client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=refresh_token&assertion={1}&redirect_uri={2}",
@@ -66,14 +93,15 @@ private static string GenerateRefreshPostData(string refreshToken)
                 HttpUtility.UrlEncode(refreshToken),
                 AuthSettings.RedirectUrl
                 );
-
         }
 
+
         public static bool IsTokenExpired(long _expiresOnUtcTicks) {
 
             return DateTime.UtcNow.Ticks > _expiresOnUtcTicks;
 
         }
 
+
     }
 }
diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index b6c439b..3457bd0 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -20,28 +20,62 @@ public async Task StartAsync(IDialogContext context)
         {
             context.Wait(MessageReceivedAsync);
         }
-      
+
+
         public async Task TokenSample(IDialogContext context)
         {
+            
             //endpoint v1
             var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
 
             if (string.IsNullOrEmpty(accessToken))
             {
-                return;
+                await context.PostAsync($"You don't have an access Token. Please logon first.");
             }
+            else
+            {
+                AuthResult authResult;
+                if (context.UserData.TryGetValue(ContextConstants.AuthResultKey, out authResult))
+                {
+                    var expiresin= TimeSpan.FromTicks(authResult.ExpiresOnUtcTicks - DateTime.UtcNow.Ticks).TotalMinutes;
+                    if (expiresin < 0)
+                    { await context.PostAsync($"Your access token already expired"); }
+                    else
+                    {
+                        DateTime expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
+                        String expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
+                        await context.PostAsync($"Your access token expires in {expiresin} minutes ({expireDateStr})");
+                        await context.PostAsync($"Your access token is: {accessToken}");
+                    }
 
-            await context.PostAsync($"Your access token is: {accessToken}");
+                }   
+            }
 
             context.Wait(MessageReceivedAsync);
         }
+        /// <summary>
+        /// For Testing Purposes / capability to force token expiration
+        /// </summary>
+        /// <param name="context"></param>
+        /// <returns></returns>
+        public async Task ForceTokenExpiration(IDialogContext context)
+        {
+            AuthResult authResult;
+            if (context.UserData.TryGetValue(ContextConstants.AuthResultKey, out authResult))
+            {
+                authResult.ExpiresOnUtcTicks = 0;
+                context.StoreAuthResult(authResult);
+                await context.PostAsync($"Forced token to expire");
+            }
+            context.Wait(MessageReceivedAsync);
+        }
 
         public async Task GetWorkItems(IDialogContext context)
         {
             var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
 
                 try
-                {
+                {   //todo: check if token has expired
                     if (string.IsNullOrEmpty(accessToken))
                     {
                         await context.PostAsync($"Please logon first");
@@ -49,7 +83,6 @@ public async Task GetWorkItems(IDialogContext context)
                     }
                     else
                     {
-
                         String witems = await VSORestHelper.GetWorkItems(accessToken);
                         await context.PostAsync(witems);
                     }
@@ -65,8 +98,6 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
 
             if (message.Text == "logon")
             {
-
-
                 //endpoint v1
                 if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
                 {
@@ -74,6 +105,7 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
                 }
                 else
                 {
+                    await context.PostAsync("already logged in.");
                     context.Wait(MessageReceivedAsync);
                 }
             }
@@ -87,6 +119,10 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
             {
                 await TokenSample(context);               
             }
+            else if (message.Text == "expire")
+            {
+                await ForceTokenExpiration(context);
+            }
             else if (message.Text == "logout")
             {
                 await context.Logout();
@@ -98,7 +134,7 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
             }
             else
             {
-                await context.PostAsync("say what ? Please say something like login, logout, token, echo or work");
+                await context.PostAsync("say what ? Please say something like logon, logout, token, echo or work");
                 context.Wait(MessageReceivedAsync);
             }
         }
diff --git a/SampleVSOBot/Global.asax.cs b/SampleVSOBot/Global.asax.cs
index 66fd0ab..c5b1dff 100644
--- a/SampleVSOBot/Global.asax.cs
+++ b/SampleVSOBot/Global.asax.cs
@@ -20,6 +20,7 @@ protected void Application_Start()
             AuthBot.Models.AuthSettings.RedirectUrl = ConfigurationManager.AppSettings["ActiveDirectory.RedirectUrl"];
             AuthBot.Models.AuthSettings.ClientId = ConfigurationManager.AppSettings["ActiveDirectory.ClientId"];
             AuthBot.Models.AuthSettings.ClientSecret = ConfigurationManager.AppSettings["ActiveDirectory.ClientSecret"];
+            AuthBot.Models.AuthSettings.Scopes = ConfigurationManager.AppSettings["ActiveDirectory.Scopes"].Split(',');
 
         }
     }
diff --git a/SampleVSOBot/Helpers/VSORestHelper.cs b/SampleVSOBot/Helpers/VSORestHelper.cs
index d1bdb74..4b8a1a3 100644
--- a/SampleVSOBot/Helpers/VSORestHelper.cs
+++ b/SampleVSOBot/Helpers/VSORestHelper.cs
@@ -18,11 +18,10 @@ public static async Task<String> GetWorkItems(string token)
             {
                 var apiVersion = "1.0";
                 StringBuilder strResult = new StringBuilder();
-
-                var account = AuthBot.Models.AuthSettings.Tenant;
+                
                 var query = "Select [System.Id] From WorkItems Where[System.WorkItemType] = 'Bug' order by [System.CreatedDate] desc";
 
-                var url = "https://" + account + ".visualstudio.com/defaultcollection/_apis/wit/";
+                var url = "https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/defaultcollection/_apis/wit/";
 
                 // Execute a query that returns work item IDs matching the specified criteria
                 using (var request = new HttpRequestMessage(HttpMethod.Post, url + "wiql"))
@@ -60,7 +59,7 @@ public static async Task<String> GetWorkItems(string token)
 
                                 foreach (dynamic workItem in detailsWorkItems)
                                 {
-                                    strResult.AppendFormat("Work item: {0} ({1})",
+                                    strResult.AppendFormat("* Work item: {0} ({1})\n",
                                         workItem.fields["System.Id"],
                                         workItem.fields["System.Title"]);
                                 }
@@ -71,6 +70,8 @@ public static async Task<String> GetWorkItems(string token)
                 }
             }
         }
+
+
     }
 
 }
\ No newline at end of file
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
index b44a026..591aaf6 100644
--- a/SampleVSOBot/Web.config
+++ b/SampleVSOBot/Web.config
@@ -12,9 +12,9 @@
 
     <!-- VSO -->
     <add key="ActiveDirectory.Mode" value="vso" />
-    <add key="ActiveDirectory.ResourceId" value="dpeted" />
     <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
-    <add key="ActiveDirectory.Tenant" value="vso.work" />
+    <add key="ActiveDirectory.Tenant" value="dpeted" />
+    <add key="ActiveDirectory.Scopes" value="vso.work" />
     <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
     <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
     <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />

From 2f335239f18ba0841ba373b5bed0899bc7400d8d Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 4 Aug 2016 11:06:19 +0100
Subject: [PATCH 12/55] Changed TokenSample to GetTokenINfo so it only shows
 information about the token, without requesting a new one if needed.

---
 SampleVSOBot/Dialogs/ActionDialog.cs | 43 ++++++++++++----------------
 1 file changed, 18 insertions(+), 25 deletions(-)

diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index 3457bd0..5c2fabf 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -22,35 +22,28 @@ public async Task StartAsync(IDialogContext context)
         }
 
 
-        public async Task TokenSample(IDialogContext context)
+        public async Task GetTokenInfo(IDialogContext context)
         {
             
-            //endpoint v1
-            var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
-
-            if (string.IsNullOrEmpty(accessToken))
-            {
-                await context.PostAsync($"You don't have an access Token. Please logon first.");
-            }
-            else
+            AuthResult authResult;
+            if (context.UserData.TryGetValue(ContextConstants.AuthResultKey, out authResult))
             {
-                AuthResult authResult;
-                if (context.UserData.TryGetValue(ContextConstants.AuthResultKey, out authResult))
-                {
-                    var expiresin= TimeSpan.FromTicks(authResult.ExpiresOnUtcTicks - DateTime.UtcNow.Ticks).TotalMinutes;
-                    if (expiresin < 0)
-                    { await context.PostAsync($"Your access token already expired"); }
-                    else
-                    {
-                        DateTime expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
-                        String expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
-                        await context.PostAsync($"Your access token expires in {expiresin} minutes ({expireDateStr})");
-                        await context.PostAsync($"Your access token is: {accessToken}");
-                    }
+                DateTime expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
+                String expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
 
-                }   
-            }
+                var expiresin= TimeSpan.FromTicks(authResult.ExpiresOnUtcTicks - DateTime.UtcNow.Ticks).TotalMinutes;
+                if (expiresin < 0)
+                {
+                    await context.PostAsync($"Your access token already expired on {expireDateStr}");
+                }
+                else
+                {
+                    await context.PostAsync($"Your access token expires in {expiresin} minutes ({expireDateStr})");
+                    await context.PostAsync($"Your access token is: {authResult.AccessToken}");
+                }
 
+            }   
+            
             context.Wait(MessageReceivedAsync);
         }
         /// <summary>
@@ -117,7 +110,7 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
             }
             else if (message.Text == "token")
             {
-                await TokenSample(context);               
+                await GetTokenInfo(context);               
             }
             else if (message.Text == "expire")
             {

From 621ba5d9bf1c22e3a5ab35b510ec5beab86e571e Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Fri, 7 Oct 2016 11:34:58 -0700
Subject: [PATCH 13/55] Updated way to query TFS, in order to use .Net client
 library instead of direct HTTP Rest call

---
 SampleVSOBot/Dialogs/ActionDialog.cs  |  74 +++++++------
 SampleVSOBot/Helpers/VSORestHelper.cs | 147 ++++++++++++++++++++++++--
 SampleVSOBot/SampleVSOBot.csproj      |  54 ++++++++++
 SampleVSOBot/default.htm              |   2 +-
 SampleVSOBot/packages.config          |   2 +
 5 files changed, 236 insertions(+), 43 deletions(-)

diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index 5c2fabf..aa7d85e 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -31,7 +31,7 @@ public async Task GetTokenInfo(IDialogContext context)
                 DateTime expiredDate = new DateTime(authResult.ExpiresOnUtcTicks);
                 String expireDateStr = expiredDate.ToString("d/M/yyyy HH:mm:ss");
 
-                var expiresin= TimeSpan.FromTicks(authResult.ExpiresOnUtcTicks - DateTime.UtcNow.Ticks).TotalMinutes;
+                var expiresin = TimeSpan.FromTicks(authResult.ExpiresOnUtcTicks - DateTime.UtcNow.Ticks).TotalMinutes;
                 if (expiresin < 0)
                 {
                     await context.PostAsync($"Your access token already expired on {expireDateStr}");
@@ -39,10 +39,12 @@ public async Task GetTokenInfo(IDialogContext context)
                 else
                 {
                     await context.PostAsync($"Your access token expires in {expiresin} minutes ({expireDateStr})");
-                    await context.PostAsync($"Your access token is: {authResult.AccessToken}");
+                    await context.PostAsync($"Your access token starts with: \"{authResult.AccessToken.Substring(0,20)}\" and it has {authResult.AccessToken.Length} characters.");
                 }
 
-            }   
+            }
+            else
+            { await context.PostAsync($"Please logon first"); }
             
             context.Wait(MessageReceivedAsync);
         }
@@ -63,33 +65,11 @@ public async Task ForceTokenExpiration(IDialogContext context)
             context.Wait(MessageReceivedAsync);
         }
 
-        public async Task GetWorkItems(IDialogContext context)
-        {
-            var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
-
-                try
-                {   //todo: check if token has expired
-                    if (string.IsNullOrEmpty(accessToken))
-                    {
-                        await context.PostAsync($"Please logon first");
-                        context.Wait(MessageReceivedAsync);
-                    }
-                    else
-                    {
-                        String witems = await VSORestHelper.GetWorkItems(accessToken);
-                        await context.PostAsync(witems);
-                    }
-                }
-                catch (Exception exc)
-                { await context.PostAsync($"Error geting work items. Error: {exc.Message}"); }
-            
-            context.Wait(MessageReceivedAsync);
-        }
         public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> item)
         {
             var message = await item;
 
-            if (message.Text == "logon")
+            if (message.Text.ToLower() == "logon")
             {
                 //endpoint v1
                 if (string.IsNullOrEmpty(await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"])))
@@ -102,36 +82,62 @@ public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitabl
                     context.Wait(MessageReceivedAsync);
                 }
             }
-            else if (message.Text == "echo")
+            else if (message.Text.ToLower() == "echo")
             {
                 await context.PostAsync("echo");
 
                 context.Wait(this.MessageReceivedAsync);
             }
-            else if (message.Text == "token")
+            else if (message.Text.ToLower() == "token")
             {
                 await GetTokenInfo(context);               
             }
-            else if (message.Text == "expire")
+            else if (message.Text.ToLower() == "expire")
             {
                 await ForceTokenExpiration(context);
             }
-            else if (message.Text == "logout")
+            else if (message.Text.ToLower() == "logout")
             {
                 await context.Logout();
                 context.Wait(this.MessageReceivedAsync);
             }
-            else if (message.Text == "work")
+            else if (message.Text.ToLower() == "projects")
             {
-                await GetWorkItems(context);
+                await GetVSOProjectList(context);
             }
             else
             {
-                await context.PostAsync("say what ? Please say something like logon, logout, token, echo or work");
+                await context.PostAsync("say what ? Please say something like logon, logout, token, echo or projects");
                 context.Wait(MessageReceivedAsync);
             }
         }
-        
+
+
+        public async Task GetVSOProjectList(IDialogContext context)
+        {
+            var accessToken = await context.GetAccessToken(ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"]);
+
+            try
+            {   //todo: check if token has expired
+                if (string.IsNullOrEmpty(accessToken))
+                {
+                    await context.PostAsync("Please logon first");
+                    context.Wait(MessageReceivedAsync);
+                }
+                else
+                {
+                    //String witems = await VSORestHelper.GetWorkItems(accessToken);
+                    //String witems = await VSORestHelper.QueryWorkItems_Query(accessToken);
+                    //String witems = await VSORestHelper.QueryWorkItems_Wiql(accessToken);
+                    String witems = await VSORestHelper.ListProjects(accessToken);
+                    await context.PostAsync(witems);
+                }
+            }
+            catch (Exception exc)
+            { await context.PostAsync($"Error geting work items. Error:\n {exc.Message}"); }
+
+            context.Wait(MessageReceivedAsync);
+        }
         private async Task ResumeAfterAuth(IDialogContext context, IAwaitable<string> result)
         {
             var message = await result;
diff --git a/SampleVSOBot/Helpers/VSORestHelper.cs b/SampleVSOBot/Helpers/VSORestHelper.cs
index 4b8a1a3..7489f98 100644
--- a/SampleVSOBot/Helpers/VSORestHelper.cs
+++ b/SampleVSOBot/Helpers/VSORestHelper.cs
@@ -1,17 +1,40 @@
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System;
+using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Net.Http;
 using System.Text;
 using System.Threading.Tasks;
-using System.Web;
+using Microsoft.TeamFoundation.Core.WebApi;
+using Microsoft.VisualStudio.Services.Common;
+
 
 namespace SampleVSOBot.Helpers
 {
     public static class VSORestHelper
     {
+        public static async Task<String> ListProjects(string token)
+        {
+            StringBuilder retStr = new StringBuilder();
+
+            retStr.AppendLine("Fetching project list\n");
+            Uri uri = new Uri("https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/");
+            VssBasicCredential credentials = new VssBasicCredential("", token);
+
+            using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(uri, credentials))
+            {
+
+                IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;
+                retStr.AppendLine(String.Format("Found {0} Projects:\n", projects.Count()));
+                foreach (TeamProjectReference project in projects)
+                {
+                    retStr.AppendLine(String.Format("{0}\n", project.Name));
+                }
+
+            }
+            return retStr.ToString();
+        }
+
+        //Other sample ways to query TFS
+        /*
         public static async Task<String> GetWorkItems(string token)
         {
             using (var client = new HttpClient())
@@ -19,12 +42,19 @@ public static async Task<String> GetWorkItems(string token)
                 var apiVersion = "1.0";
                 StringBuilder strResult = new StringBuilder();
                 
-                var query = "Select [System.Id] From WorkItems Where[System.WorkItemType] = 'Bug' order by [System.CreatedDate] desc";
+                var query = "Select [System.Id] From WorkItems Where [System.WorkItemType] = 'Bug' order by [System.CreatedDate] desc";
+
+                client.DefaultRequestHeaders.Accept.Clear();
 
-                var url = "https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/defaultcollection/_apis/wit/";
+                //var url = "https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/defaultcollection/_apis/wit/";
+                //https://www.visualstudio.com/en-us/docs/integrate/get-started/rest/basics
+                //VERB https://{account}.VisualStudio.com/DefaultCollection/_apis[/{area}]/{resource}?api-version={version}
+
+                var url = "https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/DefaultCollection/_apis/wit/";
+                //var url = "https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/DefaultCollection/TED%20Consumer/_apis/wit/wiql";
 
                 // Execute a query that returns work item IDs matching the specified criteria
-                using (var request = new HttpRequestMessage(HttpMethod.Post, url + "wiql"))
+                using (var request = new HttpRequestMessage(HttpMethod.Post, url))
                 {
                     request.Headers.Add("Authorization", "Bearer " + token);
                     request.Headers.Add("Accept", "application/json;api-version=" + apiVersion);
@@ -71,7 +101,108 @@ public static async Task<String> GetWorkItems(string token)
             }
         }
 
+        public static async Task<String> QueryWorkItems_Query(string token)
+        {
+            string retStr="Nothing to return";
+            string _personalAccessToken = token;
+            Uri _uri = new Uri("https://dpeted.visualstudio.com");
+            VssBasicCredential _credentials = new VssBasicCredential("", _personalAccessToken);
+
+            string project = "TED Consumer";
+            string query = "Shared Queries/FY17/All Activities";
+
+            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(_uri, _credentials))
+            {
+                QueryHierarchyItem queryItem;
+
+                try
+                {
+                    //get the query object based on the query name and project
+                    queryItem = workItemTrackingHttpClient.GetQueryAsync(project, query).Result;
+                }
+                catch (Exception ex)
+                {
+                    return ex.InnerException.Message;
+                }
+
+                //now we have the query id, so lets execute the query and get the results
+                WorkItemQueryResult workItemQueryResult = workItemTrackingHttpClient.QueryByIdAsync(queryItem.Id).Result;
+
+                //some error handling                
+                if (workItemQueryResult != null)
+                {
+                    //need to get the list of our work item id's and put them into an array
+                    List<int> list = new List<int>();
+                    foreach (var item in workItemQueryResult.WorkItems)
+                    {
+                        list.Add(item.Id);
+                    }
+                    int[] arr = list.ToArray();
+
+                    //build a list of the fields we want to see
+                    string[] fields = new string[3];
+                    fields[0] = "System.Id";
+                    fields[1] = "System.Title";
+                    fields[2] = "System.State";
+
+                    //var workItems = workItemTrackingHttpClient.GetWorkItemsAsync(arr, fields, workItemQueryResult.AsOf).Result;
+                    retStr= String.Format("Found {0} items", arr.Length);
+                }
+            }
+            return retStr;
+        }
+
+        public static async Task<String> QueryWorkItems_Wiql(string token)
+        {
+            string _personalAccessToken = token;
+            Uri _uri = new Uri("https://dpeted.visualstudio.com");
+            VssBasicCredential _credentials = new VssBasicCredential("", _personalAccessToken);
+
+            //needed to scope our query to the project
+            string project = "TED Consumer";
+
+            //var query = "Select [System.Id] From WorkItems Where [System.WorkItemType] = 'Bug' order by [System.CreatedDate] desc";
+            //create a wiql object and build our query
+            Wiql wiql = new Wiql()
+            {
+                Query = "Select [State], [Title] " +
+                        "From WorkItems " +
+                        "Where [Work Item Type] = 'Bug' " +
+                        "And [System.TeamProject] = '" + project + "' " +
+                        "And [System.State] = 'New' " +
+                        "Order By [State] Asc, [Changed Date] Desc"
+            };
+
+            //create instance of work item tracking http client
+            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(_uri, _credentials))
+            {
+                //execute the query to get the list of work items in teh results
+                WorkItemQueryResult workItemQueryResult = workItemTrackingHttpClient.QueryByWiqlAsync(wiql).Result;
+
+                //some error handling                
+                if (workItemQueryResult != null)
+                {
+                    //need to get the list of our work item id's and put them into an array
+                    List<int> list = new List<int>();
+                    foreach (var item in workItemQueryResult.WorkItems)
+                    {
+                        list.Add(item.Id);
+                    }
+                    int[] arr = list.ToArray();
+
+                    //build a list of the fields we want to see
+                    string[] fields = new string[3];
+                    fields[0] = "System.Id";
+                    fields[1] = "System.Title";
+                    fields[2] = "System.State";
+
+                    var workItems = workItemTrackingHttpClient.GetWorkItemsAsync(arr, fields, workItemQueryResult.AsOf).Result;
+                }
+            }
+            return "done";
+        }
 
+        */
     }
 
 }
\ No newline at end of file
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
index e388b17..8aa60cf 100644
--- a/SampleVSOBot/SampleVSOBot.csproj
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -98,6 +98,58 @@
       <HintPath>..\packages\Microsoft.Rest.ClientRuntime.1.8.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Build2.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Build2.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Chat.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Chat.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Common.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Core.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Core.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.DistributedTask.Common.Contracts, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Policy.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Policy.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.SourceControl.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.SourceControl.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Test.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Test.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.TestManagement.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.TestManagement.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.Work.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Work.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.TeamFoundation.WorkItemTracking.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.Services.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.VisualStudio.Services.Common.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.Services.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.VisualStudio.Services.WebApi.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="Microsoft.Win32.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Win32.Primitives.4.0.1\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
       <Private>True</Private>
@@ -148,6 +200,7 @@
       <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.1.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="System.ServiceModel" />
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
     <Reference Include="System.Web.ApplicationServices" />
@@ -193,6 +246,7 @@
     <Content Include="packages.config">
       <SubType>Designer</SubType>
     </Content>
+    <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy %282%29.pubxml" />
     <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy.pubxml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
diff --git a/SampleVSOBot/default.htm b/SampleVSOBot/default.htm
index c4559c2..74157bc 100644
--- a/SampleVSOBot/default.htm
+++ b/SampleVSOBot/default.htm
@@ -5,7 +5,7 @@
     <meta charset="utf-8" />
 </head>
 <body style="font-family:'Segoe UI'">
-    <h1>Sample VSO Bot (1.1)</h1>
+    <h1>Sample VSO Bot (1.1a)</h1>
    
 
 </body>
diff --git a/SampleVSOBot/packages.config b/SampleVSOBot/packages.config
index e7b748c..a2a0fa2 100644
--- a/SampleVSOBot/packages.config
+++ b/SampleVSOBot/packages.config
@@ -17,6 +17,8 @@
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
   <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
   <package id="Microsoft.Rest.ClientRuntime" version="1.8.2" targetFramework="net46" />
+  <package id="Microsoft.TeamFoundationServer.Client" version="15.106.0-preview" targetFramework="net46" />
+  <package id="Microsoft.VisualStudio.Services.Client" version="15.106.0-preview" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
   <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />

From a928d6ac58baf3b00d06a08adc15a7e1929e18b2 Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Fri, 7 Oct 2016 14:17:28 -0700
Subject: [PATCH 14/55] Merging with MatV main rep

---
 AuthBot/AuthBot.csproj           | 12 ++++++------
 AuthBot/packages.config          |  2 +-
 SampleVSOBot/SampleVSOBot.csproj | 12 ++++++------
 SampleVSOBot/packages.config     |  5 ++---
 4 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index c850f63..4533927 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -39,12 +39,12 @@
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.1.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.1.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.Identity.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -75,8 +75,8 @@
       <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.0.0\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Rest.ClientRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Rest.ClientRuntime.1.8.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
+    <Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Rest.ClientRuntime.2.3.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.Win32.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
diff --git a/AuthBot/packages.config b/AuthBot/packages.config
index 51f4e03..9ffcb91 100644
--- a/AuthBot/packages.config
+++ b/AuthBot/packages.config
@@ -13,7 +13,7 @@
   <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
-  <package id="Microsoft.Rest.ClientRuntime" version="1.8.2" targetFramework="net46" />
+  <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
   <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
index 8aa60cf..248d604 100644
--- a/SampleVSOBot/SampleVSOBot.csproj
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -53,12 +53,12 @@
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.0.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.0.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
@@ -94,8 +94,8 @@
       <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.0.0\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Rest.ClientRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Rest.ClientRuntime.1.8.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
+    <Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Rest.ClientRuntime.2.3.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.TeamFoundation.Build2.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
diff --git a/SampleVSOBot/packages.config b/SampleVSOBot/packages.config
index a2a0fa2..30d21eb 100644
--- a/SampleVSOBot/packages.config
+++ b/SampleVSOBot/packages.config
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="AuthBot" version="3.0.2-alpha" targetFramework="net46" />
   <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
@@ -8,7 +7,7 @@
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
-  <package id="Microsoft.Bot.Builder" version="3.0.1" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
   <package id="Microsoft.Diagnostics.Tracing.EventSource.Redist" version="1.1.28" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
@@ -16,7 +15,7 @@
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
   <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
-  <package id="Microsoft.Rest.ClientRuntime" version="1.8.2" targetFramework="net46" />
+  <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.TeamFoundationServer.Client" version="15.106.0-preview" targetFramework="net46" />
   <package id="Microsoft.VisualStudio.Services.Client" version="15.106.0-preview" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />

From 5c9ee40ff45e22359555dd6f9d8875d735d80b99 Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Fri, 7 Oct 2016 15:11:57 -0700
Subject: [PATCH 15/55] merging with Matt

---
 AuthBot/Dialogs/AzureAuthDialog.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index b0312b6..27aaf94 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -109,7 +109,7 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string[]
                         else
                         { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes); }
 
-                        if (msg.ChannelId == "skype" )
+                        if (msg.ChannelId == "skype" && !string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
                         {
                              IMessageActivity response = context.MakeMessage();
                              response.Recipient = msg.From;

From 8303bbab37d631680a4621a3538a4a0ba10d88ef Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Fri, 7 Oct 2016 15:21:58 -0700
Subject: [PATCH 16/55] Revert "merging with Matt"

This reverts commit 5c9ee40ff45e22359555dd6f9d8875d735d80b99.
---
 AuthBot/Dialogs/AzureAuthDialog.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index 27aaf94..b0312b6 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -109,7 +109,7 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string[]
                         else
                         { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes); }
 
-                        if (msg.ChannelId == "skype" && !string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                        if (msg.ChannelId == "skype" )
                         {
                              IMessageActivity response = context.MakeMessage();
                              response.Recipient = msg.From;

From ee9b7b837726eae707a3c1f22430ca19f57d7ed9 Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Tue, 11 Oct 2016 15:20:55 -0700
Subject: [PATCH 17/55] sorting dependencies issues after mergint with Mat

---
 AuthBot.sln                                   |   1 -
 AuthBot/AuthBot.csproj                        |  27 ++---
 .../Controllers/OAuthCallbackController.cs    |   7 +-
 AuthBot/Dialogs/AzureAuthDialog.cs            |   2 +-
 AuthBot/app.config                            |   2 +-
 AuthBot/packages.config                       |   6 +-
 OneDriveBot/OneDriveBot.csproj                |  22 ++--
 OneDriveBot/Web.config                        |  18 ++-
 OneDriveBot/packages.config                   |   8 +-
 SampleAADv1Bot/SampleAADv1Bot.csproj          |  26 ++---
 SampleAADv1Bot/Web.config                     |  18 ++-
 SampleAADv1Bot/packages.config                |  10 +-
 SampleAADv2Bot/SampleAADv2Bot.csproj          |  34 ++++--
 SampleAADv2Bot/Web.config                     |  26 ++++-
 SampleAADv2Bot/packages.config                |  12 +-
 SampleVSOBot/App_Start/WebApiConfig.cs        |  24 ++--
 SampleVSOBot/Global.asax.cs                   |   8 +-
 SampleVSOBot/SampleVSOBot.csproj              | 110 ++++++++----------
 SampleVSOBot/Web.Release.config               |   4 +
 SampleVSOBot/Web.config                       | 109 ++++++++++-------
 SampleVSOBot/packages.config                  |  11 +-
 21 files changed, 280 insertions(+), 205 deletions(-)

diff --git a/AuthBot.sln b/AuthBot.sln
index ff5538d..ff15743 100644
--- a/AuthBot.sln
+++ b/AuthBot.sln
@@ -34,7 +34,6 @@ Global
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{4EE65876-C3A8-4F9D-973A-42729E205F94}.Release|Any CPU.Build.0 = Release|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D2253234-1279-486E-8A63-D8C3424E0525}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D2253234-1279-486E-8A63-D8C3424E0525}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index 4533927..c730d18 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -31,20 +31,20 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
+    <Reference Include="Autofac, Version=4.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.4.1.1\lib\net45\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.Identity.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -55,12 +55,12 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -88,7 +88,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\packages\Newtonsoft.Json.9.0.2-beta1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System" />
@@ -105,11 +105,6 @@
     </Reference>
     <Reference Include="System.Net" />
     <Reference Include="System.Net.Http" />
-    <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
-    <Reference Include="System.Net.Http.WebRequest" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Runtime.Serialization.Primitives.4.1.1\lib\net46\System.Runtime.Serialization.Primitives.dll</HintPath>
diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index 223dd28..d8ac75f 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -85,7 +85,12 @@ public async Task<HttpResponseMessage> OAuthCallback([FromUri] string code, [Fro
                     else if (string.Equals(AuthSettings.Mode, "b2c", StringComparison.OrdinalIgnoreCase))
                     {
                     }
-                    
+                    else if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                    {
+                        // Exchange the Auth code with Access token
+                        authResult = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
+                    }
+
                     IStateClient sc = scope.Resolve<IStateClient>();
 
                     var dataBag = scope.Resolve<IBotData>();
diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index b0312b6..27aaf94 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -109,7 +109,7 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string[]
                         else
                         { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes); }
 
-                        if (msg.ChannelId == "skype" )
+                        if (msg.ChannelId == "skype" && !string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
                         {
                              IMessageActivity response = context.MakeMessage();
                              response.Recipient = msg.From;
diff --git a/AuthBot/app.config b/AuthBot/app.config
index ad36121..9404d2a 100644
--- a/AuthBot/app.config
+++ b/AuthBot/app.config
@@ -28,7 +28,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
       </dependentAssembly>
     </assemblyBinding>
   </runtime>
diff --git a/AuthBot/packages.config b/AuthBot/packages.config
index 9ffcb91..7d5529a 100644
--- a/AuthBot/packages.config
+++ b/AuthBot/packages.config
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
+  <package id="Autofac" version="4.1.1" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net452" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net452" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
-  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.1" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
@@ -16,7 +16,7 @@
   <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.2-beta1" targetFramework="net46" />
   <package id="System.Collections" version="4.0.11" targetFramework="net46" />
   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net46" />
diff --git a/OneDriveBot/OneDriveBot.csproj b/OneDriveBot/OneDriveBot.csproj
index 74e3e91..5308520 100644
--- a/OneDriveBot/OneDriveBot.csproj
+++ b/OneDriveBot/OneDriveBot.csproj
@@ -46,20 +46,20 @@
       <HintPath>..\packages\AuthBot.3.1.1-alpha\lib\net40\AuthBot.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
+    <Reference Include="Autofac, Version=4.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.4.1.1\lib\net45\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
@@ -71,12 +71,12 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -104,7 +104,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\packages\Newtonsoft.Json.9.0.2-beta1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.ComponentModel.Composition" />
diff --git a/OneDriveBot/Web.config b/OneDriveBot/Web.config
index dc5f927..af9082e 100644
--- a/OneDriveBot/Web.config
+++ b/OneDriveBot/Web.config
@@ -82,21 +82,33 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
       </dependentAssembly>
 
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Builder" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Connector" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Rest.ClientRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.13.5.907" newVersion="3.13.5.907" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-5.0.0.127" newVersion="5.0.0.127" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Protocol.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.3.42" newVersion="1.0.3.42" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
diff --git a/OneDriveBot/packages.config b/OneDriveBot/packages.config
index fe366e1..031d819 100644
--- a/OneDriveBot/packages.config
+++ b/OneDriveBot/packages.config
@@ -1,23 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.1.1-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.1.1" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
-  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.1" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
-  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.13.5" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
   <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.2-beta1" targetFramework="net46" />
   <package id="System.Collections" version="4.0.11" targetFramework="net46" />
   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
   <package id="System.ComponentModel" version="4.0.1" targetFramework="net46" />
diff --git a/SampleAADv1Bot/SampleAADv1Bot.csproj b/SampleAADv1Bot/SampleAADv1Bot.csproj
index 9157b37..2107747 100644
--- a/SampleAADv1Bot/SampleAADv1Bot.csproj
+++ b/SampleAADv1Bot/SampleAADv1Bot.csproj
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" />
+  <Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -49,20 +49,20 @@
       <HintPath>..\packages\AuthBot.3.1.1-alpha\lib\net40\AuthBot.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
+    <Reference Include="Autofac, Version=4.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.4.1.1\lib\net45\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
@@ -78,12 +78,12 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -111,7 +111,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\packages\Newtonsoft.Json.9.0.2-beta1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.ComponentModel.Composition" />
@@ -221,7 +221,7 @@
     <PropertyGroup>
       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props'))" />
+    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props'))" />
   </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/SampleAADv1Bot/Web.config b/SampleAADv1Bot/Web.config
index b4b40ad..e8c8e24 100644
--- a/SampleAADv1Bot/Web.config
+++ b/SampleAADv1Bot/Web.config
@@ -79,7 +79,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
       </dependentAssembly>
      
       <dependentAssembly>
@@ -88,16 +88,28 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Builder" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Connector" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Rest.ClientRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.13.5.907" newVersion="3.13.5.907" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-5.0.0.127" newVersion="5.0.0.127" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Protocol.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.3.42" newVersion="1.0.3.42" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
\ No newline at end of file
diff --git a/SampleAADv1Bot/packages.config b/SampleAADv1Bot/packages.config
index 719ac9c..6b5792d 100644
--- a/SampleAADv1Bot/packages.config
+++ b/SampleAADv1Bot/packages.config
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.1.1-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.1.1" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
-  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.1" targetFramework="net46" />
   <package id="Microsoft.Diagnostics.Tracing.EventSource.Redist" version="1.1.28" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
-  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.13.5" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
-  <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
+  <package id="Microsoft.Net.Compilers" version="1.3.2" targetFramework="net46" developmentDependency="true" />
   <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.2-beta1" targetFramework="net46" />
   <package id="System.Collections" version="4.0.11" targetFramework="net46" />
   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net46" />
diff --git a/SampleAADv2Bot/SampleAADv2Bot.csproj b/SampleAADv2Bot/SampleAADv2Bot.csproj
index 07fc450..5cfc1d2 100644
--- a/SampleAADv2Bot/SampleAADv2Bot.csproj
+++ b/SampleAADv2Bot/SampleAADv2Bot.csproj
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -47,20 +48,20 @@
       <HintPath>..\packages\AuthBot.3.1.1-alpha\lib\net40\AuthBot.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
+    <Reference Include="Autofac, Version=4.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <HintPath>..\packages\Autofac.4.1.1\lib\net45\Autofac.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
@@ -72,12 +73,12 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -105,7 +106,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\packages\Newtonsoft.Json.9.0.2-beta1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.ComponentModel.Composition" />
@@ -119,7 +120,10 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="System.Net" />
-    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Net.Http, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
       <Private>True</Private>
@@ -217,6 +221,12 @@
       </FlavorProperties>
     </VisualStudio>
   </ProjectExtensions>
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props'))" />
+  </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">
diff --git a/SampleAADv2Bot/Web.config b/SampleAADv2Bot/Web.config
index 2724bc9..870048f 100644
--- a/SampleAADv2Bot/Web.config
+++ b/SampleAADv2Bot/Web.config
@@ -80,21 +80,41 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
       </dependentAssembly>
    
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Builder" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Bot.Connector" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Rest.ClientRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.13.5.907" newVersion="3.13.5.907" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-5.0.0.127" newVersion="5.0.0.127" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.IdentityModel.Protocol.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.3.42" newVersion="1.0.3.42" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
diff --git a/SampleAADv2Bot/packages.config b/SampleAADv2Bot/packages.config
index 203ca1c..6b5792d 100644
--- a/SampleAADv2Bot/packages.config
+++ b/SampleAADv2Bot/packages.config
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="AuthBot" version="3.1.1-alpha" targetFramework="net46" />
-  <package id="Autofac" version="4.0.0-rc3-309" targetFramework="net46" />
+  <package id="Autofac" version="4.1.1" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
-  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.1" targetFramework="net46" />
   <package id="Microsoft.Diagnostics.Tracing.EventSource.Redist" version="1.1.28" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
-  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
+  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.13.5" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Logging" version="1.0.0" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
-  <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
+  <package id="Microsoft.Net.Compilers" version="1.3.2" targetFramework="net46" developmentDependency="true" />
   <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.2-beta1" targetFramework="net46" />
   <package id="System.Collections" version="4.0.11" targetFramework="net46" />
   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net46" />
@@ -28,7 +28,7 @@
   <package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net46" />
   <package id="System.IO" version="4.1.0" targetFramework="net46" />
   <package id="System.Linq" version="4.1.0" targetFramework="net46" />
-  <package id="System.Net.Http" version="4.0.0" targetFramework="net46" />
+  <package id="System.Net.Http" version="4.1.0" targetFramework="net46" />
   <package id="System.Net.Primitives" version="4.0.11" targetFramework="net46" />
   <package id="System.Reflection" version="4.1.0" targetFramework="net46" />
   <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net46" />
diff --git a/SampleVSOBot/App_Start/WebApiConfig.cs b/SampleVSOBot/App_Start/WebApiConfig.cs
index d41a664..45600fe 100644
--- a/SampleVSOBot/App_Start/WebApiConfig.cs
+++ b/SampleVSOBot/App_Start/WebApiConfig.cs
@@ -1,15 +1,25 @@
 // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Web.Http;
-
 namespace SampleVSOBot
 {
+    using System.Web.Http;
+    using Newtonsoft.Json;
+    using Newtonsoft.Json.Serialization;
+
     public static class WebApiConfig
     {
         public static void Register(HttpConfiguration config)
         {
+            // Json settings
+            config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
+            config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
+            config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.Indented;
+            JsonConvert.DefaultSettings = () => new JsonSerializerSettings()
+            {
+                ContractResolver = new CamelCasePropertyNamesContractResolver(),
+                Formatting = Newtonsoft.Json.Formatting.Indented,
+                NullValueHandling = NullValueHandling.Ignore,
+            };
+
             // Web API configuration and services
 
             // Web API routes
@@ -18,11 +28,11 @@ public static void Register(HttpConfiguration config)
             config.Routes.MapHttpRoute(
                 name: "DefaultApi",
                 routeTemplate: "api/{controller}/{id}",
-                defaults: new { id = RouteParameter.Optional }
-            );
+                defaults: new { id = RouteParameter.Optional });
         }
     }
 }
+
 //*********************************************************
 //
 //AuthBot, https://github.com/matvelloso/AuthBot
diff --git a/SampleVSOBot/Global.asax.cs b/SampleVSOBot/Global.asax.cs
index c5b1dff..3751e03 100644
--- a/SampleVSOBot/Global.asax.cs
+++ b/SampleVSOBot/Global.asax.cs
@@ -1,11 +1,6 @@
-using Microsoft.IdentityModel.Protocols;
-using System;
-using System.Collections.Generic;
+using System;
 using System.Configuration;
-using System.Linq;
-using System.Web;
 using System.Web.Http;
-using System.Web.Routing;
 
 namespace SampleVSOBot
 {
@@ -14,6 +9,7 @@ public class WebApiApplication : System.Web.HttpApplication
         protected void Application_Start()
         {
             GlobalConfiguration.Configure(WebApiConfig.Register);
+
             AuthBot.Models.AuthSettings.Mode = ConfigurationManager.AppSettings["ActiveDirectory.Mode"];
             AuthBot.Models.AuthSettings.EndpointUrl = ConfigurationManager.AppSettings["ActiveDirectory.EndpointUrl"];
             AuthBot.Models.AuthSettings.Tenant = ConfigurationManager.AppSettings["ActiveDirectory.Tenant"];
diff --git a/SampleVSOBot/SampleVSOBot.csproj b/SampleVSOBot/SampleVSOBot.csproj
index 248d604..1d90482 100644
--- a/SampleVSOBot/SampleVSOBot.csproj
+++ b/SampleVSOBot/SampleVSOBot.csproj
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" />
+  <Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -42,30 +42,25 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <NoWarn>CS1998</NoWarn>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Autofac, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autofac.4.0.0-rc3-316\lib\net451\Autofac.dll</HintPath>
-      <Private>True</Private>
+    <Reference Include="Autofac, Version=4.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\Autofac.4.1.1\lib\net45\Autofac.dll</HintPath>
     </Reference>
     <Reference Include="Chronic, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3bd1f1ef638b0d3c, processorArchitecture=MSIL">
       <HintPath>..\packages\Chronic.Signed.0.3.2\lib\net40\Chronic.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Builder, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Builder, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Builder.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.Bot.Connector, Version=3.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.0\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
+    <Reference Include="Microsoft.Bot.Connector, Version=3.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bot.Builder.3.2.1\lib\net46\Microsoft.Bot.Connector.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.CSharp" />
-    <Reference Include="Microsoft.Diagnostics.Tracing.EventSource, Version=1.1.28.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28\lib\net46\Microsoft.Diagnostics.Tracing.EventSource.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Microsoft.Identity.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.dll</HintPath>
       <Private>True</Private>
@@ -74,80 +69,78 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.IdentityModel.Logging.1.0.0\lib\net451\Microsoft.IdentityModel.Logging.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.2.33, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+    <Reference Include="Microsoft.IdentityModel.Protocol.Extensions">
       <HintPath>..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.2.206221351\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath>
-      <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Tokens, Version=5.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.0.0\lib\net451\Microsoft.IdentityModel.Tokens.dll</HintPath>
       <Private>True</Private>
     </Reference>
+    <Reference Include="Microsoft.QualityTools.Testing.Fakes, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+    </Reference>
     <Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Rest.ClientRuntime.2.3.2\lib\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Build2.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Build2.WebApi.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Chat.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Chat.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Build2.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Build2.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Common.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Chat.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Chat.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Core.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Core.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Common.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.DistributedTask.Common.Contracts, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.DistributedTask.Common.Contracts.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Core.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Core.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Policy.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Policy.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Policy.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Policy.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.SourceControl.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.SourceControl.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.SourceControl.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.SourceControl.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Test.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Test.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Test.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Test.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.TestManagement.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.TestManagement.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.TestManagement.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.TestManagement.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.Work.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.Work.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.Work.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.Work.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.TeamFoundation.WorkItemTracking.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.15.106.0-preview\lib\net45\Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.TeamFoundation.WorkItemTracking.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.TeamFoundationServer.Client.14.102.0\lib\net45\Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.VisualStudio.Services.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.VisualStudio.Services.Common.dll</HintPath>
+    <Reference Include="Microsoft.VisualStudio.Services.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.14.102.0\lib\net45\Microsoft.VisualStudio.Services.Common.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.VisualStudio.Services.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.15.106.0-preview\lib\net45\Microsoft.VisualStudio.Services.WebApi.dll</HintPath>
+    <Reference Include="Microsoft.VisualStudio.Services.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.VisualStudio.Services.Client.14.102.0\lib\net45\Microsoft.VisualStudio.Services.WebApi.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.Win32.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@@ -159,7 +152,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\packages\Newtonsoft.Json.9.0.2-beta1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.ComponentModel.Composition" />
@@ -168,12 +161,13 @@
       <HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+    <Reference Include="System.IdentityModel.Tokens.Jwt">
       <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
-      <Private>True</Private>
     </Reference>
     <Reference Include="System.Net" />
-    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Net.Http">
+      <Private>False</Private>
+    </Reference>
     <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
       <Private>True</Private>
@@ -200,7 +194,6 @@
       <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.1.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="System.ServiceModel" />
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
     <Reference Include="System.Web.ApplicationServices" />
@@ -233,9 +226,9 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="App_Start\WebApiConfig.cs" />
-    <Compile Include="Controllers\MessagesController.cs" />
     <Compile Include="Dialogs\ActionDialog.cs" />
     <Compile Include="Dialogs\DialogExtensions.cs" />
+    <Compile Include="Controllers\MessagesController.cs" />
     <Compile Include="Global.asax.cs">
       <DependentUpon>Global.asax</DependentUpon>
     </Compile>
@@ -246,19 +239,15 @@
     <Content Include="packages.config">
       <SubType>Designer</SubType>
     </Content>
-    <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy %282%29.pubxml" />
-    <None Include="Properties\PublishProfiles\TiagonmasBot - Web Deploy.pubxml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
-      <SubType>Designer</SubType>
     </None>
     <None Include="Web.Release.config">
       <DependentUpon>Web.config</DependentUpon>
-      <SubType>Designer</SubType>
     </None>
   </ItemGroup>
   <ItemGroup>
-    <WCFMetadata Include="Service References\" />
+    <Folder Include="Models\" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\AuthBot\AuthBot.csproj">
@@ -270,6 +259,9 @@
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
   </PropertyGroup>
+  <PropertyGroup>
+    <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
+  </PropertyGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
@@ -286,7 +278,7 @@
     <PropertyGroup>
       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.2.1\build\Microsoft.Net.Compilers.props'))" />
+    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props'))" />
   </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/SampleVSOBot/Web.Release.config b/SampleVSOBot/Web.Release.config
index c358444..5a930c5 100644
--- a/SampleVSOBot/Web.Release.config
+++ b/SampleVSOBot/Web.Release.config
@@ -26,6 +26,10 @@
         mode="RemoteOnly" xdt:Transform="Replace">
         <error statusCode="500" redirect="InternalError.htm"/>
       </customErrors>
+      
     -->
+    
+      <customErrors mode="Off"/>
+    
   </system.web>
 </configuration>
\ No newline at end of file
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
index 591aaf6..fd29f7e 100644
--- a/SampleVSOBot/Web.config
+++ b/SampleVSOBot/Web.config
@@ -1,24 +1,32 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   For more information on how to configure your ASP.NET application, please visit
   http://go.microsoft.com/fwlink/?LinkId=301879
   -->
 <configuration>
   <appSettings>
-    <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
-    <add key="BotId" value="MSGraphBot" />
-    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106" />
-    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY" />
+    <!-- update these with your appid and one of your appsecret keys-->
+    <add key="BotId" value="MSGraphBot"/>
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106"/>
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY"/>
 
-    <!-- VSO -->
-    <add key="ActiveDirectory.Mode" value="vso" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com" />
-    <add key="ActiveDirectory.Tenant" value="dpeted" />
-    <add key="ActiveDirectory.Scopes" value="vso.work" />
-    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716" />
-    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA" />
-    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback" />
+    <!-- AAD Auth v2 settings-->
+    <!--<add key="ActiveDirectory.Mode" value="v2" />
+    <add key="ActiveDirectory.Scopes" value="User.Read" />
+    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
+    <add key="ActiveDirectory.Tenant" value="common" />
+    <add key="ActiveDirectory.ClientId" value="d9c54d46-cc60-4374-b3a4-9f42a291bbd9" />
+    <add key="ActiveDirectory.ClientSecret" value="g4Np8Bsnd4Z3rvJe8FFyXUA" />
+    <add key="ActiveDirectory.RedirectUrl" value="http://localhost:3978/api/OAuthCallback" />-->
 
+    <!-- VSO -->
+    <add key="ActiveDirectory.Mode" value="vso"/>
+    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com"/>
+    <add key="ActiveDirectory.Tenant" value="dpeted"/>
+    <add key="ActiveDirectory.Scopes" value="vso.work"/>
+    <add key="ActiveDirectory.ClientId" value="DADB6890-1B01-4C84-BB7B-15FA7F18D716"/>
+    <add key="ActiveDirectory.ClientSecret" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJkYWRiNjg5MC0xYjAxLTRjODQtYmI3Yi0xNWZhN2YxOGQ3MTYiLCJjc2kiOiIxOTk0OGNmYi0wZWEzLTQ0NTYtOGI2Yi0yYzBhOTZmZGFlMzIiLCJuYW1laWQiOiI2ZWE2NDE1NS1jMmRmLTRkODctOTY2YS0wZTE5ZDY3ZGM2YjgiLCJpc3MiOiJhcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbSIsImF1ZCI6ImFwcC52c3Nwcy52aXN1YWxzdHVkaW8uY29tIiwibmJmIjoxNDY4OTIzMzQ0LCJleHAiOjE2MjY2ODk3NDR9.QJII_OsG7IZF3ObwUPmm8cvJOmJefvGJCJQTuYHV-H93ZejLxtkXNsRibp8Fasnqbxt3eXQAoW6aT8Xe3-b46fq8xYZGV87iNpXQ-sln2swQ0F-u-rzU5cbT9eAsT_DfOIRFIZYXRX4TZ6MVNcq5_4qQ0g7YBhLec5DAejW8NSgSpJehJ5Nh-N21K2vJdClbEJRlgXyx3nhK-y-3VSRZsP6sK5lf9Ko9wm7vWd6mY4htp2CULLk3JhuHMPRvH6D6zGsWyWxPY_RlUCwV7_pHaHX01ycLHTMgHVx8tW6c8Dpv9UrS7dixdOH2NM_0N6BJI2MavOtzTXoDfN3f_O0xKA"/>
+    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback"/>
 
   </appSettings>
   <!--
@@ -30,62 +38,73 @@
       </system.Web>
   -->
   <system.web>
-    <compilation debug="true" targetFramework="4.6" />
-    <httpRuntime targetFramework="4.6" />
+    <customErrors mode="Off"/>
+    <compilation debug="true" targetFramework="4.6"/>
+    <httpRuntime targetFramework="4.6"/>
   </system.web>
   <system.webServer>
     <defaultDocument>
       <files>
-        <clear />
-        <add value="default.htm" />
+        <clear/>
+        <add value="default.htm"/>
       </files>
     </defaultDocument>
-    
-  <handlers>
-      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
-      <remove name="OPTIONSVerbHandler" />
-      <remove name="TRACEVerbHandler" />
-      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
-    </handlers></system.webServer>
+
+    <handlers>
+      <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
+      <remove name="OPTIONSVerbHandler"/>
+      <remove name="TRACEVerbHandler"/>
+      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
+    </handlers>
+  </system.webServer>
   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
-        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
+        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
+        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
       </dependentAssembly>
       <dependentAssembly>
-        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
+        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
+        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
-        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
-        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
+        <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0"/>
       </dependentAssembly>
       <dependentAssembly>
-        <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
+        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
       </dependentAssembly>
       <dependentAssembly>
-        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
+        <assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
       </dependentAssembly>
-       <dependentAssembly>
-        <assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
+      <dependentAssembly>
+        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
       </dependentAssembly>
+
       <dependentAssembly>
-        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+        <assemblyIdentity name="Microsoft.Bot.Builder" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0"/>
       </dependentAssembly>
-     
       <dependentAssembly>
-        <assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+        <assemblyIdentity name="Microsoft.Bot.Connector" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-3.2.1.0" newVersion="3.2.1.0"/>
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Rest.ClientRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
+        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
+      </dependentAssembly>
+
     </assemblyBinding>
   </runtime>
-</configuration>
\ No newline at end of file
+</configuration>
diff --git a/SampleVSOBot/packages.config b/SampleVSOBot/packages.config
index 30d21eb..a91e831 100644
--- a/SampleVSOBot/packages.config
+++ b/SampleVSOBot/packages.config
@@ -1,13 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Autofac" version="4.0.0-rc3-316" targetFramework="net46" />
+  <package id="AuthBot" version="3.1.2-alpha" targetFramework="net46" />
+  <package id="Autofac" version="4.1.1" targetFramework="net46" />
   <package id="autorest" version="0.16.0" targetFramework="net46" />
   <package id="Chronic.Signed" version="0.3.2" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
   <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
-  <package id="Microsoft.Bot.Builder" version="3.2.0" targetFramework="net46" />
+  <package id="Microsoft.Bot.Builder" version="3.2.1" targetFramework="net46" />
   <package id="Microsoft.Diagnostics.Tracing.EventSource.Redist" version="1.1.28" targetFramework="net46" />
   <package id="Microsoft.Identity.Client" version="1.0.304142221-alpha" targetFramework="net46" />
   <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.12.0" targetFramework="net46" />
@@ -16,11 +17,11 @@
   <package id="Microsoft.IdentityModel.Tokens" version="5.0.0" targetFramework="net46" />
   <package id="Microsoft.Net.Compilers" version="1.2.1" targetFramework="net46" developmentDependency="true" />
   <package id="Microsoft.Rest.ClientRuntime" version="2.3.2" targetFramework="net46" />
-  <package id="Microsoft.TeamFoundationServer.Client" version="15.106.0-preview" targetFramework="net46" />
-  <package id="Microsoft.VisualStudio.Services.Client" version="15.106.0-preview" targetFramework="net46" />
+  <package id="Microsoft.TeamFoundationServer.Client" version="14.102.0" targetFramework="net46" />
+  <package id="Microsoft.VisualStudio.Services.Client" version="14.102.0" targetFramework="net46" />
   <package id="Microsoft.Win32.Primitives" version="4.0.1" targetFramework="net46" />
   <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net46" />
-  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
+  <package id="Newtonsoft.Json" version="9.0.2-beta1" targetFramework="net46" />
   <package id="System.Collections" version="4.0.11" targetFramework="net46" />
   <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net46" />
   <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net46" />

From 1809adc2efbf337a7733797a2f218dfaf55dd472 Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Wed, 12 Oct 2016 14:33:16 -0700
Subject: [PATCH 18/55] final changes resulting merge with Mat repo and changes
 in resumptioncookie

---
 AuthBot/AuthBot.csproj                         |  1 +
 AuthBot/Controllers/OAuthCallbackController.cs | 10 +++++++++-
 AuthBot/Helpers/VisualStudioOnlineHelper.cs    | 10 ++++++----
 SampleVSOBot/Helpers/VSORestHelper.cs          | 12 ++++++++----
 4 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/AuthBot/AuthBot.csproj b/AuthBot/AuthBot.csproj
index c730d18..1332eec 100644
--- a/AuthBot/AuthBot.csproj
+++ b/AuthBot/AuthBot.csproj
@@ -127,6 +127,7 @@
       <Private>True</Private>
     </Reference>
     <Reference Include="System.Web" />
+    <Reference Include="System.Web.Extensions" />
     <Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
       <Private>True</Private>
diff --git a/AuthBot/Controllers/OAuthCallbackController.cs b/AuthBot/Controllers/OAuthCallbackController.cs
index d1c645b..956e5fc 100644
--- a/AuthBot/Controllers/OAuthCallbackController.cs
+++ b/AuthBot/Controllers/OAuthCallbackController.cs
@@ -72,8 +72,10 @@ public async Task<HttpResponseMessage> OAuthCallback(
                 {
                 }
 
+
                 // Get the resumption cookie
                 var resumptionCookie = new ResumptionCookie(queryParams["userId"], queryParams["botId"], queryParams["conversationId"], queryParams["channelId"], queryParams["serviceUrl"], queryParams["locale"]);
+
                 // Create the message that is send to conversation to resume the login flow
                 var message = resumptionCookie.GetMessage();
                
@@ -96,7 +98,13 @@ public async Task<HttpResponseMessage> OAuthCallback(
                     else if (string.Equals(AuthSettings.Mode, "b2c", StringComparison.OrdinalIgnoreCase))
                     {
                     }
-                    
+                    else if (string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                    {
+                        // Exchange the Auth code with Access token
+                        authResult = await VisualStudioOnlineHelper.GetTokenByAuthCodeAsync(code);
+                    }
+
+
                     IStateClient sc = scope.Resolve<IStateClient>();
 
                     //IMPORTANT: DO NOT REMOVE THE MAGIC NUMBER CHECK THAT WE DO HERE. THIS IS AN ABSOLUTE SECURITY REQUIREMENT
diff --git a/AuthBot/Helpers/VisualStudioOnlineHelper.cs b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
index fab7e5f..8c96d5e 100644
--- a/AuthBot/Helpers/VisualStudioOnlineHelper.cs
+++ b/AuthBot/Helpers/VisualStudioOnlineHelper.cs
@@ -12,15 +12,18 @@
 using System.Threading.Tasks;
 using System.Web;
 
+
 namespace AuthBot.Helpers
 {
     class VisualStudioOnlineHelper
     {
         public static string GetAuthUrlAsync(ResumptionCookie resumptionCookie)
         {
-            //To Do Change Tenant to Scope
-            var encodedCookie = Microsoft.Bot.Builder.Dialogs.UrlToken.Encode(resumptionCookie);
-            var scopes = String.Join(",", AuthSettings.Scopes); 
+            
+            var resumptionCookieAsParams = String.Format("userId={0}&botId={1}&conversationId={2}&channelId={3}&serviceUrl={4}&locale={5}", resumptionCookie.Address.UserId,resumptionCookie.Address.BotId, resumptionCookie.Address.ConversationId, resumptionCookie.Address.ChannelId, resumptionCookie.Address.ServiceUrl, resumptionCookie.Locale);
+            var encodedCookie = HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(resumptionCookieAsParams));
+
+             var scopes = String.Join(",", AuthSettings.Scopes); 
             return String.Format("{0}/oauth2/authorize?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}", AuthSettings.EndpointUrl, AuthSettings.ClientId, encodedCookie, scopes, AuthSettings.RedirectUrl);
         }
         public static async Task<AuthResult> GetTokenByAuthCodeAsync(string authorizationCode)
@@ -102,6 +105,5 @@ public static bool IsTokenExpired(long _expiresOnUtcTicks) {
 
         }
 
-
     }
 }
diff --git a/SampleVSOBot/Helpers/VSORestHelper.cs b/SampleVSOBot/Helpers/VSORestHelper.cs
index 7489f98..06b372a 100644
--- a/SampleVSOBot/Helpers/VSORestHelper.cs
+++ b/SampleVSOBot/Helpers/VSORestHelper.cs
@@ -5,7 +5,11 @@
 using System.Threading.Tasks;
 using Microsoft.TeamFoundation.Core.WebApi;
 using Microsoft.VisualStudio.Services.Common;
-
+using System.Net.Http;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Microsoft.TeamFoundation.WorkItemTracking.WebApi;
+using Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models;
 
 namespace SampleVSOBot.Helpers
 {
@@ -33,8 +37,8 @@ public static async Task<String> ListProjects(string token)
             return retStr.ToString();
         }
 
-        //Other sample ways to query TFS
-        /*
+        #region Other sample ways to query TFS
+        
         public static async Task<String> GetWorkItems(string token)
         {
             using (var client = new HttpClient())
@@ -202,7 +206,7 @@ public static async Task<String> QueryWorkItems_Wiql(string token)
             return "done";
         }
 
-        */
+        #endregion  
     }
 
 }
\ No newline at end of file

From 5196fe9a956e877a4cc93d0151871af89ca16d9b Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Wed, 12 Oct 2016 22:54:01 -0700
Subject: [PATCH 19/55] Merged with Mat and listinf projects from TFS. Skype
 sigin too.

---
 AuthBot/Dialogs/AzureAuthDialog.cs    |  6 ++++--
 SampleAADv2Bot/Web.config             |  6 +++---
 SampleVSOBot/Dialogs/ActionDialog.cs  |  2 +-
 SampleVSOBot/Helpers/VSORestHelper.cs | 10 ++++++----
 SampleVSOBot/Web.config               |  9 ---------
 5 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/AuthBot/Dialogs/AzureAuthDialog.cs b/AuthBot/Dialogs/AzureAuthDialog.cs
index 27aaf94..4c7e76e 100644
--- a/AuthBot/Dialogs/AzureAuthDialog.cs
+++ b/AuthBot/Dialogs/AzureAuthDialog.cs
@@ -18,9 +18,10 @@ public class AzureAuthDialog : IDialog<string>
         private string[] scopes;
         private string prompt;
 
-        public AzureAuthDialog(string resourceId)
+        public AzureAuthDialog(string resourceId, string prompt = "Please click to sign in: ")
         {
             this.resourceId = resourceId;
+            this.prompt = prompt;
         }
         public AzureAuthDialog(string[] scopes,string prompt="Please click to sign in: ")
         {
@@ -109,7 +110,8 @@ private async Task LogIn(IDialogContext context, IMessageActivity msg, string[]
                         else
                         { authenticationUrl = await AzureActiveDirectoryHelper.GetAuthUrlAsync(resumptionCookie, scopes); }
 
-                        if (msg.ChannelId == "skype" && !string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                        //if (msg.ChannelId == "skype" && !string.Equals(AuthSettings.Mode, "vso", StringComparison.OrdinalIgnoreCase))
+                        if (msg.ChannelId == "skype" || msg.ChannelId == "emulator")
                         {
                              IMessageActivity response = context.MakeMessage();
                              response.Recipient = msg.From;
diff --git a/SampleAADv2Bot/Web.config b/SampleAADv2Bot/Web.config
index 87a94db..d27465f 100644
--- a/SampleAADv2Bot/Web.config
+++ b/SampleAADv2Bot/Web.config
@@ -6,9 +6,9 @@
 <configuration>
   <appSettings>
     <!-- update these with your appid and one of your appsecret keys-->
-    <add key="BotId" value="YourBotId" />
-    <add key="MicrosoftAppId" value="" />
-    <add key="MicrosoftAppPassword" value="" />
+    <add key="BotId" value="MSGraphBot"/>
+    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106"/>
+    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY"/>
    
     <!-- AAD Auth v2 settings-->
     <add key="ActiveDirectory.Mode" value="v2" />
diff --git a/SampleVSOBot/Dialogs/ActionDialog.cs b/SampleVSOBot/Dialogs/ActionDialog.cs
index d25d693..b09ca53 100644
--- a/SampleVSOBot/Dialogs/ActionDialog.cs
+++ b/SampleVSOBot/Dialogs/ActionDialog.cs
@@ -39,7 +39,7 @@ public async Task GetTokenInfo(IDialogContext context)
                 else
                 {
                     await context.PostAsync($"Your access token expires in {expiresin} minutes ({expireDateStr})");
-                    await context.PostAsync($"Your access token starts with \"{authResult.AccessToken.Substring(0,20)}\" and it has {authResult.AccessToken.Length} characters.");
+                    await context.PostAsync($"Your access token is \"{authResult.AccessToken}\".");
                 }
 
             }
diff --git a/SampleVSOBot/Helpers/VSORestHelper.cs b/SampleVSOBot/Helpers/VSORestHelper.cs
index 06b372a..a7d7698 100644
--- a/SampleVSOBot/Helpers/VSORestHelper.cs
+++ b/SampleVSOBot/Helpers/VSORestHelper.cs
@@ -105,17 +105,18 @@ public static async Task<String> GetWorkItems(string token)
             }
         }
 
+        
         public static async Task<String> QueryWorkItems_Query(string token)
         {
             string retStr="Nothing to return";
             string _personalAccessToken = token;
-            Uri _uri = new Uri("https://dpeted.visualstudio.com");
+            Uri uri = new Uri("https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/");
             VssBasicCredential _credentials = new VssBasicCredential("", _personalAccessToken);
 
             string project = "TED Consumer";
             string query = "Shared Queries/FY17/All Activities";
 
-            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(_uri, _credentials))
+            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(uri, _credentials))
             {
                 QueryHierarchyItem queryItem;
 
@@ -155,11 +156,12 @@ public static async Task<String> QueryWorkItems_Query(string token)
             }
             return retStr;
         }
+        
 
         public static async Task<String> QueryWorkItems_Wiql(string token)
         {
             string _personalAccessToken = token;
-            Uri _uri = new Uri("https://dpeted.visualstudio.com");
+            Uri uri = new Uri("https://" + AuthBot.Models.AuthSettings.Tenant + ".visualstudio.com/");
             VssBasicCredential _credentials = new VssBasicCredential("", _personalAccessToken);
 
             //needed to scope our query to the project
@@ -178,7 +180,7 @@ public static async Task<String> QueryWorkItems_Wiql(string token)
             };
 
             //create instance of work item tracking http client
-            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(_uri, _credentials))
+            using (WorkItemTrackingHttpClient workItemTrackingHttpClient = new WorkItemTrackingHttpClient(uri, _credentials))
             {
                 //execute the query to get the list of work items in teh results
                 WorkItemQueryResult workItemQueryResult = workItemTrackingHttpClient.QueryByWiqlAsync(wiql).Result;
diff --git a/SampleVSOBot/Web.config b/SampleVSOBot/Web.config
index fd29f7e..a397c50 100644
--- a/SampleVSOBot/Web.config
+++ b/SampleVSOBot/Web.config
@@ -10,15 +10,6 @@
     <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106"/>
     <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY"/>
 
-    <!-- AAD Auth v2 settings-->
-    <!--<add key="ActiveDirectory.Mode" value="v2" />
-    <add key="ActiveDirectory.Scopes" value="User.Read" />
-    <add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
-    <add key="ActiveDirectory.Tenant" value="common" />
-    <add key="ActiveDirectory.ClientId" value="d9c54d46-cc60-4374-b3a4-9f42a291bbd9" />
-    <add key="ActiveDirectory.ClientSecret" value="g4Np8Bsnd4Z3rvJe8FFyXUA" />
-    <add key="ActiveDirectory.RedirectUrl" value="http://localhost:3978/api/OAuthCallback" />-->
-
     <!-- VSO -->
     <add key="ActiveDirectory.Mode" value="vso"/>
     <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com"/>

From 9ff0182781028249e68079802643a7b7b4a87409 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:27:07 -0700
Subject: [PATCH 20/55] Update README.md

---
 README.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/README.md b/README.md
index e314680..4b4d57b 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,15 @@ B2C enables users to sign up to your AAD tenant using external identity provider
 
 This model is not yet supported by this library. We're working on it.
 
+### Visual Studio Online (VSO):
+Visual Studio Online (http://www.visualstudio.com).
+To authenticate with VSO you´ll need:
+
+1. You will register an application in https://app.vsaex.visualstudio.com/app/register. Unfortunatly currently you cannot specify localhost as the Authorization Callback URL. So you'll not be able to fully test the authentication flow with Bot Emulator. You will need to deploy to a site other than localhost.
+2. During registration, you will select the scopes that your application needs. The application code itself will request for specific permissions in runtime and it needs to be a subset of the scopes defined in the registration process. The scopes are defined at logon time.
+3. Look at SampleVSOBot project. Configure the <appsettings> area with your settings.
+4. Check here for more details.
+
 ### Tips with setup
 
 Regardless of whether you use endpoints v1 or v2, once you register your application you need to set the redirect URI to <your host address>/api/OAuthCallback. For example, if your bot will run on http://localhost:1234, then the redirect URI will have to be http://localhost:1234/api/OAuthCallback. This ensures that once the user finishes the login, your bot will become aware of it.

From 280254f2f14d72e3840120c1ab03e14010835243 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:28:16 -0700
Subject: [PATCH 21/55] Create SampleVSOBot.md

---
 SampleVSOBot.md | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 SampleVSOBot.md

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
new file mode 100644
index 0000000..a31fe93
--- /dev/null
+++ b/SampleVSOBot.md
@@ -0,0 +1,4 @@
+#Mode details about authenticating with Visual Studio Online
+##Configuring web.config
+
+## VSO oAuth flow 

From a7599427d4a2e0fdc2d5ef9cb86a8840061a398f Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:42:32 -0700
Subject: [PATCH 22/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index a31fe93..777c450 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -1,4 +1,6 @@
-#Mode details about authenticating with Visual Studio Online
+#Using Authbot to authenticate in Visual Studio Online
 ##Configuring web.config
 
+##Bot in action
+
 ## VSO oAuth flow 

From 47b090a52c475726913188efb805205d6b07e946 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:43:01 -0700
Subject: [PATCH 23/55] Picture of VSO Sample Bot in action

---
 VSOBotCapture.PNG | Bin 0 -> 39236 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 VSOBotCapture.PNG

diff --git a/VSOBotCapture.PNG b/VSOBotCapture.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..1aea0eb72769a1dcd0982cc5a60a664d30739743
GIT binary patch
literal 39236
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

literal 0
HcmV?d00001


From 7138dc0f93a58c04c46f356d99f76b32908b52b4 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:45:05 -0700
Subject: [PATCH 24/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 777c450..4a912a0 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,5 +2,6 @@
 ##Configuring web.config
 
 ##Bot in action
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotCapture.PNG)
 
 ## VSO oAuth flow 

From 689dd0b43dc7b2da87c06054504da516ff20511e Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:45:23 -0700
Subject: [PATCH 25/55] Add files via upload

---
 VSOBotCapture.PNG | Bin 39236 -> 36090 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/VSOBotCapture.PNG b/VSOBotCapture.PNG
index 1aea0eb72769a1dcd0982cc5a60a664d30739743..f88f217139292786adb9c7d36d36564097a42b29 100644
GIT binary patch
literal 36090
zcmd?Q1yGzpw>C(CK?V&B5CRD#!QI_01b4R(+=DyJV8IFQmf-F#gC=-zXCSx-cXq;e
z@9y32e*fOP_5ZuIRXbG_H9g(^b{~1pIo;12s-*B93-}U<fPjGYL0Uou0RahufPlDx
zh6HcPS1ts={~?=;%8Mc(R7GRleT08ULQs-ZlSD*BB7G~&PK8NDO-oPD!ok5yPp`?v
zD??B3$tGZrr{$r{K=Of}MTMTlgr3Ejo<*Ks^8>w?D!rEpy{0q0rU|{53%#eI!V4EI
zVn1aTadBxmIVCkUEq(ouDk`3eE}q`Xn$9YoeomUkMjwrx%v?RZQS<^(&ErtLYw1<e
z`6T^W93vQ9n^AoF={-9Id`1+tqdzETsHmjNXnmLP{HkQvY-*ce<{WJ1obKZTcJ@p%
zajSNAZPBuXTKIICdvEwPBiKi~;e)G~1JbEOD^O#`P`=G#mTd7R_VQMZ@YJmeKu=U-
zlguL1-BL3?C)fH_XE@e1%O_2#XTTJ{4agNQ>lY0vm8~e0!j#Kl+BIu7U;51QX6<Sw
zJS)1~8zxO#HchJUT-!HY8n2~#mZW-4ZM$|XrXC%7b{(d-eaG$+RajzdUnMxP*1EDJ
zs%R#tc-FdVcDcL*I|qZE(=(id)1A}7&Q%%CRmBjpig5a*FWTWr4#@?k<#DQoCHl<;
zwn_cWN&PG(<C+b#4g+7w2I6R!s<;lLsUI6rZyV{lGNh)GHGh`B@2~bcYm_-{^nB=k
zaX-v*zsh?ztaLYTcE752zxDY`NLXlCT*TMZuMv^)QD0-eMkgkuL?@Oe)}*K8ReVcJ
ztB(w>k4(?W%*oHrEXXe^EUqoBZmKRVsV%Fit1PdtZw5#92F3JeMD~7-hbE@{3Mw51
zx9&H#cGpg)*PgY+|C$Z{xfe9Mn>e(S@ar&P`YL|+p|$Jhw-H$0_(uNhpW4Oky19$`
zo!P?O-HL;|hON7fM_B#k%}8EYPjkywYkFrp^s%F}dnKfQETb3NKC+%Ux{=*~&^~_F
za<>w8Hk<x9QFVV9b9&a;+c)rIXnb^RWN3VLd}wHFWNdtFbaHwQy0ka5xYmELH2OHZ
za@e^HTmJcbuYdn`^zm{2_ulmG>D1Zv-sA{u1-7|4zx6nKzuWV$yYO(^b8|bpv9+_g
z|L5T3^5J3o_U<0;4*&SfvEW@HAUs2GR#8xW{Qvg{LG==q5-t^V2Wf351O)7^zkkmN
zXk`51jl|B9TF$EWX3lOO9ZeA&K3dv2GufFslXEb!FtM_UBU|qyAbc_WAR(&eZg9}%
z<E=mA@~SYf@Z0yq1d00J?gDZ3DHJ9{wel)B0^jOY*;Uru<39{bJx8bg#B&4a)xw*Y
z{f5IIHDP9@{gpO6SM;YmzA{;&s7x0RJKn+%*2sZc#wdxCnZk1k5IB}iqJ>HX5^M3y
z-Q90U$NI?W$fpxYnC$q_$G+lpnfG?TX0+)t(`$NR%eOsz7c7z;i3UVLw3Sq1!L^`=
zK)@op&q0{T^I_RW<YOAh03>kzTbdVWwFI&%4xZJ#3ho}{xE6rKY}g_6S#C$iQECZ(
z`P}TxilS{Ld;;QBl}f2xEbOyO-fKtyAR70914M9VP%bUtXD7J#j@>^H3Khv#w~!K5
z5WD5(`<;qFvACBH7J+q*1w!J;VJb{x4)QDh3n++S3~_uQ1Wb}{Et_lKK!OTy=rRWS
zx*VS|ja61{Zo<ciRVG7ZGeayTveHlymjdvqsiNENPO5(5JC*bBr`ONF1q!*iVz%Dw
zeyG4jb4FG0mqPb45OS?g>K|3JeFG@C9dRd3hH)Z-?K;uTm7kf5cd={gN<-PRLVq5c
zRyd;AXve+cvU_Oxf~`M3G2!$l-m+fwaOc`Q(c@mlZ23510}*_Zt>IwG8<nvW@ncR+
zR|MK7&x~rfZ(V%BXWqGI{}3j7%I%HD0eYtx2B|QlqZ?T<s^ve^*feNd_cVi#h9T$2
z3|DTQMIDzGGiDprAc-zxPn^lD+I!`(!@3XGcbV_D)$V%@(=SMglV$3^1XOgKYnwVY
z?98U`BZ6JCf7-CEI+F^tSVe;Fs^dz&2rZR!&F)L=;DtZ_e4GY!*Gtf{Sq`qSr(7LN
z5qXE*G`AYvk1;dk8ri)-E9Ft(xHJvU<8@D*dP$>YEmnhNOkU-{*8EZY6a)X0px`?u
zpe0qY^McOLo;N(bf!8ZRB+krNVo>FmT^K0yUnY3ijcKtnZR=2g*m`YOCK0@%*>eQ9
z6&}4PckA~!?cI_AqY@ifyu>ax21kgZiE~v(KBt`H+j3aec2RL0V6NQFbZtBgYTMwN
za*gjWlbUx>UoS`8Z8!O6Qi)P`No3_SD?*#ZP@F@q(9kq?HlIfKc~cUz+)aS6jp~%V
zfGWFRKyfe;W-X4qq7~uiAuN*5(^Fv}n=V$RF?1f5+0rZKw&LHf1nvF$`Gfb)SKV5F
z9|)$<*QOMb?MxXqnnY5irh1vdSabE`E61G?ihlR<5MtJ1nI|ja4d>^Y8<vScE4Z8>
znwON!vuD%4uncDYbPLunO__TwAI5sI-tcxW37+|#cIdWFd4;!<fAHMK`*O<N81B7F
zB-(on0oOyX9d#NlpBp&pB%6XE!}i!q+n7U{s|S1Z29*1k1Hnh__tfoMYy8VXtFamG
zKcxY!zO>Y7WDhYL$as^{0CT%5rA;<@xO2`2)f}4*FB;{%JX*I|4pSeby~?Asi}-WO
zdWh`uwbDV$UH<pn;GEkX_ensFJ#*&QlxO$At&fX8IdQ{LgMFpqHECik#FSXZn9~2m
zL}__*XcgwS4n|g55d*BT3Us+Z-Wi6eM51wuL$*Y(^Y5{~!B&*0KAx`VItcXZ{kd7$
zv!9kk|Fl!zkwlv7)%RCQ7zHi$N!^i7>r)Zt!%Nv=Y(Os3J+KQ8vRoJz33q;4!^HKk
zuBMbeYAS>KXU8}U407UNBHy#e`=yFzhOvs_#Tb6>4vr&(<E)K|Y4KL+7X~b2R3?*i
z6AquY#8w&|sB}yg-%4Vu%YxFG+ADr4Lcf@ktm3@tMe0t6M7|GrXP<TDt~mPM%)@}A
z{|;+`#Lj~?xGi}Jt6Basta&euTDOKhmjj*og$2IjE=Of43NyEd@ksax1Tt)%iv?QL
z&o=slDd%eXdV59bhv~GBq}`P8%*5%%t9SNCJJ)3T9~(>hwJAcloC5T3`JF?*T-@Xl
z4c?~^rFV$t`|2wdC=;!4zC<fUb99?wLAJiA4Ip9^dNEYebZO(8V=#pW$a*<sFESW9
zt!YA@U(CykF^y%f+VXf1O><3>rOLG$)Noa`bcfY?k<^;CbRApms_&4n<?a?SSa=qE
z)+k9{3Hi~q4iq2eabtLO!YD85<T6aAWA)w0&+ntv4nwzG?N`XXhcXy~h3Wwop@udg
zHg+l1loCA~*mNkXJd;E(Nu)_8Lo*A3h`a-!qEzRuHKo;fJ9Fa}zD}p}r^h@5w4o_+
zg;-;yhjLv)ut45n=DMWBM<}<BT)_JgD71^SC-M(oib%h4QD~uQ+x8j0a$0Ef;+Npi
zZIe|k2XU^Y#V^-I;V{ETn33?K8sZ4+V@;BKf=+h8SEr&s&O=o{Co-c_oZG<p)YZTH
z5ZBxA0DHY#&u-n-akm#(jNH1>va`zN^xAS(xl*tELPfTWi^B1gNcq3E)KBQgyL&|I
znH|gy_FL8Qwhyz2cT0xen5;I#rbs@t`eq^|P+(pdw&he9f`6dxog;y<B}VdsWltjw
z4lzM;3MYYeN;KBrVO=e?A6WU??mVE8B>JzBt1$vrk&!YmsWE)!EMa}TdPlPpEXppF
z*)|H${W5}}+mEn4HsFQ+0i;_o%=17b`(0H}(U25_0LVtA3?{B0SG)l#6{eK=Bf^6E
zWsCjS8mA~K@9fzW0a&EK2pV6_OE@B)ras6_+W1zTUa7LYyQK?@MWXqgS>+!oVldHZ
zo7J<&>*$A{!q?v(_ftf&*DPGAoSqT#L-VKZ^e;R@tFb_n^q54~d@Udg1qacOhH*15
zApSiaCpP3tw&_76dP9)B;said<Q&hsw}3q(7{vOIe_S*(JHs*q(&x&KKeXs;hQvrj
zpO1~~?T_M^X7<<{_65)VdW6qWiv8JNW5IE3OQ{SDF{E$h<mm4cA_ZB!)=7_$x$xwD
zsKLjzNDhDPeYt#d*G-HnDw>1{j{PlX|87yWRp;yP(h^RkN?$Aw_0~5i3ZE;ZqsLC8
zQXba6$@&=Wt&!9&p+6K{OL6l&vKUS|?@pg3hG!dP^YL`6)y{Fm^DMvvlYr=j?GI*v
znA!JF67F4V90|k~>ImDH6_3A#uV>C5k)i5=U+o`Gz0B>1R|7$y$@eKYMbT#l%U8fu
zk!%Sb#*{>3n6{?%cXBe4AtrHz%}e+E_$^6p!dCL@+4Tn-mLuWmt=>));Dg~=^KlS6
zx1px6`*p1<%itu=W`8JHWX>VgFGMR9Y_4nj4B%2?p&&YVd}ByvuSD-Is#H0*K;bTQ
z_E`F;$#xvACz;-yptwIGEVgFK#9|6V_VTJ=?-t39&>GLlhyt5y!?T7Clw1PpT%!!T
z0825bnXKWOvz#l#cIlu{u954P7ijSy`b(lL&k~;iB4mIEdS*iz!B5`VhARm2Y7&4X
z!zkl)_-1IB4^2-(bQcL6`|0cZ1t*P1u9cqWOojDdAaPg*F(G~dNZ(;ocQbisAp8pS
z=6l2;e$+>cWddviqCjf7QhJq`f=|Y8U(yIFa0rln)<C8hQL}vx*u!f0WZ&xf$?p%2
z>v<2;uMQZFzGDxT6*#Il6yJOKXtoO9d{8(*-OHoevaT0YdQMP~rqG7SWhB%5xf}B6
zgpQ236#{SfYpNKn7`fHmPkWOYgNCdFp#rUUw`}gF+YQ71k*P&Mu#PG%!jgkg5E;eT
zfzus)S^|KY7e1fgFymT0hi8Dki2dMej48rwdzc&%1roS(E|(X;O1yMGY2?R#cX8;%
zPey`<tPqk1Pb`r&kVWAsVcCB#3H_H{KmQ8-O}&Pnbya(SZ}2yZO$>q5F@Pk3Maaj#
zY-Afns?}7)G10;kQACCb36Qt!ooecPc;frTG@Cr#$XM^K{xLJI7UJLzAkIS01jK-e
zOqdOKc*-sU-Yqc)7F?|_8-E}ssqDC4|BPHUc$1bgUNIMt4g)s@<h80D$tzne+KA3#
zO!Am`h)0P>qDx)zT3vcQERizw(n^3q0M-gpv{DA0BR~c?)R&f3KM@{rueU7fhp5cJ
zBK%{<K(iivygj+SwI<OEr>#xlwB#+i@0NI;QNt*RgJ9D?kQZ}zG;z}AvF0Ozn?hD!
z>qS3v`IZ$8&#7S|Ct?gbFeJY@WnEuy`W&N``qGAiJ}-t%Uf15Hz@uci4%~V2?c6{K
zJ4Q&!`v-E;DB-D{mF0k`g%SrS>}yl-Tc@Uhpj^BU8h=-q*o~3DnqH-(607S!U5ken
z|7>s-aLzfxdy0vbB0?_0fC0dtU?6xE;5+!`+PY&+CEHUA1&9~wj5UezvL0b!=6T2X
zSez)7?vpl6av!Sd36n5CzQr@b=S(zOrVP<Upw*rxfq~f0ASgQbT08E}(cO*aF7+yj
zuo~HQhUfiy!mnTIUDY0<-WgwB;;sU8QNF>RA0Jg2K3nxQZT4N?YFBw2eA&qDf|u%(
z{V|(QEB}+|JHvMvg4lZG5~9)h0zQ2h*+q}SqXP^|&lzSUI4DOt9Ux@^HP{mPTMT7n
z+HSqO^c^aG`&oYW0Ska)@Wv@*q~$FZQklQ%n0qpt0K#{6fopo|$EK$rbF<^hJE0=s
z<kM4^`n>up{qKZ*E4-yb0*@i5GvkaXbb+Sd$VKK&<uGf3QqY@Ed*zcwqX&D__eYOc
z^ydefrMDS=Um(ww*pw(4r~yc}oj*eK(A40zKGJnL-7ipUj0SWCU938=C^7zrBI{q;
z_rI>k{zF$68m%-;WSsyN!44f_APN!^W4Brgj}|ddLDAz9fJhW!Nv3WpVoI~^Lxfg~
zC{#S)4+m+I)o;a^aIb5A{@-s<&cz5w$b)e+-^R!iw_oSuG=tF6p9z)9_$%ZZkvmM&
zM3Z2`XT;BIlCPZywH6ha53~OuZ`-ZL5j`IseAprJGUj{9gTZhSP+%8yXk>rnG9Wm!
z;Kh5QGQG#neR<LDbu=_gxA1t_CZ`i1qk4=FTamY>PVimB%7vv(3!J8ecdT)NJ1r~y
z15R-s=gU;jQ*<vzgzwbNgcVa$@ci3-k57&k<upcwNkPc#Cor^*>%<DJU4vtBR!OXM
zN^c9(<R;r<UtBx8$G9(%kbDzF;K<@dhVE;3yr>g&6P;lAGZ`J+dO2ub@SrjrLrfMp
zwo$|M-vfmf7cjJCsEn2#tPNW>_WTS=gfGvt$zk3Y%rAHhuYL@OhM0rS1X2=P$)f<w
zS&+@9rGm_493Udayu2?%VZ|#96abPr>hqH4*AkNiqX#3jG}CW{&U+q~5-p$8$wQr`
z&K881Cr%&Wg@Y3~y5#MTdesJn-!x-)Mgc@}pme|W@Vaax_PeR*9*?n3?Qc5^pPXmi
zVnY10Venvi(S@E`EdsrP76?qdbp`@D?tdpopdgxu;{R1mR5tnMH$iA;=iE2B3Z=c|
zPz!Pg>|<qh6u8|jq5ZWCcxe#%-)m3{hD<EG!7KVtzr^uuB}{3w!u>RWwU~dl%(em?
z0>FeHi{%t5#XzMqkU+48QL~&-r3(Bsf$#Z$u-5<Tpy8jp%7{S=R$A=Nt3T=|EEqi2
zx+!OiSJ{Bl(-#Lvm)ox1rav6?l2x)2Sp=_~C;*+Q5<?+z0Z0M&_cMA<oS%m|eeMI0
z3OvNtEy--a`DntkzqDQh6(IgTxrSnfkCr@F24vRYeD?}BRe0Jb03v;{?Y6tIO>*4T
ztJU|rNTHMOC|~5gu{KSkSLH9jOD=}%5GA2WMA^<3+Oe-%gh1?BR@htjKX0$3F&Lgb
zb>*euY5YaofUDR975hJ0iD}$(=NKkogcz&u7%P!m(-2>Un!@W4xuL!X@LJI?Uv6y#
zGD|QeYzee2U7HCpT!48aabaV=1#RZZ8&b6Qzt=HBcNYfm;guB_eSSI5&BMaNqU9WJ
zH|c-=S$Xa3*ca$bp`!q0CK~NMi-Tazpmpq;0Rr&_@LRvZAElvMIqe|7+)94G)+bbu
zzd(R{*_V#KtPGBlD4|W(kLT_?Z^AdRq6}w}yGx9&>5M(j{5zi<6knk>@?N2-U5Lsg
z+oL<kuJVFJXb4fZ`<AY9h{t8mxy`q-;gWA7bMK&y)Pr{KJSEM`Yo*O?(=6e@?=sfS
zGlL&KNx|J2H4dU^lW(__y!3r?<sS<cvmEnhM<t!r#t*B8EiT1EPJ_$WA-qys|Ln+m
z#z1WB?btxo5j-KzoKIrkjDE{aqH4pOkK2I^>}Gap#bkkL3y&1W-?C{_{2}ZOK3j>X
znStND5mOR#dO`a&;SdE;{x`s54=Bg;ds}W!z143F4lmse0g1%y4e|lL*|RR+Vcl(Q
zF?lA4(+3?Fb-L{jTXi>1hRm#hjzwl{J92nw<RBt_jGc1Fl+qWvUDZhCZuT_Z*<DI>
zG|uuT#+ugg39Uuug3oT~HJ)naVLyZqe}2Zk;G+Y>Y)CYaP(L9VQ`lX~T@(J$e*pkG
z^3bJ`TC8lntj(<C;IL4TQsp)yCUqB1Ci=1}*c4^Xb$8m56p%`0a|{WEoJM<BX;=Yw
zA2<wRx3?za7D@I`YuNZ+F2c+JcX>FqohrvsaMApa@S!#x;&rfTQ$Wg_>`h*kGv_n^
z`QsYqznjm^l;*AW3q;jl5ACAv61il=+*Tsmc6j%BCCjI%Zc8pR8bK`&FhR|P4VI}}
zxCdAW0u*gvyh_SZn#j+`)j%dT4}_d#mIplqN7vnowy&Bm+ldSXoYAtxncLl0>T}9;
zACCo1vvdA>+b>VxH0r&I01Y>b|2uJs+;yYJDMQyd!132<u2Qd2ecg~l{<E8*p`pDf
z;vn%$EO3ymu;Kb&|6o7@>;?FWzbu+@JC{-#Z8PRI)T=tgsmE?}|FRx%$?v@Ff{a?^
zzTKNs<~L@hx&1T-70_YTU>X4N5kQ?^*&4;dW;oZeAhWc6hAv&syN3tl5OB88P5bcg
zo%ehL<~#d@^nr_=Zk9;0t-SeVAn(y>TjLZT;3QIP#7RyW*(LD6{|Pr3K<WD=FOX5V
zZd3!BRaRzZ&U#q`qiYHJo9Pd`Kxd`LYh(Hy>vbBhm*v4xJ=IE;LLz;6TkH5Ytq!c-
z-^+NGYtDr-9t7A8y#I{(=&sbHKbpAmxpTw4eNY^F0}*z4!{w=re<iK^vGle(N1Qn}
z!1Yz`l{UpIKIHBkVR+2di89SKx|h9=6msZRu^*>`Ps%X8#Ob`<?gg!&$|2W5IBYo@
z8`D4d6Y#VIN9E&m*gIRv&%M*OA%|^5lX$BP^3~E?j^&MTjUC;p>0+a`{lzG|JQ#u7
z^5xo?`3F|<zIuV@VK<}87}y5CP=uc(<xCBjDQmG_2)~4=Y$0pRx@y9siHb8Vpto~$
zd25kRcJWgCH!Lh}>@Qw!%K*z;tiNF1?fdXF^C$V!UAFT$CpA<%9^1jura2bkXM`C@
zbf$F2AcsLV{S5W7GfkWINeoNU(31L>NUMNRtYYV*aNUZNU=85kok$R=9Eb5AEl{y#
zkO73fR_ggRukvmG0&y+|?N!La;lhn}kXMF|d8k+0e7LyZwtN}x6Zjr}gLwsaQl@=b
z_FCZul=N7M)8D>$iUPk}KzeRlKHp<`YrWWQmTvlc1TQf;NAV5Nrw&`#X<k@7Z;pbH
zk<D`<6Y{3(iC=zk=n~W=+8U-QsUNrd$3EGB<?Pfn=K0d=Y|%+jK_e7)#B&u+Qi<|H
zlC!6+4rBOwZwq;_^K!sX5H>hb%Or$L`ct;Y`ZZ&o6eQ8$A<85APF0Hb(nCCC(|ptX
zfzQbw>w1VMPn>=i<w-S6e|K=`^xE_zeL76=vh}b;#ZNh%eshPyb~+XHHI`=_J%V8Z
zTo5HRjdtf`*c)4%8R3`ypDu^4QV~L=p%LJL6{k@_56Ymj%kuR)QNuWR-<H<D`sOyF
zkkPx@*ErtG6mNgqRWJPTJNV8gn}#NN#t3d81g(;NniOz-G69WW%RFqC=A$QvET8s^
z>xKS$Ts?a1dUTE-?-I~XwfbJ^LTR3>7b;Sa+d^{{n&Z_g{O2b!ixR5uC*iB`$893N
z3skc=%Wg8)9a$%S!$rkY4kE2?+xYaZVkmpK+gi><fTP8})0|v`Fdm!@zPrxR_C3Fc
z_rkY6!ho-sHa{l%=(3w<NakG&xSQ`_H^_Vh`jSw?=D5d1WRy?^<5;Q`t)RK1Td1M;
z4D$o*vaFiZ>c{982-_vv$L-|={uj0C@Qk5345Def!Hy>-mLmcUZ$CnXFUk*=8vzNr
zYlZKa%|^GWAH_BSF(b4*7uFvFLynZ$987)**elWSS-JFCDGv9=%Pp4%og{y;0{~Ph
zaTbC#_U)+}g}@4un##xc;^I>LZWeN#Oc_zc?b0yXv5rls(VItOcIrkKi*5Yn{c5DA
zy%GR~GrXYb%CH%(@}3{X;Y>HrTF|Ok?1hwEsz;~2G!F$8o+Md9<DOLhf#cbd!3Ei(
zpU<dZq=%;rH-nMILP6`CX-I`M99z{vljy%BVH{5RiK}B>-cBfXubSO@%VqxIO_ETr
zG-W0CR|*w<$8T}4!#%jQ0ts4Ko;*5`$l1nAo+%pTyV0AKMRdDYFM)7;@juMXR_Nyt
z{rV{;iCq63{0cw^0++_Cf<KVqH$q(RN&hw+L(p^QwcR@cb8Ow*YX-5O+z`InTV5~d
zgpmaelMJ$sKT|HOdCDzg1S69^I9TWai<$q)AInc5Sr&|d-zaq=7-Q<7+J#!(z??>T
z{xP640idGUDebg?_|PUZe_sr9=^mf{e75x|hNy$Qw=#|)*=nm!TN&KGn5^ubkV(9r
ztmZ$epzy4m9Dcu_Y5J~DyM|i^6%mTC%P&cyC5tuV*Ho<sx#8`?qr|~*b)`xuRet*=
z57KKm#COB_s_o{x`-$wnFnwh@`Xr|_ny-uyTyG4MB-*eW8z&GT!3XVII42Q#<Ips^
z>>ZHZcKy^eSA39-aoEfFJ|js+S(OTq5~jlck=OtVf&9Vi7NH;02i@iI*V``LRQd7R
zhu>FlgJtboI)qwwbII`Q{DXF;7di|v@0?XaldtSrPBWIbPr5a@$5P-vR^INjeHbmc
zC0jOQF6>(1_#Rpn9j2F^M4i}-(YnpVItHY`UW)XvNPmu{$I~1E4;Ne13O8b*-Q2$M
zN4sUw{-!IV9z|7h`{IpD=vViAp`QQ-^#>zYx=A9kW2SJh`yI%vn*6%yS767x;<f|V
zlc5f`_Tl_&B7NsLCQ~g3y7Kkwv1}vrZ-X>f?21=!vEurDS7><mY+APM+Yi2R`=0fY
z*iULJt=ccU*c+3->(y;oYBO%=L(u6J3CV>I!toA`67<4;O!y$Y5vcp+=#j(F^&_TS
zoDwfI;npzk@6>Q~5XYJr^Ss}&-zQE`O7qb@ymY*q)xTU`=oG{ecYADaXnZ?Hhr$P1
zl7s>jj(ai%y)KWv<;pZ}uMXUNhDO_Y9yaC0FXwMF!}dS<<Lf~?ny`VcTyWpUh(fkj
zJeoU=L|sutoVL0Za-CT+T9oI0c=4w`dI|9G2B(knM#Q(i3}))lHNy>uH9FwKSUU4q
zCF<!I>WZ)qJ}S=2740YeXRT@S>GTN2IW6{=D4J;P?eOpe_wS5$f$q$LOM!bLMY&M_
ziHQmO+jZ(A2FDmxC1pD>QLB^1!Yg{WPZ2PB(rxL##(c7YuGoz#bl-!HSIHIWFmaG|
z2dcQmdhUv_{aQ)6Yq}-mP;1W8LaDOmR~ab%;ba@W*9YSPJ#rycZeKjR7*bW-7-_Bq
z04ZAe;yXNS!>uQbPtL*>yg1utUva-C@md7nar^GaWr3FP?qetY%N8_lL~xH2u;Ed5
z&pF~zcl<2V-uw3sT!uo7H=$r^D*L-hYGEseL3az4KS*SaCzzN(R}Q%FT$OXVnznX+
ze(JwaX!DL>8hgRR>GAu$?ORX2G1T(&J`LR6?{FoT(4cW^r3rnuaddQK?pj|i;y@Q<
z<>d|gBzg)dc=n>Pi&`A;ga&XuvumbI;Ga`PQz9yW<Gab)?&S;|ED9NgSZHSF{#yG(
zigF84FbmTFKtVysYvR4|`Ok$6>*3Fr_55~*zi!9bp1e6P8wSMQcbjixaSoVMCjY}z
z@gaR01KYOc6D64vol(XUI@p5lb}qL_K}eFFZC>^_vpclzmt#xxzLG+3Xl8$HSBGxz
zP6<16P{YtK!Cuk#b2}L@Tx=xnx(ybkf21T)5aCmWPuV;cOvke|{JoudG-x>PZY@+f
zkf-@wK<nDS){!#6UT(|Iw+FIpF|UuKR!#>Fz)wH>fb{MsG{5@Kkvbo7KkVC*wcnSw
z*gb--F8XgwR`^2>mt8Mkx!pa4-Frzm{R5+<MTaEc*POESXZk$i+z&NBKIG&0T}_B5
zJN$KV>Owbe^Q^uO9KTi{RPaCWm4p`U{nf~0<mC@JA^w}aqdQB><?Fbt_TN$bhpi-~
z3tY89af+}gexdt6e%WgmT~CRa0<a7J;SA?_pRn=L?$jepknFK-K~!S3JL{n>%c_6a
zV)&^Lb*2Y|vg<|JjApR>TLU|Q9_g<l-_mG3ds?w56!=sNqX9J#o)R*pO2jAGK_CQA
z$?<bgDZ&%NXBz>YCPfC&Bm6%;MS;?>Y)wzpl;-QSrNiPHgfa}yk@Ayqjjj6Qnvf^u
zyaDN5=FK(nIv%HMRYpyFV42DzmkYR7@9=w*l!a+EuOqJhts9)t0DgzEHMbg%i`-_4
z1|Iu$PDWsDb9;K5!n^jlIL*dJguO)Xw$*V;BIG9vccRL@)u<pz7Q9~mRMVjVj#Ej?
zuuF1N*|l2riMjk`o3ck|wsUW!n<k!CqP_K9y~@>hi7xwqn%w__pIoPe;U~y!8t+N8
z8RAf+LjdcspSdex&G@VDKkxQSj+#$q7xx!0eFatVO{UYG4%I7i_K$|zZ}vF+QND8!
z2E;qt(`2S)Xad~z!4dBa+7>aDVnJ37oKHI83x){bAyY=E)hz5h=k5Nkdb2S%!xZu%
zKT$Ysq2Xo#HSRp2AIfE##dAoie_6umE^gskDo*RN=j(AeH95jOI&zS`Me$pq{MPhF
z>om5!u<d4#F+JY%Z>5sq#K5Eb8%p9cdb_>P<Fmexr}vEg$Ja|Jr3@BKBzjAy{H|Vk
zEc$kvX`)n>YOmD4Mh_v;>DZ<o4aE2Rgm>$$WcWX9ZoG;d3Vjqh)hJm_zX*N4$78#A
zDKvy_iqvYqOoL|ayYXkcxBb%5?5urG)q3WBmlUX^A6Zf3T8lPmC;{zFw|V|#ZX@4d
zCCQW{hq?_nn#>_3Vz1ey5b($7T|755@%i0KZ+V9V3;_Vcr3d<&n&>jAi-j7)9)Vbt
z@8sCWz8>{dVsq;tBYs#?er5+>iMa5~*^gwZn(2ccbL{`{pclaDA?2TsW7<%BtJlDC
zFtglxx0#_=(ww+l!Kc=~{bykvR{bu<JNwT{KGkSgx$}i+kk6B{!}Fzb8^F^771F<)
z{BVdG*_W+Z3DESyJhXSs^c|YwQ_RHx@v6sU_(>S-r_5=tm=f;fN*sLGKYmBMMaD`L
zqElhOpTaBniDUv1@H@f+#xO<;lB3BCku$Dwirf2cVv<Mbv7g%7sT}|Dg7P&@Y9WOz
z7FG(zKM>0jq(?i8?DBrk;@=8PQRpcW&GweQ=D&IGu{Zd7ci^fM9+cnxf859a-$a_+
zcz9~~fb{rrw5q%(vq1QGS@Mx|_b))i$3XUcokstpCON;cqQ1D>M8xy_ko``X4_@o8
z?ckRm>ZH5h0FST&N|0WKjw?IdS211qqt|`vSY3M4$Tjwrh6LdEJ9)2}6pPeZA3lx^
zXz(1<xz$_JS7f^w9@+KaIORMf_NuO+O%Xv8?r0miFnibglw?wB-wA$7c+jLF0$et}
zMcDsomRpYIOd%r)J@40lj-X&Nv#tLezQ9n(o>1k<d&q)jMf-_%l48iU-yK1c24)?O
zdj~Rr|7G3@#Bb-Cp!;s4L$$)szF|utgiERNfvi;*0(ljwqU_L%10cIKjIH!sN|-pm
zwth4|*!9cAYyOe-?vK(HiM3|M1A%rq`GtGK(`>mg8ADL|W4{opAmW4I1-(O<rb1Th
ziMC?l^|Dui`c>VvwdOL$>r*@QzbQs4WW}pOS*d2|+B%DJl)NBt{&69;UQQwaq7PP4
zV#&DnnmeTrS_dTX?ErsnXys*zM@dbVaTwGaXt#}=!ZWZGcy&8@N*{b6u;%0owhHy~
zhy@B7C{Ie2!Iz&AsUj~S%yJNx(DfnH<$C$>=94eOtca);8kJ#MhxZ2U71-rrVLc2k
zXEl&s$J%9qkA0a!P(FKZB&bJDEoebApy<8EUBq_irRTrzuDMaP%wMqN_hGV~ND<A8
z21_E`21_^e0ZHhTVhfd0bVx!oGF(T^^cpwK5|*D!k8fW5RU73g<j)$gzv_JMs}Vf4
zQ|1De8<6?NRM_hr{hJ}Y0%-QjVqW8QJAY7eaDkhG5U^bLKFv#^r^Gw_I2OJ}ZxF@w
z<Mg(HU$<A%>c-<SIGDHa2{hy3N4^u4Pw`e+0f_SQe^sE3hd}0JRS@MX58IxCJ1vct
zyNE#Li$8SWC@J`tM@IOmI@J~9(RUH^Tv9koBI7=3nazmT{>I><euYG+vRfGsPA^>g
zPjte6KIQ+vU>-horNIDLgGFRvNX2|KsDL@AX)yd20ve*`qJ#&8_(!~zXdF}G#ZH7k
zw(FbVmna$t45cpy*q)b-29ZTLtco&}5)P~Zh&SQ=vW<Qh8q*B#ym;^=@M0GWbix)2
zE)F_|Jm;e{!kl`ciMa}R=PXlc=-4wQ7TQYg3w<lWvqFAhNuiDjzX#s$7K@hp;-K*6
zy7L&a6;OH#6a@C>a33+Pk1})E2My#o7GRWVQ=`;6@1SCMVAN9$4~}p#v_)B5+!$x(
zq?Cufsfx}qrU@mgRgmB=7RJ$^pEwO(B9+;nYRwvDD%2UU6k)QG{5F{sv?kydJl0xw
ziq55#TA_JbU4zli8$R<Z0qe%BISj=Pg{!CjyAI9IDssP8^fNMJ?8ss3{FKSjKWM+K
z3Un5k!*xY90+@9Zw?;sz4X#3>zYW6e$8J17v}Nz_L#8X{2)!y03Z~RKEBTvVy%ZKI
zqzkBa7u^$yLg{(=KIy>hWFG4*<eX7ZP;h3(N}9>Hp6e6e*?kVT@UfIt*v8{wY-VPi
zUAGjD{zWHc36SetUQlpv?u?4g(EVNMuOUjoy**Cd7rKd?o~($5gSI=`0C}qe^|@-3
zVGb)B9mA{zMD)ma7oJ6VoD)T+Obatu8-;2s)n;_IIKYaxw3E-;Q5FaCZOvsb4q|WE
zoKd+#_Pz{%7zCeqt|-)ws8{k~@zu%6+CGwc;pu+(9n45mZ<%O{riG9F`p|x0D;$1z
zHnWEcXK$z;HZ3m?77z>nTpSv1Ydc!zcd8k<=<s5Wo6e>%h{@P`E;L88pubRC|Io!O
z*X}y#Y&+OH`r31ky>`B~{-SGCagY0PoO9xQ*!sjV;^kE0Ftc3EhX&qNF6WAx7Lns&
z>pBTW3@TlwWnKHy9uyzRWTc9ss_9PDGUS@t3VZGFKh3Wr6{`p;l5|pK8Lj8q?P%WT
z&F7yxO@lD3(|CtA2EDNw6XX{zC}+0D>jPxe%+pS7bfPv|Q_I8*`dy~0XS&(i3d$<7
zN9wb4hEI<t2A`+<NRyNEDGmwWSvM$5ncL0rKOSqQ+zVK`?pjZZ7<vD_0manls{T#$
zqh0lA$Jzkbiwqt0hjm9wT8C|BjmoYO78NaBytxx=&1WgDd8O;mn2)s#yQPI%KRGv}
z;$BJC_c7R{Of{2v4%SrMV?^%o-r-ip8`{&BMXk^8X%P*MjYp`ynVF~$*G^<<Xtbp_
ze-n~jVO8JPw0+<?f>-V^P4r=lQME*JpcGftK9XQQ(6ldr3*}Ji0NM0wI`e<Lu^~4?
zq~&p1aI^D35c&hdH#QAd0s@Oy&a9=LA;IJY)Av78pY~vy37rqi9P<x1!SV!4IB2WE
z%4yH6t4}y62W@N$*STI;DYg63&d(s4V&Qv}&|Ch|?o!T@sNbv~z&n?p={RQMi8kM}
zR65;b%$uq*-BPzsD-Q{wCseVd4~m|)EvnbHYuj8%C`tiwQE#-SAKEgVOOAgONeLzV
z>06b#N%tY4%tSm*$F~JZWBTJ91`lC+lkLkhq~7v(0J00(ZK(Ae1#RQw{EXf8P1elr
zs88E(nnH#3ij?dXeOF36nQg7t=pRy?Us4Gf<FuLDYm`4XMGD_|Dfd#;-h&WTU)z?3
z>`Hn3S*$X>2iN19?CqD{>Y0{G{ocw}dVAHT2b+7ns!W6Ql@h@bW7Q^>0-qAT*NI8!
z&>B+t7{}F5@IBLB0Zrb_59qc4Dh9qA4Bo!osjk~pnXDwJtY{<z)i6ri=Eisxv_WqS
z?<oMWr+~I><*`$fR92;aNRp!H>EfZP;*c9Dpo~cMy%lo4$%Kw8eMrPBsy5f|^KsF@
zKRL1<96<rKY6kC{g3;q?LNaU|C<1c$^28axoVFNse<J1(w`QVYjKHXu{Czu*#e+Q9
z3g}pVnIxlY<*^^wdw0+=JV69Ql2MM{>+Uo8sw4HQM1W9E9jEQO!z*7)Yo$l#<=T}+
zTWVd#bZCB&y(4EykyU-V1hwk4;nIfB*PT++(c-De2^Ug~uH4GlNLxOfdBVng*TWb0
z>pwl-WqoO0Yg#(Lm*ivn_q%kNbpSCd?Zfmg-W$dKG94EJ-=AN#aoU_Ygq-L4Da|%Y
zwA!0OYFg9<U!)0avXaC&B`EN;yNWB0qJ9?8ScoVhBm`PNWN%>%5=I^oW_(v0v2nmf
zPb;d$WB5fEE*en=nEodGVPTEYY3|s(sQ5>Es_|;^rE1Ze5o6!92HQP}JX^2&;&$Gk
zc3G@z*J_gTtg3eD=02w~oo8xOv}@`m`_zoKqT*>9v9n`|Mo3cD&wi;16^^|64lB|v
z_<U^cs}!jE0sM5uH|+tc{cPq#`$jUbIVnlE$XGG03^@M6f~G+x-n0~8VOTWetPSgb
z_biqf;_wNIrTQs09FQh$fuU!JE=k@`;IJn~EJ+_fFI3c7jb%$Dmu<v3C{6wAMofip
zVMe305t5is`tH$!N45l!elYI4n(hIxo>00>SI*@DRz=P%Bk;k{efM2kn**c`A;TC>
zad~1F#P?!UGxOHU8x8%q)shrCJY5kiytdx=Lh?Rc%Er@H!txkdsADUNZ<yUrNZwwF
zXOvC^)Y719LotL;Yz#_+uGR>V30l6=hs8oq35Tah=Iak?**3o0qM>|99G+q;SS}&>
zx=@Hsw7#%&j`1PiWSL<Bw_1H%lfDZc>wZ-kCC(a{W&uA~w%LS=8jM{8YgT#MQ2>yH
ze#%rO5xryPNTFl?Ks=+XPn>2!$@j&H1cgz&jMs6F&V!*v&BSsXMi0mhuE!vW+4Aoi
zFBO<l$X(E###dz;N>SdeDlL8UGah%?aU-Bito?%?QE*s}KtE(T6npO@MrMPMp;k;Z
zfg-8ekJ%bK%2$vn&7wMrguzJk-xR#Fc-D=frl-cb!GR1Ea{$U|2@T`W0n!wY^2q^n
znDLo>6+?{~J4M@6y_qV2Sa&3hEwa8Vg7Jf8rZUSQ0gfeBEmIMGVHx4TDxi%%&foua
z?-5DBMcw-36ryTF{C1xQj9SyZicUw}T1Ij}MlwLIHxL?+Czs<m=&=FmtJTJ^glc5w
zX?Kx_N=25rTc|<5<G!RLE^O#(P24->gwB+#b!STf^QRTZ3F8ff0jez<GN`(~I&bpJ
z&qdXV<9jgXaVk(kk!cGr3=$$}=#?B~=e2SN@-_FV{0Y1y=hK+zb7`G0WEcv>YFM?T
zF3hyY+?ncP0476S^q#wK<>f2IHV9gB>S8A)2J(Ors;PL4+%pB|4(bMd6;Ruh<feU-
zZyQafW+tH;cBTQ0%ZZGlY-{c+YXUK@)Sjc`wO(^G49L}Qku`Nk*vh|&Q5vL2m?X^0
zB(#aqDMf|#1r^aWeC^Xk&{O#wORJp72WUt#k%Gv|ln$9H<_*j{lm!jZVAO-?Kc;h(
zS8~bKvY|tM(%M(0=#I#qQgTpO0yLRsyPEizRQv0o4aPL#L?$8CWK&7I@*71TX#s>U
zV{J0*`aC!-9e)8CTp}UGKYn1G{dA>}cx+y_jY%HB!(jVi8r*7&qYbuEu_a>6O(<!7
zw!t|5vQPwl%8tU~K6&`%#~z(Y<pIa2$(R&#)48|d!%F0_3G}hA^BJ_D*`|)ydK{{@
zQ9IsB>Hv7H6>-qO4G0a^OCf>94Pi`~7~y3jzOlqx9N61YjXAHQnW1Omu<u1sN5NkV
z#At|FU^{<{UfwxF@>QX_SCUgq)WQZ@ZDy-u5^t*agEKgo&Gaj(+;O@MkdY>>$g(w7
zbZ~P`FioQ;o<O{)mE71R&v#TV;5Apq1{Pc8ii1X#kI0~0$?7-#DLH8{nU(r`mK3W5
z9o~*|&F+W<p!TP5l`t+ThV}YtM}nEuuw0wocmmlEUIc|Nl!D?_Q(q3rsr{rQa*EVa
z>I?J$(Elh&CXii<0upHb0s<IEH6dW@YyvjZI(Sy@nUz0M`-33ArWK;5-AAYWNX@Q(
z+LwyvpR)Z)9VA!Z6Ok~A@m=EURJ{nzo`a|)ml#7~j}E1rso7ld8`nHq1}O?_Lmeg)
zMsi8DAD+iSjrFWs&^Wbx<glUfDPYi)1GL7VmJKY+z78z&r>75gR8q?LvBGs^7*1Pg
zSW`;OTGxYI^CwGcLM6cxh=^ZPtpfsCDmJGVsVu8&BxtXk;_BHBdsOw~#g@&bEf3)~
z2C9h=L&J-HoZeW`n@~#sIJN3cRpH9B@D*jU24_oYOT-H(qbJzeSS6@3CzG?s4VeHS
ziFvSawSm$i`rvA%n2wJR;no?Jq4WZK#N5(=+N$Vk%wAWyci>$$lRC9r(h~!UiA9zj
z;MWT;I;mal2^vcVnTs1OR{Y}9PK|;bJ>F5XSY66@C3%h?w5w?4Gf-8z3cZKbqU#u~
zuWj-uuEVH;LIlK&r3PO$Qs@#Ari1G32-UGDbI6S{td<IAJv9YODUSR!X*gSQKdUs2
zd<5o=dz8slet%<P#_%JiR2_CBrjezVMO;&7ly6Wt4l)hG>i9GMJ-zp$YMzEOulJ^~
zlJ)ENF9%-KXwvc@@l<u?OK2mFOQda!>3(Pwt(nx9iVprU)&9;P3@Q#ef%CYwW&S6)
zi-ouV>xsC(T(V|8ZYRwU2<K5J{G~3|gHOevLQFsa7@P=allfM%fzmTi4l$6KUYI%t
zB;;gY>XVNFuL|jq;3cD7V01AXIn9f0ssDb1L?{y`oQ<cCPNqRA;zE0+X}{leMIRTJ
zwM|Qve<z1i<$IE!naMfY=s~U|;jw6BN_#atD8zA{!a3@FN*3U2O|5DyllV9l?Y%L3
z@$+Ze^Z*~OmjC!7m5w&h7iID0V&w+6x8ug+-O{MAs?zeAXdfE}a;i}knScwu^M6&8
zjDwsrd548g-7sVdOpT4nE734`cpi@{miW}OnoN)Gx(!V)PQT9;RVX8Y|3C*joY=L{
z2eZkKHH9O1&7)^8-tnN-QfMyMzJ4Bs4woS1syKc3kge)@fP>R*mV^xmS&kh3X3^~k
zBTgsvYj3eqo9D$|d?<H1r*14;cY&{NwPWK~yu&Tf>H4mdJMpwQ@H74?-SwE21|I$g
zmJ|+<Pr6odYzeL{1Y<*2wB*mMxLOEg+PvF<NJu92L<E?Ru+<xwy5*YXX)Hvu-Dr6~
zdHVPTLJi5!b`@|J%=m3!i3FCCyY8eT{}=fjoh;P;k*DHL-q%cBQE`++Xg!qP<ul@+
zG-rL5*9|xvf4P#<(7#+s*yvq0T0tx#V2kY9n2|;+5TC)FkcWuF#|twW;Gw+s;igNK
zZ08^de;=?7g0t3fgf>zLb57vw#1SNFZ><Cb_%Q=fE}S8W@qdpK`+uU*4k)oa=&_9P
zF?dSnM#7EQ`ZI=3wkgf8gzH@;mPMm%^<=s@{8C)N@91)*GSRzVF66jB{!4oAe?^!a
zl!E^J*><<T6wch0vTUG-fvkf_rZfd*Q+9B4Fskf$OtmhjDsRfK@N<AU`*dg4U}GXP
zVG4aO4%o<nQJ~FI-%y^NXGH~2kbgsa&cvY>6#yq4fx*5722t(LnDsE77xdhrBJ>D^
z8kmD((4~M#_#2oXcZ37qqITm*H6D`_YGA<IpYfyUAu}5wo3H2vq7i{?NYyb1MWN70
zg{C0)0W3mMVFM@>jp&6praH!;2o!(VEC;1Q>kItYMF*E9*eZfP_@CI2e}7^Um}TZ&
zv&uOK-OZzHkyL&*!p&h}wtaZ}`KU$A9)1iHCAvQ$UHn2v5xT}vYwuuWWK_9LxK#N3
zVxd=Qe**3K$Quf>7Y4_Jy-uw6-;KICyDFNspSMz3WN2<H(_puGxV^Cl4;cIMcFi%q
zD>FP8%bOuOe?I>l@Ad^<@IO-~IsKPMJxA|gSb{yNk4M8Tb0r?a?<^L%|0JeOzgvc%
zUCgBWX;~3Rih?G6`>nEm@pYY`e9AfsvC5eO4KWRn{JvR4XRC|tC88Spd`63s#L-MV
zMI!i3U~=tSpU!;{nNR)2Jk|^|9q(o3B-=}*%f_-SjYcKBj~f98$cLB%1mfYe?p>kv
zRV%bJGyQ>>9QKW~SY{oDuR$N3**#&g>U(>2j1HkQ?3YrMEqiH9zJ$%;S;JC7#obu#
z#~9RB=kg9&s>UH-0>?{lD6R7iTXMFr@=ae`T`8(1m)oig))6iDa`HM8C)#-?81^O#
zoD;_9rTEf%FIAt1R#rn%u-;sIf8L$m@x1@vdE3_<zo}EwnwlCem*B7OXv{shG5ZwE
z@P6wBc@HT1osi?k?{V8q22Mt!6Om$7UzQ#*aK>Ptizk(*EIa;Lp0P_Qw{5!89u&mz
zv@y`-KbtnUu=5hRf9#4r1Vmb;&B%?~it&CKU`}OJ%PRS{9b}k1jmM<V4&bDdQ*HqO
z{H%R^*k9Pox(Sk$+WK}Mddidq#Rst_!C!VqBqLp242UMjLXz4Fy$<m^m@c{*V)WV~
z+kBDn_@7QndO)P4W0dFxaDup%Sbv}t6u_>0#O0_|1c=Q>sSlMU-AsZ`(70_6lNpw@
z?ytMqpxWG^vjj+;i`)BX^i_TZ^V20}*Uk7Q4XJf6?~>BB9-mI6J<hmI`7*yF2;0JL
zlf?QNh2boyBduK*UzS#(7?^;yeeTV|!fQCR$fYif#@+Dvp+`!z6IsP!v;JuD1i^a^
zO5HO+_%HdZ>-U>@rjd3eYap)6(ysMUrx2!~2GO~^64<E(3l6g$BH%~-^C-ha`#uS^
zDP_l^R58iKkzdDUqtkQyLq`w29aoq3_m_oH8)?flNiXG!>SC((bgg{kC#WQ}nmS*Z
zRqg{wF-8`-ux`M{GhZP%x1cjvolPug(eJ>z!TWyH`h2V10RAR+lOgG%$THT&s(%dZ
z72CBw8wRtiiC_|z(HWIMc#{~K?(~lq59|<q;jq<;uN8Fh=uUFQsLWsDQ7o{h@MYEB
z^AERW*XaZ_l-PPc3YXq5BOS?@<|pyXUo%Kz&<=94l$AL;IP@aDj|#%rB>z{(7D>qv
z7h%H5l(BYSeyo5`P$6%%v32K&a}p!{;=}diY21Fd!BpDUt{zcg;aNfGqkdf=j|C(U
z+!4r0v1iQev_|=CA~fkr`3S2l%a~=)ug-zzj7M6AE8|XWGV=EQ5QYWhep>A!xY}y^
z`e%l@-gL<T*hWXt^>~ml@Rc<M8d};rq~G@yWX^UhurZ32&^9il)IW>go4CWDP-6Xx
z2+VZtMx1rql{wE@eA(}8{L`AdbgfBxly$Ck_dcn7S9_F?^xCGg#Gk0d{cW7NvT_Je
z&Cn$Qd&VflgCeYnV>7RYJ<HLU`HqEm<Iq-hl&&(yTtu^t%;USDTw72)r?t1hYV%*E
zE#<|0b~x;6{m+L8{{x<|B<#K1J3~PWpH!&x2h-TOA6(*gZ{ASOQ|kpL;KfYl2IQ9J
zeb&yM%41~aqq~1D4^}qNqHa(mzJL2(E5)cSO3hF+L)e|+M>wA1I8o+}v^{gW5wl1^
zvT~*GG3{tA8e;*>poMpV_B}QgnY4}8u8=MCCPs{qqQp;7*1Z^;8ALNIuOG@~9fX8p
zb#G1FrAk?(u1gZEY2RrwsY0((wJ)z?LmZ^W+Qk;K#$-e>6%<qX%7PcLr)hX#{t-=1
z^7a;G^?9hT$ztL2BI>y^Jko&|w6BV^JTaOwt9{tiRhkuq6FsKG<5jzU=$!R!?IuTG
zz#5}Zr_|+qz-ETHFPf;-BP&~>H@dVGD;Q`5;(N62#z>>!Fvr%nUt;oe$$#VBe_Q?y
zo5o3VE3WM=rJwy3;jO48T3lFdvP-40#^|0xNjKnB)V{;0m5<AI3W3d;B&$bNroY*<
zb8S8NIH7?7C+Yi)G4}>IA|dgxNl?gOUl`t-!YTged69k+AkrbC>VZL&uLr1M%a06h
zL71`pj&*McxL)XZRI8|)sLimAlYBo`i`6ypC@ysj+`yb(s3)_HZ=6O|H?713mEzoB
zS$;QInIaJtybP0VYZS})`S2;XTwSv{ehYWICWh@q@MATx_PZ1buL+PZ>vf&6s&rC>
z{00hIEQ5^cPnjSyxdiGWhAzhtn=GY#a&5019W892@08sj3gFfqyS8IAi-gp|QB<sQ
zS=Csn&y!QrQ%Za9+9Y^3Lhh@F@Z-lJs}I$fQ{$`y5pf2?E#xE#Y3mwSCQ#GFA1Eq;
z8(8}rHqpxY3O-~8F~=m6C|nmiDln9GSrV<?VOB|IivV8JQZIRPsSgERHiqsg@wHW5
z6a?qAN1InN7c0tf@`F9T)_@XuaDAfYv|21VHD&R8tv;irGHgYDip%h+u4*NRYI`Hx
z7qi=nSi3SlhK8pYc>dAak@`L<ALw>4<6}oIBs8dQ)w&mzVsZ0GjioUkSm!?BTc$Rs
z(NLB$On}ZloQdhSpbg@y*caGLAE-PfHa7^wNttnq+oxSrN~7ANI>OC{9~6G@@c?|a
zES8S=#LH>!Xz2R22(egIEB1qz?WSXeu8nE<C`<rM6J4gd9cY8NDjfw1X3^&V8)<JH
z6j%7Yc?M}*g1fuBOM+YDjk|krcMsaQLvVNZ;2s=;y9IX$5VD=`Y)wtg{&shE=kHr}
z>+QGieb0H$c|Pa*GIZzH?<gC5jWb+CIT!ROekgsQqWVkQVjM9(L(O+gp`O7g(Jz}S
za!i2Z#nXbEY7x^28|5uAKNf+spr;~)kw#VTiP|Afayb!gk_l<DsRb6HZ`2=THv`^l
z=X{INTDK(6Lp<w{SdycF_lfhAc0+2&X%5%1Anfnn6nF_)ygELIz#73!X<c0c;J^D(
zXm3~j<qE&Tg$PwhYqDd&7c8Np!b+pYG=sUCG4bQ>c53a80Ms{R>_FYpocAHTl%;`k
zXk%B6PR}Mu^VA&7ohoH*p@LrJ*z;ObRr8lX1J$B{{5APc87U8gd&S=|ZykALMvIIe
z)itF!-t~T=^J}u5-5lzxx5%`y^~7xH6wvACFcfX(5cN2Zz=AxS*CwkIKo3GMDS(U_
z$^GAeKUFD^mP_eif{{nvI=&p$q5<r-{&faT*G54MD*qjZdo#A6=NCEL#6!?$pE!VH
zk`TM<`kasRzXm=1mz>mBOauILW~6{SMKU*rkNhnE6h!U?;Jf!~q&^ZXp$aJ<J~oOQ
zoxE$d^?wB9KlqLHJ$jyJ2Dr7j5So$l`UrmN4ju|UqT5<oX!5w_5@|+;C2Uwh&+EkL
z4DIRp$?&A_cy+iC`_25z(b3kH=T&Zpj>YSCPr96)iUCqDV#@1KmQ{*cMz>83{nvxK
z07I$KJmdFlN5pqPmI)O6G1+^IUfC&x1kVk8u9^zS;}&}0u_b30_4@7k1&+yt02`Kj
zR5C?P((!ln@%KM%K#^f>HS&6V(Pqy7m#kzB8>pXL7CJPO?c>9a#j|Y{?syt?R~$V2
zza$r-qkPhi2%>6l_-TSaV~94o%pwy4M3hSjVBDF#eq(dbTtI61ekvcIkFuAQN(Vn7
zppJ$NDcY5tYkz!x1V<8~F!!aPS3}=Ml{4k78*CdDQ|+rOpKm)r#N2@4waBWR3i&6h
ziA?$-$G^{vQ=dM~HKqN2sKi7#xOUcnW$^k((!6DoVef*}@^{{-jH&?u#4<ywa|HH}
z{8(ANA`zn@-Sjuq{=5H;t9yiYizWb^!GF62#?0zqzfEQJ+(c*g>Fk7|S7GKS(?4gn
z!;<j}rToINO)Y^SkWl|WA1Me}cXJ#PylnE{xw>^jXcmd6+9^n3WET#mW&o6#V;oM8
zALvG6jk*VskHMeg|K|}s|7n!}e|VR)d6ATqE)T7)4E->s?;rPc$!9U2gDTPfOM>o<
z=rP9~@(WF_DKto!(E)T~eWG)01$BSjh^e6nq`o>86u1!UlOmy^+zUOp+@pH!n&z(`
z{qu=K)z_OsNV!W=d$-^SRE573*aG+g>;vKO4fVSJ13}0C`ro_rkYI%N#chIRNc~Ga
z!pjX3nsj^Lj#;@bgg4H!=0)ad9~KY8i=7P#;sBZHb3kaI7%NlWM|5oExW}&Xf0vwg
z`vb-?v>;&^;-%-`4vK>bMF{t{xx<U{-Ny0x*Yrm*{U)t8JnMsmTUOv73IhWZD%Ex(
z9aq228UeZT)d}rC4SplmyqI5f0HRuqfTbVNJ3L}%-Qr+Yq?R>E$KTTDWd1DXr3A)S
z|D|7C6wu<fTq9X7E_-fPjt?QabO(97??Uclh+cEDzWn^)^XW|FE;N$$;@2;oD^U!$
zMC!frZzdj^@AKKrE4q3uow~P4iveMb@Rv%BDjol&W(2~?nT9`<&JE+A+GbUp--{8e
zyJpfB<*BtKt$|ezjYC61LtTa;KzW{1p~Jc7#KQvz1<Vg3R*%qAfwND^>`RNWu3wHK
z^7zgJcH=}u?9N&gt9+KpI?sa@G;4k`-~K@FZaDVI_;UKIBYG(8*zXP|{a*i#S)Q!j
z{D&JV;OpwFojm||_6>IZ7Eo`kpgc4DcY5t-UaZPo!pKLp|CP4;FQJ}k0+!Mp^?;XT
z_~3l~?<PgG#R0(f9qWW1D}O5nC?EDV8;6VVZ{MU#HP^c>eZKrGQ1}USgs8;ZQR+&&
zY%%ub;AroXkEN&O)1BGN%X3IEmY#{8`lQ)?$2Bu+10V4ot-_)KWMa}1lK&gZk0CT3
zP)BEE_-fF>6mZt^Qw*0=hAf>s5kxYcZqd0$j31Fw*s>=b_UlGWG3J5jV?k0soXT3b
z>@*$(DO^Gy_;C@4*`WH7Js3Nu<3gxS_`^4^Ys7{|DQgbE>v>_m`mEAdXg@=CMajT*
zMO5$a9g>+q3=Az3wDGBeHc_)73X^lHs4plLO_iG293unot3I4GxpPR|1e@Im3fk`e
zl~>4Mm6pClv;Q5f#=V=LQMkg{QD_;!nqHk#-8of0TJ6>%;pogZ)<cbY=A`9qpx!0s
zR9_hUx-bB6O)#9LKk?@LfnRRcKUtRV{pG2G?nnXH-${mi3bZ!*o*U8MU`!^;Xze06
z^1|{bS{2vmlt20|cF3D#oWM$dZ_d<Vfk*|dNrB<)8huq!m?}9Qu*8ps=*~Q5kjha9
zseR;JHE!UM7U+s~Ekq_Tu#O>@{ugKb686RgaQ(x?gUx%CO?iea6hOJl1nOMKz2xO%
z<D5ifnDFR)6E5i2uirao*Cx`W^AXaZ@87UZbHQcF`C~VrUs*Pa!ZkQqrpx24#tw@0
z=Ki^z0|QhbMyH=l=EON&>}>zn5RsY{()lSao%%)Kf%*yV^{qNK9*(bF2jdxo3cv{`
zxKf6chs|kN`6X~y#@kR`Nwowq#jPG;e9b^5*I73!Te4iUese6hyui5f4*vh47I}!h
zVaI1BbU4<30276(uvx}(KvFfWXp7r!EXXuGLt<~#Wm1#k=B4KQv9&srb6i)`T`y?8
zxWs}MqY~Sm&sL_?V60g8|5hi}n5|~U)>!p`xx|bV-1@gH(~bZ!LAJ<jOA2a}l~nU`
z70{FI_>k=vN|caFy3!1bhSc4J8-kBNO9>caNXn|KCOAjEt6oJ>Z?&9){KKUSR5F-d
z1pom_^Lo6wEPay;=oP;p8@W=uFn!l^y7sSZ2T>{|UMgRVKgdLUl^pMXuljyYi=5x<
zmdC!EzR4((3<yaAf*8j=73au#=)@wtIjFSgqf|<ayVx%@|66nNe?~p`)YxiOtQ!AH
z!ai0!RNc!>cWvG#0Tb-idVQzJU0oM(xdA2V<)&d1u<PLnDGrWny>XtSi)ThH>y2Xl
zqIobES9iy7@LBo^AFH2oP)UbkLZ-ebXNhN?(Ny-XbFf($QkD!qx|jTHtHh|pu!nc~
z*#XSGT8lOjpx1u-AEk_S0BeM?=Plk8Wj}SQEUsLVy+tomN>=z}%6%eGeH;jE1s%z!
zLhizd;rExJ0PEmgL68ij(f?m*mk+N>xubda37CH=l^}Y21E;zG<ejXjz?6>M%H0gc
zHmt7Gh*JsA_aE6j(z%!g>Tp12ah$=J>-#8)7R(@Lf6le}lOfSN-KnKB%rN*(c$)yB
zncJY0M=^<krbHCf5wzmQ304U<er4XaXeILJ4#UI7eXBrjn2X8k>zsMvKt>)etUkNe
z*@o%R=#{bmdo9{_wkZyWoyus%xH>K@{yWqoGl41p_7ADy>`lqLG+DdJIG+ucG_*VQ
zt16hG=83e0GlscJ&%|8F^F%G<-*mN9)`2S8Z;5TC&5^~@nuTeFqcqhVb^=)Tk<#?u
zJFHDRT~m+W9*a_z2L6$##s(Sc1CG23{l5|q-I-!h_>A6O&mP(({3o+)(h{@%Obvf{
z+f^2xK1$fUX{d-c-HQ+xEC#=FD0*;)U&u;9s8Hl{;6wfcgPgd%?oyMbd>#LwmSg;G
zii`S8W!27@wLz7Gp-~-~&zYepv8?<}h1eRaS1?eqt{_;%h};#?(RRJDQl_rYn5tFZ
z$SW)fe%)+iHNh3|sT7^fi&Qq(Dwp}w@Y@l@2c~Fucq?0V?$4p_9%zJ8>0tN?p6$8+
z1y=-zp3S;dy?O?3Otwv~uAsnD8XfhN!Y5H38B}bvjBtpCkGrP+SRziyl!$G3{nn=h
zlBvvgXSSZ1zn$|GrL_ik>`#Wp&voS(eiZ$ZdQ>3I*gJ@Lc$?=F94lgY#g+i!>NkaH
zJWB}WUgwh#O3->|{I*x8xgclrj#(umJs59jv~#s5pY$>L)s^ie>O1a8MU%I`!(}+x
zmI35kGDf*m@I6<I=sITq#M1j&8nQy^)bZQ1j@f~_iX;RJv{h2qanMHaunI@Yq4r0E
zGO(a7H3#K<4229K2ZxpQRZsy<PkwKUqA<`LN>7!t=ncTRb(zyrb=0Cg(aRPZN`v0|
zy?L~Kp?y%FS33&5vNE68aCYRAFLwX9mNHwA_eI2m@N-d8bN?L4Hl7&@?4P6i4Pgb9
zQ7?=8O1|#T(!`U7<e{4&FNfGR9292H9fTX5m=F&g33jPr6<s!2l9{hcKkfAHC+rz-
z0PdPM{v0Q^m)PEYELA=}wN?Ov{7TF`AqTJEDeRS4Ghi?C(QHZg^~rM3pFTKv1(Nm{
zY--<;$2?yN_2>LbBzYHRYXci>b_{lZF)4tz)e%UqfN7rehMM3uLrsT3A(Gy1@dtqz
zK|yuDNAiW+<>wg{d4?Kt4HTN&km#N!btnI{-Bj}84srPr%;YW1*Ue_UF%^N)zp7lh
zE|$fV3gxjX^9dI;lH<oW$z`(kWtzw|g1F{W)2+45pxi7Z<o?}O?+Pe}l;_X0$maC(
zQy@+&&Cj~p+F>qm>yB$08#+@=<Gu4M0T2i4E}+I})juJ+LaqW-Z{Lc(c%zwjkNuFk
zRlSmxN)xk@k(nY*Z&m+i#DCmA%^IGwYIF3@7_bH6qw}ew<Y#O23#gezJ{iwYlqbi^
zbo!*?p>BEi(nzV6DamG@ZxeP4xTFfTKt=&&UWtPlBa(=bO9M36^pq8*I@fQRiyPD`
zsuz$c!_8Uug%vUwxjeW^8k3yEk^t)(tuy7ah@RQxadH~I?m)SCz+rN=-4Zy>GwuTJ
zux7S+L$`#q$v)US?+55htaY%wJ5>tP3Tslzg}ws$fiHX1|7kdVDDYYG<@{OR)pM*~
zv1-AHz|g82=Sy#KFO*q@PuH&zOPRuq{ix%^J796CY>92Zty+x>`TNShnD71hdcJY4
zy7yc?-?6%iNGrNtzLX*o@Wzi*{=qJ)a-7*#hoTQ|2?cvg^t=5Cmt2XOg{98A3&t8j
zd%FGcGumFjU071;u`g@)j(2|-cA{jlYZDe0R^%ue*|!XQB06*ts0w3&*VDv?K`e3#
zoGIizy6lWxDV{X7B9ViK+@zoYd8~F7JXGu0$-S4Aytvs`<1WyKDGJV00;WYOS6nrP
z#=pP4S(XDICN_?X(p^axdPWj$x>vB(?w&oD&|rIGV?63+PzL<n#qE(_j`x)@4*fef
z6q~GJlCmZl%g<d>Fxg>zVLGTlpUI%sO2@{-lvr_oYE&$Y7tj!6Hb7HJuSZz}ucKa0
zDDTExo{@;aFY57py|ThO=R^z}qJ<@}Lkd181QaCDjK(Vkf!T`O_DXIBRSMjG;tL?K
zS!>Xufx&TL<)CW&-(&px$2Y5v{TaAe)i4hkKkVpKqD%9(habhnYE?x^DXYEeG5UAK
zRxT3`h*O5PCt^c0a5a!i1aPOi+P=W%;0v*Haz>jUG>~*jkD?FGIfr<g+rwhR1RG}V
z=)2jQo2Ls*8tk*p1U!w2E@HSsO-pfPTA-anZ+^CjHol;zAC;$MndfMZFCD)hv`z9m
zkX(GU4|{~A%Jc{gLC5gpR^yDaXiV4UNEtz{RH(t@fT6h?3%hAZ+?DajV1otF<<Sie
zvEs*(tv;PxD;=PNFNjtFq9H*-o^kQ9=bwRDAuhJzJiE;3`MHDn_^})_iyQa+X?G`R
z=Bm9jcuzai&dVA8G~LEsp^3<1jUxz>>C9C-&{WG+{~ooI+^?5XAIRck6WPcoudmth
zL!xNQvdoO}SNU!*g^9|CINK$?6zbvc384Oxl5D;2D9JlHP?NWNV=v4c%Xq~0rG{98
z3J`Ec6JG~H2Y1f+*No#v$zB#Ngk~3aqxS1|W>r4bixNV%n7m?Ya<yGnBCO(ep23dc
z^JH{^y<vh8agt(pm<<(uo0&Ntf;b#0+?C$|e*^m4D!}8CJU8KzQkry~$75&iwat-?
zl)&4b?!HSJJs(<lP4zlHS%+9Zq`>&17Q@BcZ~OYsljAm`L^G6?AgABo?|+iv1r85U
zaN&~#hY-+OS*Y_k8vUX2`%=)joJw&1b5I@v{@9h7?G*A$!QP<-aqqMB1L9-%5H6_E
z;bh1HPu?#w9OKW)F+9(Mwy6mI-YZ9VqM>hp_s1vnX;BrF@r<BelR&@x0AunUnf3mC
z#{Y{@CHj8M>CX0dC^D#NAF-$O3pXGkI))~{HM0{x{h&y}=gc)`Y8b}2C>)8*Zt~Ye
zXz&I<;?lhu^igq6SZ}qN;NFdi5;+e*<iq!feKD8QcliF6$kt@le1>>{PF$1H2S&lq
zmNKJsk0NfLsy+Kc=aJ*%$-DgVe>i1EdauDXX^{ce1~D{+SG30%j(lvmRXA0y<OLKU
znVA>^{fS7dVM?C@JijK<lWT^Pg|OTHa9A={2F)J%b;B;nqWDZxDZd8{!_~GD#P$Ck
zoFyz%q@I_LZCNX<6h;;nxbP5l%we?Ikh}%1#pIfeY&BDgxrGtbr-t&jLh-a(yTj1r
zJ-}|VUqc@bP6}ymb~6}O!DK71wFK_c(-n5g!}BI!!F$B@3Qy{da7&d`5f0yENn$>*
z<F}fX)f!zFBN@;ke1#k9PxoF<4pJV1qGj6kO2C?VCEIYvk8Ne9YqCvA>x>!kXqiV~
zBF$0UfKe;{lTR|BsuqO9r4ppgl5(Iu`?40gIb9)e{H$u=^GT2|l1g&td7SD1p?vS>
zjn`IKJZ3YAZ(gr5bJN**eJ*(}_#_KXxgsh4)uZ2AR318>Y#1^(t!OO%d;<~MG|^gr
zG^kfPw&j?r+FE7Xj5JA=O<8-09zCmWCmEIulqv?{C#VXi^>j}z$EdHJa>{5`ZFRR|
zJl^;Te8PS%jejO?yUF@v;w5^J$pNQ);v<}`8Z)ZO=^Um75e#G-i0_Fm`OJvzF*S_7
z!er2J7q19RghSMD6Q#1miz?P1Zb3SztB_;pCPas>vCPT{swMu+8UDL+EJ;=M<?o@J
zLZmU~V&O<6xc-26PfK-$tq!3Q!a_Yo;{IyaMMl@!sxF6}-`awc>yirrO2KDXCNwaD
zBs&2+=}4Cdspa$+nb^;}KhIwBD^Vcq$Wm$;;;H<V$Is_`b_>NtL(?P%49U-;Vg+j(
z&Wtpc-+6d#pNtfEd@)_M_uKon^#M`Q6m~q6)!I9k*SUT8jN3RiT5G*>P8Nncp^$_v
z5fAuhntGiC0Yp;+OZ_E1C2eQ&16;IuMeh{O^T+USb_ER<o2;w#0&>xdUbeIY@~|E~
ze;efsqZ=oHDym40bE7!_Lg+j(vJab2HJWn2;BqtYLGM_QOC{5a9l0a}hq69rG)Y+H
zp7PvW^xl^k`W7HGw45geRC5kXMOZ#N4S4M7G{RI+yp9bwH!N3YfgG-lTs>qr<Gw4M
zx%3E@c|`THog0K>Na|ztpH-X9vU-<;_QHdg2#FmeE`hrn)m;qb$8&t)n<km|bQT14
z<omE1mH6`efTg8VV}+VXozHc&8ni1{<dYu=)UsoA>ivs3EgPXNwDZ+y8WW~(1sew8
zK<0`#A-OMdFZP?=+~^%r4XBzwYO-6lYoJ6-#5iHy<K!@b(?Z}zJ8BNd0*|#-NKpIL
zA8SkFeT-02@DF;`7k>t{E}+zu#xN))rFwTo6w^6x0ONdypqb`Pz3yeRu@j02;dG{#
zYx<*U78TU&<d|NkvdoRNoAg3oNc{^O*QloCQ;bi$2Z0uZO!xoHu*1kcfxez<dD%i0
zWf9!1<A_)&O-*IKcqj#ApmVAj!RD9@H8AgL2yO)PFCY=l%6fi##^7kjiKztr5)ZmY
zN!%w;a4E9py}PtgFSUe~HGt<b<$>9JIW9lISO%vH6HuE%o@zxv?c)S-Ns_W<bS`(!
z8+{yXQ=GLirq8acu+wJq!$Wz=^@+9kI3WEeY^&B1REY6aQo_cv0?OHK$?!FI$x;q}
zjbczH$I^SmjTo1l5pP->?>Ali$pl=_&yA{XDH-&8R}Ou?S|ou8fC-e!RPR6+><VmJ
z|6!pbJ0?%YxaI&Hh!1}KMybe;UB#oN1R>46t5~MeaabkGOzcWq9v^%y+Rc$o<@$I4
z`$i(oB**bu(@-?}n_hLl%h(dUK54|BcVWQJzL0H3JCe9-XW^EPic%mp(6u!(o;!GL
zL7uMxLvXId+bbBMOn*AU+Z@t5vO3%5MMiujNpjfOt~3KaKQP#n=>TGX2j-dCbSlUw
z>P!h~65K`Hz;qeHNp*PCxuB}7Yl`oeRfRr5%X|o-J4nI7|4!dtpcV2tyzEUA`S3dA
zRQXIxo_wd*0Dpz9ui@&nKo4{8L{&{$ne+ORGtMfiTLJq{Dna6@l7fUpNLb7&yc_9v
zH2~G7>{aq1R#;=jto*~%(3){FY2{AQ?|dZ0F<&LA<$bJeN~+Pv8-@U?Wqh*0J#zxL
zfti65{<I1rEuBa|vur<Zm>=^Rw@Sp!&ouAQPC_2P1Q=^!;q}{I#TsPmt7%x<vp7Cs
z_NWLh_^5HDj3S@X0dH1TzAAo@DjW1U2Q&KwgtdWUq?qY@k)<VGK1g$Use0i}?KZ$X
zeir`a=7q9_nl(z+$fp-;+bFl~`F7Iw7_8*u^y|i?chuA#kBpf5Zy%vZSOHBe%J%nM
zbdKA^0e`S)W3IIM+H<16-$Dv*^qQ%#YnMmV>HSG0U0$G{*DJeL7*T&2_EX&XN{1^p
zQE1%bjagAGQ>eSx7HS3G{7U^$b1erGBa0@0dP&?n9&jV}S2f6NhkHi<Bi#4y@VtTW
zuSM)z$(!c}>{F{n-S`LhuCLO)^||0*NenKZ@qZh&f181mAJ(B9i(V%EJMaj<I#x93
zm%n95EkOt-`!M4{lE*KO7I=0ODcVNjN82;<Y<`WFkyxgUwjJ7!H|wM!EyllWiHqx(
zy-44>H~0D*BuZE4Clf)sxcyEZ?*aa98d+q6;BHlqmXN|Rj)i_s21iC6TfJgFsi6KZ
zDa7@`oQ{GmKAvl8r6Qk`KtILsQF>vI6Z+9*e1Fbjuzd%<RrOkgvy(0m1MoL|+7#_}
zJyyy(+kH03FecqqV3)<2MT*NTE7=zh1>0}S^(N*~89g_BN-R2<>BqaD5?Rt7G!b#E
zlZq9C4zBoFdDr1L>)~hqJR{oX51-C4AoD`D%`tV1bK#7dXL0-EXZhL0&UzhbJpy5x
zlle#H19;t3Y<Hby>VH{=O*~*V_~n-OY@bf<bF6#s8sO6OS*%woqON`U2D{<efIZOi
zDrB`mo%N_-#vjcPUSpR<ZZR=&w70KqFjklsr7()pnBa{lBRYx!7gjAw<7oQckp6lr
z=bCl)u0OX}5clm_;%{1ASum`OLLHKPkq$F7lQ`d~^g)}a@##3uViMUPC+SAR9Y^np
zB|fV&{037i!u$I(BC60U!PSVd(3TJR&DSV-=JuHVXD244(y>Nb2>5s%vfNQYwTmBb
z=9CnSUwiMI<$C)Tk;g3$qhCZcxVa5z+S~#ZjeoP)byp!{O$Y$hNl5nO?ojLUzs*0-
zX{Br;ULibQtho0f@mrCk4vG)@K%vUUqo5-TNcg`|^d8B*f0W6xPW}#Gcpjgd5jYX$
zqFagA(I0!IvC$Co3FfUQ=$j-<EwWJ?6kmA^HKFL*8#iMY<4XK7`B-MLB<ajZ#0zax
zVsI2^b8O{vMkR{8SU)sO<|%h9oN#FZ{$Npl2rHVCe7Sm@DS3qJt^xbtJ*N*1eMXgM
zf8VQ(ye#p~ng1yI-*j#{*n+u@M1#Vy{r6L&X+Q71a4UZ_r_z^s)x2t`i$8AYMB9-i
zv1>UQ8~bZFcu)#E&~EoHm=h}~S_yVdu3=R%)!L(Np=WB+l=*PvqJ&DKw2)PP(XxdJ
z+J|ysypil>n>0@%;2hTCfjGvAku61H4*0i0{1J0;&eQ#Q2<5P|#O^m;#_z?DHJT$u
z!JwAqz>k1WrHaYLD0jlB>j#ba%;MtWD5N9OAD_wpBsRcwQx;4je9eu2A?On{<`EEU
z-G(!CJ(iL*lrUky8(FR0U{pTWMK1EY`=LNTMBzwj42N3Iiro67&gR7aRb94vs5yy{
zQ-|R~F=Y}G|8P?FwPyu4UlY;ag0ZP#`+t|=7crf=C6oo?p)~p74Aa+bjmOPlqh322
zH4=+b<8SjxwAms<IU5%VnKYMcc}2!dqZVAM>Sh<2**TdMGwO`m1$S>C%$?r+46(Gu
ziE|+s^#;c}dF{2gc;>WazRZq`*Rb<;Q95Pc6$!aVSe$29DSqSBiI(({L&A};>CS(I
z>vFD*SFQ9_#!f_|BoEm3(nH?$F^n*}HDLcDd3|_K9cDAez)z;=2@XOG4<{C*YQ=X6
z)tygtA7|lJk}eEc-tGFDva4XPl6$?Tt!#w*ELT?1X4@SyQEjakv~-*=M-}<~`3*6B
zL$SZjNU!FHl?;6=rX{jZX=z)IUWfIzZ2@zc8UA9Z?ENy{mP=Ia=qvzl2qkI2yI6?%
z7fbec<cM0Jr;}v_{@YHFi>op6Q@X8{u3ze*>3k6~u$#3;b*83)yVaD*>;5EaQCxFf
z-a0R>;E3LuMfGbcx&4k)Ra3)|l&9ht?{;UOV6cvIqY?unenlfAqa)?61O#?Y$Gg8=
zmJ!M7<k1>q{6(}42vyD70+?x#XB2p#GgWp@80?abGyLGhwZOUMDUM^2y6Bi!o4FY*
z7tKD@ww4dYIcTAv>4}?RMOa2Y&A0zvuAHK+I>E%FK5n>b`jbiTUs}bE`dO@_+h~DR
zHYo*vbJ(*#2pp%wWoq7V<)+T1t&lbz%{h0knN|`X!l<F}>Cm!xs8U;Wf&QBsA9eI3
zsFWzgGvvW+%}1zJJ*s)RDRYa88im^w1Z0Zf^cH)lc&hg7^{jGlmy;Vsq&WK8oG7gm
zctkEEwj8i;YHzaG&dXHH+2ktngE>^YrYOszgi}aM;p~U}Bqt6-kqb}1&lhXB`EeAd
z(0Fv4g`Q9In(E2FXxhtrRnsdQ8{eq0lq<t;y~G}9Ul*Uk-Rs<|9(oa(9}*}gJ6Q?X
zv*mhyDJpT$S@nYLTohh?m_TxmoU6Kt@(JVOs;%;t=W*Jv!<x6-K1;GpbK}A5Hjwze
zOrU9*3A`ti6{Z4+>ad(vMPPc1o#{tiQ=bF>7I0~k!Hi250s?^7{F&wad@Tmy$`X?V
z8%dg$HcOx)C>{4D6>~Z>PV3!wi$vXB-V$x;(n%0)C5idGt(*O<=23PoW;QBLCtXxp
z3*{O0Fm`tsgUgcmYB#xOaFie1rc#g+`O&x(?ee}y(t>M{*5itY)co&Wjzrz&H~Fo`
zY1Kl8wG&Cpqo6(#mJhm_)};#SMy)MXK}+L~Et)%#Mg|osTt`whCc}-!N`R0v4NIoE
z4zcyCKPJ)Q1DCc5ABLvnWpziAswHtCG!h(yMmhzpqq=rKjx;fS9T~<|P#Uv+Jb30G
zOa5ah80~_k-JmOK&vGXyOy+_oH<Z?m!5-%=IofibtV<!fk<IuFX1Dj^fvL*<!$@b`
zvfyh`Jw`NYOI0^F$g$6eG_Qx6=I$h$&Af`;IxN2eQ(8|SE`HF^fBXI))UD<i5#gg$
zva|2`Qp9&m6!)aCx>SN=Unc&M!~XkD+_V)MA;XNKvps-&*M~Bun1d99^`|r=QF+Td
zO3EsiOir_8O7agQaU}TrgHPRaaWhxo#CAe9Z5?gkbt}FBk|d3QLM>|hpNXONPlyFL
zNyp~N`l_gm1Fb?tz~3w46SXIc`4@}JcM5<u9h$TzrLjge9(>td%PDrYT=dF`fAwp@
zbsx3#{)>L<EqeLJ>v+peRdG)krE5*@q#(|yaiJpbnaLrAZsl-I{Oj37yV;rPQvg@D
z+@h{fwXYER84Fgoi1gy;aoC>1tq=RakZ7$JInl1+<RwsWRkWat7ZvZa^y1*!wGtm|
z<`hYjZ;yscPF-%la!5`2pVL>k*FM#VB(*QO^Gc|3>s6b|nHFj4TY@2mY6N`r9^W!8
zG?**@)u*h#yPS(66py!yxYz!@IN0y7VRkhK?|+Q%+Ff#Vz7I^7<a`PvwjZO(BoLY>
z$??k}srkD0I>yvIMHk_foqdUM=-_N`9^#o-KyqSj0>1VEBz%*4bm7In+A||Am)`21
z$lLp<CHFbSxkYCPrvazM*Qq_1P|#*)rCdHCqGvucc)isB5>q2ZBTYXKuVmVI8a2tF
zVDXj_QkI0Qjzm5m9o_8X-7jbqFVW=pF|@nz?my?=YQfAwFtAYQW<Fy-TTTi@Q5<7k
zL<kB-$*iM29)sb1>cQx=Q9<;@f6V+W(MiGRf=*E~bn(~jTyNRptf&{@>tA%D2}6Wm
zpA%p=EA$z4Ml`T1G@`drt9i8uHJ&*Mef^@Yx*KpTqTSQs`DF4h9%8|Y=*_BYQDS-#
z#wzgiMQTjrlx>{ITq*<e#k@tJ|7h|Uyyj`m$e;afRQDA7#G^j#4;F$9J_U&e<X<i0
zj8Un44Pr1p6zNY}9dOKQ?SJ#>6_-Yz0E6ck3M^h)5=n&m<finz`yzDn*}fr5;;i%`
zCszpl&gga~V3{Mk9gClY7eUnHB|Ks(dLE-Nnt;7Ph>mFcG*))p;N+~%6#bGBc}wc#
zP}aI8jT?emi?T(q=%Ksgky&*Y*KBxQvoyl=?Xdc5MFlft@6NM-L8|p$Vs5#AtD$zn
zq4on{CG=1Zs66_1i(HL^47H`VBMN5Vw>{6PYlftHNloF61o}OBer0;}mRNw$u@u>T
z5Wh9}gKsXBWp-8ig+<*I_)4{SZ|cEsM+48Fdw=uuu)2_b6N#ddQ(IpV@Ck}Jz>4;B
z9H!rP{wjqAsqkfh=LZ)qiNmRuvaSWh4B-T(({Wvz%?BBxh(D7qQhe1}G!fG~)GJjy
z7-8h?$6~XBGHbGc@otd9#muk3mEQy08A>9>_i#Hu)A*85Ji7$VWG7SkQ9`?Zp8EK^
z{?$zA*)Yb$i(m8`8qpLBS!dvDJc*x=C%n<00Xpx<zxUhrKkZeyX*+%gvG`FRML5Y}
znH5p_p#nD3Z_pNGeH6SwPP5d#b*Px#J43sFO(9`=z2$69=6N}Wgi7dsgs`{h*IeX#
zSe@LEBh+?@s$U(-%DG{J-UJ1;)lQKdnHbEE*Dx14z`E?0dPgcMOB#9ED4ed~>QwCu
zeV2ND$o!5tJWx94b%nPeBk+_zbl=`B?4ZvnFq6)_k5EW040_Oy4m`U76GBM*vR+~C
z-uvlSBFRp?fl|hYU~h4ds|12etW&w}lmg|>vk3{h_@{yefmJ<DX=i;o=)I4LZlD59
z=K~H__}+x8ar_Zm;pmnRB^aS@emw=>wITxas`{7+*JhiCSvensq2nYqCUUXod0(Un
zRd(c4%Y>QO?V?TPG$ZAI&g!==i9>RzfSKxV0t*L-{wRTHZatO&w_^B36LQ&tyA;80
zXorzev{12`Pa{-KFjRwT(C}zZq%nhR8BPa!7gRauA%6Ek_DBMpiE#tJO&TYWy=y;@
zd%8bHSXraFE+bt)Y1HpeH^9W&JMaBk8KcU91`GFMVJSBw)KWG)O*mo7L)+>*3pv=i
zCWg?QBYYKY=5`UHE@o+tbu<wysJJLA=3IAL=yYZ@$w|dvEKP#!Y$RTDZ<DgW5_X@{
zl7cC_o44(eMcGFY>UJ^K1VcAwH>I)Qib7=c6SsK4omRazn@!@`?t^&JSLHcq>J$X4
zSRwn-VBtl{JejD@oiU9a9hEgc%?~F<E&QxxO!erIK|=1B2zJ2|8oeIT$L`!PJkX}d
z9Z{_vm#|2KG9-OFFw2u7>rfO9`3^~RTO_zQ$q$iu9l7#4$PIzN8;p?#MnM{on(bJ;
z*>)uz&xXMCuip51Rg&;Ca#Z#g<!HbNipoK`p-}-b$p*hc8EwXg^&JIW{#)nRTF?IO
zfwW)IUK-A^e|7uuhJeHoRze}X?O2&so2xomUtPMpuhJ>JalR4bWCGgNdqX0yc5{og
zH;-@3g4FUx`?IjOnf4`Mnapf>ef;!SACY+v)H>o8P9ulckA1G7QrX$ldqEZO)SL}q
zDa_(&@nMxDGcos4K>{NI2BJ+j;g?XFayeKp9L~b$PFzkW=vV>y)+m9H@+dgT&zJa}
zd`wH5R*+D}mm_{)m%m8OuovhioqZJ||7Jxna7iN)tPv)1OU@d|aBZUDCDh()uzx-0
zLxTFJtVatjd9^vOm5@~JV60VyO*u3^Xk^58cyRAR!3ROpdQ6zu;*~b_XUI9rYPtix
zRQbO_Jad`hs<Kukc;vsvVXt)20z{K1sRIp=5eD@vaC;F-p9k=(ex$c)n+K$&!{K|C
zY-Ar4>U`Cy%C2W@WGExF?*HD3&z$)ad$*D%xkul9F*i5E;M$PjOX1&UJtc*EXbW`=
z3C#_HfZ0~1BnOkc;vYcM32$C5Rb?HLfFI&Ud}05L^#4llz2;91e5uZJY91VdTM8)!
z@*2Q>>G{l%&gx-t18GaE;J>wYI%)WzVcn!etIYwaip+gv`-95VraB@H2J4z(;F)4J
zJ&qK?%0%XluDS;QO6zJ`F{(NupGy6_DQz;A`Si=8h3fLxG&L3oW#35DWC%()U?lu}
z4=p*rKgn&wtda`ItXQE`PHN$)9BLe&2qEx_Dp}58=*j2xO=?m!iao<GIW2wa151rn
zfNT)~s!|`39%!@#oQUkfzj2TJ699}&IYWij3BVNb#*~ItiduZg_TFuI$`&v4ym;Sj
zX5PorSFVJvs)Np#nxwm3EE6hHHKt7zt}&B=$MVP-Znhpdr@B?u40DAjmAOE5AzEJR
zJ4!p{m*Q&cSzK!-9Enti8pnc?RS(=6dLmE)Q9TlX>8V}!A4acL_610?Ru6+;vCTkn
z)04mbiH#HBx|pR?dFedQIni9IY8V9&Q}jWLA}F=6keWXV)-+sDRLiev>ECf^-wL&@
zA}1(q9B`?^YbM#?O)oDzr>Sj={dpaxI{++ZNFh(7T$0k~Ntr;d1XGm0a~FRbD|O;(
zNr-x*lnLi4KeDv4Vz7KwwrJGY3RH3}ujD(U(M**`HcZJ<w?}RQqm<xQOFC%Nq}TL)
z?@+bHr7%*Hl4!LEaVVfprJwAJodTv!q>it6Cc7iX+^0&rs~WPTOd(S?C`FFN05T44
z%n#=Fy39`9MMIRXH)xcNlMG|c$2_{@+a}pq652>Ekf}20zm=?kQ5pv$`yVuyvgFd1
zdlzGW^zi_=xKib58J$;6k<zq-m)ygb_}m{t93mYOEXuk2Tc<A&Xc&1@e`zRwGf(F^
zoB+-Idm3vYZ)=&LdR?vc%VkFA7hSQrIUR$D{IvP1?q=3Ji;;vSdNw5Tq7g-!71H89
zlF|G{&3@B5N_UA`jw0z4?A}ZrxJ>P)FS!TBH$zAuJ{;>|3SF^b@imm>4v{r;Ibe!K
zf<`o_E0;#cdX`+l5LHtp?!*B=9X(pooWSwVJZfIJ=V<v!NrSV+L-QQ0qs2ZGjbR=Y
zlwBsr204Lz)~zXtPPwqT!D@2SbW#k^s1~qraC<JX>e70(338eD&2a(MSL0ioq1wbG
zpVxRtq}g~^Qq2+7hu8uf!dmCrLNS`W_tvF^)-9z0M8h35PuiMEs}uRA^vQVlh5(Mf
z#v6_;M2DHlJ0&1z-2MJVnvV<E)4wMyr7h|dO;H3E7MV{}RIKy%i~Uw%sSWen@w4;h
zhIq)WVRrhPi}>RYtbp4;l{iJR)*3BO$=13toI<HDSFZEr+HjysSw*kJ63x$C2i-XS
zsZE7QfNeNEZwJz#5N4BNNm@0o2?yb1d!4)`CyjY7NKSnSfGU2F>>KeMJyBBFYGZ+Z
zaabA{D-!a!4Sct4qWg`Dob<>}LQ#!==N|6Ig+jGi8zmk*6ps2-aHYH*2z)bRIusJR
zfaE(V%L2a)CeEkCy{k%hsN~4fh3&)=BWmRlWHW>DH0Ydi5htHDi!&o=V$H=BzwABM
z-kg5zrfvfI5J;&0s~r0Tiua+UOzkVC@0<PZGW*OVQX&bR<o6s;x+CE;DD;d(!{2hO
zYH?4$BEZ{tcD+LX{3`sdI+eq%=uJz%*HMloc$>{E$+iww(O2D9Q%H^M!tp0J3LWC3
zVp7ywy8(w$5Kl_Awj>4DEoG)oRFw;i1tV7TNVtQO2v2Dlqg<wZ!?{87ugx2|{U6y8
zxRtyA`c_eRz@E`}{kKbektE4!RXMzoV|X#zdN(gf5tAkYOdS;X=J_;OK0Lbfa6Vx6
zg6EwnzQfh+)2B644>pyapc)={r*oNG9^>9vpRf?hItA`0!F_JL%lK_N24~usRL&eD
zQionVwU*Mz?!W{6^QZBuUv~MetX}01ER$@msg$>wytxgHnzqQ&^?w^(Qu%2q=K1zK
z`dzyBW|Kn@S%T-p%lPL?EsXKv^|jLM^fs%QmP}(@{As^Or;ORozru8K%!x2k%xGlW
z74c!!yi=@Kj!Z(B2Q}U|#I?HGc|v(PuVB-|1ucob^X|%9<}qBVaGT#ILV3CzaW*zd
z?lE+5%jNR3YmCJXPW~pYEsBgTVy1cJr0SD&8HPzNnh21tE)tS$S^1}>Ou=6|UY;m9
zMB6O=o-`yP)1d;`ahH3?&g?2!YED?=P{h2KuumSBDS?Z2%%tlb3&p!Kt?S4%Uk#kn
z_GNw#*!2?X39WR;Xo~r!z2;QV7^dhn_Qh0OV=j122PCDstLg@@IQL6o(I1cKv=wVK
z?Y!K=*H+ay^rGq%UhrUj%H!GxA+$p#S4`-Vz#4rB-6{EJm0SLH>JOV&d7$_AZIdG(
z%VwnLbMA06l^DHOv$dnr{tbl@;viNLGcnZC0hG*`ICKES^g%!?@{5qeQ)FT?@+fwG
zYhhZ+$UGVMQv;(*Pw(23A#;nQI#cqkTE~22URzx{HqcKM_>n~xWF9>aUsF-%pzEDV
ze}l@K3^$I%a8y|=HPGGI8i=nGbzB(^@f^9dS&yoO;0YI|5A&~%G4}2allew!I>zz`
z36vm=N=Wt2rGtd4wfy3R;j(U07{_@hq8Q@wE>LFZ370jbK)ZpaeCI-X;l)jhErtj3
z@{8<_cC0<fUqI!*DnVL=(ySTYN!>Vg)j60_Uw|Fw!Dlv`Lu@$uo~gx#&O})BwAsZE
zo%0g6mN?W9htS}EcBtrFOkU>jG=BQF5*qw|e~F(kTzh<j8QMPXnH6{UEk0!*>&|1i
zA7Qdcg81s!IbAosQIPWo_c1l!<S-Ev$zp?a>Pbr*v8rlQuC@eJKBm-p<Udy1*!5-&
z>7{IYz_B$>nokwZv|rCBDN|DftywxQaV1K4tO&4D&3V%rOqqbeWKtD*s~P6FX|@I2
z{}D`oJoEg=ea+nd(#fUt2t`O4=WpTNL}y5!^sv@-bMuZ&Laby)2O;~iBTipC-K8z<
zV|y{>7iX(zpHsRoJ`)j6iQPVosa@zYak~EW33L1s1y1*6R;;YBtnQ<MBjd@eX*s0r
z7^tDw6VYIHo$WMbad5a}QOR_S!PCifsW5%fr5q>f8wL1VDEA9NJ`Y_$Y^aiJ{R#!K
zT+#*$k*frB!?oV@D3H^yjtKoQx4v?t5X%g|qTcmtOg3T^u6s3!Z^AXAn832y@a{z>
z@WbIuotLiBl#~ZU>6YrhSfrh+F=}ubo;O<DK{4szN`;%#PH|n2O4wwE)-h>8hPF9C
zDZ~g`CPiZ+YZvDzq|J|U(aI_H1dnC4Qb3xv5MNNJ`thlwle=q~$TfLMPm9!FYX$HL
zCo?_8bpzro=qWhFgq%#L>Q#K4|0q#Puph5+=~hpIWFuQ&NzFI$&xvJ(<sgolJtkGU
z2$Min5u3|AXHn7=<BZOJMIknA8D@b>Lv{c1lI9vGsI-N*=8PT>rD7b3nn_6zGIWhR
z%NVfbHms6oCU#HmJ15BFUWP-DV_jk-lAfBsP-8kzCs)x(n~}vpq&2OeK8?%L66h*~
zw{Tj5Svfz-o#OC=5JsbS!~S>558Vbr&joYqs$}`%M<hlTE7>Yr&YuG7&{)D{sB(;W
zw~OX!*pn$slq>D>*eO<!ta2Fn$mmS!LI!>7dzx2tAG9=_7P(jLM__7}DUQaZO9V4j
zPdFTavv$HxCowQ-V2OKPoMeJgQ9jdx0r~-zHgmuZm-qwc@~1;&UDcYdI;Ns#0JeEC
zCURO6=dV;u&Ac;aI*KJ10BUgsK18)Ig>I!+&^b6#%ASoOWps{&ObCB74^78A&5YB%
z&iOeU62tRjz`|mxv;h~(Uq3jE*Roi*LUuUp=S+g6oxYA9-njQNck3ER&0t{X%!X+U
zhX$fq9jK`Y%?l?nGmn-}N6kl9kc3t3Qp_hHE=Ei?YlCv?hoVQCVN+S#=vreD$^~-(
z?$>HDt*(Sy$x=^M3h*sC5mE}XxvY*|r1xKKTJ*7!a4Vz;(A=a(eLXCuIYTCc(T)#B
z+6~V`JePZPWA~D3j#W4FWEGT6BX!dbULhxrgm-uT)2H68<kcA~7|@!^V*QN%bYC(%
z=UCPOAIrd^W@Pvjtq|AU7&%rt14SJ(Qw603Pa^!Qto$&Lb39?<Zq0rJlt<lWtf6jk
zutZ^jq+2!M(`iVkRW=sl&Lo<4G&1pQnH8~2%gE8sEr$Ye6xa7QzbpJ1^Bn!y-EM3p
zbFs<6d}yO+dCmYY=D_~V0^jn15?Nf)M}4(WpJgmhM;f;pBsi%)d-pgoIX!W!%h|?e
zwxn_z0g@lXE2<_aU(p&oPkD-U=$ugJk_GDJ^|^Cux0>`A<c|0DOZCSgIy9+;sxeJD
zBz1Uxgt+=4gD?Hl-T8fPxv%2IIyk!z%8+r<45?w6`~xcxMFIW(l&A>hyytZ3*VGCm
z9@D9xe#BQ3hp=&{9%($N*VeGJv`Hrcfkr^}1}cq|5$Png2ibY{Y{YpOeU;3RWm$?E
zt9c3I0!+pqUm2TPWslOvr&3A=)O9kgkCLb<K`1l=xXl<AzJLY<YcTB%S|%jPK6<u)
zYky}B|9R>DKq7jJGd7WIV|pZabU^RU5jefJ6Hle%ZS%23<r^LvUHnWT+#B;YAB^je
zeOg@d5<8!wE<&BQEyczY?sG#;esP@?r)rd%Ls1or<`}OC4YSKxaRXG^y=KtPiwkTm
zxJI=%FRyqBkf3Ifq$XdwNLRIsYED}LhC<3LiJ1VQKt8y+9C@yzM8+}wd)wFtA%t^m
zFi}~0mg)AlnD}4PM@%Dh7?{m>M66y?xSNdkboJ&xxGTuwU=mzDRS#GV<9ilCovk3V
zzXA6wAALiRjbUbQFF{;xKQi7`?%5p!edPiNi+PqEop@h>hlQ}wg!J?M?CMq}jP)52
z$Tbd7m5Hfkk}W{h==_!&9(ks6%vySrVKrQ}<Wvq>c^zJhkyuyX)GQjBXkEj9@5fkt
z69VEGkErO@0VI~wT03Q&;~xj^g$SEhVk89C3=nmVCs0wnF&Q+6)}2hg_U!H@0B{%v
zFj33#aaOMBukKr)ChG}!<SuD{h>CdhkJP((EHM7mt~xhEF*OlB+4mt+2tp+-29@aI
zT3k@`%<C5>q*AGxi@6YlXlhl>u;H}cu4Yx{Bu<pG?@y^AhEPl5K6CU-ae-Ltk}I`P
zAl9r3<wWA;eH6b&1n#kI5{cf=Qpcl#Rd6ID9v9G3o^dw@ID<kmqkj;iFhr9SzVr@7
zqFNx}5(NML_-+E4|1^~xWS%KP99#WvO}hBADO?*{bKl#BH1I%7#HxH0OLcf#z^tk!
zac`F0sRwpEJRuJBry0-fOO4v0`Cg%dj)O)*(sw|0e^M)a4dTxk({lU67`xL%3l_yH
zM@0A7Zs6e~3$<mzn46^?gjd1FW_A;zaw*u|<lw!d-oLje&yY5ZJ3rX&xI;gZfz)c-
zk?pB^9#Oadl2;%vN9(W$6W)zSQO(@>;~tQZU1~seh_pIBi}^kqg7HZ4e-Av8ba^EH
zeIp36+#bWb-0p?ZXzw0<CN7GH^{%ATbJlZ*weZt>p5udRjN^!Itx4f|OHq8_g2@~k
zQ|M`B`7EeV6ZZ&LgWi**08&+=Nz-mfEgtF`)>Xv<>82olWd^G>J7E|t{PU+lj^@?y
zUaV)fE^}fzElA4wt?95j5tjN!`m^Fksk*Nnf5j%jr1;(t$EJ`NYgWGTD7|GRd9ETg
z84S!XLoy4E#ZAP@kcK@xBNmvSPbU&je}8$@qh7>U%5kHI?&kX7!DTJNrpuI!diPMp
zWpeY|!`xC(_F&Wc*eBA=*ON>_5}d&0rpHu9N1SMnB<<zpgu1dC)z&n_J>AfBYOJOf
zVSqZLdw5lf*W{E=o?P19zfSXk_Q%}gt`8V!KMWarg^oUKlfa0E;0wwV5s`RfcNdfq
zk`M%(D3ikKTz)6x8kQk@fqbg7Xa^UG6rMoU06s=W8!uKuqCU_Gemn-@{pz2+^cAgF
z*U}50*!RTs+biF?XHut-XJR=Ol~C`sV}-X{26qYJk6#~?u5!kuV{2L;dm|zO;!$gz
zijk`KafDsM6`+$$U(<A5<u_t|CYbH4>K__#nov?{>xY&Y=<9saQjNW<@=cj0v9VJp
zrs7IuIftVQQVg&8XR^-auj2cgRoO^41YU0E_D79GIC)#au2RJ8x8-ruj$!KKiK7vb
z5TE9=cLHj_?Ofz@BdyQp-pvH~F#8a0=s)b>;V`#tiKozZq1iCByPeNh+wVJQR_w?5
z_eE}D3A>+egg(erFMJYKxBY&O&((XW?feDqmJowcBMCb%S%E&5Bqjra)rzLVe*~yu
z0NsQ%E?shgY~v0*^0BaE5NY}veb_pJO?cbb!fckVVasVMXH%e7F$=5;pZDs&=lc3J
z9d+krzRT=B1mD*)R;gl)Bm_ZP!IEs#=1bfHFe9|cuY&^ZK^i<g;5&eKx=1%ZUi9gQ
z&9^eDO+@teWcb_+$B-s_d|tQaKByjNIF_WuFs$p6w_Glpwz9+&ixw#xU;4~&(HB%t
z1#3k%Drr_-jnb)Xcfr?mq~8x5ljI!+VoXI3cMm2*)pYZ6SMqFf9j2ldsh0hdDID#(
zNm=d|!z#FJCnQzzaE@Nja8_f^;G$1~o>Lp=awH4m9f|4u+y@L;n6R~|GO^7^6x8S!
z9_K3pwQb}16n65&g+^gfrI|Usmx5DR#S`;n@s)_A?w4!sA3i~MMmT5W0G_;9t^I)M
zu&AqFMkg#f^s~Vq9rAwpQwucrOHrlbsZ%h}V<TxqDl8MKe$l#iZ%Eyl_()$L20+Wy
zW`u#m6Pd};l2xqmH;QI%p=X1*I`n`2Q_5gG5S}gG)TyS@d!!JpA9?O~A<HjcF1xk~
ziAa12P)dyUE#TNK^tUiYUG`|K3j{yN&!g`3Ig7V7+%#@ubk&OCoV0`SR>^3fM!}??
z#*xwQ%Y{7S8(HuX?8y{MiT{p9@uB2c=jfCcCydYEC$pt~@aHwhZsa(*3E|G9f$?t?
zhgMVLT*&LQz)HJm8P9DkEWU@ZWZ8{L-JONl<~uL;>piosXcdeR^AHp1cZgucn`^ry
zWwErK%TZ`#=NPUp=64;`wOi2R83*E1CCM3{>x2p4j;Juy#EDj#f1d$yH7KX4R#fVW
zMOW*8KS@CV$rsJKhlAX2rBu{t+1z?o>p__~=(;W@2KvfzXEYF-44$)Pneb%eDQ6J9
zh-+pA?y*#Cjc6#5#y>Zo4xaAzowQBqYF_;cRPLf7ZN>l!U(M++o$T~NgJcZnGLEJS
zD;yv!>#{9&0bzB1mM+nS6HnrD>y1^Of{E;5M2cWFf9B^s+S2G4Ox~Hg(`QX=By}qt
zQ$VS~YTqFtb9Nn(hK@OtHG$rGVJ`L}y&5GT6sSLmCg+2MjiXT4{-3UnR;9W~OIS}l
z*iJZuv+Zt?&~{e#aWmPb32c|DprbG~P?VyKv9{0Gl2v`7rNd}sYM6Hjq=0b@s;H!I
zbWWpDtCEz*bIlHE=wH)Y%`agrc6aWn`#+|?*e7LWN^P-q_)7gHZeBYib?=0f?y<P)
tZ7O;jxLD~FXybl1`RBlyEsFd9pK;6X>$5Ds#hNkzfv2mV%Q~loCIAaTGyebp

literal 39236
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


From f5e1e2536b08d7d5aa8e29445b33375eeb592ba4 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:45:53 -0700
Subject: [PATCH 26/55] Delete VSOBotCapture.PNG

---
 VSOBotCapture.PNG | Bin 36090 -> 0 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 VSOBotCapture.PNG

diff --git a/VSOBotCapture.PNG b/VSOBotCapture.PNG
deleted file mode 100644
index f88f217139292786adb9c7d36d36564097a42b29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 36090
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


From 76d6d5b05f7b387c5934dc7981d897b98b134103 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:46:02 -0700
Subject: [PATCH 27/55] Add files via upload

---
 VSOBotCapture.PNG | Bin 0 -> 36090 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 VSOBotCapture.PNG

diff --git a/VSOBotCapture.PNG b/VSOBotCapture.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..f88f217139292786adb9c7d36d36564097a42b29
GIT binary patch
literal 36090
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

literal 0
HcmV?d00001


From 1904444e9cd881dd7cd15b9cebb80e7477049966 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:46:48 -0700
Subject: [PATCH 28/55] deleting image

---
 VSOBotCapture.PNG | Bin 36090 -> 0 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 VSOBotCapture.PNG

diff --git a/VSOBotCapture.PNG b/VSOBotCapture.PNG
deleted file mode 100644
index f88f217139292786adb9c7d36d36564097a42b29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 36090
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


From 6dd3f34a7c2b3f6a3d76b202bfd71be60f8b05d9 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:47:09 -0700
Subject: [PATCH 29/55] Add files via upload

---
 VSOBotSampeInAction.PNG | Bin 0 -> 36090 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 VSOBotSampeInAction.PNG

diff --git a/VSOBotSampeInAction.PNG b/VSOBotSampeInAction.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..f88f217139292786adb9c7d36d36564097a42b29
GIT binary patch
literal 36090
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

literal 0
HcmV?d00001


From dcf0428999f16718e82a9ad47d0a597b8d855b10 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:50:29 -0700
Subject: [PATCH 30/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 4a912a0..32ece5b 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,6 +2,12 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotCapture.PNG)
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/VSOBotSampeInAction.PNG = 250x250)
 
 ## VSO oAuth flow 
+
+##Relevant links
+https://app.vsaex.visualstudio.com/
+https://app.vsaex.visualstudio.com/app/register
+Authorize access to REST APIs with OAuth 2.0
+https://www.visualstudio.com/docs/integrate/get-started/auth/oauth

From 079777c7ddaf00f1024e787bd2cc28e5c2d6f797 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:50:39 -0700
Subject: [PATCH 31/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 32ece5b..92ce12c 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/VSOBotSampeInAction.PNG = 250x250)
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/VSOBotSampeInAction.PNG)
 
 ## VSO oAuth flow 
 

From fa253e194de1459073293d0c7dd5af3968c1aa5f Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:51:06 -0700
Subject: [PATCH 32/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 92ce12c..3e0dd38 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/VSOBotSampeInAction.PNG)
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG)
 
 ## VSO oAuth flow 
 

From eab70f3b3c4fb36e273647700cfa0bf9f4e33d4e Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:51:16 -0700
Subject: [PATCH 33/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 3e0dd38..4726060 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG)
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG = 250x250)
 
 ## VSO oAuth flow 
 

From 3e519dc358b3bb2fb6a945ae6cfed8a17ba876fa Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:51:33 -0700
Subject: [PATCH 34/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 4726060..dca8141 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG = 250x250)
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG {width=40px height=400px})
 
 ## VSO oAuth flow 
 

From 082556ccc68d076008af679d930708b078c2e297 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:51:44 -0700
Subject: [PATCH 35/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index dca8141..3e0dd38 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG {width=40px height=400px})
+![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG)
 
 ## VSO oAuth flow 
 

From dc862eae4229992576975ca2ee11250c305f28d9 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:52:16 -0700
Subject: [PATCH 36/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 3e0dd38..47c86c3 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,8 @@
 ##Configuring web.config
 
 ##Bot in action
-![Picture of VSO Sample bot in action](https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG)
+
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="150">
 
 ## VSO oAuth flow 
 

From d75650136df12a817d7a940272afc7476b3e6c0b Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:52:34 -0700
Subject: [PATCH 37/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 47c86c3..67622f2 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,8 +2,7 @@
 ##Configuring web.config
 
 ##Bot in action
-
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="150">
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="250">
 
 ## VSO oAuth flow 
 

From 925afabafab4c1bbb2eb6bddc5854e26e2234909 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:56:16 -0700
Subject: [PATCH 38/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 67622f2..18dce02 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -1,6 +1,22 @@
 #Using Authbot to authenticate in Visual Studio Online
 ##Configuring web.config
+```xml
+  <appSettings>
+    <!-- update these with your appid and one of your appsecret keys-->
+    <add key="BotId" value="Your Bot Id"/>
+    <add key="MicrosoftAppId" value="Your App ID"/>
+    <add key="MicrosoftAppPassword" value="Your Bot Pass"/>
 
+    <!-- VSO -->
+    <add key="ActiveDirectory.Mode" value="vso"/>
+    <add key="ActiveDirectory.EndpointUrl" value="https://app.vssps.visualstudio.com"/> <!-- Do Not Change for VS-->
+    <add key="ActiveDirectory.Tenant" value="Your Tenant"/>
+    <add key="ActiveDirectory.Scopes" value="The scopes your app needs access to"/>
+    <add key="ActiveDirectory.ClientId" value="Your Client Id"/>
+    <add key="ActiveDirectory.ClientSecret" value="Your Client Secret"/>
+    <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback"/>
+  </appSettings>
+```xml
 ##Bot in action
 <img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="250">
 

From c882b897beb4ec6c14a89825973a4ce7d876347b Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:56:31 -0700
Subject: [PATCH 39/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 18dce02..2f3e9b2 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -16,7 +16,7 @@
     <add key="ActiveDirectory.ClientSecret" value="Your Client Secret"/>
     <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback"/>
   </appSettings>
-```xml
+```
 ##Bot in action
 <img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="250">
 

From 121f17639b55f071c2096522895269d2281b67ad Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:57:09 -0700
Subject: [PATCH 40/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 2f3e9b2..487cd14 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -1,4 +1,9 @@
 #Using Authbot to authenticate in Visual Studio Online
+Here are more details about VSO authentication with Authbot
+
+##Bot in action
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="400">
+
 ##Configuring web.config
 ```xml
   <appSettings>
@@ -17,8 +22,6 @@
     <add key="ActiveDirectory.RedirectUrl" value="https://tiagonmasbot.azurewebsites.net/api/OAuthCallback"/>
   </appSettings>
 ```
-##Bot in action
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="250">
 
 ## VSO oAuth flow 
 

From 8b1145eaacb05551d2a95ba3defeec1081a02bd2 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:58:10 -0700
Subject: [PATCH 41/55] Add files via upload

---
 VSOFlow.PNG | Bin 0 -> 61283 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 VSOFlow.PNG

diff --git a/VSOFlow.PNG b/VSOFlow.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..50f0dcabb925131819344d6f5d43698cad30fa10
GIT binary patch
literal 61283
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

literal 0
HcmV?d00001


From f91b968f331c1f4dcf9ea5fc20a86ec8a05cca12 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:58:58 -0700
Subject: [PATCH 42/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 487cd14..9513108 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -24,6 +24,7 @@ Here are more details about VSO authentication with Authbot
 ```
 
 ## VSO oAuth flow 
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOFlow.PNG" width="400">
 
 ##Relevant links
 https://app.vsaex.visualstudio.com/

From d53109b31c515caaa2c6ccb5acd480fd14f7b920 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:59:18 -0700
Subject: [PATCH 43/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 9513108..df72958 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 Here are more details about VSO authentication with Authbot
 
 ##Bot in action
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="400">
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="500">
 
 ##Configuring web.config
 ```xml
@@ -24,7 +24,7 @@ Here are more details about VSO authentication with Authbot
 ```
 
 ## VSO oAuth flow 
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOFlow.PNG" width="400">
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOFlow.PNG" width="800">
 
 ##Relevant links
 https://app.vsaex.visualstudio.com/

From e804ef7a908da19ddd07440cddab1643d8536530 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 10:59:55 -0700
Subject: [PATCH 44/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index df72958..a522ee5 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -2,7 +2,7 @@
 Here are more details about VSO authentication with Authbot
 
 ##Bot in action
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="500">
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="600">
 
 ##Configuring web.config
 ```xml
@@ -24,10 +24,9 @@ Here are more details about VSO authentication with Authbot
 ```
 
 ## VSO oAuth flow 
-<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOFlow.PNG" width="800">
+<img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOFlow.PNG" width="1024">
 
 ##Relevant links
-https://app.vsaex.visualstudio.com/
-https://app.vsaex.visualstudio.com/app/register
-Authorize access to REST APIs with OAuth 2.0
-https://www.visualstudio.com/docs/integrate/get-started/auth/oauth
+###https://app.vsaex.visualstudio.com/
+###https://app.vsaex.visualstudio.com/app/register
+###[Authorize access to REST APIs with OAuth 2.0](https://www.visualstudio.com/docs/integrate/get-started/auth/oauth)

From c38ad3c74f1b3208b727d9d5ad1eea36fa49cc54 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 11:03:27 -0700
Subject: [PATCH 45/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index a522ee5..e357ac2 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -1,6 +1,18 @@
 #Using Authbot to authenticate in Visual Studio Online
 Here are more details about VSO authentication with Authbot
 
+##Commands
+The sample bot understands the following commands:
+###logon or login
+This will kick off the login process
+###logout
+If will log you out
+###token
+Will show your current VSO token. If the token expired, it will request a new one.
+###echo
+Will just reply echo so you know the bot is alive.
+###projects
+After you logged in, it will connect to Visual Studio Online (via REST Api) and query the List of projects at root level.
 ##Bot in action
 <img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="600">
 

From 22a864c25467f8ec7ef2ce61d9acec39b3b53893 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 11:16:21 -0700
Subject: [PATCH 46/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index e357ac2..2cd0505 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -3,16 +3,16 @@ Here are more details about VSO authentication with Authbot
 
 ##Commands
 The sample bot understands the following commands:
-###logon or login
-This will kick off the login process
-###logout
-If will log you out
-###token
-Will show your current VSO token. If the token expired, it will request a new one.
-###echo
-Will just reply echo so you know the bot is alive.
-###projects
-After you logged in, it will connect to Visual Studio Online (via REST Api) and query the List of projects at root level.
+
+Command | Description
+--- | --- 
+*Still* | `renders` 
+logon or login | This will kick off the login process
+logout | If will log you out
+token | Will show your current VSO token. If the token expired, it will request a new one.
+echo | Will just reply echo so you know the bot is alive.
+projects | After you logged in, it will connect to Visual Studio Online (via REST Api) and query the List of projects at root level.
+
 ##Bot in action
 <img src="https://github.com/tiagonmas/AuthBot/blob/master/VSOBotSampeInAction.PNG" width="600">
 

From 79d662e43982c133535ac3759b3b7872dcf676db Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 11:23:56 -0700
Subject: [PATCH 47/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 2cd0505..aae1739 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -6,7 +6,6 @@ The sample bot understands the following commands:
 
 Command | Description
 --- | --- 
-*Still* | `renders` 
 logon or login | This will kick off the login process
 logout | If will log you out
 token | Will show your current VSO token. If the token expired, it will request a new one.

From 84ee988b732ad1ecb84b5e929b671fcbaa0406af Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 11:26:23 -0700
Subject: [PATCH 48/55] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 4b4d57b..1fa6a68 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ To authenticate with VSO you´ll need:
 1. You will register an application in https://app.vsaex.visualstudio.com/app/register. Unfortunatly currently you cannot specify localhost as the Authorization Callback URL. So you'll not be able to fully test the authentication flow with Bot Emulator. You will need to deploy to a site other than localhost.
 2. During registration, you will select the scopes that your application needs. The application code itself will request for specific permissions in runtime and it needs to be a subset of the scopes defined in the registration process. The scopes are defined at logon time.
 3. Look at SampleVSOBot project. Configure the <appsettings> area with your settings.
-4. Check here for more details.
+4. [Check here for more details.](SampleVSOBot.md)
 
 ### Tips with setup
 

From cb9ccacbd7b9546b464974189d4ab25dc7c4eff8 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:35:14 -0700
Subject: [PATCH 49/55] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 1fa6a68..408b7c4 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ To authenticate with VSO you´ll need:
 
 1. You will register an application in https://app.vsaex.visualstudio.com/app/register. Unfortunatly currently you cannot specify localhost as the Authorization Callback URL. So you'll not be able to fully test the authentication flow with Bot Emulator. You will need to deploy to a site other than localhost.
 2. During registration, you will select the scopes that your application needs. The application code itself will request for specific permissions in runtime and it needs to be a subset of the scopes defined in the registration process. The scopes are defined at logon time.
-3. Look at SampleVSOBot project. Configure the <appsettings> area with your settings.
+3. Look at SampleVSOBot project. Configure the <appsettings> web.config with your settings.
 4. [Check here for more details.](SampleVSOBot.md)
 
 ### Tips with setup

From f70d27a49b1a4253b3805f11028c467a4dd9d49a Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:36:43 -0700
Subject: [PATCH 50/55] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 408b7c4..1792cb2 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ To authenticate with VSO you´ll need:
 
 1. You will register an application in https://app.vsaex.visualstudio.com/app/register. Unfortunatly currently you cannot specify localhost as the Authorization Callback URL. So you'll not be able to fully test the authentication flow with Bot Emulator. You will need to deploy to a site other than localhost.
 2. During registration, you will select the scopes that your application needs. The application code itself will request for specific permissions in runtime and it needs to be a subset of the scopes defined in the registration process. The scopes are defined at logon time.
-3. Look at SampleVSOBot project. Configure the <appsettings> web.config with your settings.
+3. Look at SampleVSOBot project. Configure the <appsettings> in web.config with your settings.
 4. [Check here for more details.](SampleVSOBot.md)
 
 ### Tips with setup

From 4577e3bcdc05aa5bd40ffb1e38ee66ae54868d06 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:37:05 -0700
Subject: [PATCH 51/55] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 1792cb2..12d6093 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ To authenticate with VSO you´ll need:
 
 1. You will register an application in https://app.vsaex.visualstudio.com/app/register. Unfortunatly currently you cannot specify localhost as the Authorization Callback URL. So you'll not be able to fully test the authentication flow with Bot Emulator. You will need to deploy to a site other than localhost.
 2. During registration, you will select the scopes that your application needs. The application code itself will request for specific permissions in runtime and it needs to be a subset of the scopes defined in the registration process. The scopes are defined at logon time.
-3. Look at SampleVSOBot project. Configure the <appsettings> in web.config with your settings.
+3. Look at SampleVSOBot project. Configure the appsettings area in web.config with your settings.
 4. [Check here for more details.](SampleVSOBot.md)
 
 ### Tips with setup

From 3b24c7c393e8887b0761149c866fea8003dd5e02 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:39:29 -0700
Subject: [PATCH 52/55] Update README.md

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 12d6093..51eaf1b 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,8 @@ The goals are:
 
 * Enable scenarios where bots need to communicate with other services such as Office 365 or Azure by obtaining access tokens
 
+* Support authentication to Visual Studio Team Services (www.visualstudio.com)
+
 
 ## How does it work?
 

From 62979c7569423929dace0262ac0a12450fb3d29d Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:45:32 -0700
Subject: [PATCH 53/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index aae1739..66ee26d 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -41,3 +41,4 @@ projects | After you logged in, it will connect to Visual Studio Online (via RES
 ###https://app.vsaex.visualstudio.com/
 ###https://app.vsaex.visualstudio.com/app/register
 ###[Authorize access to REST APIs with OAuth 2.0](https://www.visualstudio.com/docs/integrate/get-started/auth/oauth)
+###[API Sandbox - Select Visual Studio Online on the left](https://apisandbox.msdn.microsoft.com/)

From e7a0b09494540a1b2d76370225acbd793b429fd2 Mon Sep 17 00:00:00 2001
From: Tiago Andrade e Silva <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 12:46:24 -0700
Subject: [PATCH 54/55] Update SampleVSOBot.md

---
 SampleVSOBot.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SampleVSOBot.md b/SampleVSOBot.md
index 66ee26d..1181efd 100644
--- a/SampleVSOBot.md
+++ b/SampleVSOBot.md
@@ -41,4 +41,4 @@ projects | After you logged in, it will connect to Visual Studio Online (via RES
 ###https://app.vsaex.visualstudio.com/
 ###https://app.vsaex.visualstudio.com/app/register
 ###[Authorize access to REST APIs with OAuth 2.0](https://www.visualstudio.com/docs/integrate/get-started/auth/oauth)
-###[API Sandbox - Select Visual Studio Online on the left](https://apisandbox.msdn.microsoft.com/)
+###[Sandbox for Visual Studio Rest API](https://apisandbox.msdn.microsoft.com/)

From eb7e196aaeecf30184e63798bb55279f4d50630e Mon Sep 17 00:00:00 2001
From: tiagonmas <tiagonmas@hotmail.com>
Date: Thu, 13 Oct 2016 15:21:52 -0700
Subject: [PATCH 55/55] Reverting other 3 sample projects to same as origin to
 avoid conflicts

---
 OneDriveBot/OneDriveBot.csproj |  8 ++++----
 OneDriveBot/Web.config         | 12 ------------
 SampleAADv2Bot/Web.config      |  6 +++---
 3 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/OneDriveBot/OneDriveBot.csproj b/OneDriveBot/OneDriveBot.csproj
index c511c7b..ba5630d 100644
--- a/OneDriveBot/OneDriveBot.csproj
+++ b/OneDriveBot/OneDriveBot.csproj
@@ -71,12 +71,12 @@
       <HintPath>..\packages\Microsoft.Identity.Client.1.0.304142221-alpha\lib\net45\Microsoft.Identity.Client.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
+    <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.12.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="Microsoft.IdentityModel.Logging, Version=1.0.0.127, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
diff --git a/OneDriveBot/Web.config b/OneDriveBot/Web.config
index af9082e..0b13402 100644
--- a/OneDriveBot/Web.config
+++ b/OneDriveBot/Web.config
@@ -97,18 +97,6 @@
         <assemblyIdentity name="Microsoft.Rest.ClientRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
       </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.13.5.907" newVersion="3.13.5.907" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.0.0.127" newVersion="5.0.0.127" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Microsoft.IdentityModel.Protocol.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.0.3.42" newVersion="1.0.3.42" />
-      </dependentAssembly>
     </assemblyBinding>
   </runtime>
 </configuration>
diff --git a/SampleAADv2Bot/Web.config b/SampleAADv2Bot/Web.config
index d27465f..87a94db 100644
--- a/SampleAADv2Bot/Web.config
+++ b/SampleAADv2Bot/Web.config
@@ -6,9 +6,9 @@
 <configuration>
   <appSettings>
     <!-- update these with your appid and one of your appsecret keys-->
-    <add key="BotId" value="MSGraphBot"/>
-    <add key="MicrosoftAppId" value="35e00d09-ad08-4413-9ea2-3602c3434106"/>
-    <add key="MicrosoftAppPassword" value="UFDEsBUoqkH3gjkmMnTFacY"/>
+    <add key="BotId" value="YourBotId" />
+    <add key="MicrosoftAppId" value="" />
+    <add key="MicrosoftAppPassword" value="" />
    
     <!-- AAD Auth v2 settings-->
     <add key="ActiveDirectory.Mode" value="v2" />