Creating a Certificate Profile<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"cert-manage-profile.md/">Managing Certificate Profiles<\/a><\/li>\n<\/ul>\n<h2 id=\"content-tizen-certificate\"><a href=https://samsungtizenos.com/"#content-tizen-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Tizen Certificate<\/h2>\n<p>The Tizen certificate follows the exact specifications of <a href=https://samsungtizenos.com/"http:////www.w3.org//TR//widgets-digsig///">XML Digital Signature for widgets<\/a> from W3C.\nSamsung issues certificates for Samsung Tizen devices based on the Tizen certificate. It provides the security foundation for the Tizen platform and applies to all Tizen apps across any device.<\/p>\n<p>A Tizen certificate profile has two main parts:<\/p>\n<h3 id=\"content-1-author-certificate\"><a href=https://samsungtizenos.com/"#content-1-author-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>1. Author Certificate<\/h3>\n<p>The author certificate uniquely identifies the developer or organization that created the application.<\/p>\n<p>It ensures:<\/p>\n<ul>\n<li>Verifies the app's origin so users know where it came from.<\/li>\n<li>Enables secure communication between components signed with the same certificate (via IPC).<\/li>\n<li>Maintains update rights across all versions\u2014you must use the same key for every update.<\/li>\n<\/ul>\n<p><strong>Critical:<\/strong> Keep this key safe. If you lose it, you cannot update your own app. To maintain application identity, the author key must be stored carefully and protected from loss.<\/p>\n<h3 id=\"content-2-distributor-certificate\"><a href=https://samsungtizenos.com/"#content-2-distributor-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>2. Distributor Certificate<\/h3>\n<p>The distributor certificate identifies the party that distributes the application (such as app stores or device vendors).\nIt also grants the privilege levels allowed for the application.<\/p>\n<p>During local development and testing, the distributor certificate included in the profile is not the official store certificate. Instead, it is a temporary developer distributor certificate that allows installation on test devices.\nOnce the application is submitted to the appropriate store, the distributor certificate inside the package is replaced by the official store-issued certificate.<\/p>\n<h2 id=\"content-samsung-certificate\"><a href=https://samsungtizenos.com/"#content-samsung-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Samsung Certificate<\/h2>\n<p>The Samsung Certificate Profile is an extension of the Tizen security framework specifically required for Samsung\u2019s Tizen-based devices such as smart TVs, older Galaxy Watches, and IoT appliances. It incorporates Samsung\u2019s device-level verification and permission controls on top of the standard Tizen certification model.<\/p>\n<h3 id=\"content-author-certificate\"><a href=https://samsungtizenos.com/"#content-author-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Author Certificate<\/h3>\n<p>This identifies the developer to Samsung\u2019s ecosystem and is validated through Samsung\u2019s developer portal.<\/p>\n<p>It ensures:<\/p>\n<ul>\n<li>Binding the app to a verified Samsung developer account.<\/li>\n<li>Maintaining update rights for Samsung Tizen devices.<\/li>\n<li>Verifying the authenticity of applications developed for Samsung hardware.<\/li>\n<\/ul>\n<p>Although structurally similar to the generic Tizen author certificate, Samsung\u2019s author certificate is tied to Samsung\u2019s online developer infrastructure and requires account verification.<\/p>\n<h3 id=\"content-distributor-certificate\"><a href=https://samsungtizenos.com/"#content-distributor-certificate\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Distributor Certificate<\/h3>\n<p>Generated specifically for Samsung hardware after the user authenticates and validates the DUID (Device Unique ID) of the device.<\/p>\n<p>It enables:<\/p>\n<ul>\n<li>Installation of apps on registered Samsung devices.<\/li>\n<li>Access to Samsung-specific APIs and privileged capabilities.<\/li>\n<li>Debugging and sideloading on real devices via DUID-based verification.<\/li>\n<\/ul>\n<p>When the application is later uploaded to the Samsung store (e.g., for Samsung Smart TV or wearable distribution), the temporary distributor certificate is replaced with Samsung\u2019s official store distributor certificate during the signing process.<\/p>\n<h2 id=\"content-security\"><a href=https://samsungtizenos.com/"#content-security\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Security<\/h2>\n<p>Keep your author certificate (<code>author.p12<\/code>) file in a safe and secure place.\nEnsure that you have secure backups.<\/p>\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>If you upload your applications to the respective stores without the original author certificate that signs your app, you will not be able to publish any updates on your applications.<\/p>\n<\/div>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-tizen-certificate\">Tizen Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-1-author-certificate\">1. Author Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-2-distributor-certificate\">2. Distributor Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-samsung-certificate\">Samsung Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-author-certificate\">Author Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-distributor-certificate\">Distributor Certificate<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-security\">Security<\/a><\/li>\n<\/ul>\n","title":"Certificates","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"DnfqUIeSZDq7nJedVt4j","name":"documentation::article","path":"docs\/sdk-tools\/dotnet\/vscode\/vscode-ext\/tools\/cert-overview","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"7c6344c7493112c51eeccffea68f73827740c76d75e6d7ead54492f2437b064e"}" wire:effects="[]" wire:id="DnfqUIeSZDq7nJedVt4j" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtY2VydGlmaWNhdGVzXCI+PGEgaHJlZj1cIiNjb250ZW50LWNlcnRpZmljYXRlc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q2VydGlmaWNhdGVzPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPkluIG9yZGVyIHRvIGluc3RhbGwgVGl6ZW4gYXBwbGljYXRpb25zIG9uIFNhbXN1bmcgVGl6ZW4gZGV2aWNlcywgeW91IG11c3QgZmlyc3QgcmVnaXN0ZXIgY2VydGlmaWNhdGVzIGNvbnRhaW5pbmcgdGhlIERldmljZSBVbmlxdWUgSWRlbnRpZmllciAoRFVJRCkgb2YgYSBkZXZpY2UuXG5UaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGNlcnRpZmljYXRlczogYXV0aG9yIGNlcnRpZmljYXRlIGFuZCBkaXN0cmlidXRvciBjZXJ0aWZpY2F0ZS4gVGhlc2UgY2VydGlmaWNhdGVzIGFyZSB1c2VkIGZvciBzaWduaW5nIGFuZCB2ZXJpZnlpbmcgdGhlIGFwcGxpY2F0aW9uLjxcL3A+XG48cD5UaGVzZSBjZXJ0aWZpY2F0ZXMgZW5zdXJlIHRoYXQgeW91ciBzaWduZWQgYXBwbGljYXRpb24gcnVucyBvbmx5IG9uIHRob3NlIGRldmljZXMgdGhhdCBhcmUgcmVnaXN0ZXJlZCBieSB5b3UuXG5UaGUgY2VydGlmaWNhdGlvbiBwcm9jZXNzIGlzIG5lY2Vzc2FyeSBub3Qgb25seSBmb3IgdGVzdGluZyB5b3VyIGFwcHMgb24gdGhlIGFjdHVhbCBkZXZpY2VzIGJ1dCBhbHNvIGZvciB1cGxvYWRpbmcgdGhlbSB0byB0aGUgR2FsYXh5IFN0b3JlLjxcL3A+XG48cD5UaGUgY2VydGlmaWNhdGlvbiBwcm9jZXNzIGd1YXJhbnRlZXMgdGhhdCB5b3VyIGFwcGxpY2F0aW9uIHdpbGwgbm90IGJlIGRpc3RyaWJ1dGVkIGJ5IHNvbWVvbmUgZWxzZSBldmVuIGlmIHlvdXIgYXBwbGljYXRpb24gcGFja2FnZSBpcyBsZWFrZWQuXG5UaGUgZm9sbG93aW5nIHBhZ2VzIGRlc2NyaWJlIGhvdyB0byBnZW5lcmF0ZSBjZXJ0aWZpY2F0ZXMsIGhvdyB0byBtYWludGFpbiB0aGVtLCBhbmQgaG93IHRvIHBhY2thZ2UgeW91ciBhcHBsaWNhdGlvbjo8XC9wPlxuPHVsPlxuPGxpPjxhIGhyZWY9XCJjZXJ0LWNyZWF0ZS1wcm9maWxlLm1kXCI+Q3JlYXRpbmcgYSBDZXJ0aWZpY2F0ZSBQcm9maWxlPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiY2VydC1tYW5hZ2UtcHJvZmlsZS5tZFwiPk1hbmFnaW5nIENlcnRpZmljYXRlIFByb2ZpbGVzPFwvYT48XC9saT5cbjxcL3VsPlxuPGgyIGlkPVwiY29udGVudC10aXplbi1jZXJ0aWZpY2F0ZVwiPjxhIGhyZWY9XCIjY29udGVudC10aXplbi1jZXJ0aWZpY2F0ZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VGl6ZW4gQ2VydGlmaWNhdGU8XC9oMj5cbjxwPlRoZSBUaXplbiBjZXJ0aWZpY2F0ZSBmb2xsb3dzIHRoZSBleGFjdCBzcGVjaWZpY2F0aW9ucyBvZiA8YSBocmVmPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvVFJcL3dpZGdldHMtZGlnc2lnXC9cIj5YTUwgRGlnaXRhbCBTaWduYXR1cmUgZm9yIHdpZGdldHM8XC9hPiBmcm9tIFczQy5cblNhbXN1bmcgaXNzdWVzIGNlcnRpZmljYXRlcyBmb3IgU2Ftc3VuZyBUaXplbiBkZXZpY2VzIGJhc2VkIG9uIHRoZSBUaXplbiBjZXJ0aWZpY2F0ZS4gSXQgcHJvdmlkZXMgdGhlIHNlY3VyaXR5IGZvdW5kYXRpb24gZm9yIHRoZSBUaXplbiBwbGF0Zm9ybSBhbmQgYXBwbGllcyB0byBhbGwgVGl6ZW4gYXBwcyBhY3Jvc3MgYW55IGRldmljZS48XC9wPlxuPHA+QSBUaXplbiBjZXJ0aWZpY2F0ZSBwcm9maWxlIGhhcyB0d28gbWFpbiBwYXJ0czo8XC9wPlxuPGgzIGlkPVwiY29udGVudC0xLWF1dGhvci1jZXJ0aWZpY2F0ZVwiPjxhIGhyZWY9XCIjY29udGVudC0xLWF1dGhvci1jZXJ0aWZpY2F0ZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+MS4gQXV0aG9yIENlcnRpZmljYXRlPFwvaDM+XG48cD5UaGUgYXV0aG9yIGNlcnRpZmljYXRlIHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIGRldmVsb3BlciBvciBvcmdhbml6YXRpb24gdGhhdCBjcmVhdGVkIHRoZSBhcHBsaWNhdGlvbi48XC9wPlxuPHA+SXQgZW5zdXJlczo8XC9wPlxuPHVsPlxuPGxpPlZlcmlmaWVzIHRoZSBhcHAncyBvcmlnaW4gc28gdXNlcnMga25vdyB3aGVyZSBpdCBjYW1lIGZyb20uPFwvbGk+XG48bGk+RW5hYmxlcyBzZWN1cmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNvbXBvbmVudHMgc2lnbmVkIHdpdGggdGhlIHNhbWUgY2VydGlmaWNhdGUgKHZpYSBJUEMpLjxcL2xpPlxuPGxpPk1haW50YWlucyB1cGRhdGUgcmlnaHRzIGFjcm9zcyBhbGwgdmVyc2lvbnNcdTIwMTR5b3UgbXVzdCB1c2UgdGhlIHNhbWUga2V5IGZvciBldmVyeSB1cGRhdGUuPFwvbGk+XG48XC91bD5cbjxwPjxzdHJvbmc+Q3JpdGljYWw6PFwvc3Ryb25nPiBLZWVwIHRoaXMga2V5IHNhZmUuIElmIHlvdSBsb3NlIGl0LCB5b3UgY2Fubm90IHVwZGF0ZSB5b3VyIG93biBhcHAuIFRvIG1haW50YWluIGFwcGxpY2F0aW9uIGlkZW50aXR5LCB0aGUgYXV0aG9yIGtleSBtdXN0IGJlIHN0b3JlZCBjYXJlZnVsbHkgYW5kIHByb3RlY3RlZCBmcm9tIGxvc3MuPFwvcD5cbjxoMyBpZD1cImNvbnRlbnQtMi1kaXN0cmlidXRvci1jZXJ0aWZpY2F0ZVwiPjxhIGhyZWY9XCIjY29udGVudC0yLWRpc3RyaWJ1dG9yLWNlcnRpZmljYXRlXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT4yLiBEaXN0cmlidXRvciBDZXJ0aWZpY2F0ZTxcL2gzPlxuPHA+VGhlIGRpc3RyaWJ1dG9yIGNlcnRpZmljYXRlIGlkZW50aWZpZXMgdGhlIHBhcnR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIGFwcGxpY2F0aW9uIChzdWNoIGFzIGFwcCBzdG9yZXMgb3IgZGV2aWNlIHZlbmRvcnMpLlxuSXQgYWxzbyBncmFudHMgdGhlIHByaXZpbGVnZSBsZXZlbHMgYWxsb3dlZCBmb3IgdGhlIGFwcGxpY2F0aW9uLjxcL3A+XG48cD5EdXJpbmcgbG9jYWwgZGV2ZWxvcG1lbnQgYW5kIHRlc3RpbmcsIHRoZSBkaXN0cmlidXRvciBjZXJ0aWZpY2F0ZSBpbmNsdWRlZCBpbiB0aGUgcHJvZmlsZSBpcyBub3QgdGhlIG9mZmljaWFsIHN0b3JlIGNlcnRpZmljYXRlLiBJbnN0ZWFkLCBpdCBpcyBhIHRlbXBvcmFyeSBkZXZlbG9wZXIgZGlzdHJpYnV0b3IgY2VydGlmaWNhdGUgdGhhdCBhbGxvd3MgaW5zdGFsbGF0aW9uIG9uIHRlc3QgZGV2aWNlcy5cbk9uY2UgdGhlIGFwcGxpY2F0aW9uIGlzIHN1Ym1pdHRlZCB0byB0aGUgYXBwcm9wcmlhdGUgc3RvcmUsIHRoZSBkaXN0cmlidXRvciBjZXJ0aWZpY2F0ZSBpbnNpZGUgdGhlIHBhY2thZ2UgaXMgcmVwbGFjZWQgYnkgdGhlIG9mZmljaWFsIHN0b3JlLWlzc3VlZCBjZXJ0aWZpY2F0ZS48XC9wPlxuPGgyIGlkPVwiY29udGVudC1zYW1zdW5nLWNlcnRpZmljYXRlXCI+PGEgaHJlZj1cIiNjb250ZW50LXNhbXN1bmctY2VydGlmaWNhdGVcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlNhbXN1bmcgQ2VydGlmaWNhdGU8XC9oMj5cbjxwPlRoZSBTYW1zdW5nIENlcnRpZmljYXRlIFByb2ZpbGUgaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBUaXplbiBzZWN1cml0eSBmcmFtZXdvcmsgc3BlY2lmaWNhbGx5IHJlcXVpcmVkIGZvciBTYW1zdW5nXHUyMDE5cyBUaXplbi1iYXNlZCBkZXZpY2VzIHN1Y2ggYXMgc21hcnQgVFZzLCBvbGRlciBHYWxheHkgV2F0Y2hlcywgYW5kIElvVCBhcHBsaWFuY2VzLiBJdCBpbmNvcnBvcmF0ZXMgU2Ftc3VuZ1x1MjAxOXMgZGV2aWNlLWxldmVsIHZlcmlmaWNhdGlvbiBhbmQgcGVybWlzc2lvbiBjb250cm9scyBvbiB0b3Agb2YgdGhlIHN0YW5kYXJkIFRpemVuIGNlcnRpZmljYXRpb24gbW9kZWwuPFwvcD5cbjxoMyBpZD1cImNvbnRlbnQtYXV0aG9yLWNlcnRpZmljYXRlXCI+PGEgaHJlZj1cIiNjb250ZW50LWF1dGhvci1jZXJ0aWZpY2F0ZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+QXV0aG9yIENlcnRpZmljYXRlPFwvaDM+XG48cD5UaGlzIGlkZW50aWZpZXMgdGhlIGRldmVsb3BlciB0byBTYW1zdW5nXHUyMDE5cyBlY29zeXN0ZW0gYW5kIGlzIHZhbGlkYXRlZCB0aHJvdWdoIFNhbXN1bmdcdTIwMTlzIGRldmVsb3BlciBwb3J0YWwuPFwvcD5cbjxwPkl0IGVuc3VyZXM6PFwvcD5cbjx1bD5cbjxsaT5CaW5kaW5nIHRoZSBhcHAgdG8gYSB2ZXJpZmllZCBTYW1zdW5nIGRldmVsb3BlciBhY2NvdW50LjxcL2xpPlxuPGxpPk1haW50YWluaW5nIHVwZGF0ZSByaWdodHMgZm9yIFNhbXN1bmcgVGl6ZW4gZGV2aWNlcy48XC9saT5cbjxsaT5WZXJpZnlpbmcgdGhlIGF1dGhlbnRpY2l0eSBvZiBhcHBsaWNhdGlvbnMgZGV2ZWxvcGVkIGZvciBTYW1zdW5nIGhhcmR3YXJlLjxcL2xpPlxuPFwvdWw+XG48cD5BbHRob3VnaCBzdHJ1Y3R1cmFsbHkgc2ltaWxhciB0byB0aGUgZ2VuZXJpYyBUaXplbiBhdXRob3IgY2VydGlmaWNhdGUsIFNhbXN1bmdcdTIwMTlzIGF1dGhvciBjZXJ0aWZpY2F0ZSBpcyB0aWVkIHRvIFNhbXN1bmdcdTIwMTlzIG9ubGluZSBkZXZlbG9wZXIgaW5mcmFzdHJ1Y3R1cmUgYW5kIHJlcXVpcmVzIGFjY291bnQgdmVyaWZpY2F0aW9uLjxcL3A+XG48aDMgaWQ9XCJjb250ZW50LWRpc3RyaWJ1dG9yLWNlcnRpZmljYXRlXCI+PGEgaHJlZj1cIiNjb250ZW50LWRpc3RyaWJ1dG9yLWNlcnRpZmljYXRlXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EaXN0cmlidXRvciBDZXJ0aWZpY2F0ZTxcL2gzPlxuPHA+R2VuZXJhdGVkIHNwZWNpZmljYWxseSBmb3IgU2Ftc3VuZyBoYXJkd2FyZSBhZnRlciB0aGUgdXNlciBhdXRoZW50aWNhdGVzIGFuZCB2YWxpZGF0ZXMgdGhlIERVSUQgKERldmljZSBVbmlxdWUgSUQpIG9mIHRoZSBkZXZpY2UuPFwvcD5cbjxwPkl0IGVuYWJsZXM6PFwvcD5cbjx1bD5cbjxsaT5JbnN0YWxsYXRpb24gb2YgYXBwcyBvbiByZWdpc3RlcmVkIFNhbXN1bmcgZGV2aWNlcy48XC9saT5cbjxsaT5BY2Nlc3MgdG8gU2Ftc3VuZy1zcGVjaWZpYyBBUElzIGFuZCBwcml2aWxlZ2VkIGNhcGFiaWxpdGllcy48XC9saT5cbjxsaT5EZWJ1Z2dpbmcgYW5kIHNpZGVsb2FkaW5nIG9uIHJlYWwgZGV2aWNlcyB2aWEgRFVJRC1iYXNlZCB2ZXJpZmljYXRpb24uPFwvbGk+XG48XC91bD5cbjxwPldoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGxhdGVyIHVwbG9hZGVkIHRvIHRoZSBTYW1zdW5nIHN0b3JlIChlLmcuLCBmb3IgU2Ftc3VuZyBTbWFydCBUViBvciB3ZWFyYWJsZSBkaXN0cmlidXRpb24pLCB0aGUgdGVtcG9yYXJ5IGRpc3RyaWJ1dG9yIGNlcnRpZmljYXRlIGlzIHJlcGxhY2VkIHdpdGggU2Ftc3VuZ1x1MjAxOXMgb2ZmaWNpYWwgc3RvcmUgZGlzdHJpYnV0b3IgY2VydGlmaWNhdGUgZHVyaW5nIHRoZSBzaWduaW5nIHByb2Nlc3MuPFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtc2VjdXJpdHlcIj48YSBocmVmPVwiI2NvbnRlbnQtc2VjdXJpdHlcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlNlY3VyaXR5PFwvaDI+XG48cD5LZWVwIHlvdXIgYXV0aG9yIGNlcnRpZmljYXRlICg8Y29kZT5hdXRob3IucDEyPFwvY29kZT4pIGZpbGUgaW4gYSBzYWZlIGFuZCBzZWN1cmUgcGxhY2UuXG5FbnN1cmUgdGhhdCB5b3UgaGF2ZSBzZWN1cmUgYmFja3Vwcy48XC9wPlxuPGRpdiBjbGFzcz1cIm1kLWFsZXJ0IG1kLWFsZXJ0LW5vdGVcIj5cbjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wIDhhOCA4IDAgMSAxIDE2IDBBOCA4IDAgMCAxIDAgOFptOC02LjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1pNNi41IDcuNzVBLjc1Ljc1IDAgMCAxIDcuMjUgN2gxYS43NS43NSAwIDAgMSAuNzUuNzV2Mi43NWguMjVhLjc1Ljc1IDAgMCAxIDAgMS41aC0yYS43NS43NSAwIDAgMSAwLTEuNWguMjV2LTJoLS4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NVpNOCA2YTEgMSAwIDEgMSAwLTIgMSAxIDAgMCAxIDAgMlpcIlwvPjxcL3N2Zz5Ob3RlPFwvc3Bhbj5cbjxwPklmIHlvdSB1cGxvYWQgeW91ciBhcHBsaWNhdGlvbnMgdG8gdGhlIHJlc3BlY3RpdmUgc3RvcmVzIHdpdGhvdXQgdGhlIG9yaWdpbmFsIGF1dGhvciBjZXJ0aWZpY2F0ZSB0aGF0IHNpZ25zIHlvdXIgYXBwLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBwdWJsaXNoIGFueSB1cGRhdGVzIG9uIHlvdXIgYXBwbGljYXRpb25zLjxcL3A+XG48XC9kaXY+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtdGl6ZW4tY2VydGlmaWNhdGVcIj5UaXplbiBDZXJ0aWZpY2F0ZTxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LTEtYXV0aG9yLWNlcnRpZmljYXRlXCI+MS4gQXV0aG9yIENlcnRpZmljYXRlPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtMi1kaXN0cmlidXRvci1jZXJ0aWZpY2F0ZVwiPjIuIERpc3RyaWJ1dG9yIENlcnRpZmljYXRlPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtc2Ftc3VuZy1jZXJ0aWZpY2F0ZVwiPlNhbXN1bmcgQ2VydGlmaWNhdGU8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1hdXRob3ItY2VydGlmaWNhdGVcIj5BdXRob3IgQ2VydGlmaWNhdGU8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1kaXN0cmlidXRvci1jZXJ0aWZpY2F0ZVwiPkRpc3RyaWJ1dG9yIENlcnRpZmljYXRlPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtc2VjdXJpdHlcIj5TZWN1cml0eTxcL2E+PFwvbGk+XG48XC91bD5cbiIsInRpdGxlIjoiQ2VydGlmaWNhdGVzIiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiNjNGVHltRldvY01nNEQyZ0lkajgiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9zZGstdG9vbHNcL2RvdG5ldFwvdnNjb2RlXC92c2NvZGUtZXh0XC90b29sc1wvY2VydC1vdmVydmlldyIsIm1ldGhvZCI6IkdFVCIsInJlbGVhc2UiOiJhLWEtYSJ9LCJjaGVja3N1bSI6ImZjZGQ5NTU0N2RkZjc0MTU2MTk2MmQzMzM0ZGUxZTU3NTI4Yjg1MWVhYTQ3YmY1NTNjYWJmYmM1NDFkNjEzYjMifQ==')" >