Tizen.Multimedia.AudioManager/a> class returns the stream audio type, and if not, it returns <code>AudioVolumeType.None<\/code>.<\/p>\n<p>To control the volume of your application, proceed as follows:<\/p>\n<ol>\n<li>\n<p>To receive a notification whenever the volume changes, define and register an event handler for the <code>VolumeController.Changed<\/code> event of the <code>Tizen.Multimedia.AudioManager<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnVolumeChanged<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#F97583\">object<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">VolumeChangedEventArgs<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Tizen.Log.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Info<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"AudioManager"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">$"<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">{<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">args<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">.<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Type<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> volume changed to <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">{<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">args<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">.<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Level<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AudioManager.VolumeController.Changed <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> OnVolumeChanged;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>When the volume changes, the event handler provides in its parameters the audio type that has changed and the new volume level.<\/p>\n<\/li>\n<li>\n<p>To retrieve the current and maximum volumes for a specific audio type, use the <code>VolumeController.Level<\/code> and <code>VolumeController.MaxLevel<\/code> properties of the <code>Tizen.Multimedia.AudioManager<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">type<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioVolumeType.Media;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">curVol<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioManager.VolumeController.Level[type];<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">maxVol<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioManager.VolumeController.MaxLevel[type];<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To set the volume level, use the <code>VolumeController.Level<\/code> property.<\/p>\n<p>In the following example, a value is received from application UI slider, with which the user sets the volume level:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">type<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioVolumeType.Media;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">value<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Make sure the value is within the system maximum volume<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ by checking the VolumeController.MaxLevel property<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AudioManager.VolumeController.Level[type] <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> value;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"query_device\"><\/a><\/p>\n<h2 id=\"content-query-audio-devices\"><a href=https://samsungtizenos.com/"#content-query-audio-devices\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Query audio devices<\/h2>\n<p>The audio behavior of your application must change depending on the audio devices that are connected.<\/p>\n<p>To query audio device information, proceed as follows:<\/p>\n<ol>\n<li>\n<p>To access device information:<\/p>\n<ul>\n<li>\n<p>Retrieve the list of the currently connected audio devices with the <code>GetConnectedDevices()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.AudioManager.md/">Tizen.Multimedia.AudioManager/a> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">IEnumerable<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioDevice<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">connectedDevices<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioManager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetConnectedDevices<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Retrieve the device information from the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.AudioDevice.md/">Tizen.Multimedia.AudioDevice/a> class, which has the following properties:<\/p>\n<ul>\n<li><code>Type<\/code>: Device type<\/li>\n<li><code>IoDirection<\/code>: Device IO direction<\/li>\n<li><code>Id<\/code>: Device ID<\/li>\n<li><code>Name<\/code>: Device name<\/li>\n<li><code>IsRunning<\/code>: Device running state<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>To get a notification when the audio device connection or state changes, add event handlers for the <code>DeviceConnectionChanged<\/code> and <code>DeviceRunningChanged<\/code> events of the <code>Tizen.Multimedia.AudioManager<\/code> class:<\/p>\n<ul>\n<li>\n<p>To receive a notification whenever the device connection state changes:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnDeviceConnectionChanged<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioDeviceConnectionChangedEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (args.IsConnected)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (args.Device.Type <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioDeviceType.BluetoothMedia)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Connected device type is Bluetooth, handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (args.Device.Type <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioDeviceType.BluetoothMedia)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Disconnected device type is Bluetooth, handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AudioManager.DeviceConnectionChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> OnDeviceConnectionChanged;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To receive a notification whenever the device state changes:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnDeviceRunningChanged<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#F97583\">object<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioDeviceRunningChangedEventArgs<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (args.Device.Type <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioDeviceType.BluetoothMedia)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (args.Device.IsRunning <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">false<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Bluetooth device is not running, handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Handle accordingly<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AudioManager.DeviceRunningChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> OnDeviceRunningChanged;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>The initial running state of the connected device is <code>false<\/code>, which means the connected device is not running.<\/p>\n<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>To utilize additional functionality for USB audio type and output direction device, use the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.AudioDevice.md/">Tizen.Multimedia.AudioDevice/a> class:<\/p>\n<ul>\n<li>\n<p>To get the device of USB audio type and output direction:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioDevice<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">usbOutputDevice<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">null<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">foreach<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioDevice<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">d<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">in<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioManager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetConnectedDevices<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (d.Type <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioDeviceType.UsbAudio <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">&&<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> d.IoDirection <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AudioDeviceIoDirection.Output)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> usbOutputDevice <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> d;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">break<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To get the supported sample formats and to set the specific sample format:<\/p>\n<ul>\n<li>\n<p>Retrieve the list of the currently supported sample formats with the <code>GetSupportedSampleFormats()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">IEnumerable<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AudioSampleFormat<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">supportedFormats<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> usbOutputDevice.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetSupportedSampleFormats<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Select one of the supported sample formats, then set it with the <code>SetSampleFormat()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">usbOutputDevice.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">SetSampleFormat<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(AudioSampleFormat.S16LE);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>To get the supported sample rates and to set the specific sample rate:<\/p>\n<ul>\n<li>\n<p>Retrieve the list of the currently supported sample rates with the <code>GetSupportedSampleRates()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">IEnumerable<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">uint<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">supportedRates<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> usbOutputDevice.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetSupportedSampleRates<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Select one of the supported sample rates, then set it with the <code>SetSampleRate()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">usbOutputDevice.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SetSampleRate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">48000<\/span><span style=\"color:#005CC5;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-control-volume-levels\">Control volume levels<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-query-audio-devices\">Query audio devices<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Audio Management","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"8VLHVEV5MN1UzV6HLC1z","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/multimedia\/audio","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"a3ff4b5fa5047b112fadd3b49309dff3f96921492756b8684f6c54f31718d5d7"}" wire:effects="[]" wire:id="8VLHVEV5MN1UzV6HLC1z" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtYXVkaW8tbWFuYWdlbWVudFwiPjxhIGhyZWY9XCIjY29udGVudC1hdWRpby1tYW5hZ2VtZW50XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5BdWRpbyBNYW5hZ2VtZW50PFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPllvdSBjYW4gY29udHJvbCB0aGUgYXVkaW8gYmVoYXZpb3Igb2YgeW91ciBhcHBsaWNhdGlvbi48XC9wPlxuPHA+VGhlIG1haW4gZmVhdHVyZXMgb2YgdGhlIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuQXVkaW9NYW5hZ2VyPFwvY29kZT4gY2xhc3MgaW5jbHVkZSB0aGUgZm9sbG93aW5nOjxcL3A+XG48dWw+XG48bGk+XG48cD5Db250cm9sbGluZyB0aGUgdm9sdW1lPFwvcD5cbjxwPllvdSBjYW4gPGEgaHJlZj1cIiNtYW5hZ2VcIj5jb250cm9sIHRoZSBvdXRwdXQgdm9sdW1lPFwvYT4gYnkgbWFuYWdpbmcgdGhlIGF1ZGlvIHR5cGUgYW5kIGl0cyB2b2x1bWUgbGV2ZWwuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+UXVlcnlpbmcgYXVkaW8gZGV2aWNlczxcL3A+XG48cD5Zb3UgY2FuIDxhIGhyZWY9XCIjcXVlcnlfZGV2aWNlXCI+cmV0cmlldmUgdmFyaW91cyBkZXZpY2UgaW5mb3JtYXRpb248XC9hPiwgc3VjaCBhcyB0aGUgZGV2aWNlIHN0YXRlLjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPGgyIGlkPVwiY29udGVudC1wcmVyZXF1aXNpdGVzXCI+PGEgaHJlZj1cIiNjb250ZW50LXByZXJlcXVpc2l0ZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlByZXJlcXVpc2l0ZXM8XC9oMj5cbjxwPlRvIGNvbnRyb2wgdm9sdW1lIGxldmVscywgdGhlIGFwcGxpY2F0aW9uIGhhcyB0byByZXF1ZXN0IHBlcm1pc3Npb24gYnkgYWRkaW5nIHRoZSBmb2xsb3dpbmcgcHJpdmlsZWdlIHRvIHRoZSA8Y29kZT50aXplbi1tYW5pZmVzdC54bWw8XC9jb2RlPiBmaWxlOjxcL3A+XG48Y29kZSBjbGFzcz1cImxhbmd1YWdlLVhNTFwiPiZsdDtwcml2aWxlZ2VzJmd0O1xuICAgJmx0O3ByaXZpbGVnZSZndDtodHRwOlwvXC90aXplbi5vcmdcL3ByaXZpbGVnZVwvdm9sdW1lLnNldCZsdDtcL3ByaXZpbGVnZSZndDtcbiZsdDtcL3ByaXZpbGVnZXMmZ3Q7XG48XC9jb2RlPlxuPHA+PGEgbmFtZT1cIm1hbmFnZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtY29udHJvbC12b2x1bWUtbGV2ZWxzXCI+PGEgaHJlZj1cIiNjb250ZW50LWNvbnRyb2wtdm9sdW1lLWxldmVsc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q29udHJvbCB2b2x1bWUgbGV2ZWxzPFwvaDI+XG48cD5Zb3UgY2FuIG1hbmFnZSB0aGUgdm9sdW1lIGxldmVsIG9mIGEgc3BlY2lmaWMgYXVkaW8gdHlwZS4gWW91IGNhbiBzZXQgYW5kIGdldCBhIHZvbHVtZSBsZXZlbCBhbmQgYSBtYXhpbXVtIHZvbHVtZSBsZXZlbCBvZiBhIHBhcnRpY3VsYXIgYXVkaW8gdHlwZS48XC9wPlxuPHA+Tm9ybWFsbHksIGlmIHRoZXJlIGlzIGFuIGFjdGl2ZSBvdXRwdXQgc3RyZWFtLCB0aGUgPGNvZGU+Vm9sdW1lQ29udHJvbGxlci5DdXJyZW50UGxheWJhY2tUeXBlPFwvY29kZT4gcHJvcGVydHkgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuQXVkaW9NYW5hZ2VyLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5BdWRpb01hbmFnZXI8XC9hPiBjbGFzcyByZXR1cm5zIHRoZSBzdHJlYW0gYXVkaW8gdHlwZSwgYW5kIGlmIG5vdCwgaXQgcmV0dXJucyA8Y29kZT5BdWRpb1ZvbHVtZVR5cGUuTm9uZTxcL2NvZGU+LjxcL3A+XG48cD5UbyBjb250cm9sIHRoZSB2b2x1bWUgb2YgeW91ciBhcHBsaWNhdGlvbiwgcHJvY2VlZCBhcyBmb2xsb3dzOjxcL3A+XG48b2w+XG48bGk+XG48cD5UbyByZWNlaXZlIGEgbm90aWZpY2F0aW9uIHdoZW5ldmVyIHRoZSB2b2x1bWUgY2hhbmdlcywgZGVmaW5lIGFuZCByZWdpc3RlciBhbiBldmVudCBoYW5kbGVyIGZvciB0aGUgPGNvZGU+Vm9sdW1lQ29udHJvbGxlci5DaGFuZ2VkPFwvY29kZT4gZXZlbnQgb2YgdGhlIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuQXVkaW9NYW5hZ2VyPFwvY29kZT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PblZvbHVtZUNoYW5nZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm9iamVjdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c2VuZGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Vm9sdW1lQ2hhbmdlZEV2ZW50QXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgVGl6ZW4uTG9nLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SW5mbzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7QXVkaW9NYW5hZ2VyJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+ezxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+VHlwZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+fTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+IHZvbHVtZSBjaGFuZ2VkIHRvIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+ezxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+TGV2ZWw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPn08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkF1ZGlvTWFuYWdlci5Wb2x1bWVDb250cm9sbGVyLkNoYW5nZWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IE9uVm9sdW1lQ2hhbmdlZDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+V2hlbiB0aGUgdm9sdW1lIGNoYW5nZXMsIHRoZSBldmVudCBoYW5kbGVyIHByb3ZpZGVzIGluIGl0cyBwYXJhbWV0ZXJzIHRoZSBhdWRpbyB0eXBlIHRoYXQgaGFzIGNoYW5nZWQgYW5kIHRoZSBuZXcgdm9sdW1lIGxldmVsLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPlRvIHJldHJpZXZlIHRoZSBjdXJyZW50IGFuZCBtYXhpbXVtIHZvbHVtZXMgZm9yIGEgc3BlY2lmaWMgYXVkaW8gdHlwZSwgdXNlIHRoZSA8Y29kZT5Wb2x1bWVDb250cm9sbGVyLkxldmVsPFwvY29kZT4gYW5kIDxjb2RlPlZvbHVtZUNvbnRyb2xsZXIuTWF4TGV2ZWw8XC9jb2RlPiBwcm9wZXJ0aWVzIG9mIHRoZSA8Y29kZT5UaXplbi5NdWx0aW1lZGlhLkF1ZGlvTWFuYWdlcjxcL2NvZGU+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj50eXBlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQXVkaW9Wb2x1bWVUeXBlLk1lZGlhOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmN1clZvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEF1ZGlvTWFuYWdlci5Wb2x1bWVDb250cm9sbGVyLkxldmVsW3R5cGVdOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1heFZvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEF1ZGlvTWFuYWdlci5Wb2x1bWVDb250cm9sbGVyLk1heExldmVsW3R5cGVdOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHNldCB0aGUgdm9sdW1lIGxldmVsLCB1c2UgdGhlIDxjb2RlPlZvbHVtZUNvbnRyb2xsZXIuTGV2ZWw8XC9jb2RlPiBwcm9wZXJ0eS48XC9wPlxuPHA+SW4gdGhlIGZvbGxvd2luZyBleGFtcGxlLCBhIHZhbHVlIGlzIHJlY2VpdmVkIGZyb20gYXBwbGljYXRpb24gVUkgc2xpZGVyLCB3aXRoIHdoaWNoIHRoZSB1c2VyIHNldHMgdGhlIHZvbHVtZSBsZXZlbDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+dHlwZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEF1ZGlvVm9sdW1lVHlwZS5NZWRpYTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnZhbHVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyBNYWtlIHN1cmUgdGhlIHZhbHVlIGlzIHdpdGhpbiB0aGUgc3lzdGVtIG1heGltdW0gdm9sdW1lPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIGJ5IGNoZWNraW5nIHRoZSBWb2x1bWVDb250cm9sbGVyLk1heExldmVsIHByb3BlcnR5PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkF1ZGlvTWFuYWdlci5Wb2x1bWVDb250cm9sbGVyLkxldmVsW3R5cGVdIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IHZhbHVlOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cInF1ZXJ5X2RldmljZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcXVlcnktYXVkaW8tZGV2aWNlc1wiPjxhIGhyZWY9XCIjY29udGVudC1xdWVyeS1hdWRpby1kZXZpY2VzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5RdWVyeSBhdWRpbyBkZXZpY2VzPFwvaDI+XG48cD5UaGUgYXVkaW8gYmVoYXZpb3Igb2YgeW91ciBhcHBsaWNhdGlvbiBtdXN0IGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlIGF1ZGlvIGRldmljZXMgdGhhdCBhcmUgY29ubmVjdGVkLjxcL3A+XG48cD5UbyBxdWVyeSBhdWRpbyBkZXZpY2UgaW5mb3JtYXRpb24sIHByb2NlZWQgYXMgZm9sbG93czo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+VG8gYWNjZXNzIGRldmljZSBpbmZvcm1hdGlvbjo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+UmV0cmlldmUgdGhlIGxpc3Qgb2YgdGhlIGN1cnJlbnRseSBjb25uZWN0ZWQgYXVkaW8gZGV2aWNlcyB3aXRoIHRoZSA8Y29kZT5HZXRDb25uZWN0ZWREZXZpY2VzKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuQXVkaW9NYW5hZ2VyLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5BdWRpb01hbmFnZXI8XC9hPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPklFbnVtZXJhYmxlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BdWRpb0RldmljZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmNvbm5lY3RlZERldmljZXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBdWRpb01hbmFnZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRDb25uZWN0ZWREZXZpY2VzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5SZXRyaWV2ZSB0aGUgZGV2aWNlIGluZm9ybWF0aW9uIGZyb20gdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuQXVkaW9EZXZpY2UubWRcIj5UaXplbi5NdWx0aW1lZGlhLkF1ZGlvRGV2aWNlPFwvYT4gY2xhc3MsIHdoaWNoIGhhcyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6PFwvcD5cbjx1bD5cbjxsaT48Y29kZT5UeXBlPFwvY29kZT46IERldmljZSB0eXBlPFwvbGk+XG48bGk+PGNvZGU+SW9EaXJlY3Rpb248XC9jb2RlPjogRGV2aWNlIElPIGRpcmVjdGlvbjxcL2xpPlxuPGxpPjxjb2RlPklkPFwvY29kZT46IERldmljZSBJRDxcL2xpPlxuPGxpPjxjb2RlPk5hbWU8XC9jb2RlPjogRGV2aWNlIG5hbWU8XC9saT5cbjxsaT48Y29kZT5Jc1J1bm5pbmc8XC9jb2RlPjogRGV2aWNlIHJ1bm5pbmcgc3RhdGU8XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gZ2V0IGEgbm90aWZpY2F0aW9uIHdoZW4gdGhlIGF1ZGlvIGRldmljZSBjb25uZWN0aW9uIG9yIHN0YXRlIGNoYW5nZXMsIGFkZCBldmVudCBoYW5kbGVycyBmb3IgdGhlIDxjb2RlPkRldmljZUNvbm5lY3Rpb25DaGFuZ2VkPFwvY29kZT4gYW5kIDxjb2RlPkRldmljZVJ1bm5pbmdDaGFuZ2VkPFwvY29kZT4gZXZlbnRzIG9mIHRoZSA8Y29kZT5UaXplbi5NdWx0aW1lZGlhLkF1ZGlvTWFuYWdlcjxcL2NvZGU+IGNsYXNzOjxcL3A+XG48dWw+XG48bGk+XG48cD5UbyByZWNlaXZlIGEgbm90aWZpY2F0aW9uIHdoZW5ldmVyIHRoZSBkZXZpY2UgY29ubmVjdGlvbiBzdGF0ZSBjaGFuZ2VzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T25EZXZpY2VDb25uZWN0aW9uQ2hhbmdlZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b2JqZWN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zZW5kZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BdWRpb0RldmljZUNvbm5lY3Rpb25DaGFuZ2VkRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5hcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmlmPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKGFyZ3MuSXNDb25uZWN0ZWQpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIHs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAoYXJncy5EZXZpY2UuVHlwZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj09PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQXVkaW9EZXZpY2VUeXBlLkJsdWV0b290aE1lZGlhKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgICAgIFwvXC9cLyBDb25uZWN0ZWQgZGV2aWNlIHR5cGUgaXMgQmx1ZXRvb3RoLCBoYW5kbGUgYWNjb3JkaW5nbHk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+ZWxzZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgICAgIFwvXC9cLyBIYW5kbGUgYWNjb3JkaW5nbHk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmVsc2U8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pZjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IChhcmdzLkRldmljZS5UeXBlIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PT08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBdWRpb0RldmljZVR5cGUuQmx1ZXRvb3RoTWVkaWEpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICAgICAgXC9cL1wvIERpc2Nvbm5lY3RlZCBkZXZpY2UgdHlwZSBpcyBCbHVldG9vdGgsIGhhbmRsZSBhY2NvcmRpbmdseTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5lbHNlPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICAgICAgXC9cL1wvIEhhbmRsZSBhY2NvcmRpbmdseTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5BdWRpb01hbmFnZXIuRGV2aWNlQ29ubmVjdGlvbkNoYW5nZWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IE9uRGV2aWNlQ29ubmVjdGlvbkNoYW5nZWQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gcmVjZWl2ZSBhIG5vdGlmaWNhdGlvbiB3aGVuZXZlciB0aGUgZGV2aWNlIHN0YXRlIGNoYW5nZXM6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PbkRldmljZVJ1bm5pbmdDaGFuZ2VkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkF1ZGlvRGV2aWNlUnVubmluZ0NoYW5nZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAoYXJncy5EZXZpY2UuVHlwZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj09PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQXVkaW9EZXZpY2VUeXBlLkJsdWV0b290aE1lZGlhKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmlmPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKGFyZ3MuRGV2aWNlLklzUnVubmluZyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj09PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5mYWxzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgICAgIFwvXC9cLyBCbHVldG9vdGggZGV2aWNlIGlzIG5vdCBydW5uaW5nLCBoYW5kbGUgYWNjb3JkaW5nbHk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+ZWxzZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgICAgIFwvXC9cLyBIYW5kbGUgYWNjb3JkaW5nbHk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmVsc2U8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIEhhbmRsZSBhY2NvcmRpbmdseTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5BdWRpb01hbmFnZXIuRGV2aWNlUnVubmluZ0NoYW5nZWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IE9uRGV2aWNlUnVubmluZ0NoYW5nZWQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5UaGUgaW5pdGlhbCBydW5uaW5nIHN0YXRlIG9mIHRoZSBjb25uZWN0ZWQgZGV2aWNlIGlzIDxjb2RlPmZhbHNlPFwvY29kZT4sIHdoaWNoIG1lYW5zIHRoZSBjb25uZWN0ZWQgZGV2aWNlIGlzIG5vdCBydW5uaW5nLjxcL3A+XG48XC9kaXY+XG48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD5UbyB1dGlsaXplIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBmb3IgVVNCIGF1ZGlvIHR5cGUgYW5kIG91dHB1dCBkaXJlY3Rpb24gZGV2aWNlLCB1c2UgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuQXVkaW9EZXZpY2UubWRcIj5UaXplbi5NdWx0aW1lZGlhLkF1ZGlvRGV2aWNlPFwvYT4gY2xhc3M6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPlRvIGdldCB0aGUgZGV2aWNlIG9mIFVTQiBhdWRpbyB0eXBlIGFuZCBvdXRwdXQgZGlyZWN0aW9uOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXVkaW9EZXZpY2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnVzYk91dHB1dERldmljZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+bnVsbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmZvcmVhY2g8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkF1ZGlvRGV2aWNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5kPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEF1ZGlvTWFuYWdlci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldENvbm5lY3RlZERldmljZXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pZjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IChkLlR5cGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEF1ZGlvRGV2aWNlVHlwZS5Vc2JBdWRpbyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPiZhbXA7JmFtcDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBkLklvRGlyZWN0aW9uIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PT08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBdWRpb0RldmljZUlvRGlyZWN0aW9uLk91dHB1dCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgdXNiT3V0cHV0RGV2aWNlIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmJyZWFrPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIH08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gZ2V0IHRoZSBzdXBwb3J0ZWQgc2FtcGxlIGZvcm1hdHMgYW5kIHRvIHNldCB0aGUgc3BlY2lmaWMgc2FtcGxlIGZvcm1hdDo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+UmV0cmlldmUgdGhlIGxpc3Qgb2YgdGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgc2FtcGxlIGZvcm1hdHMgd2l0aCB0aGUgPGNvZGU+R2V0U3VwcG9ydGVkU2FtcGxlRm9ybWF0cygpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SUVudW1lcmFibGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkF1ZGlvU2FtcGxlRm9ybWF0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3VwcG9ydGVkRm9ybWF0czxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IHVzYk91dHB1dERldmljZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldFN1cHBvcnRlZFNhbXBsZUZvcm1hdHM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNlbGVjdCBvbmUgb2YgdGhlIHN1cHBvcnRlZCBzYW1wbGUgZm9ybWF0cywgdGhlbiBzZXQgaXQgd2l0aCB0aGUgPGNvZGU+U2V0U2FtcGxlRm9ybWF0KCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj51c2JPdXRwdXREZXZpY2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXRTYW1wbGVGb3JtYXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihBdWRpb1NhbXBsZUZvcm1hdC5TMTZMRSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5cbjxwPlRvIGdldCB0aGUgc3VwcG9ydGVkIHNhbXBsZSByYXRlcyBhbmQgdG8gc2V0IHRoZSBzcGVjaWZpYyBzYW1wbGUgcmF0ZTo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+UmV0cmlldmUgdGhlIGxpc3Qgb2YgdGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgc2FtcGxlIHJhdGVzIHdpdGggdGhlIDxjb2RlPkdldFN1cHBvcnRlZFNhbXBsZVJhdGVzKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5JRW51bWVyYWJsZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dWludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnN1cHBvcnRlZFJhdGVzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gdXNiT3V0cHV0RGV2aWNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0U3VwcG9ydGVkU2FtcGxlUmF0ZXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNlbGVjdCBvbmUgb2YgdGhlIHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMsIHRoZW4gc2V0IGl0IHdpdGggdGhlIDxjb2RlPlNldFNhbXBsZVJhdGUoKTxcL2NvZGU+IG1ldGhvZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnVzYk91dHB1dERldmljZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldFNhbXBsZVJhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjQ4MDAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvb2w+XG48aDIgaWQ9XCJjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2gyPlxuPHVsPlxuPGxpPkRlcGVuZGVuY2llc1xuPHVsPlxuPGxpPlRpemVuIDQuMCBhbmQgSGlnaGVyPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcHJlcmVxdWlzaXRlc1wiPlByZXJlcXVpc2l0ZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1jb250cm9sLXZvbHVtZS1sZXZlbHNcIj5Db250cm9sIHZvbHVtZSBsZXZlbHM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1xdWVyeS1hdWRpby1kZXZpY2VzXCI+UXVlcnkgYXVkaW8gZGV2aWNlczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj5SZWxhdGVkIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJBdWRpbyBNYW5hZ2VtZW50IiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiOFZVaHU0anpYQUVkNzBoWW1XeHQiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9hcHBsaWNhdGlvblwvZG90bmV0XC9ndWlkZXNcL211bHRpbWVkaWFcL2F1ZGlvIiwibWV0aG9kIjoiR0VUIiwicmVsZWFzZSI6ImEtYS1hIn0sImNoZWNrc3VtIjoiODg5MTZhODY3ZGI2YzJkNWMwNjRlZmMwNzA4ODkwYzVhOTMyYzkzMGEwMGY3MzY3YmFmZTE0YWRmZTMyMmViMSJ9')" >