master ba583a14e5a5 cached
85 files
289.3 KB
85.7k tokens
153 symbols
1 requests
Download .txt
Showing preview only (315K chars total). Download the full file or copy to clipboard to get everything.
Repository: 1iveowl/Plugin.SegmentedControl
Branch: master
Commit: ba583a14e5a5
Files: 85
Total size: 289.3 KB

Directory structure:
gitextract_o606_dz2/

├── .github/
│   └── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
└── src/
    ├── build/
    │   ├── Plugin.SegmentedControl.Netstandard.nuspec
    │   ├── build.ps1
    │   ├── publish.ps1
    │   └── publishLocal.ps1
    ├── crossplatform/
    │   ├── SegCtrl.Droid/
    │   │   ├── Properties/
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Resources/
    │   │   │   ├── AboutResources.txt
    │   │   │   ├── color/
    │   │   │   │   └── segmented_control_text.xml
    │   │   │   ├── drawable/
    │   │   │   │   ├── segmented_control_background.xml
    │   │   │   │   ├── segmented_control_first_background.xml
    │   │   │   │   └── segmented_control_last_background.xml
    │   │   │   ├── layout/
    │   │   │   │   ├── RadioButton.axml
    │   │   │   │   └── RadioGroup.axml
    │   │   │   └── values/
    │   │   │       └── colors.xml
    │   │   ├── SegCtrl.Droid.csproj
    │   │   └── SegmentedControlRenderer.cs
    │   ├── SegCtrl.UWP/
    │   │   ├── Properties/
    │   │   │   ├── AssemblyInfo.cs
    │   │   │   └── Plugin.Segmented.Control.UWP.rd.xml
    │   │   ├── SegCtrl.UWP.csproj
    │   │   ├── SegmentRadioButton.cs
    │   │   ├── SegmentedControlRenderer.cs
    │   │   ├── SegmentedRadioButtonStyle.xaml
    │   │   ├── SegmentedUserControl.xaml
    │   │   └── SegmentedUserControl.xaml.cs
    │   ├── SegCtrl.iOS/
    │   │   ├── Properties/
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── SegCtrl.iOS.csproj
    │   │   └── SegmentedControlRenderer.cs
    │   └── SegCtrl.macOS/
    │       ├── Properties/
    │       │   └── AssemblyInfo.cs
    │       ├── SegCtrl.macOS.csproj
    │       └── SegmentedControlRenderer.cs
    ├── main/
    │   ├── SegCtlr.Netstandard/
    │   │   ├── Control/
    │   │   │   ├── SegmentedControl.cs
    │   │   │   └── SegmentedControlOption.cs
    │   │   ├── Event/
    │   │   │   ├── ElementChildrenChanging.cs
    │   │   │   └── SegmentSelectEvent.cs
    │   │   ├── PreserveAttribute.cs
    │   │   └── SegCtlr.Netstandard.csproj
    │   └── SegCtlr.Netstandard.sln
    └── test/
        ├── Test.SegCtrl.Android/
        │   ├── Assets/
        │   │   └── AboutAssets.txt
        │   ├── MainActivity.cs
        │   ├── Properties/
        │   │   ├── AndroidManifest.xml
        │   │   └── AssemblyInfo.cs
        │   ├── Resources/
        │   │   ├── AboutResources.txt
        │   │   ├── font/
        │   │   │   └── comicsaaaans.xml
        │   │   ├── layout/
        │   │   │   ├── Tabbar.axml
        │   │   │   └── Toolbar.axml
        │   │   └── values/
        │   │       └── styles.xml
        │   ├── Test.SegCtrl.Android.csproj
        │   └── Test.SegCtrl.Android.csproj.bak
        ├── Test.SegCtrl.UWP/
        │   ├── App.xaml
        │   ├── App.xaml.cs
        │   ├── MainPage.xaml
        │   ├── MainPage.xaml.cs
        │   ├── Package.appxmanifest
        │   ├── Properties/
        │   │   ├── AssemblyInfo.cs
        │   │   └── Default.rd.xml
        │   └── Test.SegCtlr.UWP.csproj
        ├── Test.SegCtrl.iOS/
        │   ├── AppDelegate.cs
        │   ├── Entitlements.plist
        │   ├── Info.plist
        │   ├── Main.cs
        │   ├── Properties/
        │   │   └── AssemblyInfo.cs
        │   ├── Resources/
        │   │   └── LaunchScreen.storyboard
        │   ├── Test.SegCtlr.iOS.csproj
        │   ├── iTunesArtwork
        │   └── iTunesArtwork@2x
        ├── Test.SegCtrl.macOS/
        │   ├── AppDelegate.cs
        │   ├── Assets.xcassets/
        │   │   ├── AppIcon.appiconset/
        │   │   │   └── Contents.json
        │   │   └── Contents.json
        │   ├── Entitlements.plist
        │   ├── Info.plist
        │   ├── Main.cs
        │   └── Test.SegCtrl.macOS.csproj
        └── Test.SegCtrl.netstandard/
            ├── App.xaml
            ├── App.xaml.cs
            ├── MainPage.xaml
            ├── MainPage.xaml.cs
            ├── MainViewModel.cs
            ├── SecondPage.xaml
            ├── SecondPage.xaml.cs
            ├── Test.SegCtrl.netstandard.csproj
            ├── ThirdPage.xaml
            └── ThirdPage.xaml.cs

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

================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://www.buymeacoffee.com/fEXda8L


================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

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

# 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

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json

*_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

# Visual Studio code coverage results
*.coverage
*.coveragexml

# 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 ignorable 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
*.jfm
*.pfx
*.publishsettings
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
*.ndf

# 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
node_modules/

# Typescript v1 declaration files
typings/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# 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

# CodeRush
.cr/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# MFractor
.mfractor/



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

Copyright (c) 2017 1iveowl

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
================================================
# Plugin Segmented Control for Xamarin Forms and .NET Standard

[![NuGet Badge](https://img.shields.io/nuget/v/Plugin.SegmentedControl.Netstandard)](https://www.nuget.org/packages/Plugin.SegmentedControl.Netstandard/)

*Please star this project if you find it useful. Thank you!*

## Update - Version 5.2+
Version 5.2 and forward migrated to AndroidX for Android.

## Update - Version 5.4.5+ (PR: #101)
ItemsSource is now of type IEnumerable instead of IList<string>.
It can contain full objects.
When it contains a list of full objects, the text displayed in each segment is read from a property on each object. Define this property using `TextPropertyName`.

`TextPropertyName`: string, the name of a property in an `ItemsSource[i]` object.
If `TextPropertyName` is set, the displayed text is read from this property on each source object.
If `TextPropertyName` is not set, ItemsSource must be a list of strings.

New property: `SelectedItem`
`SelectedItem = Items[SelectedSegment]`
`SelectedItem` contains the current selected object from `ItemsSource`.

### Fix:
Remove the extra padding below the control on Android, caused by the wrong usage of match_parent.

## Why this library?
There are other Segmented Control libraries out there. This library adds two important capabilities:
- It works across all four key platforms—iOS, Android, macOS, and UWP—whereas other libraries I've encountered lack UWP and/or macOS support.
- It's based on .NET Standard 2.0.

Furthermore, this library has more flexibility and features than any other library I'm aware of.

Enjoy! Please star this project if you find it useful, and provide feedback if you encounter issues or shortcomings.

## Supported platforms
|Platform|Supported|Version|Renderer|
| ------------------- | :-----------: | :-----------: | :------------------: |
|Xamarin.iOS Unified|Yes|iOS 8.1+|UISegmentedControl|
|Xamarin.Android|Yes|API 21+|RadioGroup|
|Xamarin.UWP|Yes|Win10 16299+|User Control/RadioButton|
|Xamarin.MacOS|Partial|10.0+|NSSegmentedControl|

## Features

- Bindable Tint color
- Bindable Select color
- Bindable Text color
- Bindable Disabled color
- Bindable Font size
- Bindable Font Family
- Bindable Item Text
- Bindable Selected Item
- Bindable ICommand
- Bindable IsEnabled Item
- Bindable ItemsSource
- Bindable Border color (Android & iOS only)
- Bindable Border width (Android & iOS only)

For more details please see below or for even more details see: [Test/Demo App](https://github.com/1iveowl/Plugin.SegmentedControl/tree/master/src/test/Test.SegCtrl.netstandard)

## How to use
Using this plugin is easy. 

### iOS
Add initializer to `AppDelegate`

```csharp
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    global::Xamarin.Forms.Forms.Init();

    Plugin.Segmented.Control.iOS.SegmentedControlRenderer.Initialize();
    ...
}
```

### UWP

You need to add the assembly to App.xaml.cs in your project. For more details, see the Xamarin documentation [here](https://developer.xamarin.com/guides/xamarin-forms/platform-features/windows/installation/universal/#Troubleshooting).

```csharp
var assembliesToInclude = new List<Assembly> {typeof(Plugin.Segmented.Control.UWP.SegmentedControlRenderer).GetTypeInfo().Assembly};

Xamarin.Forms.Forms.Init(e, assembliesToInclude);
```

### Android
No special requirements.

For custom fonts on Android, see this blog post: [https://blog.verslu.is/xamarin/xamarin-forms-xamarin/custom-fonts-with-xamarin-forms-revisited/](https://blog.verslu.is/xamarin/xamarin-forms-xamarin/custom-fonts-with-xamarin-forms-revisited/)

#### .NET Standard
The Xamarin Forms project must use .NET Standard. I suggest using .NET Standard 2.0+.

Here is a great blog post about how to move your PCL to .NET Standard: [Building Xamarin.Forms Apps with .NET Standard](https://blog.xamarin.com/building-xamarin-forms-apps-net-standard/)

#### XAML
![Plugin Segmented Control Picture](https://github.com/1iveowl/Plugin.SegmentedControl/blob/master/src/asset/SegmentedRadioButtonControl-1.png "Plugin Segmented Control")


```xml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:Test.SegmentedControl"
             xmlns:control="clr-namespace:Plugin.Segmented.Control;assembly=Plugin.Segmented"
             x:Class="Test.SegmentedControl.MainPage">

    <ContentPage.Resources>
        <OnPlatform x:Key="PlatformFontName" x:TypeArguments="x:String">
            <On Platform="UWP" Value="Courier New"></On>
            <On Platform="Android" Value="Serif"></On>
            <On Platform="iOS" Value="Helvetica"></On>
            <On Platform="macOS" Value="Baskerville"></On>
        </OnPlatform>
    </ContentPage.Resources>
    
    <ContentPage.Content>
        <StackLayout BackgroundColor="White" x:Name="SegmentWithStack">
            <Label 
                Text="Welcome to Xamarin.Forms!"
                HorizontalOptions="CenterAndExpand" />
            <control:SegmentedControl 
                x:Name="SegmentedControl" 
                SelectedSegment="{Binding SelectedSegment, Mode=TwoWay}"
                TintColor="BlueViolet"
                SelectedTextColor="White"
                DisabledColor="Gray"
                BorderColor="Black"
                BorderWidth="2.0"
                FontSize="Small"
                FontFamily="{StaticResource PlatformFontName}"
                Margin="8,8,8,8"
                SegmentSelectedCommand="{Binding SegmentChangedCommand}"
                OnElementChildrenChanging="OnElementChildrenChanging"
                ItemsSource="{Binding SegmentStringSource}">
                <!--<control:SegmentedControl.Children>
                    <control:SegmentedControlOption Text="{Binding ChangeText}"/>
                    <control:SegmentedControlOption Text="Item 2"/>
                    <control:SegmentedControlOption Text="Item 3"/>
                    <control:SegmentedControlOption Text="Item 4"/>
                </control:SegmentedControl.Children>-->
            </control:SegmentedControl>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

```
You can bind to the SegmentSelectedCommand for notification in your view model when a segment change has occurred.
```xml
<control:SegmentedControl
    SegmentSelectedCommand="{Binding SegmentChangedCommand}"
</control:SegmentedControl>   
```

## Credits
For inspiration and for the Android and iOS part I'd like to thank Alex Rainman for his great work on [SegmentedControl.FormsPlugin](https://www.nuget.org/packages/SegmentedControl.FormsPlugin/).

Thank you to [rjantz3](https://github.com/rjantz3) for adding much requested features and enhancements.
Thank you to [Thomas Kälin](https://github.com/thomaskaelin) for critical Android and iOS fixes and improvements.


================================================
FILE: src/build/Plugin.SegmentedControl.Netstandard.nuspec
================================================
<?xml version="1.0"?>
<package>
  <metadata>
    <id>Plugin.SegmentedControl.Netstandard</id>
    <version>0</version>
    <title>Segmented Control for Xamarin Forms (.Net Standard)</title>
    <authors>1iveowl Development</authors>
    <owners>Jasper H. Bojsen</owners>
    <license type="expression">MIT</license>
    <icon>images\1iveowl-logo.png</icon>
    <projectUrl>https://github.com/1iveowl/Plugin.SegmentedControl</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>
Segmented control for Xamarin Forms for iOS, Android, UWP. Mac OS also supported albeit currently with fewer features.</description>
    <releaseNotes>
[All] Min Width bug fixes
[All] New TextPropertyName object for ItemSource
[All] ItemSource is not IEnumerable (was IList)
[Android, UWP] SegmentedControlOption.IsEnabled fixed.
[UWP, Android] Lower the required SDK: UWP supports UWP 16299+; Android supports 21+
[UWP] Fixed TextColor not initially set bug.
[Android] Moved to AndroidX
[Android] Fixes
[iOS and Android only] Added BorderColor and BorderWidth
[All] Moved back to .NET Standard 2.0
[UWP] Re-enabled UWP
[All] TextColor added - i.e. Unselected text color.
[Android] Custom font fixed.
[iOS] iOS 13+ tint color issue fixed.
[All] Allow selected segment to be changed from view model binding.
[All] User interaction with Commands.
[All] Implement the IsEnabled property on individual segments.
[All] ICommand.
[All] Font size.
[All] Font Family.
[All] Fixes and improvements.
[iOS] IsEnabled binding bug fixed.
    </releaseNotes>
    <copyright>Copyright 2022</copyright>
    <tags>xamarin xamarin.forms segmentedControl netstandard iOS UWP Android macOS</tags>
    <dependencies>

      <group targetFramework="MonoAndroid10">
        <dependency id="Xamarin.AndroidX.Core" version="1.6.0.3" />
        <dependency id="Xamarin.AndroidX.AppCompat" version="1.3.1.3" />
        <dependency id="Xamarin.AndroidX.Arch.Core.Common" version="2.1.0.11" />
        <dependency id="Xamarin.AndroidX.Lifecycle.Common" version="2.3.1.3" />
        <dependency id="Xamarin.AndroidX.Lifecycle.Runtime" version="2.3.1.4" />
        <dependency id="Xamarin.AndroidX.VectorDrawable.Animated" version="1.1.0.10" />
        <dependency id="Xamarin.AndroidX.Annotation" version="1.2.0.4" />
        <dependency id="Xamarin.AndroidX.Legacy.Support.Core.UI" version="1.0.0.11" />
        <dependency id="Xamarin.AndroidX.Legacy.Support.Core.Utils" version="1.0.0.10" />
        <dependency id="Xamarin.Google.Android.Material" version="1.4.0.4" />
        <dependency id="Xamarin.AndroidX.Fragment" version="1.3.6.3" />
        <dependency id="Xamarin.AndroidX.Media" version="1.4.3" />
        <dependency id="Xamarin.AndroidX.Transition" version="1.4.1.3" />
        <dependency id="Xamarin.AndroidX.Legacy.Support.V4" version="1.0.0.10" />
        <dependency id="Xamarin.AndroidX.CardView" version="1.0.0.11" />
        <dependency id="Xamarin.AndroidX.MediaRouter" version="1.2.5.2" />
        <dependency id="Xamarin.AndroidX.Palette" version="1.0.0.10" />
        <dependency id="Xamarin.AndroidX.RecyclerView" version="1.2.1.3" />
        <dependency id="Xamarin.AndroidX.VectorDrawable" version="1.1.0.10" />
        <dependency id="Xamarin.AndroidX.Migration" version="1.0.8" />
        <dependency id="Xamarin.AndroidX.Browser" version="1.2.0.2" />
        <dependency id="Xamarin.AndroidX.Lifecycle.LiveData" version="2.2.0.2" />
        <dependency id="Xamarin.Forms" version="5.0.0.2291" />
      </group>

      <group targetFramework="Xamarin.Mac20">
        <dependency id="Xamarin.Forms" version="5.0.0.2291" />
      </group>

      <group targetFramework="Xamarin.iOS10">
        <dependency id="Xamarin.Forms" version="5.0.0.2291" />
      </group>

      <group targetFramework="uap10.0">
        <dependency id="Xamarin.Forms" version="5.0.0.2291" />
        <dependency id="Microsoft.NETCore.UniversalWindowsPlatform" version="6.2.13" />
      </group>

      <group targetFramework="netstandard2.0">
        <dependency id="Xamarin.Forms" version="5.0.0.2291" />

      </group>

    </dependencies>
  </metadata>
  <files>

    <file src="1iveowl-logo.png" target="images\" />

    <!--.NET Standard 2.1--> 
    <file src="..\main\SegCtlr.Netstandard\bin\Release\netstandard2.0\Plugin.Segmented.*" target="lib\netstandard2.0"/>
    
    <!--Xamarin.Android-->
    <file src="..\crossplatform\SegCtrl.Droid\bin\Release\Plugin.Segmented.*" target="lib\MonoAndroid10"/>

    <!--Xamarin.iOS Unified-->
    <file src="..\crossplatform\SegCtrl.iOS\bin\Release\Plugin.Segmented.*" target="lib\Xamarin.iOS10"/>

     <!--Xamarin.macOS Unified-->
    <file src="..\crossplatform\SegCtrl.macOS\bin\Release\Plugin.Segmented.*" target="lib\Xamarin.Mac20"/>

    <!--UWP-->
    <file src="..\crossplatform\SegCtrl.UWP\bin\Release\*.*" target="lib\uap10.0\" exclude="*.pdb"/>
    <file src="..\crossplatform\SegCtrl.UWP\bin\Release\Plugin.Segmented.Control.UWP\Plugin.Segmented.Control.UWP.xr.xml" target="lib\uap10.0\Plugin.Segmented.Control.UWP\Plugin.Segmented.Control.UWP.xr.xml"/>
    
  </files>
</package>

================================================
FILE: src/build/build.ps1
================================================
param([string]$version)

if ([string]::IsNullOrEmpty($version)) {$version = "0.0.1"}

if ($IsMacOS) {
    $msbuild = "msbuild"
} else {
    $vswhere = 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe'
    $msbuild = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath
    $msbuild = join-path $msbuild 'MSBuild\Current\Bin\MSBuild.exe'
}

&$msbuild ..\main\SegCtlr.Netstandard\SegCtlr.Netstandard.csproj /t:Build /p:Configuration="Release"
&$msbuild ..\crossplatform\SegCtrl.Droid\SegCtrl.Droid.csproj /t:Build /p:Configuration="Release"
&$msbuild ..\crossplatform\SegCtrl.UWP\SegCtrl.UWP.csproj /t:Build /p:Configuration="Release"
&$msbuild ..\crossplatform\SegCtrl.iOS\SegCtrl.iOS.csproj /t:Build /p:Configuration="Release"
&$msbuild ..\crossplatform\SegCtrl.macOS\SegCtrl.macOS.csproj /t:Build /p:Configuration="Release"

Remove-Item .\NuGet -Force -Recurse
New-Item -ItemType Directory -Force -Path .\NuGet
NuGet.exe pack Plugin.SegmentedControl.Netstandard.nuspec -Verbosity detailed -Symbols -OutputDir "NuGet" -Version $version
#NuGet.exe pack Plugin.SegmentedControl.Netstandard.nuspec -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -OutputDir "NuGet" -Version $version

================================================
FILE: src/build/publish.ps1
================================================
param([string]$betaver)

if ([string]::IsNullOrEmpty($betaver)) {
	$version = [Reflection.AssemblyName]::GetAssemblyName((resolve-path '..\main\SegCtlr.Netstandard\bin\Release\netstandard2.0\Plugin.Segmented.dll')).Version.ToString(3)
	}
else {
		$version = [Reflection.AssemblyName]::GetAssemblyName((resolve-path '..\main\SegCtlr.Netstandard\bin\Release\netstandard2.0\Plugin.Segmented.dll')).Version.ToString(3) + "-" + $betaver
}

.\build.ps1 $version

Nuget.exe push ".\NuGet\Plugin.SegmentedControl.Netstandard.$version.symbols.nupkg" -Source https://api.nuget.org/v3/index.json

================================================
FILE: src/build/publishLocal.ps1
================================================
param([string]$betaver)

if ([string]::IsNullOrEmpty($betaver)) {
	$version = [Reflection.AssemblyName]::GetAssemblyName((resolve-path '..\main\SegCtlr.Netstandard\bin\Release\netstandard2.0\Plugin.Segmented.dll')).Version.ToString(3)
	}
else {
		$version = [Reflection.AssemblyName]::GetAssemblyName((resolve-path '..\main\SegCtlr.Netstandard\bin\Release\netstandard2.0\Plugin.Segmented.dll')).Version.ToString(3) + "-" + $betaver
}

.\build.ps1 $version

nuget.exe push -Source "1iveowlNuGetRepo" -ApiKey key ".\NuGet\Plugin.SegmentedControl.Netstandard.$version.symbols.snupkg"


================================================
FILE: src/crossplatform/SegCtrl.Droid/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Android.App;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Plugin.Segmented.Control.Droid")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Plugin.Segmented.Control.Droid")]
[assembly: AssemblyCopyright("Copyright ©  2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]


================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/AboutResources.txt
================================================
Images, layout descriptions, binary blobs and string dictionaries can be included 
in your application as resource files.  Various Android APIs are designed to 
operate on the resource IDs instead of dealing with images, strings or binary blobs 
directly.

For example, a sample Android app that contains a user interface layout (main.axml),
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
would keep its resources in the "Resources" directory of the application:

Resources/
    drawable/
        icon.png

    layout/
        main.axml

    values/
        strings.xml

In order to get the build system to recognize Android resources, set the build action to
"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
instead operate on resource IDs.  When you compile an Android application that uses resources, 
the build system will package the resources for distribution and generate a class called "R" 
(this is an Android convention) that contains the tokens for each one of the resources 
included. For example, for the above Resources layout, this is what the R class would expose:

public class R {
    public class drawable {
        public const int icon = 0x123;
    }

    public class layout {
        public const int main = 0x456;
    }

    public class strings {
        public const int first_string = 0xabc;
        public const int second_string = 0xbcd;
    }
}

You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 
to reference the layout/main.axml file, or R.strings.first_string to reference the first 
string in the dictionary file values/strings.xml.

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/color/segmented_control_text.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/normal"/>
    <item android:color="@color/selected" />
</selector>	

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:state_checked="true">
	    <inset android:insetRight="-1dp">
			<shape android:id="@+id/shape_id" xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
				<solid android:color="@color/selected" />
				<stroke android:width="1dp" android:color="@color/selected" />
			</shape>
		</inset>
	</item>
	<item android:state_checked="false">
	    <inset android:insetRight="-1dp">
			<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
				<solid android:color="@color/normal" />
				<stroke android:width="1dp" android:color="@color/selected" />
			</shape>
		</inset>
	</item>
</selector>

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_first_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:state_checked="true">
		<inset android:insetRight="-1dp">
			<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
				<solid android:color="@color/selected" />
				<stroke android:width="1dp" android:color="@color/selected" />
				<corners android:topLeftRadius="2sp" android:bottomLeftRadius="2sp" />
			</shape>
		</inset>
	</item>
	<item android:state_checked="false">
		<inset android:insetRight="-1dp">
			<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
				<solid android:color="@color/normal" />
				<stroke android:width="1dp" android:color="@color/selected" />
				<corners android:topLeftRadius="2sp" android:bottomLeftRadius="2sp" />
			</shape>
		</inset>
	</item>
</selector>

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_last_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:state_checked="true">
		<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
			<solid android:color="@color/selected" />
			<stroke android:width="1dp" android:color="@color/selected" />
			<corners android:topRightRadius="2sp" android:bottomRightRadius="2sp" />
		</shape>
	</item>
	<item android:state_checked="false">
		<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
			<solid android:color="@color/normal" />
			<stroke android:width="1dp" android:color="@color/selected" />
			<corners android:topRightRadius="2sp" android:bottomRightRadius="2sp" />
		</shape>
	</item>
</selector>

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/layout/RadioButton.axml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
    android:button="@null"
    android:gravity="center"
    android:background="@drawable/segmented_control_background"
    android:textColor="@color/segmented_control_text"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:minHeight="30dp"
    android:textSize="12sp" />

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/layout/RadioGroup.axml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:id="@+id/SegControl" />

================================================
FILE: src/crossplatform/SegCtrl.Droid/Resources/values/colors.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="normal">@android:color/transparent</color>
    <color name="selected">#007AFF</color>
</resources>

================================================
FILE: src/crossplatform/SegCtrl.Droid/SegCtrl.Droid.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{615565C8-84DE-4B6B-80DD-106695429AD8}</ProjectGuid>
    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Plugin.Segmented.Control.Droid</RootNamespace>
    <AssemblyName>Plugin.Segmented.Control.Droid</AssemblyName>
    <FileAlignment>512</FileAlignment>
    <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
    <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
    <AndroidResgenClass>Resource</AndroidResgenClass>
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
    <TargetFrameworkVersion>v11.0</TargetFrameworkVersion>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <DocumentationFile>
    </DocumentationFile>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|AnyCPU'">
    <OutputPath>bin\DebugNAtive\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="Mono.Android" />
    <Reference Include="mscorlib" />
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Resources\Resource.Designer.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="SegmentedControlRenderer.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Resources\AboutResources.txt" />
    <AndroidResource Include="Resources\layout\RadioButton.axml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <SubType>Designer</SubType>
    </AndroidResource>
    <AndroidResource Include="Resources\layout\RadioGroup.axml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\main\SegCtlr.Netstandard\SegCtlr.Netstandard.csproj">
      <Project>{aba23bab-084a-443e-b9cc-37b0a826377e}</Project>
      <Name>SegCtlr.Netstandard</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\color\segmented_control_text.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\drawable\segmented_control_background.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\drawable\segmented_control_first_background.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\drawable\segmented_control_last_background.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <SubType>Designer</SubType>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\values\colors.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.SourceLink.GitHub">
      <Version>1.1.1</Version>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Arch.Core.Common">
      <Version>2.1.0.11</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Lifecycle.Common">
      <Version>2.3.1.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Lifecycle.Runtime">
      <Version>2.3.1.4</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.VectorDrawable.Animated">
      <Version>1.1.0.10</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Annotation">
      <Version>1.2.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Core">
      <Version>1.6.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.UI">
      <Version>1.0.0.11</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.Utils">
      <Version>1.0.0.10</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Google.Android.Material">
      <Version>1.4.0.4</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Fragment">
      <Version>1.3.6.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Media">
      <Version>1.4.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Transition">
      <Version>1.4.1.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4">
      <Version>1.0.0.10</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.AppCompat">
      <Version>1.3.1.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.CardView">
      <Version>1.0.0.11</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.MediaRouter">
      <Version>1.2.5.2</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Palette">
      <Version>1.0.0.10</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.RecyclerView">
      <Version>1.2.1.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.VectorDrawable">
      <Version>1.1.0.10</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms">
      <Version>5.0.0.2291</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.AndroidX.Migration" Version="1.0.8" />
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
  <!-- <Import Project="..\..\main\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Core.UI.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Core.UI.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Core.UI.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Core.UI.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Core.Utils.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Core.Utils.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Core.Utils.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Core.Utils.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Fragment.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Fragment.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Fragment.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Fragment.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Media.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Media.Compat.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Media.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Media.Compat.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Transition.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Transition.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Transition.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Transition.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v4.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v4.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v4.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v4.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v7.CardView.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.CardView.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v7.CardView.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.CardView.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v7.Palette.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.Palette.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v7.Palette.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.Palette.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v7.RecyclerView.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.RecyclerView.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v7.RecyclerView.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.RecyclerView.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Vector.Drawable.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Vector.Drawable.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Vector.Drawable.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Animated.Vector.Drawable.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Animated.Vector.Drawable.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Animated.Vector.Drawable.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Animated.Vector.Drawable.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v7.AppCompat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.AppCompat.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v7.AppCompat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.AppCompat.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.Design.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Design.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.Design.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Design.targets')" />
  <Import Project="..\..\main\packages\Xamarin.Android.Support.v7.MediaRouter.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.MediaRouter.targets" Condition="Exists('..\..\main\packages\Xamarin.Android.Support.v7.MediaRouter.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.v7.MediaRouter.targets')" /> -->
</Project>

================================================
FILE: src/crossplatform/SegCtrl.Droid/SegmentedControlRenderer.cs
================================================
using System;
using System.Linq;
using Android.Content;
using Android.Graphics;
using Android.Graphics.Drawables;
using Android.Views;
using Android.Widget;
using Plugin.Segmented.Control;
using Plugin.Segmented.Control.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using RadioButton = Android.Widget.RadioButton;

[assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegmentedControlRenderer))]

namespace Plugin.Segmented.Control.Droid
{
    [Preserve(AllMembers = true)]
    public class SegmentedControlRenderer : ViewRenderer<SegmentedControl, RadioGroup>
    {
        private RadioGroup _nativeControl;
        private RadioButton _nativeRadioButtonControl;
        private Android.Graphics.Color _unselectedItemBackgroundColor = Android.Graphics.Color.Transparent;

        private readonly Context _context;

        public SegmentedControlRenderer(Context context) : base(context)
        {
            _context = context;
        }

        protected override void OnElementChanged(ElementChangedEventArgs<SegmentedControl> e)
        {
            base.OnElementChanged(e);

            if (Control is null)
            {
                // Instantiate the native control and assign it to the Control property with
                // the SetNativeControl method
            }

            if (!(e.OldElement is null))
            {
                // Unsubscribe from event handlers and cleanup any resources

                if (_nativeControl != null)
                {
                    _nativeControl.CheckedChange -= NativeControl_ValueChanged;
                }

                RemoveElementHandlers();
            }

            if (!(e.NewElement is null))
            {
                // Configure the control and subscribe to event handlers
                AddElementHandlers();
            }
        }

        private void AddElementHandlers(bool addChildrenHandlersOnly = false)
        {
            if (!(Element is null))
            {
                if (!addChildrenHandlersOnly)
                {
                    Element.SizeChanged += Element_SizeChanged;
                    Element.OnElementChildrenChanging += OnElementChildrenChanging;
                }

                if (!(Element.Children is null))
                {
                    foreach (var child in Element.Children)
                    {
                        child.PropertyChanged += Segment_PropertyChanged;
                    }
                }
            }
        }


        private void RemoveElementHandlers(bool removeChildrenHandlersOnly = false)
        {
            if (!(Element is null))
            {
                if (!removeChildrenHandlersOnly)
                {
                    Element.SizeChanged -= Element_SizeChanged;
                    Element.OnElementChildrenChanging -= OnElementChildrenChanging;
                }

                if (!(Element.Children is null))
                {
                    foreach (var child in Element.Children)
                    {
                        child.PropertyChanged -= Segment_PropertyChanged;
                    }
                }
            }
        }

        private void Element_SizeChanged(object sender, EventArgs e)
        {
            if (Control is null && !(Element is null))
            {
                var layoutInflater = LayoutInflater.From(_context);

                _nativeControl = (RadioGroup)layoutInflater.Inflate(Resource.Layout.RadioGroup, null);

                SetNativeControlSegments(layoutInflater);

                var option = (RadioButton)_nativeControl.GetChildAt(Element.SelectedSegment);

                if (!(option is null))
                {
                    option.Checked = true;
                }

                _nativeControl.CheckedChange += NativeControl_ValueChanged;

                SetNativeControl(_nativeControl);
            }
        }

        private void Segment_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (!(_nativeControl is null) && !(Element is null) && sender is SegmentedControlOption option)
            {
                var index = Element.Children.IndexOf(option);

                if (_nativeControl.GetChildAt(index) is RadioButton segment)
                {
                    switch (e.PropertyName)
                    {
                        case nameof(SegmentedControlOption.Text):
                            segment.Text = option.Text;
                            break;

                        case nameof(SegmentedControlOption.IsEnabled):
                            segment.Enabled = option.IsEnabled;
                            break;
                    }
                }
            }
        }


        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            switch (e.PropertyName)
            {
                case "Renderer":
                    Element_SizeChanged(null, null);
                    Element?.RaiseSelectionChanged();
                    break;

                case nameof(SegmentedControl.SelectedSegment):
                    if (!(_nativeControl is null) && !(Element is null))
                    {
                        if (Element.SelectedSegment < 0)
                        {
                            var layoutInflater = LayoutInflater.From(_context);

                            _nativeControl = (RadioGroup)layoutInflater.Inflate(Resource.Layout.RadioGroup, null);

                            SetNativeControlSegments(layoutInflater);

                            _nativeControl.CheckedChange += NativeControl_ValueChanged;

                            SetNativeControl(_nativeControl);
                        }

                        SetSelectedRadioButton(Element.SelectedSegment);

                        Element.RaiseSelectionChanged();
                    }
                    break;

                case nameof(SegmentedControl.TintColor):
                case nameof(SegmentedControl.IsEnabled):
                case nameof(SegmentedControl.FontSize):
                case nameof(SegmentedControl.FontFamily):
                case nameof(SegmentedControl.TextColor):
                case nameof(SegmentedControl.BorderColor):
                case nameof(SegmentedControl.BorderWidth):
                    OnPropertyChanged();
                    break;

                case nameof(SegmentedControl.SelectedTextColor):
                    if (!(_nativeControl is null) && !(Element is null))
                    {
                        var v = (RadioButton)_nativeControl.GetChildAt(Element.SelectedSegment);

                        v.SetTextColor(Element.SelectedTextColor.ToAndroid());
                    }
                    break;

                case nameof(SegmentedControl.Children):
                    SetNativeControlSegments(LayoutInflater.FromContext(_context));

                    AddElementHandlers(true);
                    break;
            }
        }

        private void SetNativeControlSegments(LayoutInflater layoutInflater)
        {
            if (_nativeControl is null || Element?.Children is null)
            {
                return;
            }

            if (_nativeControl.ChildCount > 0)
            {
                _nativeControl.RemoveAllViews();
            }

            foreach (var (child, i) in Element?.Children.Select((child, i) => (child, i)))
            {
                var radioButton = (RadioButton)layoutInflater.Inflate(Resource.Layout.RadioButton, null);

                if (radioButton is null)
                {
                    return;
                }

                if (child.WidthRequest > 0)
                    radioButton.LayoutParameters = new RadioGroup.LayoutParams(
                        Convert.ToInt32(Math.Round(child.WidthRequest)), 
                        LayoutParams.WrapContent, 0);
                else
                    radioButton.LayoutParameters = new RadioGroup.LayoutParams(0, LayoutParams.WrapContent, 1f);

                radioButton.Text = child.Text;

                if (i == 0)
                {
                    radioButton.SetBackgroundResource(Resource.Drawable.segmented_control_first_background);
                }
                else
                {
                    radioButton.SetBackgroundResource(Resource.Drawable.segmented_control_last_background);
                }

                ConfigureRadioButton(i, radioButton);
                _nativeControl.AddView(radioButton);
            }

            SetSelectedRadioButton(Element.SelectedSegment);
        }

        private void SetSelectedRadioButton(int index)
        {
            if (_nativeControl.GetChildAt(index) is RadioButton radioButton)
            {
                radioButton.Checked = true;
            }
        }


        private void OnPropertyChanged()
        {
            if (_nativeControl is null || Element is null)
            {
                return;
            }

            for (var i = 0; i < Element.Children.Count; i++)
            {
                var radioButton = (RadioButton)_nativeControl.GetChildAt(i);

                ConfigureRadioButton(i, radioButton);
            }
        }

        private void ConfigureRadioButton(int index, RadioButton radioButton)
        {
            if (index == Element.SelectedSegment)
            {
                radioButton.SetTextColor(Element.SelectedTextColor.ToAndroid());

                _nativeRadioButtonControl = radioButton;
            }
            else
            {
                var textColor = Element.IsEnabled 
                    ? Element.TextColor.ToAndroid() 
                    : Element.DisabledColor.ToAndroid();

                radioButton.SetTextColor(textColor);
            }

            radioButton.TextSize = Convert.ToSingle(Element.FontSize);

            var font = Font.OfSize(Element.FontFamily, Element.FontSize).ToTypeface();

            radioButton.SetTypeface(font, TypefaceStyle.Normal);

            var gradientDrawable = (StateListDrawable)radioButton.Background;

            var drawableContainerState = (DrawableContainer.DrawableContainerState)gradientDrawable?.GetConstantState();

            var children = drawableContainerState?.GetChildren();

            if (!(children is null))
            {
                var selectedShape = children[0] is GradientDrawable drawable
                    ? drawable
                    : (GradientDrawable)((InsetDrawable)children[0]).Drawable;

                var unselectedShape = children[1] is GradientDrawable drawable1
                    ? drawable1
                    : (GradientDrawable)((InsetDrawable)children[1]).Drawable;

                var backgroundColor = Element.IsEnabled ? Element.TintColor.ToAndroid() : Element.DisabledColor.ToAndroid();

                var borderColor = Element.IsEnabled ? Element.BorderColor.ToAndroid() : Element.DisabledColor.ToAndroid();
                var borderWidthInPixel = ConvertDipToPixel(Element.BorderWidth);

                if (!(selectedShape is null))
                {
                    selectedShape.SetStroke(borderWidthInPixel, borderColor);

                    selectedShape.SetColor(backgroundColor);
                }

                if (!(unselectedShape is null))
                {

                    unselectedShape.SetStroke(borderWidthInPixel, borderColor);
                    unselectedShape.SetColor(_unselectedItemBackgroundColor);
                }
            }
            
            radioButton.Enabled = Element.Children[index].IsEnabled;
        }

        private void NativeControl_ValueChanged(object sender, RadioGroup.CheckedChangeEventArgs e)
        {
            var rg = (RadioGroup)sender;

            if (rg.CheckedRadioButtonId != -1)
            {
                var id = rg.CheckedRadioButtonId;
                var radioButton = rg.FindViewById(id);
                var radioId = rg.IndexOfChild(radioButton);
                var v = (RadioButton)rg.GetChildAt(radioId);
                var color = Element.IsEnabled ? Element.TextColor.ToAndroid() : Element.DisabledColor.ToAndroid();

                _nativeRadioButtonControl?.SetTextColor(color);

                v.SetTextColor(Element.SelectedTextColor.ToAndroid());

                _nativeRadioButtonControl = v;

                Element.SelectedSegment = radioId;
            }
        }

        private void OnElementChildrenChanging(object sender, EventArgs e)
        {
            RemoveElementHandlers(true);
        }

        private int ConvertDipToPixel(double dip)
        {
            return (int)Android.Util.TypedValue.ApplyDimension(Android.Util.ComplexUnitType.Dip, (float)dip, _context.Resources.DisplayMetrics);
        }

        public override void SetBackgroundColor(Android.Graphics.Color color)
        {
            _unselectedItemBackgroundColor = color;
            OnPropertyChanged();

            base.SetBackgroundColor(Android.Graphics.Color.Transparent);
        }

        protected override void Dispose(bool disposing)
        {
            if (!(_nativeControl is null))
            {
                _nativeControl.CheckedChange -= NativeControl_ValueChanged;
            }
                
            if (!(_nativeRadioButtonControl is null))
            {
                _nativeRadioButtonControl.Dispose();
                _nativeRadioButtonControl = null;
            }

            RemoveElementHandlers();

            try
            {
                base.Dispose(disposing);
                _nativeControl = null;
            }
            catch (Exception)
            {
                return;
            }
        }

        /// <summary>
        /// Used for registration with dependency service
        /// </summary>
        public static void Init()
        {
            var temp = DateTime.Now;
        }
    }
}

================================================
FILE: src/crossplatform/SegCtrl.UWP/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Plugin.Segmented.Control.UWP")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Plugin.Segmented.Control.UWP")]
[assembly: AssemblyCopyright("Copyright ©  2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ComVisible(false)]

================================================
FILE: src/crossplatform/SegCtrl.UWP/Properties/Plugin.Segmented.Control.UWP.rd.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file contains Runtime Directives, specifications about types your application accesses
    through reflection and other dynamic code patterns. Runtime Directives are used to control the
    .NET Native optimizer and ensure that it does not remove code accessed by your library. If your
    library does not do any reflection, then you generally do not need to edit this file. However,
    if your library reflects over types, especially types passed to it or derived from its types,
    then you should write Runtime Directives.

    The most common use of reflection in libraries is to discover information about types passed
    to the library. Runtime Directives have three ways to express requirements on types passed to
    your library.

    1.  Parameter, GenericParameter, TypeParameter, TypeEnumerableParameter
        Use these directives to reflect over types passed as a parameter.

    2.  SubTypes
        Use a SubTypes directive to reflect over types derived from another type.

    3.  AttributeImplies
        Use an AttributeImplies directive to indicate that your library needs to reflect over
        types or methods decorated with an attribute.

    For more information on writing Runtime Directives for libraries, please visit
    https://go.microsoft.com/fwlink/?LinkID=391919
-->
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Library Name="SegCtrl.UWP">

  	<!-- add directives for your library here -->

  </Library>
</Directives>


================================================
FILE: src/crossplatform/SegCtrl.UWP/SegCtrl.UWP.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Plugin.Segmented.Control.UWP</RootNamespace>
    <AssemblyName>Plugin.Segmented.Control.UWP</AssemblyName>
    <DefaultLanguage>en-US</DefaultLanguage>
    <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
    <TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.19041.0</TargetPlatformVersion>
    <TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
    <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <PlatformTarget>x86</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x86\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <NoWarn>;2008</NoWarn>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
    <PlatformTarget>x86</PlatformTarget>
    <OutputPath>bin\x86\Release\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
    <PlatformTarget>ARM</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\ARM\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <NoWarn>;2008</NoWarn>
    <DebugType>full</DebugType>
    <PlatformTarget>ARM</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
    <PlatformTarget>ARM</PlatformTarget>
    <OutputPath>bin\ARM\Release\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>ARM</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
    <PlatformTarget>x64</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x64\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <NoWarn>;2008</NoWarn>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <PlatformTarget>x64</PlatformTarget>
    <OutputPath>bin\x64\Release\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>
  <PropertyGroup>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="SegmentedUserControl.xaml.cs">
      <DependentUpon>SegmentedUserControl.xaml</DependentUpon>
    </Compile>
    <Compile Include="SegmentRadioButton.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="SegmentedControlRenderer.cs" />
    <EmbeddedResource Include="Properties\Plugin.Segmented.Control.UWP.rd.xml" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
      <Version>6.2.13</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms">
      <Version>5.0.0.2291</Version>
    </PackageReference>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\main\SegCtlr.Netstandard\SegCtlr.Netstandard.csproj">
      <Project>{aba23bab-084a-443e-b9cc-37b0a826377e}</Project>
      <Name>SegCtlr.Netstandard</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <Page Include="SegmentedUserControl.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Page Include="SegmentedRadioButtonStyle.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Page>
  </ItemGroup>
  <ItemGroup />
  <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
    <VisualStudioVersion>14.0</VisualStudioVersion>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|AnyCPU'">
    <OutputPath>bin\DebugNAtive\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoStdLib>true</NoStdLib>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|x86'">
    <OutputPath>bin\x86\DebugNAtive\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <NoStdLib>true</NoStdLib>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|ARM'">
    <OutputPath>bin\ARM\DebugNAtive\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <NoStdLib>true</NoStdLib>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>ARM</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|x64'">
    <OutputPath>bin\x64\DebugNAtive\</OutputPath>
    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
    <Optimize>true</Optimize>
    <NoWarn>;2008</NoWarn>
    <NoStdLib>true</NoStdLib>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>

================================================
FILE: src/crossplatform/SegCtrl.UWP/SegmentRadioButton.cs
================================================
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;

namespace Plugin.Segmented.Control.UWP
{
    public class SegmentRadioButton : RadioButton
    {
        public static readonly DependencyProperty SelectedTextColorProperty = DependencyProperty.Register(
            "SelectedTextColor", 
            typeof(SolidColorBrush), typeof(SegmentRadioButton), 
            new PropertyMetadata(default(SolidColorBrush), new PropertyChangedCallback(OnSelectedTextChanged)));

        public SolidColorBrush SelectedTextColor
        {
            get => (SolidColorBrush) GetValue(SelectedTextColorProperty);
            set => SetValue(SelectedTextColorProperty, value);
        }

        public static readonly DependencyProperty TextColorProperty = DependencyProperty.Register(
            "TextColor",
            typeof(SolidColorBrush),
            typeof(SegmentRadioButton),
            new PropertyMetadata(default(SolidColorBrush), new PropertyChangedCallback(OnTextColorChanged)));


        public SolidColorBrush TextColor
        {
            get => (SolidColorBrush)GetValue(TextColorProperty);
            set => SetValue(TextColorProperty, value);
        }

        public static readonly DependencyProperty TintColorProperty = DependencyProperty.Register(
            "TintColor", 
            typeof(SolidColorBrush), 
            typeof(SegmentRadioButton), new PropertyMetadata(default(SolidColorBrush), new PropertyChangedCallback(OnTintChanged)));

        public SolidColorBrush TintColor
        {
            get => (SolidColorBrush) GetValue(TintColorProperty);
            set => SetValue(TintColorProperty, value);
        }

        public static readonly DependencyProperty DisabledColorProperty = DependencyProperty.Register(
            "DisabledColor", typeof(SolidColorBrush), typeof(SegmentRadioButton), new PropertyMetadata(default(SolidColorBrush), new PropertyChangedCallback(OnDisabledColorChanged)));

        public SolidColorBrush DisabledColor
        {
            get => (SolidColorBrush) GetValue(DisabledColorProperty);
            set => SetValue(DisabledColorProperty, value);
        }


        public SegmentRadioButton()
        {
            this.IsEnabledChanged += SegmentRadioButton_IsEnabledChanged;
        }

        private void SegmentRadioButton_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (sender is SegmentRadioButton segment)
            {
                Refresh(segment);
            }
        }

        private static void OnTintChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is SegmentRadioButton segment)
            {
                segment.BorderBrush = (SolidColorBrush) e.NewValue;
                Refresh(segment);
            }
        }


        private static void OnDisabledColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is SegmentRadioButton segment)
            {
                segment.BorderBrush = (SolidColorBrush)e.NewValue;
                Refresh(segment);
            }
        }

        private static void OnSelectedTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is SegmentRadioButton segment)
            {
                segment.SelectedTextColor = (SolidColorBrush)e.NewValue;
                Refresh(segment);
            }
        }

        private static void OnTextColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {

            if (d is SegmentRadioButton segment)
            {
                segment.TextColor = (SolidColorBrush)e.NewValue;
                Refresh(segment);
            }
        }

        private static void Refresh(SegmentRadioButton segment)
        {
            // Go to "Indeterminate" State to ensure that the GotoState is refreshed even if the state is the same. 
            // Necessary because properties might have changed even when the state have not.

            VisualStateManager.GoToState(segment, "Indeterminate", false);

            if (segment.IsChecked ?? false)
            {
                VisualStateManager.GoToState(segment, segment.IsEnabled ? "Checked" : "DisabledAndChecked", false);
            }
            else
            {
                VisualStateManager.GoToState(segment, segment.IsEnabled ? "Unchecked" : "DisabledAndUnchecked", false);
            }
        }
    }
}


================================================
FILE: src/crossplatform/SegCtrl.UWP/SegmentedControlRenderer.cs
================================================
using System;
using System.ComponentModel;
using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
using Plugin.Segmented.Control;
using Plugin.Segmented.Control.UWP;
using Xamarin.Forms.Platform.UWP;

[assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegmentedControlRenderer))]
namespace Plugin.Segmented.Control.UWP
{
    [Preserve(AllMembers = true)]
    public class SegmentedControlRenderer : ViewRenderer<SegmentedControl, SegmentedUserControl>
    {
        private SegmentedUserControl _segmentedUserControl;

        private readonly ColorConverter _colorConverter = new ColorConverter();

        public SegmentedControlRenderer() {}

        protected override void OnElementChanged(ElementChangedEventArgs<SegmentedControl> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                DisposeEventHandlers();
            }

            if (_segmentedUserControl is null || e.NewElement != null)
            {
                CreateSegmentedRadioButtonControl();
            }
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName == "Renderer")
            {
                Element?.RaiseSelectionChanged();
                return;
            }

            if (_segmentedUserControl is null || Element is null) return;

            switch (e.PropertyName)
            {
                case nameof(SegmentedControl.SelectedSegment):
                    SetSelectedSegment();
                    break;

                case nameof(SegmentedControl.TintColor):
                    SetTintColor();
                    break;

                case nameof(SegmentedControl.IsEnabled):
                    SetIsEnabled();
                    break;

                case nameof(SegmentedControl.DisabledColor):
                    SetDisabledColor();
                    break;

                case nameof(SegmentedControl.TextColor):
                    SetTextColor();
                    break;

                case nameof(SegmentedControl.SelectedTextColor):
                    SetSelectedTextColor();
                    break;

                case nameof(SegmentedControl.Children):
                    SetChildren();
                    break;

                case nameof(SegmentedControl.FontSize):
                    SetFontSize();
                    break;

                case nameof(SegmentedControl.FontFamily):
                    SetFontFamily();
                    break;
            }
        }

        private void SetFontSize()
        {
            if (Element.FontSize > 0)
            {
                foreach (SegmentRadioButton segment in _segmentedUserControl.SegmentedControlGrid.Children)
                {
                    segment.FontSize = Element.FontSize;
                };
            }
        }

        private void SetFontFamily()
        {
            if (!string.IsNullOrWhiteSpace(Element.FontFamily))
            {
                foreach (SegmentRadioButton segment in _segmentedUserControl.SegmentedControlGrid.Children)
                {
                    segment.FontFamily = new FontFamily(Element.FontFamily);
                };
            }
        }

        private void SetSelectedSegment()
        {
            if (_segmentedUserControl.SegmentedControlGrid.Children
                .Where(x =>
                {
                    var btn = (RadioButton)x;

                    int.TryParse(btn.Tag.ToString(), out var i);
                    return i == Element.SelectedSegment;
                })
                .FirstOrDefault() is RadioButton checkedButton)
            {
                checkedButton.IsChecked = true;
            }

        }

        private void SetTintColor()
        {
            _segmentedUserControl.SegmentedControlGrid.BorderBrush = (SolidColorBrush)_colorConverter.Convert(Element.TintColor, null, null, "");

            foreach (var segment in _segmentedUserControl.SegmentedControlGrid.Children)
            {
                ((SegmentRadioButton)segment).TintColor = (SolidColorBrush)_colorConverter.Convert(Element.TintColor, null, null, "");
            }
        }

        private void SetIsEnabled()
        {
            if (Element.IsEnabled)
            {
                foreach (var uiElement in _segmentedUserControl.SegmentedControlGrid.Children)
                {
                    var segment = (SegmentRadioButton)uiElement;
                    segment.IsEnabled = true;
                }
                _segmentedUserControl.SegmentedControlGrid.BorderBrush = (SolidColorBrush)_colorConverter.Convert(Element.TintColor, null, null, "");
            }
            else
            {
                foreach (var uiElement in _segmentedUserControl.SegmentedControlGrid.Children)
                {
                    var segment = (SegmentRadioButton)uiElement;
                    segment.IsEnabled = false;
                }
                _segmentedUserControl.SegmentedControlGrid.BorderBrush = (SolidColorBrush)_colorConverter.Convert(Element.DisabledColor, null, null, "");
            }
        }

        private void SetDisabledColor()
        {
            foreach (var segment in _segmentedUserControl.SegmentedControlGrid.Children)
            {
                ((SegmentRadioButton)segment).DisabledColor = (SolidColorBrush)_colorConverter.Convert(Element.DisabledColor, null, null, "");
            }

            if (!Element.IsEnabled)
            {
                _segmentedUserControl.SegmentedControlGrid.BorderBrush = (SolidColorBrush)_colorConverter.Convert(Element.DisabledColor, null, null, "");
            }
        }

        private void SetTextColor()
        {
            foreach (var segment in _segmentedUserControl.SegmentedControlGrid.Children)
            {
                ((SegmentRadioButton)segment).TextColor = (SolidColorBrush)_colorConverter.Convert(
                    Element.TextColor, null, null, "");
            }
        }

        private void SetSelectedTextColor()
        {
            foreach (var segment in _segmentedUserControl.SegmentedControlGrid.Children)
            {
                ((SegmentRadioButton)segment).SelectedTextColor = (SolidColorBrush)_colorConverter.Convert(Element.SelectedTextColor, null, null, "");
            }
        }

        private void SetChildren()
        {
            if (Element.Children != null)
            {
                DisposeEventHandlers();
                CreateSegmentedRadioButtonControl();
            }
        }
        
        private void CreateSegmentedRadioButtonControl()
        {
            _segmentedUserControl = new SegmentedUserControl();

            var radioButtonGroupName = Guid.NewGuid().ToString();

            var grid = _segmentedUserControl.SegmentedControlGrid;
            grid.BorderBrush = (SolidColorBrush) _colorConverter.Convert(Element.TintColor, null, null, "");

            grid.ColumnDefinitions.Clear();
            grid.Children.Clear();

            foreach (var (child, i) in Element.Children.Select((child, i) => (child, i)))
            {
                var segmentButton = new SegmentRadioButton
                {
                    GroupName = radioButtonGroupName,
                    Style = (Style)_segmentedUserControl.Resources["SegmentedRadioButtonStyle"],
                    Content = child.Text,
                    Tag = i,
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment = VerticalAlignment.Stretch,
                    BorderBrush = (SolidColorBrush)_colorConverter.Convert(Element.TintColor, null, null, ""),
                    TextColor = (SolidColorBrush)_colorConverter.Convert(Element.TextColor, null, null, ""),
                    SelectedTextColor = (SolidColorBrush)_colorConverter.Convert(Element.SelectedTextColor, null, null, ""),
                    TintColor = (SolidColorBrush)_colorConverter.Convert(Element.TintColor, null, null, ""),
                    DisabledColor = (SolidColorBrush)_colorConverter.Convert(Element.DisabledColor, null, null, ""),
                    BorderThickness = i > 0 ? new Thickness(1, 0, 0, 0) : new Thickness(0, 0, 0, 0),
                    IsEnabled = Element.Children[i].IsEnabled, 
                    MinWidth = 0,
                };

                segmentButton.Checked += SegmentRadioButtonOnChecked;

                if (i == Element.SelectedSegment)
                {
                    segmentButton.IsChecked = true;
                }

                if (Element.FontSize > 0)
                {
                    segmentButton.FontSize = Element.FontSize;
                }

                if (!string.IsNullOrEmpty(Element.FontFamily))
                {
                    segmentButton.FontFamily = new FontFamily(Element.FontFamily);
                }

                var columnDefinition = new ColumnDefinition
                {
                    Width = new GridLength(1, GridUnitType.Star),
                };

                if (Element.WidthRequest > 0)
                    columnDefinition.Width = new GridLength(Element.WidthRequest);

                grid.ColumnDefinitions.Add(columnDefinition);

                segmentButton.SetValue(Grid.ColumnProperty, i);

                grid.Children.Add(segmentButton);

                child.PropertyChanged += Segment_PropertyChanged;
            }

            SetNativeControl(_segmentedUserControl);
        }

        private void Segment_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (!(_segmentedUserControl is null) && !(Element is null) && sender is SegmentedControlOption option)
            {
                var index = Element.Children.IndexOf(option);
                switch (e.PropertyName)
                {
                    case nameof(SegmentedControlOption.Text):
                        _segmentedUserControl.SegmentedControlGrid.Children[index].SetValue(ContentControl.ContentProperty, option.Text);
                        break;
                    case nameof(SegmentedControlOption.IsEnabled):
                        _segmentedUserControl.SegmentedControlGrid.Children[index].SetValue(Windows.UI.Xaml.Controls.Control.IsEnabledProperty, option.IsEnabled);
                        break;
                }
            }
        }

        private void SegmentRadioButtonOnChecked(object sender, RoutedEventArgs e)
        {
            var button = (SegmentRadioButton) sender;

            if (!(button is null))
            {
                Element.SelectedSegment = int.Parse(button.Tag.ToString());
                Element?.RaiseSelectionChanged();
            }
        }

        protected override void Dispose(bool disposing)
        {
            DisposeEventHandlers();
            base.Dispose(disposing);
        }

        private void DisposeEventHandlers()
        {

            if (_segmentedUserControl?.SegmentedControlGrid?.Children != null)
            {
                foreach (var element in _segmentedUserControl.SegmentedControlGrid.Children)
                {
                    if (element is SegmentRadioButton segment)
                    {
                        segment.Checked -= SegmentRadioButtonOnChecked;
                    }
                }
            }

            if (!(Element is null))
            {
                foreach (var child in Element.Children)
                {
                    child.PropertyChanged -= Segment_PropertyChanged;
                }
            }
        }

    }
}


================================================
FILE: src/crossplatform/SegCtrl.UWP/SegmentedRadioButtonStyle.xaml
================================================
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:control1="using:Plugin.Segmented.Control.UWP">

    <Style TargetType="control1:SegmentRadioButton" x:Key="SegmentedRadioButtonStyle">
        <Setter Property="UseSystemFocusVisuals" Value="True" />
        <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="Padding" Value="8,4,8,4"></Setter>
        <Setter Property="Background" Value="Transparent"></Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="control1:SegmentRadioButton">
                    <Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
                        <ContentPresenter
                            x:Name="ContentPresenter"
                            Padding="{TemplateBinding Padding}"
                            HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                            AutomationProperties.AccessibilityView="Raw"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            Content="{TemplateBinding Content}"
                            ContentTemplate="{TemplateBinding ContentTemplate}"
                            ContentTransitions="{TemplateBinding ContentTransitions}" 
                            Background="{TemplateBinding Background}"
                            Foreground="{TemplateBinding Foreground}"/>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal">
                                    <Storyboard>
                                        <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" />
                                    </Storyboard>
                                </VisualState>
                                <!--<VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding DisabledColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TextColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding DisabledColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>-->
                                <VisualState x:Name="DisabledAndChecked">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding DisabledColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SelectedTextColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding DisabledColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="DisabledAndUnchecked">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding DisabledColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TextColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding Background, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CheckStates">
                                <VisualState x:Name="Checked">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TintColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding SelectedTextColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TintColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unchecked">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TintColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding TextColor, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding Background, RelativeSource={RelativeSource TemplatedParent}}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>

                                <VisualState x:Name="Indeterminate" />
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</ResourceDictionary>


================================================
FILE: src/crossplatform/SegCtrl.UWP/SegmentedUserControl.xaml
================================================
<UserControl
    x:Class="Plugin.Segmented.Control.UWP.SegmentedUserControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Plugin.Segmented.Control.UWP"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400">
    <UserControl.Resources>
        <ResourceDictionary Source="SegmentedRadioButtonStyle.xaml"></ResourceDictionary>
    </UserControl.Resources>

    <Grid x:Name="mainGrid" BorderThickness="1,1,1,1" CornerRadius="4">
        
    </Grid>
</UserControl>


================================================
FILE: src/crossplatform/SegCtrl.UWP/SegmentedUserControl.xaml.cs
================================================
using Windows.UI.Xaml.Controls;

// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236

namespace Plugin.Segmented.Control.UWP
{
    public sealed partial class SegmentedUserControl : UserControl
    {
        public Grid SegmentedControlGrid => mainGrid;
        public SegmentedUserControl()
        {
            this.InitializeComponent();
        }
    }
}


================================================
FILE: src/crossplatform/SegCtrl.iOS/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Plugin.Segmented.Control.iOS")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Plugin.Segmented.Control.iOS")]
[assembly: AssemblyCopyright("Copyright ©  2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("39cd5d35-d98e-49a2-868b-89e7b64d25de")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]


================================================
FILE: src/crossplatform/SegCtrl.iOS/SegCtrl.iOS.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{39CD5D35-D98E-49A2-868B-89E7B64D25DE}</ProjectGuid>
    <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <RootNamespace>Plugin.Segmented.Control.iOS</RootNamespace>
    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
    <AssemblyName>Plugin.Segmented.Control.iOS</AssemblyName>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugNAtive|AnyCPU'">
    <OutputPath>bin\DebugNAtive\</OutputPath>
    <DefineConstants>__UNIFIED__;__MOBILE__;__IOS__;</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <UseVSHostingProcess>false</UseVSHostingProcess>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Xml" />
    <Reference Include="System.Core" />
    <Reference Include="Xamarin.iOS" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Resources\" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="SegmentedControlRenderer.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\main\SegCtlr.Netstandard\SegCtlr.Netstandard.csproj">
      <Project>{aba23bab-084a-443e-b9cc-37b0a826377e}</Project>
      <Name>SegCtlr.Netstandard</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Xamarin.Forms">
      <Version>5.0.0.2291</Version>
    </PackageReference>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
</Project>

================================================
FILE: src/crossplatform/SegCtrl.iOS/SegmentedControlRenderer.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Plugin.Segmented.Control;
using Plugin.Segmented.Control.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegmentedControlRenderer))]
namespace Plugin.Segmented.Control.iOS
{
    [Preserve(AllMembers = true)]
    public class SegmentedControlRenderer : ViewRenderer<SegmentedControl, UISegmentedControl>
    {
        private UISegmentedControl _nativeControl;

        protected override void OnElementChanged(ElementChangedEventArgs<SegmentedControl> e)
        {
            base.OnElementChanged(e);

            if (Control is null && Element != null)
            {
                _nativeControl = new UISegmentedControl
                {
                    Enabled = Element.IsEnabled
                };

                SetNativeControlSegments(Element.Children);
                SetNativeControl(_nativeControl);
                SetEnabledStateColor();
                SetFont();
                SetSelectedTextColor();
                SetTextColor();
                SetBorder();
            }

            if (!(e.OldElement is null))
            {
                if (!(_nativeControl is null))
                {
                    _nativeControl.ValueChanged -= NativeControl_SelectionChanged;
                }

                RemoveElementHandlers();
            }

            if (!(e.NewElement is null))
            {
                if (!(_nativeControl is null))
                {
                    _nativeControl.ValueChanged += NativeControl_SelectionChanged;
                }

                AddElementHandlers(e.NewElement);
            }
        }

        private void SetNativeControlSegments(IList<SegmentedControlOption> children)
        {
            if (!(_nativeControl is null))
            {
                if (_nativeControl.NumberOfSegments > 0)
                {
                    _nativeControl.RemoveAllSegments();
                }

                foreach (var (child, i) in children.Select((child, i) => ( child, i)))
                {
                    _nativeControl.InsertSegment(child.Text, i, false);
                    _nativeControl.SetEnabled(children[i].IsEnabled, i);

                    if (children[i].WidthRequest > 0)
                        _nativeControl.SetWidth((nfloat)children[i].WidthRequest, i);
                }

                if (!(Element is null))
                {
                    _nativeControl.SelectedSegment = Element.SelectedSegment;
                }
            }
        }

        private void AddElementHandlers(SegmentedControl element, bool addChildHandlersOnly = false)
        {
            if (!(element is null))
            {
                if (!addChildHandlersOnly)
                {
                    element.OnElementChildrenChanging += OnElementChildrenChanging;
                }

                if (!(element.Children is null))
                {
                    foreach (var child in element.Children)
                    {
                        child.PropertyChanged += SegmentPropertyChanged;
                    }
                }
            }
        }

        private void RemoveElementHandlers(bool removeChildrenHandlersOnly = false)
        {
            if (!(Element is null))
            {
                if (!removeChildrenHandlersOnly)
                {
                    Element.OnElementChildrenChanging -= OnElementChildrenChanging;
                }

                if (!(Element.Children is null))
                {
                    foreach (var child in Element.Children)
                    {
                        child.PropertyChanged -= SegmentPropertyChanged;
                    }
                }
            }
        }

        private void OnElementChildrenChanging(object sender, EventArgs e)
        {
            RemoveElementHandlers(true);
        }


        private void SegmentPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (!(_nativeControl is null) && !(Element is null) && sender is SegmentedControlOption option)
            {
                var index = Element.Children.IndexOf(option);

                switch (e.PropertyName)
                {
                    case nameof(SegmentedControlOption.Text):
                        _nativeControl.SetTitle(option.Text, index);
                        break;
                    case nameof(SegmentedControlOption.IsEnabled):
                        _nativeControl.SetEnabled(option.IsEnabled, index);
                        break;
                }
            }
        }

        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName == "Renderer")
            {
                Element?.RaiseSelectionChanged();
                return;
            }

            if (_nativeControl is null || Element is null)
            {
                return;
            }

            switch (e.PropertyName)
            {
                case nameof(SegmentedControl.SelectedSegment):
                    _nativeControl.SelectedSegment = Element.SelectedSegment;
                    Element.RaiseSelectionChanged();
                    break;

                case nameof(SegmentedControl.TintColor):
                    SetEnabledStateColor();
                    break;

                case nameof(SegmentedControl.IsEnabled):
                    _nativeControl.Enabled = Element.IsEnabled;
                    SetEnabledStateColor();
                    break;

                case nameof(SegmentedControl.SelectedTextColor):
                    SetSelectedTextColor();
                    break;

                case nameof(SegmentedControl.TextColor):
                    SetTextColor();
                    break;

                case nameof(SegmentedControl.Children):
                    if (!(Element.Children is null))
                    {
                        SetNativeControlSegments(Element.Children);
                        AddElementHandlers(Element, true);
                    }
                    break;

                case nameof(SegmentedControl.FontSize):
                case nameof(SegmentedControl.FontFamily):
                    SetFont();
                    break;

                case nameof(SegmentedControl.BorderWidth):
                case nameof(SegmentedControl.BorderColor):
                    SetBorder();
                    break;
            }
        }

        private void SetEnabledStateColor()
        {
            if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
            {
                _nativeControl.SelectedSegmentTintColor = Element.IsEnabled 
                    ? Element.TintColor.ToUIColor() 
                    : Element.DisabledColor.ToUIColor();
            }
            else
            {
                _nativeControl.TintColor = Element.IsEnabled 
                    ? Element.TintColor.ToUIColor() 
                    : Element.DisabledColor.ToUIColor();
            }
        }

        private void SetFont()
        {
            var uiTextAttribute = _nativeControl.GetTitleTextAttributes(UIControlState.Normal);

            var font = string.IsNullOrEmpty(Element.FontFamily) 
                ? UIFont.SystemFontOfSize((nfloat)Element.FontSize) 
                : UIFont.FromName(Element.FontFamily, (nfloat)Element.FontSize);

            uiTextAttribute.Font = font;

           _nativeControl.SetTitleTextAttributes(uiTextAttribute, UIControlState.Normal);
        }

        private void SetTextColor()
        {
            var uiTextAttribute = _nativeControl.GetTitleTextAttributes(UIControlState.Normal);

            uiTextAttribute.TextColor = Element.TextColor.ToUIColor();

            _nativeControl.SetTitleTextAttributes(uiTextAttribute, UIControlState.Normal);
        }

        private void SetSelectedTextColor()
        {
            var uiTextAttribute = _nativeControl.GetTitleTextAttributes(UIControlState.Normal);

            uiTextAttribute.TextColor = Element.SelectedTextColor.ToUIColor();

            _nativeControl.SetTitleTextAttributes(uiTextAttribute, UIControlState.Selected);
        }

        private void SetBorder()
        {
            _nativeControl.Layer.BorderWidth = (nfloat)Element.BorderWidth;

            _nativeControl.Layer.BorderColor = Element.IsEnabled ?
                Element.BorderColor.ToCGColor() :
                Element.DisabledColor.ToCGColor();
        }

        private void NativeControl_SelectionChanged(object sender, EventArgs e)
        {
            Element.SelectedSegment = (int)_nativeControl.SelectedSegment;
        }

        protected override void Dispose(bool disposing)
        {
            if (!(_nativeControl is null))
            {
                _nativeControl.ValueChanged -= NativeControl_SelectionChanged;
                _nativeControl?.Dispose();
                _nativeControl = null;
            }
            RemoveElementHandlers();

            base.Dispose(disposing);
        }

        public static void Initialize()
        {

        }
    }
}

================================================
FILE: src/crossplatform/SegCtrl.macOS/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;

// Information about this assembly is defined by the following attributes. 
// Change them to the values specific to your project.

[assembly: AssemblyTitle("SegCtrl.macOS")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Orion Law Management Systems, Inc.")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Copyright 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

[assembly: AssemblyVersion("1.0.*")]

// The following attributes are used to specify the signing key for the assembly, 
// if desired. See the Mono documentation for more information about signing.

//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]


================================================
FILE: src/crossplatform/SegCtrl.macOS/SegCtrl.macOS.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="_VerifyBuildSignature" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{BF907E43-0F07-4502-9AF3-96B063281234}</ProjectGuid>
    <ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <RootNamespace>SegCtrl.macOS</RootNamespace>
    <AssemblyName>SegCtrl.macOS</AssemblyName>
    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
    <TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
    <MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <EnableCodeSigning>false</EnableCodeSigning>
    <CreatePackage>false</CreatePackage>
    <EnablePackageSigning>false</EnablePackageSigning>
    <IncludeMonoRuntime>false</IncludeMonoRuntime>
    <UseSGen>false</UseSGen>
    <HttpClientHandler>
    </HttpClientHandler>
    <LinkMode>
    </LinkMode>
    <XamMacArch>
    </XamMacArch>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <IncludeSymbols>false</IncludeSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <DefineConstants>
    </DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <EnableCodeSigning>false</EnableCodeSigning>
    <CreatePackage>false</CreatePackage>
    <EnablePackageSigning>false</EnablePackageSigning>
    <IncludeMonoRuntime>false</IncludeMonoRuntime>
    <UseSGen>false</UseSGen>
    <HttpClientHandler>
    </HttpClientHandler>
    <LinkMode>
    </LinkMode>
    <XamMacArch>
    </XamMacArch>
    <DebugType>portable</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="netstandard" />
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="Xamarin.Mac" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="SegmentedControlRenderer.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\main\SegCtlr.Netstandard\SegCtlr.Netstandard.csproj">
      <Project>{ABA23BAB-084A-443E-B9CC-37B0A826377E}</Project>
      <Name>SegCtlr.Netstandard</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="NETStandard.Library">
      <Version>2.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms">
      <Version>5.0.0.2291</Version>
    </PackageReference>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
</Project>

================================================
FILE: src/crossplatform/SegCtrl.macOS/SegmentedControlRenderer.cs
================================================
using System;
using System.Linq;
using Xamarin.Forms;
using AppKit;
using Xamarin.Forms.Platform.MacOS;
using Plugin.Segmented.Control;
using System.ComponentModel;
using Plugin.Segmented;

[assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegCtrl.macOS.SegmentedControlRenderer))]
namespace SegCtrl.macOS
{
    [Preserve(AllMembers = true)]
    public class SegmentedControlRenderer : ViewRenderer<SegmentedControl, NSSegmentedControl>
    {
        private NSSegmentedControl _nativeControl;

        protected override void OnElementChanged(ElementChangedEventArgs<SegmentedControl> e)
        {
            base.OnElementChanged(e);

            if (Control is null && Element != null)
            {
                CreateNativeSegmentedControl();
            }

            if (!(e.OldElement is null))
            {
                RemoveElementHandlers();
            }

            AddElementHandlers(e.NewElement);
        }

        private void CreateNativeSegmentedControl()
        {
            var titles = Element.Children.Select(s => s.Text);
            _nativeControl = NSSegmentedControl.FromLabels(titles.ToArray(), NSSegmentSwitchTracking.SelectOne, OnNativeSegmentChanged);
            _nativeControl.Enabled = Element.IsEnabled;
            _nativeControl.SetSelected(true, Element.SelectedSegment);
            _nativeControl.FocusRingType = NSFocusRingType.None;

            foreach (var (segmentedCtrlOption, i) in Element.Children.Select((segmentCtrlOption, i) => (segmentCtrlOption, i)))
            {
                if(segmentedCtrlOption.WidthRequest >= 0)
                    _nativeControl.SetWidth((nfloat)segmentedCtrlOption.WidthRequest, i);
            }

            SetFont();
            SetNativeControl(_nativeControl);
        }

        private void OnNativeSegmentChanged()
        {
            if (!(_nativeControl is null))
            {
                Element.SelectedSegment = (int)_nativeControl.SelectedSegment;
            }
        }

        private void ResetNativeControl()
        {
            if (!(_nativeControl is null) && !(Element is null))
            {
                if (_nativeControl.SegmentCount > 0)
                {
                    _nativeControl.RemoveFromSuperview();
                    _nativeControl.Dispose();
                    _nativeControl = null;
                    CreateNativeSegmentedControl();
                }
            }
        }

        private void AddElementHandlers(SegmentedControl element, bool addChildHandlersOnly = false)
        {
            if (!(element is null))
            {
                if (!addChildHandlersOnly)
                {
                    element.OnElementChildrenChanging += OnElementChildrenChanging;
                }
                if (!(element.Children is null))
                {
                    foreach (var child in element.Children)
                    {
                        child.PropertyChanged += SegmentPropertyChanged;
                    }
                }
            }
        }

        private void RemoveElementHandlers(bool removeChildrenHandlersOnly = false)
        {
            if (!(Element is null))
            {
                if (!removeChildrenHandlersOnly)
                {
                    Element.OnElementChildrenChanging -= OnElementChildrenChanging;
                }

                if (!(Element.Children is null))
                {
                    foreach (var child in Element.Children)
                    {
                        child.PropertyChanged -= SegmentPropertyChanged;
                    }
                }
            }
        }

        private void OnElementChildrenChanging(object sender, EventArgs e)
        {
            RemoveElementHandlers(true);
        }

        private void SegmentPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (!(_nativeControl is null) && !(Element is null) && sender is SegmentedControlOption option)
            {
                var index = Element.Children.IndexOf(option);

                switch (e.PropertyName)
                {
                    case nameof(SegmentedControlOption.Text):
                        _nativeControl.SetLabel(option.Text, index);
                        break;

                    case nameof(SegmentedControlOption.IsEnabled):
                        _nativeControl.SetEnabled(option.IsEnabled, index);
                        break;
                }
            }
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName == "Renderer")
            {
                Element?.RaiseSelectionChanged();
                return;
            }

            if (_nativeControl is null || Element is null)
            {
                return;
            }

            switch (e.PropertyName)
            {
                case nameof(NSSegmentedControl.SelectedSegment):
                    _nativeControl.SelectedSegment = Element.SelectedSegment;
                    Element.RaiseSelectionChanged();
                    break;

                case nameof(NSSegmentedControl.IsEnabled):
                    _nativeControl.Enabled = Element.IsEnabled;
                    break;

                case nameof(SegmentedControl.Children):
                    ResetNativeControl();
                    break;

                case nameof(SegmentedControl.FontSize):
                case nameof(SegmentedControl.FontFamily):
                    SetFont();
                    break;
            }
        }

        private void SetFont()
        {
            var font = NSFont.FromFontName(string.IsNullOrEmpty(Element.FontFamily) 
                ? _nativeControl.Font.FontName 
                : Element.FontFamily, (nfloat)Element.FontSize);
            _nativeControl.Font = font;
        }

        protected override void Dispose(bool disposing)
        {
            RemoveElementHandlers();

            base.Dispose(disposing);
            _nativeControl = null;
        }

        public static void Initialize()
        {

        }
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/Control/SegmentedControl.cs
================================================
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows.Input;
using Plugin.Segmented.Event;
using Xamarin.Forms;
using Xamarin.Forms.Internals;

namespace Plugin.Segmented.Control
{
    [DesignTimeVisible(true)]
    [Preserve(AllMembers = true)]
    [ContentProperty(nameof(Children))]
    public class SegmentedControl : View, IViewContainer<SegmentedControlOption>
    {
        public SegmentedControl()
        {
            Children = new List<SegmentedControlOption>();
        }

        public event EventHandler<ElementChildrenChanging> OnElementChildrenChanging;

        public event EventHandler<SegmentSelectEventArgs> OnSegmentSelected;

        #region Children
        public static readonly BindableProperty ChildrenProperty = BindableProperty.Create(nameof(Children), typeof(IList<SegmentedControlOption>), typeof(SegmentedControl), default(IList<SegmentedControlOption>), propertyChanging: OnChildrenChanging);
        private static void OnChildrenChanging(BindableObject bindable, object oldValue, object newValue)
        {
            if (bindable is SegmentedControl segmentedControl 
                && newValue is IList<SegmentedControlOption> newItemsList
                && segmentedControl.Children != null)
            {
                segmentedControl.OnElementChildrenChanging?.Invoke(segmentedControl, new ElementChildrenChanging((IList<SegmentedControlOption>)oldValue, newItemsList));
                segmentedControl.Children.Clear();

                foreach (var newSegment in newItemsList)
                {
                    newSegment.BindingContext = segmentedControl.BindingContext;
                    segmentedControl.Children.Add(newSegment);
                }
            }
        }
        public IList<SegmentedControlOption> Children
        {
            get => (IList<SegmentedControlOption>)GetValue(ChildrenProperty);
            set => SetValue(ChildrenProperty, value);
        }
        #endregion

        #region ItemsSource
        public static readonly BindableProperty ItemsSourceProperty = BindableProperty.Create(nameof(ItemsSource), typeof(IEnumerable), typeof(SegmentedControl));
        public static readonly BindableProperty TextPropertyNameProperty = BindableProperty.Create(nameof(TextPropertyName), typeof(string), typeof(SegmentedControl));
        
        private void OnItemsSourceChanged()
        {
            var itemsSource = ItemsSource;
            var items = itemsSource as IList;
            if (items == null && itemsSource is IEnumerable list)
                items = list.Cast<object>().ToList();

            if (items != null)
            {
                var textValues = items as IEnumerable<string>;
                if (textValues == null && items.Count > 0 && items[0] is string)
                    textValues = items.Cast<string>();

                if (textValues != null)
                {
                    Children = new List<SegmentedControlOption>(textValues.Select(child => new SegmentedControlOption { Text = child, Item = child }));
                    OnSelectedItemChanged(true);
                }
                else
                {
                    var textPropertyName = TextPropertyName;
                    if (textPropertyName != null)
                    {
                        var newChildren = new List<SegmentedControlOption>();
                        foreach (var item in items)
                            newChildren.Add(new SegmentedControlOption { Item = item, TextPropertyName = textPropertyName });
                        Children = newChildren;
                        OnSelectedItemChanged(true);
                    }
                }
            }
        }

        protected override void OnPropertyChanged(string propertyName = null)
        {
            base.OnPropertyChanged(propertyName);

            if (propertyName == nameof(ItemsSource) || propertyName == nameof(TextPropertyName))
                OnItemsSourceChanged();
            else if(propertyName == nameof(SelectedItem))
                OnSelectedItemChanged();
            else if(propertyName == nameof(SelectedSegment))
                OnSelectedSegmentChanged();
        }

        private void OnSelectedSegmentChanged()
        {
            var segmentIndex = SelectedSegment;
            if (segmentIndex >= 0 && segmentIndex < Children.Count && SelectedItem != Children[segmentIndex].Item)
                SelectedItem = Children[segmentIndex].Item;
        }

        private void OnSelectedItemChanged(bool forceUpdateSelectedSegment = false)
        {
            if (TextPropertyName != null)
            {
                var selectedItem = SelectedItem;
                var selectedIndex = Children.IndexOf(item => item.Item == selectedItem);
                if (selectedIndex == -1)
                {
                    selectedIndex = SelectedSegment;
                    if (selectedIndex < 0 || selectedIndex >= Children.Count)
                        SelectedSegment = 0;
                    else if(SelectedSegment != selectedIndex)
                        SelectedSegment = selectedIndex;
                    else if(forceUpdateSelectedSegment)
                        OnSelectedSegmentChanged();
                }
                else if (selectedIndex != SelectedSegment)
                    SelectedSegment = selectedIndex;
            }
        }

        public IEnumerable ItemsSource
        {
            get => (IEnumerable)GetValue(ItemsSourceProperty);
            set => SetValue(ItemsSourceProperty, value);
        }

        public string TextPropertyName
        {
            get => (string)GetValue(TextPropertyNameProperty);
            set => SetValue(TextPropertyNameProperty, value);
        }
        #endregion

        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(
            propertyName: "TextColor",
            returnType: typeof(Color),
            declaringType: typeof(SegmentedControl),
            defaultValue: default(Color));

        public Color TextColor
        {
            get => (Color) GetValue(TextColorProperty);
            set => SetValue(TextColorProperty, value);
        }

        public static readonly BindableProperty TintColorProperty = BindableProperty.Create(nameof(TintColor), typeof(Color), typeof(SegmentedControl), Color.Blue);

        public Color TintColor
        {
            get => (Color)GetValue(TintColorProperty);
            set => SetValue(TintColorProperty, value);
        }

        public static readonly BindableProperty SelectedTextColorProperty = BindableProperty.Create(nameof(SelectedTextColor), typeof(Color), typeof(SegmentedControl), Color.White);

        public Color SelectedTextColor
        {
            get => (Color)GetValue(SelectedTextColorProperty);
            set => SetValue(SelectedTextColorProperty, value);
        }

        public static readonly BindableProperty DisabledColorProperty = BindableProperty.Create(nameof(DisabledColor), typeof(Color), typeof(SegmentedControl), Color.Gray);

        public Color DisabledColor
        {
            get => (Color)GetValue(DisabledColorProperty);
            set => SetValue(DisabledColorProperty, value);
        }

        public static readonly BindableProperty BorderColorProperty = BindableProperty.Create(nameof(BorderColor), typeof(Color), typeof(SegmentedControl), defaultValueCreator: bindable => ((SegmentedControl)bindable).TintColor);

        public Color BorderColor
        {
            get => (Color)GetValue(BorderColorProperty);
            set => SetValue(BorderColorProperty, value);
        }

        public static readonly BindableProperty BorderWidthProperty = BindableProperty.Create(nameof(BorderWidth), typeof(double), typeof(SegmentedControl), defaultValueCreator: _ => Device.RuntimePlatform == Device.Android ? 1.0 : 0.0);

        public double BorderWidth
        {
            get => (double)GetValue(BorderWidthProperty);
            set => SetValue(BorderWidthProperty, value);
        }

        public static readonly BindableProperty SelectedSegmentProperty = BindableProperty.Create(nameof(SelectedSegment), typeof(int), typeof(SegmentedControl), 0);
        public static readonly BindableProperty SelectedItemProperty = BindableProperty.Create(nameof(SelectedItem), typeof(object), typeof(SegmentedControl), defaultBindingMode: BindingMode.TwoWay);

        public int SelectedSegment
        {
            get => (int)GetValue(SelectedSegmentProperty);
            set => SetValue(SelectedSegmentProperty, value);
        }

        public object SelectedItem
        {
            get => (object)GetValue(SelectedItemProperty);
            set => SetValue(SelectedItemProperty, value);
        }
       

        public static readonly BindableProperty SegmentSelectedCommandProperty = BindableProperty.Create(nameof(SegmentSelectedCommand), typeof(ICommand), typeof(SegmentedControl));
        public ICommand SegmentSelectedCommand
        {
            get => (ICommand)GetValue(SegmentSelectedCommandProperty);
            set => SetValue(SegmentSelectedCommandProperty, value);
        }

        public static readonly BindableProperty SegmentSelectedCommandParameterProperty = BindableProperty.Create(nameof(SegmentSelectedCommandParameter), typeof(object), typeof(SegmentedControl));


        public object SegmentSelectedCommandParameter
        {
            get => GetValue(SegmentSelectedCommandParameterProperty);
            set => SetValue(SegmentSelectedCommandParameterProperty, value);
        }

        public static readonly BindableProperty FontSizeProperty = BindableProperty.Create(nameof(FontSize), typeof(double), typeof(SegmentedControl), Device.GetNamedSize(NamedSize.Medium, typeof(Label)));
        [Xamarin.Forms.TypeConverter(typeof(FontSizeConverter))]
        public double FontSize
        {
            get => (double)GetValue(FontSizeProperty);
            set => SetValue(FontSizeProperty, value);
        }

        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(SegmentedControl));
        public string FontFamily
        {
            get => (string)GetValue(FontFamilyProperty);
            set => SetValue(FontFamilyProperty, value);
        }


        [EditorBrowsable(EditorBrowsableState.Never)]
        public void RaiseSelectionChanged()
        {
            OnSegmentSelected?.Invoke(this, new SegmentSelectEventArgs { NewValue = this.SelectedSegment });

            if (!(SegmentSelectedCommand is null) && SegmentSelectedCommand.CanExecute(SegmentSelectedCommandParameter))
            {
                SegmentSelectedCommand.Execute(SegmentSelectedCommandParameter);
            }
        }

        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();

            if (!(Children is null))
            {
                foreach (var segment in Children)
                {
                    segment.BindingContext = BindingContext;
                }
            }
        }
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/Control/SegmentedControlOption.cs
================================================
using System;
using System.ComponentModel;
using Xamarin.Forms;

namespace Plugin.Segmented.Control
{
    [Preserve(AllMembers = true)]
    public class SegmentedControlOption : View
    {
        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(SegmentedControlOption), string.Empty);
        public static readonly BindableProperty ItemProperty = BindableProperty.Create(nameof(Item), typeof(object), typeof(SegmentedControlOption), propertyChanged: (bindable, value, newValue) => ((SegmentedControlOption)bindable).OnItemChanged(value, newValue));
        public static readonly BindableProperty TextPropertyNameProperty = BindableProperty.Create(nameof(TextPropertyName), typeof(string), typeof(SegmentedControlOption));

        public string Text
        {
            get => (string)GetValue(TextProperty);
            set => SetValue(TextProperty, value);
        }

        public object Item         
        {
            get => GetValue(ItemProperty);
            set => SetValue(ItemProperty, value);
        }

        public string TextPropertyName 
        {
            get => (string)GetValue(TextPropertyNameProperty);
            set => SetValue(TextPropertyNameProperty, value);
        }

        private void OnItemChanged(object value, object newValue)
        {
            if (value is INotifyPropertyChanged mutableItem)
                mutableItem.PropertyChanged -= OnItemPropertyChanged;
            if (newValue is INotifyPropertyChanged newMutableItem)
                newMutableItem.PropertyChanged += OnItemPropertyChanged;
        }

        protected override void OnPropertyChanged(string propertyName = null)
        {
            base.OnPropertyChanged(propertyName);

            if (propertyName == nameof(Item) || propertyName == nameof(TextPropertyName))
                SetTextFromItemProperty();
        }

        private void OnItemPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if(e.PropertyName == TextPropertyName)
                SetTextFromItemProperty();
        }

        private void SetTextFromItemProperty()
        {
            if (Item != null && TextPropertyName != null)
                Text = Item.GetType().GetProperty(TextPropertyName)?.GetValue(Item)?.ToString();
        }
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/Event/ElementChildrenChanging.cs
================================================
using System;
using System.Collections.Generic;
using Plugin.Segmented.Control;

namespace Plugin.Segmented.Event
{

    [Preserve(AllMembers = true)]
    public class ElementChildrenChanging : EventArgs
    {
        public ElementChildrenChanging(IList<SegmentedControlOption> oldValues, IList<SegmentedControlOption> newValues)
        {
            OldValues = oldValues;
            NewValues = newValues;
        }
        public IList<SegmentedControlOption> OldValues { get; }
        public IList<SegmentedControlOption> NewValues { get; }
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/Event/SegmentSelectEvent.cs
================================================
using System;

namespace Plugin.Segmented.Event
{
    [Preserve(AllMembers = true)]
    public class SegmentSelectEventArgs : EventArgs
    {
        public int NewValue { get; set; }
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/PreserveAttribute.cs
================================================
using System;

namespace Plugin.Segmented
{
    public sealed class PreserveAttribute : Attribute
    {
        public bool AllMembers;
        public bool Conditional;
    }
}


================================================
FILE: src/main/SegCtlr.Netstandard/SegCtlr.Netstandard.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <AssemblyName>Plugin.Segmented</AssemblyName>
    <RootNamespace>Plugin.Segmented</RootNamespace>
    <AssemblyVersion>5.5.0.0</AssemblyVersion>
    <FileVersion>5.5.0.0</FileVersion>
    <Configurations>Debug;Release;DebugNative</Configurations>
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
    <DebugType>portable</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
  </ItemGroup>


  <ItemGroup>
    <PackageReference Include="Xamarin.Forms" Version="5.0.0.2291" />
  </ItemGroup>
</Project>


================================================
FILE: src/main/SegCtlr.Netstandard.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29806.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SegCtlr.Netstandard", "SegCtlr.Netstandard\SegCtlr.Netstandard.csproj", "{ABA23BAB-084A-443E-B9CC-37B0A826377E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abstraction", "Abstraction", "{D54B9249-B233-42AD-8346-2E59628B9B34}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CrossPlatform", "CrossPlatform", "{C5A73308-8FF9-4767-91CF-1B97B38B0403}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SegCtrl.Droid", "..\crossplatform\SegCtrl.Droid\SegCtrl.Droid.csproj", "{615565C8-84DE-4B6B-80DD-106695429AD8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SegCtrl.iOS", "..\crossplatform\SegCtrl.iOS\SegCtrl.iOS.csproj", "{39CD5D35-D98E-49A2-868B-89E7B64D25DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SegCtrl.UWP", "..\crossplatform\SegCtrl.UWP\SegCtrl.UWP.csproj", "{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{F6468D98-0EC8-412A-865C-6AC3F010C044}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.SegCtrl.Android", "..\test\Test.SegCtrl.Android\Test.SegCtrl.Android.csproj", "{D41A679F-F6FD-45B5-B63C-304C720090CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.SegCtlr.UWP", "..\test\Test.SegCtrl.UWP\Test.SegCtlr.UWP.csproj", "{D133A400-6A9B-4414-A989-6165FF3A3BAC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.SegCtlr.iOS", "..\test\Test.SegCtrl.iOS\Test.SegCtlr.iOS.csproj", "{2C3B781D-170C-44FA-BB73-E454A4AE73BD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test.SegCtrl.netstandard", "..\test\Test.SegCtrl.netstandard\Test.SegCtrl.netstandard.csproj", "{085D550D-9E27-474F-A79E-4578224F8664}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{33251B03-DF66-4CA2-B24F-BD267184F4C4}"
	ProjectSection(SolutionItems) = preProject
		..\build\build.ps1 = ..\build\build.ps1
		..\build\Plugin.SegmentedControl.Netstandard.nuspec = ..\build\Plugin.SegmentedControl.Netstandard.nuspec
		..\build\publish.ps1 = ..\build\publish.ps1
		..\build\publishLocal.ps1 = ..\build\publishLocal.ps1
	EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GitHub", "GitHub", "{788B4700-4995-4AD9-A3C9-0E637AD760DC}"
	ProjectSection(SolutionItems) = preProject
		..\..\.gitignore = ..\..\.gitignore
		..\..\README.md = ..\..\README.md
	EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{A61994BD-A497-4FA5-B00C-EAC91FDFD0C5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SegCtrl.macOS", "..\crossplatform\SegCtrl.macOS\SegCtrl.macOS.csproj", "{BF907E43-0F07-4502-9AF3-96B063281234}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.SegCtrl.macOS", "..\test\Test.SegCtrl.macOS\Test.SegCtrl.macOS.csproj", "{F496EC17-11A7-43DD-ABD2-0EACB53BF553}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
		Ad-Hoc|ARM = Ad-Hoc|ARM
		Ad-Hoc|iPhone = Ad-Hoc|iPhone
		Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
		Ad-Hoc|x64 = Ad-Hoc|x64
		Ad-Hoc|x86 = Ad-Hoc|x86
		AppStore|Any CPU = AppStore|Any CPU
		AppStore|ARM = AppStore|ARM
		AppStore|iPhone = AppStore|iPhone
		AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
		AppStore|x64 = AppStore|x64
		AppStore|x86 = AppStore|x86
		Debug|Any CPU = Debug|Any CPU
		Debug|ARM = Debug|ARM
		Debug|iPhone = Debug|iPhone
		Debug|iPhoneSimulator = Debug|iPhoneSimulator
		Debug|x64 = Debug|x64
		Debug|x86 = Debug|x86
		DebugNAtive|Any CPU = DebugNAtive|Any CPU
		DebugNAtive|ARM = DebugNAtive|ARM
		DebugNAtive|iPhone = DebugNAtive|iPhone
		DebugNAtive|iPhoneSimulator = DebugNAtive|iPhoneSimulator
		DebugNAtive|x64 = DebugNAtive|x64
		DebugNAtive|x86 = DebugNAtive|x86
		Release|Any CPU = Release|Any CPU
		Release|ARM = Release|ARM
		Release|iPhone = Release|iPhone
		Release|iPhoneSimulator = Release|iPhoneSimulator
		Release|x64 = Release|x64
		Release|x86 = Release|x86
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|x64.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Ad-Hoc|x86.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|ARM.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|ARM.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|iPhone.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|x64.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|x64.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|x86.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.AppStore|x86.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|ARM.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|iPhone.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|x64.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|x64.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|x86.ActiveCfg = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Debug|x86.Build.0 = Debug|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|ARM.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|x64.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|x64.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|x86.ActiveCfg = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.DebugNAtive|x86.Build.0 = DebugNAtive|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|Any CPU.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|ARM.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|ARM.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|iPhone.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|iPhone.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|x64.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|x64.Build.0 = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|x86.ActiveCfg = Release|Any CPU
		{ABA23BAB-084A-443E-B9CC-37B0A826377E}.Release|x86.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|x64.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Ad-Hoc|x86.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|ARM.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|ARM.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|iPhone.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|x64.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|x64.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|x86.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.AppStore|x86.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|ARM.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|iPhone.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|x64.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|x64.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|x86.ActiveCfg = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Debug|x86.Build.0 = Debug|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|ARM.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|x64.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|x64.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|x86.ActiveCfg = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.DebugNAtive|x86.Build.0 = DebugNAtive|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|Any CPU.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|ARM.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|ARM.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|iPhone.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|iPhone.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|x64.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|x64.Build.0 = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|x86.ActiveCfg = Release|Any CPU
		{615565C8-84DE-4B6B-80DD-106695429AD8}.Release|x86.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|x64.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Ad-Hoc|x86.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|ARM.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|ARM.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|iPhone.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|x64.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|x64.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|x86.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.AppStore|x86.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|ARM.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|iPhone.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|x64.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|x64.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|x86.ActiveCfg = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Debug|x86.Build.0 = Debug|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|ARM.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|x64.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|x64.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|x86.ActiveCfg = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.DebugNAtive|x86.Build.0 = DebugNAtive|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|Any CPU.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|ARM.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|ARM.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|iPhone.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|iPhone.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|x64.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|x64.Build.0 = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|x86.ActiveCfg = Release|Any CPU
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE}.Release|x86.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|ARM.Build.0 = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|x64.ActiveCfg = Release|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|x64.Build.0 = Release|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|x86.ActiveCfg = Release|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Ad-Hoc|x86.Build.0 = Release|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|ARM.ActiveCfg = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|ARM.Build.0 = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|iPhone.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|x64.ActiveCfg = Release|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|x64.Build.0 = Release|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|x86.ActiveCfg = Release|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.AppStore|x86.Build.0 = Release|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|ARM.ActiveCfg = Debug|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|ARM.Build.0 = Debug|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|iPhone.Build.0 = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|x64.ActiveCfg = Debug|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|x64.Build.0 = Debug|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|x86.ActiveCfg = Debug|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Debug|x86.Build.0 = Debug|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|ARM.Build.0 = DebugNAtive|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|x64.ActiveCfg = DebugNAtive|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|x64.Build.0 = DebugNAtive|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|x86.ActiveCfg = DebugNAtive|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.DebugNAtive|x86.Build.0 = DebugNAtive|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|Any CPU.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|ARM.ActiveCfg = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|ARM.Build.0 = Release|ARM
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|iPhone.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|iPhone.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|x64.ActiveCfg = Release|x64
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|x86.ActiveCfg = Release|x86
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B}.Release|x86.Build.0 = Release|x86
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x64.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x86.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|ARM.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|ARM.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|ARM.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhone.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhone.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x64.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x64.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x64.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x86.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x86.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.AppStore|x86.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|ARM.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|ARM.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhone.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhone.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x64.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x64.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x64.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x86.ActiveCfg = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x86.Build.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Debug|x86.Deploy.0 = Debug|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|Any CPU.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|ARM.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|ARM.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhone.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|iPhoneSimulator.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x64.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x64.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x64.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x86.ActiveCfg = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x86.Build.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.DebugNAtive|x86.Deploy.0 = DebugNAtive|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|Any CPU.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|Any CPU.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|ARM.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|ARM.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|ARM.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhone.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhone.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhone.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x64.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x64.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x64.Deploy.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x86.ActiveCfg = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x86.Build.0 = Release|Any CPU
		{D41A679F-F6FD-45B5-B63C-304C720090CC}.Release|x86.Deploy.0 = Release|Any CPU
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|Any CPU.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|ARM.Build.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|ARM.Deploy.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhone.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhone.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhone.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x64.ActiveCfg = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x64.Build.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x64.Deploy.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x86.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x86.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Ad-Hoc|x86.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|Any CPU.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|Any CPU.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|Any CPU.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|ARM.ActiveCfg = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|ARM.Build.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|ARM.Deploy.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhone.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhone.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhone.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhoneSimulator.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x64.ActiveCfg = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x64.Build.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x64.Deploy.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x86.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x86.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.AppStore|x86.Deploy.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|Any CPU.ActiveCfg = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|Any CPU.Build.0 = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|Any CPU.Deploy.0 = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|ARM.ActiveCfg = Debug|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|ARM.Build.0 = Debug|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|ARM.Deploy.0 = Debug|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|iPhone.ActiveCfg = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x64.ActiveCfg = Debug|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x64.Build.0 = Debug|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x64.Deploy.0 = Debug|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x86.ActiveCfg = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x86.Build.0 = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Debug|x86.Deploy.0 = Debug|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|Any CPU.Deploy.0 = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|ARM.Deploy.0 = DebugNAtive|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x64.ActiveCfg = DebugNAtive|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x64.Build.0 = DebugNAtive|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x64.Deploy.0 = DebugNAtive|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x86.ActiveCfg = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x86.Build.0 = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.DebugNAtive|x86.Deploy.0 = DebugNAtive|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|Any CPU.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|ARM.ActiveCfg = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|ARM.Build.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|ARM.Deploy.0 = Release|ARM
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|iPhone.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|iPhoneSimulator.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x64.ActiveCfg = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x64.Build.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x64.Deploy.0 = Release|x64
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x86.ActiveCfg = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x86.Build.0 = Release|x86
		{D133A400-6A9B-4414-A989-6165FF3A3BAC}.Release|x86.Deploy.0 = Release|x86
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|ARM.ActiveCfg = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|iPhone.Build.0 = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|x64.ActiveCfg = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.AppStore|x86.ActiveCfg = AppStore|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|Any CPU.ActiveCfg = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|ARM.ActiveCfg = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|iPhone.ActiveCfg = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|iPhone.Build.0 = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|x64.ActiveCfg = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Debug|x86.ActiveCfg = Debug|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|x64.ActiveCfg = DebugNAtive|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.DebugNAtive|x86.ActiveCfg = DebugNAtive|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|Any CPU.ActiveCfg = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|ARM.ActiveCfg = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|iPhone.ActiveCfg = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|iPhone.Build.0 = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|x64.ActiveCfg = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|x64.Build.0 = Release|iPhone
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD}.Release|x86.ActiveCfg = Release|iPhone
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|Any CPU.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|ARM.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|ARM.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|iPhone.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|x64.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|x64.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|x86.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.AppStore|x86.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|ARM.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|iPhone.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|x64.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|x64.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|x86.ActiveCfg = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Debug|x86.Build.0 = Debug|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|Any CPU.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|Any CPU.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|ARM.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|ARM.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|iPhone.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|iPhone.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|iPhoneSimulator.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|iPhoneSimulator.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|x64.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|x64.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|x86.ActiveCfg = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.DebugNAtive|x86.Build.0 = DebugNAtive|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|Any CPU.Build.0 = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|ARM.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|ARM.Build.0 = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|iPhone.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|iPhone.Build.0 = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|x64.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|x64.Build.0 = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|x86.ActiveCfg = Release|Any CPU
		{085D550D-9E27-474F-A79E-4578224F8664}.Release|x86.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|x64.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Ad-Hoc|x86.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|Any CPU.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|ARM.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|ARM.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|iPhone.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|iPhone.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|x64.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|x64.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|x86.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.AppStore|x86.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|ARM.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|ARM.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|iPhone.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|iPhone.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|x64.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|x64.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|x86.ActiveCfg = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Debug|x86.Build.0 = Debug|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|Any CPU.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|Any CPU.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|ARM.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|ARM.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|iPhone.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|iPhone.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|iPhoneSimulator.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|x64.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|x64.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|x86.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.DebugNAtive|x86.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|Any CPU.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|ARM.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|ARM.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|iPhone.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|iPhone.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|x64.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|x64.Build.0 = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|x86.ActiveCfg = Release|Any CPU
		{BF907E43-0F07-4502-9AF3-96B063281234}.Release|x86.Build.0 = Release|Any CPU
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|Any CPU.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|Any CPU.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|ARM.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|ARM.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|iPhone.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|iPhone.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|x64.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|x64.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|x86.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Ad-Hoc|x86.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|Any CPU.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|Any CPU.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|ARM.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|ARM.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|iPhone.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|iPhone.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|x64.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|x64.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|x86.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.AppStore|x86.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|ARM.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|iPhone.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|x64.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Debug|x86.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|Any CPU.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|Any CPU.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|ARM.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|ARM.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|iPhone.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|iPhone.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|x64.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|x64.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|x86.ActiveCfg = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.DebugNAtive|x86.Build.0 = Debug|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|ARM.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|iPhone.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|x64.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|x64.Build.0 = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|x86.ActiveCfg = Release|iPhoneSimulator
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553}.Release|x86.Build.0 = Release|iPhoneSimulator
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(NestedProjects) = preSolution
		{ABA23BAB-084A-443E-B9CC-37B0A826377E} = {D54B9249-B233-42AD-8346-2E59628B9B34}
		{D54B9249-B233-42AD-8346-2E59628B9B34} = {A61994BD-A497-4FA5-B00C-EAC91FDFD0C5}
		{C5A73308-8FF9-4767-91CF-1B97B38B0403} = {A61994BD-A497-4FA5-B00C-EAC91FDFD0C5}
		{615565C8-84DE-4B6B-80DD-106695429AD8} = {C5A73308-8FF9-4767-91CF-1B97B38B0403}
		{39CD5D35-D98E-49A2-868B-89E7B64D25DE} = {C5A73308-8FF9-4767-91CF-1B97B38B0403}
		{2848D7D8-3C18-4DF0-8638-CBCCC36A325B} = {C5A73308-8FF9-4767-91CF-1B97B38B0403}
		{D41A679F-F6FD-45B5-B63C-304C720090CC} = {F6468D98-0EC8-412A-865C-6AC3F010C044}
		{D133A400-6A9B-4414-A989-6165FF3A3BAC} = {F6468D98-0EC8-412A-865C-6AC3F010C044}
		{2C3B781D-170C-44FA-BB73-E454A4AE73BD} = {F6468D98-0EC8-412A-865C-6AC3F010C044}
		{085D550D-9E27-474F-A79E-4578224F8664} = {F6468D98-0EC8-412A-865C-6AC3F010C044}
		{BF907E43-0F07-4502-9AF3-96B063281234} = {C5A73308-8FF9-4767-91CF-1B97B38B0403}
		{F496EC17-11A7-43DD-ABD2-0EACB53BF553} = {F6468D98-0EC8-412A-865C-6AC3F010C044}
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {1C34EA6A-1B6B-4B5A-B3D8-165B651A6744}
	EndGlobalSection
EndGlobal


================================================
FILE: src/test/Test.SegCtrl.Android/Assets/AboutAssets.txt
================================================
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories) and given a Build Action of "AndroidAsset".

These files will be deployed with you package and will be accessible using Android's
AssetManager, like this:

public class ReadAsset : Activity
{
	protected override void OnCreate (Bundle bundle)
	{
		base.OnCreate (bundle);

		InputStream input = Assets.Open ("my_asset.txt");
	}
}

Additionally, some Android functions will automatically load asset files:

Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");


================================================
FILE: src/test/Test.SegCtrl.Android/MainActivity.cs
================================================
using System;

using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace Test.SegmentedControl.Droid
{
    [Activity(Label = "Test.SegmentedControl", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());
        }
    }
}



================================================
FILE: src/test/Test.SegCtrl.Android/Properties/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.androi
Download .txt
gitextract_o606_dz2/

├── .github/
│   └── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
└── src/
    ├── build/
    │   ├── Plugin.SegmentedControl.Netstandard.nuspec
    │   ├── build.ps1
    │   ├── publish.ps1
    │   └── publishLocal.ps1
    ├── crossplatform/
    │   ├── SegCtrl.Droid/
    │   │   ├── Properties/
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Resources/
    │   │   │   ├── AboutResources.txt
    │   │   │   ├── color/
    │   │   │   │   └── segmented_control_text.xml
    │   │   │   ├── drawable/
    │   │   │   │   ├── segmented_control_background.xml
    │   │   │   │   ├── segmented_control_first_background.xml
    │   │   │   │   └── segmented_control_last_background.xml
    │   │   │   ├── layout/
    │   │   │   │   ├── RadioButton.axml
    │   │   │   │   └── RadioGroup.axml
    │   │   │   └── values/
    │   │   │       └── colors.xml
    │   │   ├── SegCtrl.Droid.csproj
    │   │   └── SegmentedControlRenderer.cs
    │   ├── SegCtrl.UWP/
    │   │   ├── Properties/
    │   │   │   ├── AssemblyInfo.cs
    │   │   │   └── Plugin.Segmented.Control.UWP.rd.xml
    │   │   ├── SegCtrl.UWP.csproj
    │   │   ├── SegmentRadioButton.cs
    │   │   ├── SegmentedControlRenderer.cs
    │   │   ├── SegmentedRadioButtonStyle.xaml
    │   │   ├── SegmentedUserControl.xaml
    │   │   └── SegmentedUserControl.xaml.cs
    │   ├── SegCtrl.iOS/
    │   │   ├── Properties/
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── SegCtrl.iOS.csproj
    │   │   └── SegmentedControlRenderer.cs
    │   └── SegCtrl.macOS/
    │       ├── Properties/
    │       │   └── AssemblyInfo.cs
    │       ├── SegCtrl.macOS.csproj
    │       └── SegmentedControlRenderer.cs
    ├── main/
    │   ├── SegCtlr.Netstandard/
    │   │   ├── Control/
    │   │   │   ├── SegmentedControl.cs
    │   │   │   └── SegmentedControlOption.cs
    │   │   ├── Event/
    │   │   │   ├── ElementChildrenChanging.cs
    │   │   │   └── SegmentSelectEvent.cs
    │   │   ├── PreserveAttribute.cs
    │   │   └── SegCtlr.Netstandard.csproj
    │   └── SegCtlr.Netstandard.sln
    └── test/
        ├── Test.SegCtrl.Android/
        │   ├── Assets/
        │   │   └── AboutAssets.txt
        │   ├── MainActivity.cs
        │   ├── Properties/
        │   │   ├── AndroidManifest.xml
        │   │   └── AssemblyInfo.cs
        │   ├── Resources/
        │   │   ├── AboutResources.txt
        │   │   ├── font/
        │   │   │   └── comicsaaaans.xml
        │   │   ├── layout/
        │   │   │   ├── Tabbar.axml
        │   │   │   └── Toolbar.axml
        │   │   └── values/
        │   │       └── styles.xml
        │   ├── Test.SegCtrl.Android.csproj
        │   └── Test.SegCtrl.Android.csproj.bak
        ├── Test.SegCtrl.UWP/
        │   ├── App.xaml
        │   ├── App.xaml.cs
        │   ├── MainPage.xaml
        │   ├── MainPage.xaml.cs
        │   ├── Package.appxmanifest
        │   ├── Properties/
        │   │   ├── AssemblyInfo.cs
        │   │   └── Default.rd.xml
        │   └── Test.SegCtlr.UWP.csproj
        ├── Test.SegCtrl.iOS/
        │   ├── AppDelegate.cs
        │   ├── Entitlements.plist
        │   ├── Info.plist
        │   ├── Main.cs
        │   ├── Properties/
        │   │   └── AssemblyInfo.cs
        │   ├── Resources/
        │   │   └── LaunchScreen.storyboard
        │   ├── Test.SegCtlr.iOS.csproj
        │   ├── iTunesArtwork
        │   └── iTunesArtwork@2x
        ├── Test.SegCtrl.macOS/
        │   ├── AppDelegate.cs
        │   ├── Assets.xcassets/
        │   │   ├── AppIcon.appiconset/
        │   │   │   └── Contents.json
        │   │   └── Contents.json
        │   ├── Entitlements.plist
        │   ├── Info.plist
        │   ├── Main.cs
        │   └── Test.SegCtrl.macOS.csproj
        └── Test.SegCtrl.netstandard/
            ├── App.xaml
            ├── App.xaml.cs
            ├── MainPage.xaml
            ├── MainPage.xaml.cs
            ├── MainViewModel.cs
            ├── SecondPage.xaml
            ├── SecondPage.xaml.cs
            ├── Test.SegCtrl.netstandard.csproj
            ├── ThirdPage.xaml
            └── ThirdPage.xaml.cs
Download .txt
SYMBOL INDEX (153 symbols across 23 files)

FILE: src/crossplatform/SegCtrl.Droid/SegmentedControlRenderer.cs
  class SegmentedControlRenderer (line 18) | [Preserve(AllMembers = true)]
    method SegmentedControlRenderer (line 27) | public SegmentedControlRenderer(Context context) : base(context)
    method OnElementChanged (line 32) | protected override void OnElementChanged(ElementChangedEventArgs<Segme...
    method AddElementHandlers (line 61) | private void AddElementHandlers(bool addChildrenHandlersOnly = false)
    method RemoveElementHandlers (line 82) | private void RemoveElementHandlers(bool removeChildrenHandlersOnly = f...
    method Element_SizeChanged (line 102) | private void Element_SizeChanged(object sender, EventArgs e)
    method Segment_PropertyChanged (line 125) | private void Segment_PropertyChanged(object sender, System.ComponentMo...
    method OnElementPropertyChanged (line 148) | protected override void OnElementPropertyChanged(object sender, System...
    method SetNativeControlSegments (line 208) | private void SetNativeControlSegments(LayoutInflater layoutInflater)
    method SetSelectedRadioButton (line 254) | private void SetSelectedRadioButton(int index)
    method OnPropertyChanged (line 263) | private void OnPropertyChanged()
    method ConfigureRadioButton (line 278) | private void ConfigureRadioButton(int index, RadioButton radioButton)
    method NativeControl_ValueChanged (line 340) | private void NativeControl_ValueChanged(object sender, RadioGroup.Chec...
    method OnElementChildrenChanging (line 362) | private void OnElementChildrenChanging(object sender, EventArgs e)
    method ConvertDipToPixel (line 367) | private int ConvertDipToPixel(double dip)
    method SetBackgroundColor (line 372) | public override void SetBackgroundColor(Android.Graphics.Color color)
    method Dispose (line 380) | protected override void Dispose(bool disposing)
    method Init (line 409) | public static void Init()

FILE: src/crossplatform/SegCtrl.UWP/SegmentRadioButton.cs
  class SegmentRadioButton (line 7) | public class SegmentRadioButton : RadioButton
    method SegmentRadioButton (line 54) | public SegmentRadioButton()
    method SegmentRadioButton_IsEnabledChanged (line 59) | private void SegmentRadioButton_IsEnabledChanged(object sender, Depend...
    method OnTintChanged (line 67) | private static void OnTintChanged(DependencyObject d, DependencyProper...
    method OnDisabledColorChanged (line 77) | private static void OnDisabledColorChanged(DependencyObject d, Depende...
    method OnSelectedTextChanged (line 86) | private static void OnSelectedTextChanged(DependencyObject d, Dependen...
    method OnTextColorChanged (line 95) | private static void OnTextColorChanged(DependencyObject d, DependencyP...
    method Refresh (line 105) | private static void Refresh(SegmentRadioButton segment)

FILE: src/crossplatform/SegCtrl.UWP/SegmentedControlRenderer.cs
  class SegmentedControlRenderer (line 14) | [Preserve(AllMembers = true)]
    method SegmentedControlRenderer (line 21) | public SegmentedControlRenderer() {}
    method OnElementChanged (line 23) | protected override void OnElementChanged(ElementChangedEventArgs<Segme...
    method OnElementPropertyChanged (line 38) | protected override void OnElementPropertyChanged(object sender, Proper...
    method SetFontSize (line 90) | private void SetFontSize()
    method SetFontFamily (line 101) | private void SetFontFamily()
    method SetSelectedSegment (line 112) | private void SetSelectedSegment()
    method SetTintColor (line 129) | private void SetTintColor()
    method SetIsEnabled (line 139) | private void SetIsEnabled()
    method SetDisabledColor (line 161) | private void SetDisabledColor()
    method SetTextColor (line 174) | private void SetTextColor()
    method SetSelectedTextColor (line 183) | private void SetSelectedTextColor()
    method SetChildren (line 191) | private void SetChildren()
    method CreateSegmentedRadioButtonControl (line 200) | private void CreateSegmentedRadioButtonControl()
    method Segment_PropertyChanged (line 269) | private void Segment_PropertyChanged(object sender, PropertyChangedEve...
    method SegmentRadioButtonOnChecked (line 286) | private void SegmentRadioButtonOnChecked(object sender, RoutedEventArg...
    method Dispose (line 297) | protected override void Dispose(bool disposing)
    method DisposeEventHandlers (line 303) | private void DisposeEventHandlers()

FILE: src/crossplatform/SegCtrl.UWP/SegmentedUserControl.xaml.cs
  class SegmentedUserControl (line 7) | public sealed partial class SegmentedUserControl : UserControl
    method SegmentedUserControl (line 10) | public SegmentedUserControl()

FILE: src/crossplatform/SegCtrl.iOS/SegmentedControlRenderer.cs
  class SegmentedControlRenderer (line 14) | [Preserve(AllMembers = true)]
    method OnElementChanged (line 19) | protected override void OnElementChanged(ElementChangedEventArgs<Segme...
    method SetNativeControlSegments (line 60) | private void SetNativeControlSegments(IList<SegmentedControlOption> ch...
    method AddElementHandlers (line 85) | private void AddElementHandlers(SegmentedControl element, bool addChil...
    method RemoveElementHandlers (line 104) | private void RemoveElementHandlers(bool removeChildrenHandlersOnly = f...
    method OnElementChildrenChanging (line 123) | private void OnElementChildrenChanging(object sender, EventArgs e)
    method SegmentPropertyChanged (line 129) | private void SegmentPropertyChanged(object sender, PropertyChangedEven...
    method OnElementPropertyChanged (line 147) | protected override void OnElementPropertyChanged(object sender, System...
    method SetEnabledStateColor (line 206) | private void SetEnabledStateColor()
    method SetFont (line 222) | private void SetFont()
    method SetTextColor (line 235) | private void SetTextColor()
    method SetSelectedTextColor (line 244) | private void SetSelectedTextColor()
    method SetBorder (line 253) | private void SetBorder()
    method NativeControl_SelectionChanged (line 262) | private void NativeControl_SelectionChanged(object sender, EventArgs e)
    method Dispose (line 267) | protected override void Dispose(bool disposing)
    method Initialize (line 280) | public static void Initialize()

FILE: src/crossplatform/SegCtrl.macOS/SegmentedControlRenderer.cs
  class SegmentedControlRenderer (line 13) | [Preserve(AllMembers = true)]
    method OnElementChanged (line 18) | protected override void OnElementChanged(ElementChangedEventArgs<Segme...
    method CreateNativeSegmentedControl (line 35) | private void CreateNativeSegmentedControl()
    method OnNativeSegmentChanged (line 53) | private void OnNativeSegmentChanged()
    method ResetNativeControl (line 61) | private void ResetNativeControl()
    method AddElementHandlers (line 75) | private void AddElementHandlers(SegmentedControl element, bool addChil...
    method RemoveElementHandlers (line 93) | private void RemoveElementHandlers(bool removeChildrenHandlersOnly = f...
    method OnElementChildrenChanging (line 112) | private void OnElementChildrenChanging(object sender, EventArgs e)
    method SegmentPropertyChanged (line 117) | private void SegmentPropertyChanged(object sender, PropertyChangedEven...
    method OnElementPropertyChanged (line 136) | protected override void OnElementPropertyChanged(object sender, Proper...
    method SetFont (line 173) | private void SetFont()
    method Dispose (line 181) | protected override void Dispose(bool disposing)
    method Initialize (line 189) | public static void Initialize()

FILE: src/main/SegCtlr.Netstandard/Control/SegmentedControl.cs
  class SegmentedControl (line 13) | [DesignTimeVisible(true)]
    method SegmentedControl (line 18) | public SegmentedControl()
    method OnChildrenChanging (line 29) | private static void OnChildrenChanging(BindableObject bindable, object...
    method OnItemsSourceChanged (line 56) | private void OnItemsSourceChanged()
    method OnPropertyChanged (line 89) | protected override void OnPropertyChanged(string propertyName = null)
    method OnSelectedSegmentChanged (line 101) | private void OnSelectedSegmentChanged()
    method OnSelectedItemChanged (line 108) | private void OnSelectedItemChanged(bool forceUpdateSelectedSegment = f...
    method RaiseSelectionChanged (line 242) | [EditorBrowsable(EditorBrowsableState.Never)]
    method OnBindingContextChanged (line 253) | protected override void OnBindingContextChanged()

FILE: src/main/SegCtlr.Netstandard/Control/SegmentedControlOption.cs
  class SegmentedControlOption (line 7) | [Preserve(AllMembers = true)]
    method OnItemChanged (line 32) | private void OnItemChanged(object value, object newValue)
    method OnPropertyChanged (line 40) | protected override void OnPropertyChanged(string propertyName = null)
    method OnItemPropertyChanged (line 48) | private void OnItemPropertyChanged(object sender, PropertyChangedEvent...
    method SetTextFromItemProperty (line 54) | private void SetTextFromItemProperty()

FILE: src/main/SegCtlr.Netstandard/Event/ElementChildrenChanging.cs
  class ElementChildrenChanging (line 8) | [Preserve(AllMembers = true)]
    method ElementChildrenChanging (line 11) | public ElementChildrenChanging(IList<SegmentedControlOption> oldValues...

FILE: src/main/SegCtlr.Netstandard/Event/SegmentSelectEvent.cs
  class SegmentSelectEventArgs (line 5) | [Preserve(AllMembers = true)]

FILE: src/main/SegCtlr.Netstandard/PreserveAttribute.cs
  class PreserveAttribute (line 5) | public sealed class PreserveAttribute : Attribute

FILE: src/test/Test.SegCtrl.Android/MainActivity.cs
  class MainActivity (line 12) | [Activity(Label = "Test.SegmentedControl", Icon = "@drawable/icon", Them...
    method OnCreate (line 15) | protected override void OnCreate(Bundle bundle)

FILE: src/test/Test.SegCtrl.UWP/App.xaml.cs
  class App (line 16) | sealed partial class App : Application
    method App (line 22) | public App()
    method OnLaunched (line 33) | protected override void OnLaunched(LaunchActivatedEventArgs e)
    method OnNavigationFailed (line 82) | void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
    method OnSuspending (line 94) | private void OnSuspending(object sender, SuspendingEventArgs e)

FILE: src/test/Test.SegCtrl.UWP/MainPage.xaml.cs
  class MainPage (line 18) | public sealed partial class MainPage
    method MainPage (line 20) | public MainPage()

FILE: src/test/Test.SegCtrl.iOS/AppDelegate.cs
  class AppDelegate (line 11) | [Register("AppDelegate")]
    method FinishedLaunching (line 21) | public override bool FinishedLaunching(UIApplication app, NSDictionary...

FILE: src/test/Test.SegCtrl.iOS/Main.cs
  class Application (line 5) | public class Application
    method Main (line 8) | static void Main(string[] args)

FILE: src/test/Test.SegCtrl.macOS/AppDelegate.cs
  class AppDelegate (line 8) | [Register("AppDelegate")]
    method AppDelegate (line 12) | public AppDelegate()
    method DidFinishLaunching (line 23) | public override void DidFinishLaunching(NSNotification notification)
    method WillTerminate (line 35) | public override void WillTerminate(NSNotification notification)

FILE: src/test/Test.SegCtrl.macOS/Main.cs
  class MainClass (line 5) | internal static class MainClass
    method Main (line 7) | private static void Main(string[] args)

FILE: src/test/Test.SegCtrl.netstandard/App.xaml.cs
  class App (line 10) | public partial class App : Application
    method App (line 12) | public App()
    method OnStart (line 19) | protected override void OnStart()
    method OnSleep (line 24) | protected override void OnSleep()
    method OnResume (line 29) | protected override void OnResume()

FILE: src/test/Test.SegCtrl.netstandard/MainPage.xaml.cs
  class MainPage (line 9) | public partial class MainPage : ContentPage
    method MainPage (line 13) | public MainPage()
    method Button_OnClicked (line 20) | private void Button_OnClicked(object sender, EventArgs e)
    method ButtonTintColor_OnClicked (line 25) | private void ButtonTintColor_OnClicked(object sender, EventArgs e)
    method ButtonSelectedTextColor_OnClicked (line 30) | private void ButtonSelectedTextColor_OnClicked(object sender, EventArg...
    method ButtonBorderColor_OnClicked (line 35) | private void ButtonBorderColor_OnClicked(object sender, EventArgs e)
    method ButtonBorderWidth_OnClicked (line 40) | private void ButtonBorderWidth_OnClicked(object sender, EventArgs e)
    method ButtonBackgroundColor_OnClicked (line 45) | private void ButtonBackgroundColor_OnClicked(object sender, EventArgs e)
    method Disable_OnClicked (line 50) | private void Disable_OnClicked(object sender, EventArgs e)
    method Enable_OnClicked (line 55) | private void Enable_OnClicked(object sender, EventArgs e)
    method ChangeDisabledColor_OnClicked (line 60) | private void ChangeDisabledColor_OnClicked(object sender, EventArgs e)
    method SelectSegment3 (line 65) | private void SelectSegment3(object sender, EventArgs e)
    method ChangeFirstText (line 70) | private void ChangeFirstText(object sender, EventArgs e)
    method DisableFirstSegment_OnClicked (line 76) | public void DisableFirstSegment_OnClicked(object sender, EventArgs e)
    method EnableFirstSegment_OnClicked (line 81) | public void EnableFirstSegment_OnClicked(object sender, EventArgs e)
    method OnElementChildrenChanging (line 86) | public void OnElementChildrenChanging(object sender, ElementChildrenCh...
    method ChangeTextSize_OnClicked (line 98) | public void ChangeTextSize_OnClicked(object sender, EventArgs e)
    method ChangeFontFamily_OnClicked (line 103) | public void ChangeFontFamily_OnClicked(object sender, EventArgs e)
    method SecondPage_OnClicked (line 123) | public void SecondPage_OnClicked(object sender, EventArgs e)
    method ThirdPage_OnClicked (line 129) | private void ThirdPage_OnClicked(object sender, EventArgs e)
    method Button_TextColor (line 139) | private void Button_TextColor(object sender, EventArgs e)

FILE: src/test/Test.SegCtrl.netstandard/MainViewModel.cs
  class MainViewModel (line 10) | public class MainViewModel : INotifyPropertyChanged
    method MainViewModel (line 29) | public MainViewModel()
    method OnSegmentChanged (line 40) | private void OnSegmentChanged(object obj)
    method OnChangeItemsSource (line 45) | private void OnChangeItemsSource(object obj)
    method OnPropertyChanged (line 105) | protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)

FILE: src/test/Test.SegCtrl.netstandard/SecondPage.xaml.cs
  class SecondPage (line 8) | public partial class SecondPage : ContentPage
    method SecondPage (line 10) | public SecondPage()
    method Button_Clicked (line 15) | private void Button_Clicked(object sender, EventArgs e)
    method Seg_OnSegmentSelected (line 21) | private void Seg_OnSegmentSelected(object sender, Plugin.Segmented.Eve...

FILE: src/test/Test.SegCtrl.netstandard/ThirdPage.xaml.cs
  class ThirdPage (line 9) | public partial class ThirdPage : ContentPage
    method ThirdPage (line 11) | public ThirdPage()
    method Button_Clicked (line 17) | private void Button_Clicked(object sender, EventArgs e)
  class ThirdPageViewModel (line 24) | public class ThirdPageViewModel
    method ThirdPageViewModel (line 29) | public ThirdPageViewModel()
    class Item (line 49) | public class Item : INotifyPropertyChanged
Condensed preview — 85 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (316K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 676,
    "preview": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [u"
  },
  {
    "path": ".gitignore",
    "chars": 4870,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
  },
  {
    "path": "LICENSE",
    "chars": 1064,
    "preview": "MIT License\n\nCopyright (c) 2017 1iveowl\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof"
  },
  {
    "path": "README.md",
    "chars": 6876,
    "preview": "# Plugin Segmented Control for Xamarin Forms and .NET Standard\n\n[![NuGet Badge](https://img.shields.io/nuget/v/Plugin.Se"
  },
  {
    "path": "src/build/Plugin.SegmentedControl.Netstandard.nuspec",
    "chars": 5138,
    "preview": "<?xml version=\"1.0\"?>\n<package>\n  <metadata>\n    <id>Plugin.SegmentedControl.Netstandard</id>\n    <version>0</version>\n "
  },
  {
    "path": "src/build/build.ps1",
    "chars": 1252,
    "preview": "param([string]$version)\n\nif ([string]::IsNullOrEmpty($version)) {$version = \"0.0.1\"}\n\nif ($IsMacOS) {\n    $msbuild = \"ms"
  },
  {
    "path": "src/build/publish.ps1",
    "chars": 584,
    "preview": "param([string]$betaver)\n\nif ([string]::IsNullOrEmpty($betaver)) {\n\t$version = [Reflection.AssemblyName]::GetAssemblyName"
  },
  {
    "path": "src/build/publishLocal.ps1",
    "chars": 581,
    "preview": "param([string]$betaver)\n\nif ([string]::IsNullOrEmpty($betaver)) {\n\t$version = [Reflection.AssemblyName]::GetAssemblyName"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Properties/AssemblyInfo.cs",
    "chars": 1097,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusing Android.App"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/AboutResources.txt",
    "chars": 1693,
    "preview": "Images, layout descriptions, binary blobs and string dictionaries can be included \nin your application as resource files"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/color/segmented_control_text.xml",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item "
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_background.xml",
    "chars": 781,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\t<item and"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_first_background.xml",
    "chars": 898,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\t<item and"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/drawable/segmented_control_last_background.xml",
    "chars": 798,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\t<item and"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/layout/RadioButton.axml",
    "chars": 446,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RadioButton xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/layout/RadioGroup.axml",
    "chars": 263,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RadioGroup xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/Resources/values/colors.xml",
    "chars": 167,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"normal\">@android:color/transparent</color>\n    <col"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/SegCtrl.Droid.csproj",
    "chars": 13056,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "src/crossplatform/SegCtrl.Droid/SegmentedControlRenderer.cs",
    "chars": 14093,
    "preview": "using System;\nusing System.Linq;\nusing Android.Content;\nusing Android.Graphics;\nusing Android.Graphics.Drawables;\nusing"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/Properties/AssemblyInfo.cs",
    "chars": 1073,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/Properties/Plugin.Segmented.Control.UWP.rd.xml",
    "chars": 1542,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n    This file contains Runtime Directives, specifications about types your a"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegCtrl.UWP.csproj",
    "chars": 9452,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micro"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegmentRadioButton.cs",
    "chars": 4505,
    "preview": "using Windows.UI.Xaml;\nusing Windows.UI.Xaml.Controls;\nusing Windows.UI.Xaml.Media;\n\nnamespace Plugin.Segmented.Control"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegmentedControlRenderer.cs",
    "chars": 11780,
    "preview": "using System;\nusing System.ComponentModel;\nusing System.Linq;\nusing Windows.UI.Xaml;\nusing Windows.UI.Xaml.Controls;\nus"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegmentedRadioButtonStyle.xaml",
    "chars": 9605,
    "preview": "<ResourceDictionary\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \n    xmlns:x=\"http://schemas."
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegmentedUserControl.xaml",
    "chars": 727,
    "preview": "<UserControl\n    x:Class=\"Plugin.Segmented.Control.UWP.SegmentedUserControl\"\n    xmlns=\"http://schemas.microsoft.com/wi"
  },
  {
    "path": "src/crossplatform/SegCtrl.UWP/SegmentedUserControl.xaml.cs",
    "chars": 407,
    "preview": "using Windows.UI.Xaml.Controls;\n\n// The User Control item template is documented at https://go.microsoft.com/fwlink/?Li"
  },
  {
    "path": "src/crossplatform/SegCtrl.iOS/Properties/AssemblyInfo.cs",
    "chars": 1429,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "src/crossplatform/SegCtrl.iOS/SegCtrl.iOS.csproj",
    "chars": 3179,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "src/crossplatform/SegCtrl.iOS/SegmentedControlRenderer.cs",
    "chars": 9353,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq;\nusing Plugin.Segmented."
  },
  {
    "path": "src/crossplatform/SegCtrl.macOS/Properties/AssemblyInfo.cs",
    "chars": 1027,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\n\n// Information about this assembly is defined by the f"
  },
  {
    "path": "src/crossplatform/SegCtrl.macOS/SegCtrl.macOS.csproj",
    "chars": 3393,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "src/crossplatform/SegCtrl.macOS/SegmentedControlRenderer.cs",
    "chars": 6235,
    "preview": "using System;\nusing System.Linq;\nusing Xamarin.Forms;\nusing AppKit;\nusing Xamarin.Forms.Platform.MacOS;\nusing Plugin.Se"
  },
  {
    "path": "src/main/SegCtlr.Netstandard/Control/SegmentedControl.cs",
    "chars": 11246,
    "preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Lin"
  },
  {
    "path": "src/main/SegCtlr.Netstandard/Control/SegmentedControlOption.cs",
    "chars": 2354,
    "preview": "using System;\nusing System.ComponentModel;\nusing Xamarin.Forms;\n\nnamespace Plugin.Segmented.Control\n{\n    [Preserve(All"
  },
  {
    "path": "src/main/SegCtlr.Netstandard/Event/ElementChildrenChanging.cs",
    "chars": 558,
    "preview": "using System;\nusing System.Collections.Generic;\nusing Plugin.Segmented.Control;\n\nnamespace Plugin.Segmented.Event\n{\n\n  "
  },
  {
    "path": "src/main/SegCtlr.Netstandard/Event/SegmentSelectEvent.cs",
    "chars": 193,
    "preview": "using System;\n\nnamespace Plugin.Segmented.Event\n{\n    [Preserve(AllMembers = true)]\n    public class SegmentSelectEvent"
  },
  {
    "path": "src/main/SegCtlr.Netstandard/PreserveAttribute.cs",
    "chars": 178,
    "preview": "using System;\n\nnamespace Plugin.Segmented\n{\n    public sealed class PreserveAttribute : Attribute\n    {\n        public "
  },
  {
    "path": "src/main/SegCtlr.Netstandard/SegCtlr.Netstandard.csproj",
    "chars": 996,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <Assembl"
  },
  {
    "path": "src/main/SegCtlr.Netstandard.sln",
    "chars": 57858,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.2980"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Assets/AboutAssets.txt",
    "chars": 603,
    "preview": "Any raw assets you want to be deployed with your application can be placed in\nthis directory (and child directories) and"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/MainActivity.cs",
    "chars": 818,
    "preview": "using System;\n\nusing Android.App;\nusing Android.Content.PM;\nusing Android.Runtime;\nusing Android.Views;\nusing Android.W"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Properties/AndroidManifest.xml",
    "chars": 578,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" android:ver"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Properties/AssemblyInfo.cs",
    "chars": 1305,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusing Android.App"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Resources/AboutResources.txt",
    "chars": 1772,
    "preview": "Images, layout descriptions, binary blobs and string dictionaries can be included \nin your application as resource files"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Resources/font/comicsaaaans.xml",
    "chars": 410,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<font-family xmlns:android=\"http://schemas.android.com/apk/res/android\"\n       "
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Resources/layout/Tabbar.axml",
    "chars": 885,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.google.android.material.tabs.TabLayout xmlns:android=\"http://schemas.android"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Resources/layout/Toolbar.axml",
    "chars": 383,
    "preview": "<androidx.appcompat.widget.Toolbar\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/t"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Resources/values/styles.xml",
    "chars": 1404,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<resources>\n\n  <style name=\"MainTheme\" parent=\"MainTheme.Base\">\n  </style>\n  <!-"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Test.SegCtrl.Android.csproj",
    "chars": 13383,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "src/test/Test.SegCtrl.Android/Test.SegCtrl.Android.csproj.bak",
    "chars": 18470,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/App.xaml",
    "chars": 281,
    "preview": "<Application\n    x:Class=\"Test.SegmentedControl.UWP.App\"\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presen"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/App.xaml.cs",
    "chars": 3961,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing Windows.ApplicationModel;\nusing Windows."
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/MainPage.xaml",
    "chars": 640,
    "preview": "<forms:WindowsPage\n    x:Class=\"Test.SegmentedControl.UWP.MainPage\"\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/MainPage.xaml.cs",
    "chars": 663,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Runtime.InteropService"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/Package.appxmanifest",
    "chars": 1617,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<Package\n  xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/Properties/AssemblyInfo.cs",
    "chars": 1067,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/Properties/Default.rd.xml",
    "chars": 1241,
    "preview": "<!--\n    This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most\n    develope"
  },
  {
    "path": "src/test/Test.SegCtrl.UWP/Test.SegCtlr.UWP.csproj",
    "chars": 11093,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micro"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/AppDelegate.cs",
    "chars": 1163,
    "preview": "using Foundation;\nusing Plugin.Segmented.Control.iOS;\nusing Test.SegmentedControl;\nusing UIKit;\n\nnamespace Test.Segment"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Entitlements.plist",
    "chars": 191,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Info.plist",
    "chars": 1822,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Main.cs",
    "chars": 414,
    "preview": "using UIKit;\n\nnamespace Test.Segmented.Control.iOS\n{\n    public class Application\n    {\n        // This is the main ent"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Properties/AssemblyInfo.cs",
    "chars": 1423,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Resources/LaunchScreen.storyboard",
    "chars": 2616,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "src/test/Test.SegCtrl.iOS/Test.SegCtlr.iOS.csproj",
    "chars": 7656,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/AppDelegate.cs",
    "chars": 1202,
    "preview": "using AppKit;\nusing Foundation;\nusing SegCtrl.macOS;\nusing Test.SegmentedControl;\n\nnamespace Test.SegCtrl.macOS\n{\n    ["
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1250,
    "preview": "{\n  \"images\": [\n    {\n      \"filename\": \"AppIcon-16.png\",\n      \"size\": \"16x16\",\n      \"scale\": \"1x\",\n      \"idiom\": \"ma"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Assets.xcassets/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Entitlements.plist",
    "chars": 190,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Info.plist",
    "chars": 967,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Main.cs",
    "chars": 311,
    "preview": "using AppKit;\n\nnamespace Test.SegCtrl.macOS\n{\n    internal static class MainClass\n    {\n        private static void Mai"
  },
  {
    "path": "src/test/Test.SegCtrl.macOS/Test.SegCtrl.macOS.csproj",
    "chars": 4687,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/App.xaml",
    "chars": 328,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<Application xmlns=\"http://xamarin.com/schemas/2014/forms\"\n             xmlns:x"
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/App.xaml.cs",
    "chars": 659,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing Xamarin.Forms;\n\nnamespace "
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/MainPage.xaml",
    "chars": 4212,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<ContentPage xmlns=\"http://xamarin.com/schemas/2014/forms\"\n             xmlns:x="
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/MainPage.xaml.cs",
    "chars": 4925,
    "preview": "using System;\nusing Plugin.Segmented.Control;\nusing Plugin.Segmented.Event;\nusing Test.SegCtrl;\nusing Xamarin.Forms;\n\nn"
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/MainViewModel.cs",
    "chars": 4199,
    "preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Windows.Input;\r\nusing Plugi"
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/SecondPage.xaml",
    "chars": 1223,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ContentPage xmlns=\"http://xamarin.com/schemas/2014/forms\" \n             xmlns:x="
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/SecondPage.xaml.cs",
    "chars": 663,
    "preview": "using System;\nusing System.Collections.Generic;\n\nusing Xamarin.Forms;\n\nnamespace Test.SegCtrl.netstandard\n{\n    public "
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/Test.SegCtrl.netstandard.csproj",
    "chars": 1037,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n     <Packag"
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/ThirdPage.xaml",
    "chars": 1014,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ContentPage xmlns=\"http://xamarin.com/schemas/2014/forms\" \n             xmlns:x="
  },
  {
    "path": "src/test/Test.SegCtrl.netstandard/ThirdPage.xaml.cs",
    "chars": 1764,
    "preview": "using System.Threading.Tasks;\nusing System.ComponentModel;\nusing System;\nusing System.Collections.Generic;\nusing Xamari"
  }
]

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

About this extraction

This page contains the full source code of the 1iveowl/Plugin.SegmentedControl GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 85 files (289.3 KB), approximately 85.7k tokens, and a symbol index with 153 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!