Battery/a> provides functions for receiving Battery events or information.<\/p>\n<h2 id=\"content-required-header\"><a href=https://samsungtizenos.com/"#content-required-header\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Required Header<\/h2>\n<p>#include <hal-device-battery.h><\/p>\n<h2 id=\"content-overview\"><a href=https://samsungtizenos.com/"#content-overview\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Overview<\/h2>\n<p>The Battery provides the way to get the current battery capacity value, battery state and charging state. And it provides the power source information like name, type. It also supports the API for an application to receive the battery events from the system. To receive the battery event it should be described by the callback function.<\/p>\n<p>The Battery functions provide battery information including:<\/p>\n<ul>\n<li>Load\/Unload for battery hal-backend module<\/li>\n<li>Register battery event<\/li>\n<li>Unregister battery event<\/li>\n<li>Getter for power source name<\/li>\n<li>Getter for power source type<\/li>\n<li>Getter for current battery state<\/li>\n<\/ul>\n<p>For more information on the Battery features and the macros, see HAL Battery programming guides and tutorials.<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Typedefs<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#struct__hal__backend__device__battery__funcs\">_hal_backend_device_battery_funcs<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ga3e4c8b33fd0846bb9f18db86c382f5bf\">hal_backend_device_battery_funcs<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Structure for Battery functions.<\/td>\n<\/tr>\n<tr>\n<td>typedef void(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#structhal__device__battery__info__s\">hal_device_battery_info_s<\/a> *info, void *data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Called when a Battery information is handled.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h2 id=\"content-data-structure-documentation\"><a href=https://samsungtizenos.com/"#content-data-structure-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Data Structure Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct _hal_backend_device_battery_funcs<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for Battery functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_DEVICE_BATTERY 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a794283d479f93e89abacc122dec49899\">register_changed_event<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb, void *data)<\/td>\n<\/tr>\n<tr>\n<td>void(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a025f3963e633524b218b90cd09abf81c\">unregister_changed_event<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a3f5a3a5c68b5b3cbf9b90e54333073b4\">get_current_state<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb, void *data)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation\"><a href=https://samsungtizenos.com/"#content-field-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a3f5a3a5c68b5b3cbf9b90e54333073b4\">_hal_backend_device_battery_funcs::get_current_state<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb, void *data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get current states, it operates synchronously<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a794283d479f93e89abacc122dec49899\">_hal_backend_device_battery_funcs::register_changed_event<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb, void *data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Register battery event<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>void(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a025f3963e633524b218b90cd09abf81c\">_hal_backend_device_battery_funcs::unregister_changed_event<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a> updated_cb)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Unregister battery event<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct hal_device_battery_info_s<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for Battery information data.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_DEVICE_BATTERY 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>char *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a212ad375aa0c397edc5395f15a60cec0\">name<\/a><\/td>\n<\/tr>\n<tr>\n<td>char *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ae4bec312cde17e206d738faa12dd965f\">status<\/a><\/td>\n<\/tr>\n<tr>\n<td>char *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a25f208374f8e035ea3505f411f32a89c\">health<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gaf39dc5698daa1d243e37094ed0ae315a\">hal_device_battery_power_source_type_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a23f40e09ff830ab2116aca7519dcfffe\">power_source<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a1819562bafac58d3a922a3f7b98c9a49\">online<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a095f621e4883dfbebdfbbfec4e3302e1\">present<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#adb86cb533359b6f2f331b0aeb5f7f014\">capacity<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#aad11a980393b4bdd8d5805e10af62a4f\">current_now<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a343f0e9d58c138d813976b964403a0fb\">current_average<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a17d2aa8f8259b402ea61824e422cd456\">voltage_now<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ae6f3aa46530454f853fbfe553ea09096\">voltage_average<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a88e213b86c7ce9965561b8f917d473f1\">temperature<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-1\"><a href=https://samsungtizenos.com/"#content-field-documentation-1\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#adb86cb533359b6f2f331b0aeb5f7f014\">hal_device_battery_info_s::capacity<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The remaining capacity of the battery<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a343f0e9d58c138d813976b964403a0fb\">hal_device_battery_info_s::current_average<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The average amount of current consumed by the device over time<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#aad11a980393b4bdd8d5805e10af62a4f\">hal_device_battery_info_s::current_now<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The amount of current being consumed by the device at the moment<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>char* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a25f208374f8e035ea3505f411f32a89c\">hal_device_battery_info_s::health<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The overall condition of the battery<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>char* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a212ad375aa0c397edc5395f15a60cec0\">hal_device_battery_info_s::name<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The name of the battery<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a1819562bafac58d3a922a3f7b98c9a49\">hal_device_battery_info_s::online<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>This indicates whether the device is currently receiving power from an external source.<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th><a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gaf39dc5698daa1d243e37094ed0ae315a\">hal_device_battery_power_source_type_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a23f40e09ff830ab2116aca7519dcfffe\">hal_device_battery_info_s::power_source<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The source of power being supplied<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a095f621e4883dfbebdfbbfec4e3302e1\">hal_device_battery_info_s::present<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>This indicates whether there is a battery inside the system physically, with 1 indicating it is connected and 0 otherwise.<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>char* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ae4bec312cde17e206d738faa12dd965f\">hal_device_battery_info_s::status<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The current state of the battery<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a88e213b86c7ce9965561b8f917d473f1\">hal_device_battery_info_s::temperature<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The current temperature of the battery<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ae6f3aa46530454f853fbfe553ea09096\">hal_device_battery_info_s::voltage_average<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The average voltage level of the battery over time<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#a17d2aa8f8259b402ea61824e422cd456\">hal_device_battery_info_s::voltage_now<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The current voltage level of the battery<\/p>\n<hr \/>\n<h2 id=\"content-typedef-documentation\"><a href=https://samsungtizenos.com/"#content-typedef-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Typedef Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#struct__hal__backend__device__battery__funcs\">_hal_backend_device_battery_funcs<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#ga3e4c8b33fd0846bb9f18db86c382f5bf\">hal_backend_device_battery_funcs<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for Battery functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_DEVICE_BATTERY 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef void(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gad0f8b67a800db3555664713078ff6873\">hal_device_battery_updated_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#structhal__device__battery__info__s\">hal_device_battery_info_s<\/a> *info, void *data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Called when a Battery information is handled.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_DEVICE_BATTERY 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [out] | info | Battery information |\n| --- | --- | --- |\n| [out] | user_data | User data passed |<\/p>\n<hr \/>\n<h2 id=\"content-enumeration-type-documentation\"><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Enumeration Type Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__DEVICE__BATTERY__MODULE.md#gaf39dc5698daa1d243e37094ed0ae315a\">hal_device_battery_power_source_type_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for Battery power source type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_DEVICE_BATTERY 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>HAL_DEVICE_BATTERY_POWER_SOURCE_NONE<\/em> | power source type None |\n| --- | --- |\n| <em>HAL_DEVICE_BATTERY_POWER_SOURCE_AC<\/em> | power source type Ac |\n| <em>HAL_DEVICE_BATTERY_POWER_SOURCE_USB<\/em> | power source type Usb |\n| <em>HAL_DEVICE_BATTERY_POWER_SOURCE_WIRELESS<\/em> | power source type Wireless |<\/p>\n<hr \/>\n<p>Except as noted, this content - excluding the Code Examples - is licensed under <a href=https://samsungtizenos.com/"http:////creativecommons.org//licenses//by//3.0//legalcode/">Creative Commons Attribution 3.0<\/a>\nand all of the Code Examples contained herein are licensed under <a href=https://samsungtizenos.com/"https:////www.tizen.org//bsd-3-clause-license/">BSD-3-Clause/a>.
Content License<\/a>.<\/p>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-required-header\">Required Header<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-overview\">Overview<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-data-structure-documentation\">Data Structure Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-1\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-typedef-documentation\">Typedef Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\">Enumeration Type Documentation<\/a><\/li>\n<\/ul>\n","title":"Tizen HAL API: Battery","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"mQbE5aKXmv8iFejDZUUs","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__DEVICE__BATTERY__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"8fd2f3cd2e182afe63989ef958b0b34d5f6e996d14e37b66455f3d8ce2d32736"}" wire:effects="[]" wire:id="mQbE5aKXmv8iFejDZUUs" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1iYXR0ZXJ5XCI+PGEgaHJlZj1cIiNjb250ZW50LXRpemVuLWhhbC1hcGktYmF0dGVyeVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VGl6ZW4gSEFMIEFQSTogQmF0dGVyeTxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWRcIj5CYXR0ZXJ5PFwvYT4gcHJvdmlkZXMgZnVuY3Rpb25zIGZvciByZWNlaXZpbmcgQmF0dGVyeSBldmVudHMgb3IgaW5mb3JtYXRpb24uPFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcmVxdWlyZWQtaGVhZGVyXCI+PGEgaHJlZj1cIiNjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVxdWlyZWQgSGVhZGVyPFwvaDI+XG48cD4jaW5jbHVkZSAmbHQ7aGFsLWRldmljZS1iYXR0ZXJ5LmgmZ3Q7PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtb3ZlcnZpZXdcIj48YSBocmVmPVwiI2NvbnRlbnQtb3ZlcnZpZXdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPk92ZXJ2aWV3PFwvaDI+XG48cD5UaGUgQmF0dGVyeSBwcm92aWRlcyB0aGUgd2F5IHRvIGdldCB0aGUgY3VycmVudCBiYXR0ZXJ5IGNhcGFjaXR5IHZhbHVlLCBiYXR0ZXJ5IHN0YXRlIGFuZCBjaGFyZ2luZyBzdGF0ZS4gQW5kIGl0IHByb3ZpZGVzIHRoZSBwb3dlciBzb3VyY2UgaW5mb3JtYXRpb24gbGlrZSBuYW1lLCB0eXBlLiBJdCBhbHNvIHN1cHBvcnRzIHRoZSBBUEkgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIHJlY2VpdmUgdGhlIGJhdHRlcnkgZXZlbnRzIGZyb20gdGhlIHN5c3RlbS4gVG8gcmVjZWl2ZSB0aGUgYmF0dGVyeSBldmVudCBpdCBzaG91bGQgYmUgZGVzY3JpYmVkIGJ5IHRoZSBjYWxsYmFjayBmdW5jdGlvbi48XC9wPlxuPHA+VGhlIEJhdHRlcnkgZnVuY3Rpb25zIHByb3ZpZGUgYmF0dGVyeSBpbmZvcm1hdGlvbiBpbmNsdWRpbmc6PFwvcD5cbjx1bD5cbjxsaT5Mb2FkXC9VbmxvYWQgZm9yIGJhdHRlcnkgaGFsLWJhY2tlbmQgbW9kdWxlPFwvbGk+XG48bGk+UmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL2xpPlxuPGxpPlVucmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL2xpPlxuPGxpPkdldHRlciBmb3IgcG93ZXIgc291cmNlIG5hbWU8XC9saT5cbjxsaT5HZXR0ZXIgZm9yIHBvd2VyIHNvdXJjZSB0eXBlPFwvbGk+XG48bGk+R2V0dGVyIGZvciBjdXJyZW50IGJhdHRlcnkgc3RhdGU8XC9saT5cbjxcL3VsPlxuPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIEJhdHRlcnkgZmVhdHVyZXMgYW5kIHRoZSBtYWNyb3MsIHNlZSBIQUwgQmF0dGVyeSBwcm9ncmFtbWluZyBndWlkZXMgYW5kIHR1dG9yaWFscy48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+VHlwZWRlZnM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fZGV2aWNlX19iYXR0ZXJ5X19mdW5jc1wiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2EzZTRjOGIzM2ZkMDg0NmJiOWYxOGRiODZjMzgyZjViZlwiPmhhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlN0cnVjdHVyZSBmb3IgQmF0dGVyeSBmdW5jdGlvbnMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHZvaWQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjc3RydWN0aGFsX19kZXZpY2VfX2JhdHRlcnlfX2luZm9fX3NcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zPFwvYT4gKmluZm8sIHZvaWQgKmRhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5DYWxsZWQgd2hlbiBhIEJhdHRlcnkgaW5mb3JtYXRpb24gaXMgaGFuZGxlZC48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWRhdGEtc3RydWN0dXJlLWRvY3VtZW50YXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RGF0YSBTdHJ1Y3R1cmUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IF9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0cnVjdHVyZSBmb3IgQmF0dGVyeSBmdW5jdGlvbnMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfREVWSUNFX0JBVFRFUlkgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTc5NDI4M2Q0NzlmOTNlODlhYmFjYzEyMmRlYzQ5ODk5XCI+cmVnaXN0ZXJfY2hhbmdlZF9ldmVudDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYiwgdm9pZCAqZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnZvaWQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EwMjVmMzk2M2U2MzM1MjRiMjE4YjkwY2QwOWFiZjgxY1wiPnVucmVnaXN0ZXJfY2hhbmdlZF9ldmVudDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYik8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTNmNWEzYTVjNjhiNWIzY2JmOWI5MGU1NDMzMzA3M2I0XCI+Z2V0X2N1cnJlbnRfc3RhdGU8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+IHVwZGF0ZWRfY2IsIHZvaWQgKmRhdGEpPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EzZjVhM2E1YzY4YjViM2NiZjliOTBlNTQzMzMwNzNiNFwiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczo6Z2V0X2N1cnJlbnRfc3RhdGU8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYiwgdm9pZCAqZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgY3VycmVudCBzdGF0ZXMsIGl0IG9wZXJhdGVzIHN5bmNocm9ub3VzbHk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTc5NDI4M2Q0NzlmOTNlODlhYmFjYzEyMmRlYzQ5ODk5XCI+X2hhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzOjpyZWdpc3Rlcl9jaGFuZ2VkX2V2ZW50PFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+IHVwZGF0ZWRfY2IsIHZvaWQgKmRhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+UmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD52b2lkKCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTAyNWYzOTYzZTYzMzUyNGIyMThiOTBjZDA5YWJmODFjXCI+X2hhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzOjp1bnJlZ2lzdGVyX2NoYW5nZWRfZXZlbnQ8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYik8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5VbnJlZ2lzdGVyIGJhdHRlcnkgZXZlbnQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdHJ1Y3R1cmUgZm9yIEJhdHRlcnkgaW5mb3JtYXRpb24gZGF0YS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9ERVZJQ0VfQkFUVEVSWSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+Y2hhciAqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIxMmFkMzc1YWEwYzM5N2VkYzUzOTVmMTVhNjBjZWMwXCI+bmFtZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5jaGFyICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTRiZWMzMTJjZGUxN2UyMDZkNzM4ZmFhMTJkZDk2NWZcIj5zdGF0dXM8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+Y2hhciAqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTI1ZjIwODM3NGY4ZTAzNWVhMzUwNWY0MTFmMzJhODljXCI+aGVhbHRoPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZjM5ZGM1Njk4ZGFhMWQyNDNlMzcwOTRlZDBhZTMxNWFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfcG93ZXJfc291cmNlX3R5cGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIzZjQwZTA5ZmY4MzBhYjIxMTZhY2E3NTE5ZGNmZmZlXCI+cG93ZXJfc291cmNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2ExODE5NTYyYmFmYWM1OGQzYTkyMmEzZjdiOThjOWE0OVwiPm9ubGluZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMDk1ZjYyMWU0ODgzZGZiZWJkZmJiZmVjNGUzMzAyZTFcIj5wcmVzZW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FkYjg2Y2I1MzMzNTliNmYyZjMzMWIwYWViNWY3ZjAxNFwiPmNhcGFjaXR5PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FhZDExYTk4MDM5M2I0YmRkOGQ1ODA1ZTEwYWY2MmE0ZlwiPmN1cnJlbnRfbm93PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EzNDNmMGU5ZDU4YzEzOGQ4MTM5NzZiOTY0NDAzYTBmYlwiPmN1cnJlbnRfYXZlcmFnZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMTdkMmFhOGY4MjU5YjQwMmVhNjE4MjRlNDIyY2Q0NTZcIj52b2x0YWdlX25vdzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTZmM2FhNDY1MzA0NTRmODUzZmJmZTU1M2VhMDkwOTZcIj52b2x0YWdlX2F2ZXJhZ2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTg4ZTIxM2I4NmM3Y2U5OTY1NTYxYjhmOTE3ZDQ3M2YxXCI+dGVtcGVyYXR1cmU8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FkYjg2Y2I1MzMzNTliNmYyZjMzMWIwYWViNWY3ZjAxNFwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OmNhcGFjaXR5PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcmVtYWluaW5nIGNhcGFjaXR5IG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMzQzZjBlOWQ1OGMxMzhkODEzOTc2Yjk2NDQwM2EwZmJcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpjdXJyZW50X2F2ZXJhZ2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBhdmVyYWdlIGFtb3VudCBvZiBjdXJyZW50IGNvbnN1bWVkIGJ5IHRoZSBkZXZpY2Ugb3ZlciB0aW1lPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhYWQxMWE5ODAzOTNiNGJkZDhkNTgwNWUxMGFmNjJhNGZcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpjdXJyZW50X25vdzxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGFtb3VudCBvZiBjdXJyZW50IGJlaW5nIGNvbnN1bWVkIGJ5IHRoZSBkZXZpY2UgYXQgdGhlIG1vbWVudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMjVmMjA4Mzc0ZjhlMDM1ZWEzNTA1ZjQxMWYzMmE4OWNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpoZWFsdGg8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBvdmVyYWxsIGNvbmRpdGlvbiBvZiB0aGUgYmF0dGVyeTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMjEyYWQzNzVhYTBjMzk3ZWRjNTM5NWYxNWE2MGNlYzBcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpuYW1lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbmFtZSBvZiB0aGUgYmF0dGVyeTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTE4MTk1NjJiYWZhYzU4ZDNhOTIyYTNmN2I5OGM5YTQ5XCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczo6b25saW5lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGlzIGluZGljYXRlcyB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgY3VycmVudGx5IHJlY2VpdmluZyBwb3dlciBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZS48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FmMzlkYzU2OThkYWExZDI0M2UzNzA5NGVkMGFlMzE1YVwiPmhhbF9kZXZpY2VfYmF0dGVyeV9wb3dlcl9zb3VyY2VfdHlwZV9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIzZjQwZTA5ZmY4MzBhYjIxMTZhY2E3NTE5ZGNmZmZlXCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczo6cG93ZXJfc291cmNlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc291cmNlIG9mIHBvd2VyIGJlaW5nIHN1cHBsaWVkPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMDk1ZjYyMWU0ODgzZGZiZWJkZmJiZmVjNGUzMzAyZTFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpwcmVzZW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGlzIGluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGEgYmF0dGVyeSBpbnNpZGUgdGhlIHN5c3RlbSBwaHlzaWNhbGx5LCB3aXRoIDEgaW5kaWNhdGluZyBpdCBpcyBjb25uZWN0ZWQgYW5kIDAgb3RoZXJ3aXNlLjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTRiZWMzMTJjZGUxN2UyMDZkNzM4ZmFhMTJkZDk2NWZcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpzdGF0dXM8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhODhlMjEzYjg2YzdjZTk5NjU1NjFiOGY5MTdkNDczZjFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjp0ZW1wZXJhdHVyZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGN1cnJlbnQgdGVtcGVyYXR1cmUgb2YgdGhlIGJhdHRlcnk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FlNmYzYWE0NjUzMDQ1NGY4NTNmYmZlNTUzZWEwOTA5NlwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OnZvbHRhZ2VfYXZlcmFnZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGF2ZXJhZ2Ugdm9sdGFnZSBsZXZlbCBvZiB0aGUgYmF0dGVyeSBvdmVyIHRpbWU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2ExN2QyYWE4ZjgyNTliNDAyZWE2MTgyNGU0MjJjZDQ1NlwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OnZvbHRhZ2Vfbm93PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY3VycmVudCB2b2x0YWdlIGxldmVsIG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fZGV2aWNlX19iYXR0ZXJ5X19mdW5jc1wiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhM2U0YzhiMzNmZDA4NDZiYjlmMThkYjg2YzM4MmY1YmZcIj5oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RydWN0dXJlIGZvciBCYXR0ZXJ5IGZ1bmN0aW9ucy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9ERVZJQ0VfQkFUVEVSWSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiB2b2lkKCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI3N0cnVjdGhhbF9fZGV2aWNlX19iYXR0ZXJ5X19pbmZvX19zXCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczxcL2E+ICppbmZvLCB2b2lkICpkYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkNhbGxlZCB3aGVuIGEgQmF0dGVyeSBpbmZvcm1hdGlvbiBpcyBoYW5kbGVkLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0RFVklDRV9CQVRURVJZIDEuMDxcL3A+XG48cD48c3Ryb25nPlBhcmFtZXRlcnM6PFwvc3Ryb25nPlxuOiAgIHwgW291dF0gfCBpbmZvIHwgQmF0dGVyeSBpbmZvcm1hdGlvbiB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtvdXRdIHwgdXNlcl9kYXRhIHwgVXNlciBkYXRhIHBhc3NlZCB8PFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWVudW1lcmF0aW9uLXR5cGUtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RW51bWVyYXRpb24gVHlwZSBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZjM5ZGM1Njk4ZGFhMWQyNDNlMzcwOTRlZDBhZTMxNWFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfcG93ZXJfc291cmNlX3R5cGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIEJhdHRlcnkgcG93ZXIgc291cmNlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfREVWSUNFX0JBVFRFUlkgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9OT05FPFwvZW0+IHwgcG93ZXIgc291cmNlIHR5cGUgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5IQUxfREVWSUNFX0JBVFRFUllfUE9XRVJfU09VUkNFX0FDPFwvZW0+IHwgcG93ZXIgc291cmNlIHR5cGUgQWMgfFxufCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9VU0I8XC9lbT4gfCBwb3dlciBzb3VyY2UgdHlwZSBVc2IgfFxufCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9XSVJFTEVTUzxcL2VtPiB8IHBvd2VyIHNvdXJjZSB0eXBlIFdpcmVsZXNzIHw8XC9wPlxuPGhyIFwvPlxuPHA+RXhjZXB0IGFzIG5vdGVkLCB0aGlzIGNvbnRlbnQgLSBleGNsdWRpbmcgdGhlIENvZGUgRXhhbXBsZXMgLSBpcyBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cDpcL1wvY3JlYXRpdmVjb21tb25zLm9yZ1wvbGljZW5zZXNcL2J5XC8zLjBcL2xlZ2FsY29kZVwiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wPFwvYT5cbmFuZCBhbGwgb2YgdGhlIENvZGUgRXhhbXBsZXMgY29udGFpbmVkIGhlcmVpbiBhcmUgbGljZW5zZWQgdW5kZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9ic2QtMy1jbGF1c2UtbGljZW5zZVwiPkJTRC0zLUNsYXVzZTxcL2E+LjxiciBcLz5cbkZvciBkZXRhaWxzLCBzZWUgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnRpemVuLm9yZ1wvY29udGVudC1saWNlbnNlXCI+Q29udGVudCBMaWNlbnNlPFwvYT4uPFwvcD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIj5SZXF1aXJlZCBIZWFkZXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiPk92ZXJ2aWV3PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIj5UeXBlZGVmIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IlRpemVuIEhBTCBBUEk6IEJhdHRlcnkiLCJyYXciOm51bGx9LHsiY2xhc3MiOiJBcHBcXFNlcnZpY2VzXFxEb2N1bWVudGF0aW9uXFxEYXRhXFxSZW5kZXJlZE1hcmtkb3duIiwicyI6IndyYmwifV19LHsicyI6ImFyciJ9XX0sIm1lbW8iOnsiaWQiOiJqQzU1VXJidHBPUGVXN2p2UWFociIsIm5hbWUiOiJfX21vdW50UGFyYW1zQ29udGFpbmVyIiwicGF0aCI6ImRvY3NcL3BsYXRmb3JtXC9oYWxcL2FwaVwvMS4wLjBcL2dyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiIzYWQxNmJmMGU0YzI3Y2RjMzAyYTdhNjczOTVlODk1NDgzODQyNTcxNDY0Mjk4OWE3NDFkMDJmZjE5MWM3ODVlIn0=')" >
Content License<\/a>.<\/p>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-required-header\">Required Header<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-overview\">Overview<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-data-structure-documentation\">Data Structure Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-1\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-typedef-documentation\">Typedef Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\">Enumeration Type Documentation<\/a><\/li>\n<\/ul>\n","title":"Tizen HAL API: Battery","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"mQbE5aKXmv8iFejDZUUs","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__DEVICE__BATTERY__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"8fd2f3cd2e182afe63989ef958b0b34d5f6e996d14e37b66455f3d8ce2d32736"}" wire:effects="[]" wire:id="mQbE5aKXmv8iFejDZUUs" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1iYXR0ZXJ5XCI+PGEgaHJlZj1cIiNjb250ZW50LXRpemVuLWhhbC1hcGktYmF0dGVyeVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VGl6ZW4gSEFMIEFQSTogQmF0dGVyeTxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWRcIj5CYXR0ZXJ5PFwvYT4gcHJvdmlkZXMgZnVuY3Rpb25zIGZvciByZWNlaXZpbmcgQmF0dGVyeSBldmVudHMgb3IgaW5mb3JtYXRpb24uPFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcmVxdWlyZWQtaGVhZGVyXCI+PGEgaHJlZj1cIiNjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVxdWlyZWQgSGVhZGVyPFwvaDI+XG48cD4jaW5jbHVkZSAmbHQ7aGFsLWRldmljZS1iYXR0ZXJ5LmgmZ3Q7PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtb3ZlcnZpZXdcIj48YSBocmVmPVwiI2NvbnRlbnQtb3ZlcnZpZXdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPk92ZXJ2aWV3PFwvaDI+XG48cD5UaGUgQmF0dGVyeSBwcm92aWRlcyB0aGUgd2F5IHRvIGdldCB0aGUgY3VycmVudCBiYXR0ZXJ5IGNhcGFjaXR5IHZhbHVlLCBiYXR0ZXJ5IHN0YXRlIGFuZCBjaGFyZ2luZyBzdGF0ZS4gQW5kIGl0IHByb3ZpZGVzIHRoZSBwb3dlciBzb3VyY2UgaW5mb3JtYXRpb24gbGlrZSBuYW1lLCB0eXBlLiBJdCBhbHNvIHN1cHBvcnRzIHRoZSBBUEkgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIHJlY2VpdmUgdGhlIGJhdHRlcnkgZXZlbnRzIGZyb20gdGhlIHN5c3RlbS4gVG8gcmVjZWl2ZSB0aGUgYmF0dGVyeSBldmVudCBpdCBzaG91bGQgYmUgZGVzY3JpYmVkIGJ5IHRoZSBjYWxsYmFjayBmdW5jdGlvbi48XC9wPlxuPHA+VGhlIEJhdHRlcnkgZnVuY3Rpb25zIHByb3ZpZGUgYmF0dGVyeSBpbmZvcm1hdGlvbiBpbmNsdWRpbmc6PFwvcD5cbjx1bD5cbjxsaT5Mb2FkXC9VbmxvYWQgZm9yIGJhdHRlcnkgaGFsLWJhY2tlbmQgbW9kdWxlPFwvbGk+XG48bGk+UmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL2xpPlxuPGxpPlVucmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL2xpPlxuPGxpPkdldHRlciBmb3IgcG93ZXIgc291cmNlIG5hbWU8XC9saT5cbjxsaT5HZXR0ZXIgZm9yIHBvd2VyIHNvdXJjZSB0eXBlPFwvbGk+XG48bGk+R2V0dGVyIGZvciBjdXJyZW50IGJhdHRlcnkgc3RhdGU8XC9saT5cbjxcL3VsPlxuPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIEJhdHRlcnkgZmVhdHVyZXMgYW5kIHRoZSBtYWNyb3MsIHNlZSBIQUwgQmF0dGVyeSBwcm9ncmFtbWluZyBndWlkZXMgYW5kIHR1dG9yaWFscy48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+VHlwZWRlZnM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fZGV2aWNlX19iYXR0ZXJ5X19mdW5jc1wiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2EzZTRjOGIzM2ZkMDg0NmJiOWYxOGRiODZjMzgyZjViZlwiPmhhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlN0cnVjdHVyZSBmb3IgQmF0dGVyeSBmdW5jdGlvbnMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHZvaWQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjc3RydWN0aGFsX19kZXZpY2VfX2JhdHRlcnlfX2luZm9fX3NcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zPFwvYT4gKmluZm8sIHZvaWQgKmRhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5DYWxsZWQgd2hlbiBhIEJhdHRlcnkgaW5mb3JtYXRpb24gaXMgaGFuZGxlZC48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWRhdGEtc3RydWN0dXJlLWRvY3VtZW50YXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RGF0YSBTdHJ1Y3R1cmUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IF9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0cnVjdHVyZSBmb3IgQmF0dGVyeSBmdW5jdGlvbnMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfREVWSUNFX0JBVFRFUlkgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTc5NDI4M2Q0NzlmOTNlODlhYmFjYzEyMmRlYzQ5ODk5XCI+cmVnaXN0ZXJfY2hhbmdlZF9ldmVudDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYiwgdm9pZCAqZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnZvaWQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EwMjVmMzk2M2U2MzM1MjRiMjE4YjkwY2QwOWFiZjgxY1wiPnVucmVnaXN0ZXJfY2hhbmdlZF9ldmVudDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYik8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTNmNWEzYTVjNjhiNWIzY2JmOWI5MGU1NDMzMzA3M2I0XCI+Z2V0X2N1cnJlbnRfc3RhdGU8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+IHVwZGF0ZWRfY2IsIHZvaWQgKmRhdGEpPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EzZjVhM2E1YzY4YjViM2NiZjliOTBlNTQzMzMwNzNiNFwiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczo6Z2V0X2N1cnJlbnRfc3RhdGU8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYiwgdm9pZCAqZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgY3VycmVudCBzdGF0ZXMsIGl0IG9wZXJhdGVzIHN5bmNocm9ub3VzbHk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTc5NDI4M2Q0NzlmOTNlODlhYmFjYzEyMmRlYzQ5ODk5XCI+X2hhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzOjpyZWdpc3Rlcl9jaGFuZ2VkX2V2ZW50PFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZDBmOGI2N2E4MDBkYjM1NTU2NjQ3MTMwNzhmZjY4NzNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfdXBkYXRlZF9jYjxcL2E+IHVwZGF0ZWRfY2IsIHZvaWQgKmRhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+UmVnaXN0ZXIgYmF0dGVyeSBldmVudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD52b2lkKCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTAyNWYzOTYzZTYzMzUyNGIyMThiOTBjZDA5YWJmODFjXCI+X2hhbF9iYWNrZW5kX2RldmljZV9iYXR0ZXJ5X2Z1bmNzOjp1bnJlZ2lzdGVyX2NoYW5nZWRfZXZlbnQ8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4gdXBkYXRlZF9jYik8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5VbnJlZ2lzdGVyIGJhdHRlcnkgZXZlbnQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdHJ1Y3R1cmUgZm9yIEJhdHRlcnkgaW5mb3JtYXRpb24gZGF0YS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9ERVZJQ0VfQkFUVEVSWSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+Y2hhciAqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIxMmFkMzc1YWEwYzM5N2VkYzUzOTVmMTVhNjBjZWMwXCI+bmFtZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5jaGFyICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTRiZWMzMTJjZGUxN2UyMDZkNzM4ZmFhMTJkZDk2NWZcIj5zdGF0dXM8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+Y2hhciAqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTI1ZjIwODM3NGY4ZTAzNWVhMzUwNWY0MTFmMzJhODljXCI+aGVhbHRoPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZjM5ZGM1Njk4ZGFhMWQyNDNlMzcwOTRlZDBhZTMxNWFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfcG93ZXJfc291cmNlX3R5cGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIzZjQwZTA5ZmY4MzBhYjIxMTZhY2E3NTE5ZGNmZmZlXCI+cG93ZXJfc291cmNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2ExODE5NTYyYmFmYWM1OGQzYTkyMmEzZjdiOThjOWE0OVwiPm9ubGluZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMDk1ZjYyMWU0ODgzZGZiZWJkZmJiZmVjNGUzMzAyZTFcIj5wcmVzZW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FkYjg2Y2I1MzMzNTliNmYyZjMzMWIwYWViNWY3ZjAxNFwiPmNhcGFjaXR5PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FhZDExYTk4MDM5M2I0YmRkOGQ1ODA1ZTEwYWY2MmE0ZlwiPmN1cnJlbnRfbm93PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2EzNDNmMGU5ZDU4YzEzOGQ4MTM5NzZiOTY0NDAzYTBmYlwiPmN1cnJlbnRfYXZlcmFnZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMTdkMmFhOGY4MjU5YjQwMmVhNjE4MjRlNDIyY2Q0NTZcIj52b2x0YWdlX25vdzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTZmM2FhNDY1MzA0NTRmODUzZmJmZTU1M2VhMDkwOTZcIj52b2x0YWdlX2F2ZXJhZ2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTg4ZTIxM2I4NmM3Y2U5OTY1NTYxYjhmOTE3ZDQ3M2YxXCI+dGVtcGVyYXR1cmU8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FkYjg2Y2I1MzMzNTliNmYyZjMzMWIwYWViNWY3ZjAxNFwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OmNhcGFjaXR5PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcmVtYWluaW5nIGNhcGFjaXR5IG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMzQzZjBlOWQ1OGMxMzhkODEzOTc2Yjk2NDQwM2EwZmJcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpjdXJyZW50X2F2ZXJhZ2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBhdmVyYWdlIGFtb3VudCBvZiBjdXJyZW50IGNvbnN1bWVkIGJ5IHRoZSBkZXZpY2Ugb3ZlciB0aW1lPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhYWQxMWE5ODAzOTNiNGJkZDhkNTgwNWUxMGFmNjJhNGZcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpjdXJyZW50X25vdzxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGFtb3VudCBvZiBjdXJyZW50IGJlaW5nIGNvbnN1bWVkIGJ5IHRoZSBkZXZpY2UgYXQgdGhlIG1vbWVudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMjVmMjA4Mzc0ZjhlMDM1ZWEzNTA1ZjQxMWYzMmE4OWNcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpoZWFsdGg8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBvdmVyYWxsIGNvbmRpdGlvbiBvZiB0aGUgYmF0dGVyeTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMjEyYWQzNzVhYTBjMzk3ZWRjNTM5NWYxNWE2MGNlYzBcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpuYW1lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbmFtZSBvZiB0aGUgYmF0dGVyeTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTE4MTk1NjJiYWZhYzU4ZDNhOTIyYTNmN2I5OGM5YTQ5XCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczo6b25saW5lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGlzIGluZGljYXRlcyB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgY3VycmVudGx5IHJlY2VpdmluZyBwb3dlciBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZS48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FmMzlkYzU2OThkYWExZDI0M2UzNzA5NGVkMGFlMzE1YVwiPmhhbF9kZXZpY2VfYmF0dGVyeV9wb3dlcl9zb3VyY2VfdHlwZV9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjYTIzZjQwZTA5ZmY4MzBhYjIxMTZhY2E3NTE5ZGNmZmZlXCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczo6cG93ZXJfc291cmNlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc291cmNlIG9mIHBvd2VyIGJlaW5nIHN1cHBsaWVkPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhMDk1ZjYyMWU0ODgzZGZiZWJkZmJiZmVjNGUzMzAyZTFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpwcmVzZW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGlzIGluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGEgYmF0dGVyeSBpbnNpZGUgdGhlIHN5c3RlbSBwaHlzaWNhbGx5LCB3aXRoIDEgaW5kaWNhdGluZyBpdCBpcyBjb25uZWN0ZWQgYW5kIDAgb3RoZXJ3aXNlLjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhZTRiZWMzMTJjZGUxN2UyMDZkNzM4ZmFhMTJkZDk2NWZcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjpzdGF0dXM8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNhODhlMjEzYjg2YzdjZTk5NjU1NjFiOGY5MTdkNDczZjFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfaW5mb19zOjp0ZW1wZXJhdHVyZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGN1cnJlbnQgdGVtcGVyYXR1cmUgb2YgdGhlIGJhdHRlcnk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2FlNmYzYWE0NjUzMDQ1NGY4NTNmYmZlNTUzZWEwOTA5NlwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OnZvbHRhZ2VfYXZlcmFnZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGF2ZXJhZ2Ugdm9sdGFnZSBsZXZlbCBvZiB0aGUgYmF0dGVyeSBvdmVyIHRpbWU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2ExN2QyYWE4ZjgyNTliNDAyZWE2MTgyNGU0MjJjZDQ1NlwiPmhhbF9kZXZpY2VfYmF0dGVyeV9pbmZvX3M6OnZvbHRhZ2Vfbm93PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY3VycmVudCB2b2x0YWdlIGxldmVsIG9mIHRoZSBiYXR0ZXJ5PFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19ERVZJQ0VfX0JBVFRFUllfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fZGV2aWNlX19iYXR0ZXJ5X19mdW5jc1wiPl9oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhM2U0YzhiMzNmZDA4NDZiYjlmMThkYjg2YzM4MmY1YmZcIj5oYWxfYmFja2VuZF9kZXZpY2VfYmF0dGVyeV9mdW5jczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RydWN0dXJlIGZvciBCYXR0ZXJ5IGZ1bmN0aW9ucy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9ERVZJQ0VfQkFUVEVSWSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiB2b2lkKCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUubWQjZ2FkMGY4YjY3YTgwMGRiMzU1NTY2NDcxMzA3OGZmNjg3M1wiPmhhbF9kZXZpY2VfYmF0dGVyeV91cGRhdGVkX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI3N0cnVjdGhhbF9fZGV2aWNlX19iYXR0ZXJ5X19pbmZvX19zXCI+aGFsX2RldmljZV9iYXR0ZXJ5X2luZm9fczxcL2E+ICppbmZvLCB2b2lkICpkYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkNhbGxlZCB3aGVuIGEgQmF0dGVyeSBpbmZvcm1hdGlvbiBpcyBoYW5kbGVkLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0RFVklDRV9CQVRURVJZIDEuMDxcL3A+XG48cD48c3Ryb25nPlBhcmFtZXRlcnM6PFwvc3Ryb25nPlxuOiAgIHwgW291dF0gfCBpbmZvIHwgQmF0dGVyeSBpbmZvcm1hdGlvbiB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtvdXRdIHwgdXNlcl9kYXRhIHwgVXNlciBkYXRhIHBhc3NlZCB8PFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWVudW1lcmF0aW9uLXR5cGUtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RW51bWVyYXRpb24gVHlwZSBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0RFVklDRV9fQkFUVEVSWV9fTU9EVUxFLm1kI2dhZjM5ZGM1Njk4ZGFhMWQyNDNlMzcwOTRlZDBhZTMxNWFcIj5oYWxfZGV2aWNlX2JhdHRlcnlfcG93ZXJfc291cmNlX3R5cGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIEJhdHRlcnkgcG93ZXIgc291cmNlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfREVWSUNFX0JBVFRFUlkgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9OT05FPFwvZW0+IHwgcG93ZXIgc291cmNlIHR5cGUgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5IQUxfREVWSUNFX0JBVFRFUllfUE9XRVJfU09VUkNFX0FDPFwvZW0+IHwgcG93ZXIgc291cmNlIHR5cGUgQWMgfFxufCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9VU0I8XC9lbT4gfCBwb3dlciBzb3VyY2UgdHlwZSBVc2IgfFxufCA8ZW0+SEFMX0RFVklDRV9CQVRURVJZX1BPV0VSX1NPVVJDRV9XSVJFTEVTUzxcL2VtPiB8IHBvd2VyIHNvdXJjZSB0eXBlIFdpcmVsZXNzIHw8XC9wPlxuPGhyIFwvPlxuPHA+RXhjZXB0IGFzIG5vdGVkLCB0aGlzIGNvbnRlbnQgLSBleGNsdWRpbmcgdGhlIENvZGUgRXhhbXBsZXMgLSBpcyBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cDpcL1wvY3JlYXRpdmVjb21tb25zLm9yZ1wvbGljZW5zZXNcL2J5XC8zLjBcL2xlZ2FsY29kZVwiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wPFwvYT5cbmFuZCBhbGwgb2YgdGhlIENvZGUgRXhhbXBsZXMgY29udGFpbmVkIGhlcmVpbiBhcmUgbGljZW5zZWQgdW5kZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9ic2QtMy1jbGF1c2UtbGljZW5zZVwiPkJTRC0zLUNsYXVzZTxcL2E+LjxiciBcLz5cbkZvciBkZXRhaWxzLCBzZWUgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnRpemVuLm9yZ1wvY29udGVudC1saWNlbnNlXCI+Q29udGVudCBMaWNlbnNlPFwvYT4uPFwvcD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIj5SZXF1aXJlZCBIZWFkZXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiPk92ZXJ2aWV3PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIj5UeXBlZGVmIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IlRpemVuIEhBTCBBUEk6IEJhdHRlcnkiLCJyYXciOm51bGx9LHsiY2xhc3MiOiJBcHBcXFNlcnZpY2VzXFxEb2N1bWVudGF0aW9uXFxEYXRhXFxSZW5kZXJlZE1hcmtkb3duIiwicyI6IndyYmwifV19LHsicyI6ImFyciJ9XX0sIm1lbW8iOnsiaWQiOiJqQzU1VXJidHBPUGVXN2p2UWFociIsIm5hbWUiOiJfX21vdW50UGFyYW1zQ29udGFpbmVyIiwicGF0aCI6ImRvY3NcL3BsYXRmb3JtXC9oYWxcL2FwaVwvMS4wLjBcL2dyb3VwX19IQUxBUElfX0hBTF9fREVWSUNFX19CQVRURVJZX19NT0RVTEUiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiIzYWQxNmJmMGU0YzI3Y2RjMzAyYTdhNjczOTVlODk1NDgzODQyNTcxNDY0Mjk4OWE3NDFkMDJmZjE5MWM3ODVlIn0=')" >