Full Code of microsoft/BuildCast for AI

master 311844a26c4a cached
109 files
1.6 MB
484.3k tokens
716 symbols
1 requests
Download .txt
Showing preview only (1,690K chars total). Download the full file or copy to clipboard to get everything.
Repository: microsoft/BuildCast
Branch: master
Commit: 311844a26c4a
Files: 109
Total size: 1.6 MB

Directory structure:
gitextract__mzsbjjj/

├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── design/
│   └── BuildCast.xd
└── src/
    ├── BuildCast/
    │   ├── App.xaml
    │   ├── App.xaml.cs
    │   ├── Assets/
    │   │   ├── BuildCastIcon.ai
    │   │   └── build2016windowsdevfeed.xml
    │   ├── BuildCast.csproj
    │   ├── Controls/
    │   │   ├── CustomMTC.xaml
    │   │   ├── CustomMTC.xaml.cs
    │   │   ├── CustomMediaPlayer.xaml
    │   │   ├── CustomMediaPlayer.xaml.cs
    │   │   ├── RemoteControl.xaml
    │   │   ├── RemoteControl.xaml.cs
    │   │   ├── TimeControl.cs
    │   │   └── Timeline.cs
    │   ├── DataModel/
    │   │   ├── Episode.cs
    │   │   ├── EpisodePlaybackState.cs
    │   │   ├── EpisodeWithState.cs
    │   │   ├── Favorite.cs
    │   │   ├── Feed.cs
    │   │   ├── FeedStore.cs
    │   │   ├── InkNote.cs
    │   │   ├── InkNoteData.cs
    │   │   ├── LocalStorageContext.cs
    │   │   └── NowPlayingState.cs
    │   ├── GlobalSuppressions.cs
    │   ├── Helpers/
    │   │   ├── AsyncHelpers.cs
    │   │   ├── BackgroundDownloadHelper.cs
    │   │   ├── BufferingVisualManager.cs
    │   │   ├── DateTimeHelper.cs
    │   │   ├── EnumToBooleanConverter.cs
    │   │   ├── EpisodeCommands.cs
    │   │   ├── Json.cs
    │   │   ├── LinqExtensions.cs
    │   │   ├── NavigationAnimationHelpers.cs
    │   │   ├── RelayCommand.cs
    │   │   ├── SettingsStorageExtensions.cs
    │   │   ├── TitleBarHelper.cs
    │   │   ├── UIHelpers.cs
    │   │   ├── ValueSetHelper.cs
    │   │   └── VisualHelpers.cs
    │   ├── Microsoft.BuildCast.ruleset
    │   ├── Migrations/
    │   │   ├── 20170927020747_initial.Designer.cs
    │   │   ├── 20170927020747_initial.cs
    │   │   └── LocalStorageContextModelSnapshot.cs
    │   ├── Package.appxmanifest
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   └── Default.rd.xml
    │   ├── Services/
    │   │   ├── ElementThemeExtended.cs
    │   │   ├── IAvailableSystemsObserver.cs
    │   │   ├── IFullscreenPage.cs
    │   │   ├── IPlayerService.cs
    │   │   ├── IRemoteConnection.cs
    │   │   ├── IRemotePlayerService.cs
    │   │   ├── IRemoteSystemDescription.cs
    │   │   ├── Navigation/
    │   │   │   ├── FrameAdapter.cs
    │   │   │   ├── IFrameAdapter.cs
    │   │   │   ├── INavigableTo.cs
    │   │   │   ├── INavigationCommand.cs
    │   │   │   ├── INavigationService.cs
    │   │   │   ├── IPageWithViewModel.cs
    │   │   │   └── NavigationService.cs
    │   │   ├── PlayerService.cs
    │   │   ├── RemotePlayService.cs
    │   │   ├── ThemeSelectorService.cs
    │   │   └── ViewModeService.cs
    │   ├── Strings/
    │   │   └── en-us/
    │   │       └── Resources.resw
    │   ├── Styles/
    │   │   ├── Common.xaml
    │   │   └── Settings.xaml
    │   ├── Themes/
    │   │   ├── Branded.xaml
    │   │   ├── BrandedXbox.xaml
    │   │   ├── Generic.xaml
    │   │   └── Stock.xaml
    │   ├── ViewModels/
    │   │   ├── DownloadsViewModel.cs
    │   │   ├── EpisodeDetailsViewModel.cs
    │   │   ├── FavoritesViewModel.cs
    │   │   ├── FeedDetailsViewModel.cs
    │   │   ├── HomeViewModel.cs
    │   │   ├── InkNoteViewModel.cs
    │   │   ├── NotesViewModel.cs
    │   │   ├── PlayerViewModel.cs
    │   │   └── SettingsViewModel.cs
    │   └── Views/
    │       ├── Downloads.xaml
    │       ├── Downloads.xaml.cs
    │       ├── EpisodeDetails.xaml
    │       ├── EpisodeDetails.xaml.cs
    │       ├── Favorites.xaml
    │       ├── Favorites.xaml.cs
    │       ├── FeedDetails.xaml
    │       ├── FeedDetails.xaml.cs
    │       ├── Home.xaml
    │       ├── Home.xaml.cs
    │       ├── InkNote.xaml
    │       ├── InkNote.xaml.cs
    │       ├── NavigationRoot.xaml
    │       ├── NavigationRoot.xaml.cs
    │       ├── NoteDataTemplateSelector.cs
    │       ├── Notes.xaml
    │       ├── Notes.xaml.cs
    │       ├── Player.xaml
    │       ├── Player.xaml.cs
    │       ├── PopupPlayer.xaml
    │       ├── PopupPlayer.xaml.cs
    │       ├── SettingsPage.xaml
    │       └── SettingsPage.xaml.cs
    └── BuildCast.sln

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml


================================================
FILE: LICENSE
================================================
    MIT License

    Copyright (c) Microsoft Corporation. All rights reserved.

    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


================================================
FILE: README.md
================================================
---
topic: sample
languages:
- csharp
products:
- windows
- windows-uwp
---

<!---
  category: Fluent
-->

# BuildCast Video Player UWP Sample
BuildCast is an end-to-end sample built to showcase the [Microsoft Fluent Design System](https://fluent.microsoft.com/) as well as other capabilities of the Universal Windows Platform. It permits browsing, downloading and playback of select video podcasts including a sampling of the most popular ones from Channel 9 as well as some popular Windows tech enthusiast feeds. It has other features such as ink notes, bookmarks and remote playback. This sample was initially shown and discussed at the 2017 Build conference during the [Build Amazing Apps with Fluent Design](https://channel9.msdn.com/Events/Build/2017/B8034) talk.  

<img src="images/buildcast.png" width=700>

# Features
At a high level this sample demonstrates usage of:
- Fluent design system (Acrylic material, Reveal highlight, Connected animations, ParallaxView, an Adobe XD UX Prototype etc)
- XAML controls and features (NavigationView, swipe commanding, context menu with icons and SVG assets, LoadedImageService, conditional XAML etc)
- Media playback including picture-in-picture and fullscreen views
- Inking and smart ink
- Project Rome and AppServices 
- Background download service, Entity Framework and SQLite
- Windows composition APIs (InteractionTracker, implicit animations, scene lighting)
- Notifications with progress bar
- Share contract 
## Run the sample

### Prepare your environment

This sample requires Visual Studio 2017 with Update 5 and the Windows 10 Software Development Kit (SDK) version 16299, Windows 10 OS - Fall Creators Update.

* [Get a copy of Visual Studio 2017 Update 4 with support for building Universal Windows apps]( https://www.visualstudio.com/downloads/) [includes SDK 16299]

* [Get the latest Windows 10 Fall Creator's Update](https://www.microsoft.com/en-us/windows) [10.0.16299.0 or later]

* [Get the Windows 10 Insider SDK 16299](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk) as a standalone download.

Additionally, to receive the latest updates to Windows and the development tools, and to help shape their development, join the [Windows Insider Program](https://insider.windows.com/ "Become a Windows Insider").
### Run
After opening the Visual Studio solution, set your startup project as **BuildCast**, the architecture to AMD64 or x86, and press F5 to run.

## Code at a glance

The table below shows the platform features used in the application and where abouts to find them in the sample. 

### Release Notes Update 1 October 2017
- Add the Adobe XD UX prototype file
- Add back Spectrum Analyzer visualization to now playing
- On startup, app will check for cached media changes at filesystem level and update database state to match this
- Improved commanding on favorites, downloads, notes
- Design tweaks 
- Known issues where there will be code changes have all been moved to issues on github
- Bug fixes

### Known Issues
- Download progress reported via toasts / action center will not update when the app quits, even though the download will proceed using background transfer service.  This is due to a known platform gap
- Deploying / running BuildCast on a XBOX will result in the app crashing due to a platform bug that is being investigated.  [More details here](https://developercommunity.visualstudio.com/content/problem/130393/net-uwp-applications-with-a-targetplatformminversi.html).
- A number of warnings have not been addressed
- Things that didn't make it from the Build talk:
  - TreeView control: did not ship in the final Fall Creator's update
  - 360 video playback: this will come in a future update to the app

### App details
### Frameworks 
| Framework | Usage | Code file |
| :-------------- | :--------------  | --------------: |
| [Entity framework](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ef/overview)				| ORM to store objects in SQLite       | [LocalStorageContext.cs](src/BuildCast/DataModel/LocalStorageContext.cs) |
| [SQLite in UWP](https://blogs.windows.com/buildingapps/2017/02/06/using-sqlite-databases-uwp-apps/)       | Primary mechanism for persistence    | N/A |
| [.NET Standard 2.0](https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/)		| Provides System.Tuple                | [NowPlayingState.cs](src/BuildCast/DataModel/NowPlayingState.cs) |

### App features

| App feature | Description | Code file |
| :-------------- | :--------------  | --------------: |
| [Adobe XD](www.adobe.com/products/xd.html) UX Prototype|   <img src="images/AdobeXDPrototype.PNG" alt="Acrylic material image" width=300> | [BuildCast.xd](design/BuildCast.xd) |
| [Acrylic material](https://docs.microsoft.com/en-us/windows/uwp/style/acrylic)																						    | Acrylic material usage                          <br>  <img src="images/AcrylicMaterial.png" alt="Acrylic material image" width=300>					| [Branded.xaml](src/BuildCast/Themes/Branded.xaml) |
| [Reveal highlight](https://docs.microsoft.com/en-us/windows/uwp/style/reveal)																								| Reveal highlight usage                          <br>  <img src="images/RevealHighlight.png" alt="Reveal highlight image" width=300>					| [CustomMTC.xaml](src/BuildCast/Controls/CustomMTC.xaml) |
| [NavigationView](https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/navigationview)																        | NavigationView usage                            <br>  <img src="images/NavigationView.png" alt="NavigationView image" width=300>						| [NavigationRoot.xaml](src/BuildCast/Views/NavigationRoot.xaml) |
| [Connected animations](https://docs.microsoft.com/en-us/windows/uwp/style/connected-animation)																		    | Used in connected transitions between pages																										    | [FeedDetails.xaml.cs](src/BuildCast/Views/FeedDetails.xaml.cs) |
| [Inking](https://docs.microsoft.com/en-us/windows/uwp/input-and-devices/pen-and-stylus-interactions)														                | Ink annotation on video frame                    <br> <img src="images/InkAnnotation.png"  alt="Ink annotation image" width=300>						| [InkNote.xaml.cs](src/BuildCast/Views/InkNote.xaml.cs) |
| [Smart Ink](https://docs.microsoft.com/en-us/windows/uwp/input-and-devices/pen-and-stylus-interactions)															        | Recognize and convert images to glyphs and emoji <br> <img src="images/InkRecognition.png" alt="Ink recognition image" width=300> <br> <img src="images/InkRecognition2.png" alt="2nd ink recognition image" width=300>    | [InkNote.xaml.cs](src/BuildCast/Views/InkNote.xaml.cs) |
| Emoji picker																																							| Select emoji                                     <br> <img src="images/EmojiPicker.png" alt="Emoji picker image" width=300>							| [InkNote.xaml.cs](src/BuildCast/Views/InkNote.xaml.cs) |
| [Context menus with icons](https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/menus)																		| Context menus with icons                        <br>  <img src="images/ContextMenus.png" alt="Context menus image" width=300>							| [FeedDetails.xaml](src/BuildCast/Views/FeedDetails.xaml) |
| [Swipe commanding](https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/collection-commanding)												                | Swipe controls on lists		<br>  <img src="images/Swipe.PNG" alt="swipe image" width=300>																																	        | [FeedDetails.xaml](src/BuildCast/Views/FeedDetails.xaml) |
| [Mnemonics/Access Keys](https://docs.microsoft.com/en-us/windows/uwp/input-and-devices/access-keys)												                        | Mnemonics usage                                 <br>  <img src="images/Mnemonics.png" alt="Mnenomics image" width=300>								| [EpisodeDetails.xaml](src/BuildCast/Views/EpisodeDetails.xaml) |
| [Command bar](https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/app-bars)																			    | Command bar usage                               <br>  <img src="images/CommandBar.png" alt="Command bar image" width=300>								| [Player.xaml](src/BuildCast/Views/Player.xaml) |
| [Coordinated animations](https://docs.microsoft.com/en-us/windows/uwp/style/connected-animation)																	        | Used in connected transitions between pages																											| [FeedDetails.xaml.cs](src/BuildCast/Views/FeedDetails.xaml.cs) |
| [Conditional XAML](https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/conditional-xaml)																			| NavigationView loads based on OS version support																			| [NavigationRoot.xaml](src/BuildCast/Views/NavigationRoot.xaml) |
| [SVG](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.Image)																	                | BuildCast logo on homepage																															    | [Home.xaml](src/BuildCast/Views/Home.xaml) |
| [Adaptive state triggers](https://blogs.msdn.microsoft.com/cdndevs/2015/06/26/uwp-new-features-of-visual-state-manager-part-1/)											| UI optimizations for assorted screen sizes                               <br>  <img src="images/AdaptiveLayout.PNG" alt="Adaptive layout image" width=200>																											| [Home.xaml](src/BuildCast/Views/Home.xaml) |
| [ParallaxView](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.Parallaxview)														                    | Home screen parallax layout                    <br>  <img src="images/ParallaxView.png" alt="ParallaxView image" width=300>							| [Home.xaml](src/BuildCast/Views/Home.xaml) |
| [Lighting](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Composition.Effects.SceneLightingEffect)												                    | Buffering animation																																	| [BufferingVisualManager.cs](src/BuildCast/Helpers/BufferingVisualManager.cs) |
| [Interaction tracker](https://docs.microsoft.com/en-us/uwp/api/windows.ui.composition.interactions.interactiontracker)													| Interaction tracker                            <br>  <img src="images/InteractionTracker.png" alt="Interaction tracker image" width=300>				| [Timeline.cs](src/BuildCast/Controls/Timeline.cs) |
| [Layout animations](https://docs.microsoft.com/en-us/windows/uwp/composition/using-the-visual-layer-with-xaml)															| Layout animations																																		| [Home.xaml.cs](src/BuildCast/Views/Home.xaml.cs) |
| [LoadedImageSurface](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.loadedimagesurface)																    | Composition Surface for Images																													    | [CustomMediaPlayer.xaml.cs](src/BuildCast/Controls/CustomMediaPlayer.xaml.cs) |
|[Composition expression language](https://docs.microsoft.com/en-us/windows/uwp/composition/composition-animation)														    | Timeline animations																															    | [Timeline.cs](src/BuildCast/Controls/Timeline.cs) |
| [Implicit animations](https://docs.microsoft.com/en-us/windows/uwp/composition/using-the-visual-layer-with-xaml)														    | Poster frame fade out when video starts playing																										| [VisualHelpers.cs](src/BuildCast/Helpers/VisualHelpers.cs) |
| [Compact overlay mode](https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/)						        | Picture-in-picture support  <br>  <img src="images/PictureInPicture.png" alt="Virtual surfaces image" width=300>									    | [ViewModeService.cs](src/BuildCast/Services/ViewModeService.cs) |
| Spectrum Analyzer | Realtime visualization of audio spectra for currently playing clip <br> <img src="images/spectrum.PNG" alt="Full screen mode image" width=300> | [player.xaml.cs](src/BuildCast/Views/Player.xaml.cs) |
| [Full screen mode](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.ViewManagement.ApplicationView#Methods_)												            | Full screen mode for video		<br>  <img src="images/Fullscreen.PNG" alt="Full screen mode image" width=300>																	                                                | [ViewModeService.cs](src/BuildCast/Services/ViewModeService.cs) |
| [Share contract](https://docs.microsoft.com/en-us/windows/uwp/app-to-app/share-data)																						| Share the annotated frame                        <br> <img src="images/ShareContract.png" alt="Share contract image" width=300>						| [InkNote.xaml.cs](src/BuildCast/Views/InkNote.xaml.cs) |
| [Background transfer service](https://docs.microsoft.com/en-us/uwp/api/windows.networking.backgroundtransfer)																| Video download for offline viewing																													| [BackgroundDownloadHelper.cs](src/BuildCast/Helpers/BackgroundDownloadHelper.cs) |
| [BTS toast completion notifications](https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-adaptive-interactive-toasts)				| Toast display upon background download completion<br> <img src="images/BackgroundCompletion.png"  alt="Background completion image" width=300>		| [BackgroundDownloadHelper.cs](src/BuildCast/Helpers/BackgroundDownloadHelper.cs) |
| [Toast progress bars](https://blogs.msdn.microsoft.com/tiles_and_toasts/2017/02/01/progress-ui-and-data-binding-inside-toast-notifications-windows-10-creators-update/)   | Visual download progress indicator               <br> <img src="images/ToastProgress.png"  alt="Toast progress image" width=300>						| [BackgroundDownloadHelper.cs](src/BuildCast/Helpers/BackgroundDownloadHelper.cs) |                                                                                   | [CodeFileName.extension](Folder/Folder/CodeFileName.extension#L25) |
| [App services](https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service)														| Support Rome based remote control																														| [RemotePlayService.cs](src/BuildCast/Services/RemotePlayService.cs) |
| [Media Composition API](https://docs.microsoft.com/en-us/uwp/api/Windows.Graphics.Imaging.BitmapEncoder)																	| Extract frame for Ink annotations from local file																																		| [PlayerService.cs](src/BuildCast/Services/PlayerService.cs) |
| [Template studio](https://blogs.windows.com/buildingapps/2017/05/16/announcing-windows-template-studio/)																	| Theming, settings model <br>  <img src="images/Settings.PNG" alt="Settings image" width=300>																																| |


# Contributing

While we expect to at a later date, this project is not currently accepting contributions. For now, if you have any feedback or questions, please open an Issue on GitHub for the team. 

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments

Copyright &copy; Microsoft Corporation. All rights reserved.
This program/project is and its use is subject to the [MIT License](LICENSE)


================================================
FILE: SECURITY.md
================================================
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.8 BLOCK -->

## Security

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).

If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
  * Full paths of source file(s) related to the manifestation of the issue
  * The location of the affected source code (tag/branch/commit or direct URL)
  * Any special configuration required to reproduce the issue
  * Step-by-step instructions to reproduce the issue
  * Proof-of-concept or exploit code (if possible)
  * Impact of the issue, including how an attacker might exploit the issue

This information will help us triage your report more quickly.

If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.

## Preferred Languages

We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).

<!-- END MICROSOFT SECURITY.MD BLOCK -->


================================================
FILE: src/BuildCast/App.xaml
================================================
<!--
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE 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 CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
-->

<Application
    x:Class="BuildCast.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:animations="using:Microsoft.Toolkit.Uwp.UI.Animations">
    <Application.Resources>
        <ResourceDictionary>
            <animations:AnimationCollection x:Key="LayoutImplicitAnimations">
                <animations:OffsetAnimation Duration="0:0:0.1"></animations:OffsetAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultShowAnimations">
                <animations:TranslationAnimation Duration="0:0:0.35" From="0,-450, 0" To="0"></animations:TranslationAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultHideAnimations">
                <animations:TranslationAnimation Duration="0:0:0.45" To="0,-30,0"></animations:TranslationAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultListShowAnimations">
                <animations:TranslationAnimation Duration="0:0:0.45" Delay="0:0:0.2" From="0,50,0" To="0"></animations:TranslationAnimation>
                <animations:OpacityAnimation Duration="0:0:0.8" From="0" To="1">
                    <animations:ScalarKeyFrame Key="0.25" Value="0"></animations:ScalarKeyFrame>
                </animations:OpacityAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultListHideAnimations">
                <animations:TranslationAnimation Duration="0:0:0.4" To="0,50,0"></animations:TranslationAnimation>
                <animations:OpacityAnimation Duration="0:0:0.4" To="0"></animations:OpacityAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultPageHideAnimation">
                <animations:OpacityAnimation Duration="0:0:0.4" To="0"></animations:OpacityAnimation>
            </animations:AnimationCollection>

            <animations:AnimationCollection x:Key="DefaultTitleShowAnimations">
                <animations:TranslationAnimation Duration="0:0:0.45" From="0, -50, 0" To="0"></animations:TranslationAnimation>
                <animations:OpacityAnimation Duration="0:0:0.5" From="0" To="1">
                    <animations:ScalarKeyFrame Key="0.25" Value="0"></animations:ScalarKeyFrame>
                </animations:OpacityAnimation>
            </animations:AnimationCollection>

            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Styles/Common.xaml"/>
                <ResourceDictionary Source="/Styles/Settings.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>


================================================
FILE: src/BuildCast/App.xaml.cs
================================================
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE 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 CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************

using System;
using System.Linq;
using System.Threading.Tasks;
using Autofac;
using BuildCast.DataModel;
using BuildCast.Helpers;
using BuildCast.Services;
using BuildCast.Services.Navigation;
using BuildCast.ViewModels;
using BuildCast.Views;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.ApplicationModel.AppService;
using Windows.ApplicationModel.Background;
using Windows.Foundation.Collections;
using Windows.System.Profile;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Hosting;
using Windows.UI.Xaml.Navigation;

namespace BuildCast
{
    /// <summary>
    /// Provides application-specific behavior to supplement the default Application class.
    /// </summary>
    public sealed partial class App : Application
    {
        private IContainer _container;
        private BackgroundTaskDeferral appServiceDeferral;
        private NavigationRoot rootPage;

        /// <summary>
        /// Initializes a new instance of the <see cref="App"/> class.
        /// executed, and as such is the logical equivalent of main() or WinMain().
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;

            LocalStorageContext.CheckMigrations();

            this.RequiresPointerMode = ApplicationRequiresPointerMode.WhenRequested;
        }

        public static AppServiceConnection Connection { get; set; }

        public NavigationRoot GetNavigationRoot()
        {
            if (Window.Current.Content is NavigationRoot)
            {
                return Window.Current.Content as NavigationRoot;
            }
            else if (Window.Current.Content is Frame)
            {
                return ((Frame)Window.Current.Content).Content as NavigationRoot;
            }

            throw new Exception("Window content is unknown type");
        }

        public Frame GetFrame()
        {
            var root = GetNavigationRoot();
            return root.AppFrame;
        }

        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used such as when the application is launched to open a specific file.
        /// </summary>
        /// <param name="args">Details about the launch request and process.</param>
        protected async override void OnLaunched(LaunchActivatedEventArgs args)
        {
            //XBOX support
            if (AnalyticsInfo.VersionInfo.DeviceFamily == "Windows.Xbox")
            {
                ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
                bool result = ApplicationViewScaling.TrySetDisableLayoutScaling(true);
            }

            await InitializeAsync();
            InitWindow(skipWindowCreation: args.PrelaunchActivated);

            // Tasks after activation
            await StartupAsync();

            await Window.Current.Dispatcher.RunIdleAsync(async (s) =>
                await BackgroundDownloadHelper.AttachToDownloads());
        }

        protected override void OnWindowCreated(WindowCreatedEventArgs args)
        {
            base.OnWindowCreated(args);
        }

        protected async override void OnActivated(IActivatedEventArgs args)
        {
            await InitializeAsync();
            InitWindow(skipWindowCreation: false);

            if (args.Kind == ActivationKind.Protocol)
            {
                Window.Current.Activate();

                // Tasks after activation
                await StartupAsync();
            }
        }

        protected async override void OnBackgroundActivated(BackgroundActivatedEventArgs args)
        {
            var instance = args?.TaskInstance;

            await BackgroundDownloadHelper.CheckCompletionResult(instance);
            base.OnBackgroundActivated(args);
            if (args.TaskInstance.TriggerDetails is AppServiceTriggerDetails details && _container != null)
            {
                var remotePlayerService = _container.Resolve<IRemotePlayerService>();

                remotePlayerService.RemoteActivation(args.TaskInstance.GetDeferral(), details.AppServiceConnection);
                appServiceDeferral = args.TaskInstance.GetDeferral();

                Connection = details.AppServiceConnection;
                Connection.RequestReceived += OnRequestReceived;
                Connection.ServiceClosed += AppServiceConnection_ServiceClosed;
            }
        }

        private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
        {
            var deferral = args.GetDeferral();
            Console.WriteLine(args.Request.Message);
            deferral.Complete();
            appServiceDeferral.Complete();
        }

        private void OnAppServicesCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
        {
            appServiceDeferral.Complete();
        }

        private void AppServiceConnection_ServiceClosed(AppServiceConnection sender, AppServiceClosedEventArgs args)
        {
            appServiceDeferral.Complete();
        }

        private void InitWindow(bool skipWindowCreation)
        {
            var builder = new ContainerBuilder();

            rootPage = Window.Current.Content as NavigationRoot;
            bool initApp = rootPage == null && !skipWindowCreation;

            // Do not repeat app initialization when the Window already has content,
            // just ensure that the window is active
            if (initApp)
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootPage = new NavigationRoot();

                FrameAdapter adapter = new FrameAdapter(rootPage.AppFrame);

                builder.RegisterInstance(adapter)
                        .AsImplementedInterfaces();

                builder.RegisterType<HomeViewModel>();

                // The feed details view model needs to be a singleton in order to better accomodate Connected Animation
                builder.RegisterType<FeedDetailsViewModel>()
                    .SingleInstance();
                builder.RegisterType<EpisodeDetailsViewModel>();
                builder.RegisterType<PlayerViewModel>();
                builder.RegisterType<InkNoteViewModel>();
                builder.RegisterType<FavoritesViewModel>();
                builder.RegisterType<NotesViewModel>();
                builder.RegisterType<DownloadsViewModel>();
                builder.RegisterType<SettingsViewModel>();

                builder.RegisterType<NavigationService>()
                        .AsImplementedInterfaces()
                        .SingleInstance();

                builder.RegisterType<RemotePlayService>()
                       .AsImplementedInterfaces();

                builder.RegisterInstance(PlayerService.Current)
                        .AsImplementedInterfaces()
                        .SingleInstance();

                _container = builder.Build();
                rootPage.InitializeNavigationService(_container.Resolve<INavigationService>());

                adapter.NavigationFailed += OnNavigationFailed;

                // Place the frame in the current Window
                Window.Current.Content = rootPage;

                Window.Current.Activate();
            }
        }

        private async Task InitializeAsync()
        {
            await ThemeSelectorService.InitializeAsync();
            await Task.CompletedTask;
        }

        private async Task StartupAsync()
        {
            BuildCast.Services.ThemeSelectorService.SetRequestedTheme();
            await FeedStore.CheckDownloadsPresent();
            await Task.CompletedTask;
        }

        private async System.Threading.Tasks.Task<Episode> FixFeedItemThumbnail(Feed feed, Episode feedItem)
        {
            var feedItems = await feed.GetEpisodes();

            var matchedItem = feedItems.FirstOrDefault(uri => uri.Key == feedItem.Key);

            if (matchedItem != null)
            {
                feedItem = matchedItem;
            }

            return feedItem;
        }

        private void ParseProtocolData(ValueSet playbackData, out Feed feed, out Episode feedItem, out TimeSpan timespan)
        {
            var values = playbackData.GetValueSet("feed");
            feed = Feed.BuildFeedFromValueSet(values);
            values = playbackData.GetValueSet("feeditem");
            feedItem = Episode.BuildFromValueSet(values);
            timespan = playbackData.GetTimeSpan("ElapsedTime");
        }

        /// <summary>
        /// Invoked when Navigation to a certain page fails
        /// </summary>
        /// <param name="sender">The Frame which failed navigation</param>
        /// <param name="e">Details about the navigation failure</param>
        private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
        {
            throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
        }

        /// <summary>
        /// Invoked when application execution is being suspended.  Application state is saved
        /// without knowing whether the application will be terminated or resumed with the contents
        /// of memory still intact.
        /// </summary>
        /// <param name="sender">The source of the suspend request.</param>
        /// <param name="e">Details about the suspend request.</param>
        private void OnSuspending(object sender, SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();

            deferral.Complete();
        }
    }
}


================================================
FILE: src/BuildCast/Assets/BuildCastIcon.ai
================================================
%PDF-1.5
%
1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R]/Order 22 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 8558/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c137 79.159768, 2016/08/11-13:24:42        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
            xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
         <xmp:CreatorTool>Adobe Illustrator CC 2017 (Windows)</xmp:CreatorTool>
         <xmp:CreateDate>2017-10-06T13:36:49-07:00</xmp:CreateDate>
         <xmp:ModifyDate>2017-10-06T13:40:17-07:00</xmp:ModifyDate>
         <xmp:MetadataDate>2017-10-06T13:40:17-07:00</xmp:MetadataDate>
         <xmp:Thumbnails>
            <rdf:Alt>
               <rdf:li rdf:parseType="Resource">
                  <xmpGImg:width>256</xmpGImg:width>
                  <xmpGImg:height>256</xmpGImg:height>
                  <xmpGImg:format>JPEG</xmpGImg:format>
                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q==</xmpGImg:image>
               </rdf:li>
            </rdf:Alt>
         </xmp:Thumbnails>
         <xmpTPg:NPages>1</xmpTPg:NPages>
         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
         <xmpTPg:MaxPageSize rdf:parseType="Resource">
            <stDim:w>32.000000</stDim:w>
            <stDim:h>32.000000</stDim:h>
            <stDim:unit>Pixels</stDim:unit>
         </xmpTPg:MaxPageSize>
         <xmpTPg:SwatchGroups>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
                  <xmpG:groupType>0</xmpG:groupType>
               </rdf:li>
            </rdf:Seq>
         </xmpTPg:SwatchGroups>
         <illustrator:Type>Document</illustrator:Type>
         <dc:format>application/pdf</dc:format>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">BuildCastIcon</rdf:li>
            </rdf:Alt>
         </dc:title>
         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
         <xmpMM:DocumentID>uuid:18d859fb-8be1-4c4d-bb5e-99b9731ed62b</xmpMM:DocumentID>
         <xmpMM:InstanceID>uuid:73685081-2781-4ec9-9bdf-6b0c098d612f</xmpMM:InstanceID>
         <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                           
<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[7 0 R]/Type/Pages>>
endobj
7 0 obj
<</ArtBox[2.0 0.0 31.9395 30.0]/BleedBox[0.0 0.0 32.0 32.0]/Contents 23 0 R/LastModified(D:20171006134017-07'00')/MediaBox[0.0 0.0 32.0 32.0]/Parent 3 0 R/PieceInfo<</Illustrator 24 0 R>>/Resources<</ExtGState<</GS0 25 0 R>>/Properties<</MC0 21 0 R>>>>/Thumb 26 0 R/TrimBox[0.0 0.0 32.0 32.0]/Type/Page>>
endobj
23 0 obj
<</Filter/FlateDecode/Length 654>>stream
HlTKnTAܿS[b p*43ye]sjχp~O|?_~^_<>WZtѣ<<<:N*3V9؊rrqDs"KGy8NUV]:Q ZT]۔0/&/1Dao&jI,'2F0.3"
y3&l5rMֈmmLqJOT{	c?C@#CJ(8ɇBXD6)=<eFHl_B
"P’BzV
m3}(b#v֋	^x
iW<DgOhHX,N	JB~D_h]'tp6QTXe3SYq_MOincPzWZVf|1MYs%C!{גx؃mGN4V[O2rl&>=%$@">‚92hn4ZP;4<;i`Wy\V/qtNڠh߹{ǑSf($-ފA4v同)FXD.e@:c^3WuymEh[`?#2

endstream
endobj
26 0 obj
<</BitsPerComponent 8/ColorSpace 27 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 4/Length 20/Width 4>>stream
8;Xp,*>JPW(]\SI%<2~>
endstream
endobj
27 0 obj
[/Indexed/DeviceRGB 255 28 0 R]
endobj
28 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
21 0 obj
<</Intent 29 0 R/Name(Layer 1)/Type/OCG/Usage 30 0 R>>
endobj
29 0 obj
[/View/Design]
endobj
30 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 21.1)/Subtype/Artwork>>>>
endobj
25 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
24 0 obj
<</LastModified(D:20171006134017-07'00')/Private 31 0 R>>
endobj
31 0 obj
<</AIMetaData 32 0 R/AIPrivateData1 33 0 R/AIPrivateData2 34 0 R/ContainerVersion 11/CreatorVersion 21/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 17>>
endobj
32 0 obj
<</Length 1237>>stream
%!PS-Adobe-3.0 
%%Creator: Adobe Illustrator(R) 17.0
%%AI8_CreatorVersion: 21.1.0
%%For: (James Clarke) ()
%%Title: (BuildCastIcon.ai)
%%CreationDate: 10/6/2017 1:40 PM
%%Canvassize: 16383
%%BoundingBox: 2 -1 32 30
%%HiResBoundingBox: 2 -0.089002939723287 31.9395093917847 30
%%DocumentProcessColors:
%AI5_FileFormat 13.0
%AI12_BuildNumber: 326
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 0 0 32 32
%AI3_TemplateBox: 16.5 15.5 16.5 15.5
%AI3_TileBox: -272.960000991821 -368 304.9599609375 400
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI17_Begin_Content_if_version_gt:17 1
%AI9_OpenToView: -45 62.75 8 2012 1504 18 0 0 153 233 0 0 0 1 1 0 1 1 0 1
%AI17_Alternate_Content
%AI9_OpenToView: -45 62.75 8 2012 1504 18 0 0 153 233 0 0 0 1 1 0 1 1 0 1
%AI17_End_Versioned_Content
%AI5_OpenViewLayers: 7
%%PageOrigin:-358 -652
%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments

endstream
endobj
33 0 obj
<</Length 2195>>stream
%%BoundingBox: 2 -1 32 30
%%HiResBoundingBox: 2 -0.089002939723287 31.9395093917847 30
%AI7_Thumbnail: 128 128 8
%%BeginData: 2039 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF
%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFFFFFFFF
%%EndData

endstream
endobj
34 0 obj
<</Length 21668>>stream
%AI12_CompressedDataxݽv*90zg-8IIDls&m1ffO:7jT*i-|H:Lh鯵,59"?{h,Oz4f*f_Ֆ7<&Yiߏ5Qk_R4⓫'딚a{O6Q4tUn
ˤ)a3!6/0SҤ9u,?~(QlB<I[FLsLgEddvyО|K<hKQiȣ<<)nO~7!'.+%x.M~_ɻףM~ϼ~O
i<!~P4C_ɿǺ%Hzj=˃7xés+{dbEҚLHᒹ4rlcC	>dɜ9>#Q_4#ݕɇ}IEOA7eS}T$Ð:R0#
񩶸jxЛ	fu('@ZlF}[!׏q	MP_
nȔJsIw6!f|y}|,ƒ܇E~UeCc#8EE)\2	^̆iS	@vzp0$AО2qL#dҬeKck-LH#"pz<.&CA
M^>vי,zћy0KEx#AywB_ЕlC]om)K!)Kjy,(2:P~zcMf)Ó	x2ĆO!Bh`zD۟֔/\0C%%_ҸiSu^/P';#WÈu77~[IߣDEfn;T'`{wx<7(^LCUPCrOh8>?h\ty]g?M'ݖ"߻1%C4VCP"쪵l]D4V"AHƢ,}
NAe{)X~P-[&;X`h2)⇟S<ݓIɷxGIo
šM7bBal讉#a4_ȥE0ҙ+!+_x81hV3lY>ͲjwV_]3,CNFҁ+f_ Ëf?IEkѳ;Yw`._>`~Zy1Je]?ЙW75\tה ~=Mxu.B{}h*w[vP4.rA1kv{YꫭPP?Əoqd?z)amw7パK>H	:ꃫKޠ%uФ5'&꒘K3Ihl(&jnH)7RPmzgЬ\(A86΃$5vC
|HO|.V$m#q]jn#ao&?2A:AwzRJxMrO?橶OLRq0Wk0Dz+[cTS~?cgLDv8q{0+5BEs'F_8dِ!{fc!ƨ-/`@Ad&4&5~)q1蒍Pl[x@R&)-֠)wB^m6o_jP2a
uw5+`q\F]2yC9X8iVtgNԡ!fsIe;ܴQ{kcswe[Cɸ;<ҥuԺwC^9Bͬ0՚r:Bc
ߡ	atа9FIRmMq1'DJ;%
Hkç5z6;;tȾ@NFOgMn+
 ToƒlLT.:j,Vf@[Pw4T""ڎ?dI{w`ɡ@iQEYӈ}<^2YIR
l5[^w1IӻB0-¨bgQu%DLy)/` 4'tI^Iȩ7#I^MwU7ڈl
er?tuQ$tUqp!G٣#B2`&D\6,Ϧ}C$zӚqj:wR{|ڕG:"^Gdt7PK=rBLy)Jhf{L|JzɉufCMp!ntMi^w	vM˜/;2QIXՄ)ux*u<m
9tU"!$2DQz*>u%E	Z^9 }^\UCaVܠo;x&a͊^
K8ȹ!a5u+qͶTP_yX]Wb6e=Z
ȥ9Vhz`RcUe,e/Ib׷i͸8XT-="CD'fl/UfO
,Pj~뒡e$O$Um&7w|E/#.jMlf/:#mʹQj
LW:4f=SMd#EU4Qm%a{'K=NA
KnsKCZZ7&-Mh:SLȀGʿÁ<}n!@HB\`(*6Kx<xEsί*@Å
|˶dC{pҢʻ*Uy}0B>Q&mMyih׎$t
XE2q@v"Pbr0^N![}9_8G0kנluMMs+	<#uI%	@f=0k,[į6Er'9TRQ{rRV9j#
6O(#/"́2cUXod^AN
wPNZl2YgBv],<-	B#t$4~6B)~Jv
秽sѸ;:Jh(,uh VbLg
gr-8<4RrLxٰĒGalWu~&a,#CtS		K۾=es ]D\TԗwAC]8(v8<Z&7T
XVJjefe)(3ޒ35P i+9R)M[bXjE_2{z1μa(`JP6!0j>RfJ)t&=x7,s3#IkBd4&H+-5y`)U ɿC?ȷEgעd}n\sʺwK5m95p2l=z5mKSyO*kM~ɐ|5z]mR{eR6פHCT19`I"p06åNo-7qq{/Qh(wBfZQ/}4M\C&{jOv\Kfrg#ɒ'y6	SyƂ'e8ѩ2JϝOdP۲gN6l1RКзweW(R#pu(xN0̧^O"l?%<BzLh';}~ HC,m?(m<|E5+M
ZXk[дdMcT;
ǻ(56H]ޕCz!-'1xF6>iRk#>繛E=zo|$JLeB``ktOm|u;Sj7c^tzڻSFM7p@\͡~$@Tb[!<1K@•ZyE2Vmu=%ֶ
JVj6&m>APW!c{?R?4j웏
jg\s>LB 7A?
>!>>CL
E[
uB3k*X^W;	w/`э2

Qhj7j]/"nY1hb3S,-WBZQT}_yZS<pͽ^oPeN9TԺ8hsI=:m()2Ry6<$rHΔR0Q]rY7^p1㮞z5%>%Y !rez/eLٱ4;s7=Pbڍ6e9Þ,Dǐ+ވ&)HĈF(
VxJ&}cvjC~44 *aԻ
)*xXv\vtkޓGf`p9x;EL<hc2L#Ǧb(89,hE)e2lr}`0WV]N&q.zkS4'Pi0Pą<h5!3!ɰ''j㐩Z)K!և6vQDA&/kD</AM[_zRKԎ>E-kl4xrU{%vͿSIrM3N)Gw=\zمF0+%vslW|nZ)&;M><	ۗy^pEl{Wb=wU[4ӟ(_	'Ru~mgpޓ$Os1/KKačNat/am/fl!x2<12W`dywUώslm6Y<7)?Tﯪ;6YԹt۽昣z)-\;g7#0v:9-zy Oa7Ԙ˃[#Qw}YGEs/(X-Fg_bdY(wW@~j>
I$;׍$S7k)$pSnhI	
eY˱aokl{n|.۠*`T%%A}.PKtx&tkBnu{y}::A'oHkd@0`m@MfsP'zUtru	kӺt+ԍ
S;BQgcF-&7Ma0]ƆA@jUP=oZujU|$\fR
*҆(9Cȼw'q'{	`Ey=S1gP7w>?W
6֥]Ꟗܠ6ۍ3!E2NPqm+=}"bc3aIZyZ>l3'P7֤Ʋi<>4]W2_2ss
`Fˇ?_YCmlmPϸ@}L02IhtkC4f
yrJԚx|¯]Ww]޼,	T0svtr	*Jh^T]eG3Գ_\wzDLOW^k.PﯙJj,NTjǀ`f^y'M؍Ԭs=a6<~٣+w)7XQbAG{*z7PTJÄ65U[N+PM.ƇʯKVla?fӕ@#㣰]Ej2i@zR|MMv2O/`M\"l.
`c%ƒ~It}F>ڟ?4tj8?6oO?/&W
CXs:r}
`ΗۭKlm}=Rol_Ǻ[ԧruHshpSi۵V*߱= m%Ű+^>0_0-'޹>m[6^_N[#no@Z!̭F.5:ٲ=]]ԧ)z;,5\Le{B:e,1ǒaC:oWyƫ‰=xƿ#Ur r5":cQ6EMEBUYaT!pL\:7ӼgHq޷u%iEA-WJXDjlt^Y-p
T/*S}?kB0E;fBc5{VlvWOC	A[Ogw
\"	kaM]s]-`L\WZ|:C']Sz:]bBE#ʲRNORWC盢iem^yܝiKSS>UtaO)\dp[T7vY3}MBo+;tԐJ(0=Ի>vs_d2fAR
a~O*b\kvJKĐbS*u㡆es`voG{ڠ/:ZM
AG
g/z/gĵ5ykv;tbCO6OshwlDxyR<!~
]q/I\>ɍ0ɇ6IS0qWnmk5TF'B—+l⯪_o440PY63ӏ?Z>XLp!_\!w4#R(jBFR/?Te3Xи"gTt'^+*8#{'69Ǟ$8{;{+drթUYwL9F3/"WIaM	; tQh6ou]YLJlsuFW(j̸&9h49ŭ7+nNͪ+w\al?cFRH{UXR#=M 0C6>,`6ǁFn'1uj:Xt "H6%mnh6SS9."'5qkTFU*/.xE{xIazQanն@54<hжY섯)BU[(cJŝ{o'' |H{4t2w;uGZb9ׂxu7VSX߄s8,ҺcO!hj8$:8'vGvw$X4#!7^H|Άb0Vs	sѣ5y?:ы9]rϣV+;5bG4ѹĚK3Gf1Ex4J{ qz\&1#⧰>m=LYq[vJuc<:|y}×3OE9#󫹯ُMǢ)@l\#9ƽK@Uk>R=ޘ{rIJ_z^=hbyqX7ϔT>R3p	16M(hnՉJS $,!	?!f5
@7mfP/=^T,g]g6ɂB/YULzOS
1(+=<™@蠧(ػ^gf[xJ9X5+AәߵABL1R2 V*$daZ'~װoeά̂007"yh8lj]\<o5HA6$tƊNCGs^ytco]Fwj%Z"ٴHg޸dBWl6	6)ƴi)F_)6ܨ̋fi]-L{ma&f30HJXH7H7
J_)oG%y(ŋ}#(AEsMfށt]<2-<:氕;SFnS#bs-ǟ{Iڝ	&L/@a󗌄
TaC!qn񸍵ųL"iDi:ϪC:rGir,ƽi^fG-AA=iw\;wo#@5i^ڧi`fϦHGA7F:^\H?>xrv:댿N4t3@QfyDee1c>0ҝ+4=7=wT|N#	ҨLNipα&EGb2,Jpf2*%iR}Ё8xיxdSY澃@J2S{7_:>YH0Cm,XPrr\ɂjL&uJ5ܮxwt<EP+G8ѿ|
o^*D"Jr>Z>࿈r>Z>ϻO5n/[.^]˷d+]ϻ,ϻoV8s9w-Bk)rvZ>񘿜;{zsr>[M;lʘRv{%qZjfXcN۪[em*7L,kҌPeiI?3ŹmByl;EE	nCUY^ffghlew@'=ǔǒx@xQiD'*mŞ=C>>6ZQ旐p3U"\1&+h/qN+_Faݼ-,Kyyp_bRtvqT*ޅb>ЖNo?r꒩8s<-=OSρ{m.:@z\Ā/L@%HH+;ET녕-f#hZ΁wBc0Žp8oV,1.e/uۘ2ⷌ>A:֨IM&ЛveR^|LV3'|W!ρ)#zN>aͣyКoh?ۻT)f37ŏ7W&Wsk?j6)C]G(c+VWu\I?:yN;Fu]tl񖨁G	A~dKFWyCv5rBA@ƂleY.hi@ЉvĂlF%+RHl:&vLjҫ.PƻOXkqe$7GJs1
{
G?"A9ZHrY@qa;zupo؎7~AKQa$,g饱{WcjHKul{1<v
/P:TŬ#sOΰU)0]ǢlTJKܓ!Dt&nj%~	)yY-nԱgԷϞxaߐUf?Sn]xj><CI>ken-2o^J̣XDeِ.Λ!ֳ2ϖ;lKS3V;/E*Dh+hL2϶6Zqޢ+l`9n.)`œBR/as33Vnzyٰ霋JIGyMtk
G)(#@.!qhZ덟ͩꍟCɏ7~~xoA< $Tsazi!G^pqIG>lߎhN)ywLk]6v6th|:%pniǃ~#p&f;8٥奅6[%">,H{YH,֭-H;H{*u;ڿ(X[IMa1wa0޹jU#Eyk<s*ʛF)ʣ=QNa]gI uy(,Fe܍`ߗr.l+K&ێ6.>9cyZT{?"~n7gќ{k(W<'3|]
6{.):Dw?z7JgRV_WxTܓ+yPK_vTLzS[5De-
(?_f_^j&vxVwu^'eK]݋&7bD~[>6ҡvnG[2V{ݱIWobOz^wUU7r
`Oώ[Uxyrx`@]poA"([>K%	87ݢRx:hDnǎ^(MIJ8:ip^{bE՝^T՛,wzPfL'{ftvalÚz)
ylfFw&&}M}<7ٺ2TlfO-S\BfhZaܮ;&(MSyF9|.cj|>!9Y⺩>}}ɩU}E9eβj>>Dڂfw+sl>Mՙ)>}Y@awMb\wq[Tէxk-s2yBV5.0{a==|Ͼ嫆]紆K/3p*Eq}N]-i+,^DaSU"k,Bma.s39UM:/sZ>>9jww>c@
V%{>>#?s٦4u>|%"Yw0ЙSnԡ5a?%ω,Q{-1IG0c_k~vSwaOhM]5'Sjۘ͡gzF1aĔRظL{2񫹡=ifOP/3#mGGs_G{eMѽs]gT?[0.%=3?Wy]k6}3s1mq_x%<z':Mgz#ev7難i(+]N*vtN1kOzG-1PC%"aMQ#x
)fB5IZAoTtVMwN;)Ĝ
NKR܅tghCrAp*wH.ڷ1--xC͵eZISlؒ3B(iv6
ED7=k11c_: ;³
g
̅J(Gx8@W	ڷ#+?_FxFRB3fApLSŔ4(?JS}{꿠l|҂tv0խW9<g6zWzCY{K:E#Ӟ~6~L-{=i}`;GtEKr]#'v4DN%T~?xg&d|$>ŏcŴ-wRMi/ffB*
=(urXF{;FÞN+burbw!,lFяlQc-[P*1IJ{%_ںOrco5"!QT7(gTjGݭI8\p%N2Sffb]mŖt(W;X:Pncw("ΆZP-ysdz5]xTFʓ<
2nUL=lqqucO^CõT\MwJ~]M+Fuٜۊ.ǞK\c""MA񶱴5V`5m+.P5Kj	CLr].*>%͝S%tҔ/1]2oEX~0Z+=޹y~2-yWj^Ũu;(;sZ`[
&@JsKTUק-8p-UOp郪_^+}ym+,q>ɠT6[)D]|LSQsJz䛁G:<ܩL`VUYLlZYC}Gcaz?^}'Gv6KTlO~s<^r;9$t%vg	L:Ӥ8Ԓruut:cik<@fa yI3y7N%s+lOPTUSLrV==T켎{1-r/0{
*`kuAض%_fJ@y}
4H,rӴ{Ή4j@H
4;LDxrGTAUZf%XhG=nVH[/ItzD'3@I{R$#N'*IE]{,ItzDOگ$1'=SI2y9^Vh?vY'Ap^VHfJ=.+l
=?rY!mn
͡?xYeS-v5ũV3\xH\e2Sf;^CEuDwK8Պ\xzy0L9߅6kvq.,(1'!5ۅ.So;4L*	au%+)h.<&PdXi=pᡆ 犝)C/[P1C=4)"C(;MZ=9.<b䮛^A/<Σ[r+"1VkuCyw*l.<4csC׵1mP]xh3}ۡW3~q7%sa%^p7I`gC^R^;/<pI9
l}\x<na8u!LpvS=Ѕ޷=ȇ\\)C
cfۇzᡷߜCYz.<6~.<4#Jm!/<)f{dtY.<uQ.<.շmE~wL6^xh+c9c66޽ymۻ7\ڐFpC
sRm".<PIYBAۣ!w|T>0xLӅ;f7jzA/Uo;뤻ѣHr^zroGDstH^%pP#䵻34_wr*M%nԹֱzfqXOF̍>àf±dzU&uQ`UWxt0DTq(QuCz3nL㬰3)Of&uB;{ZK'xr _{iJ:n"m!*-_Տm,.H{kgM·g{| xx|<
')O֗^_5n~mLx\d# ^\DeoG+/.*J&ܲV+%x_nYX]N^sYE SɶJxfa	_#0,aϹ~Fj_NU9WWzp[r$>0!O*$Å*u෋՚&wQ2qhE{.焌ZiR~Jw~A.}V,GQg[/APK[UV޿oe2dT8}UnjLReZ1q^Ǻ'NlĜ->|lrd=C'_A=^4֘X96Fjl|Sq,7njs8KF3
g߮#-$ՏlmuA
UKs筏24if$DVdۉrm".Ykҩz
<UDSrф	7\tolyK~l.'p K}Cd.
E.ZnإShG/Ov.bU:x~~nsX~LL׈J0M6
W,VMip[V5[%(T!|}mH^u`9Lj#z_OI}<2,kx.
ܬ"2%C
]9i@ףg_G釀?#ܗʱlZdU-;O#&kI{Ef@XE5L4ɫN\Ҽȯ8r[ѹYDa[=xpzT4/&UsNh}b?]A]oU~o.E	iMn~f'%#IJIEt69:C?	R9`oT,]dC:h;0C?IM9٘"b5zVn)Cpϣ7rj@2Z_uXTY :% (*8W+g SEUWBDMttGA}1[{J4Y{L$eX{:
q:={ȅc>~qz|np"Q.i#(	Oj,Z7f}]5J;1}֕n\_iU?}jW|>)Yޫ&uGt{"6[jnu]w?|_}V
'Z~5;m~(3~YwV{,W|܂_oM/C
("-nrziY0Ōs,oAA?A/cZNNxW9\6T(mubs]Uyp#S=3,aI}?_ůHR?T|U=!S
.hs#)
3.=;Y=M^S]7vLVnnl?'lÃǣ y7p"x	G='|{8UK4tG[`H:{o*\yKRfqrdѢ~HnY:hh*"JZUvZv<`"Π=Z'A?`lvLj-`h:gr+nm!ω,f)n!bĵP@+Y!>d˳jy/&F:~.ogWí:{U
jkTs+)ܚ|ƋIA66l16\9+I4{zeTu>W7򖔓`O~`*FY$7ไf/{h5-U-~,AN+'۷ zejT)`3))%KmDl;]'B
)([QmQ(oZ!TMCd%!9Wߌzi~ط>kRPːL4v۩۱1#rt.%?_@cc|NA"j{DžxsӀL5>(+4g(@BimMwXKFll[/)Ud.ZGw	ji	8pc7 DBj-'r҂%,*l
f9a'L)42ag32L]Ld)nݛs֬ٯxa,{c=vF8C~g@@oYܒ`S>8/:X,.Pd-6=|z쬞l
49ysmiF$`n/AEa1?hJ[NkEj3Cz'[d_ɑQ22R7U:(ltv7}5384.}f%ȭzsjjPO_/TJ0I_d_~6^Xuyj?I[EZ}ݸ?MgV,=~_gWߔv'W_x5>Yz7v"W_{%%?K#q%%9D-
_mL#-;Nm&J/Өt4nEt[QZ1TOzrfcҺ1Yܑi^+j͸,9.>GҁZ 8!vJvu~3Υ{ 1Dϸo_1Δ&?mn6	m ^/>҃]\s[X.<HU~xgZbV$-hHjX0z\y[х
L-na7am;AHH|N(&7)H(˶x<x7~2Q;+ir),
԰yY`G{4RY=֑P{N.VJĠrK%nš>?u#
=ʡt&(>!>KİlfL->QB})s(oJzJB{j+5ihS#bMϽܮN#fց6g6&A91kAرiЦmIN^iǦA[R="O	]
xA<Zү[E
dWE}S4yEJiQ)-jPluVJDiAVAi3NčҞlQ
%(?]pk6%=4huG9'Ah6%=o&J0Y4Ȥ_ҴQSpGƂ~ԊOSnx?K,ARP6Wp/*ŻWRG**檦h"ﱈx$rLiI-&աot\+D>3H$=oK~[{`gɮ4=0*0[)x2>؏KJAًA5apx-o')nA"͕SqN&q38LR'IҊ_">:N$8J
j20%vK<OZ"{3]=/+YNJoc'cJzʩ?ŝkɗ
[opU"&l2+ިT5/r$/Z$YV])s_RXojArM񁯑
!K]ևHF
}]'Qr
:/Du8_MNN
Iه1w]iaD9^7TR=pIP1lD9~LrQyaStS2|ߴ
Qpߵ^}mt{"!T~N.ʓT4*ε,U2kAX
Z*!Z
A_Y6#	ꓞ$ݏn?̳WpȲΠ*Kҕ<hO8
aV,KAG
N	U0|%ԯs_Nړ|mTV*OmHc|ksa+zH?l'ު-tb4Fby
qnm&"?=0UuV'>sEOS[vsp"LєV[hOʴ߯H>նj|[""&R6)sW{ufMRϣOB
P[&BxC;keCajϺ	DcY;§瑤#~bg鿙0/P_u4?y71 zisUdY?a|KR?1|0'QQKpUϢf[/kz1Ukb2s*ْߒYvt}K2ۮz#YUYH60z.븹J`&Kۙ	SRo`@t!vzKN^gs'd|hh7ȸs7QAV/..9㋒]6_տ̷z>v$ow½NJ-zs&˜mDqsE"PW)׹kAErSy
iw>s[nWOVb(dӊe3G8:(|>!ZZ$'Rg7ͬيQ/Db2d|؞L$9LUFѩX<kW:u^a'
9Ûl`Dyl+1$PWx%DP4xq}#{aQspR샃Mm Xq&Pd*n NS8U'	FqA5'hoHe1S#ֻ<gqTX7ov)QԒ^w+>bս_ErmCuyyw@Pl6TGժ)bEA1]@bf tPyJ`-q'oHI6<5ul|[O1SSxi첗eZxub7Ik1}i?7e!l1kH(=t^4$([f<僇U^^g`t0m96xobOkc;1!lE[I4>}wi.@3Eh|A$9SIY,H;f(6#
6m,*`},@.}ЮH<ԁ4ea#I"> yI+θveR`ӕ&i}W>-,RF>u~svv*q4yf@vJK9JrO9R		
Q~jV*1QZw"R<P(-]M9-Ŕ>]@BG=UIϲ"\,׊p4&;`fW JpYG([srޭ^*2DJ͏_$4ĝdD
8⩷Cq1*k|@O=izc;Wu:[<<WӞ;Kyuyq6n.t^iw:k,,t^2zx:oPνyo'ojl&x,*!S柠E	;@+|~YI)E}w1"խʑ
~X<U?0DM9݉i>VBM*LTu{C8Kn3SAox|=T`Hגv/H2VdF8oLP<7<_+y~^x2$Mע4K ِ/g&blE"'`GH
„
hJ
m~SʓNOˡ|Hy
E`d+4GQ}%}?Oi	_Q5&oG/˄NCLM&cӹ\.˦9A٤(fl:NY53icC8r(<"ϋeA6	r9!\.
K9'fEcTZ+̈B6Bx6M',P&PL%0cy,
L8B&gB6S4JgX%ӿ<srq|wlIiE&Lj\L1Y.Krl\~’BË|lRL`2!(e3p^,,@͑nҢZ:'!XK(hbɊ!Jgx3YrV`Jځ,GHHO&B642@Л`l&˱Yg\:ʥ3\V)fht\ 02L9>MH)\ZD)fzQfC9x
/da60¤Y(	FӰd!1)"|Bzg8s`n`
1*S8g|:",&(ٜ&Yq<XϠ1A!``Q8X-!6i o

|+LL:'eYX >
E@H個4a3Y3Go
KaEdh$,
f 0 ۰@r. l(ϣ<dfY!ܒd,C Bd`0<,eEGsU4H c[$TxsNeI9SFPҰ0OX""d0#y8#@Sbj$n?93FAt\30h
,+sJc1j3-Ȋ
[b7 AR9X
D&`b||~lAE4-74i&:Ck9~%L9LV`	hPcX6dhh$r
f !y HX
+̉l4bFm'"rA'
`CmҙlZA@
,LeIW
eE)	RBH},iQT y<Ӡ@A0kd Pk-X qxD4yTr=t5
$23.lF3NnX=C7
y`xЍ(>%`,<H,K [39
d9A,gJFga@2YQ-@CM-xKxz  E"x.	BDP,Q b@%%T(22\M; &	O!	l` Ҩma9DM6kfX9:3.OF
Łif@ƢI@@YN %@6=0aZ^#q0J$`?QiH3h65W(4/3`)'3h$"	i
J'MBP+]p]ٴ
rp 0?X*Jq{3`	i0h80'27P:)@,#yPYbŀ0"2GbrB,"{xYȊ%$r2\*]	,#NQ90
`|ALyhYD\U#*Nc4- ΊNC24 	>	6>0`́Q2@hg3l@Q!s!kNO	.&a^h~HWrCc[
59(!K@B?yu1j
endstream
endobj
5 0 obj
<</Intent 14 0 R/Name(Layer 1)/Type/OCG/Usage 15 0 R>>
endobj
14 0 obj
[/View/Design]
endobj
15 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 21.1)/Subtype/Artwork>>>>
endobj
22 0 obj
[21 0 R]
endobj
35 0 obj
<</CreationDate(D:20171006133649-07'00')/Creator(Adobe Illustrator CC 2017 \(Windows\))/ModDate(D:20171006134017-07'00')/Producer(Adobe PDF library 15.00)/Title(BuildCastIcon)>>
endobj
xref
0 36
0000000004 65535 f
0000000016 00000 n
0000000159 00000 n
0000008794 00000 n
0000000000 00000 f
0000036415 00000 n
0000000000 00000 f
0000008845 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000036485 00000 n
0000036516 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000010610 00000 n
0000036601 00000 n
0000009165 00000 n
0000010910 00000 n
0000010797 00000 n
0000009889 00000 n
0000010048 00000 n
0000010096 00000 n
0000010681 00000 n
0000010712 00000 n
0000010984 00000 n
0000011158 00000 n
0000012447 00000 n
0000014694 00000 n
0000036626 00000 n
trailer
<</Size 36/Root 1 0 R/Info 35 0 R/ID[<7E02D6AEC19BD849958EDC4078DB63FE><CBB61AAD1428614EA88DD1036822EA78>]>>
startxref
36820
%%EOF


================================================
FILE: src/BuildCast/Assets/build2016windowsdevfeed.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Build 2017 Sessions</title>
    <atom:link rel="self" type="application/rss+xml" href="https://s.ch9.ms/Events/Build/2017/RSS"></atom:link>
    <generator>Rev9</generator>
    <description>Sessions for Build 2017</description>
    <link>https://s.ch9.ms/Events/Build/2017</link>
    <language>en</language>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/669dc04a-7940-4903-ae8a-e2694c8796f6.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/26090415-71bb-4435-8911-299da2ac8e84.jpg" height="250" width="960"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/ab8c1b3e-2a67-4e57-9d36-0e28fc15a6a0.jpg" height="75" width="100"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/2d3bd92f-d5b8-4cca-87e2-a9d81218cc4c.png" height="60" width="960"></media:thumbnail>
  <itunes:image href="https://f.ch9.ms/thumbnail/c2635543-13a9-4082-892a-1da55baa9bce.png"></itunes:image>
  <item>
    <title>Project Rome</title>
    <description><![CDATA[<p>Project Rome</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:26d7d74cc54e4c1b8265a778016b56e6">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/C9R11</comments>
    <link>https://s.ch9.ms/Events/Build/2017/C9R11</link>
    <itunes:summary>Project Rome </itunes:summary>
    <itunes:duration>1424</itunes:duration>
    <pubDate>Mon, 22 May 2017 13:47:40 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/C9R11</guid>
    <dc:creator></dc:creator>
		<media:thumbnail url="https://sec.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://ch9northcentralus.blob.core.windows.net/mfupload/26d7d74cc54e4c1b8265a778016b56e6/C9R11ProjectRome.mp4" expression="full" duration="1424" fileSize="1" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome.mp3" expression="full" duration="1424" fileSize="22794186" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome.mp4" expression="full" duration="1424" fileSize="74640048" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome_high.mp4" expression="full" duration="1424" fileSize="741685783" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/bfbf/80946ac2-db5a-4630-9d21-2a6cb432bfbf/C9R11ProjectRome_mid.mp4" expression="full" duration="1424" fileSize="394360593" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
 
  <item>
    <title>Overview of new Bot Framework features</title>
    <description><![CDATA[<p>Over 100 new features have been added to the Bot Framwork at //Build. This talk provides a tour of what's new and what's changed.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:77c8146d06124409ad68a770014b2c8c">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/C9R03</comments>
    <link>https://s.ch9.ms/Events/Build/2017/C9R03</link>
    <itunes:summary>Over 100 new features have been added to the Bot Framwork at //Build. This talk provides a tour of what&#39;s new and what&#39;s changed. </itunes:summary>
    <itunes:duration>954</itunes:duration>
    <pubDate>Thu, 11 May 2017 20:06:39 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/C9R03</guid>
    <dc:creator>Chris Mullins</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://ch9northcentralus.blob.core.windows.net/mfupload/77c8146d06124409ad68a770014b2c8c/C9R03NewBotFramework.mp4" expression="full" duration="954" fileSize="1" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework.mp3" expression="full" duration="954" fileSize="15267786" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework.mp4" expression="full" duration="954" fileSize="57255963" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework_high.mp4" expression="full" duration="954" fileSize="477517270" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5d93/65b4a411-242b-476a-a7b6-ad5c14cd5d93/C9R03NewBotFramework_mid.mp4" expression="full" duration="954" fileSize="261747122" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Bluetooth: Bluetooth GATT Server - Part 3 of 3</title>
    <description><![CDATA[<p>GATT Server opens up a myriad of Bluetooth Smart (LE) device scenarios. Learn about publishing a GATT server, notifications, and checking for Bluetooth radio hardware capabilities.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:8429938c82d94428a05ca76d015a6319">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4179</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4179</link>
    <itunes:summary>GATT Server opens up a myriad of Bluetooth Smart (LE) device scenarios. Learn about publishing a GATT server, notifications, and checking for Bluetooth radio hardware capabilities. </itunes:summary>
    <itunes:duration>542</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4179</guid>
    <dc:creator>Frank Gorgenyi, Steffen Froehlich</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/be243e16-cf3d-4899-85fd-073fb1c6cc9c.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/c4c99c22-35dc-44ea-ab2f-4ced3b34d5f3.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/812cc7cf-d9c7-4166-ac5f-f6c12978394e.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/fb19/6b0aabc4-6aee-467e-8630-62bb3ee6fb19/P4179.mp3" expression="full" duration="542" fileSize="8679882" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/fb19/6b0aabc4-6aee-467e-8630-62bb3ee6fb19/P4179.mp4" expression="full" duration="542" fileSize="12827046" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/fb19/6b0aabc4-6aee-467e-8630-62bb3ee6fb19/P4179_high.mp4" expression="full" duration="542" fileSize="50161949" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/fb19/6b0aabc4-6aee-467e-8630-62bb3ee6fb19/P4179_mid.mp4" expression="full" duration="542" fileSize="33606485" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4179.mp4" expression="full" duration="542" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Bluetooth: Unpaired Bluetooth LE Device Connectivity - Part 2 of 3</title>
    <description><![CDATA[<p>Pair no more! With the Windows 10 Creators Update, you can now communicate with your Bluetooth Smart (LE) devices without pairing.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:84316d1cb7a74948a169a76d015a62a9">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4178</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4178</link>
    <itunes:summary>Pair no more! With the Windows 10 Creators Update, you can now communicate with your Bluetooth Smart (LE) devices without pairing. </itunes:summary>
    <itunes:duration>533</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4178</guid>
    <dc:creator>Frank Gorgenyi, Steffen Froehlich</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/d43d7130-1adb-4c8e-a2cc-ea6f7f9545ff.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/d47ef822-e5b6-4c67-a955-17b6233820d8.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/439df8fd-d68d-429b-8d7b-e74682ca8613.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/b474/0473947c-0db2-40dd-9224-13e28f35b474/P4178.mp3" expression="full" duration="533" fileSize="8529738" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/b474/0473947c-0db2-40dd-9224-13e28f35b474/P4178.mp4" expression="full" duration="533" fileSize="15653398" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/b474/0473947c-0db2-40dd-9224-13e28f35b474/P4178_high.mp4" expression="full" duration="533" fileSize="94986616" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/b474/0473947c-0db2-40dd-9224-13e28f35b474/P4178_mid.mp4" expression="full" duration="533" fileSize="56868421" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4178.mp4" expression="full" duration="533" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Bluetooth: Intro to Bluetooth LE Explorer - Part 1 of 3</title>
    <description><![CDATA[Learn about our new Bluetooth UWP sample app aimed to help you code and debug your Bluetooth apps. Quickly view the Gatt Services and characteristics on your peripheral or create a virtual peripheral in seconds. (Final) <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:6e6e807a9b1f4732b834a76d015a623d">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4177</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4177</link>
    <itunes:summary>Learn about our new Bluetooth UWP sample app aimed to help you code and debug your Bluetooth apps. Quickly view the Gatt Services and characteristics on your peripheral or create a virtual peripheral in seconds. (Final)</itunes:summary>
    <itunes:duration>724</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4177</guid>
    <dc:creator>Frank Gorgenyi, Steffen Froehlich</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177.mp3" expression="full" duration="724" fileSize="11598282" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177.mp4" expression="full" duration="724" fileSize="19557941" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177_high.mp4" expression="full" duration="724" fileSize="91865846" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4cb0/71b07485-a120-4061-8886-056d22cf4cb0/P4177_mid.mp4" expression="full" duration="724" fileSize="58220044" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4177.mp4" expression="full" duration="724" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Tips and tricks for creating performant UI in UWP</title>
    <description><![CDATA[Give your Windows 10 UWP app UI that next level of polish. An app with great UX should not only look good but should also be fast and fluid. This talk covers some tips and tricks for working with XAML and the Visual Layer to keep in mind that will help ensure a beautiful and adaptive, yet snappy, user experience. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:d20477a3eef9480cb331a76d015a617d">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4173</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4173</link>
    <itunes:summary>Give your Windows 10 UWP app UI that next level of polish. An app with great UX should not only look good but should also be fast and fluid. This talk covers some tips and tricks for working with XAML and the Visual Layer to keep in mind that will help ensure a beautiful and adaptive, yet snappy, user experience.</itunes:summary>
    <itunes:duration>1520</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4173</guid>
    <dc:creator>David Li, Robert Mikhayelyan</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173.mp3" expression="full" duration="1520" fileSize="24323274" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173.mp4" expression="full" duration="1520" fileSize="47961677" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173_high.mp4" expression="full" duration="1520" fileSize="276696039" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/73d1/d3b5fa74-0b6d-4c8a-95e3-3c8afd0373d1/P4173_mid.mp4" expression="full" duration="1520" fileSize="168463614" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4173.mp4" expression="full" duration="1520" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>What’s new for multi-tasking in UWP?</title>
    <description><![CDATA[This session provides an overview of the methods for running in the background on a scenario-by-scenario basis. Scenarios include Media Playback, Media Capture, Location Tracking, Bluetooth, Media Processing and others running in the background. We also cover how enterprises can enable and control background activity via MDM/Group Policy for the apps used in their enterprise. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:716bf5f6c50e42df8196a76d015a6111">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4172</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4172</link>
    <itunes:summary>This session provides an overview of the methods for running in the background on a scenario-by-scenario basis. Scenarios include Media Playback, Media Capture, Location Tracking, Bluetooth, Media Processing and others running in the background. We also cover how enterprises can enable and control background activity via MDM/Group Policy for the apps used in their enterprise.</itunes:summary>
    <itunes:duration>1726</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4172</guid>
    <dc:creator>Chris Cortes</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172.mp3" expression="full" duration="1726" fileSize="27625674" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172.mp4" expression="full" duration="1726" fileSize="44905334" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172_high.mp4" expression="full" duration="1726" fileSize="222427651" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/6c14/5da20e2d-afd7-42ab-ab68-576f60db6c14/P4172_mid.mp4" expression="full" duration="1726" fileSize="136838882" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4172.mp4" expression="full" duration="1726" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Windows 10 on ARM</title>
    <description><![CDATA[For the first time ever, our customers will be able to experience the Windows they know with all the apps, and peripherals they require, on a mobile, power efficient, always-connected cellular PC. Watch to learn more and see Windows PCs running on Qualcomm Snapdragon processors. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:9bdea401985f4518a22da76d015a60e2">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4171</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4171</link>
    <itunes:summary>For the first time ever, our customers will be able to experience the Windows they know with all the apps, and peripherals they require, on a mobile, power efficient, always-connected cellular PC. Watch to learn more and see Windows PCs running on Qualcomm Snapdragon processors.</itunes:summary>
    <itunes:duration>797</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4171</guid>
    <dc:creator>Arun Kishan, Hari Pulapaka</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171.mp3" expression="full" duration="797" fileSize="12762954" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171.mp4" expression="full" duration="797" fileSize="24693218" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171_high.mp4" expression="full" duration="797" fileSize="136581235" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/77bc/0cb602d9-0828-49f9-a291-c17b26c377bc/P4171_mid.mp4" expression="full" duration="797" fileSize="86906986" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4171.mp4" expression="full" duration="797" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>App Diagnostics #1: The new App Diagnostics APIs</title>
    <description><![CDATA[In this session, we examine the whole surface of the new app diagnostic APIs, how the API hierarchy models the kernel and platform runtime functionality, and what’s here in the Creators Update and coming in the next release. We also walk through building a UWP version of Task Manager. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:7c7a9ec6409f4be99a6da76d015a6072">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4169</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4169</link>
    <itunes:summary>In this session, we examine the whole surface of the new app diagnostic APIs, how the API hierarchy models the kernel and platform runtime functionality, and what’s here in the Creators Update and coming in the next release. We also walk through building a UWP version of Task Manager.</itunes:summary>
    <itunes:duration>1121</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4169</guid>
    <dc:creator>Andrew Whitechapel</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169.mp3" expression="full" duration="1121" fileSize="17939658" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169.mp4" expression="full" duration="1121" fileSize="31280089" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169_high.mp4" expression="full" duration="1121" fileSize="199349766" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/cd7b/3621eec4-1efd-4f31-8743-86bfd874cd7b/P4169_mid.mp4" expression="full" duration="1121" fileSize="119293559" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4169.mp4" expression="full" duration="1121" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Dev Center: Advanced pricing, sales and release scheduling</title>
    <description><![CDATA[Learn about the exciting new features in Dev Center that provide you the ability to maximize user acquisition app revenue through conditional targeting of deals and discounts to a subset of users. We also explore how Dev Center puts you in precise control of your product’s release, pricing, and go-live date to align with your region specific marketing activities. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:01f41c6266dc4561bfe6a76d015a6043">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4166</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4166</link>
    <itunes:summary>Learn about the exciting new features in Dev Center that provide you the ability to maximize user acquisition app revenue through conditional targeting of deals and discounts to a subset of users. We also explore how Dev Center puts you in precise control of your product’s release, pricing, and go-live date to align with your region specific marketing activities.</itunes:summary>
    <itunes:duration>760</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4166</guid>
    <dc:creator>Bernardo Zamora</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166.mp3" expression="full" duration="760" fileSize="12165450" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166.mp4" expression="full" duration="760" fileSize="22749854" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166_high.mp4" expression="full" duration="760" fileSize="111383434" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/7cab/7663bf26-b584-47c9-a02b-1af458267cab/P4166_mid.mp4" expression="full" duration="760" fileSize="71010303" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4166.mp4" expression="full" duration="760" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Enable natural pen interaction by using Ink Analysis to better understand users’ ink</title>
    <description><![CDATA[<p>The Creator’s Update brings new InkAnalysis APIs, allowing the user to ink naturally and enabling the system to recognize handwriting, shapes, document structure, lists, and more. We walk through how to take advantage of these APIs and share code samples.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:8f15f7d4d6d2468784b8a76d015a600f">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4165</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4165</link>
    <itunes:summary>The Creator’s Update brings new InkAnalysis APIs, allowing the user to ink naturally and enabling the system to recognize handwriting, shapes, document structure, lists, and more. We walk through how to take advantage of these APIs and share code samples. </itunes:summary>
    <itunes:duration>1309</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4165</guid>
    <dc:creator>Jianfeng Lin</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/91c8f918-8c71-402e-b88e-c9cf98be8983.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/45b98d61-70db-4ea3-8b05-a30959e0b789.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/af037b82-deff-4a03-aa3a-355cd3a7818b.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/2c52/7f433bcd-d41b-458a-ab5d-a0214be62c52/P4165.mp3" expression="full" duration="1309" fileSize="20955978" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c52/7f433bcd-d41b-458a-ab5d-a0214be62c52/P4165.mp4" expression="full" duration="1309" fileSize="28373622" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c52/7f433bcd-d41b-458a-ab5d-a0214be62c52/P4165_high.mp4" expression="full" duration="1309" fileSize="153467101" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c52/7f433bcd-d41b-458a-ab5d-a0214be62c52/P4165_mid.mp4" expression="full" duration="1309" fileSize="103160859" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4165.mp4" expression="full" duration="1309" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Microsoft Universal User Acquisition Platform</title>
    <description><![CDATA[In this session aimed at publishers wanting to acquire and re-engage with users, learn about how to acquire users using Microsoft Universal User Acquisition Platform, Dev Center Campaign experiences, analytics, API, and variety of ad formats to match your app's user experience perfectly.&nbsp; <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:5eb534fae3484fd79e27a76d015a5f46">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4154</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4154</link>
    <itunes:summary>In this session aimed at publishers wanting to acquire and re-engage with users, learn about how to acquire users using Microsoft Universal User Acquisition Platform, Dev Center Campaign experiences, analytics, API, and variety of ad formats to match your app&#39;s user experience perfectly. </itunes:summary>
    <itunes:duration>552</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4154</guid>
    <dc:creator>Anusha Subramanian</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154.mp3" expression="full" duration="552" fileSize="8848842" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154.mp4" expression="full" duration="552" fileSize="11984858" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154_high.mp4" expression="full" duration="552" fileSize="33569868" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/629a/a08a2c49-0e10-4d09-a9ad-700de16a629a/P4154_mid.mp4" expression="full" duration="552" fileSize="24770916" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4154.mp4" expression="full" duration="552" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>How to add an in-app purchase flow to your desktop app leveraging the Desktop Bridge</title>
    <description><![CDATA[Whether your app is free or not, you can sell content, other apps, or new app functionality (such as unlocking the next level of a game) from right within your desktop application. You can easily integrate in-app purchase flow to your app, thanks to the Desktop Bridge; you can do it from any desktop application such as: WPF, WinForms, MFC, or even Visual Basic 6. The Desktop Bridge also allow your application to leverage from simplified and trusted deployment, easier monetization, and the ability to modernize your app with the all latest Windows 10 features. Features that were available only for UWPs are now available to any desktop app. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:f0ccc1a4dcf248d8a321a76d015a5edf">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4148</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4148</link>
    <itunes:summary>Whether your app is free or not, you can sell content, other apps, or new app functionality (such as unlocking the next level of a game) from right within your desktop application. You can easily integrate in-app purchase flow to your app, thanks to the Desktop Bridge; you can do it from any desktop application such as: WPF, WinForms, MFC, or even Visual Basic 6. The Desktop Bridge also allow your application to leverage from simplified and trusted deployment, easier monetization, and the ability to modernize your app with the all latest Windows 10 features. Features that were available only for UWPs are now available to any desktop app.</itunes:summary>
    <itunes:duration>839</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4148</guid>
    <dc:creator>Vladimir Postel</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148.mp3" expression="full" duration="839" fileSize="13428042" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148.mp4" expression="full" duration="839" fileSize="19843712" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148_high.mp4" expression="full" duration="839" fileSize="74242825" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/5214/29da5aa3-e11d-4fd1-abfd-13b5a9495214/P4148_mid.mp4" expression="full" duration="839" fileSize="51726989" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4148.mp4" expression="full" duration="839" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Dev Center analytics for Win32 developers</title>
    <description><![CDATA[Developers who publish UWP apps in the Windows Store get the benefit of access to analytics and insights about app performance and reliability, along with services to engage customers and create monetization opportunities. In this session, learn how Win32 application developers can get similar analytics and insights benefits within Dev Center, with access to health, usage, and install reports – even though their desktop applications aren’t published through the Windows Store using the Desktop Bridge. Win32 developers can use these analytics to assess the reliability of their desktop applications to ultimately provide a better experience to their customers. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:e2ba3ca8ed634c61be5ba76d015a5e36">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4118</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4118</link>
    <itunes:summary>Developers who publish UWP apps in the Windows Store get the benefit of access to analytics and insights about app performance and reliability, along with services to engage customers and create monetization opportunities. In this session, learn how Win32 application developers can get similar analytics and insights benefits within Dev Center, with access to health, usage, and install reports – even though their desktop applications aren’t published through the Windows Store using the Desktop Bridge. Win32 developers can use these analytics to assess the reliability of their desktop applications to ultimately provide a better experience to their customers.</itunes:summary>
    <itunes:duration>1098</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4118</guid>
    <dc:creator>Sonia Carlson</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118.mp3" expression="full" duration="1098" fileSize="17571786" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118.mp4" expression="full" duration="1098" fileSize="25941115" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118_high.mp4" expression="full" duration="1098" fileSize="131277320" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e53f/40f2993d-1001-4857-851a-cb8b3dcfe53f/P4118_mid.mp4" expression="full" duration="1098" fileSize="82618501" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4118.mp4" expression="full" duration="1098" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Maximizing user engagement with customized app content</title>
    <description><![CDATA[Learn about the new advanced targeting capabilities in Dev Center. Show customized app content at runtime to incentivize customer behavior, optimize engagement, and increase monetization. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:eea77b95f4bf4edbb410a76d015a5e07">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4116</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4116</link>
    <itunes:summary>Learn about the new advanced targeting capabilities in Dev Center. Show customized app content at runtime to incentivize customer behavior, optimize engagement, and increase monetization.</itunes:summary>
    <itunes:duration>728</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4116</guid>
    <dc:creator>Yamil Hernandez</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116.mp3" expression="full" duration="728" fileSize="11656266" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116.mp4" expression="full" duration="728" fileSize="18412220" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116_high.mp4" expression="full" duration="728" fileSize="97829223" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e3aa/adbd4974-9172-497a-9517-e43a4f84e3aa/P4116_mid.mp4" expression="full" duration="728" fileSize="61519194" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4116.mp4" expression="full" duration="728" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Go big! Optimizing your applications for large screen experiences&#160;</title>
    <description><![CDATA[<p>Organizations are modernizing their workspaces with Surface Hubs and large screen devices to support group collaboration and workplace transformation. Capture these environments with powerful, captivating apps that are designed for collaboration. From the conference room to the developer bullpen your immersive apps will enable you to reach new users. In this session learn how you can optimize your Windows applications for large screen experiences. Learn how you can leverage the responsive, immersive 84” 4K display with up to 100 points of touch and three concurrent inking streams to developed enhanced functionality.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:e6f310727a25486893a0a76d015a5ddd">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4115</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4115</link>
    <itunes:summary>Organizations are modernizing their workspaces with Surface Hubs and large screen devices to support group collaboration and workplace transformation. Capture these environments with powerful, captivating apps that are designed for collaboration. From the conference room to the developer bullpen your immersive apps will enable you to reach new users. In this session learn how you can optimize your Windows applications for large screen experiences. Learn how you can leverage the responsive, immersive 84” 4K display with up to 100 points of touch and three concurrent inking streams to developed enhanced functionality. </itunes:summary>
    <itunes:duration>1384</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4115</guid>
    <dc:creator>Mark Rideout</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/79fd8946-322b-49c5-ab0a-77d1e9f5e3d1.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/5ab0890e-8d48-4ef6-ad53-d36a2a706fa7.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/d9d30797-fe2e-4be6-a052-189ffd829678.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/ce60/bc9da5c7-e927-4129-a1eb-7221b3a7ce60/P4115.mp3" expression="full" duration="1384" fileSize="22148298" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/ce60/bc9da5c7-e927-4129-a1eb-7221b3a7ce60/P4115.mp4" expression="full" duration="1384" fileSize="44243857" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/ce60/bc9da5c7-e927-4129-a1eb-7221b3a7ce60/P4115_high.mp4" expression="full" duration="1384" fileSize="403779871" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/ce60/bc9da5c7-e927-4129-a1eb-7221b3a7ce60/P4115_mid.mp4" expression="full" duration="1384" fileSize="234889602" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4115.mp4" expression="full" duration="1384" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Bot conversations for apps</title>
    <description><![CDATA[The same bot that you create as a Cortana skill or a Skype bot can be accessed from applications. Learn how to access the bot’s intelligence in the cloud with voice, text, and UI input and create rich a conversation experience for apps. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:19003c1d59fd414a8d1da76d015a5da9">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4114</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4114</link>
    <itunes:summary>The same bot that you create as a Cortana skill or a Skype bot can be accessed from applications. Learn how to access the bot’s intelligence in the cloud with voice, text, and UI input and create rich a conversation experience for apps.</itunes:summary>
    <itunes:duration>1167</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4114</guid>
    <dc:creator>Khuram Shahid</dc:creator>
		<media:thumbnail url="https://sec.ch9.ms/ch9/8678/455af056-2435-44b2-a0da-b033121b8678/P4114_512.jpg" height="288" width="512"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/8678/455af056-2435-44b2-a0da-b033121b8678/P4114.mp3" expression="full" duration="1167" fileSize="18675402" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8678/455af056-2435-44b2-a0da-b033121b8678/P4114.mp4" expression="full" duration="1167" fileSize="23931637" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8678/455af056-2435-44b2-a0da-b033121b8678/P4114_high.mp4" expression="full" duration="1167" fileSize="104117537" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8678/455af056-2435-44b2-a0da-b033121b8678/P4114_mid.mp4" expression="full" duration="1167" fileSize="67295262" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4114.mp4" expression="full" duration="1167" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>A quick lap around Microsoft Ad Monetization Platform</title>
    <description><![CDATA[Learn about new Microsoft Monetization Platform that will help accelerate audience growth, boost monetization, and simplify your ad business for your apps. Get an overview of the new server-side Microsoft Monetization Platform, and learn about new ad experiences – native, playable, and video. Hear about new capabilities to drive installs and re-engage through Microsoft Universal App Promotion. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:a0e381c0bf0c4535a055a76d015a5d6c">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4112</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4112</link>
    <itunes:summary>Learn about new Microsoft Monetization Platform that will help accelerate audience growth, boost monetization, and simplify your ad business for your apps. Get an overview of the new server-side Microsoft Monetization Platform, and learn about new ad experiences – native, playable, and video. Hear about new capabilities to drive installs and re-engage through Microsoft Universal App Promotion.</itunes:summary>
    <itunes:duration>1117</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4112</guid>
    <dc:creator>Kiran Bangalore</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112.mp3" expression="full" duration="1117" fileSize="17878986" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112.mp4" expression="full" duration="1117" fileSize="33109667" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112_high.mp4" expression="full" duration="1117" fileSize="205137996" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a4f3/58a772b4-a6ca-499b-a5f5-ce8339b4a4f3/P4112_mid.mp4" expression="full" duration="1117" fileSize="123033824" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4112.mp4" expression="full" duration="1117" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>UWP Apps file access improvements</title>
    <description><![CDATA[Windows makes it easy to bring existing code into UWP apps, and we see that virtually every app will access the file system at some point. This session covers how to open and enumerate files using familiar APIs, including strategies for optimizing some of your existing file access code. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:bacc6ed60cfe48228510a76d015a5d3d">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4102</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4102</link>
    <itunes:summary>Windows makes it easy to bring existing code into UWP apps, and we see that virtually every app will access the file system at some point. This session covers how to open and enumerate files using familiar APIs, including strategies for optimizing some of your existing file access code.</itunes:summary>
    <itunes:duration>760</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4102</guid>
    <dc:creator>Adam Wilson, steve maillet</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102.mp3" expression="full" duration="760" fileSize="12166602" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102.mp4" expression="full" duration="760" fileSize="17309549" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102_high.mp4" expression="full" duration="760" fileSize="79951356" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/68e7/a6b41517-6ed6-4dcc-9cfb-1fe65f0468e7/P4102_mid.mp4" expression="full" duration="760" fileSize="51486250" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4102.mp4" expression="full" duration="760" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Surface Dial: What’s new in the Creators Update?</title>
    <description><![CDATA[In the Windows 10 Creators Update, we’ve given developers and users more power and flexibility in how they take advantage of the Surface Dial. In this session, we show you the new features supported in the RadialController APIs – including new gestures like press-and-rotate; more control over input and output with off-UI thread input for UWPs and haptic feedback interfaces; and additional menu customization with font glyph support and menu suppression. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:bbd6f46b9ecb4452a53da76d015a5cf2">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4100</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4100</link>
    <itunes:summary>In the Windows 10 Creators Update, we’ve given developers and users more power and flexibility in how they take advantage of the Surface Dial. In this session, we show you the new features supported in the RadialController APIs – including new gestures like press-and-rotate; more control over input and output with off-UI thread input for UWPs and haptic feedback interfaces; and additional menu customization with font glyph support and menu suppression.</itunes:summary>
    <itunes:duration>1574</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4100</guid>
    <dc:creator>Connor Weins</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100.mp3" expression="full" duration="1574" fileSize="25201482" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100.mp4" expression="full" duration="1574" fileSize="47215229" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100_high.mp4" expression="full" duration="1574" fileSize="325616329" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/d84c/70eeaedd-bcdb-481e-a13b-fa79ab84d84c/P4100_mid.mp4" expression="full" duration="1574" fileSize="186817028" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4100.mp4" expression="full" duration="1574" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Production tracing with Event Tracing for Windows (ETW)</title>
    <description><![CDATA[An overview of ETW and the frameworks built around it, including WPP, manifests, Event Log, and the new TraceLogging framework. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:a3c5d87c11b54fc7bda1a76d015a5c99">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4099</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4099</link>
    <itunes:summary>An overview of ETW and the frameworks built around it, including WPP, manifests, Event Log, and the new TraceLogging framework.</itunes:summary>
    <itunes:duration>1855</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4099</guid>
    <dc:creator>Doug Cook</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099.mp3" expression="full" duration="1855" fileSize="29688906" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099.mp4" expression="full" duration="1855" fileSize="41254432" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099_high.mp4" expression="full" duration="1855" fileSize="163966621" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/e15a/779a943c-c5f0-4965-a954-b903a3bae15a/P4099_mid.mp4" expression="full" duration="1855" fileSize="111405102" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4099.mp4" expression="full" duration="1855" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Innovate faster with Windows as a Service (WaaS)</title>
    <description><![CDATA[Windows 10 and Windows as a service (WaaS) enable significantly shorter product cycles while maintaining high quality and an innovative community-centric approach to app development. This session explains the benefits of decoupling app releases from the Windows lifecycle, how to take advantage of the new building, deploying, and servicing model, as well as the new features being released to Windows. We share best practices, tools, and services that Microsoft is developing to make the transition easier for our app development partners. This includes critical considerations such as maintaining compatibility, leveraging app telemetry, and engaging with Microsoft. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:95e251abf3964856bf7ba76d015a5bec">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4087</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4087</link>
    <itunes:summary>Windows 10 and Windows as a service (WaaS) enable significantly shorter product cycles while maintaining high quality and an innovative community-centric approach to app development. This session explains the benefits of decoupling app releases from the Windows lifecycle, how to take advantage of the new building, deploying, and servicing model, as well as the new features being released to Windows. We share best practices, tools, and services that Microsoft is developing to make the transition easier for our app development partners. This includes critical considerations such as maintaining compatibility, leveraging app telemetry, and engaging with Microsoft.</itunes:summary>
    <itunes:duration>1364</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4087</guid>
    <dc:creator>Ethel Garc&#237;a Simon Matachana, Steve DiAcetis</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087.mp3" expression="full" duration="1364" fileSize="21833034" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087.mp4" expression="full" duration="1364" fileSize="31720349" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087_high.mp4" expression="full" duration="1364" fileSize="110338614" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/0918/ad010b1d-8081-4975-a6df-c63fe1420918/P4087_mid.mp4" expression="full" duration="1364" fileSize="75085697" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4087.mp4" expression="full" duration="1364" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Beyond App Containers: Gaining privileged access to hardware inside your Windows app using custom capabilities</title>
    <description><![CDATA[<p>Ever wished you could provide an immersive Windows app experience by leveraging hardware capabilities that were previously off-limits from within an app container? Look no further. Custom capabilities empowers hardware owners (IHVs) to expose hardware capabilities to Windows app developers and manage them securely. This session provides an overview about custom capabilities; how to gain access and use them within your Windows application. A code walkthrough using a sample application illustrates the high level app development process.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:890a9526ade746138d18a76d015a5b85">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4086</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4086</link>
    <itunes:summary>Ever wished you could provide an immersive Windows app experience by leveraging hardware capabilities that were previously off-limits from within an app container? Look no further. Custom capabilities empowers hardware owners (IHVs) to expose hardware capabilities to Windows app developers and manage them securely. This session provides an overview about custom capabilities; how to gain access and use them within your Windows application. A code walkthrough using a sample application illustrates the high level app development process. </itunes:summary>
    <itunes:duration>1046</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4086</guid>
    <dc:creator>Viraf Gandhi, Ben McGregor</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/6c87db78-9d94-47c2-a3f6-a05ddaa4c5c5.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/d0e939c7-6ee8-4b9b-8e45-0ce09ea4754b.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/1fc4f6bf-c4a9-4ea3-9cfc-4c66dcd6e404.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/1b90/eac4500a-7e52-4b34-bf71-74d9ed9d1b90/P4086.mp3" expression="full" duration="1046" fileSize="16751946" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/1b90/eac4500a-7e52-4b34-bf71-74d9ed9d1b90/P4086.mp4" expression="full" duration="1046" fileSize="26069840" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/1b90/eac4500a-7e52-4b34-bf71-74d9ed9d1b90/P4086_high.mp4" expression="full" duration="1046" fileSize="118676830" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/1b90/eac4500a-7e52-4b34-bf71-74d9ed9d1b90/P4086_mid.mp4" expression="full" duration="1046" fileSize="77201265" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4086.mp4" expression="full" duration="1046" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Windows High DPI Improvements for Desktop</title>
    <description><![CDATA[High DPI displays are becoming commonplace. Unfortunately, many non-UWP desktop applications can become blurry or can be sized incorrectly when used on a system that has both high and low DPI displays. In this session, learn what Windows offers to help you update your application to render properly in both high DPI and changing-DPI scenarios. We also cover some of the improvements that are coming to Windows that will give you a better experience when using Windows on high DPI hardware. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:2a99b516f61e49d1986ba76d015a5b1e">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4085</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4085</link>
    <itunes:summary>High DPI displays are becoming commonplace. Unfortunately, many non-UWP desktop applications can become blurry or can be sized incorrectly when used on a system that has both high and low DPI displays. In this session, learn what Windows offers to help you update your application to render properly in both high DPI and changing-DPI scenarios. We also cover some of the improvements that are coming to Windows that will give you a better experience when using Windows on high DPI hardware.</itunes:summary>
    <itunes:duration>1382</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4085</guid>
    <dc:creator>James Clarke, Peter Felts</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085.mp3" expression="full" duration="1382" fileSize="22122186" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085.mp4" expression="full" duration="1382" fileSize="48544320" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085_high.mp4" expression="full" duration="1382" fileSize="365539039" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2c6c/7af2521e-4b33-41f2-b64d-baa4f2a82c6c/P4085_mid.mp4" expression="full" duration="1382" fileSize="220809838" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4085.mp4" expression="full" duration="1382" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>UI Testing: What&#39;s new with WinAppDriver</title>
    <description><![CDATA[UI Testing: What's New with WinAppDriver <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:4a980944d38843598981a76d015a5ad7">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4084</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4084</link>
    <itunes:summary>UI Testing: What&#39;s New with WinAppDriver</itunes:summary>
    <itunes:duration>505</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4084</guid>
    <dc:creator>Yosef Durr</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084.mp3" expression="full" duration="505" fileSize="8093130" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084.mp4" expression="full" duration="505" fileSize="9891638" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084_high.mp4" expression="full" duration="505" fileSize="36345123" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eb09/a1e55d5c-0aa5-4ba6-9cae-0b62fa87eb09/P4084_mid.mp4" expression="full" duration="505" fileSize="24053255" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4084.mp4" expression="full" duration="505" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>OpenType variable fonts: How to use fewer fonts and get a lot more typographic richness</title>
    <description><![CDATA[<p>The OpenType font format has been extended with an exciting new technology, OpenType Font Variations. An OpenType variable font is a single font that can behave like many separate fonts by supporting continuous variation between different designs defined in the font. This is the biggest development in OpenType since the introduction of OpenType itself! In this video, we give an overview of OpenType variable fonts, show how some of the capabilities of variable fonts may already be accessible in your existing apps, and describe new DirectWrite APIs that will enable you to take advantage of the full capabilities of this new OpenType format.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:9872dd9bdf2249b7b9a0a76d015a5aad">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4081</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4081</link>
    <itunes:summary>The OpenType font format has been extended with an exciting new technology, OpenType Font Variations. An OpenType variable font is a single font that can behave like many separate fonts by supporting continuous variation between different designs defined in the font. This is the biggest development in OpenType since the introduction of OpenType itself! In this video, we give an overview of OpenType variable fonts, show how some of the capabilities of variable fonts may already be accessible in your existing apps, and describe new DirectWrite APIs that will enable you to take advantage of the full capabilities of this new OpenType format. </itunes:summary>
    <itunes:duration>1919</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4081</guid>
    <dc:creator>Peter Constable, Shrinath Shanbhag</dc:creator>
		<media:thumbnail url="https://sec.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081.mp3" expression="full" duration="1919" fileSize="30705354" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081.mp4" expression="full" duration="1919" fileSize="43043132" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081_high.mp4" expression="full" duration="1919" fileSize="202701808" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/88c2/64fe6c51-67a4-4cec-a2d7-611cd67c88c2/P4081_mid.mp4" expression="full" duration="1919" fileSize="130291723" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4081.mp4" expression="full" duration="1919" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Vector iconography: Using SVG images in your app</title>
    <description><![CDATA[<p>SVG is the de facto standard for vector graphics images, with ubiquitous authoring support and an ever-growing prominence on the web. With Windows 10 Creators Update, you can finally bring the convenience and efficiency of SVG images to your Windows app. Use XAML to draw SVG images with a single line of code, or use powerful new APIs in Direct2D to parse, render, and manipulate SVG images. In this presentation we cover what parts of SVG are supported; when to use SVG; and how to load, draw, and manipulate SVG images.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:0d75c7e6ad6e40409e7aa76d015a59d1">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4078</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4078</link>
    <itunes:summary>SVG is the de facto standard for vector graphics images, with ubiquitous authoring support and an ever-growing prominence on the web. With Windows 10 Creators Update, you can finally bring the convenience and efficiency of SVG images to your Windows app. Use XAML to draw SVG images with a single line of code, or use powerful new APIs in Direct2D to parse, render, and manipulate SVG images. In this presentation we cover what parts of SVG are supported; when to use SVG; and how to load, draw, and manipulate SVG images. </itunes:summary>
    <itunes:duration>749</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4078</guid>
    <dc:creator>Rick Manning</dc:creator>
		<media:thumbnail url="https://sec.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078.mp3" expression="full" duration="749" fileSize="11998026" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078.mp4" expression="full" duration="749" fileSize="18259652" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078_high.mp4" expression="full" duration="749" fileSize="109880147" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/4ff7/bb80a6d1-b9d7-4b71-b034-4f0f56ad4ff7/P4078_mid.mp4" expression="full" duration="749" fileSize="62930761" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4078.mp4" expression="full" duration="749" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>What&#39;s new in Accessibility &amp; How to Get Started for Developers</title>
    <description><![CDATA[<p>In this video, the Windows Accessibility PM lead provides an overview of recent investments designed to make Windows 10 more usable for people with disabilities and to make it easier for developers to create accessible experiences. Hear about the Windows’ accessibility vision and features that are coming to market later in 2017. Learn how developers can create accessible experiences and where to go for additional information and support. This is a great introduction for someone who is new to accessibility or for someone looking to get up to speed on the latest news.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:37106e9e43534f2ca763a76d015a5965">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4072</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4072</link>
    <itunes:summary>In this video, the Windows Accessibility PM lead provides an overview of recent investments designed to make Windows 10 more usable for people with disabilities and to make it easier for developers to create accessible experiences. Hear about the Windows’ accessibility vision and features that are coming to market later in 2017. Learn how developers can create accessible experiences and where to go for additional information and support. This is a great introduction for someone who is new to accessibility or for someone looking to get up to speed on the latest news. </itunes:summary>
    <itunes:duration>1666</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4072</guid>
    <dc:creator>Jeff Petty</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/6df7803f-ae61-472d-a7c7-b263182698d3.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/439d43d8-1afc-46c6-bd96-c12e0a707880.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/19a864df-8642-49fe-aeea-03bef4703d82.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/50ec/d4732935-06dd-455c-8c72-213979dc50ec/P4072.mp3" expression="full" duration="1666" fileSize="26668746" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/50ec/d4732935-06dd-455c-8c72-213979dc50ec/P4072.mp4" expression="full" duration="1666" fileSize="38264528" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/50ec/d4732935-06dd-455c-8c72-213979dc50ec/P4072_high.mp4" expression="full" duration="1666" fileSize="199110396" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/50ec/d4732935-06dd-455c-8c72-213979dc50ec/P4072_mid.mp4" expression="full" duration="1666" fileSize="125639637" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4072.mp4" expression="full" duration="1666" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Desktop Bridge Apps &amp; User Transition</title>
    <description><![CDATA[The Windows 10 Creators Update will enable desktop app developers to provide a smooth user transition from the previous desktop app to the store version. This topic includes transition of the user’s taskbar pin(s), start menu tile(s), file type associations, and protocol handlers. In addition, we cover best practices to migrate user data and uninstall the previous desktop app. Users will be encouraged to download the store version of their desktop apps. If the user already has the previous desktop version of the app, the transition experience should be as seamless as possible. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:31fd0b998df845ab978ca76d015a592d">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4067</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4067</link>
    <itunes:summary>The Windows 10 Creators Update will enable desktop app developers to provide a smooth user transition from the previous desktop app to the store version. This topic includes transition of the user’s taskbar pin(s), start menu tile(s), file type associations, and protocol handlers. In addition, we cover best practices to migrate user data and uninstall the previous desktop app. Users will be encouraged to download the store version of their desktop apps. If the user already has the previous desktop version of the app, the transition experience should be as seamless as possible.</itunes:summary>
    <itunes:duration>1167</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4067</guid>
    <dc:creator>Arian Ghotbi</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067.mp3" expression="full" duration="1167" fileSize="18676554" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067.mp4" expression="full" duration="1167" fileSize="29781849" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067_high.mp4" expression="full" duration="1167" fileSize="160181455" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2351/5a7e8378-5ac0-45e6-a0c1-20571bec2351/P4067_mid.mp4" expression="full" duration="1167" fileSize="101576854" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4067.mp4" expression="full" duration="1167" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Lighting up HDR and advanced color in DirectX</title>
    <description><![CDATA[<p>Windows 10 Creators Update allows you to build apps and experiences that exploit the full color capabilities of HDR (high dynamic range), WCG (wide color gamut), and other advanced color displays. Wow your users with vivid, lifelike games, media and other visual content that use brighter peak luminance, more saturated colors, and greater precision than was possible in Windows before. We give a primer on HDR and color concepts and show you how to build amazing advanced color experiences in DirectX.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:81f3664c9263442da41da76d015a58d4">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4061</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4061</link>
    <itunes:summary>Windows 10 Creators Update allows you to build apps and experiences that exploit the full color capabilities of HDR (high dynamic range), WCG (wide color gamut), and other advanced color displays. Wow your users with vivid, lifelike games, media and other visual content that use brighter peak luminance, more saturated colors, and greater precision than was possible in Windows before. We give a primer on HDR and color concepts and show you how to build amazing advanced color experiences in DirectX. </itunes:summary>
    <itunes:duration>1525</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4061</guid>
    <dc:creator>Simon Tao</dc:creator>
		<media:thumbnail url="https://sec.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061.mp3" expression="full" duration="1525" fileSize="24407370" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061.mp4" expression="full" duration="1525" fileSize="34925747" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061_high.mp4" expression="full" duration="1525" fileSize="141572723" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2743/1b790d95-5ace-4712-bafd-b48a7e382743/P4061_mid.mp4" expression="full" duration="1525" fileSize="93272194" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4061.mp4" expression="full" duration="1525" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Collect and analyze crashes for your Windows apps</title>
    <description><![CDATA[Most every app crashes sometimes. When it happens, it's important to understand when and why so you can address problems quickly and keep your users happy. In this video, we show you how to enable crash reporting and analyze crash data for your UWP app through the new Windows Crash beacon in Visual Studio Mobile Center. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:ab9fb6e463d34f1d8397a76d015a58a5">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4057</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4057</link>
    <itunes:summary>Most every app crashes sometimes. When it happens, it&#39;s important to understand when and why so you can address problems quickly and keep your users happy. In this video, we show you how to enable crash reporting and analyze crash data for your UWP app through the new Windows Crash beacon in Visual Studio Mobile Center.</itunes:summary>
    <itunes:duration>933</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4057</guid>
    <dc:creator>Francis Zhou, Ela Malani</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057.mp3" expression="full" duration="933" fileSize="14943690" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057.mp4" expression="full" duration="933" fileSize="21408217" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057_high.mp4" expression="full" duration="933" fileSize="155296380" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/050f/17cc96fa-5599-4b31-a6e5-2a341914050f/P4057_mid.mp4" expression="full" duration="933" fileSize="90530618" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4057.mp4" expression="full" duration="933" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>My People: the Taskbar is a Window to your app</title>
    <description><![CDATA[In Windows 10, UWP app developers can take advantage of new experiences that allow contacts provided by their apps to be elevated in Windows.&nbsp;Developers can build apps that makes it possible for the user to pin their favorite people to the taskbar, enabling quick and easy communication and sharing. Also, with the Windows 10 update, developers can take advantage of a direct line of sharing with people via the new “people first” experience in the share picker.&nbsp;This session covers the experiences developers can now build using the My People framework that will drive increased acquisition and engagement with your app in Windows 10.&nbsp; <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:6fe266ef902f4c7aa951a76d015a585e">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4056</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4056</link>
    <itunes:summary>In Windows 10, UWP app developers can take advantage of new experiences that allow contacts provided by their apps to be elevated in Windows. Developers can build apps that makes it possible for the user to pin their favorite people to the taskbar, enabling quick and easy communication and sharing. Also, with the Windows 10 update, developers can take advantage of a direct line of sharing with people via the new “people first” experience in the share picker. This session covers the experiences developers can now build using the My People framework that will drive increased acquisition and engagement with your app in Windows 10. </itunes:summary>
    <itunes:duration>777</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4056</guid>
    <dc:creator>Tony Pendolino, Allison O&#39;Mahony</dc:creator>
		<media:thumbnail url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056.mp3" expression="full" duration="777" fileSize="12443850" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056.mp4" expression="full" duration="777" fileSize="17570592" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056_high.mp4" expression="full" duration="777" fileSize="68062273" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a846/5d44989b-3629-4e33-83e6-7354b1e8a846/P4056_mid.mp4" expression="full" duration="777" fileSize="46026726" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4056.mp4" expression="full" duration="777" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Advancing commerce: Bring a fast and easy checkout experience to your customers across the web, UWP platform, and bots</title>
    <description><![CDATA[eCommerce has grown significantly over the past few years and Microsoft is ready to help online businesses grow even faster. We are introducing the Windows/Microsoft Edge Payment Request API with the release of the Creators Update. Customers using&nbsp;Edge, apps, or bots will now be able to store their payment information with Microsoft and use those payment instruments to complete payment requests. The ability to quickly retrieve payment information is aimed at improving checkout experience as well as the completion rate of purchases. Join us to learn about how the Payment Request API can improve the payment experience for your project. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:062a48d4ea6e4b35b1fea76d015a57f3">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4055</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4055</link>
    <itunes:summary>eCommerce has grown significantly over the past few years and Microsoft is ready to help online businesses grow even faster. We are introducing the Windows/Microsoft Edge Payment Request API with the release of the Creators Update. Customers using Edge, apps, or bots will now be able to store their payment information with Microsoft and use those payment instruments to complete payment requests. The ability to quickly retrieve payment information is aimed at improving checkout experience as well as the completion rate of purchases. Join us to learn about how the Payment Request API can improve the payment experience for your project.</itunes:summary>
    <itunes:duration>949</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4055</guid>
    <dc:creator>Molly Dalton, Jonathan Cutler, Stan Chang</dc:creator>
    <category>universal+windows+platform+uwp</category>
    <category>web+platform</category>
    <category>monetization</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055.mp3" expression="full" duration="949" fileSize="15192981" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055.mp4" expression="full" duration="949" fileSize="21025906" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055_high.mp4" expression="full" duration="949" fileSize="83962120" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/3996/39370b8f-04bd-46ae-9ec1-aac9b47c3996/P4055_mid.mp4" expression="full" duration="949" fileSize="57048999" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4055.mp4" expression="full" duration="949" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>UWP Bridges for Retail Applications</title>
    <description><![CDATA[<p>This session explores two bridging technologies which enable UWP applications on Windows desktop to interact with a wide variety of peripherals used in retail environments. The OPOS Bridge allows your UWP application to interact with OPOS enabled peripherals using the Windows.Devices.PointOfService namespace, while the Desktop Bridge allows you to access even more peripheral types from your application using third party extensions such as OPOS or POS for .NET even if they are not supported in UWP at this time.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:c42038d0da8f4696b6e6a76d015a5708">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4050</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4050</link>
    <itunes:summary>This session explores two bridging technologies which enable UWP applications on Windows desktop to interact with a wide variety of peripherals used in retail environments. The OPOS Bridge allows your UWP application to interact with OPOS enabled peripherals using the Windows.Devices.PointOfService namespace, while the Desktop Bridge allows you to access even more peripheral types from your application using third party extensions such as OPOS or POS for .NET even if they are not supported in UWP at this time. </itunes:summary>
    <itunes:duration>1001</itunes:duration>
    <pubDate>Thu, 11 May 2017 17:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4050</guid>
    <dc:creator>Marcus Breda, Terry Warwick</dc:creator>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/3078d2a8-92b3-4a83-9387-72772b3162f7.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/36fff0a7-0c63-405b-b21c-6a4ebbadf376.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/c4847656-4007-4b96-9e0d-e6f69dc31f2c.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/8990/10aa0337-6a38-4626-b244-2368ecdb8990/P4050.mp3" expression="full" duration="1001" fileSize="16020810" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8990/10aa0337-6a38-4626-b244-2368ecdb8990/P4050.mp4" expression="full" duration="1001" fileSize="26559874" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8990/10aa0337-6a38-4626-b244-2368ecdb8990/P4050_high.mp4" expression="full" duration="1001" fileSize="142997235" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8990/10aa0337-6a38-4626-b244-2368ecdb8990/P4050_mid.mp4" expression="full" duration="1001" fileSize="89213326" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4050.mp4" expression="full" duration="1001" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
 
  <item>
    <title>What is new in Insights APIs in Microsoft Graph</title>
    <description><![CDATA[<p>Learn about the new updates to Trending and other APIs in Microsoft Graph that provide contextual insights based on users' activity in the service.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:5a9d888db7c548178bb3a76d015a53d7">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4180</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4180</link>
    <itunes:summary>Learn about the new updates to Trending and other APIs in Microsoft Graph that provide contextual insights based on users&#39; activity in the service. </itunes:summary>
    <itunes:duration>499</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4180</guid>
    <dc:creator>M&#225;rio Henriques</dc:creator>
    <category>office</category>
    <category>microsoft+graph</category>
		<media:thumbnail url="https://f.ch9.ms/thumbnail/a27ecfba-1b97-4c3a-ba41-573a65bc2e88.png" height="165" width="220"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/ad9291fb-a5ef-40ad-9d4c-5975b5578c39.png" height="288" width="512"></media:thumbnail><media:thumbnail url="https://f.ch9.ms/thumbnail/b20d42b4-6ddd-4644-9e74-09dcfb1d7d25.png" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/a791/bb70ad37-c228-4e83-b447-b3504369a791/P4180.mp3" expression="full" duration="499" fileSize="7989037" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a791/bb70ad37-c228-4e83-b447-b3504369a791/P4180.mp4" expression="full" duration="499" fileSize="10954069" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a791/bb70ad37-c228-4e83-b447-b3504369a791/P4180_high.mp4" expression="full" duration="499" fileSize="27431133" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/a791/bb70ad37-c228-4e83-b447-b3504369a791/P4180_mid.mp4" expression="full" duration="499" fileSize="16711465" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4180.mp4" expression="full" duration="499" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Add custom data to Microsoft Graph</title>
    <description><![CDATA[<p>Learn how to add you own data into Microsoft Graph.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:81e1beb1e5324ac78e9ca76d015a50db">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4153</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4153</link>
    <itunes:summary>Learn how to add you own data into Microsoft Graph. </itunes:summary>
    <itunes:duration>876</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4153</guid>
    <dc:creator>Dan Kershaw</dc:creator>
    <category>microsoft+graph</category>
		<media:thumbnail url="https://sec.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153.mp3" expression="full" duration="876" fileSize="14027466" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153.mp4" expression="full" duration="876" fileSize="22788690" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153_high.mp4" expression="full" duration="876" fileSize="118593661" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/04b7/ffe57233-5fe7-4bf2-abfc-c05b07d104b7/P4153_mid.mp4" expression="full" duration="876" fileSize="74364106" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4153.mp4" expression="full" duration="876" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Microsoft Graph - Delta Query and Webhooks</title>
    <description><![CDATA[<p>Learn how to keep your app current with all data updates using webhooks and delta query in Microsoft Graph.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:bec43c5b5b004ac3aedea76d015a50ad">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4152</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4152</link>
    <itunes:summary>Learn how to keep your app current with all data updates using webhooks and delta query in Microsoft Graph. </itunes:summary>
    <itunes:duration>780</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4152</guid>
    <dc:creator>Jeff Sakowicz</dc:creator>
    <category>office</category>
    <category>microsoft+graph</category>
		<media:thumbnail url="https://sec.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152.mp3" expression="full" duration="780" fileSize="12491691" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152.mp4" expression="full" duration="780" fileSize="19746469" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152_high.mp4" expression="full" duration="780" fileSize="91906762" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/beaa/c2b84ee8-91c6-476a-b170-729567d5beaa/P4152_mid.mp4" expression="full" duration="780" fileSize="57162379" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4152.mp4" expression="full" duration="780" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Build smart productivity apps with Microsoft Graph JavaScript SDK&#160;</title>
    <description><![CDATA[<p>Lean how to use the Microsoft Graph JS SDK to build your next integration with Office 365 with JS, TypeScript, and Node.js.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:43111d6e671e4cbba8eea76d015a4d16">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4137</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4137</link>
    <itunes:summary>Lean how to use the Microsoft Graph JS SDK to build your next integration with Office 365 with JS, TypeScript, and Node.js. </itunes:summary>
    <itunes:duration>876</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4137</guid>
    <dc:creator>Dan Silver</dc:creator>
    <category>office</category>
    <category>microsoft+graph</category>
		<media:thumbnail url="https://sec.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="https://sec.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137.mp3" expression="full" duration="876" fileSize="14018522" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137.mp4" expression="full" duration="876" fileSize="17481348" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137_high.mp4" expression="full" duration="876" fileSize="60793863" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f266/18812d23-48cb-4afb-96d5-6e40766ff266/P4137_mid.mp4" expression="full" duration="876" fileSize="41956694" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4137.mp4" expression="full" duration="876" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Build End-to-End Solutions using Microsoft Graph and Common Data Service</title>
    <description><![CDATA[<p>Microsoft provides a platform for building end-to-end solutions. This sample show cases how professional developers can build people centric, data rich apps that leverage productivity and business data from <a title="Microsoft Graph" href="https://graph.microsoft.com/">Microsoft Graph</a> and <a title="Microsoft Common Data Service" href="https://aka.ms/CommonDataService">Common Data Service</a>. And how power users can leverage that data further to create apps, flows, and dashboards.</p><p><a title="Microsoft Graph" href="https://graph.microsoft.com/">Microsoft Graph</a> is the unified API for Microsoft services. That includes Office 365, Azure Active Directory, and many others.</p><p><a title="Microsoft Common Data Service" href="https://aka.ms/CommonDataService">Microsoft Common Data Service</a> or CDS is a focal point for a business's data. Professional developers can write applications that interact with that data in CDS and power users can take advantage of PowerApps, Flow, and PowerBI to create apps, design workflows, and perform deep analytics over that data without writing any code.</p><p>Microsoft Graph gives you access to rich data from Microsoft services. Once you bring that data to CDS, you can combine it with other business data that your business depends on. Then you can build rich applications and workflows with easy to use building blocks (such as <a href="https://powerapps.microsoft.com/en-us/">PowerApps</a>, <a href="https://flow.microsoft.com/en-us/">Flow</a>, <a href="https://powerbi.microsoft.com/en-us/">PowerBI</a>) whether you know how to write code or not. So using Microsoft Graph and Common Data Service developers can not only build people centric, data rich apps but the app can be extended by power users who are not regular coders to have additional experiences.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:b9416906e18a447aa7ffa76d015a4c89">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4136</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4136</link>
    <itunes:summary>Microsoft provides a platform for building end-to-end solutions. This sample show cases how professional developers can build people centric, data rich apps that leverage productivity and business data from Microsoft Graph and Common Data Service. And how power users can leverage that data further to create apps, flows, and dashboards. Microsoft Graph is the unified API for Microsoft services. That includes Office 365, Azure Active Directory, and many others. Microsoft Common Data Service or CDS is a focal point for a business&#39;s data. Professional developers can write applications that interact with that data in CDS and power users can take advantage of PowerApps, Flow, and PowerBI to create apps, design workflows, and perform deep analytics over that data without writing any code. Microsoft Graph gives you access to rich data from Microsoft services. Once you bring that data to CDS, you can combine it with other business data that your business depends on. Then you can build rich applications and workflows with easy to use building blocks (such as PowerApps, Flow, PowerBI) whether you know how to write code or not. So using Microsoft Graph and Common Data Service developers can not only build people centric, data rich apps but the app can be extended by power users who are not regular coders to have additional experiences. </itunes:summary>
    <itunes:duration>874</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4136</guid>
    <dc:creator>Chris Garty, Suresh Jayabalan</dc:creator>
    <category>office</category>
    <category>microsoft+graph</category>
		<media:thumbnail url="https://sec.ch9.ms/ch9/179f/0c3bab81-ffa2-4df9-8e51-f57d3fe3179f/P4136_512.jpg" height="288" width="512"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/179f/0c3bab81-ffa2-4df9-8e51-f57d3fe3179f/P4136.mp3" expression="full" duration="874" fileSize="13987063" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/179f/0c3bab81-ffa2-4df9-8e51-f57d3fe3179f/P4136.mp4" expression="full" duration="874" fileSize="27073634" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/179f/0c3bab81-ffa2-4df9-8e51-f57d3fe3179f/P4136_high.mp4" expression="full" duration="874" fileSize="297271732" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/179f/0c3bab81-ffa2-4df9-8e51-f57d3fe3179f/P4136_mid.mp4" expression="full" duration="874" fileSize="90273227" type="video/mp4" medium="video"></media:content>
					<media:content url="https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4136.mp4" expression="full" duration="874" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Build bots in Skype for Business</title>
    <description><![CDATA[Coming soon <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:63d9095f52b94a38a472a76d015a4c06">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4135</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4135</link>
    <itunes:summary>Coming soon</itunes:summary>
    <itunes:duration>988</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4135</guid>
    <dc:creator>David Newman</dc:creator>
    <category>office</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135.mp3" expression="full" duration="988" fileSize="15818646" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135.mp4" expression="full" duration="988" fileSize="22979966" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135_high.mp4" expression="full" duration="988" fileSize="116923921" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/8521/59676375-cc94-4644-9d4e-60634a518521/P4135_mid.mp4" expression="full" duration="988" fileSize="73514247" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4135.mp4" expression="full" duration="988" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Build applications with Microsoft Visio</title>
    <description><![CDATA[Hear about what's new with Visio APIs, and more. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:83b14c18aebe4ed7b472a76d015a4bbb">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4133</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4133</link>
    <itunes:summary>Hear about what&#39;s new with Visio APIs, and more.</itunes:summary>
    <itunes:duration>633</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4133</guid>
    <dc:creator>Rahul Mittal, Rohan Shah</dc:creator>
    <category>office</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133.mp3" expression="full" duration="633" fileSize="10144863" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133.mp4" expression="full" duration="633" fileSize="11827975" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133_high.mp4" expression="full" duration="633" fileSize="40967383" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/2867/80ddf744-cd14-4077-bdaa-50a2d4d02867/P4133_mid.mp4" expression="full" duration="633" fileSize="23395399" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4133.mp4" expression="full" duration="633" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Notify your users through your Microsoft Teams app</title>
    <description><![CDATA[Learn how your app can reach out and engage directly with users. Creating an actionable message in a Connector allows you not only to push information from your service directly into a channel, but users can interact and push updates back to you. Additionally, your app can now have private or team-wide notifications appear in a user’s activity feed to alert them of important updates. With the Microsoft Teams Developer Platform, you can make your service available to users within Teams in contexts that make sense. The Teams developer platform makes it easy for you to integrate your own service, whether you develop custom apps for your team or SaaS applications for teams around the world. Learn more about the Microsoft Teams developer platform at https://Dev.Office.com/Microsoft-Teams Download sample code: https://aka.ms/teamsSamples Download sample manifests: https://aka.ms/teamsManifests Register as a developer: https://aka.ms/devregister Submit your app: https://aka.ms/submitTeamsApp <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:ef7b826c37c84803bfefa76d015a4b17">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4132</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4132</link>
    <itunes:summary>Learn how your app can reach out and engage directly with users. Creating an actionable message in a Connector allows you not only to push information from your service directly into a channel, but users can interact and push updates back to you. Additionally, your app can now have private or team-wide notifications appear in a user’s activity feed to alert them of important updates. With the Microsoft Teams Developer Platform, you can make your service available to users within Teams in contexts that make sense. The Teams developer platform makes it easy for you to integrate your own service, whether you develop custom apps for your team or SaaS applications for teams around the world. Learn more about the Microsoft Teams developer platform at https://Dev.Office.com/Microsoft-Teams Download sample code: https://aka.ms/teamsSamples Download sample manifests: https://aka.ms/teamsManifests Register as a developer: https://aka.ms/devregister Submit your app: https://aka.ms/submitTeamsApp</itunes:summary>
    <itunes:duration>702</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4132</guid>
    <dc:creator>Andrew Spiziri</dc:creator>
    <category>office</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/eff7/59c8065b-7d2a-4180-b033-df283217eff7/P4132_512.jpg" height="288" width="512"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/eff7/59c8065b-7d2a-4180-b033-df283217eff7/P4132.mp3" expression="full" duration="702" fileSize="11237564" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eff7/59c8065b-7d2a-4180-b033-df283217eff7/P4132.mp4" expression="full" duration="702" fileSize="18322928" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eff7/59c8065b-7d2a-4180-b033-df283217eff7/P4132_high.mp4" expression="full" duration="702" fileSize="108515696" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/eff7/59c8065b-7d2a-4180-b033-df283217eff7/P4132_mid.mp4" expression="full" duration="702" fileSize="65524161" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4132.mp4" expression="full" duration="702" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Office add-in single sign-on</title>
    <description><![CDATA[This session offers an intro into how to implement SSO in Office add-ins. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:5bd2e2d139f54df78277a76d015a4aab">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4131</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4131</link>
    <itunes:summary>This session offers an intro into how to implement SSO in Office add-ins.</itunes:summary>
    <itunes:duration>575</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4131</guid>
    <dc:creator>Tim McConnell</dc:creator>
    <category>office</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131_960.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131.mp3" expression="full" duration="575" fileSize="9206543" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131.mp4" expression="full" duration="575" fileSize="11505546" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131_high.mp4" expression="full" duration="575" fileSize="46408344" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/f025/079ea528-2e77-4c7c-9806-30f7ab42f025/P4131_mid.mp4" expression="full" duration="575" fileSize="31401043" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4131.mp4" expression="full" duration="575" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Actionable Messages in Outlook</title>
    <description><![CDATA[Learn how to build solutions with Actionable Messages in Microsoft Outlook. <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=https://s.ch9.ms/Events/Build/2017/RSS&WT.dl=0&WT.entryid=Session:RSSView:c8848f94ccde4ae5aeb2a76d015a4a69">]]></description>
    <comments>https://s.ch9.ms/Events/Build/2017/P4127</comments>
    <link>https://s.ch9.ms/Events/Build/2017/P4127</link>
    <itunes:summary>Learn how to build solutions with Actionable Messages in Microsoft Outlook.</itunes:summary>
    <itunes:duration>782</itunes:duration>
    <pubDate>Wed, 10 May 2017 18:00:00 GMT</pubDate>
    <guid isPermaLink="false">https://s.ch9.ms/Events/Build/2017/P4127</guid>
    <dc:creator>David Claux</dc:creator>
    <category>office</category>
		<media:thumbnail url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127_220.jpg" height="165" width="220"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127_512.jpg" height="288" width="512"></media:thumbnail><media:thumbnail url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127_Custom.jpg" height="540" width="960"></media:thumbnail>
				<media:group>          
					<media:content url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127.mp3" expression="full" duration="782" fileSize="12528913" type="audio/mp3" medium="audio"></media:content>
					<media:content url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127.mp4" expression="full" duration="782" fileSize="18439381" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127_high.mp4" expression="full" duration="782" fileSize="67613011" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/ch9/948c/25739ac4-990b-4302-99e1-4df37dea948c/P4127_mid.mp4" expression="full" duration="782" fileSize="47390960" type="video/mp4" medium="video"></media:content>
					<media:content url="http://video.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/P4127.mp4" expression="full" duration="782" fileSize="1" type="video/mp4" medium="video"></media:content>
				</media:group>
  </item>
  <item>
    <title>Build a great bot for your Microsoft Teams app</title>
    <description><![CDATA[Learn how to build a great bot for Microsoft Teams. These bots let users interact with your service through conversations in Teams. With the Microsoft Teams Developer Platform, you can make your service available to users within Teams in contexts that make sense. The Teams developer platform makes it easy for you to integrate your own service, whether you develop custom apps for your team or SaaS applications for teams around the world. Learn more about the Microsoft Teams developer platform at https://Dev.Office.com/Microsoft-Teams Download sample code: https://aka.ms/teamsSamples Download sample manifests: https://aka.ms/teamsManifests Register a
Download .txt
gitextract__mzsbjjj/

├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── design/
│   └── BuildCast.xd
└── src/
    ├── BuildCast/
    │   ├── App.xaml
    │   ├── App.xaml.cs
    │   ├── Assets/
    │   │   ├── BuildCastIcon.ai
    │   │   └── build2016windowsdevfeed.xml
    │   ├── BuildCast.csproj
    │   ├── Controls/
    │   │   ├── CustomMTC.xaml
    │   │   ├── CustomMTC.xaml.cs
    │   │   ├── CustomMediaPlayer.xaml
    │   │   ├── CustomMediaPlayer.xaml.cs
    │   │   ├── RemoteControl.xaml
    │   │   ├── RemoteControl.xaml.cs
    │   │   ├── TimeControl.cs
    │   │   └── Timeline.cs
    │   ├── DataModel/
    │   │   ├── Episode.cs
    │   │   ├── EpisodePlaybackState.cs
    │   │   ├── EpisodeWithState.cs
    │   │   ├── Favorite.cs
    │   │   ├── Feed.cs
    │   │   ├── FeedStore.cs
    │   │   ├── InkNote.cs
    │   │   ├── InkNoteData.cs
    │   │   ├── LocalStorageContext.cs
    │   │   └── NowPlayingState.cs
    │   ├── GlobalSuppressions.cs
    │   ├── Helpers/
    │   │   ├── AsyncHelpers.cs
    │   │   ├── BackgroundDownloadHelper.cs
    │   │   ├── BufferingVisualManager.cs
    │   │   ├── DateTimeHelper.cs
    │   │   ├── EnumToBooleanConverter.cs
    │   │   ├── EpisodeCommands.cs
    │   │   ├── Json.cs
    │   │   ├── LinqExtensions.cs
    │   │   ├── NavigationAnimationHelpers.cs
    │   │   ├── RelayCommand.cs
    │   │   ├── SettingsStorageExtensions.cs
    │   │   ├── TitleBarHelper.cs
    │   │   ├── UIHelpers.cs
    │   │   ├── ValueSetHelper.cs
    │   │   └── VisualHelpers.cs
    │   ├── Microsoft.BuildCast.ruleset
    │   ├── Migrations/
    │   │   ├── 20170927020747_initial.Designer.cs
    │   │   ├── 20170927020747_initial.cs
    │   │   └── LocalStorageContextModelSnapshot.cs
    │   ├── Package.appxmanifest
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   └── Default.rd.xml
    │   ├── Services/
    │   │   ├── ElementThemeExtended.cs
    │   │   ├── IAvailableSystemsObserver.cs
    │   │   ├── IFullscreenPage.cs
    │   │   ├── IPlayerService.cs
    │   │   ├── IRemoteConnection.cs
    │   │   ├── IRemotePlayerService.cs
    │   │   ├── IRemoteSystemDescription.cs
    │   │   ├── Navigation/
    │   │   │   ├── FrameAdapter.cs
    │   │   │   ├── IFrameAdapter.cs
    │   │   │   ├── INavigableTo.cs
    │   │   │   ├── INavigationCommand.cs
    │   │   │   ├── INavigationService.cs
    │   │   │   ├── IPageWithViewModel.cs
    │   │   │   └── NavigationService.cs
    │   │   ├── PlayerService.cs
    │   │   ├── RemotePlayService.cs
    │   │   ├── ThemeSelectorService.cs
    │   │   └── ViewModeService.cs
    │   ├── Strings/
    │   │   └── en-us/
    │   │       └── Resources.resw
    │   ├── Styles/
    │   │   ├── Common.xaml
    │   │   └── Settings.xaml
    │   ├── Themes/
    │   │   ├── Branded.xaml
    │   │   ├── BrandedXbox.xaml
    │   │   ├── Generic.xaml
    │   │   └── Stock.xaml
    │   ├── ViewModels/
    │   │   ├── DownloadsViewModel.cs
    │   │   ├── EpisodeDetailsViewModel.cs
    │   │   ├── FavoritesViewModel.cs
    │   │   ├── FeedDetailsViewModel.cs
    │   │   ├── HomeViewModel.cs
    │   │   ├── InkNoteViewModel.cs
    │   │   ├── NotesViewModel.cs
    │   │   ├── PlayerViewModel.cs
    │   │   └── SettingsViewModel.cs
    │   └── Views/
    │       ├── Downloads.xaml
    │       ├── Downloads.xaml.cs
    │       ├── EpisodeDetails.xaml
    │       ├── EpisodeDetails.xaml.cs
    │       ├── Favorites.xaml
    │       ├── Favorites.xaml.cs
    │       ├── FeedDetails.xaml
    │       ├── FeedDetails.xaml.cs
    │       ├── Home.xaml
    │       ├── Home.xaml.cs
    │       ├── InkNote.xaml
    │       ├── InkNote.xaml.cs
    │       ├── NavigationRoot.xaml
    │       ├── NavigationRoot.xaml.cs
    │       ├── NoteDataTemplateSelector.cs
    │       ├── Notes.xaml
    │       ├── Notes.xaml.cs
    │       ├── Player.xaml
    │       ├── Player.xaml.cs
    │       ├── PopupPlayer.xaml
    │       ├── PopupPlayer.xaml.cs
    │       ├── SettingsPage.xaml
    │       └── SettingsPage.xaml.cs
    └── BuildCast.sln
Download .txt
SYMBOL INDEX (716 symbols across 73 files)

FILE: src/BuildCast/App.xaml.cs
  class App (line 40) | public sealed partial class App : Application
    method App (line 50) | public App()
    method GetNavigationRoot (line 62) | public NavigationRoot GetNavigationRoot()
    method GetFrame (line 76) | public Frame GetFrame()
    method OnLaunched (line 87) | protected async override void OnLaunched(LaunchActivatedEventArgs args)
    method OnWindowCreated (line 106) | protected override void OnWindowCreated(WindowCreatedEventArgs args)
    method OnActivated (line 111) | protected async override void OnActivated(IActivatedEventArgs args)
    method OnBackgroundActivated (line 125) | protected async override void OnBackgroundActivated(BackgroundActivate...
    method OnRequestReceived (line 144) | private void OnRequestReceived(AppServiceConnection sender, AppService...
    method OnAppServicesCanceled (line 152) | private void OnAppServicesCanceled(IBackgroundTaskInstance sender, Bac...
    method AppServiceConnection_ServiceClosed (line 157) | private void AppServiceConnection_ServiceClosed(AppServiceConnection s...
    method InitWindow (line 162) | private void InitWindow(bool skipWindowCreation)
    method InitializeAsync (line 217) | private async Task InitializeAsync()
    method StartupAsync (line 223) | private async Task StartupAsync()
    method FixFeedItemThumbnail (line 230) | private async System.Threading.Tasks.Task<Episode> FixFeedItemThumbnai...
    method ParseProtocolData (line 244) | private void ParseProtocolData(ValueSet playbackData, out Feed feed, o...
    method OnNavigationFailed (line 258) | private void OnNavigationFailed(object sender, NavigationFailedEventAr...
    method OnSuspending (line 270) | private void OnSuspending(object sender, SuspendingEventArgs e)

FILE: src/BuildCast/Controls/CustomMTC.xaml.cs
  class CustomMTC (line 27) | public sealed partial class CustomMTC : UserControl
    method CustomMTC (line 37) | public CustomMTC()
    method LeaveCompactOverlayMode (line 53) | public static async Task LeaveCompactOverlayMode()
    method Fs_click (line 58) | private void Fs_click(object sender, RoutedEventArgs e)
    method Pip_click (line 65) | private async void Pip_click(object sender, RoutedEventArgs e)
    method UserControl_Loaded (line 84) | private void UserControl_Loaded(object sender, RoutedEventArgs e)
    method Current_PlayPauseChanged (line 96) | private void Current_PlayPauseChanged(object sender, Windows.Media.Pla...
    method DoneSrubbing (line 110) | private void DoneSrubbing(object sender, EventArgs e)
    method CoreWindow_PointerPressed (line 117) | private void CoreWindow_PointerPressed(CoreWindow sender, PointerEvent...
    method Playpause_click (line 122) | private async void Playpause_click(object sender, RoutedEventArgs e)
    method UserControl_Unloaded (line 127) | private void UserControl_Unloaded(object sender, RoutedEventArgs e)
    method Rwnd_click (line 133) | private void Rwnd_click(object sender, RoutedEventArgs e)
    method Ffwd_click (line 138) | private void Ffwd_click(object sender, RoutedEventArgs e)
    method RomeItemClick (line 146) | private void RomeItemClick(object sender, ItemClickEventArgs e)
    method Flyout_Opened (line 163) | private void Flyout_Opened(object sender, object e)

FILE: src/BuildCast/Controls/CustomMediaPlayer.xaml.cs
  class CustomMediaPlayer (line 31) | public sealed partial class CustomMediaPlayer : UserControl
    method CustomMediaPlayer (line 46) | public CustomMediaPlayer()
    method LoadPoster (line 63) | public void LoadPoster(string uri)
    method GetBitmapFromRenderTarget (line 76) | public async Task<byte[]> GetBitmapFromRenderTarget()
    method HostElement_SizeChanged (line 103) | private void HostElement_SizeChanged(object sender, Windows.UI.Xaml.Si...
    method InitializeComposition (line 108) | private void InitializeComposition()
    method ConfigureAnimations (line 139) | private void ConfigureAnimations()
    method LoadPlaceholderImage (line 151) | private void LoadPlaceholderImage(Uri load)
    method SetLoadingProgress (line 177) | private async Task SetLoadingProgress()
    method UserControl_Loaded (line 184) | private void UserControl_Loaded(object sender, RoutedEventArgs e)
    method UserControl_Unloaded (line 190) | private void UserControl_Unloaded(object sender, RoutedEventArgs e)
    method Current_MediaLoading (line 196) | private async void Current_MediaLoading(object sender, EventArgs e)
    method Current_MediaLoaded (line 201) | private async void Current_MediaLoaded(object sender, EventArgs e)

FILE: src/BuildCast/Controls/RemoteControl.xaml.cs
  class RemoteControl (line 21) | public sealed partial class RemoteControl : UserControl
    method RemoteControl (line 38) | public RemoteControl()
    method Close_Click (line 43) | private void Close_Click(object sender, RoutedEventArgs e)
    method Rewind_Click (line 49) | private void Rewind_Click(object sender, RoutedEventArgs e)
    method Play_Click (line 54) | private void Play_Click(object sender, RoutedEventArgs e)
    method Pause_Click (line 59) | private void Pause_Click(object sender, RoutedEventArgs e)
    method FastForward_Click (line 64) | private void FastForward_Click(object sender, RoutedEventArgs e)
    method RemoteSnap_Click (line 69) | private void RemoteSnap_Click(object sender, RoutedEventArgs e)

FILE: src/BuildCast/Controls/TimeControl.cs
  class TimeControl (line 31) | public class TimeControl : Control, IDisposable
    method TimeControl (line 51) | public TimeControl()
    method Dispose (line 100) | public void Dispose()
    method SetDevice (line 106) | public void SetDevice(CanvasDevice device)
    method OnApplyTemplate (line 126) | protected override void OnApplyTemplate()
    method ElementCompositionVisual_SizeChanged (line 140) | private void ElementCompositionVisual_SizeChanged(object sender, SizeC...
    method DrawSwapChain (line 161) | private void DrawSwapChain(CanvasSwapChain sc)
    method CalcPercentage (line 201) | private double CalcPercentage()

FILE: src/BuildCast/Controls/Timeline.cs
  class Timeline (line 28) | public class Timeline : Control, IInteractionTrackerOwner, INotifyProper...
    method Timeline (line 51) | public Timeline()
    method SetTime (line 109) | public void SetTime(TimeSpan postition, TimeSpan duration)
    method SetElapsedTimeControl (line 145) | public void SetElapsedTimeControl(TimeControl elapsed)
    method NotifyPointerPressed (line 155) | public void NotifyPointerPressed(PointerEventArgs args)
    method RaisePropertyChanged (line 168) | private void RaisePropertyChanged([CallerMemberName] string caller = "")
    method SetPosition (line 175) | private void SetPosition(double percentage)
    method UpdatePosition (line 182) | private void UpdatePosition()
    method Clamp (line 188) | private double Clamp(double position)
    method SetPositionAbsoluteClamped (line 204) | private void SetPositionAbsoluteClamped(double position)
    method CalcPosition (line 212) | private double CalcPosition(double percent)
    method Timeline_Loaded (line 224) | private void Timeline_Loaded(object sender, RoutedEventArgs e)
    method Timeline_Unloaded (line 232) | private void Timeline_Unloaded(object sender, RoutedEventArgs e)
    method Timeline_SizeChanged (line 242) | private void Timeline_SizeChanged(object sender, SizeChangedEventArgs e)
    method PointerWheel_Changed (line 249) | private void PointerWheel_Changed(object sender, PointerRoutedEventArg...
    method MousePointer_Moved (line 275) | private void MousePointer_Moved(object sender, PointerRoutedEventArgs e)
    method MousePointer_ThumbPressed (line 302) | private void MousePointer_ThumbPressed(object sender, PointerRoutedEve...
    method MousePointer_Released (line 322) | private void MousePointer_Released(object sender, PointerRoutedEventAr...
    method MousePointer_Pressed (line 331) | private void MousePointer_Pressed(object sender, PointerRoutedEventArg...
    method TrackCanvas_SizeChanged (line 350) | private void TrackCanvas_SizeChanged(object sender, SizeChangedEventAr...
    method OnDragStart (line 360) | private void OnDragStart()
    method OnDragStop (line 372) | private void OnDragStop()
    method OnApplyTemplate (line 388) | protected override void OnApplyTemplate()
    method InitializeComposition (line 402) | private void InitializeComposition()
    method StartComposition (line 427) | private void StartComposition()
    method CustomAnimationStateEntered (line 436) | public void CustomAnimationStateEntered(InteractionTracker sender, Int...
    method IdleStateEntered (line 440) | public void IdleStateEntered(InteractionTracker sender, InteractionTra...
    method InertiaStateEntered (line 450) | public void InertiaStateEntered(InteractionTracker sender, Interaction...
    method InteractingStateEntered (line 455) | public void InteractingStateEntered(InteractionTracker sender, Interac...
    method RequestIgnored (line 460) | public void RequestIgnored(InteractionTracker sender, InteractionTrack...
    method ValuesChanged (line 464) | public void ValuesChanged(InteractionTracker sender, InteractionTracke...

FILE: src/BuildCast/DataModel/Episode.cs
  class Episode (line 22) | public class Episode
    method Episode (line 39) | public Episode()
    method Episode (line 43) | public Episode(
    method Episode (line 76) | public Episode(string key, string title, string description, string it...
    method FormatPublishDate (line 142) | public string FormatPublishDate (Episode e)
    method ToString (line 152) | public override string ToString()
    method SetDownloaded (line 157) | public async Task SetDownloaded()
    method DeleteDownloaded (line 167) | public async Task DeleteDownloaded()
    method BuildFromValueSet (line 184) | internal static Episode BuildFromValueSet(ValueSet values)
    method AddToValueSet (line 199) | internal void AddToValueSet(ValueSet values)
    method GetFeed (line 214) | private Feed GetFeed()

FILE: src/BuildCast/DataModel/EpisodePlaybackState.cs
  class EpisodePlaybackState (line 17) | public class EpisodePlaybackState
    method EpisodePlaybackState (line 23) | public EpisodePlaybackState()
    method EpisodePlaybackState (line 27) | public EpisodePlaybackState(Episode episode)
    method GetPercentDouble (line 39) | public double GetPercentDouble (Episode e)
    method GetPercent (line 44) | public string GetPercent(Episode e)

FILE: src/BuildCast/DataModel/EpisodeWithState.cs
  class EpisodeWithState (line 15) | public class EpisodeWithState

FILE: src/BuildCast/DataModel/Favorite.cs
  class Favorite (line 18) | public class Favorite
    method Favorite (line 24) | public Favorite()
    method Favorite (line 28) | public Favorite(Episode item)
    method GetEpisode (line 38) | internal Episode GetEpisode()

FILE: src/BuildCast/DataModel/Feed.cs
  class Feed (line 29) | public class Feed
    method Feed (line 31) | public Feed(Uri feedUri, string title, string description, Uri imageUr...
    method GetEpisodes (line 50) | public async Task<List<Episode>> GetEpisodes()
    method GetNewEpisodesAsync (line 70) | internal async Task<List<Episode>> GetNewEpisodesAsync()
    method RemoveTopThreeItems (line 91) | internal async Task RemoveTopThreeItems()
    method GetEpisodesInternalAsync (line 103) | internal async Task<List<Episode>> GetEpisodesInternalAsync()
    method GetEpisodesInternalFromWebAsync (line 117) | internal async Task<List<Episode>> GetEpisodesInternalFromWebAsync()
    method GetEpisodesInternalFromResAsync (line 126) | internal async Task<List<Episode>> GetEpisodesInternalFromResAsync(str...
    method ParseRssFeed (line 136) | internal static List<Episode> ParseRssFeed(IInputStream stream, Feed p...
    method BuildFeedFromValueSet (line 260) | internal static Feed BuildFeedFromValueSet(ValueSet values)
    method AddToValueSet (line 272) | internal void AddToValueSet(ValueSet values)

FILE: src/BuildCast/DataModel/FeedStore.cs
  class FeedStore (line 22) | public class FeedStore
    method FeedStore (line 26) | static FeedStore()
    method CheckDownloadsPresent (line 33) | public static async Task CheckDownloadsPresent()
    method ScanDownloads (line 71) | private static async Task ScanDownloads()
    method AddFeeds (line 89) | private static void AddFeeds()

FILE: src/BuildCast/DataModel/InkNote.cs
  class InkNote (line 18) | public class InkNote
    method InkNote (line 24) | public InkNote()
    method InkNote (line 28) | public InkNote(string episodeKey, double time)
    method GetEpisode (line 47) | internal Episode GetEpisode()

FILE: src/BuildCast/DataModel/InkNoteData.cs
  class InkNoteData (line 22) | public class InkNoteData
    method InkNoteData (line 28) | public InkNoteData()
    method GetImage (line 40) | public async Task<BitmapImage> GetImage(Action onOpened)
    method GetImageStream (line 45) | public async Task<InMemoryRandomAccessStream> GetImageStream()
    method GetImageStream (line 50) | private static async Task<InMemoryRandomAccessStream> GetImageStream(b...
    method GetImage (line 58) | private async Task<BitmapImage> GetImage(byte[] imageBytes, Action onO...

FILE: src/BuildCast/DataModel/LocalStorageContext.cs
  class LocalStorageContext (line 23) | public class LocalStorageContext : DbContext
    method LocalStorageContext (line 32) | static LocalStorageContext()
    method CheckMigrations (line 107) | public static void CheckMigrations()
    method OnConfiguring (line 116) | protected override void OnConfiguring(DbContextOptionsBuilder optionsB...
    method CheckForDatabase (line 121) | private static async Task CheckForDatabase()

FILE: src/BuildCast/DataModel/NowPlayingState.cs
  class NowPlayingState (line 19) | public class NowPlayingState
    method LoadStateAsync (line 39) | public async Task LoadStateAsync()
    method HandlePlayRequest (line 49) | public async Task<Tuple<bool, bool>> HandlePlayRequest(Episode paramItem)
    method HandlePlayRequest (line 69) | public bool HandlePlayRequest(InkNote paramItem)
    method ShouldSwitch (line 95) | public bool ShouldSwitch(Episode parameter)
    method SetNowPlaying (line 110) | public void SetNowPlaying(Feed feed, Episode feedItem, TimeSpan curren...
    method PeristEpisodePlaybackState (line 117) | public async Task PeristEpisodePlaybackState()
    method LoadEpisodePlaybackState (line 138) | public async Task LoadEpisodePlaybackState()
    method PersistLastPlayed (line 164) | private void PersistLastPlayed(Feed feed, Episode episode, TimeSpan ti...
    method DePersistLastPlayed (line 179) | private void DePersistLastPlayed(out Feed feed, out Episode episode, o...

FILE: src/BuildCast/Helpers/AsyncHelpers.cs
  class AsyncInitilizer (line 23) | public class AsyncInitilizer<T>
    method AsyncInitilizer (line 33) | public AsyncInitilizer()
    method InitializeWith (line 37) | internal void InitializeWith(Func<Task> initializationTask)
    method CheckInitialized (line 65) | internal void CheckInitialized()

FILE: src/BuildCast/Helpers/BackgroundDownloadHelper.cs
  type DownloadStartResult (line 34) | public enum DownloadStartResult
  class BackgroundDownloadHelper (line 41) | public static class BackgroundDownloadHelper
    method Download (line 45) | public static async Task<DownloadStartResult> Download(Uri sourceUri)
    method IsDownloading (line 86) | public static async Task<bool> IsDownloading(Uri sourceUri)
    method CheckLocalFileExistsFromUriHash (line 97) | public static async Task<StorageFile> CheckLocalFileExistsFromUriHash(...
    method GetAllFiles (line 103) | public static async Task<IReadOnlyList<IStorageItem>> GetAllFiles()
    method SafeHashUri (line 109) | public static string SafeHashUri(Uri sourceUri)
    method UpdateDownloadedFromCache (line 116) | public static async Task UpdateDownloadedFromCache()
    method RegisterBackgroundTask (line 126) | public static void RegisterBackgroundTask(IBackgroundTrigger trigger)
    method AttachToDownloads (line 135) | public static async Task AttachToDownloads()
    method DeleteDownload (line 150) | public static async Task DeleteDownload(string fileName)
    method CheckCompletionResult (line 165) | internal static async Task CheckCompletionResult(IBackgroundTaskInstan...
    method SetItemDownloaded (line 188) | private static async Task SetItemDownloaded(DownloadOperation item)
    method SetItemDownloaded (line 194) | private static async Task SetItemDownloaded(string filename)
    method CheckLocalFileExists (line 208) | private static async Task<StorageFile> CheckLocalFileExists(string fil...
    method Hash (line 228) | private static string Hash(string input)
    method IsFileEmpty (line 242) | private static async Task<bool> IsFileEmpty(StorageFile file)
    method GetLocalFileFromUri (line 253) | private static async Task<StorageFile> GetLocalFileFromUri(Uri sourceUri)
    method GetLocalFileFromName (line 268) | private static async Task<StorageFile> GetLocalFileFromName(string fil...
    method GetFileNameFromUri (line 282) | private static string GetFileNameFromUri(Uri sourceUri)
    method StartDownload (line 287) | private static async Task StartDownload(Uri target, BackgroundTransfer...
    method DownloadProgress (line 331) | private static void DownloadProgress(DownloadOperation obj)
    method CreateNotifications (line 342) | private static void CreateNotifications(BackgroundDownloader downloader)
    method CreateToast (line 357) | private static void CreateToast(string title, string tag)
    method UpdateToast (line 401) | private static void UpdateToast(string toastTag, double progressValue)

FILE: src/BuildCast/Helpers/BufferingVisualManager.cs
  class BufferingVisualManager (line 23) | public class BufferingVisualManager
    method StartBuffering (line 36) | public async Task StartBuffering(Panel textHolder, FrameworkElement li...
    method StopBuffering (line 52) | public void StopBuffering(bool lightingdisabled)
    method SetCompositor (line 80) | public void SetCompositor(Compositor compositor)
    method ConfigureText (line 85) | private async Task<TextBlock> ConfigureText(Panel target)
    method RemoveText (line 115) | private void RemoveText(CompositionScopedBatch batch, TextBlock textEl...
    method ConfigureLighting (line 133) | private void ConfigureLighting(FrameworkElement element)
    method RemoveLighting (line 168) | private CompositionScopedBatch RemoveLighting()

FILE: src/BuildCast/Helpers/DateTimeHelper.cs
  class DateTimeHelper (line 20) | public static class DateTimeHelper
    method ParseDateTimeRFC822 (line 22) | public static DateTimeOffset ParseDateTimeRFC822(string dateTimeString)
    method NormalizeTimeZone (line 92) | private static string NormalizeTimeZone(string rfc822TimeZone, out boo...
    method RemoveExtraWhiteSpaceAtStart (line 180) | private static void RemoveExtraWhiteSpaceAtStart(StringBuilder stringB...
    method ReplaceMultipleWhiteSpaceWithSingleWhiteSpace (line 199) | private static void ReplaceMultipleWhiteSpaceWithSingleWhiteSpace(Stri...

FILE: src/BuildCast/Helpers/EnumToBooleanConverter.cs
  class EnumToBooleanConverter (line 18) | public class EnumToBooleanConverter : IValueConverter
    method Convert (line 22) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 39) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/BuildCast/Helpers/EpisodeCommands.cs
  class FavoriteCommand (line 19) | public class FavoriteCommand : ICommand
    method CanExecute (line 25) | public bool CanExecute(object parameter) => true;
    method Execute (line 27) | public void Execute(object parameter)
  class DeleteEpisodeNoteCommand (line 42) | public class DeleteEpisodeNoteCommand : ICommand
    method DeleteEpisodeNoteCommand (line 47) | public DeleteEpisodeNoteCommand()
    method CanExecute (line 55) | public bool CanExecute(object parameter) => true;
    method Execute (line 57) | public void Execute(object parameter)
  class DeleteEpisodeCommand (line 90) | public class DeleteEpisodeCommand : ICommand
    method DeleteEpisodeCommand (line 95) | public DeleteEpisodeCommand()
    method CanExecute (line 103) | public bool CanExecute(object parameter) => true;
    method Execute (line 105) | public async void Execute(object parameter)
  class UnfavoriteCommand (line 127) | public class UnfavoriteCommand : ICommand
    method UnfavoriteCommand (line 132) | public UnfavoriteCommand()
    method CanExecute (line 136) | public bool CanExecute(object parameter) => true;
    method Execute (line 138) | public void Execute(object parameter)
  class DownloadCommand (line 169) | public class DownloadCommand : ICommand
    method DownloadCommand (line 171) | public DownloadCommand()
    method CanExecute (line 179) | public bool CanExecute(object parameter) => true;
    method Execute (line 181) | public void Execute(object parameter)
  class BindingProxyCommand (line 209) | public class BindingProxyCommand : ICommand
    method CanExecute (line 225) | public bool CanExecute(object parameter) => _realCommand?.CanExecute(p...
    method Execute (line 227) | public void Execute(object parameter) => _realCommand.Execute(parameter);
    method OnRealCanExecute (line 229) | private void OnRealCanExecute(object sender, EventArgs e) => CanExecut...

FILE: src/BuildCast/Helpers/Json.cs
  class Json (line 18) | public static class Json
    method ToObjectAsync (line 20) | public static async Task<T> ToObjectAsync<T>(string value)
    method StringifyAsync (line 28) | public static async Task<string> StringifyAsync(object value)

FILE: src/BuildCast/Helpers/LinqExtensions.cs
  class LinqExtensions (line 19) | public static class LinqExtensions
    method LambdaDistinct (line 21) | public static IEnumerable<T> LambdaDistinct<T>(this IEnumerable<T> lis...
    class LambdaCompare (line 26) | public class LambdaCompare<T> : IEqualityComparer<T>
      method LambdaCompare (line 30) | public LambdaCompare(Func<T, T, bool> lambda)
      method Equals (line 35) | public bool Equals(T x, T y)
      method GetHashCode (line 40) | public int GetHashCode(T obj)

FILE: src/BuildCast/Helpers/NavigationAnimationHelpers.cs
  class NavigationAnimationHelpers (line 21) | public static class NavigationAnimationHelpers
    method NavigateWithFadeOutgoing (line 23) | public static bool NavigateWithFadeOutgoing(this Frame frame, object p...
    method ImplicitHideFrameContent (line 30) | private static void ImplicitHideFrameContent(Frame frame)
    method SetImplicitHide (line 38) | private static void SetImplicitHide(UIElement thisPtr)

FILE: src/BuildCast/Helpers/RelayCommand.cs
  class RelayCommand (line 18) | public class RelayCommand : ICommand
    method RelayCommand (line 24) | public RelayCommand(Action execute)
    method RelayCommand (line 29) | public RelayCommand(Action execute, Func<bool> canExecute)
    method CanExecute (line 37) | public bool CanExecute(object parameter) => _canExecute == null || _ca...
    method Execute (line 39) | public void Execute(object parameter) => _execute();
    method OnCanExecuteChanged (line 41) | public void OnCanExecuteChanged() => CanExecuteChanged?.Invoke(this, E...
    method RelayCommand (line 52) | public RelayCommand(Action<T> execute)
    method RelayCommand (line 57) | public RelayCommand(Action<T> execute, Func<T, bool> canExecute)
    method CanExecute (line 65) | public bool CanExecute(object parameter) => _canExecute == null || _ca...
    method Execute (line 67) | public void Execute(object parameter) => _execute((T)parameter);
    method OnCanExecuteChanged (line 69) | public void OnCanExecuteChanged() => CanExecuteChanged?.Invoke(this, E...
  class RelayCommand (line 45) | public class RelayCommand<T> : ICommand
    method RelayCommand (line 24) | public RelayCommand(Action execute)
    method RelayCommand (line 29) | public RelayCommand(Action execute, Func<bool> canExecute)
    method CanExecute (line 37) | public bool CanExecute(object parameter) => _canExecute == null || _ca...
    method Execute (line 39) | public void Execute(object parameter) => _execute();
    method OnCanExecuteChanged (line 41) | public void OnCanExecuteChanged() => CanExecuteChanged?.Invoke(this, E...
    method RelayCommand (line 52) | public RelayCommand(Action<T> execute)
    method RelayCommand (line 57) | public RelayCommand(Action<T> execute, Func<T, bool> canExecute)
    method CanExecute (line 65) | public bool CanExecute(object parameter) => _canExecute == null || _ca...
    method Execute (line 67) | public void Execute(object parameter) => _execute((T)parameter);
    method OnCanExecuteChanged (line 69) | public void OnCanExecuteChanged() => CanExecuteChanged?.Invoke(this, E...

FILE: src/BuildCast/Helpers/SettingsStorageExtensions.cs
  class SettingsStorageExtensions (line 20) | public static class SettingsStorageExtensions
    method IsRoamingStorageAvailable (line 26) | public static bool IsRoamingStorageAvailable(this ApplicationData appD...
    method SaveAsync (line 31) | public static async Task SaveAsync<T>(this StorageFolder folder, strin...
    method ReadAsync (line 39) | public static async Task<T> ReadAsync<T>(this StorageFolder folder, st...
    method SaveAsync (line 52) | public static async Task SaveAsync<T>(this ApplicationDataContainer se...
    method ReadAsync (line 57) | public static async Task<T> ReadAsync<T>(this ApplicationDataContainer...
    method GetFileName (line 67) | private static string GetFileName(string name)

FILE: src/BuildCast/Helpers/TitleBarHelper.cs
  class TitleBarHelper (line 19) | public class TitleBarHelper : INotifyPropertyChanged
    method TitleBarHelper (line 29) | public TitleBarHelper()
    method ExitFullscreen (line 86) | public void ExitFullscreen()
    method GoFullscreen (line 91) | public void GoFullscreen()
    method CoreTitleBar_LayoutMetricsChanged (line 96) | private void CoreTitleBar_LayoutMetricsChanged(CoreApplicationViewTitl...
    method CalculateTilebarOffset (line 101) | private Thickness CalculateTilebarOffset(double leftPosition, double h...

FILE: src/BuildCast/Helpers/UIHelpers.cs
  class UIHelpers (line 20) | public class UIHelpers
    method ShowContentAsync (line 22) | public static async Task ShowContentAsync(string content)

FILE: src/BuildCast/Helpers/ValueSetHelper.cs
  class ValueSetHelper (line 18) | public static class ValueSetHelper
    method GetValueSet (line 20) | public static ValueSet GetValueSet(this ValueSet values, string key)
    method GetTimeSpan (line 32) | public static TimeSpan GetTimeSpan(this ValueSet values, string key)
    method GetDateTimeOffset (line 47) | public static DateTimeOffset GetDateTimeOffset(this ValueSet values, s...
    method GetURI (line 62) | public static Uri GetURI(this ValueSet values, string key)
    method GetString (line 77) | public static string GetString(this ValueSet values, string key)

FILE: src/BuildCast/Helpers/VisualHelpers.cs
  class VisualHelpers (line 21) | public static class VisualHelpers
    method GetVisual (line 23) | public static Visual GetVisual(this UIElement element)
    method ApplyImplicitAnimation (line 28) | public static CompositionCommitBatch ApplyImplicitAnimation(this Visua...
    method CreateOpacityAnimation (line 39) | public static KeyFrameAnimation CreateOpacityAnimation(Compositor comp...
    method SetSize (line 48) | public static void SetSize(this Visual v, FrameworkElement element)
    method FadeVisual (line 53) | public static void FadeVisual(this Visual v, double seconds)
    method CreateOpacityAnimation (line 61) | public static ScalarKeyFrameAnimation CreateOpacityAnimation(double se...
    method CreateOpacityAnimation (line 72) | public static ICompositionAnimationBase CreateOpacityAnimation(double ...
    method CreateAnimationGroup (line 81) | public static ICompositionAnimationBase CreateAnimationGroup(Compositi...
    method EnableLayoutImplicitAnimations (line 89) | public static void EnableLayoutImplicitAnimations(this UIElement eleme...
    method CreateImplicitFadeAnimation (line 101) | private static CompositionAnimation CreateImplicitFadeAnimation(double...
    method CreateOffsetAnimation (line 110) | private static KeyFrameAnimation CreateOffsetAnimation(Compositor comp...
    method CreateHorizontalOffsetAnimation (line 119) | public static CompositionAnimation CreateHorizontalOffsetAnimation(dou...
    method CreateHorizontalOffsetAnimation (line 143) | public static CompositionAnimation CreateHorizontalOffsetAnimation(dou...
    method CreateVerticalOffsetAnimation (line 148) | public static CompositionAnimation CreateVerticalOffsetAnimation(doubl...
    method CreateVerticalOffsetAnimation (line 172) | public static CompositionAnimation CreateVerticalOffsetAnimation(doubl...
    method CreateVerticalOffsetAnimationFrom (line 177) | public static CompositionAnimation CreateVerticalOffsetAnimationFrom(d...
    method CreateVerticalOffsetAnimationTo (line 182) | public static CompositionAnimation CreateVerticalOffsetAnimationTo(dou...
    method GetVisualChildByName (line 187) | public static T GetVisualChildByName<T>(this FrameworkElement root, st...

FILE: src/BuildCast/Migrations/20170927020747_initial.Designer.cs
  class initial (line 10) | [DbContext(typeof(LocalStorageContext))]
    method BuildTargetModel (line 14) | protected override void BuildTargetModel(ModelBuilder modelBuilder)

FILE: src/BuildCast/Migrations/20170927020747_initial.cs
  class initial (line 7) | public partial class initial : Migration
    method Up (line 9) | protected override void Up(MigrationBuilder migrationBuilder)
    method Down (line 88) | protected override void Down(MigrationBuilder migrationBuilder)

FILE: src/BuildCast/Migrations/LocalStorageContextModelSnapshot.cs
  class LocalStorageContextModelSnapshot (line 10) | [DbContext(typeof(LocalStorageContext))]
    method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder)

FILE: src/BuildCast/Services/ElementThemeExtended.cs
  type ElementThemeExtended (line 20) | public enum ElementThemeExtended
  type PipModes (line 31) | public enum PipModes

FILE: src/BuildCast/Services/IAvailableSystemsObserver.cs
  type IAvailableSystemsObserver (line 15) | public interface IAvailableSystemsObserver
    method Add (line 17) | void Add(IRemoteSystemDescription description);
    method Removed (line 18) | void Removed(IRemoteSystemDescription description);

FILE: src/BuildCast/Services/IFullscreenPage.cs
  type IFullscreenPage (line 15) | public interface IFullscreenPage
    method ExitFullscreen (line 17) | void ExitFullscreen();
    method EnterFullscreen (line 19) | void EnterFullscreen();

FILE: src/BuildCast/Services/IPlayerService.cs
  type IPlayerService (line 19) | public interface IPlayerService
    method SetNewItem (line 23) | Task SetNewItem(Uri currentItem, TimeSpan currentTime, bool startPlayb...
    method SetTime (line 25) | void SetTime(TimeSpan currentTime);
    method Play (line 27) | Task Play(Episode episode, TimeSpan playTime);
    method Pause (line 29) | void Pause();
    method FastForward (line 31) | void FastForward();
    method Rewind (line 33) | void Rewind();
    method GetBitmapForCurrentFrameFromLocalFile (line 35) | Task<byte[]> GetBitmapForCurrentFrameFromLocalFile();

FILE: src/BuildCast/Services/IRemoteConnection.cs
  type IRemoteConnection (line 18) | public interface IRemoteConnection : IDisposable
    method Play (line 20) | Task Play();
    method Pause (line 22) | Task Pause();
    method Seek (line 24) | Task Seek(TimeSpan timeStamp);
    method Disconnect (line 26) | Task Disconnect();
    method FastForward (line 28) | Task FastForward();
    method Rewind (line 30) | Task Rewind();
    method GetRemoteBitmap (line 32) | Task GetRemoteBitmap();

FILE: src/BuildCast/Services/IRemotePlayerService.cs
  type IRemotePlayerService (line 21) | public interface IRemotePlayerService
    method SubscribeSystemsChange (line 24) | IDisposable SubscribeSystemsChange(IAvailableSystemsObserver observer);
    method FindDevices (line 25) | Task<bool> FindDevices();
    method RemoteActivation (line 26) | void RemoteActivation(BackgroundTaskDeferral backgroundTaskDeferral, A...

FILE: src/BuildCast/Services/IRemoteSystemDescription.cs
  type IRemoteSystemDescription (line 17) | public interface IRemoteSystemDescription
    method PlayTo (line 23) | Task<IRemoteConnection> PlayTo();

FILE: src/BuildCast/Services/Navigation/FrameAdapter.cs
  class FrameAdapter (line 20) | public class FrameAdapter : IFrameAdapter
    method FrameAdapter (line 32) | public FrameAdapter(Frame internalFrame)
    method GoForward (line 45) | public void GoForward()
    method GoBack (line 50) | public void GoBack() => _internalFrame.GoBack();
    method GetNavigationState (line 52) | public string GetNavigationState() => _internalFrame.GetNavigationStat...
    method SetNavigationState (line 54) | public void SetNavigationState(string navigationState) => _internalFra...
    method Navigate (line 56) | public bool Navigate(Type sourcePageType, object parameter)

FILE: src/BuildCast/Services/Navigation/IFrameAdapter.cs
  type IFrameAdapter (line 18) | public interface IFrameAdapter
    method GetNavigationState (line 34) | string GetNavigationState();
    method GoBack (line 36) | void GoBack();
    method GoForward (line 38) | void GoForward();
    method Navigate (line 40) | bool Navigate(Type sourcePageType, object parameter);
    method SetNavigationState (line 42) | void SetNavigationState(string navigationState);

FILE: src/BuildCast/Services/Navigation/INavigableTo.cs
  type INavigableTo (line 18) | public interface INavigableTo
    method NavigatedTo (line 29) | Task NavigatedTo(NavigationMode navigationMode, object parameter);

FILE: src/BuildCast/Services/Navigation/INavigationCommand.cs
  type INavigationCommand (line 17) | public interface INavigationCommand<T>
    method CanExecute (line 19) | bool CanExecute(T parameter);
    method ExecuteAsync (line 21) | Task ExecuteAsync(T parameter);
    method GoBackAsync (line 23) | Task GoBackAsync();
    method CanExecute (line 28) | bool CanExecute();
    method ExecuteAsync (line 30) | Task ExecuteAsync();
  type INavigationCommand (line 26) | public interface INavigationCommand : INavigationCommand<object>
    method CanExecute (line 19) | bool CanExecute(T parameter);
    method ExecuteAsync (line 21) | Task ExecuteAsync(T parameter);
    method GoBackAsync (line 23) | Task GoBackAsync();
    method CanExecute (line 28) | bool CanExecute();
    method ExecuteAsync (line 30) | Task ExecuteAsync();

FILE: src/BuildCast/Services/Navigation/INavigationService.cs
  type INavigationService (line 19) | public interface INavigationService
    method NavigateToPodcastsAsync (line 29) | Task NavigateToPodcastsAsync();
    method NavigateToFavoritesAsync (line 31) | Task NavigateToFavoritesAsync();
    method NavigateToDownloadsAsync (line 33) | Task NavigateToDownloadsAsync();
    method NavigateToNotesAsync (line 35) | Task NavigateToNotesAsync();
    method NavigateToNowPlayingAsync (line 37) | Task NavigateToNowPlayingAsync();
    method NavigateToSettingsAsync (line 39) | Task NavigateToSettingsAsync();
    method NavigateToFeedAsync (line 41) | Task NavigateToFeedAsync(Feed feed);
    method NavigateToEpisodeAsync (line 43) | Task NavigateToEpisodeAsync(Episode episode);
    method NavigateToPlayerAsync (line 45) | Task NavigateToPlayerAsync(Episode episode);
    method NavigateToPlayerAsync (line 47) | Task NavigateToPlayerAsync(InkNote inkNote);
    method NavigateToInkNoteAsync (line 49) | Task NavigateToInkNoteAsync(InkNote inkNote);
    method GoBackAsync (line 50) | Task GoBackAsync();

FILE: src/BuildCast/Services/Navigation/IPageWithViewModel.cs
  type IPageWithViewModel (line 15) | public interface IPageWithViewModel<T>
    method UpdateBindings (line 20) | void UpdateBindings();

FILE: src/BuildCast/Services/Navigation/NavigationService.cs
  class NavigationService (line 26) | public class NavigationService : INavigationService
    method NavigationService (line 35) | public NavigationService(IFrameAdapter frameAdapter, IComponentContext...
    method NavigateToPodcastsAsync (line 59) | public Task NavigateToPodcastsAsync() => NavigateToPage<Home>();
    method NavigateToFavoritesAsync (line 61) | public Task NavigateToFavoritesAsync() => NavigateToPage<Favorites>();
    method NavigateToDownloadsAsync (line 63) | public Task NavigateToDownloadsAsync() => NavigateToPage<Downloads>();
    method NavigateToNotesAsync (line 65) | public Task NavigateToNotesAsync() => NavigateToPage<Notes>();
    method NavigateToNowPlayingAsync (line 67) | public Task NavigateToNowPlayingAsync() => NavigateToPage<Player>();
    method NavigateToSettingsAsync (line 69) | public Task NavigateToSettingsAsync() => NavigateToPage<SettingsPage>();
    method NavigateToFeedAsync (line 71) | public Task NavigateToFeedAsync(Feed feed) => NavigateToPage<FeedDetai...
    method NavigateToEpisodeAsync (line 73) | public Task NavigateToEpisodeAsync(Episode episode) => NavigateToPage<...
    method NavigateToPlayerAsync (line 75) | public Task NavigateToPlayerAsync(Episode episode) => NavigateToPage<P...
    method NavigateToPlayerAsync (line 77) | public Task NavigateToPlayerAsync(DataModel.InkNote inkNote) => Naviga...
    method NavigateToInkNoteAsync (line 79) | public Task NavigateToInkNoteAsync(DataModel.InkNote inkNote) => Navig...
    method GoBackAsync (line 116) | public async Task GoBackAsync()
    method Frame_Navigated (line 135) | private void Frame_Navigated(object sender, Windows.UI.Xaml.Navigation...
    method RegisterPageViewModel (line 145) | private void RegisterPageViewModel<TPage, TViewModel>()
    method NavigateToPage (line 167) | private Task NavigateToPage<TPage>()
    method NavigateToPage (line 172) | private async Task NavigateToPage<TPage>(object parameter)

FILE: src/BuildCast/Services/PlayerService.cs
  class PlayerService (line 36) | public class PlayerService : IPlayerService
    method GetBrush (line 79) | public CompositionBrush GetBrush(Compositor compositor)
    method HandlePlayRequest (line 87) | public async Task HandlePlayRequest(BuildCast.DataModel.InkNote i)
    method HandlePlayRequest (line 93) | public async Task HandlePlayRequest(Episode e)
    method Play (line 118) | public async Task Play(Episode ep, TimeSpan playTime)
    method Pause (line 134) | public void Pause()
    method TogglePlayPaused (line 142) | public async Task TogglePlayPaused()
    method Rewind (line 161) | public void Rewind()
    method FastForward (line 166) | public void FastForward()
    method SetNewItem (line 172) | public async Task SetNewItem(Uri currentItem, TimeSpan currentTime, bo...
    method SetTime (line 188) | public void SetTime(TimeSpan currentTime)
    method SetTimeControls (line 201) | public void SetTimeControls(Timeline timeCtrl)
    method GetBitmapForCurrentFrameFromLocalFile (line 206) | public async Task<byte[]> GetBitmapForCurrentFrameFromLocalFile()
    method PlayerService (line 270) | private PlayerService()
    method InitializeMediaPlayer (line 293) | private void InitializeMediaPlayer()
    method _source_SourceChanged (line 310) | private void _source_SourceChanged(object sender, AudioVisualizer.IVis...
    method OpenAndPlayNewItem (line 315) | private async Task OpenAndPlayNewItem()
    method GetSourceForUri (line 344) | private async Task<(MediaSource source, StorageFile storageFile)> GetS...
    method GetBitmapBytesFromLocalFile (line 361) | private async Task<byte[]> GetBitmapBytesFromLocalFile(TimeSpan span)
    method GetThumbnailAsync (line 373) | private async Task<IInputStream> GetThumbnailAsync(StorageFile file, T...
    method ClearPlayback (line 382) | private void ClearPlayback()
    method PlaybackSession_PositionChanged (line 390) | private void PlaybackSession_PositionChanged(MediaPlaybackSession send...
    method PlaybackSession_PlaybackStateChanged (line 396) | private async void PlaybackSession_PlaybackStateChanged(MediaPlaybackS...
    method MediaPlayer_MediaFailed (line 414) | private void MediaPlayer_MediaFailed(MediaPlayer sender, MediaPlayerFa...
    method HandlePlayPauseChanged (line 419) | private async Task HandlePlayPauseChanged(MediaPlaybackState playOrPause)
    method PlayerEventDebounceTimer_Tick (line 427) | private void PlayerEventDebounceTimer_Tick(object sender, object e)
    method CheckFireStateChanged (line 436) | private void CheckFireStateChanged()
    method OnPlayPauseChanged (line 461) | private async Task OnPlayPauseChanged(MediaPlaybackState playOrPause)
    method IsPlayingInternal (line 472) | private bool IsPlayingInternal(MediaPlaybackState eventToTest)
    method IsOpeningInternal (line 484) | private bool IsOpeningInternal(MediaPlaybackState eventToTest)
    method OnMediaLoaded (line 490) | private void OnMediaLoaded()
    method OnMediaLoading (line 495) | private void OnMediaLoading()

FILE: src/BuildCast/Services/RemotePlayService.cs
  class RemotePlayService (line 28) | public class RemotePlayService : IRemotePlayerService
    method RemotePlayService (line 53) | public RemotePlayService(IPlayerService playerService, INavigationServ...
    method SearchCleanup (line 65) | public void SearchCleanup()
    method FindDevices (line 80) | public async Task<bool> FindDevices()
    method RemoteActivation (line 127) | public void RemoteActivation(BackgroundTaskDeferral backgroundTaskDefe...
    method SubscribeSystemsChange (line 135) | public IDisposable SubscribeSystemsChange(IAvailableSystemsObserver ob...
    method RemoteSystemWatcher_RemoteSystemUpdated (line 146) | private void RemoteSystemWatcher_RemoteSystemUpdated(RemoteSystemWatch...
    method RemoteSystemWatcher_RemoteSystemRemoved (line 158) | private void RemoteSystemWatcher_RemoteSystemRemoved(RemoteSystemWatch...
    method RemoteSystemWatcher_RemoteSystemAdded (line 177) | private void RemoteSystemWatcher_RemoteSystemAdded(RemoteSystemWatcher...
    method CreateRemoteConnection (line 194) | private async Task<IRemoteConnection> CreateRemoteConnection(IRemoteSy...
    method Connection_RequestReceived (line 228) | private async void Connection_RequestReceived(AppServiceConnection sen...
    method TaskInstance_Canceled (line 288) | private void TaskInstance_Canceled(IBackgroundTaskInstance sender, Bac...
    class RemoteConnection (line 298) | private class RemoteConnection : IRemoteConnection
      method RemoteConnection (line 304) | public RemoteConnection(AppServiceConnection connection, IPlayerServ...
      method Disconnect (line 311) | public Task Disconnect()
      method Dispose (line 317) | public void Dispose()
      method Pause (line 322) | public async Task Pause()
      method Play (line 332) | public async Task Play()
      method Seek (line 347) | public async Task Seek(TimeSpan timeStamp)
      method FastForward (line 358) | public async Task FastForward()
      method Rewind (line 368) | public async Task Rewind()
      method GetRemoteBitmap (line 378) | public async Task GetRemoteBitmap()
      method StartInking (line 399) | public void StartInking(NowPlayingState nowPlaying, byte[] imageBytes)
      method CheckGoodResponse (line 418) | private async Task CheckGoodResponse(AppServiceResponse response)
    class RemoteSystemDescription (line 427) | private class RemoteSystemDescription : IRemoteSystemDescription
      method RemoteSystemDescription (line 431) | public RemoteSystemDescription(RemotePlayService service)
      method PlayTo (line 458) | public Task<IRemoteConnection> PlayTo()
    class SubscriptionToken (line 464) | private class SubscriptionToken : IDisposable
      method SubscriptionToken (line 469) | public SubscriptionToken(List<IAvailableSystemsObserver> observerLis...
      method Dispose (line 477) | public void Dispose()

FILE: src/BuildCast/Services/ThemeSelectorService.cs
  class ThemeSelectorService (line 25) | public static class ThemeSelectorService
    method GetSystemControlForegroundColorForThemeHex (line 36) | public static string GetSystemControlForegroundColorForThemeHex()
    method InitializeAsync (line 48) | public static async Task InitializeAsync()
    method SetThemeAsync (line 53) | public static async Task SetThemeAsync(ElementThemeExtended theme)
    method SetRequestedTheme (line 63) | public static void SetRequestedTheme()
    method GetLogoSource (line 112) | public static string GetLogoSource()
    method GetHomeImageSource (line 122) | public static string GetHomeImageSource()
    method GetHomeTheme (line 132) | public static ElementTheme GetHomeTheme()
    method GetHomeBackground (line 142) | public static Style GetHomeBackground()
    method TrueTheme (line 152) | public static ElementTheme TrueTheme()
    method SetupTitlebar (line 158) | private static void SetupTitlebar()
    method LoadThemeFromSettingsAsync (line 189) | private static async Task<ElementThemeExtended> LoadThemeFromSettingsA...
    method SaveThemeInSettingsAsync (line 202) | private static async Task SaveThemeInSettingsAsync(ElementThemeExtende...

FILE: src/BuildCast/Services/ViewModeService.cs
  class ViewModeService (line 25) | public class ViewModeService
    method CreateNewView (line 43) | public async Task CreateNewView<T>(Func<T> newViewObjectFactory, Actio...
    method SwitchToCompactOverlay (line 60) | public async Task<bool> SwitchToCompactOverlay<T>(T newView, Action<T>...
    method SwitchToNormalMode (line 74) | public async Task<bool> SwitchToNormalMode()
    method Register (line 86) | public void Register(NavigationView navview, Frame appNavFrame)
    method UnRegister (line 92) | public void UnRegister()
    method DoEnterFullscreen (line 98) | public void DoEnterFullscreen()
    method CollapseNavigationViewToBurger (line 128) | public void CollapseNavigationViewToBurger()
    method RestoreNavigationViewDefault (line 143) | public void RestoreNavigationViewDefault()
    method DoExitFullscreen (line 150) | public void DoExitFullscreen()
    method ToggleFullscreen (line 178) | public void ToggleFullscreen()
    method EnsureElements (line 191) | private void EnsureElements(NavigationView navview)

FILE: src/BuildCast/ViewModels/DownloadsViewModel.cs
  class DownloadsViewModel (line 22) | public class DownloadsViewModel : INotifyPropertyChanged
    method DownloadsViewModel (line 30) | public DownloadsViewModel(INavigationService navigationService)
    method RemoveDownloadedEpisode (line 35) | public async void RemoveDownloadedEpisode(Episode episode)
    method ReloadDownloadList (line 44) | public async void ReloadDownloadList()
    method LoadDownloads (line 66) | public async Task LoadDownloads()
    method NavigateToEpisode (line 80) | internal void NavigateToEpisode(Episode episode)
    method NavigateToInkNote (line 85) | internal void NavigateToInkNote(InkNote ink)
    method NavigateToPlayerWithInk (line 90) | internal void NavigateToPlayerWithInk(InkNote ink)
    method BuildDownloads (line 95) | private void BuildDownloads(LocalStorageContext db)

FILE: src/BuildCast/ViewModels/EpisodeDetailsViewModel.cs
  class EpisodeDetailsViewModel (line 22) | public class EpisodeDetailsViewModel : INavigableTo
    method EpisodeDetailsViewModel (line 26) | public EpisodeDetailsViewModel(INavigationService navigationService)
    method PlayCurrentEpisode (line 36) | public void PlayCurrentEpisode()
    method FavoriteCurrentEpisode (line 41) | public void FavoriteCurrentEpisode()
    method DownloadCurrentEpisode (line 50) | public void DownloadCurrentEpisode()
    method NavigatedTo (line 56) | public Task NavigatedTo(NavigationMode navigationMode, object parameter)

FILE: src/BuildCast/ViewModels/FavoritesViewModel.cs
  class FavoritesViewModel (line 24) | public class FavoritesViewModel : INotifyPropertyChanged
    method FavoritesViewModel (line 31) | public FavoritesViewModel(INavigationService navigationService)
    method DownloadEpisode (line 36) | public void DownloadEpisode(Episode episode)
    method RemoveDownloadedEpisode (line 41) | public async void RemoveDownloadedEpisode(Episode episode)
    method RemoveFavoritedEpisode (line 50) | public async void RemoveFavoritedEpisode(Episode episode)
    method Refresh (line 74) | public async void Refresh()
    method NavigateToEpisodeAsync (line 96) | public Task NavigateToEpisodeAsync(Episode episode) => _navigationServ...
    method LoadFavorites (line 98) | internal async Task LoadFavorites()
    method BuildFavorites (line 112) | private void BuildFavorites(LocalStorageContext db)

FILE: src/BuildCast/ViewModels/FeedDetailsViewModel.cs
  class FeedDetailsViewModel (line 24) | public class FeedDetailsViewModel : INavigableTo, INotifyPropertyChanged
    method FeedDetailsViewModel (line 50) | public FeedDetailsViewModel(INavigationService navigationService)
    method NavigatedTo (line 57) | public async Task NavigatedTo(NavigationMode navigationMode, object pa...
    method RefreshData (line 75) | public async Task<int> RefreshData()
    method GoToEpisodeDetails (line 86) | public void GoToEpisodeDetails(Episode detailsItem)
    method PlayEpisode (line 93) | public void PlayEpisode(Episode episode)
    method FavoriteEpisode (line 98) | public void FavoriteEpisode(Episode episode)
    method DownloadEpisode (line 107) | public void DownloadEpisode(Episode episode)
    method RemoveTopThree (line 112) | public async Task RemoveTopThree()

FILE: src/BuildCast/ViewModels/HomeViewModel.cs
  class HomeViewModel (line 18) | public class HomeViewModel
    method HomeViewModel (line 22) | public HomeViewModel(INavigationService navigationService)
    method NavigateToFeed (line 27) | public void NavigateToFeed(Feed selectedFeed)
    method NavigateToEpisode (line 32) | public void NavigateToEpisode(Episode episode)

FILE: src/BuildCast/ViewModels/InkNoteViewModel.cs
  class InkNoteViewModel (line 17) | public class InkNoteViewModel
    method InkNoteViewModel (line 21) | public InkNoteViewModel(INavigationService navigationService)
    method GoBack (line 26) | public void GoBack()

FILE: src/BuildCast/ViewModels/NotesViewModel.cs
  class NotesViewModel (line 25) | public class NotesViewModel : INotifyPropertyChanged
    method NotesViewModel (line 30) | public NotesViewModel(INavigationService navigationService)
    method ReloadNotes (line 54) | public async void ReloadNotes()
    method LoadNotes (line 59) | public async Task LoadNotes()
    method NavigateToItem (line 73) | public void NavigateToItem(object clickedItem)
    method NavigateToEpisode (line 105) | private void NavigateToEpisode(Episode episode)
    method NavigateToInkNote (line 110) | private void NavigateToInkNote(InkNote ink)
    method NavigateToPlayerWithInk (line 115) | private void NavigateToPlayerWithInk(InkNote ink)
    method BuildInkNotesForEpisode (line 120) | private void BuildInkNotesForEpisode(LocalStorageContext db)

FILE: src/BuildCast/ViewModels/PlayerViewModel.cs
  class PlayerViewModel (line 25) | public class PlayerViewModel : INavigableTo, INotifyPropertyChanged
    method PlayerViewModel (line 31) | public PlayerViewModel(INavigationService navigationService, IRemotePl...
    method GoToInkNote (line 42) | public void GoToInkNote(InkNote note)
    method NavigatedTo (line 47) | public async Task NavigatedTo(NavigationMode navigationMode, object pa...
    method RefreshRemoteSystems (line 55) | public void RefreshRemoteSystems(object sender, EventArgs e)
    method CreateRemoteControl (line 60) | public async Task<IRemoteConnection> CreateRemoteControl(IRemoteSystem...
    class RemoteSystemsObserver (line 67) | public class RemoteSystemsObserver : IAvailableSystemsObserver
      method RemoteSystemsObserver (line 71) | public RemoteSystemsObserver(PlayerViewModel viewModel)
      method Add (line 76) | public void Add(IRemoteSystemDescription description)
      method Removed (line 81) | public void Removed(IRemoteSystemDescription description)

FILE: src/BuildCast/ViewModels/SettingsViewModel.cs
  class SettingsViewModel (line 24) | public class SettingsViewModel : INotifyPropertyChanged
    method SettingsViewModel (line 36) | public SettingsViewModel()
    method GetCurrentMode (line 59) | public static async Task<PipModes> GetCurrentMode()
    method Initialize (line 132) | public void Initialize()
    method NavigatedTo (line 144) | public async Task NavigatedTo()
    method SetCurrent (line 149) | private static async Task SetCurrent(PipModes value)
    method GetCurrent (line 154) | private static async Task<PipModes> GetCurrent()
    method GetVersionDescription (line 159) | private string GetVersionDescription()

FILE: src/BuildCast/Views/Downloads.xaml.cs
  class Downloads (line 28) | public sealed partial class Downloads : Page, IPageWithViewModel<Downloa...
    method Downloads (line 35) | public Downloads()
    method UpdateBindings (line 40) | public void UpdateBindings()
    method OnNavigatedTo (line 45) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 51) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method Downloads_Loaded (line 57) | private async void Downloads_Loaded(object sender, RoutedEventArgs e)
    method MenuFlyout_Opening (line 62) | private void MenuFlyout_Opening(object sender, object e)
    method DownloadListView_Tapped (line 80) | private void DownloadListView_Tapped(object sender, ItemClickEventArgs e)
    method SetupMenuFlyout (line 89) | private void SetupMenuFlyout()
    method Grid_PointerEntered (line 100) | private void Grid_PointerEntered(object sender, Windows.UI.Xaml.Input....
    method Grid_PointerExited (line 108) | private void Grid_PointerExited(object sender, Windows.UI.Xaml.Input.P...
    method DeleteDownload (line 116) | private void DeleteDownload(Episode episode) => ViewModel.RemoveDownlo...
    method RefreshList (line 118) | private void RefreshList() => ViewModel.ReloadDownloadList();
    method AppBarButton_Click (line 120) | private void AppBarButton_Click(object sender, RoutedEventArgs e)
    method swipeDelete_Invoked (line 126) | private void swipeDelete_Invoked(SwipeItem sender, SwipeItemInvokedEve...
    method MenuFlyoutItem_Click (line 137) | private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
    method ContainerItem_PointerEntered (line 143) | private void ContainerItem_PointerEntered(object sender, PointerRouted...
    method ContainerItem_PointerExited (line 169) | private void ContainerItem_PointerExited(object sender, PointerRoutedE...
    method DownloadListView_ChoosingItemContainer (line 181) | private void DownloadListView_ChoosingItemContainer(ListViewBase sende...

FILE: src/BuildCast/Views/EpisodeDetails.xaml.cs
  class EpisodeDetails (line 28) | public sealed partial class EpisodeDetails : Page, IPageWithViewModel<Ep...
    method EpisodeDetails (line 30) | public EpisodeDetails()
    method UpdateBindings (line 44) | public void UpdateBindings()
    method ViewModel_DownloadError (line 54) | private void ViewModel_DownloadError(object sender, EventArgs e)
    method EpisodeDetails_Loaded (line 63) | private void EpisodeDetails_Loaded(object sender, RoutedEventArgs e)
    method OnNavigatedTo (line 69) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 75) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method Descriptionweb_DOMContentLoaded (line 86) | private async void Descriptionweb_DOMContentLoaded(WebView sender, Web...
    method FeedItemImage_ImageOpened (line 101) | private void FeedItemImage_ImageOpened(object sender, RoutedEventArgs e)

FILE: src/BuildCast/Views/Favorites.xaml.cs
  class Favorites (line 29) | public sealed partial class Favorites : Page, IPageWithViewModel<Favorit...
    method Favorites (line 34) | public Favorites()
    method UpdateBindings (line 43) | public void UpdateBindings()
    method OnNavigatingFrom (line 48) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method OnNavigatedTo (line 54) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method Favorites_Loaded (line 60) | private async void Favorites_Loaded(object sender, RoutedEventArgs e)
    method MenuFlyout_Opening (line 65) | private void MenuFlyout_Opening(object sender, object e)
    method SetupMenuFlyout (line 83) | private void SetupMenuFlyout()
    method FavoriteListView_Tapped (line 94) | private void FavoriteListView_Tapped(object sender, ItemClickEventArgs e)
    method DownloadEpisode (line 102) | private void DownloadEpisode(Episode episode) => ViewModel.DownloadEpi...
    method RemoveFavoritedEpisode (line 104) | private void RemoveFavoritedEpisode(Episode episode) => ViewModel.Remo...
    method DeleteEpisode (line 106) | private void DeleteEpisode(Episode episode) => ViewModel.RemoveDownloa...
    method RefreshList (line 108) | private void RefreshList() => ViewModel.Refresh();
    method ContainerItem_PointerEntered (line 110) | private void ContainerItem_PointerEntered(object sender, PointerRouted...
    method ContainerItem_PointerExited (line 144) | private void ContainerItem_PointerExited(object sender, PointerRoutedE...
    method SwipeDownload_Invoked (line 156) | private void SwipeDownload_Invoked(SwipeItem sender, SwipeItemInvokedE...
    method SwipeUnfavorite_Invoked (line 164) | private void SwipeUnfavorite_Invoked(SwipeItem sender, SwipeItemInvoke...
    method MenuFlyoutItem_Click (line 172) | private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
    method FavoriteListView_ChoosingItemContainer (line 177) | private void FavoriteListView_ChoosingItemContainer(ListViewBase sende...
    method UnfaveButton_Click (line 194) | private void UnfaveButton_Click(object sender, RoutedEventArgs e)
    method DeleteButton_Click (line 200) | private void DeleteButton_Click(object sender, RoutedEventArgs e)
    method DownloadButton_Click (line 206) | private void DownloadButton_Click(object sender, RoutedEventArgs e)

FILE: src/BuildCast/Views/FeedDetails.xaml.cs
  class FeedDetails (line 30) | public sealed partial class FeedDetails : Page, IPageWithViewModel<FeedD...
    method FeedDetails (line 37) | public FeedDetails()
    method UpdateBindings (line 54) | public void UpdateBindings()
    method FeedDetails_Loaded (line 64) | private void FeedDetails_Loaded(object sender, RoutedEventArgs e)
    method OnNavigatedTo (line 71) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 77) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method Feeditems_ChoosingItemContainer (line 83) | private void Feeditems_ChoosingItemContainer(ListViewBase sender, Choo...
    method ContainerItem_Loaded (line 109) | private void ContainerItem_Loaded(object sender, RoutedEventArgs e)
    method ContainerItem_PointerEntered (line 148) | private void ContainerItem_PointerEntered(object sender, PointerRouted...
    method ContainerItem_PointerExited (line 167) | private void ContainerItem_PointerExited(object sender, PointerRoutedE...
    method ContainerItem_KeyDown (line 176) | private void ContainerItem_KeyDown(object sender, KeyRoutedEventArgs e)
    method FavoriteEpisode (line 202) | private void FavoriteEpisode(Episode episode) => ViewModel.FavoriteEpi...
    method PlayEpisode (line 204) | private void PlayEpisode(Episode episode) => ViewModel.PlayEpisode(epi...
    method DownloadEpisode (line 206) | private void DownloadEpisode(Episode episode) => ViewModel.DownloadEpi...
    method MenuFlyout_Opening (line 208) | private void MenuFlyout_Opening(object sender, object e)
    method Feeditems_ItemClick (line 226) | private void Feeditems_ItemClick(object sender, ItemClickEventArgs e)
    method PlayMenuFlyoutItem_Click (line 233) | private void PlayMenuFlyoutItem_Click(object sender, RoutedEventArgs e)
    method PlayIconButton_Click (line 238) | private void PlayIconButton_Click(object sender, RoutedEventArgs e)
    method DownloadFlyoutItem_Click (line 243) | private void DownloadFlyoutItem_Click(object sender, RoutedEventArgs e)
    method DownloadButton_Click (line 248) | private void DownloadButton_Click(object sender, RoutedEventArgs e)
    method FavoriteFlyoutItem_Click (line 253) | private void FavoriteFlyoutItem_Click(object sender, RoutedEventArgs e)
    method FavoriteButton_Click (line 258) | private void FavoriteButton_Click(object sender, RoutedEventArgs e)
    method SwipeItem_Invoked (line 264) | private void SwipeItem_Invoked(SwipeItem sender, SwipeItemInvokedEvent...
    method FavoriteSwipeItem_Invoked (line 273) | private void FavoriteSwipeItem_Invoked(SwipeItem sender, SwipeItemInvo...
    method RefreshButton_Click (line 281) | private async void RefreshButton_Click(object sender, RoutedEventArgs e)
    method Button_RightTapped (line 286) | private async void Button_RightTapped(object sender, RightTappedRouted...
    method LoadMoreData (line 293) | private async Task LoadMoreData()
    method Podimage_ImageOpened (line 304) | private void Podimage_ImageOpened(object sender, RoutedEventArgs e)

FILE: src/BuildCast/Views/Home.xaml.cs
  class Home (line 31) | public sealed partial class Home : Page, IPageWithViewModel<HomeViewModel>
    method Home (line 35) | public Home()
    method UpdateBindings (line 76) | public void UpdateBindings()
    method OnNavigatedTo (line 81) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 95) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method HomeFeedGrid_ContainerContentChanging (line 102) | private void HomeFeedGrid_ContainerContentChanging(ListViewBase sender...
    method ItemContainer_Loaded (line 107) | private void ItemContainer_Loaded(object sender, RoutedEventArgs e)
    method HomeFeedGrid_ItemClick (line 155) | private void HomeFeedGrid_ItemClick(object sender, ItemClickEventArgs e)
    method AutoSuggestBox_TextChanged (line 162) | private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSug...
    method AutoSuggestBox_SuggestionChosen (line 174) | private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, Au...

FILE: src/BuildCast/Views/InkNote.xaml.cs
  class InkNote (line 37) | public sealed partial class InkNote : Page, IPageWithViewModel<InkNoteVi...
    method InkNote (line 48) | public InkNote()
    method UpdateBindings (line 64) | public void UpdateBindings()
    method InkPresenter_StrokesCollected (line 69) | private void InkPresenter_StrokesCollected(InkPresenter sender, InkStr...
    method InkPresenter_StrokesErased (line 74) | private void InkPresenter_StrokesErased(InkPresenter sender, InkStroke...
    method UnprocessedInput_PointerPressed (line 79) | private async void UnprocessedInput_PointerPressed(InkUnprocessedInput...
    method InkCanvas_Tapped (line 84) | private async void InkCanvas_Tapped(object sender, TappedRoutedEventAr...
    method AnalyzeInkAsync (line 89) | private async Task AnalyzeInkAsync()
    method RemoveInkStrokes (line 127) | private void RemoveInkStrokes(InkAnalysisInkDrawing drawing)
    method AddHeart (line 141) | private void AddHeart(InkAnalysisInkDrawing drawing)
    method AddEmoji (line 161) | private void AddEmoji(InkAnalysisInkDrawing drawing, string glyph)
    method OnNavigatedTo (line 180) | protected async override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatedFrom (line 203) | protected override void OnNavigatedFrom(NavigationEventArgs e)
    method InkNote_KeyDown (line 211) | private async void InkNote_KeyDown(CoreWindow sender, KeyEventArgs args)
    method PickEmoji (line 234) | private async Task PickEmoji()
    method Image_ImageOpened (line 254) | private void Image_ImageOpened()
    method LoadInk (line 263) | private async Task LoadInk(byte[] ink)
    method LoadExisting (line 274) | private async Task LoadExisting(BuildCast.DataModel.InkNote meme)
    method SaveInkNote (line 288) | private async Task SaveInkNote()
    method SaveButton_Click (line 344) | private async void SaveButton_Click(object sender, RoutedEventArgs e)
    method DeleteButton_Click (line 349) | private void DeleteButton_Click(object sender, RoutedEventArgs e)
    method ShareButton_Click (line 367) | private void ShareButton_Click(object sender, RoutedEventArgs e)
    method ClearButton_Click (line 374) | private void ClearButton_Click(object sender, RoutedEventArgs e)
    method ClearButton_RightClick (line 379) | private void ClearButton_RightClick(object sender, Windows.UI.Xaml.Inp...
    method DataRequested (line 388) | private async void DataRequested(DataTransferManager sender, DataReque...
    method Save_InkedImagetoStream (line 408) | private async Task<bool> Save_InkedImagetoStream(IRandomAccessStream s...
    method DrawXamlOverlay (line 452) | private async Task DrawXamlOverlay(CanvasDevice device, CanvasRenderTa...
    method Save_XAML (line 477) | private async Task<RenderTargetBitmap> Save_XAML()

FILE: src/BuildCast/Views/NavigationRoot.xaml.cs
  class NavigationRoot (line 26) | public sealed partial class NavigationRoot : Page
    method NavigationRoot (line 32) | public NavigationRoot()
    method InitializeNavigationService (line 66) | public void InitializeNavigationService(INavigationService navigationS...
    method ToggleFullscreen (line 73) | public void ToggleFullscreen()
    method ExitFullScreen (line 78) | public void ExitFullScreen()
    method OnNavigatedTo (line 83) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatedFrom (line 93) | protected override void OnNavigatedFrom(NavigationEventArgs e)
    method Nav_BackRequested (line 98) | private void Nav_BackRequested(object sender, BackRequestedEventArgs e)
    method NavigationService_Navigated (line 104) | private void NavigationService_Navigated(object sender, EventArgs e)
    method AppNavFrame_Navigated (line 113) | private void AppNavFrame_Navigated(object sender, NavigationEventArgs e)
    method Page_Loaded (line 135) | private void Page_Loaded(object sender, RoutedEventArgs e)
    method Navview_ItemInvoked (line 155) | private void Navview_ItemInvoked(NavigationView sender, NavigationView...
    method GetIcon (line 184) | public static string GetIcon(string kind)
    method ShortDate (line 197) | public static string ShortDate(DateTime d)

FILE: src/BuildCast/Views/NoteDataTemplateSelector.cs
  class NoteDataTemplateSelector (line 19) | public class NoteDataTemplateSelector : DataTemplateSelector
    method SelectTemplateCore (line 25) | protected override DataTemplate SelectTemplateCore(object item, Depend...

FILE: src/BuildCast/Views/Notes.xaml.cs
  class Notes (line 25) | public sealed partial class Notes : Page, IPageWithViewModel<NotesViewMo...
    method Notes (line 29) | public Notes()
    method UpdateBindings (line 34) | public void UpdateBindings()
    method OnNavigatedTo (line 39) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 45) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method Notes_Loaded (line 51) | private async void Notes_Loaded(object sender, RoutedEventArgs e)
    method SetupMenuFlyout (line 56) | private void SetupMenuFlyout()
    method NotesListView_Tapped (line 67) | private void NotesListView_Tapped(object sender, ItemClickEventArgs e)
    method Grid_PointerEntered (line 72) | private void Grid_PointerEntered(object sender, Windows.UI.Xaml.Input....
    method Grid_PointerExited (line 80) | private void Grid_PointerExited(object sender, Windows.UI.Xaml.Input.P...
    method ReLoadNotes (line 88) | private void ReLoadNotes() => ViewModel.ReloadNotes();
    method AppBarButton_Click (line 90) | private void AppBarButton_Click(object sender, RoutedEventArgs e)
    method SwipeDelete_Invoked (line 120) | private void SwipeDelete_Invoked(SwipeItem sender, SwipeItemInvokedEve...
    method MenuFlyout_Opening (line 150) | private void MenuFlyout_Opening(object sender, object e)
    method MenuFlyoutItem_Click (line 168) | private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)

FILE: src/BuildCast/Views/Player.xaml.cs
  class Player (line 37) | public sealed partial class Player : Page, IPageWithViewModel<PlayerView...
    method Player (line 63) | public Player()
    method ExitFullscreen (line 75) | public void ExitFullscreen()
    method EnterFullscreen (line 82) | public void EnterFullscreen()
    method OnNavigatedTo (line 89) | protected async override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatedFrom (line 98) | protected override void OnNavigatedFrom(NavigationEventArgs e)
    method OnNavigatingFrom (line 105) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method Player_Loaded (line 116) | private void Player_Loaded(object sender, RoutedEventArgs e)
    method Player_Unloaded (line 123) | private void Player_Unloaded(object sender, RoutedEventArgs e)
    method UnhookMouseMove (line 128) | private void UnhookMouseMove()
    method HookMouseMove (line 143) | private void HookMouseMove()
    method CoreWindow_KeyDown (line 153) | private void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Win...
    method Timer_Tick (line 163) | private void Timer_Tick(object sender, object e)
    method CoreWindow_PointerMoved (line 171) | private void CoreWindow_PointerMoved(Windows.UI.Core.CoreWindow sender...
    method HandleIncomingConnectedNavigation (line 180) | private void HandleIncomingConnectedNavigation(NavigationEventArgs e)
    method Share_click (line 186) | private async void Share_click(object sender, RoutedEventArgs e)
    method StartInking (line 203) | private void StartInking(NowPlayingState nowPlaying, byte[] imageBytes)
    method Bookmark_click (line 216) | private async void Bookmark_click(object sender, RoutedEventArgs e)
    method HandlleIncomingPlaybackRequests (line 255) | private async Task HandlleIncomingPlaybackRequests(NavigationEventArgs e)
    method SetNowPlaying (line 277) | internal void SetNowPlaying(Feed feed, Episode episode, TimeSpan curre...
    method UpdateBindings (line 292) | public void UpdateBindings()
    method Mtc_RemoteSystemSelected (line 298) | private async void Mtc_RemoteSystemSelected(object sender, IRemoteSyst...
    method CreateVisualizer (line 316) | private async void CreateVisualizer()
    method Current_VisualizationSourceChanged (line 333) | private void Current_VisualizationSourceChanged(object sender, IVisual...
    method SetSource (line 338) | private void SetSource()
    method Visualizer_Draw (line 344) | private void Visualizer_Draw(AudioVisualizer.IVisualizer sender, Audio...
    method DrawSpectrumSpline (line 366) | private void DrawSpectrumSpline(IReadOnlyList<float> data, CanvasDrawi...

FILE: src/BuildCast/Views/PopupPlayer.xaml.cs
  class PopupPlayer (line 23) | public sealed partial class PopupPlayer : Page
    method PopupPlayer (line 28) | public PopupPlayer(PipModes mode)
    method StartVideo (line 41) | public void StartVideo()
    method PlayerHolder_SizeChanged (line 46) | private void PlayerHolder_SizeChanged(object sender, SizeChangedEventA...
    method Btnexit_LeaveCompactMode (line 51) | private async void Btnexit_LeaveCompactMode(object sender, RoutedEvent...

FILE: src/BuildCast/Views/SettingsPage.xaml.cs
  class SettingsPage (line 19) | public sealed partial class SettingsPage : Page, IPageWithViewModel<Sett...
    method SettingsPage (line 26) | public SettingsPage()
    method UpdateBindings (line 31) | public void UpdateBindings()
Condensed preview — 109 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,756K chars).
[
  {
    "path": ".gitignore",
    "chars": 4195,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
  },
  {
    "path": "LICENSE",
    "chars": 1183,
    "preview": "    MIT License\r\n\r\n    Copyright (c) Microsoft Corporation. All rights reserved.\r\n\r\n    Permission is hereby granted, fr"
  },
  {
    "path": "README.md",
    "chars": 15273,
    "preview": "---\r\ntopic: sample\r\nlanguages:\r\n- csharp\r\nproducts:\r\n- windows\r\n- windows-uwp\r\n---\r\n\r\n<!---\r\n  category: Fluent\r\n-->\r\n\r\n"
  },
  {
    "path": "SECURITY.md",
    "chars": 2757,
    "preview": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.8 BLOCK -->\n\n## Security\n\nMicrosoft takes the security of our software products an"
  },
  {
    "path": "src/BuildCast/App.xaml",
    "chars": 3581,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/App.xaml.cs",
    "chars": 10535,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Assets/BuildCastIcon.ai",
    "chars": 27240,
    "preview": "%PDF-1.5\r%\r\n1 0 obj\r<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 21 0 R]/Order 22 0 R/RBGroups[]>>/OCGs[5 0 R 21 0 R]>>"
  },
  {
    "path": "src/BuildCast/Assets/build2016windowsdevfeed.xml",
    "chars": 1092425,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?xml-stylesheet type=\"text/xsl\" media=\"screen\" href=\"/styles/xslt/rss.xslt\"?>\n<"
  },
  {
    "path": "src/BuildCast/BuildCast.csproj",
    "chars": 19213,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "src/BuildCast/Controls/CustomMTC.xaml",
    "chars": 4360,
    "preview": "<UserControl\n    x:Class=\"BuildCast.Controls.CustomMTC\"\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/present"
  },
  {
    "path": "src/BuildCast/Controls/CustomMTC.xaml.cs",
    "chars": 6079,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Controls/CustomMediaPlayer.xaml",
    "chars": 906,
    "preview": "<UserControl\n    x:Class=\"BuildCast.Controls.CustomMediaPlayer\"\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml"
  },
  {
    "path": "src/BuildCast/Controls/CustomMediaPlayer.xaml.cs",
    "chars": 8126,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Controls/RemoteControl.xaml",
    "chars": 1795,
    "preview": "<UserControl\n    x:Class=\"BuildCast.Controls.RemoteControl\"\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/BuildCast/Controls/RemoteControl.xaml.cs",
    "chars": 2696,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Controls/TimeControl.cs",
    "chars": 7092,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Controls/Timeline.cs",
    "chars": 19172,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/Episode.cs",
    "chars": 7061,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/EpisodePlaybackState.cs",
    "chars": 1643,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/EpisodeWithState.cs",
    "chars": 905,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/Favorite.cs",
    "chars": 1488,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/Feed.cs",
    "chars": 10423,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/FeedStore.cs",
    "chars": 9218,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/InkNote.cs",
    "chars": 1731,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/InkNoteData.cs",
    "chars": 2484,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/LocalStorageContext.cs",
    "chars": 4023,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/DataModel/NowPlayingState.cs",
    "chars": 7416,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/GlobalSuppressions.cs",
    "chars": 7321,
    "preview": "// This file is used by Code Analysis to maintain SuppressMessage\n// attributes that are applied to this project.\n// Pr"
  },
  {
    "path": "src/BuildCast/Helpers/AsyncHelpers.cs",
    "chars": 2587,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/BackgroundDownloadHelper.cs",
    "chars": 15208,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/BufferingVisualManager.cs",
    "chars": 7385,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/DateTimeHelper.cs",
    "chars": 8035,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/EnumToBooleanConverter.cs",
    "chars": 1785,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/EpisodeCommands.cs",
    "chars": 6527,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/Json.cs",
    "chars": 1291,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n/"
  },
  {
    "path": "src/BuildCast/Helpers/LinqExtensions.cs",
    "chars": 1528,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/NavigationAnimationHelpers.cs",
    "chars": 1638,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/RelayCommand.cs",
    "chars": 2489,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/SettingsStorageExtensions.cs",
    "chars": 2808,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n/"
  },
  {
    "path": "src/BuildCast/Helpers/TitleBarHelper.cs",
    "chars": 3585,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/UIHelpers.cs",
    "chars": 1297,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/ValueSetHelper.cs",
    "chars": 2747,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Helpers/VisualHelpers.cs",
    "chars": 8647,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Microsoft.BuildCast.ruleset",
    "chars": 4002,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RuleSet Name=\"Microsoft Managed Recommended Rules\" Description=\"These rules foc"
  },
  {
    "path": "src/BuildCast/Migrations/20170927020747_initial.Designer.cs",
    "chars": 3113,
    "preview": "using System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft."
  },
  {
    "path": "src/BuildCast/Migrations/20170927020747_initial.cs",
    "chars": 4008,
    "preview": "using System;\nusing System.Collections.Generic;\nusing Microsoft.EntityFrameworkCore.Migrations;\n\nnamespace BuildCast.Mi"
  },
  {
    "path": "src/BuildCast/Migrations/LocalStorageContextModelSnapshot.cs",
    "chars": 3106,
    "preview": "using System;\nusing Microsoft.EntityFrameworkCore;\nusing Microsoft.EntityFrameworkCore.Infrastructure;\nusing Microsoft."
  },
  {
    "path": "src/BuildCast/Package.appxmanifest",
    "chars": 2420,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\""
  },
  {
    "path": "src/BuildCast/Properties/AssemblyInfo.cs",
    "chars": 1032,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "src/BuildCast/Properties/Default.rd.xml",
    "chars": 1242,
    "preview": "<!--\n    This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most\n    develope"
  },
  {
    "path": "src/BuildCast/Services/ElementThemeExtended.cs",
    "chars": 1192,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IAvailableSystemsObserver.cs",
    "chars": 922,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IFullscreenPage.cs",
    "chars": 861,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IPlayerService.cs",
    "chars": 1258,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IRemoteConnection.cs",
    "chars": 1056,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IRemotePlayerService.cs",
    "chars": 1273,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/IRemoteSystemDescription.cs",
    "chars": 966,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/FrameAdapter.cs",
    "chars": 2495,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/IFrameAdapter.cs",
    "chars": 1396,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/INavigableTo.cs",
    "chars": 1519,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n/"
  },
  {
    "path": "src/BuildCast/Services/Navigation/INavigationCommand.cs",
    "chars": 1092,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/INavigationService.cs",
    "chars": 1584,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/IPageWithViewModel.cs",
    "chars": 904,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/Navigation/NavigationService.cs",
    "chars": 7167,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/PlayerService.cs",
    "chars": 17227,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/RemotePlayService.cs",
    "chars": 19070,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/ThemeSelectorService.cs",
    "chars": 7329,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Services/ViewModeService.cs",
    "chars": 7264,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Strings/en-us/Resources.resw",
    "chars": 8403,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prima"
  },
  {
    "path": "src/BuildCast/Styles/Common.xaml",
    "chars": 2304,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Styles/Settings.xaml",
    "chars": 3427,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Themes/Branded.xaml",
    "chars": 2810,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Themes/BrandedXbox.xaml",
    "chars": 2470,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Themes/Generic.xaml",
    "chars": 2635,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Themes/Stock.xaml",
    "chars": 1574,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/ViewModels/DownloadsViewModel.cs",
    "chars": 3511,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/EpisodeDetailsViewModel.cs",
    "chars": 2264,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/FavoritesViewModel.cs",
    "chars": 4079,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/FeedDetailsViewModel.cs",
    "chars": 3781,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/HomeViewModel.cs",
    "chars": 1362,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/InkNoteViewModel.cs",
    "chars": 1142,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/NotesViewModel.cs",
    "chars": 4496,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/PlayerViewModel.cs",
    "chars": 3506,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/ViewModels/SettingsViewModel.cs",
    "chars": 5202,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/Downloads.xaml",
    "chars": 8744,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/Downloads.xaml.cs",
    "chars": 7422,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/EpisodeDetails.xaml",
    "chars": 6294,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/EpisodeDetails.xaml.cs",
    "chars": 3766,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/Favorites.xaml",
    "chars": 12632,
    "preview": "    <!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights r"
  },
  {
    "path": "src/BuildCast/Views/Favorites.xaml.cs",
    "chars": 8108,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/FeedDetails.xaml",
    "chars": 13222,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/FeedDetails.xaml.cs",
    "chars": 11306,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/Home.xaml",
    "chars": 8122,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/Home.xaml.cs",
    "chars": 6374,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/InkNote.xaml",
    "chars": 3688,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/InkNote.xaml.cs",
    "chars": 17433,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/NavigationRoot.xaml",
    "chars": 4045,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/NavigationRoot.xaml.cs",
    "chars": 6859,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/NoteDataTemplateSelector.cs",
    "chars": 1292,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/Notes.xaml",
    "chars": 7644,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/Notes.xaml.cs",
    "chars": 5805,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/Player.xaml",
    "chars": 9381,
    "preview": "<!--\n    // ******************************************************************\n    // Copyright (c) Microsoft. All righ"
  },
  {
    "path": "src/BuildCast/Views/Player.xaml.cs",
    "chars": 15845,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/PopupPlayer.xaml",
    "chars": 1617,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/PopupPlayer.xaml.cs",
    "chars": 1970,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast/Views/SettingsPage.xaml",
    "chars": 7423,
    "preview": "<!--\n// ******************************************************************\n// Copyright (c) Microsoft. All rights reser"
  },
  {
    "path": "src/BuildCast/Views/SettingsPage.xaml.cs",
    "chars": 1211,
    "preview": "// ******************************************************************\n// Copyright (c) Microsoft. All rights reserved.\n"
  },
  {
    "path": "src/BuildCast.sln",
    "chars": 2063,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.26430.15\nMin"
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the microsoft/BuildCast GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 109 files (1.6 MB), approximately 484.3k tokens, and a symbol index with 716 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!