Application

Chose application
.NET Native Web Flutter
Chose version
ver. 14.0 ver. 13.0 ver. 12.0 ver. 11.0 ver. 10.0 ver. 9.0 ver. 8.0 ver. 7.0 ver. 6.0 ver. 5.0 ver. 4.0
Choose device
Tizen.Network.Nsd.DnssdService and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.SsdpService.md/">Tizen.Network.Nsd.SsdpService classes, which both implement the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.INsdService.md/">Tizen.Network.Nsd.INsdService interface, follow these steps to create and register services:<\/p>\n<ul>\n<li>For the DNS-SD services, you can retrieve service details, such as name, type, port number, and IP address, through related properties. You can also add a text record after registering the service, and set the key and value of the record. To remove a record, use its key.<\/li>\n<li>For the SSDP services, you can retrieve service details, such as name, target, and URL.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Discovering remote services<\/p>\n<p>You can <a href=https://samsungtizenos.com/"#discovery\">search for remote services<\/a> on the network through the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.DnssdBrowser.md/">Tizen.Network.Nsd.DnssdBrowser and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.SsdpBrowser.md/">Tizen.Network.Nsd.SsdpBrowser classes, which both implement the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.INsdBrowser.md/">Tizen.Network.Nsd.INsdBrowser interface. You can also receive notifications when a service is found by registering an event handler for the <code>ServiceFound<\/code> event of the applicable class.<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"content-prerequisites\"><a href=https://samsungtizenos.com/"#content-prerequisites\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Prerequisites<\/h2>\n<p>To enable your application to use the network service discovery functionality, follow these steps:<\/p>\n<ol>\n<li>\n<p>To use the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.md/">Tizen.Network.Nsd namespace, the application has to request permission by adding the following privilege to the <code>tizen-manifest.xml<\/code> file:<\/p>\n<code class=\"language-XML\">&lt;privileges&gt;\n &lt;privilege&gt;http:\/\/tizen.org\/privilege\/internet&lt;\/privilege&gt;\n&lt;\/privileges&gt;\n<\/code>\n<\/li>\n<li>\n<p>To make your application visible in the official site for Tizen applications only for devices that support the DNS-SD and SSDP protocols, the application must specify the following features in the <code>tizen-manifest.xml<\/code> file:<\/p>\n<code class=\"language-XML\">&lt;feature name=&quot;http:\/\/tizen.org\/feature\/network.service_discovery.dnssd&quot;\/&gt;\n&lt;feature name=&quot;http:\/\/tizen.org\/feature\/network.service_discovery.ssdp&quot;\/&gt;\n<\/code>\n<\/li>\n<li>\n<p>To use the methods and properties of the Tizen.Network.Nsd namespace, include it in your application:<\/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\">using<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Network<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Nsd<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"registration\"><\/a><\/p>\n<h2 id=\"content-register-local-services\"><a href=https://samsungtizenos.com/"#content-register-local-services\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Register local services<\/h2>\n<p>To register and deregister a local DNS-SD service, follow these steps:<\/p>\n<ol>\n<li>\n<p>Register a service by creating a new instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.DnssdService.md/">Tizen.Network.Nsd.DnssdService class and using its <code>RegisterService()<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Register service<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">INsdService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">service<\/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:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">DnssdService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;_http._tcp&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">DnssdService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">dnssdService<\/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:#6F42C1;--shiki-dark:#B392F0\">DnssdService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)service;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Set required properties before registration<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.Name <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;TestService&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">; <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Required: Service name<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.Port <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;1234&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">; <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Required: Port number<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">RegisterService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>(Optional) Add TXT records to provide additional service metadata:<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/ Add TXT records after service registration<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddTXTRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;path&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;\/api&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddTXTRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;version&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;1.0&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Deregister the service by using the <code>DeregisterService()<\/code> method.<\/p>\n<p>When the <code>Tizen.Network.Nsd.DnssdService<\/code> class instance is no longer needed, destroy it with the <code>Dispose()<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Deregister service<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">DeregisterService<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdService.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"discovery\"><\/a><\/p>\n<h2 id=\"content-discover-remote-services\"><a href=https://samsungtizenos.com/"#content-discover-remote-services\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Discover remote services<\/h2>\n<p>To discover remote DNS-SD services, follow these steps:<\/p>\n<ol>\n<li>\n<p>Start discovery by creating a new instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.DnssdBrowser.md/">Tizen.Network.Nsd.DnssdBrowser class and register an event handler for service notifications:<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Start discovery<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">INsdBrowser<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">browser<\/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:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">DnssdBrowser<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;_http._tcp&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">DnssdBrowser<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">dnssdBrowser<\/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:#6F42C1;--shiki-dark:#B392F0\">DnssdBrowser<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)browser;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Register event handler to handle discovered services<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdBrowser.ServiceFound <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/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\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=&gt;<\/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\"> \/\/ Process the discovered service information here<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/ Access service properties through e.Service.Name, e.Service.Port, etc.<\/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\">dnssdBrowser.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">StartDiscovery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When you have found the services you need, stop discovery by using the <code>StopDiscovery()<\/code> method.<\/p>\n<p>When the <code>Tizen.Network.Nsd.DnssdBrowser<\/code> class instance is no longer needed, destroy it with the <code>Dispose()<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Stop discovery<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdBrowser.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">StopDiscovery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">dnssdBrowser.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\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<li>API References\n<ul>\n<li><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Network.Nsd.md/">Tizen.Network.Nsd class<\/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-register-local-services\">Register local services<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-discover-remote-services\">Discover remote services<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Network Service Discovery","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"fUvEMICS4hdBRLIKiqfE","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/connectivity\/nsd","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"c7597d8743463f883fde9325197270612125fd110919e7c72195bab3d41c2626"}" wire:effects="[]" wire:id="fUvEMICS4hdBRLIKiqfE" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtbmV0d29yay1zZXJ2aWNlLWRpc2NvdmVyeVwiPjxhIGhyZWY9XCIjY29udGVudC1uZXR3b3JrLXNlcnZpY2UtZGlzY292ZXJ5XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5OZXR3b3JrIFNlcnZpY2UgRGlzY292ZXJ5PFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5UaXplbi5OZXR3b3JrLk5zZC5Tc2RwU2VydmljZSBhbmQgVGl6ZW4uTmV0d29yay5Oc2QuU3NkcEJyb3dzZXIgY2xhc3MgYXJlIGRlcHJlY2F0ZWQgc2luY2UgVGl6ZW4gMTAuMCBhbmQgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHR3byByZWxlYXNlcyB3aXRob3V0IGFueSBhbHRlcm5hdGl2ZXMuPFwvcD5cbjxcL2Rpdj5cbjxwPllvdSBjYW4gdXNlIDIgZGlmZmVyZW50IHByb3RvY29scyB0byBwZXJmb3JtIG5ldHdvcmsgc2VydmljZSBkaXNjb3ZlcmllcyB0byBhbm5vdW5jZSBsb2NhbCBzZXJ2aWNlcyBhbmQgc2VhcmNoIGZvciByZW1vdGUgc2VydmljZXMgb24gYSBuZXR3b3JrOiBETlMtU0QgKEROUyBTZXJ2aWNlIERpc2NvdmVyeSkgYW5kIFNTRFAgKFNpbXBsZSBTZXJ2aWNlIERpc2NvdmVyeSBQcm90b2NvbCkuPFwvcD5cbjxibG9ja3F1b3RlPlxuPHA+PHN0cm9uZz5Ob3RlPFwvc3Ryb25nPjogU1NEUCAoU2ltcGxlIFNlcnZpY2UgRGlzY292ZXJ5IFByb3RvY29sKSBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIEFQSSBsZXZlbCAxMy4gRm9yIG5ldyBhcHBsaWNhdGlvbiBkZXZlbG9wbWVudCwgaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIEROUy1TRCBpbnN0ZWFkLjxcL3A+XG48XC9ibG9ja3F1b3RlPlxuPHA+VGhlIG1haW4gZmVhdHVyZXMgb2YgdGhlIFRpemVuLk5ldHdvcmsuTnNkIG5hbWVzcGFjZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nOjxcL3A+XG48dWw+XG48bGk+XG48cD5NYW5hZ2luZyBsb2NhbCBzZXJ2aWNlczxcL3A+XG48cD5SZWdpc3RlcmluZyBhIGxvY2FsIHNlcnZpY2UgYW5ub3VuY2VzIGl0IG92ZXIgdGhlIG5ldHdvcmssIGFsbG93aW5nIG90aGVyIGRldmljZXMgdG8gZmluZCBhbmQgdXNlIGl0LiBZb3UgY2FuIGNyZWF0ZSBhbmQgPGEgaHJlZj1cIiNyZWdpc3RyYXRpb25cIj5yZWdpc3RlciBsb2NhbCBzZXJ2aWNlczxcL2E+IHRocm91Z2ggdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5ldHdvcmsuTnNkLkRuc3NkU2VydmljZS5tZFwiPlRpemVuLk5ldHdvcmsuTnNkLkRuc3NkU2VydmljZTxcL2E+IGFuZCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OZXR3b3JrLk5zZC5Tc2RwU2VydmljZS5tZFwiPlRpemVuLk5ldHdvcmsuTnNkLlNzZHBTZXJ2aWNlPFwvYT4gY2xhc3Nlcywgd2hpY2ggYm90aCBpbXBsZW1lbnQgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5ldHdvcmsuTnNkLklOc2RTZXJ2aWNlLm1kXCI+VGl6ZW4uTmV0d29yay5Oc2QuSU5zZFNlcnZpY2U8XC9hPiBpbnRlcmZhY2UsIGZvbGxvdyB0aGVzZSBzdGVwcyB0byBjcmVhdGUgYW5kIHJlZ2lzdGVyIHNlcnZpY2VzOjxcL3A+XG48dWw+XG48bGk+Rm9yIHRoZSBETlMtU0Qgc2VydmljZXMsIHlvdSBjYW4gcmV0cmlldmUgc2VydmljZSBkZXRhaWxzLCBzdWNoIGFzIG5hbWUsIHR5cGUsIHBvcnQgbnVtYmVyLCBhbmQgSVAgYWRkcmVzcywgdGhyb3VnaCByZWxhdGVkIHByb3BlcnRpZXMuIFlvdSBjYW4gYWxzbyBhZGQgYSB0ZXh0IHJlY29yZCBhZnRlciByZWdpc3RlcmluZyB0aGUgc2VydmljZSwgYW5kIHNldCB0aGUga2V5IGFuZCB2YWx1ZSBvZiB0aGUgcmVjb3JkLiBUbyByZW1vdmUgYSByZWNvcmQsIHVzZSBpdHMga2V5LjxcL2xpPlxuPGxpPkZvciB0aGUgU1NEUCBzZXJ2aWNlcywgeW91IGNhbiByZXRyaWV2ZSBzZXJ2aWNlIGRldGFpbHMsIHN1Y2ggYXMgbmFtZSwgdGFyZ2V0LCBhbmQgVVJMLjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5cbjxwPkRpc2NvdmVyaW5nIHJlbW90ZSBzZXJ2aWNlczxcL3A+XG48cD5Zb3UgY2FuIDxhIGhyZWY9XCIjZGlzY292ZXJ5XCI+c2VhcmNoIGZvciByZW1vdGUgc2VydmljZXM8XC9hPiBvbiB0aGUgbmV0d29yayB0aHJvdWdoIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OZXR3b3JrLk5zZC5EbnNzZEJyb3dzZXIubWRcIj5UaXplbi5OZXR3b3JrLk5zZC5EbnNzZEJyb3dzZXI8XC9hPiBhbmQgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTmV0d29yay5Oc2QuU3NkcEJyb3dzZXIubWRcIj5UaXplbi5OZXR3b3JrLk5zZC5Tc2RwQnJvd3NlcjxcL2E+IGNsYXNzZXMsIHdoaWNoIGJvdGggaW1wbGVtZW50IHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OZXR3b3JrLk5zZC5JTnNkQnJvd3Nlci5tZFwiPlRpemVuLk5ldHdvcmsuTnNkLklOc2RCcm93c2VyPFwvYT4gaW50ZXJmYWNlLiBZb3UgY2FuIGFsc28gcmVjZWl2ZSBub3RpZmljYXRpb25zIHdoZW4gYSBzZXJ2aWNlIGlzIGZvdW5kIGJ5IHJlZ2lzdGVyaW5nIGFuIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSA8Y29kZT5TZXJ2aWNlRm91bmQ8XC9jb2RlPiBldmVudCBvZiB0aGUgYXBwbGljYWJsZSBjbGFzcy48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxoMiBpZD1cImNvbnRlbnQtcHJlcmVxdWlzaXRlc1wiPjxhIGhyZWY9XCIjY29udGVudC1wcmVyZXF1aXNpdGVzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5QcmVyZXF1aXNpdGVzPFwvaDI+XG48cD5UbyBlbmFibGUgeW91ciBhcHBsaWNhdGlvbiB0byB1c2UgdGhlIG5ldHdvcmsgc2VydmljZSBkaXNjb3ZlcnkgZnVuY3Rpb25hbGl0eSwgZm9sbG93IHRoZXNlIHN0ZXBzOjxcL3A+XG48b2w+XG48bGk+XG48cD5UbyB1c2UgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5ldHdvcmsuTnNkLm1kXCI+VGl6ZW4uTmV0d29yay5Oc2Q8XC9hPiBuYW1lc3BhY2UsIHRoZSBhcHBsaWNhdGlvbiBoYXMgdG8gcmVxdWVzdCBwZXJtaXNzaW9uIGJ5IGFkZGluZyB0aGUgZm9sbG93aW5nIHByaXZpbGVnZSB0byB0aGUgPGNvZGU+dGl6ZW4tbWFuaWZlc3QueG1sPFwvY29kZT4gZmlsZTo8XC9wPlxuPGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1YTUxcIj4mbHQ7cHJpdmlsZWdlcyZndDtcbiAgICZsdDtwcml2aWxlZ2UmZ3Q7aHR0cDpcL1wvdGl6ZW4ub3JnXC9wcml2aWxlZ2VcL2ludGVybmV0Jmx0O1wvcHJpdmlsZWdlJmd0O1xuJmx0O1wvcHJpdmlsZWdlcyZndDtcbjxcL2NvZGU+XG48XC9saT5cbjxsaT5cbjxwPlRvIG1ha2UgeW91ciBhcHBsaWNhdGlvbiB2aXNpYmxlICBpbiB0aGUgb2ZmaWNpYWwgc2l0ZSBmb3IgVGl6ZW4gYXBwbGljYXRpb25zIG9ubHkgZm9yIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBETlMtU0QgYW5kIFNTRFAgcHJvdG9jb2xzLCB0aGUgYXBwbGljYXRpb24gbXVzdCBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaW4gdGhlIDxjb2RlPnRpemVuLW1hbmlmZXN0LnhtbDxcL2NvZGU+IGZpbGU6PFwvcD5cbjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtWE1MXCI+Jmx0O2ZlYXR1cmUgbmFtZT0mcXVvdDtodHRwOlwvXC90aXplbi5vcmdcL2ZlYXR1cmVcL25ldHdvcmsuc2VydmljZV9kaXNjb3ZlcnkuZG5zc2QmcXVvdDtcLyZndDtcbiZsdDtmZWF0dXJlIG5hbWU9JnF1b3Q7aHR0cDpcL1wvdGl6ZW4ub3JnXC9mZWF0dXJlXC9uZXR3b3JrLnNlcnZpY2VfZGlzY292ZXJ5LnNzZHAmcXVvdDtcLyZndDtcbjxcL2NvZGU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHVzZSB0aGUgbWV0aG9kcyBhbmQgcHJvcGVydGllcyBvZiB0aGUgVGl6ZW4uTmV0d29yay5Oc2QgbmFtZXNwYWNlLCBpbmNsdWRlIGl0IGluIHlvdXIgYXBwbGljYXRpb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj51c2luZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+VGl6ZW48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk5ldHdvcms8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk5zZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cInJlZ2lzdHJhdGlvblwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcmVnaXN0ZXItbG9jYWwtc2VydmljZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtcmVnaXN0ZXItbG9jYWwtc2VydmljZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlZ2lzdGVyIGxvY2FsIHNlcnZpY2VzPFwvaDI+XG48cD5UbyByZWdpc3RlciBhbmQgZGVyZWdpc3RlciBhIGxvY2FsIEROUy1TRCBzZXJ2aWNlLCBmb2xsb3cgdGhlc2Ugc3RlcHM6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPlJlZ2lzdGVyIGEgc2VydmljZSBieSBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTmV0d29yay5Oc2QuRG5zc2RTZXJ2aWNlLm1kXCI+VGl6ZW4uTmV0d29yay5Oc2QuRG5zc2RTZXJ2aWNlPFwvYT4gY2xhc3MgYW5kIHVzaW5nIGl0cyA8Y29kZT5SZWdpc3RlclNlcnZpY2UoKTxcL2NvZGU+IG1ldGhvZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyBSZWdpc3RlciBzZXJ2aWNlPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SU5zZFNlcnZpY2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlcnZpY2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RG5zc2RTZXJ2aWNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtfaHR0cC5fdGNwJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRuc3NkU2VydmljZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZG5zc2RTZXJ2aWNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RG5zc2RTZXJ2aWNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pc2VydmljZTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cLyBTZXQgcmVxdWlyZWQgcHJvcGVydGllcyBiZWZvcmUgcmVnaXN0cmF0aW9uPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ZG5zc2RTZXJ2aWNlLk5hbWUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtUZXN0U2VydmljZSZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OyAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIFJlcXVpcmVkOiBTZXJ2aWNlIG5hbWU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5kbnNzZFNlcnZpY2UuUG9ydCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzEyMzQmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjsgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC8gUmVxdWlyZWQ6IFBvcnQgbnVtYmVyPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmRuc3NkU2VydmljZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlJlZ2lzdGVyU2VydmljZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+KE9wdGlvbmFsKSBBZGQgVFhUIHJlY29yZHMgdG8gcHJvdmlkZSBhZGRpdGlvbmFsIHNlcnZpY2UgbWV0YWRhdGE6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIEFkZCBUWFQgcmVjb3JkcyBhZnRlciBzZXJ2aWNlIHJlZ2lzdHJhdGlvbjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmRuc3NkU2VydmljZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZFRYVFJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7cGF0aCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O1wvYXBpJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmRuc3NkU2VydmljZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZFRYVFJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7dmVyc2lvbiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzEuMCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5EZXJlZ2lzdGVyIHRoZSBzZXJ2aWNlIGJ5IHVzaW5nIHRoZSA8Y29kZT5EZXJlZ2lzdGVyU2VydmljZSgpPFwvY29kZT4gbWV0aG9kLjxcL3A+XG48cD5XaGVuIHRoZSA8Y29kZT5UaXplbi5OZXR3b3JrLk5zZC5EbnNzZFNlcnZpY2U8XC9jb2RlPiBjbGFzcyBpbnN0YW5jZSBpcyBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IGl0IHdpdGggdGhlIDxjb2RlPkRpc3Bvc2UoKTxcL2NvZGU+IG1ldGhvZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyBEZXJlZ2lzdGVyIHNlcnZpY2U8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5kbnNzZFNlcnZpY2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EZXJlZ2lzdGVyU2VydmljZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ZG5zc2RTZXJ2aWNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwiZGlzY292ZXJ5XCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1kaXNjb3Zlci1yZW1vdGUtc2VydmljZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtZGlzY292ZXItcmVtb3RlLXNlcnZpY2VzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EaXNjb3ZlciByZW1vdGUgc2VydmljZXM8XC9oMj5cbjxwPlRvIGRpc2NvdmVyIHJlbW90ZSBETlMtU0Qgc2VydmljZXMsIGZvbGxvdyB0aGVzZSBzdGVwczo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+U3RhcnQgZGlzY292ZXJ5IGJ5IGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OZXR3b3JrLk5zZC5EbnNzZEJyb3dzZXIubWRcIj5UaXplbi5OZXR3b3JrLk5zZC5EbnNzZEJyb3dzZXI8XC9hPiBjbGFzcyBhbmQgcmVnaXN0ZXIgYW4gZXZlbnQgaGFuZGxlciBmb3Igc2VydmljZSBub3RpZmljYXRpb25zOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIFN0YXJ0IGRpc2NvdmVyeTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPklOc2RCcm93c2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5icm93c2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRuc3NkQnJvd3NlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7X2h0dHAuX3RjcCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EbnNzZEJyb3dzZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmRuc3NkQnJvd3NlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRuc3NkQnJvd3NlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KWJyb3dzZXI7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC8gUmVnaXN0ZXIgZXZlbnQgaGFuZGxlciB0byBoYW5kbGUgZGlzY292ZXJlZCBzZXJ2aWNlczxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmRuc3NkQnJvd3Nlci5TZXJ2aWNlRm91bmQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPikgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49Jmd0OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj4gICAgXC9cLyBQcm9jZXNzIHRoZSBkaXNjb3ZlcmVkIHNlcnZpY2UgaW5mb3JtYXRpb24gaGVyZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICBcL1wvIEFjY2VzcyBzZXJ2aWNlIHByb3BlcnRpZXMgdGhyb3VnaCBlLlNlcnZpY2UuTmFtZSwgZS5TZXJ2aWNlLlBvcnQsIGV0Yy48XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5kbnNzZEJyb3dzZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TdGFydERpc2NvdmVyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiB5b3UgaGF2ZSBmb3VuZCB0aGUgc2VydmljZXMgeW91IG5lZWQsIHN0b3AgZGlzY292ZXJ5IGJ5IHVzaW5nIHRoZSA8Y29kZT5TdG9wRGlzY292ZXJ5KCk8XC9jb2RlPiBtZXRob2QuPFwvcD5cbjxwPldoZW4gdGhlIDxjb2RlPlRpemVuLk5ldHdvcmsuTnNkLkRuc3NkQnJvd3NlcjxcL2NvZGU+IGNsYXNzIGluc3RhbmNlIGlzIG5vIGxvbmdlciBuZWVkZWQsIGRlc3Ryb3kgaXQgd2l0aCB0aGUgPGNvZGU+RGlzcG9zZSgpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIFN0b3AgZGlzY292ZXJ5PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ZG5zc2RCcm93c2VyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U3RvcERpc2NvdmVyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ZG5zc2RCcm93c2VyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48aDIgaWQ9XCJjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2gyPlxuPHVsPlxuPGxpPkRlcGVuZGVuY2llc1xuPHVsPlxuPGxpPlRpemVuIDQuMCBhbmQgSGlnaGVyPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPkFQSSBSZWZlcmVuY2VzXG48dWw+XG48bGk+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTmV0d29yay5Oc2QubWRcIj5UaXplbi5OZXR3b3JrLk5zZDxcL2E+IGNsYXNzPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcHJlcmVxdWlzaXRlc1wiPlByZXJlcXVpc2l0ZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZWdpc3Rlci1sb2NhbC1zZXJ2aWNlc1wiPlJlZ2lzdGVyIGxvY2FsIHNlcnZpY2VzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGlzY292ZXItcmVtb3RlLXNlcnZpY2VzXCI+RGlzY292ZXIgcmVtb3RlIHNlcnZpY2VzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiPlJlbGF0ZWQgaW5mb3JtYXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6Ik5ldHdvcmsgU2VydmljZSBEaXNjb3ZlcnkiLCJyYXciOm51bGx9LHsiY2xhc3MiOiJBcHBcXFNlcnZpY2VzXFxEb2N1bWVudGF0aW9uXFxEYXRhXFxSZW5kZXJlZE1hcmtkb3duIiwicyI6IndyYmwifV19LHsicyI6ImFyciJ9XX0sIm1lbW8iOnsiaWQiOiJ0VWtNRkNzTE5PTGV0YjVlRVltQiIsIm5hbWUiOiJfX21vdW50UGFyYW1zQ29udGFpbmVyIiwicGF0aCI6ImRvY3NcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2d1aWRlc1wvY29ubmVjdGl2aXR5XC9uc2QiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiI5OTA5NDlhMmM2MDM2OWU1MWFiZTM3NGM3YzQ1MTYwM2NlOWQwNDU0NmUwYmFjMjg4MzBiM2VhZDBiMmRiZTY0In0=')" >

For the best experience,
Please visit us from a computer

Copyright © 2026 SAMSUNG. All rights reserved.

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.