Camera/a> provides functions for camera devices.<\/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-camera.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 camera devices have various specifications, so it's hard to control them using single code. The camera HAL provides common abstraction interfaces to control camera devices which are different.<\/p>\n<p>The Camera HAL allows creation of components required in taking pictures including:<\/p>\n<ul>\n<li>getting camera device capabilities.(format, resolution and fps)<\/li>\n<li>selecting proper parameters of picture.(exposure, iso, zoom, effect, format and so on)<\/li>\n<li>operating focus(auto or manual)<\/li>\n<\/ul>\n<h3 id=\"content-state-diagram\"><a href=https://samsungtizenos.com/"#content-state-diagram\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>State Diagram<\/h3>\n<p><img src=https://samsungtizenos.com/"media//hal_camera_state_diagram.png/" alt=\"hal_camera_state_diagram.png\" \/><\/p>\n<h3 id=\"content-state-transitions\"><a href=https://samsungtizenos.com/"#content-state-transitions\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>State Transitions<\/h3>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th><strong>FUNCTION<\/strong><\/th>\n<th><strong>PRE-STATE<\/strong><\/th>\n<th><strong>POST-STATE<\/strong><\/th>\n<th><strong>SYNC TYPE<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>hal_camera_init()<\/td>\n<td>N\/A<\/td>\n<td>INITIALIZED<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_deinit()<\/td>\n<td>INITIALIZED<\/td>\n<td>N\/A<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_open_device()<\/td>\n<td>INITIALIZED<\/td>\n<td>OPENED<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_close_device()<\/td>\n<td>OPENED<\/td>\n<td>INITIALIZED<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_start_preview()<\/td>\n<td>OPENED<\/td>\n<td>PREVIEWING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_stop_preview()<\/td>\n<td>PREVIEWING<\/td>\n<td>OPENED<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_start_capture()<\/td>\n<td>PREVIEWING<\/td>\n<td>CAPTURING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_stop_capture()<\/td>\n<td>CAPTURING<\/td>\n<td>PREVIEWING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_start_record()<\/td>\n<td>PREVIEWING<\/td>\n<td>RECORDING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_stop_record()<\/td>\n<td>RECORDING<\/td>\n<td>PREVIEWING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_start_capture()<\/td>\n<td>RECORDING<\/td>\n<td>RECORDING_SNAPSHOT<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<tr>\n<td>hal_camera_stop_capture()<\/td>\n<td>RECORDING_SNAPSHOT<\/td>\n<td>RECORDING<\/td>\n<td>SYNC<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>For more information on the Camera features and the macros, see HAL Camera 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf0b43342b2373a7d0d3fbfe4ce77a80c\">camera_error<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1befe7444d7f72939664c40dc2cf2a37\">camera_error_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera error.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga10cd2a1751b9fadee56ee0371bbc157b\">camera_state<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1fc3ae732d8d0f2398da27d35158609d\">camera_state_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera state.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaa45a9a11220445267d8c973f5775184a\">camera_network_state<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacb2ef8068190c9b18a8ac99e3e5a3b2c\">camera_network_state_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera network state.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__resolution\">camera_resolution<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the resolution.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__fraction\">camera_fraction<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the fraction.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__rectangle\">camera_rectangle<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaa61c3944df3a88ef7ca5044c90b2d9e6\">camera_rectangle_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the rectangle.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga33f0041380404f4808961a60718d2f1c\">camera_pixel_format<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera pixel format.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga53b9bc98bbe39a0b0927a2de60eb0042\">camera_focus_state<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the focus state.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga6b7c046bd7c1f6d1258ab440a7ecaa6f\">camera_facing_direction<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the facing direction of camera device.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7f4c5f5d7a4ba72afe78b4e73250cadb\">camera_rotation<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera rotation.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf627b42e64dc73567bd54c3f567d6f71\">camera_status_auto_exposure<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabaec9fc471194d39ae40131e127aa9b1\">camera_status_auto_exposure_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the auto exposure status.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac578fb4d522829009ce561ab7c44f72c\">camera_status_auto_white_balance<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaae10a37921a513f5a35460d826dadbaa\">camera_status_auto_white_balance_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the auto white balance status.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga2cf4a7880ac95f65a698090a75dd9e55\">camera_flip<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera flip.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__plane\">camera_plane<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga38fb74670c290eead07986d0b75420b8\">camera_plane_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera plane.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__buffer\">camera_buffer<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera buffer.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__metadata\">camera_metadata<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera metadata.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__format\">camera_format<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera format.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gadbfef3043509ed8757e89469687a4fcc\">camera_focus_mode<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaefb71cfc3df04a8241a9bd1110a93b0f\">camera_focus_mode_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the focus mode.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga19e20194f6c50679171d89e2da46ac67\">camera_focus_range<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf69f40fbfa19a2e590254b3ca5bab5c1\">camera_focus_range_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the focus range.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga75414fd483bcfd60c567ab1458ab6d41\">camera_white_balance<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga66e9126789a0919aa1a3c9d31380a6b3\">camera_white_balance_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the white balance.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1bcd97a85386f22c0d4c67a4b09b5b97\">camera_effect<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gadfb933252374370c01f7bf94b526b775\">camera_effect_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the effect.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3f025312ef0cd4eb1e01b0d947d8ea31\">camera_scene_mode<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf414e42ce1a90ac944618805bf9120c5\">camera_scene_mode_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the scene mode.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5b5bb2c933b884a005529007c2900e40\">camera_exposure_mode<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the exposure mode.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga8f33e5077f8041344212d1d3c5be5658\">camera_shot_mode<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9bc04c2b8b875cb827b8764fd7d63725\">camera_shot_mode_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the shot mode.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gae45d6ebe8ca74ab97b760c482be2ce0c\">camera_flash_mode<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaccf1e50188f91185d1d43a9afe163626\">camera_flash_mode_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the flash mode.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gae981b30691684e5280a6d57abc23fa84\">camera_face_detection<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac254386648502063146a221d4a2a68cf\">camera_face_detection_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the face detection.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga326a1622845564370f0d360e63ad7ce5\">camera_ptz_type<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab8a9728352225b08041597099bac1352\">camera_ptz_type_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the PTZ(Pan Tilt Zoom) type.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga62f899123cfb759c439a7bba11793df4\">camera_command<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera command.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__batch__command__control\">camera_batch_command_control<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga173b6a7c94fd10ab2fa89fb919174a7b\">camera_batch_command_control_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of batch command.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__pixel__format__list\">camera_pixel_format_list<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3cbcc2303e883919bcec8b73cd8419cb\">camera_format_list_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the format list.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__resolution__list\">camera_resolution_list<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the resolution list.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__fps__list\">camera_fps_list<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the fps list.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__info\">camera_device_info<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga4a6728d098fb1d46d9e7ecef354072bf\">camera_device_info_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device information.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__info__list\">camera_device_info_list<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3c88d6ae6570e80c4ca587198cece1fe\">camera_device_info_list_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device information list.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__capability__resolution\">camera_device_capability_resolution<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac420d4acac4379493b51ce7a8d97569c\">camera_device_capability_resolution_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device capability resolution.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__capability__format\">camera_device_capability_format<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga6890153055dec2f7ca91a92084964b00\">camera_device_capability_format_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device capability format.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__capability\">camera_device_capability<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7ef06677610406a400dd1ed4685c4667\">camera_device_capability_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device capability.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__capability__list\">camera_device_capability_list<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gad95179bd6965d93fe06c74e751de7b29\">camera_device_capability_list_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera device capability list.<\/td>\n<\/tr>\n<tr>\n<td>typedef enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga33589cea65d72163f59ba271e3e35233\">camera_message_type<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1b38d375a1316e0713c48506ecdbef3f\">camera_message_type_e<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Enumeration for the camera message type.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__message\">camera_message<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga534653fe335c8975577e3f0cb758c0e9\">camera_message_s<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera message.<\/td>\n<\/tr>\n<tr>\n<td>typedef int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga327d5150b180f549ca1df05451bb8c6b\">hal_camera_message_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga534653fe335c8975577e3f0cb758c0e9\">camera_message_s<\/a> *message, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Callback function for notification from camera HAL.<\/td>\n<\/tr>\n<tr>\n<td>typedef int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga90b5bd888cfb01c1128acebd45c915e8\">hal_camera_preview_frame_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Callback function for captured preview frame from camera device.<\/td>\n<\/tr>\n<tr>\n<td>typedef int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaeee82b9abca146f86d6e0ce5e07b723c\">hal_camera_extra_preview_frame_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, int stream_id, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Callback function for extra preview frame from camera device.<\/td>\n<\/tr>\n<tr>\n<td>typedef int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5c41bd0ac03b3502e6cf8afc4e7cd9a7\">hal_camera_video_frame_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Callback function for captured video buffer from camera device.<\/td>\n<\/tr>\n<tr>\n<td>typedef int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac02c56b7c9752914495bb167944afd2\">hal_camera_capture_cb<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *main, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *postview, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *thumbnail, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Callback function for captured still image from camera device.<\/td>\n<\/tr>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#struct__hal__backend__media__camera__funcs\">_hal_backend_media_camera_funcs<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga0ad0917b123ab6b0f6696973a33de57e\">hal_backend_camera_funcs<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The structure type of the camera HAL functions.<\/td>\n<\/tr>\n<tr>\n<td>Defines<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac1836539d333305bd433b231c6239511\">BUFFER_PLANE_MAX<\/a>\u00a0\u00a0\u00a04<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum number of planes in buffer.<\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab2dddf5087173b14b670d356ff32c8dc\">DEVICE_COUNT_MAX<\/a>\u00a0\u00a0\u00a016<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum number of device count.<\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac6f1dae1601d0ccb0fd1df2b5374b38\">RESOLUTION_COUNT_MAX<\/a>\u00a0\u00a0\u00a032<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum number of resolution count.<\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga2b14382d20d3b486d0812f79bdad7926\">FPS_COUNT_MAX<\/a>\u00a0\u00a0\u00a016<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum number of FPS count.<\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1c64c32304be88ba9376b51c98c8cabd\">DEVICE_NAME_LENGTH_MAX<\/a>\u00a0\u00a0\u00a016<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum length of device name.<\/td>\n<\/tr>\n<tr>\n<td>#define<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga93bedd3ae9dd85864f1446c024fbfe12\">DEVICE_NODE_PATH_LENGTH_MAX<\/a>\u00a0\u00a0\u00a016<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>The maximum length of device node path.<\/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 camera_resolution<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the resolution.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a194e883574f6ae2f125e7ead6eaac1b5\">width<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac08d862f984fae770e170f4f03579421\">height<\/a><\/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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac08d862f984fae770e170f4f03579421\">camera_resolution::height<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The height of resolution<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a194e883574f6ae2f125e7ead6eaac1b5\">camera_resolution::width<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The width of resolution<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_fraction<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the fraction.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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__CAMERA__MODULE.md#ad7e2779e23aa0cf77be22e04ca0a60d8\">numerator<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa314533dbeec259a40aa6e464965088a\">denominator<\/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__CAMERA__MODULE.md#aa314533dbeec259a40aa6e464965088a\">camera_fraction::denominator<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The denominator of fraction<\/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__CAMERA__MODULE.md#ad7e2779e23aa0cf77be22e04ca0a60d8\">camera_fraction::numerator<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The numerator of fraction<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_rectangle<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the rectangle.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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__CAMERA__MODULE.md#a7328ded2512d9478d3b274c383a3c793\">x<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a1bf49036ec4d09e3550ac98a3e203398\">y<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3819aec1de4d471056021b77db6dfcdf\">width<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a1944594107a6d107095f7a9e27fe260a\">height<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-2\"><a href=https://samsungtizenos.com/"#content-field-documentation-2\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a1944594107a6d107095f7a9e27fe260a\">camera_rectangle::height<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The height of rectangle<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3819aec1de4d471056021b77db6dfcdf\">camera_rectangle::width<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The width of rectangle<\/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__CAMERA__MODULE.md#a7328ded2512d9478d3b274c383a3c793\">camera_rectangle::x<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The x coordinate of rectangle<\/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__CAMERA__MODULE.md#a1bf49036ec4d09e3550ac98a3e203398\">camera_rectangle::y<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The y coordinate of rectangle<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_plane<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera plane.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>unsigned char *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a761bd6b0f1d34c95548462ec102619c8\">data<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae3c6b291015b1775f95d515a1b5e60b5\">align_width<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac2369be83f346a80f2291e322d4f9d03\">align_height<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a31e3b54ad447f65f2c6e69dada73dc59\">size<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a27b392ac0b21a17270a326ddd0671e1a\">bytesused<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-3\"><a href=https://samsungtizenos.com/"#content-field-documentation-3\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac2369be83f346a80f2291e322d4f9d03\">camera_plane::align_height<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The aligned height of plane<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae3c6b291015b1775f95d515a1b5e60b5\">camera_plane::align_width<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The aligned width of plane<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a27b392ac0b21a17270a326ddd0671e1a\">camera_plane::bytesused<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The number of bytes occupied by data<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>unsigned char* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a761bd6b0f1d34c95548462ec102619c8\">camera_plane::data<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The data pointer of plane<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a31e3b54ad447f65f2c6e69dada73dc59\">camera_plane::size<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The size of plane<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_buffer<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera buffer.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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__CAMERA__MODULE.md#a39545cca9a92c7066d4778d8029ab0dc\">index<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a557999e13342b0ca70ee21f28d5dd636\">format<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad0e94727aceaad929ac9dddcb1ffcc36\">resolution<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a913c0881d218b6118fd05a99687a057c\">total_size<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a1954cba50be24e32c93e506f9f4726bf\">num_planes<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga38fb74670c290eead07986d0b75420b8\">camera_plane_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a880d4809825a22fa07cab5280bbb3fbe\">planes<\/a> [4]<\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad0450cddc27348b51cb6e93ea1045084\">num_bos<\/a><\/td>\n<\/tr>\n<tr>\n<td>void *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aeab3b9f912a2c54787a3ae53e6e06f0c\">bos<\/a> [4]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-4\"><a href=https://samsungtizenos.com/"#content-field-documentation-4\" 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>void* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aeab3b9f912a2c54787a3ae53e6e06f0c\">camera_buffer::bos<\/a>[4]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The bo(buffer object for TBM) array<\/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__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a557999e13342b0ca70ee21f28d5dd636\">camera_buffer::format<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The format of buffer<\/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__CAMERA__MODULE.md#a39545cca9a92c7066d4778d8029ab0dc\">camera_buffer::index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The index of buffer<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad0450cddc27348b51cb6e93ea1045084\">camera_buffer::num_bos<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The number of bo(buffer object for TBM)<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a1954cba50be24e32c93e506f9f4726bf\">camera_buffer::num_planes<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The number of planes in buffer<\/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__CAMERA__MODULE.md#ga38fb74670c290eead07986d0b75420b8\">camera_plane_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a880d4809825a22fa07cab5280bbb3fbe\">camera_buffer::planes<\/a>[4]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The planes of buffer<\/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__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad0e94727aceaad929ac9dddcb1ffcc36\">camera_buffer::resolution<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The resolution of buffer<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a913c0881d218b6118fd05a99687a057c\">camera_buffer::total_size<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The total size of buffer<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_metadata<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera metadata.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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__CAMERA__MODULE.md#ac57d280569df636a1e59a6c5978e95dd\">is_flashed<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3916636b86e57e84f7d7b19362b0bf2a\">focal_length<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5701f7d67d49b6c8b851ae88f0839803\">aperture_f_number<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af87ddc16de81c5c1c3288a4e3cba6650\">shutter_speed<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a03800567ef2f3ad8f4c8f3da8d795630\">exposure_time<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a02a5ceba2d16d2abe2a685c8691a3b35\">brightness<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6a130122d2c1600668ec0c57fb2bc4ef\">exif_image<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a532b7c40ce2be3df5b93aea5c0c97be5\">iso<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aac4d27c8a20f8a4610fdcf46d94096d2\">metering_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad607898095269ac567c67887f6fa0b8b\">color_space<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4c212ee810d9ba49d98d7b3c7a739744\">component_configuration<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad99c10c5e079670ea1c3c0ec24c2bacf\">aperture_in_apex<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a60e20c30acb95370f92b54b3087b4528\">is_delta_frame<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac285309f34ee5d2b8d7f2c2d98ee93c0\">focus_state<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a80b647b7b6b907831f17ba0cada9d830\">facing_direction<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aaa4b5a3dd972843883245cc0601ffd14\">flip<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a16ed4d88953e289d04c8a320ab291a10\">rotation<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabaec9fc471194d39ae40131e127aa9b1\">camera_status_auto_exposure_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad29d450adfa854fac7392edb04c6f19b\">status_ae<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaae10a37921a513f5a35460d826dadbaa\">camera_status_auto_white_balance_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae2c6ebfd812ea2975a8c1988e75e6b80\">status_awb<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-5\"><a href=https://samsungtizenos.com/"#content-field-documentation-5\" 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5701f7d67d49b6c8b851ae88f0839803\">camera_metadata::aperture_f_number<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The F-number for aperture<\/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__CAMERA__MODULE.md#ad99c10c5e079670ea1c3c0ec24c2bacf\">camera_metadata::aperture_in_apex<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The APEX for aperture<\/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__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a02a5ceba2d16d2abe2a685c8691a3b35\">camera_metadata::brightness<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The brightness<\/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__CAMERA__MODULE.md#ad607898095269ac567c67887f6fa0b8b\">camera_metadata::color_space<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The color space<\/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__CAMERA__MODULE.md#a4c212ee810d9ba49d98d7b3c7a739744\">camera_metadata::component_configuration<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The component configuration<\/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__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6a130122d2c1600668ec0c57fb2bc4ef\">camera_metadata::exif_image<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The resolution of EXIF image<\/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__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a03800567ef2f3ad8f4c8f3da8d795630\">camera_metadata::exposure_time<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The exposure time<\/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__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a80b647b7b6b907831f17ba0cada9d830\">camera_metadata::facing_direction<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The face direction<\/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__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aaa4b5a3dd972843883245cc0601ffd14\">camera_metadata::flip<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The flip<\/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__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3916636b86e57e84f7d7b19362b0bf2a\">camera_metadata::focal_length<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The focal length<\/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__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac285309f34ee5d2b8d7f2c2d98ee93c0\">camera_metadata::focus_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The focus state<\/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__CAMERA__MODULE.md#a60e20c30acb95370f92b54b3087b4528\">camera_metadata::is_delta_frame<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The flag which indicates whether it's delta frame or not<\/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__CAMERA__MODULE.md#ac57d280569df636a1e59a6c5978e95dd\">camera_metadata::is_flashed<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The flag which indicates whether it's flashed or not<\/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__CAMERA__MODULE.md#a532b7c40ce2be3df5b93aea5c0c97be5\">camera_metadata::iso<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The ISO<\/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__CAMERA__MODULE.md#aac4d27c8a20f8a4610fdcf46d94096d2\">camera_metadata::metering_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The metering mode<\/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__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a16ed4d88953e289d04c8a320ab291a10\">camera_metadata::rotation<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The rotation<\/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__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af87ddc16de81c5c1c3288a4e3cba6650\">camera_metadata::shutter_speed<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The shutter speed<\/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__CAMERA__MODULE.md#gabaec9fc471194d39ae40131e127aa9b1\">camera_status_auto_exposure_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad29d450adfa854fac7392edb04c6f19b\">camera_metadata::status_ae<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The status for auto exposure<\/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__CAMERA__MODULE.md#gaae10a37921a513f5a35460d826dadbaa\">camera_status_auto_white_balance_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae2c6ebfd812ea2975a8c1988e75e6b80\">camera_metadata::status_awb<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The status for auto white balance<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_format<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a04c5602162c3b17ae42cbe1bc4504a7e\">stream_format<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9cefbb3c4a2093afb98ce66e7cde369a\">stream_resolution<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af0c3eb7802de86410b1fa8fedf1acc71\">stream_fps<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aad15df6935391508aa36abc9284be78a\">stream_rotation<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6cd5e04b7e625d83e0c550d08fd9d645\">capture_format<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8caa61df9fb9a333a369575d6f0b54e8\">capture_resolution<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad2210b1868a35b11e6cf1042a61d4eef\">capture_quality<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac2aade12f65c54df623d05e0fe2301de\">stream_bitrate<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-6\"><a href=https://samsungtizenos.com/"#content-field-documentation-6\" 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6cd5e04b7e625d83e0c550d08fd9d645\">camera_format::capture_format<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The format of capture stream<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad2210b1868a35b11e6cf1042a61d4eef\">camera_format::capture_quality<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The quality of captured image<\/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__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8caa61df9fb9a333a369575d6f0b54e8\">camera_format::capture_resolution<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The resolution of capture stream<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac2aade12f65c54df623d05e0fe2301de\">camera_format::stream_bitrate<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The bitrate of stream<\/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__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a04c5602162c3b17ae42cbe1bc4504a7e\">camera_format::stream_format<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The format of stream<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af0c3eb7802de86410b1fa8fedf1acc71\">camera_format::stream_fps<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The FPS of stream<\/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__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9cefbb3c4a2093afb98ce66e7cde369a\">camera_format::stream_resolution<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The resolution of stream<\/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__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aad15df6935391508aa36abc9284be78a\">camera_format::stream_rotation<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The rotation of stream<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_batch_command_control<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of batch command.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint64_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a898ac3f206f37101bef59906a984de9b\">command_set_flag<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga66e9126789a0919aa1a3c9d31380a6b3\">camera_white_balance_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a36dd353392dd82ecc00bb4679c235c71\">white_balance<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acb38e09f6b741a0f1c661a90b4470019\">iso<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5bfcc20eb821807411fc9ff642df7405\">contrast<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a52a3cf72b106f9762b8ebaad38ade4fd\">saturation<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8143e859e607700f38e0820de4da7755\">hue<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3b15764ca3d5efc96402ec15f10f97ea\">sharpness<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gadfb933252374370c01f7bf94b526b775\">camera_effect_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a828f07fa6bc3e4e6431ca855d317e7fb\">effect<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf414e42ce1a90ac944618805bf9120c5\">camera_scene_mode_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a69669253527a3b374832a79002bfc3c5\">scene_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acb1e5e722a6f284d003d15af428af76b\">exposure_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a96f23e6b441650bab1c3c8e1871dcfc7\">exposure<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a846b755a972fc81a9ef20d4d893eb672\">rotation<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a99cbc5831c4068d7c7cf5c54235dbcb8\">flip<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaefb71cfc3df04a8241a9bd1110a93b0f\">camera_focus_mode_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9b439c35740aaac48908437a08e6e75d\">focus_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf69f40fbfa19a2e590254b3ca5bab5c1\">camera_focus_range_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a83cf58d24ebc0261245de16320262be0\">focus_range<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab34f2cd3f5cd849a9256a9f964729601\">shot_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af6a282af7b82834de82c12492cd8f658\">anti_shake<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaa61c3944df3a88ef7ca5044c90b2d9e6\">camera_rectangle_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6d9d53e8e24da74c8f0fcf4a04b63448\">focus_area<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a2cf2f82e4f20c6e229c9c07b7c169dd3\">digital_zoom<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac74ee8cb5d0694c4536eceab2a980948\">optical_zoom<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a49d2f56c51e0cb417767fd38b291e466\">recording_hint<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad3d477abf97b8294b70c33f9ca5e57a8\">wdr<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aedb8f093e739882b89f5795001bc2f61\">shutter_speed<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaccf1e50188f91185d1d43a9afe163626\">camera_flash_mode_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a32a7ca9263097ec65a1988580b329229\">flash_mode<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac254386648502063146a221d4a2a68cf\">camera_face_detection_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5c9076073eff447ecf2231eec3dc9d97\">face_detection<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a073a07b7521f8f50b7772d273993ed15\">bitrate<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac98614794656ddc0d13404a31c06e890\">ptz_type<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a88a58b1da3f4a47a95668e328f6765df\">pan<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a58d2e90ed487872e912d3c6dc4583753\">tilt<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a945336cb36a90e5a19be07548a15254e\">brightness<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a042b3b962b19a3349b5595b8a9934785\">gop_interval<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab793fce555874efe608ebe6000285255\">capture_count<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0d3f44b13b78be2371827d887407c35d\">capture_interval<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0cb4f16cd1be91fd6f27df9d04df4409\">flash_brightness<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad23602e5c4739bed292b94f1cde45e51\">focus_level<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-7\"><a href=https://samsungtizenos.com/"#content-field-documentation-7\" 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__CAMERA__MODULE.md#af6a282af7b82834de82c12492cd8f658\">camera_batch_command_control::anti_shake<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for anti shake<\/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__CAMERA__MODULE.md#a073a07b7521f8f50b7772d273993ed15\">camera_batch_command_control::bitrate<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for bitrate<\/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__CAMERA__MODULE.md#a945336cb36a90e5a19be07548a15254e\">camera_batch_command_control::brightness<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for brightness<\/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__CAMERA__MODULE.md#ab793fce555874efe608ebe6000285255\">camera_batch_command_control::capture_count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for capture count of continuous capture<\/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__CAMERA__MODULE.md#a0d3f44b13b78be2371827d887407c35d\">camera_batch_command_control::capture_interval<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for capture interval of continuous capture<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint64_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a898ac3f206f37101bef59906a984de9b\">camera_batch_command_control::command_set_flag<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>flag for updating commands<\/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__CAMERA__MODULE.md#a5bfcc20eb821807411fc9ff642df7405\">camera_batch_command_control::contrast<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for contrast<\/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__CAMERA__MODULE.md#a2cf2f82e4f20c6e229c9c07b7c169dd3\">camera_batch_command_control::digital_zoom<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for digital zoom<\/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__CAMERA__MODULE.md#gadfb933252374370c01f7bf94b526b775\">camera_effect_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a828f07fa6bc3e4e6431ca855d317e7fb\">camera_batch_command_control::effect<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for effect<\/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__CAMERA__MODULE.md#a96f23e6b441650bab1c3c8e1871dcfc7\">camera_batch_command_control::exposure<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for exposure<\/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__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acb1e5e722a6f284d003d15af428af76b\">camera_batch_command_control::exposure_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for exposure mode<\/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__CAMERA__MODULE.md#gac254386648502063146a221d4a2a68cf\">camera_face_detection_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5c9076073eff447ecf2231eec3dc9d97\">camera_batch_command_control::face_detection<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for face detection<\/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__CAMERA__MODULE.md#a0cb4f16cd1be91fd6f27df9d04df4409\">camera_batch_command_control::flash_brightness<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for brightness of flash<\/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__CAMERA__MODULE.md#gaccf1e50188f91185d1d43a9afe163626\">camera_flash_mode_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a32a7ca9263097ec65a1988580b329229\">camera_batch_command_control::flash_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for flash mode<\/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__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a99cbc5831c4068d7c7cf5c54235dbcb8\">camera_batch_command_control::flip<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for flip<\/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__CAMERA__MODULE.md#gaa61c3944df3a88ef7ca5044c90b2d9e6\">camera_rectangle_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a6d9d53e8e24da74c8f0fcf4a04b63448\">camera_batch_command_control::focus_area<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for focus area<\/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__CAMERA__MODULE.md#ad23602e5c4739bed292b94f1cde45e51\">camera_batch_command_control::focus_level<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for level of manual focus<\/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__CAMERA__MODULE.md#gaefb71cfc3df04a8241a9bd1110a93b0f\">camera_focus_mode_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9b439c35740aaac48908437a08e6e75d\">camera_batch_command_control::focus_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for focus mode<\/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__CAMERA__MODULE.md#gaf69f40fbfa19a2e590254b3ca5bab5c1\">camera_focus_range_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a83cf58d24ebc0261245de16320262be0\">camera_batch_command_control::focus_range<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for focus range<\/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__CAMERA__MODULE.md#a042b3b962b19a3349b5595b8a9934785\">camera_batch_command_control::gop_interval<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for GOP(Group Of Pictures) interval<\/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__CAMERA__MODULE.md#a8143e859e607700f38e0820de4da7755\">camera_batch_command_control::hue<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for hue<\/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__CAMERA__MODULE.md#acb38e09f6b741a0f1c661a90b4470019\">camera_batch_command_control::iso<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for ISO<\/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__CAMERA__MODULE.md#ac74ee8cb5d0694c4536eceab2a980948\">camera_batch_command_control::optical_zoom<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for optical zoom<\/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__CAMERA__MODULE.md#a88a58b1da3f4a47a95668e328f6765df\">camera_batch_command_control::pan<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for pan<\/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__CAMERA__MODULE.md#ac98614794656ddc0d13404a31c06e890\">camera_batch_command_control::ptz_type<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for PTZ(Pan Tilt Zoom) type<\/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__CAMERA__MODULE.md#a49d2f56c51e0cb417767fd38b291e466\">camera_batch_command_control::recording_hint<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for recording hint<\/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__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a846b755a972fc81a9ef20d4d893eb672\">camera_batch_command_control::rotation<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for rotation<\/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__CAMERA__MODULE.md#a52a3cf72b106f9762b8ebaad38ade4fd\">camera_batch_command_control::saturation<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for saturation<\/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__CAMERA__MODULE.md#gaf414e42ce1a90ac944618805bf9120c5\">camera_scene_mode_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a69669253527a3b374832a79002bfc3c5\">camera_batch_command_control::scene_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for scene mode<\/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__CAMERA__MODULE.md#a3b15764ca3d5efc96402ec15f10f97ea\">camera_batch_command_control::sharpness<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for sharpness<\/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__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab34f2cd3f5cd849a9256a9f964729601\">camera_batch_command_control::shot_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for shot mode<\/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__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aedb8f093e739882b89f5795001bc2f61\">camera_batch_command_control::shutter_speed<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for shutter speed<\/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__CAMERA__MODULE.md#a58d2e90ed487872e912d3c6dc4583753\">camera_batch_command_control::tilt<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for tilt<\/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__CAMERA__MODULE.md#ad3d477abf97b8294b70c33f9ca5e57a8\">camera_batch_command_control::wdr<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for WDR(Wide Dynamic Range)<\/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__CAMERA__MODULE.md#ga66e9126789a0919aa1a3c9d31380a6b3\">camera_white_balance_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a36dd353392dd82ecc00bb4679c235c71\">camera_batch_command_control::white_balance<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>value for white balance<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_pixel_format_list<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the format list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a32fe8d039c68a1edf03d8b1966072785\">count<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#abd06bb8c723cb92d111cc941206bd18a\">formats<\/a> [CAMERA_PIXEL_FORMAT_MAX]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-8\"><a href=https://samsungtizenos.com/"#content-field-documentation-8\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a32fe8d039c68a1edf03d8b1966072785\">camera_pixel_format_list::count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of format<\/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__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#abd06bb8c723cb92d111cc941206bd18a\">camera_pixel_format_list::formats<\/a>[CAMERA_PIXEL_FORMAT_MAX]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The format list<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_resolution_list<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the resolution list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af5c66b8cd2754a90c0573f416f74d045\">count<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4ca1036cab4eb291bff88847482c0a5f\">resolutions<\/a> [32]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-9\"><a href=https://samsungtizenos.com/"#content-field-documentation-9\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af5c66b8cd2754a90c0573f416f74d045\">camera_resolution_list::count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of resolution<\/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__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4ca1036cab4eb291bff88847482c0a5f\">camera_resolution_list::resolutions<\/a>[32]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The resolution list<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_fps_list<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the fps list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4d63c01d613162936fcb103c07af02c9\">count<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a18371e3a6e9b681e0cd7aa51d51ce128\">fps<\/a> [16]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-10\"><a href=https://samsungtizenos.com/"#content-field-documentation-10\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4d63c01d613162936fcb103c07af02c9\">camera_fps_list::count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of FPS<\/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__CAMERA__MODULE.md#a18371e3a6e9b681e0cd7aa51d51ce128\">camera_fps_list::fps<\/a>[16]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The FPS list<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_info<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device information.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac88dd7db98f64210e3f8f56db9d70bd0\">index<\/a><\/td>\n<\/tr>\n<tr>\n<td>char<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac9b3d4b2ca437d99b9d5e8a596f421da\">name<\/a> [16]<\/td>\n<\/tr>\n<tr>\n<td>char<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3d1255eb61a4d389d41b84bc474af42b\">node_path<\/a> [16]<\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae2cc7340fce4d42d59f25f00ebf7f265\">facing_direction<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3cbcc2303e883919bcec8b73cd8419cb\">camera_format_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af34f7e5a72a0c623f47d29932af94bcf\">format_list<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aeca6c06861f7c3409969db4cd23ca274\">preview_list<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aabd3bfd364917ba02650b5b4045530ba\">capture_list<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8ec1f4591d12179c6ec5c7e1005de057\">video_list<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a951e42eb32c193bcd0241d54ac9a780f\">preview_fps_list<\/a> [32]<\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4db223488ba081f00006fc97325161d6\">video_fps_list<\/a> [32]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-11\"><a href=https://samsungtizenos.com/"#content-field-documentation-11\" 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aabd3bfd364917ba02650b5b4045530ba\">camera_device_info::capture_list<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported capture resolution list of device<\/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__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae2cc7340fce4d42d59f25f00ebf7f265\">camera_device_info::facing_direction<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The facing direction of device<\/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__CAMERA__MODULE.md#ga3cbcc2303e883919bcec8b73cd8419cb\">camera_format_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af34f7e5a72a0c623f47d29932af94bcf\">camera_device_info::format_list<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported format list of device<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac88dd7db98f64210e3f8f56db9d70bd0\">camera_device_info::index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The index of device<\/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__CAMERA__MODULE.md#ac9b3d4b2ca437d99b9d5e8a596f421da\">camera_device_info::name<\/a>[16]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The name of device<\/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__CAMERA__MODULE.md#a3d1255eb61a4d389d41b84bc474af42b\">camera_device_info::node_path<\/a>[16]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The node path of device<\/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__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a951e42eb32c193bcd0241d54ac9a780f\">camera_device_info::preview_fps_list<\/a>[32]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported preview FPS list of device<\/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__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aeca6c06861f7c3409969db4cd23ca274\">camera_device_info::preview_list<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported preview resolution list of device<\/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__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4db223488ba081f00006fc97325161d6\">camera_device_info::video_fps_list<\/a>[32]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported video FPS list of device<\/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__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8ec1f4591d12179c6ec5c7e1005de057\">camera_device_info::video_list<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported video resolution list of device<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_info_list<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device information list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5ee1e1539b5f23928b9de21719c52346\">count<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga4a6728d098fb1d46d9e7ecef354072bf\">camera_device_info_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0afb5e1c80b4214f4635fe7c52df75d0\">device_info<\/a> [16]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-12\"><a href=https://samsungtizenos.com/"#content-field-documentation-12\" 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>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a5ee1e1539b5f23928b9de21719c52346\">camera_device_info_list::count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of devices<\/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__CAMERA__MODULE.md#ga4a6728d098fb1d46d9e7ecef354072bf\">camera_device_info_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0afb5e1c80b4214f4635fe7c52df75d0\">camera_device_info_list::device_info<\/a>[16]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The device list<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_capability_resolution<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability resolution.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a047064db4b827cfe1723971a4a61085d\">width<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad5cacf8ded29f462848f062796cb628b\">height<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae4dd1eb5f8e2de5f4541ec56ec7f495f\">default_fps_index<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3efb607173246f2aaefeac639033ddf2\">fps_list<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-13\"><a href=https://samsungtizenos.com/"#content-field-documentation-13\" 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__CAMERA__MODULE.md#ae4dd1eb5f8e2de5f4541ec56ec7f495f\">camera_device_capability_resolution::default_fps_index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The default index of FPS list<\/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__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3efb607173246f2aaefeac639033ddf2\">camera_device_capability_resolution::fps_list<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported FPS list with <em>width<\/em> and <em>height<\/em><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad5cacf8ded29f462848f062796cb628b\">camera_device_capability_resolution::height<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The height of resolution<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a047064db4b827cfe1723971a4a61085d\">camera_device_capability_resolution::width<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The width of resolution<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_capability_format<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4329de8af25c0b6d992a73323a49df3d\">pixel_format<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a60cfdfa3b37c2dd920ab13dd42292829\">resolution_count<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a191831a67438a5643aaba2ffd1821fab\">default_resolution_index<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac420d4acac4379493b51ce7a8d97569c\">camera_device_capability_resolution_s<\/a> *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a75942b7865e80ea629c7a33ebc0b6a5c\">resolution<\/a> [32]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-14\"><a href=https://samsungtizenos.com/"#content-field-documentation-14\" 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__CAMERA__MODULE.md#a191831a67438a5643aaba2ffd1821fab\">camera_device_capability_format::default_resolution_index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The default index of capability resolution list<\/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__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4329de8af25c0b6d992a73323a49df3d\">camera_device_capability_format::pixel_format<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The pixel format<\/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__CAMERA__MODULE.md#gac420d4acac4379493b51ce7a8d97569c\">camera_device_capability_resolution_s<\/a>* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a75942b7865e80ea629c7a33ebc0b6a5c\">camera_device_capability_format::resolution<\/a>[32]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported capability resolution list with <em>pixel_format<\/em><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a60cfdfa3b37c2dd920ab13dd42292829\">camera_device_capability_format::resolution_count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported capability resolution count<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_capability<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/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__CAMERA__MODULE.md#a1ac07bc69f5923502a83fad989a7f054\">device_index<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac54afb4fda625dfbb052de21f7c0f4b7\">format_count<\/a><\/td>\n<\/tr>\n<tr>\n<td>int<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa8f02b9db797982ae4a05a1346ea63fc\">default_format_index<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga6890153055dec2f7ca91a92084964b00\">camera_device_capability_format_s<\/a> *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0d1f46f1db6231a194499d9d3e81d487\">format<\/a> [CAMERA_PIXEL_FORMAT_MAX]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-15\"><a href=https://samsungtizenos.com/"#content-field-documentation-15\" 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__CAMERA__MODULE.md#aa8f02b9db797982ae4a05a1346ea63fc\">camera_device_capability::default_format_index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The default index of supported format list<\/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__CAMERA__MODULE.md#a1ac07bc69f5923502a83fad989a7f054\">camera_device_capability::device_index<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The index of device<\/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__CAMERA__MODULE.md#ga6890153055dec2f7ca91a92084964b00\">camera_device_capability_format_s<\/a>* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0d1f46f1db6231a194499d9d3e81d487\">camera_device_capability::format<\/a>[CAMERA_PIXEL_FORMAT_MAX]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The supported capability format list with <em>device_index<\/em><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac54afb4fda625dfbb052de21f7c0f4b7\">camera_device_capability::format_count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of supported format<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_device_capability_list<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/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>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab97af999a6da270a367f51a3634c8eca\">device_count<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7ef06677610406a400dd1ed4685c4667\">camera_device_capability_s<\/a> *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa6ac979d0861733db01ef0c07a054e9a\">capability<\/a> [16]<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-16\"><a href=https://samsungtizenos.com/"#content-field-documentation-16\" 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7ef06677610406a400dd1ed4685c4667\">camera_device_capability_s<\/a>* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa6ac979d0861733db01ef0c07a054e9a\">camera_device_capability_list::capability<\/a>[16]<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The device capability list<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab97af999a6da270a367f51a3634c8eca\">camera_device_capability_list::device_count<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The count of devices<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct camera_message<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera message.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1b38d375a1316e0713c48506ecdbef3f\">camera_message_type_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa5d11f8e9c76bf986bcf08957b61285f\">type<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac063a569ef94fc597f2f7684ebdbe7c5\">focus_state<\/a><\/td>\n<\/tr>\n<tr>\n<td>uint32_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab8cda200b2d3304a0a5b574199be9b76\">hdr_progress<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1befe7444d7f72939664c40dc2cf2a37\">camera_error_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad4b74c56941120a932d9fbc51bb4503e\">error_code<\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacb2ef8068190c9b18a8ac99e3e5a3b2c\">camera_network_state_e<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af67eecfcd209fe66ba23fa7ac90c6c91\">network_state<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-17\"><a href=https://samsungtizenos.com/"#content-field-documentation-17\" 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><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1befe7444d7f72939664c40dc2cf2a37\">camera_error_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ad4b74c56941120a932d9fbc51bb4503e\">camera_message::error_code<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The error code<\/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__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ac063a569ef94fc597f2f7684ebdbe7c5\">camera_message::focus_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The state of focus<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>uint32_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab8cda200b2d3304a0a5b574199be9b76\">camera_message::hdr_progress<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The progress of HDR<\/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__CAMERA__MODULE.md#gacb2ef8068190c9b18a8ac99e3e5a3b2c\">camera_network_state_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af67eecfcd209fe66ba23fa7ac90c6c91\">camera_message::network_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The state of network camera<\/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__CAMERA__MODULE.md#ga1b38d375a1316e0713c48506ecdbef3f\">camera_message_type_e<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa5d11f8e9c76bf986bcf08957b61285f\">camera_message::type<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The type of message<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct _hal_backend_media_camera_funcs<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera HAL functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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__CAMERA__MODULE.md#a47d6e4860e402cd0e6dcc9b3c117d69c\">init<\/a> )(void **camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a23679470a2d12a98214e95370c0e6711\">deinit<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acf7559b401399e09cb98cee52560bc80\">get_device_info_list<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3c88d6ae6570e80c4ca587198cece1fe\">camera_device_info_list_s<\/a> *device_info_list)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#abe530ead3143947cf4e2fce975e88eb0\">open_device<\/a> )(void *camera_handle, int device_index)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a590bd8c77724fb8c428b25dbd674bb0a\">open_device_ext<\/a> )(void *camera_handle, const char *device_name)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8a676a964acbe5151e2f2598852747d0\">close_device<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a83da9d745ad0ac239ea4e932cd1f89a0\">add_message_callback<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga327d5150b180f549ca1df05451bb8c6b\">hal_camera_message_cb<\/a> callback, void *user_data, uint32_t *cb_id)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a2f189274b89f050db75a5680dbc961d0\">remove_message_callback<\/a> )(void *camera_handle, uint32_t cb_id)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0db84e3c17953e42f553045c3bcb0276\">set_preview_stream_format<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acf0d735493269e15d33bcde409308891\">get_preview_stream_format<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a83a8d354b66d0610d4e364d9e4035f96\">set_user_buffer_fd<\/a> )(void *camera_handle, int *fds, int number)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a8b09992a0e62f17e5c81fab3a23decac\">start_preview<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga90b5bd888cfb01c1128acebd45c915e8\">hal_camera_preview_frame_cb<\/a> callback, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#af935d4b011e6acb6f3542770d8612114\">release_preview_buffer<\/a> )(void *camera_handle, int buffer_index)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4f5699674f851c0c889f2f1f3ed0f3be\">stop_preview<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae80c0fd31faf6b833dabf747257bd5d1\">start_auto_focus<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aa0e492793105572558e98dda0346ae83\">stop_auto_focus<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#aff1d7f23c53d08ccf69e8bc6899dbaa7\">start_capture<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac02c56b7c9752914495bb167944afd2\">hal_camera_capture_cb<\/a> callback, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4aa2eae48885a3e760f92c0225d446b3\">stop_capture<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ae6d93722a2766f5beb7c028d6f83b1e8\">set_video_stream_format<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a0acd30152d7f6b8542ef17e4305253bd\">get_video_stream_format<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9422f070ff423ee1873aaa6cf4f57de7\">start_record<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5c41bd0ac03b3502e6cf8afc4e7cd9a7\">hal_camera_video_frame_cb<\/a> callback, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a4193f7446e5011df095e9dc06b094a58\">release_video_buffer<\/a> )(void *camera_handle, int buffer_index)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a22753e07e8c1ec2414aa7ad9344c6424\">stop_record<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a180bb383b81d6670b965a16c72865afa\">set_command<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a> command, void *value)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ace53ac263e0990ec18adb6df6881f0c5\">get_command<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a> command, void **value)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a3ad1795b60188fcbff9551a0126f5cc8\">set_batch_command<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga173b6a7c94fd10ab2fa89fb919174a7b\">camera_batch_command_control_s<\/a> *batch_command, uint64_t *error_command)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a19d0acc5ce0466208e72f7dca63f3a18\">set_extra_preview_frame_cb<\/a> )(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaeee82b9abca146f86d6e0ce5e07b723c\">hal_camera_extra_preview_frame_cb<\/a> callback, void *user_data)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab7d69bdc9b0c183d144dfde647e57f59\">unset_extra_preview_frame_cb<\/a> )(void *camera_handle)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ab8e5acd540db673786874c89a46759f8\">release_extra_preview_buffer<\/a> )(void *camera_handle, int stream_id, int buffer_index)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a856ef813f7b13878fb479200058b0243\">set_extra_preview_stream_format<\/a> )(void *camera_handle, int stream_id, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a165479caa44210912a558bfc15673668\">get_extra_preview_stream_format<\/a> )(void *camera_handle, int stream_id, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#acf8500cd9dd925f35faff1f6e755409a\">set_extra_preview_bitrate<\/a> )(void *camera_handle, int stream_id, int bitrate)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a819768aed008014013b3054b097e462c\">get_extra_preview_bitrate<\/a> )(void *camera_handle, int stream_id, int *bitrate)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a98ac2b09029aa01fcb0eaa67a1e5d142\">set_extra_preview_gop_interval<\/a> )(void *camera_handle, int stream_id, int interval)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#a9249c737735daa444860f3081cad0c02\">get_extra_preview_gop_interval<\/a> )(void *camera_handle, int stream_id, int *interval)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-18\"><a href=https://samsungtizenos.com/"#content-field-documentation-18\" 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__CAMERA__MODULE.md#a83da9d745ad0ac239ea4e932cd1f89a0\">_hal_backend_media_camera_funcs::add_message_callback<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga327d5150b180f549ca1df05451bb8c6b\">hal_camera_message_cb<\/a> callback, void *user_data, uint32_t *cb_id)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Remove message callback<\/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__CAMERA__MODULE.md#a8a676a964acbe5151e2f2598852747d0\">_hal_backend_media_camera_funcs::close_device<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Add message callback<\/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__CAMERA__MODULE.md#a23679470a2d12a98214e95370c0e6711\">_hal_backend_media_camera_funcs::deinit<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get list of device information<\/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__CAMERA__MODULE.md#ace53ac263e0990ec18adb6df6881f0c5\">_hal_backend_media_camera_funcs::get_command<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a> command, void **value)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set batch command for multiple settings<\/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__CAMERA__MODULE.md#acf7559b401399e09cb98cee52560bc80\">_hal_backend_media_camera_funcs::get_device_info_list<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3c88d6ae6570e80c4ca587198cece1fe\">camera_device_info_list_s<\/a> *device_info_list)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Open device<\/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__CAMERA__MODULE.md#a819768aed008014013b3054b097e462c\">_hal_backend_media_camera_funcs::get_extra_preview_bitrate<\/a>)(void *camera_handle, int stream_id, int *bitrate)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set GOP(Group Of Pictures) interval for extra preview stream<\/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__CAMERA__MODULE.md#a9249c737735daa444860f3081cad0c02\">_hal_backend_media_camera_funcs::get_extra_preview_gop_interval<\/a>)(void *camera_handle, int stream_id, int *interval)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get list of device capability (<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1)<\/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__CAMERA__MODULE.md#a165479caa44210912a558bfc15673668\">_hal_backend_media_camera_funcs::get_extra_preview_stream_format<\/a>)(void *camera_handle, int stream_id, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set bitrate for extra preview stream<\/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__CAMERA__MODULE.md#acf0d735493269e15d33bcde409308891\">_hal_backend_media_camera_funcs::get_preview_stream_format<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set buffer fd which is allocated by user<\/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__CAMERA__MODULE.md#a0acd30152d7f6b8542ef17e4305253bd\">_hal_backend_media_camera_funcs::get_video_stream_format<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Start record<\/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__CAMERA__MODULE.md#a47d6e4860e402cd0e6dcc9b3c117d69c\">_hal_backend_media_camera_funcs::init<\/a>)(void **camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>< Initialize HAL backend handle Deinitialize HAL backend handle<\/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__CAMERA__MODULE.md#abe530ead3143947cf4e2fce975e88eb0\">_hal_backend_media_camera_funcs::open_device<\/a>)(void *camera_handle, int device_index)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Open device for extension<\/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__CAMERA__MODULE.md#a590bd8c77724fb8c428b25dbd674bb0a\">_hal_backend_media_camera_funcs::open_device_ext<\/a>)(void *camera_handle, const char *device_name)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Close device<\/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__CAMERA__MODULE.md#ab8e5acd540db673786874c89a46759f8\">_hal_backend_media_camera_funcs::release_extra_preview_buffer<\/a>)(void *camera_handle, int stream_id, int buffer_index)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set format for extra preview stream<\/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__CAMERA__MODULE.md#af935d4b011e6acb6f3542770d8612114\">_hal_backend_media_camera_funcs::release_preview_buffer<\/a>)(void *camera_handle, int buffer_index)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Stop preview<\/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__CAMERA__MODULE.md#a4193f7446e5011df095e9dc06b094a58\">_hal_backend_media_camera_funcs::release_video_buffer<\/a>)(void *camera_handle, int buffer_index)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Stop record<\/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__CAMERA__MODULE.md#a2f189274b89f050db75a5680dbc961d0\">_hal_backend_media_camera_funcs::remove_message_callback<\/a>)(void *camera_handle, uint32_t cb_id)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set format for preview stream<\/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__CAMERA__MODULE.md#a3ad1795b60188fcbff9551a0126f5cc8\">_hal_backend_media_camera_funcs::set_batch_command<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga173b6a7c94fd10ab2fa89fb919174a7b\">camera_batch_command_control_s<\/a> *batch_command, uint64_t *error_command)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set preview callback for extra stream<\/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__CAMERA__MODULE.md#a180bb383b81d6670b965a16c72865afa\">_hal_backend_media_camera_funcs::set_command<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a> command, void *value)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get command for various settings<\/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__CAMERA__MODULE.md#acf8500cd9dd925f35faff1f6e755409a\">_hal_backend_media_camera_funcs::set_extra_preview_bitrate<\/a>)(void *camera_handle, int stream_id, int bitrate)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get bitrate for extra preview stream<\/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__CAMERA__MODULE.md#a19d0acc5ce0466208e72f7dca63f3a18\">_hal_backend_media_camera_funcs::set_extra_preview_frame_cb<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaeee82b9abca146f86d6e0ce5e07b723c\">hal_camera_extra_preview_frame_cb<\/a> callback, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Unset preview callback for extra stream<\/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__CAMERA__MODULE.md#a98ac2b09029aa01fcb0eaa67a1e5d142\">_hal_backend_media_camera_funcs::set_extra_preview_gop_interval<\/a>)(void *camera_handle, int stream_id, int interval)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get GOP(Group Of Pictures) interval for extra preview stream<\/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__CAMERA__MODULE.md#a856ef813f7b13878fb479200058b0243\">_hal_backend_media_camera_funcs::set_extra_preview_stream_format<\/a>)(void *camera_handle, int stream_id, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get format for extra preview stream<\/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__CAMERA__MODULE.md#a0db84e3c17953e42f553045c3bcb0276\">_hal_backend_media_camera_funcs::set_preview_stream_format<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get format for preview stream<\/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__CAMERA__MODULE.md#a83a8d354b66d0610d4e364d9e4035f96\">_hal_backend_media_camera_funcs::set_user_buffer_fd<\/a>)(void *camera_handle, int *fds, int number)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Start preview<\/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__CAMERA__MODULE.md#ae6d93722a2766f5beb7c028d6f83b1e8\">_hal_backend_media_camera_funcs::set_video_stream_format<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a> *format)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get format for video stream<\/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__CAMERA__MODULE.md#ae80c0fd31faf6b833dabf747257bd5d1\">_hal_backend_media_camera_funcs::start_auto_focus<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Stop auto focusing<\/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__CAMERA__MODULE.md#aff1d7f23c53d08ccf69e8bc6899dbaa7\">_hal_backend_media_camera_funcs::start_capture<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac02c56b7c9752914495bb167944afd2\">hal_camera_capture_cb<\/a> callback, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Stop capture<\/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__CAMERA__MODULE.md#a8b09992a0e62f17e5c81fab3a23decac\">_hal_backend_media_camera_funcs::start_preview<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga90b5bd888cfb01c1128acebd45c915e8\">hal_camera_preview_frame_cb<\/a> callback, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Release preview buffer<\/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__CAMERA__MODULE.md#a9422f070ff423ee1873aaa6cf4f57de7\">_hal_backend_media_camera_funcs::start_record<\/a>)(void *camera_handle, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5c41bd0ac03b3502e6cf8afc4e7cd9a7\">hal_camera_video_frame_cb<\/a> callback, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Release video buffer<\/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__CAMERA__MODULE.md#aa0e492793105572558e98dda0346ae83\">_hal_backend_media_camera_funcs::stop_auto_focus<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Start capture<\/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__CAMERA__MODULE.md#a4aa2eae48885a3e760f92c0225d446b3\">_hal_backend_media_camera_funcs::stop_capture<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set format for video stream<\/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__CAMERA__MODULE.md#a4f5699674f851c0c889f2f1f3ed0f3be\">_hal_backend_media_camera_funcs::stop_preview<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Start auto focusing<\/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__CAMERA__MODULE.md#a22753e07e8c1ec2414aa7ad9344c6424\">_hal_backend_media_camera_funcs::stop_record<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Set command for various settings<\/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__CAMERA__MODULE.md#ab7d69bdc9b0c183d144dfde647e57f59\">_hal_backend_media_camera_funcs::unset_extra_preview_frame_cb<\/a>)(void *camera_handle)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Release preview buffer for extra stream<\/p>\n<hr \/>\n<h2 id=\"content-define-documentation\"><a href=https://samsungtizenos.com/"#content-define-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Define Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac1836539d333305bd433b231c6239511\">BUFFER_PLANE_MAX<\/a>\u00a0\u00a0\u00a04<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum number of planes in buffer.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab2dddf5087173b14b670d356ff32c8dc\">DEVICE_COUNT_MAX<\/a>\u00a0\u00a0\u00a016<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum number of device count.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1c64c32304be88ba9376b51c98c8cabd\">DEVICE_NAME_LENGTH_MAX<\/a>\u00a0\u00a0\u00a016<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum length of device name.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga93bedd3ae9dd85864f1446c024fbfe12\">DEVICE_NODE_PATH_LENGTH_MAX<\/a>\u00a0\u00a0\u00a016<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum length of device node path.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga2b14382d20d3b486d0812f79bdad7926\">FPS_COUNT_MAX<\/a>\u00a0\u00a0\u00a016<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum number of FPS count.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>#define <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac6f1dae1601d0ccb0fd1df2b5374b38\">RESOLUTION_COUNT_MAX<\/a>\u00a0\u00a0\u00a032<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The maximum number of resolution count.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/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__CAMERA__MODULE.md#structcamera__batch__command__control\">camera_batch_command_control<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga173b6a7c94fd10ab2fa89fb919174a7b\">camera_batch_command_control_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of batch command.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__buffer\">camera_buffer<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera buffer.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga62f899123cfb759c439a7bba11793df4\">camera_command<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaea5e2cfef9a779146e730d05fc4490d9\">camera_command_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera command.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__capability__format\">camera_device_capability_format<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga6890153055dec2f7ca91a92084964b00\">camera_device_capability_format_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/p>\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__CAMERA__MODULE.md#structcamera__device__capability__list\">camera_device_capability_list<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gad95179bd6965d93fe06c74e751de7b29\">camera_device_capability_list_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/p>\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__CAMERA__MODULE.md#structcamera__device__capability__resolution\">camera_device_capability_resolution<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac420d4acac4379493b51ce7a8d97569c\">camera_device_capability_resolution_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability resolution.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/p>\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__CAMERA__MODULE.md#structcamera__device__capability\">camera_device_capability<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7ef06677610406a400dd1ed4685c4667\">camera_device_capability_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device capability.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.1<\/p>\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__CAMERA__MODULE.md#structcamera__device__info__list\">camera_device_info_list<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3c88d6ae6570e80c4ca587198cece1fe\">camera_device_info_list_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device information list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__device__info\">camera_device_info<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga4a6728d098fb1d46d9e7ecef354072bf\">camera_device_info_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera device information.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1bcd97a85386f22c0d4c67a4b09b5b97\">camera_effect<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gadfb933252374370c01f7bf94b526b775\">camera_effect_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the effect.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf0b43342b2373a7d0d3fbfe4ce77a80c\">camera_error<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1befe7444d7f72939664c40dc2cf2a37\">camera_error_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera error.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5b5bb2c933b884a005529007c2900e40\">camera_exposure_mode<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab43865abfc1c138ed1fb6197ee9421df\">camera_exposure_mode_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the exposure mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gae981b30691684e5280a6d57abc23fa84\">camera_face_detection<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac254386648502063146a221d4a2a68cf\">camera_face_detection_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the face detection.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga6b7c046bd7c1f6d1258ab440a7ecaa6f\">camera_facing_direction<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabd55d42025e3ee605e0c7d4c904e81a6\">camera_facing_direction_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the facing direction of camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gae45d6ebe8ca74ab97b760c482be2ce0c\">camera_flash_mode<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaccf1e50188f91185d1d43a9afe163626\">camera_flash_mode_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the flash mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga2cf4a7880ac95f65a698090a75dd9e55\">camera_flip<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga50f48ac2591da19f73011556a5088bb2\">camera_flip_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera flip.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gadbfef3043509ed8757e89469687a4fcc\">camera_focus_mode<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaefb71cfc3df04a8241a9bd1110a93b0f\">camera_focus_mode_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga19e20194f6c50679171d89e2da46ac67\">camera_focus_range<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf69f40fbfa19a2e590254b3ca5bab5c1\">camera_focus_range_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus range.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga53b9bc98bbe39a0b0927a2de60eb0042\">camera_focus_state<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9f502d181841242d5740a6d8ba7d4482\">camera_focus_state_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__pixel__format__list\">camera_pixel_format_list<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3cbcc2303e883919bcec8b73cd8419cb\">camera_format_list_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the format list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__format\">camera_format<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga91527d703969bc06b504b0c4392a1e6d\">camera_format_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__fps__list\">camera_fps_list<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga27eed459477e6be471988325a134ea53\">camera_fps_list_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the fps list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__fraction\">camera_fraction<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac833c0393037f0ace88d5cd903e8e7f3\">camera_fraction_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the fraction.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__message\">camera_message<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga534653fe335c8975577e3f0cb758c0e9\">camera_message_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera message.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga33589cea65d72163f59ba271e3e35233\">camera_message_type<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1b38d375a1316e0713c48506ecdbef3f\">camera_message_type_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera message type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__metadata\">camera_metadata<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera metadata.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaa45a9a11220445267d8c973f5775184a\">camera_network_state<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacb2ef8068190c9b18a8ac99e3e5a3b2c\">camera_network_state_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera network state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga33f0041380404f4808961a60718d2f1c\">camera_pixel_format<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf4e2ae7f447834de9a816d665f2cfc78\">camera_pixel_format_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera pixel format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__plane\">camera_plane<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga38fb74670c290eead07986d0b75420b8\">camera_plane_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera plane.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga326a1622845564370f0d360e63ad7ce5\">camera_ptz_type<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gab8a9728352225b08041597099bac1352\">camera_ptz_type_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the PTZ(Pan Tilt Zoom) type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__rectangle\">camera_rectangle<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaa61c3944df3a88ef7ca5044c90b2d9e6\">camera_rectangle_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the rectangle.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__resolution__list\">camera_resolution_list<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabbb750e170d1c940f9828ed4b2aa93d5\">camera_resolution_list_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the resolution list.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#structcamera__resolution\">camera_resolution<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5944dce6bd3ef10e200061de50c46a73\">camera_resolution_s<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the resolution.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga7f4c5f5d7a4ba72afe78b4e73250cadb\">camera_rotation<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga176c00238c0fcce26edb932c21671d98\">camera_rotation_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera rotation.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga3f025312ef0cd4eb1e01b0d947d8ea31\">camera_scene_mode<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf414e42ce1a90ac944618805bf9120c5\">camera_scene_mode_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the scene mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga8f33e5077f8041344212d1d3c5be5658\">camera_shot_mode<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga9bc04c2b8b875cb827b8764fd7d63725\">camera_shot_mode_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the shot mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga10cd2a1751b9fadee56ee0371bbc157b\">camera_state<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga1fc3ae732d8d0f2398da27d35158609d\">camera_state_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaf627b42e64dc73567bd54c3f567d6f71\">camera_status_auto_exposure<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabaec9fc471194d39ae40131e127aa9b1\">camera_status_auto_exposure_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the auto exposure status.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gac578fb4d522829009ce561ab7c44f72c\">camera_status_auto_white_balance<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaae10a37921a513f5a35460d826dadbaa\">camera_status_auto_white_balance_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the auto white balance status.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga75414fd483bcfd60c567ab1458ab6d41\">camera_white_balance<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga66e9126789a0919aa1a3c9d31380a6b3\">camera_white_balance_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the white balance.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#struct__hal__backend__media__camera__funcs\">_hal_backend_media_camera_funcs<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga0ad0917b123ab6b0f6696973a33de57e\">hal_backend_camera_funcs<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>The structure type of the camera HAL functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 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 int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaac02c56b7c9752914495bb167944afd2\">hal_camera_capture_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *main, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *postview, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *thumbnail, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Callback function for captured still image from camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [in] | main | The main image data |\n| --- | --- | --- |\n| [in] | postview | The image data of the postview (it could be <code>NULL<\/code> if the available data does not exist) |\n| [in] | thumbnail | The image data of the thumbnail (it could be <code>NULL<\/code> if the available data does not exist) |\n| [in] | user_data | The user data passed from the callback registration function |<\/p>\n<p><strong>Precondition:<\/strong>\n: hal_camera_start_capture() will invoke this callback function.<\/p>\n<p><strong>See also:<\/strong>\n: hal_camera_start_capture()\n: hal_camera_stop_capture()<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gaeee82b9abca146f86d6e0ce5e07b723c\">hal_camera_extra_preview_frame_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, int stream_id, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Callback function for extra preview frame from camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [in] | buffer | The extra preview frame |\n| --- | --- | --- |\n| [in] | meta | The meta data for the extra preview frame |\n| [in] | stream_id | The id of extra preview stream |\n| [in] | user_data | The user data for callback |<\/p>\n<p><strong>Precondition:<\/strong>\n: hal_camera_start_preview() will invoke this callback.<\/p>\n<p><strong>See also:<\/strong>\n: hal_camera_start_preview()\n: hal_camera_stop_preview()<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga327d5150b180f549ca1df05451bb8c6b\">hal_camera_message_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga534653fe335c8975577e3f0cb758c0e9\">camera_message_s<\/a> *message, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Callback function for notification from camera HAL.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [in] | message | The message from camera HAL |\n| --- | --- | --- |\n| [in] | user_data | The user data for callback |<\/p>\n<p><strong>See also:<\/strong>\n: hal_camera_add_message_callback()\n: hal_camera_remove_message_callback()<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga90b5bd888cfb01c1128acebd45c915e8\">hal_camera_preview_frame_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Callback function for captured preview frame from camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [in] | buffer | The preview frame |\n| --- | --- | --- |\n| [in] | meta | The meta data for the preview frame |\n| [in] | user_data | The user data for callback |<\/p>\n<p><strong>Precondition:<\/strong>\n: hal_camera_start_preview() will invoke this callback.<\/p>\n<p><strong>See also:<\/strong>\n: hal_camera_start_preview()\n: hal_camera_stop_preview()<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#ga5c41bd0ac03b3502e6cf8afc4e7cd9a7\">hal_camera_video_frame_cb<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gacad2a263ed9395203b51298964797ef1\">camera_buffer_s<\/a> *buffer, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__CAMERA__MODULE.md#gabca4cf5da31d1f419988aeb43c9b1927\">camera_metadata_s<\/a> *meta, void *user_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Callback function for captured video buffer from camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Parameters:<\/strong>\n: | [in] | buffer | The video buffer |\n| --- | --- | --- |\n| [in] | meta | The meta data for the video frame |\n| [in] | user_data | The user data for callback |<\/p>\n<p><strong>Precondition:<\/strong>\n: hal_camera_start_record() will invoke this callback.<\/p>\n<p><strong>See also:<\/strong>\n: hal_camera_start_record()\n: hal_camera_stop_record()<\/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__CAMERA__MODULE.md#ga62f899123cfb759c439a7bba11793df4\">camera_command<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera command.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_COMMAND_BASE<\/em> | Base of command |\n| --- | --- |\n| <em>CAMERA_COMMAND_WHITE_BALANCE<\/em> | White balance |\n| <em>CAMERA_COMMAND_ISO<\/em> | ISO |\n| <em>CAMERA_COMMAND_CONTRAST<\/em> | Contrast |\n| <em>CAMERA_COMMAND_SATURATION<\/em> | Saturation |\n| <em>CAMERA_COMMAND_HUE<\/em> | Hue |\n| <em>CAMERA_COMMAND_SHARPNESS<\/em> | Sharpness |\n| <em>CAMERA_COMMAND_EFFECT<\/em> | Effect |\n| <em>CAMERA_COMMAND_SCENE_MODE<\/em> | Scene mode |\n| <em>CAMERA_COMMAND_EXPOSURE_MODE<\/em> | Exposure mode |\n| <em>CAMERA_COMMAND_EXPOSURE<\/em> | Exposure |\n| <em>CAMERA_COMMAND_ROTATION<\/em> | Rotation |\n| <em>CAMERA_COMMAND_FLIP<\/em> | Flip |\n| <em>CAMERA_COMMAND_FOCUS_MODE<\/em> | Focus mode |\n| <em>CAMERA_COMMAND_FOCUS_RANGE<\/em> | Focus range |\n| <em>CAMERA_COMMAND_SHOT_MODE<\/em> | Shot mode |\n| <em>CAMERA_COMMAND_ANTI_SHAKE<\/em> | Anti shake |\n| <em>CAMERA_COMMAND_FOCUS_AREA<\/em> | Focus area |\n| <em>CAMERA_COMMAND_DIGITAL_ZOOM<\/em> | Digital zoom |\n| <em>CAMERA_COMMAND_OPTICAL_ZOOM<\/em> | Optical zoom |\n| <em>CAMERA_COMMAND_RECORDING_HINT<\/em> | Recording hint |\n| <em>CAMERA_COMMAND_WDR<\/em> | Wide dynamic range |\n| <em>CAMERA_COMMAND_SHUTTER_SPEED<\/em> | Shutter speed |\n| <em>CAMERA_COMMAND_FLASH_MODE<\/em> | Flash mode |\n| <em>CAMERA_COMMAND_FACE_DETECTION<\/em> | Face detection |\n| <em>CAMERA_COMMAND_BITRATE<\/em> | Bitrate |\n| <em>CAMERA_COMMAND_PTZ_TYPE<\/em> | PTZ(Pan Tilt Zoom) type |\n| <em>CAMERA_COMMAND_PAN<\/em> | Pan |\n| <em>CAMERA_COMMAND_TILT<\/em> | Tilt |\n| <em>CAMERA_COMMAND_BRIGHTNESS<\/em> | Brightness |\n| <em>CAMERA_COMMAND_GOP_INTERVAL<\/em> | GOP(Group Of Pictures) interval |\n| <em>CAMERA_COMMAND_CAPTURE_COUNT<\/em> | Capture count |\n| <em>CAMERA_COMMAND_CAPTURE_INTERVAL<\/em> | Capture interval for continuous capture |\n| <em>CAMERA_COMMAND_FLASH_BRIGHTNESS<\/em> | Brightness of flash |\n| <em>CAMERA_COMMAND_FOCUS_LEVEL<\/em> | Level of manual focus |\n| <em>CAMERA_COMMAND_DEVICE_BUS<\/em> | Device bus name |\n| <em>CAMERA_COMMAND_DEVICE_PORT<\/em> | Device port name |\n| <em>CAMERA_COMMAND_WHITE_BALANCE_TEMPERATURE<\/em> | White balance temperature |\n| <em>CAMERA_COMMAND_GAIN<\/em> | Gain |\n| <em>CAMERA_COMMAND_SWITCH_DEVICE<\/em> | Switch device (Since 1.2) |<\/p>\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__CAMERA__MODULE.md#ga1bcd97a85386f22c0d4c67a4b09b5b97\">camera_effect<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the effect.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_EFFECT_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_EFFECT_MONO<\/em> | Mono |\n| <em>CAMERA_EFFECT_SEPIA<\/em> | Sepia |\n| <em>CAMERA_EFFECT_NEGATIVE<\/em> | Negative |\n| <em>CAMERA_EFFECT_RED<\/em> | Red |\n| <em>CAMERA_EFFECT_GREEN<\/em> | Green |\n| <em>CAMERA_EFFECT_BLUE<\/em> | Blue |\n| <em>CAMERA_EFFECT_AQUA<\/em> | Aqua |\n| <em>CAMERA_EFFECT_ANTIQUE<\/em> | Antique |\n| <em>CAMERA_EFFECT_WARM<\/em> | Warm |\n| <em>CAMERA_EFFECT_EMBOSS<\/em> | Emboss |\n| <em>CAMERA_EFFECT_SKETCH<\/em> | Sketch |\n| <em>CAMERA_EFFECT_SOLARIZATION<\/em> | Solarization |\n| <em>CAMERA_EFFECT_POSTERIZATION<\/em> | Posterization |\n| <em>CAMERA_EFFECT_CARTOON<\/em> | Cartoon |<\/p>\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__CAMERA__MODULE.md#gaf0b43342b2373a7d0d3fbfe4ce77a80c\">camera_error<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera error.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_ERROR_NONE<\/em> | Error none |\n| --- | --- |\n| <em>CAMERA_ERROR_INVALID_PARAMETER<\/em> | Invalid parameter |\n| <em>CAMERA_ERROR_INVALID_STATE<\/em> | Invalid state |\n| <em>CAMERA_ERROR_PERMISSION_DENIED<\/em> | Permission denied |\n| <em>CAMERA_ERROR_OUT_OF_MEMORY<\/em> | Out of memory |\n| <em>CAMERA_ERROR_DEVICE_OPEN<\/em> | Device open |\n| <em>CAMERA_ERROR_DEVICE_NOT_FOUND<\/em> | Device not found |\n| <em>CAMERA_ERROR_DEVICE_UNAVAILABLE<\/em> | Device unavailable |\n| <em>CAMERA_ERROR_DEVICE_NOT_SUPPORTED<\/em> | Device not supported |\n| <em>CAMERA_ERROR_DEVICE_READ<\/em> | Device read |\n| <em>CAMERA_ERROR_DEVICE_WRITE<\/em> | Device write |\n| <em>CAMERA_ERROR_DEVICE_BUSY<\/em> | Device busy |\n| <em>CAMERA_ERROR_DEVICE_TIME_OUT<\/em> | Device time out |\n| <em>CAMERA_ERROR_DEVICE_ESD<\/em> | Device ESD(Electro Static Discharge) |\n| <em>CAMERA_ERROR_INTERNAL<\/em> | Internal |\n| <em>CAMERA_ERROR_NOT_IMPLEMENTED<\/em> | Not implemented |\n| <em>CAMERA_ERROR_UNKNOWN<\/em> | Unknown |<\/p>\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__CAMERA__MODULE.md#ga5b5bb2c933b884a005529007c2900e40\">camera_exposure_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the exposure mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_EXPOSURE_MODE_OFF<\/em> | Off |\n| --- | --- |\n| <em>CAMERA_EXPOSURE_MODE_ALL<\/em> | All mode |\n| <em>CAMERA_EXPOSURE_MODE_CENTER<\/em> | Center mode |\n| <em>CAMERA_EXPOSURE_MODE_SPOT<\/em> | Spot mode |\n| <em>CAMERA_EXPOSURE_MODE_CUSTOM<\/em> | Custom mode |\n| <em>CAMERA_EXPOSURE_MODE_SHUTTER_PRIORITY<\/em> | Shutter priority mode |\n| <em>CAMERA_EXPOSURE_MODE_APERTURE_PRIORITY<\/em> | Aperture priority mode |<\/p>\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__CAMERA__MODULE.md#gae981b30691684e5280a6d57abc23fa84\">camera_face_detection<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the face detection.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FACE_DETECTION_OFF<\/em> | Face detection off |\n| --- | --- |\n| <em>CAMERA_FACE_DETECTION_ON<\/em> | Face detection on |<\/p>\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__CAMERA__MODULE.md#ga6b7c046bd7c1f6d1258ab440a7ecaa6f\">camera_facing_direction<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the facing direction of camera device.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FACING_DIRECTION_REAR<\/em> | Rear facing direction |\n| --- | --- |\n| <em>CAMERA_FACING_DIRECTION_FRONT<\/em> | Front facing direction |\n| <em>CAMERA_FACING_DIRECTION_EXTERNAL<\/em> | External |<\/p>\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__CAMERA__MODULE.md#gae45d6ebe8ca74ab97b760c482be2ce0c\">camera_flash_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the flash mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FLASH_MODE_OFF<\/em> | Always off |\n| --- | --- |\n| <em>CAMERA_FLASH_MODE_ON<\/em> | Always splashes |\n| <em>CAMERA_FLASH_MODE_AUTO<\/em> | Depending on intensity of light, strobe starts to flash |\n| <em>CAMERA_FLASH_MODE_REDEYE_REDUCTION<\/em> | Red eye reduction. Multiple flash before capturing |\n| <em>CAMERA_FLASH_MODE_SLOW_SYNC<\/em> | Slow sync curtain synchronization |\n| <em>CAMERA_FLASH_MODE_FRONT_CURTAIN<\/em> | Front curtain synchronization |\n| <em>CAMERA_FLASH_MODE_REAR_CURTAIN<\/em> | Rear curtain synchronization |\n| <em>CAMERA_FLASH_MODE_PERMANENT<\/em> | Keep turned on until turning off |<\/p>\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__CAMERA__MODULE.md#ga2cf4a7880ac95f65a698090a75dd9e55\">camera_flip<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera flip.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FLIP_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_FLIP_HORIZONTAL<\/em> | Horizontal flip |\n| <em>CAMERA_FLIP_VERTICAL<\/em> | Vertical flip |\n| <em>CAMERA_FLIP_BOTH<\/em> | Both |<\/p>\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__CAMERA__MODULE.md#gadbfef3043509ed8757e89469687a4fcc\">camera_focus_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FOCUS_MODE_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_FOCUS_MODE_PAN<\/em> | Pan mode |\n| <em>CAMERA_FOCUS_MODE_AUTO<\/em> | Auto mode |\n| <em>CAMERA_FOCUS_MODE_CONTINUOUS_AUTO<\/em> | Continuous auto mode |<\/p>\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__CAMERA__MODULE.md#ga19e20194f6c50679171d89e2da46ac67\">camera_focus_range<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus range.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FOCUS_RANGE_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_FOCUS_RANGE_NORMAL<\/em> | Normal range |\n| <em>CAMERA_FOCUS_RANGE_MACRO<\/em> | Macro range |\n| <em>CAMERA_FOCUS_RANGE_FULL<\/em> | Full range |<\/p>\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__CAMERA__MODULE.md#ga53b9bc98bbe39a0b0927a2de60eb0042\">camera_focus_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the focus state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_FOCUS_STATE_RELEASED<\/em> | Released state for auto focus |\n| --- | --- |\n| <em>CAMERA_FOCUS_STATE_ONGOING<\/em> | Ongoing state for auto focus |\n| <em>CAMERA_FOCUS_STATE_FOCUSED<\/em> | Focused state for auto focus |\n| <em>CAMERA_FOCUS_STATE_FAILED<\/em> | Failed state for auto focus |<\/p>\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__CAMERA__MODULE.md#ga33589cea65d72163f59ba271e3e35233\">camera_message_type<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera message type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_MESSAGE_TYPE_FOCUS_CHANGED<\/em> | The focus state changed |\n| --- | --- |\n| <em>CAMERA_MESSAGE_TYPE_CAPTURED<\/em> | The snapshot captured |\n| <em>CAMERA_MESSAGE_TYPE_HDR_PROGRESS<\/em> | The progress of HDR |\n| <em>CAMERA_MESSAGE_TYPE_ERROR<\/em> | The error |\n| <em>CAMERA_MESSAGE_TYPE_NETWORK_STATE<\/em> | The state of network camera |<\/p>\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__CAMERA__MODULE.md#gaa45a9a11220445267d8c973f5775184a\">camera_network_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera network state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_NETWORK_STATE_PLAYING<\/em> | Playing state for network camera |\n| --- | --- |\n| <em>CAMERA_NETWORK_STATE_PAUSED<\/em> | Paused state for network camera |<\/p>\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__CAMERA__MODULE.md#ga33f0041380404f4808961a60718d2f1c\">camera_pixel_format<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera pixel format.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_PIXEL_FORMAT_NV12<\/em> | Raw - NV12 |\n| --- | --- |\n| <em>CAMERA_PIXEL_FORMAT_NV21<\/em> | Raw - NV21 |\n| <em>CAMERA_PIXEL_FORMAT_I420<\/em> | Raw - I420 |\n| <em>CAMERA_PIXEL_FORMAT_YV12<\/em> | Raw - YV12 |\n| <em>CAMERA_PIXEL_FORMAT_YUYV<\/em> | Raw - YUYV |\n| <em>CAMERA_PIXEL_FORMAT_UYVY<\/em> | Raw - UYVY |\n| <em>CAMERA_PIXEL_FORMAT_BGRA8888<\/em> | Raw - BGRA8888 |\n| <em>CAMERA_PIXEL_FORMAT_ARGB8888<\/em> | Raw - ARGB8888 |\n| <em>CAMERA_PIXEL_FORMAT_JPEG<\/em> | Encoded - JPEG |\n| <em>CAMERA_PIXEL_FORMAT_H264<\/em> | Encoded - H.264 |\n| <em>CAMERA_PIXEL_FORMAT_MJPEG<\/em> | Encoded - MJPEG |\n| <em>CAMERA_PIXEL_FORMAT_VP8<\/em> | Encoded - VP8 |\n| <em>CAMERA_PIXEL_FORMAT_VP9<\/em> | Encoded - VP9 |\n| <em>CAMERA_PIXEL_FORMAT_DEPTH<\/em> | Depth |<\/p>\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__CAMERA__MODULE.md#ga326a1622845564370f0d360e63ad7ce5\">camera_ptz_type<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the PTZ(Pan Tilt Zoom) type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_PTZ_TYPE_MECHANICAL<\/em> | Move the camera device physically |\n| --- | --- |\n| <em>CAMERA_PTZ_TYPE_ELECTRONIC<\/em> | Zoom digitally and move into portion of the image |<\/p>\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__CAMERA__MODULE.md#ga7f4c5f5d7a4ba72afe78b4e73250cadb\">camera_rotation<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera rotation.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_ROTATION_0<\/em> | 0 degree |\n| --- | --- |\n| <em>CAMERA_ROTATION_90<\/em> | 90 degree |\n| <em>CAMERA_ROTATION_180<\/em> | 180 degree |\n| <em>CAMERA_ROTATION_270<\/em> | 270 degree |<\/p>\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__CAMERA__MODULE.md#ga3f025312ef0cd4eb1e01b0d947d8ea31\">camera_scene_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the scene mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_SCENE_MODE_NORMAL<\/em> | Normal |\n| --- | --- |\n| <em>CAMERA_SCENE_MODE_PORTRAIT<\/em> | Portrait |\n| <em>CAMERA_SCENE_MODE_LANDSCAPE<\/em> | Landscape |\n| <em>CAMERA_SCENE_MODE_SPORTS<\/em> | Sports |\n| <em>CAMERA_SCENE_MODE_PARTY_N_INDOOR<\/em> | Party & indoor |\n| <em>CAMERA_SCENE_MODE_BEACH_N_INDOOR<\/em> | Beach & indoor |\n| <em>CAMERA_SCENE_MODE_SUNSET<\/em> | Sunset |\n| <em>CAMERA_SCENE_MODE_DUSK_N_DAWN<\/em> | Dusk & dawn |\n| <em>CAMERA_SCENE_MODE_FALL_COLOR<\/em> | Fall |\n| <em>CAMERA_SCENE_MODE_NIGHT_SCENE<\/em> | Night scene |\n| <em>CAMERA_SCENE_MODE_FIREWORK<\/em> | Firework |\n| <em>CAMERA_SCENE_MODE_TEXT<\/em> | Text |\n| <em>CAMERA_SCENE_MODE_SHOW_WINDOW<\/em> | Show window |\n| <em>CAMERA_SCENE_MODE_CANDLE_LIGHT<\/em> | Candle light |\n| <em>CAMERA_SCENE_MODE_BACKLIGHT<\/em> | Backlight |\n| <em>CAMERA_SCENE_MODE_AQUA<\/em> | Aqua |<\/p>\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__CAMERA__MODULE.md#ga8f33e5077f8041344212d1d3c5be5658\">camera_shot_mode<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the shot mode.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_SHOT_MODE_NORMAL<\/em> | Normal |\n| --- | --- |\n| <em>CAMERA_SHOT_MODE_CONTINUOUS<\/em> | Continuous |\n| <em>CAMERA_SHOT_MODE_HDR<\/em> | HDR |\n| <em>CAMERA_SHOT_MODE_NIGHT<\/em> | Night |<\/p>\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__CAMERA__MODULE.md#ga10cd2a1751b9fadee56ee0371bbc157b\">camera_state<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the camera state.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_STATE_INITIALIZED<\/em> | Initialized state for camera device |\n| --- | --- |\n| <em>CAMERA_STATE_OPENED<\/em> | Opened state for camera device |\n| <em>CAMERA_STATE_PREVIEWING<\/em> | Previewing state for camera device |\n| <em>CAMERA_STATE_CAPTURING<\/em> | Capturing state for camera device |\n| <em>CAMERA_STATE_RECORDING<\/em> | Recording state for camera device |\n| <em>CAMERA_STATE_RECORDING_SNAPSHOT<\/em> | Capturing state while recording for camera device |<\/p>\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__CAMERA__MODULE.md#gaf627b42e64dc73567bd54c3f567d6f71\">camera_status_auto_exposure<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the auto exposure status.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_STATUS_AUTO_EXPOSURE_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_STATUS_AUTO_EXPOSURE_UNSTABLE<\/em> | Unstable status for auto exposure |\n| <em>CAMERA_STATUS_AUTO_EXPOSURE_STABLE<\/em> | Stable status for auto exposure |<\/p>\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__CAMERA__MODULE.md#gac578fb4d522829009ce561ab7c44f72c\">camera_status_auto_white_balance<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the auto white balance status.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_STATUS_AUTO_WHITE_BALANCE_NONE<\/em> | None |\n| --- | --- |\n| <em>CAMERA_STATUS_AUTO_WHITE_BALANCE_UNSTABLE<\/em> | Unstable status for auto white balance |\n| <em>CAMERA_STATUS_AUTO_WHITE_BALANCE_STABLE<\/em> | Stable status for auto white balance |<\/p>\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__CAMERA__MODULE.md#ga75414fd483bcfd60c567ab1458ab6d41\">camera_white_balance<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for the white balance.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_CAMERA 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>CAMERA_WHITE_BALANCE_AUTO<\/em> | Automatic |\n| --- | --- |\n| <em>CAMERA_WHITE_BALANCE_DAYLIGHT<\/em> | Daylight |\n| <em>CAMERA_WHITE_BALANCE_CLOUDY<\/em> | Cloudy |\n| <em>CAMERA_WHITE_BALANCE_FLUORESCENT<\/em> | Fluorescent |\n| <em>CAMERA_WHITE_BALANCE_INCANDESCENT<\/em> | Incandescent |\n| <em>CAMERA_WHITE_BALANCE_SHADE<\/em> | Shade |\n| <em>CAMERA_WHITE_BALANCE_HORIZON<\/em> | Horizon |\n| <em>CAMERA_WHITE_BALANCE_FLASH<\/em> | Flash |<\/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-state-diagram\">State Diagram<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-state-transitions\">State Transitions<\/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-field-documentation-2\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-3\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-4\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-5\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-6\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-7\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-8\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-9\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-10\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-11\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-12\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-13\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-14\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-15\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-16\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-17\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-18\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-define-documentation\">Define 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: Camera","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"k86AaPKxyYJ6TpHpSFJR","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__CAMERA__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"1e1544ab29c1882e587782993e214dcac4f45c5e5feb5577f8418bd560c38e7b"}" wire:effects="[]" wire:id="k86AaPKxyYJ6TpHpSFJR" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1jYW1lcmFcIj48YSBocmVmPVwiI2NvbnRlbnQtdGl6ZW4taGFsLWFwaS1jYW1lcmFcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlRpemVuIEhBTCBBUEk6IENhbWVyYTxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWRcIj5DYW1lcmE8XC9hPiBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIGNhbWVyYSBkZXZpY2VzLjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlcXVpcmVkIEhlYWRlcjxcL2gyPlxuPHA+I2luY2x1ZGUgJmx0O2hhbC1jYW1lcmEuaCZndDs8XC9wPlxuPGgyIGlkPVwiY29udGVudC1vdmVydmlld1wiPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+T3ZlcnZpZXc8XC9oMj5cbjxwPlRoZSBjYW1lcmEgZGV2aWNlcyBoYXZlIHZhcmlvdXMgc3BlY2lmaWNhdGlvbnMsIHNvIGl0J3MgaGFyZCB0byBjb250cm9sIHRoZW0gdXNpbmcgc2luZ2xlIGNvZGUuIFRoZSBjYW1lcmEgSEFMIHByb3ZpZGVzIGNvbW1vbiBhYnN0cmFjdGlvbiBpbnRlcmZhY2VzIHRvIGNvbnRyb2wgY2FtZXJhIGRldmljZXMgd2hpY2ggYXJlIGRpZmZlcmVudC48XC9wPlxuPHA+VGhlIENhbWVyYSBIQUwgYWxsb3dzIGNyZWF0aW9uIG9mIGNvbXBvbmVudHMgcmVxdWlyZWQgaW4gdGFraW5nIHBpY3R1cmVzIGluY2x1ZGluZzo8XC9wPlxuPHVsPlxuPGxpPmdldHRpbmcgY2FtZXJhIGRldmljZSBjYXBhYmlsaXRpZXMuKGZvcm1hdCwgcmVzb2x1dGlvbiBhbmQgZnBzKTxcL2xpPlxuPGxpPnNlbGVjdGluZyBwcm9wZXIgcGFyYW1ldGVycyBvZiBwaWN0dXJlLihleHBvc3VyZSwgaXNvLCB6b29tLCBlZmZlY3QsIGZvcm1hdCBhbmQgc28gb24pPFwvbGk+XG48bGk+b3BlcmF0aW5nIGZvY3VzKGF1dG8gb3IgbWFudWFsKTxcL2xpPlxuPFwvdWw+XG48aDMgaWQ9XCJjb250ZW50LXN0YXRlLWRpYWdyYW1cIj48YSBocmVmPVwiI2NvbnRlbnQtc3RhdGUtZGlhZ3JhbVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+U3RhdGUgRGlhZ3JhbTxcL2gzPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvaGFsX2NhbWVyYV9zdGF0ZV9kaWFncmFtLnBuZ1wiIGFsdD1cImhhbF9jYW1lcmFfc3RhdGVfZGlhZ3JhbS5wbmdcIiBcLz48XC9wPlxuPGgzIGlkPVwiY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiPjxhIGhyZWY9XCIjY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+U3RhdGUgVHJhbnNpdGlvbnM8XC9oMz5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxzdHJvbmc+RlVOQ1RJT048XC9zdHJvbmc+PFwvdGg+XG48dGg+PHN0cm9uZz5QUkUtU1RBVEU8XC9zdHJvbmc+PFwvdGg+XG48dGg+PHN0cm9uZz5QT1NULVNUQVRFPFwvc3Ryb25nPjxcL3RoPlxuPHRoPjxzdHJvbmc+U1lOQyBUWVBFPFwvc3Ryb25nPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX2luaXQoKTxcL3RkPlxuPHRkPk5cL0E8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfZGVpbml0KCk8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPk5cL0E8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX29wZW5fZGV2aWNlKCk8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPk9QRU5FRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfY2xvc2VfZGV2aWNlKCk8XC90ZD5cbjx0ZD5PUEVORUQ8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RhcnRfcHJldmlldygpPFwvdGQ+XG48dGQ+T1BFTkVEPFwvdGQ+XG48dGQ+UFJFVklFV0lORzxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9wcmV2aWV3KCk8XC90ZD5cbjx0ZD5QUkVWSUVXSU5HPFwvdGQ+XG48dGQ+T1BFTkVEPFwvdGQ+XG48dGQ+U1lOQzxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aGFsX2NhbWVyYV9zdGFydF9jYXB0dXJlKCk8XC90ZD5cbjx0ZD5QUkVWSUVXSU5HPFwvdGQ+XG48dGQ+Q0FQVFVSSU5HPFwvdGQ+XG48dGQ+U1lOQzxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aGFsX2NhbWVyYV9zdG9wX2NhcHR1cmUoKTxcL3RkPlxuPHRkPkNBUFRVUklORzxcL3RkPlxuPHRkPlBSRVZJRVdJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX3N0YXJ0X3JlY29yZCgpPFwvdGQ+XG48dGQ+UFJFVklFV0lORzxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9yZWNvcmQoKTxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlBSRVZJRVdJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKTxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlJFQ09SRElOR19TTkFQU0hPVDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9jYXB0dXJlKCk8XC90ZD5cbjx0ZD5SRUNPUkRJTkdfU05BUFNIT1Q8XC90ZD5cbjx0ZD5SRUNPUkRJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIENhbWVyYSBmZWF0dXJlcyBhbmQgdGhlIG1hY3Jvcywgc2VlIEhBTCBDYW1lcmEgcHJvZ3JhbW1pbmcgZ3VpZGVzIGFuZCB0dXRvcmlhbHMuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlR5cGVkZWZzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWYwYjQzMzQyYjIzNzNhN2QwZDNmYmZlNGNlNzdhODBjXCI+Y2FtZXJhX2Vycm9yPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiZWZlNzQ0NGQ3ZjcyOTM5NjY0YzQwZGMyY2YyYTM3XCI+Y2FtZXJhX2Vycm9yX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZXJyb3IuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExMGNkMmExNzUxYjlmYWRlZTU2ZWUwMzcxYmJjMTU3YlwiPmNhbWVyYV9zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExZmMzYWU3MzJkOGQwZjIzOThkYTI3ZDM1MTU4NjA5ZFwiPmNhbWVyYV9zdGF0ZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHN0YXRlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYTQ1YTlhMTEyMjA0NDUyNjdkOGM5NzNmNTc3NTE4NGFcIj5jYW1lcmFfbmV0d29ya19zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYjJlZjgwNjgxOTBjOWIxOGE4YWM5OWUzZTVhM2IyY1wiPmNhbWVyYV9uZXR3b3JrX3N0YXRlX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgbmV0d29yayBzdGF0ZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvblwiPmNhbWVyYV9yZXNvbHV0aW9uPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2ZyYWN0aW9uXCI+Y2FtZXJhX2ZyYWN0aW9uPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVjdGFuZ2xlXCI+Y2FtZXJhX3JlY3RhbmdsZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlY3RhbmdsZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBwaXhlbCBmb3JtYXQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1M2I5YmM5OGJiZTM5YTBiMDkyN2EyZGU2MGViMDA0MlwiPmNhbWVyYV9mb2N1c19zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgc3RhdGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmQ1NWQ0MjAyNWUzZWU2MDVlMGM3ZDRjOTA0ZTgxYTZcIj5jYW1lcmFfZmFjaW5nX2RpcmVjdGlvbl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2Y0YzVmNWQ3YTRiYTcyYWZlNzhiNGU3MzI1MGNhZGJcIj5jYW1lcmFfcm90YXRpb248XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSByb3RhdGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSAgIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjYyN2I0MmU2NGRjNzM1NjdiZDU0YzNmNTY3ZDZmNzFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmU8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGF1dG8gZXhwb3N1cmUgc3RhdHVzLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNTc4ZmI0ZDUyMjgyOTAwOWNlNTYxYWI3YzQ0ZjcyY1wiPmNhbWVyYV9zdGF0dXNfYXV0b193aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGF1dG8gd2hpdGUgYmFsYW5jZSBzdGF0dXMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyY2Y0YTc4ODBhYzk1ZjY1YTY5ODA5MGE3NWRkOWU1NVwiPmNhbWVyYV9mbGlwPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBmbGlwLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19wbGFuZVwiPmNhbWVyYV9wbGFuZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIHBsYW5lLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19idWZmZXJcIj5jYW1lcmFfYnVmZmVyPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGJ1ZmZlci48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWV0YWRhdGFcIj5jYW1lcmFfbWV0YWRhdGE8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXRhZGF0YS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZm9ybWF0XCI+Y2FtZXJhX2Zvcm1hdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBmb3JtYXQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkYmZlZjMwNDM1MDllZDg3NTdlODk0Njk2ODdhNGZjY1wiPmNhbWVyYV9mb2N1c19tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZvY3VzIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExOWUyMDE5NGY2YzUwNjc5MTcxZDg5ZTJkYTQ2YWM2N1wiPmNhbWVyYV9mb2N1c19yYW5nZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjlmNDBmYmZhMTlhMmU1OTAyNTRiM2NhNWJhYjVjMVwiPmNhbWVyYV9mb2N1c19yYW5nZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgcmFuZ2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3NTQxNGZkNDgzYmNmZDYwYzU2N2FiMTQ1OGFiNmQ0MVwiPmNhbWVyYV93aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY2ZTkxMjY3ODlhMDkxOWFhMWEzYzlkMzEzODBhNmIzXCI+Y2FtZXJhX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmNkOTdhODUzODZmMjJjMGQ0YzY3YTRiMDliNWI5N1wiPmNhbWVyYV9lZmZlY3Q8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBlZmZlY3QuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzZjAyNTMxMmVmMGNkNGViMWUwMWIwZDk0N2Q4ZWEzMVwiPmNhbWVyYV9zY2VuZV9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNjZW5lIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YjViYjJjOTMzYjg4NGEwMDU1MjkwMDdjMjkwMGU0MFwiPmNhbWVyYV9leHBvc3VyZV9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI0Mzg2NWFiZmMxYzEzOGVkMWZiNjE5N2VlOTQyMWRmXCI+Y2FtZXJhX2V4cG9zdXJlX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E4ZjMzZTUwNzdmODA0MTM0NDIxMmQxZDNjNWJlNTY1OFwiPmNhbWVyYV9zaG90X21vZGU8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWJjMDRjMmI4Yjg3NWNiODI3Yjg3NjRmZDdkNjM3MjVcIj5jYW1lcmFfc2hvdF9tb2RlX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBzaG90IG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlNDVkNmViZThjYTc0YWI5N2I3NjBjNDgyYmUyY2UwY1wiPmNhbWVyYV9mbGFzaF9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNjZjFlNTAxODhmOTExODVkMWQ0M2E5YWZlMTYzNjI2XCI+Y2FtZXJhX2ZsYXNoX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZsYXNoIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlOTgxYjMwNjkxNjg0ZTUyODBhNmQ1N2FiYzIzZmE4NFwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbjxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjMjU0Mzg2NjQ4NTAyMDYzMTQ2YTIyMWQ0YTJhNjhjZlwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjZSBkZXRlY3Rpb24uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjZhMTYyMjg0NTU2NDM3MGYwZDM2MGU2M2FkN2NlNVwiPmNhbWVyYV9wdHpfdHlwZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiOGE5NzI4MzUyMjI1YjA4MDQxNTk3MDk5YmFjMTM1MlwiPmNhbWVyYV9wdHpfdHlwZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgUFRaKFBhbiBUaWx0IFpvb20pIHR5cGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2MmY4OTkxMjNjZmI3NTljNDM5YTdiYmExMTc5M2RmNFwiPmNhbWVyYV9jb21tYW5kPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVhNWUyY2ZlZjlhNzc5MTQ2ZTczMGQwNWZjNDQ5MGQ5XCI+Y2FtZXJhX2NvbW1hbmRfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2JhdGNoX19jb21tYW5kX19jb250cm9sXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzNiNmE3Yzk0ZmQxMGFiMmZhODlmYjkxOTE3NGE3YlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2xfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgYmF0Y2ggY29tbWFuZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19waXhlbF9fZm9ybWF0X19saXN0XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjYmNjMjMwM2U4ODM5MTliY2VjOGI3M2NkODQxOWNiXCI+Y2FtZXJhX2Zvcm1hdF9saXN0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmb3JtYXQgbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19yZXNvbHV0aW9uX19saXN0XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiYmI3NTBlMTcwZDFjOTQwZjk4MjhlZDRiMmFhOTNkNVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24gbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZnBzX19saXN0XCI+Y2FtZXJhX2Zwc19saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcHMgbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZGV2aWNlX19pbmZvXCI+Y2FtZXJhX2RldmljZV9pbmZvPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTRhNjcyOGQwOThmYjFkNDZkOWU3ZWNlZjM1NDA3MmJmXCI+Y2FtZXJhX2RldmljZV9pbmZvX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9faW5mb19fbGlzdFwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjODhkNmFlNjU3MGU4MGM0Y2E1ODcxOThjZWNlMWZlXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgaW5mb3JtYXRpb24gbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX3Jlc29sdXRpb25cIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNDIwZDRhY2FjNDM3OTQ5M2I1MWNlN2E4ZDk3NTY5Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkgcmVzb2x1dGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX2Zvcm1hdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjg5MDE1MzA1NWRlYzJmN2NhOTFhOTIwODQ5NjRiMDBcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkgZm9ybWF0LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3ZWYwNjY3NzYxMDQwNmE0MDBkZDFlZDQ2ODVjNDY2N1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fbGlzdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWQ5NTE3OWJkNjk2NWQ5M2ZlMDZjNzRlNzUxZGU3YjI5XCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzM1ODljZWE2NWQ3MjE2M2Y1OWJhMjcxZTNlMzUyMzNcIj5jYW1lcmFfbWVzc2FnZV90eXBlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIG1lc3NhZ2UgdHlwZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWVzc2FnZVwiPmNhbWVyYV9tZXNzYWdlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUzNDY1M2ZlMzM1Yzg5NzU1NzdlM2YwY2I3NThjMGU5XCI+Y2FtZXJhX21lc3NhZ2VfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXNzYWdlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzI3ZDUxNTBiMTgwZjU0OWNhMWRmMDU0NTFiYjhjNmJcIj5oYWxfY2FtZXJhX21lc3NhZ2VfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTM0NjUzZmUzMzVjODk3NTU3N2UzZjBjYjc1OGMwZTlcIj5jYW1lcmFfbWVzc2FnZV9zPFwvYT4gKm1lc3NhZ2UsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBub3RpZmljYXRpb24gZnJvbSBjYW1lcmEgSEFMLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWVlODJiOWFiY2ExNDZmODZkNmUwY2U1ZTA3YjcyM2NcIj5oYWxfY2FtZXJhX2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgaW50IHN0cmVhbV9pZCwgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGV4dHJhIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWM0MWJkMGFjMDNiMzUwMmU2Y2Y4YWZjNGU3Y2Q5YTdcIj5oYWxfY2FtZXJhX3ZpZGVvX2ZyYW1lX2NiPFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT4gKmJ1ZmZlciwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiY2E0Y2Y1ZGEzMWQxZjQxOTk4OGFlYjQzYzliMTkyN1wiPmNhbWVyYV9tZXRhZGF0YV9zPFwvYT4gKm1ldGEsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBjYXB0dXJlZCB2aWRlbyBidWZmZXIgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWMwMmM1NmI3Yzk3NTI5MTQ0OTViYjE2Nzk0NGFmZDJcIj5oYWxfY2FtZXJhX2NhcHR1cmVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqbWFpbiwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpwb3N0dmlldywgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICp0aHVtYm5haWwsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBjYXB0dXJlZCBzdGlsbCBpbWFnZSBmcm9tIGNhbWVyYSBkZXZpY2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHN0cnVjdCAgIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdF9faGFsX19iYWNrZW5kX19tZWRpYV9fY2FtZXJhX19mdW5jc1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMGFkMDkxN2IxMjNhYjZiMGY2Njk2OTczYTMzZGU1N2VcIj5oYWxfYmFja2VuZF9jYW1lcmFfZnVuY3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgSEFMIGZ1bmN0aW9ucy48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkRlZmluZXM8XC90ZD5cbjx0ZD48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMxODM2NTM5ZDMzMzMwNWJkNDMzYjIzMWM2MjM5NTExXCI+QlVGRkVSX1BMQU5FX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwNDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbnVtYmVyIG9mIHBsYW5lcyBpbiBidWZmZXIuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD4jZGVmaW5lPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiMmRkZGY1MDg3MTczYjE0YjY3MGQzNTZmZjMyYzhkY1wiPkRFVklDRV9DT1VOVF9NQVg8XC9hPlx1MDBhMFx1MDBhMFx1MDBhMDE2PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlIGNvdW50LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+I2RlZmluZTxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWM2ZjFkYWUxNjAxZDBjY2IwZmQxZGYyYjUzNzRiMzhcIj5SRVNPTFVUSU9OX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMzI8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBtYXhpbXVtIG51bWJlciBvZiByZXNvbHV0aW9uIGNvdW50LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+I2RlZmluZTxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMmIxNDM4MmQyMGQzYjQ4NmQwODEyZjc5YmRhZDc5MjZcIj5GUFNfQ09VTlRfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbnVtYmVyIG9mIEZQUyBjb3VudC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFjNjRjMzIzMDRiZTg4YmE5Mzc2YjUxYzk4YzhjYWJkXCI+REVWSUNFX05BTUVfTEVOR1RIX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBtYXhpbXVtIGxlbmd0aCBvZiBkZXZpY2UgbmFtZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkzYmVkZDNhZTlkZDg1ODY0ZjE0NDZjMDI0ZmJmZTEyXCI+REVWSUNFX05PREVfUEFUSF9MRU5HVEhfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbGVuZ3RoIG9mIGRldmljZSBub2RlIHBhdGguPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGgyIGlkPVwiY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRhdGEtc3RydWN0dXJlLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9oMj5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcmVzb2x1dGlvbjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVzb2x1dGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NGU4ODM1NzRmNmFlMmYxMjVlN2VhZDZlYWFjMWI1XCI+d2lkdGg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzA4ZDg2MmY5ODRmYWU3NzBlMTcwZjRmMDM1Nzk0MjFcIj5oZWlnaHQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzA4ZDg2MmY5ODRmYWU3NzBlMTcwZjRmMDM1Nzk0MjFcIj5jYW1lcmFfcmVzb2x1dGlvbjo6aGVpZ2h0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaGVpZ2h0IG9mIHJlc29sdXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NGU4ODM1NzRmNmFlMmYxMjVlN2VhZDZlYWFjMWI1XCI+Y2FtZXJhX3Jlc29sdXRpb246OndpZHRoPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgd2lkdGggb2YgcmVzb2x1dGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2ZyYWN0aW9uPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkN2UyNzc5ZTIzYWEwY2Y3N2JlMjJlMDRjYTBhNjBkOFwiPm51bWVyYXRvcjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTMxNDUzM2RiZWVjMjU5YTQwYWE2ZTQ2NDk2NTA4OGFcIj5kZW5vbWluYXRvcjxcL2E+PFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTFcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWEzMTQ1MzNkYmVlYzI1OWE0MGFhNmU0NjQ5NjUwODhhXCI+Y2FtZXJhX2ZyYWN0aW9uOjpkZW5vbWluYXRvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRlbm9taW5hdG9yIG9mIGZyYWN0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDdlMjc3OWUyM2FhMGNmNzdiZTIyZTA0Y2EwYTYwZDhcIj5jYW1lcmFfZnJhY3Rpb246Om51bWVyYXRvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG51bWVyYXRvciBvZiBmcmFjdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX3JlY3RhbmdsZTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVjdGFuZ2xlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTczMjhkZWQyNTEyZDk0NzhkM2IyNzRjMzgzYTNjNzkzXCI+eDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMWJmNDkwMzZlYzRkMDllMzU1MGFjOThhM2UyMDMzOThcIj55PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM4MTlhZWMxZGU0ZDQ3MTA1NjAyMWI3N2RiNmRmY2RmXCI+d2lkdGg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTk0NDU5NDEwN2E2ZDEwNzA5NWY3YTllMjdmZTI2MGFcIj5oZWlnaHQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0yXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMlwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NDQ1OTQxMDdhNmQxMDcwOTVmN2E5ZTI3ZmUyNjBhXCI+Y2FtZXJhX3JlY3RhbmdsZTo6aGVpZ2h0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaGVpZ2h0IG9mIHJlY3RhbmdsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzgxOWFlYzFkZTRkNDcxMDU2MDIxYjc3ZGI2ZGZjZGZcIj5jYW1lcmFfcmVjdGFuZ2xlOjp3aWR0aDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHdpZHRoIG9mIHJlY3RhbmdsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTczMjhkZWQyNTEyZDk0NzhkM2IyNzRjMzgzYTNjNzkzXCI+Y2FtZXJhX3JlY3RhbmdsZTo6eDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHggY29vcmRpbmF0ZSBvZiByZWN0YW5nbGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExYmY0OTAzNmVjNGQwOWUzNTUwYWM5OGEzZTIwMzM5OFwiPmNhbWVyYV9yZWN0YW5nbGU6Onk8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSB5IGNvb3JkaW5hdGUgb2YgcmVjdGFuZ2xlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcGxhbmU8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBwbGFuZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVuc2lnbmVkIGNoYXIgKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NjFiZDZiMGYxZDM0Yzk1NTQ4NDYyZWMxMDI2MTljOFwiPmRhdGE8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTNjNmIyOTEwMTViMTc3NWY5NWQ1MTVhMWI1ZTYwYjVcIj5hbGlnbl93aWR0aDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjMjM2OWJlODNmMzQ2YTgwZjIyOTFlMzIyZDRmOWQwM1wiPmFsaWduX2hlaWdodDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMWUzYjU0YWQ0NDdmNjVmMmM2ZTY5ZGFkYTczZGM1OVwiPnNpemU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjdiMzkyYWMwYjIxYTE3MjcwYTMyNmRkZDA2NzFlMWFcIj5ieXRlc3VzZWQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0zXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tM1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyMzY5YmU4M2YzNDZhODBmMjI5MWUzMjJkNGY5ZDAzXCI+Y2FtZXJhX3BsYW5lOjphbGlnbl9oZWlnaHQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBhbGlnbmVkIGhlaWdodCBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTNjNmIyOTEwMTViMTc3NWY5NWQ1MTVhMWI1ZTYwYjVcIj5jYW1lcmFfcGxhbmU6OmFsaWduX3dpZHRoPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgYWxpZ25lZCB3aWR0aCBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjdiMzkyYWMwYjIxYTE3MjcwYTMyNmRkZDA2NzFlMWFcIj5jYW1lcmFfcGxhbmU6OmJ5dGVzdXNlZDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG51bWJlciBvZiBieXRlcyBvY2N1cGllZCBieSBkYXRhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVuc2lnbmVkIGNoYXIqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NjFiZDZiMGYxZDM0Yzk1NTQ4NDYyZWMxMDI2MTljOFwiPmNhbWVyYV9wbGFuZTo6ZGF0YTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRhdGEgcG9pbnRlciBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzFlM2I1NGFkNDQ3ZjY1ZjJjNmU2OWRhZGE3M2RjNTlcIj5jYW1lcmFfcGxhbmU6OnNpemU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzaXplIG9mIHBsYW5lPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfYnVmZmVyPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM5NTQ1Y2NhOWE5MmM3MDY2ZDQ3NzhkODAyOWFiMGRjXCI+aW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTU1Nzk5OWUxMzM0MmIwY2E3MGVlMjFmMjhkNWRkNjM2XCI+Zm9ybWF0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDBlOTQ3MjdhY2VhYWQ5MjlhYzlkZGRjYjFmZmNjMzZcIj5yZXNvbHV0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTkxM2MwODgxZDIxOGI2MTE4ZmQwNWE5OTY4N2EwNTdjXCI+dG90YWxfc2l6ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExOTU0Y2JhNTBiZTI0ZTMyYzkzZTUwNmY5ZjQ3MjZiZlwiPm51bV9wbGFuZXM8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODgwZDQ4MDk4MjVhMjJmYTA3Y2FiNTI4MGJiYjNmYmVcIj5wbGFuZXM8XC9hPiBbNF08XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQwNDUwY2RkYzI3MzQ4YjUxY2I2ZTkzZWExMDQ1MDg0XCI+bnVtX2JvczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD52b2lkICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZWFiM2I5ZjkxMmEyYzU0Nzg3YTNhZTUzZTZlMDZmMGNcIj5ib3M8XC9hPiBbNF08XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTRcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnZvaWQqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlYWIzYjlmOTEyYTJjNTQ3ODdhM2FlNTNlNmUwNmYwY1wiPmNhbWVyYV9idWZmZXI6OmJvczxcL2E+WzRdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGJvKGJ1ZmZlciBvYmplY3QgZm9yIFRCTSkgYXJyYXk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NTc5OTllMTMzNDJiMGNhNzBlZTIxZjI4ZDVkZDYzNlwiPmNhbWVyYV9idWZmZXI6OmZvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBvZiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzOTU0NWNjYTlhOTJjNzA2NmQ0Nzc4ZDgwMjlhYjBkY1wiPmNhbWVyYV9idWZmZXI6OmluZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaW5kZXggb2YgYnVmZmVyPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMDQ1MGNkZGMyNzM0OGI1MWNiNmU5M2VhMTA0NTA4NFwiPmNhbWVyYV9idWZmZXI6Om51bV9ib3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBudW1iZXIgb2YgYm8oYnVmZmVyIG9iamVjdCBmb3IgVEJNKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTk1NGNiYTUwYmUyNGUzMmM5M2U1MDZmOWY0NzI2YmZcIj5jYW1lcmFfYnVmZmVyOjpudW1fcGxhbmVzPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbnVtYmVyIG9mIHBsYW5lcyBpbiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTg4MGQ0ODA5ODI1YTIyZmEwN2NhYjUyODBiYmIzZmJlXCI+Y2FtZXJhX2J1ZmZlcjo6cGxhbmVzPFwvYT5bNF08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcGxhbmVzIG9mIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMGU5NDcyN2FjZWFhZDkyOWFjOWRkZGNiMWZmY2MzNlwiPmNhbWVyYV9idWZmZXI6OnJlc29sdXRpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSByZXNvbHV0aW9uIG9mIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOTEzYzA4ODFkMjE4YjYxMThmZDA1YTk5Njg3YTA1N2NcIj5jYW1lcmFfYnVmZmVyOjp0b3RhbF9zaXplPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgdG90YWwgc2l6ZSBvZiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9tZXRhZGF0YTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1ldGFkYXRhLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM1N2QyODA1NjlkZjYzNmExZTU5YTZjNTk3OGU5NWRkXCI+aXNfZmxhc2hlZDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzOTE2NjM2Yjg2ZTU3ZTg0ZjdkN2IxOTM2MmIwYmYyYVwiPmZvY2FsX2xlbmd0aDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NzAxZjdkNjdkNDliNmM4Yjg1MWFlODhmMDgzOTgwM1wiPmFwZXJ0dXJlX2ZfbnVtYmVyPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWY4N2RkYzE2ZGU4MWM1YzFjMzI4OGE0ZTNjYmE2NjUwXCI+c2h1dHRlcl9zcGVlZDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMzgwMDU2N2VmMmYzYWQ4ZjRjOGYzZGE4ZDc5NTYzMFwiPmV4cG9zdXJlX3RpbWU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMDJhNWNlYmEyZDE2ZDJhYmUyYTY4NWM4NjkxYTNiMzVcIj5icmlnaHRuZXNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNmExMzAxMjJkMmMxNjAwNjY4ZWMwYzU3ZmIyYmM0ZWZcIj5leGlmX2ltYWdlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1MzJiN2M0MGNlMmJlM2RmNWI5M2FlYTVjMGM5N2JlNVwiPmlzbzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYWM0ZDI3YzhhMjBmOGE0NjEwZmRjZjQ2ZDk0MDk2ZDJcIj5tZXRlcmluZ19tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkNjA3ODk4MDk1MjY5YWM1NjdjNjc4ODdmNmZhMGI4YlwiPmNvbG9yX3NwYWNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YzIxMmVlODEwZDliYTQ5ZDk4ZDdiM2M3YTczOTc0NFwiPmNvbXBvbmVudF9jb25maWd1cmF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkOTljMTBjNWUwNzk2NzBlYTFjM2MwZWMyNGMyYmFjZlwiPmFwZXJ0dXJlX2luX2FwZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTYwZTIwYzMwYWNiOTUzNzBmOTJiNTRiMzA4N2I0NTI4XCI+aXNfZGVsdGFfZnJhbWU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzI4NTMwOWYzNGVlNWQyYjhkN2YyYzJkOThlZTkzYzBcIj5mb2N1c19zdGF0ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgwYjY0N2I3YjZiOTA3ODMxZjE3YmEwY2FkYTlkODMwXCI+ZmFjaW5nX2RpcmVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFhNGI1YTNkZDk3Mjg0Mzg4MzI0NWNjMDYwMWZmZDE0XCI+ZmxpcDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExNmVkNGQ4ODk1M2UyODlkMDRjOGEzMjBhYjI5MWExMFwiPnJvdGF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQyOWQ0NTBhZGZhODU0ZmFjNzM5MmVkYjA0YzZmMTliXCI+c3RhdHVzX2FlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWUxMGEzNzkyMWE1MTNmNWEzNTQ2MGQ4MjZkYWRiYWFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTJjNmViZmQ4MTJlYTI5NzVhOGMxOTg4ZTc1ZTZiODBcIj5zdGF0dXNfYXdiPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTVcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NzAxZjdkNjdkNDliNmM4Yjg1MWFlODhmMDgzOTgwM1wiPmNhbWVyYV9tZXRhZGF0YTo6YXBlcnR1cmVfZl9udW1iZXI8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBGLW51bWJlciBmb3IgYXBlcnR1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkOTljMTBjNWUwNzk2NzBlYTFjM2MwZWMyNGMyYmFjZlwiPmNhbWVyYV9tZXRhZGF0YTo6YXBlcnR1cmVfaW5fYXBleDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEFQRVggZm9yIGFwZXJ0dXJlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMmE1Y2ViYTJkMTZkMmFiZTJhNjg1Yzg2OTFhM2IzNVwiPmNhbWVyYV9tZXRhZGF0YTo6YnJpZ2h0bmVzczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGJyaWdodG5lc3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkNjA3ODk4MDk1MjY5YWM1NjdjNjc4ODdmNmZhMGI4YlwiPmNhbWVyYV9tZXRhZGF0YTo6Y29sb3Jfc3BhY2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjb2xvciBzcGFjZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTRjMjEyZWU4MTBkOWJhNDlkOThkN2IzYzdhNzM5NzQ0XCI+Y2FtZXJhX21ldGFkYXRhOjpjb21wb25lbnRfY29uZmlndXJhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvbXBvbmVudCBjb25maWd1cmF0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZhMTMwMTIyZDJjMTYwMDY2OGVjMGM1N2ZiMmJjNGVmXCI+Y2FtZXJhX21ldGFkYXRhOjpleGlmX2ltYWdlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcmVzb2x1dGlvbiBvZiBFWElGIGltYWdlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMzgwMDU2N2VmMmYzYWQ4ZjRjOGYzZGE4ZDc5NTYzMFwiPmNhbWVyYV9tZXRhZGF0YTo6ZXhwb3N1cmVfdGltZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGV4cG9zdXJlIHRpbWU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiZDU1ZDQyMDI1ZTNlZTYwNWUwYzdkNGM5MDRlODFhNlwiPmNhbWVyYV9mYWNpbmdfZGlyZWN0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODBiNjQ3YjdiNmI5MDc4MzFmMTdiYTBjYWRhOWQ4MzBcIj5jYW1lcmFfbWV0YWRhdGE6OmZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmYWNlIGRpcmVjdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhYTRiNWEzZGQ5NzI4NDM4ODMyNDVjYzA2MDFmZmQxNFwiPmNhbWVyYV9tZXRhZGF0YTo6ZmxpcDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZsaXA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM5MTY2MzZiODZlNTdlODRmN2Q3YjE5MzYyYjBiZjJhXCI+Y2FtZXJhX21ldGFkYXRhOjpmb2NhbF9sZW5ndGg8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmb2NhbCBsZW5ndGg8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyODUzMDlmMzRlZTVkMmI4ZDdmMmMyZDk4ZWU5M2MwXCI+Y2FtZXJhX21ldGFkYXRhOjpmb2N1c19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvY3VzIHN0YXRlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBlMjBjMzBhY2I5NTM3MGY5MmI1NGIzMDg3YjQ1MjhcIj5jYW1lcmFfbWV0YWRhdGE6OmlzX2RlbHRhX2ZyYW1lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBpdCdzIGRlbHRhIGZyYW1lIG9yIG5vdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM1N2QyODA1NjlkZjYzNmExZTU5YTZjNTk3OGU5NWRkXCI+Y2FtZXJhX21ldGFkYXRhOjppc19mbGFzaGVkPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBpdCdzIGZsYXNoZWQgb3Igbm90PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTMyYjdjNDBjZTJiZTNkZjViOTNhZWE1YzBjOTdiZTVcIj5jYW1lcmFfbWV0YWRhdGE6OmlzbzxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIElTTzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFjNGQyN2M4YTIwZjhhNDYxMGZkY2Y0NmQ5NDA5NmQyXCI+Y2FtZXJhX21ldGFkYXRhOjptZXRlcmluZ19tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWV0ZXJpbmcgbW9kZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTZlZDRkODg5NTNlMjg5ZDA0YzhhMzIwYWIyOTFhMTBcIj5jYW1lcmFfbWV0YWRhdGE6OnJvdGF0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcm90YXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWY4N2RkYzE2ZGU4MWM1YzFjMzI4OGE0ZTNjYmE2NjUwXCI+Y2FtZXJhX21ldGFkYXRhOjpzaHV0dGVyX3NwZWVkPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc2h1dHRlciBzcGVlZDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJhZWM5ZmM0NzExOTRkMzlhZTQwMTMxZTEyN2FhOWIxXCI+Y2FtZXJhX3N0YXR1c19hdXRvX2V4cG9zdXJlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDI5ZDQ1MGFkZmE4NTRmYWM3MzkyZWRiMDRjNmYxOWJcIj5jYW1lcmFfbWV0YWRhdGE6OnN0YXR1c19hZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXR1cyBmb3IgYXV0byBleHBvc3VyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlMmM2ZWJmZDgxMmVhMjk3NWE4YzE5ODhlNzVlNmI4MFwiPmNhbWVyYV9tZXRhZGF0YTo6c3RhdHVzX2F3YjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXR1cyBmb3IgYXV0byB3aGl0ZSBiYWxhbmNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfZm9ybWF0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZm9ybWF0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0YzU2MDIxNjJjM2IxN2FlNDJjYmUxYmM0NTA0YTdlXCI+c3RyZWFtX2Zvcm1hdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTljZWZiYjNjNGEyMDkzYWZiOThjZTY2ZTdjZGUzNjlhXCI+c3RyZWFtX3Jlc29sdXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjBjM2ViNzgwMmRlODY0MTBiMWZhOGZlZGYxYWNjNzFcIj5zdHJlYW1fZnBzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFkMTVkZjY5MzUzOTE1MDhhYTM2YWJjOTI4NGJlNzhhXCI+c3RyZWFtX3JvdGF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjRlMmFlN2Y0NDc4MzRkZTlhODE2ZDY2NWYyY2ZjNzhcIj5jYW1lcmFfcGl4ZWxfZm9ybWF0X2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2Y2Q1ZTA0YjdlNjI1ZDgzZTBjNTUwZDA4ZmQ5ZDY0NVwiPmNhcHR1cmVfZm9ybWF0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGNhYTYxZGY5ZmI5YTMzM2EzNjk1NzVkNmYwYjU0ZThcIj5jYXB0dXJlX3Jlc29sdXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDIyMTBiMTg2OGEzNWIxMWU2Y2YxMDQyYTYxZDRlZWZcIj5jYXB0dXJlX3F1YWxpdHk8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzJhYWRlMTJmNjVjNTRkZjYyM2QwNWUwZmUyMzAxZGVcIj5zdHJlYW1fYml0cmF0ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTZcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi02XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZjZDVlMDRiN2U2MjVkODNlMGM1NTBkMDhmZDlkNjQ1XCI+Y2FtZXJhX2Zvcm1hdDo6Y2FwdHVyZV9mb3JtYXQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmb3JtYXQgb2YgY2FwdHVyZSBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQyMjEwYjE4NjhhMzViMTFlNmNmMTA0MmE2MWQ0ZWVmXCI+Y2FtZXJhX2Zvcm1hdDo6Y2FwdHVyZV9xdWFsaXR5PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcXVhbGl0eSBvZiBjYXB0dXJlZCBpbWFnZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4Y2FhNjFkZjlmYjlhMzMzYTM2OTU3NWQ2ZjBiNTRlOFwiPmNhbWVyYV9mb3JtYXQ6OmNhcHR1cmVfcmVzb2x1dGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gb2YgY2FwdHVyZSBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyYWFkZTEyZjY1YzU0ZGY2MjNkMDVlMGZlMjMwMWRlXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2JpdHJhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBiaXRyYXRlIG9mIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0YzU2MDIxNjJjM2IxN2FlNDJjYmUxYmM0NTA0YTdlXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2Zvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBvZiBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWYwYzNlYjc4MDJkZTg2NDEwYjFmYThmZWRmMWFjYzcxXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2ZwczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEZQUyBvZiBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1OTQ0ZGNlNmJkM2VmMTBlMjAwMDYxZGU1MGM0NmE3M1wiPmNhbWVyYV9yZXNvbHV0aW9uX3M8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOWNlZmJiM2M0YTIwOTNhZmI5OGNlNjZlN2NkZTM2OWFcIj5jYW1lcmFfZm9ybWF0OjpzdHJlYW1fcmVzb2x1dGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gb2Ygc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhZDE1ZGY2OTM1MzkxNTA4YWEzNmFiYzkyODRiZTc4YVwiPmNhbWVyYV9mb3JtYXQ6OnN0cmVhbV9yb3RhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJvdGF0aW9uIG9mIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiBiYXRjaCBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDY0X3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODk4YWMzZjIwNmYzNzEwMWJlZjU5OTA2YTk4NGRlOWJcIj5jb21tYW5kX3NldF9mbGFnPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjZlOTEyNjc4OWEwOTE5YWExYTNjOWQzMTM4MGE2YjNcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzZkZDM1MzM5MmRkODJlY2MwMGJiNDY3OWMyMzVjNzFcIj53aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjYjM4ZTA5ZjZiNzQxYTBmMWM2NjFhOTBiNDQ3MDAxOVwiPmlzbzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWJmY2MyMGViODIxODA3NDExZmM5ZmY2NDJkZjc0MDVcIj5jb250cmFzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTJhM2NmNzJiMTA2Zjk3NjJiOGViYWFkMzhhZGU0ZmRcIj5zYXR1cmF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTQzZTg1OWU2MDc3MDBmMzhlMDgyMGRlNGRhNzc1NVwiPmh1ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2IxNTc2NGNhM2Q1ZWZjOTY0MDJlYzE1ZjEwZjk3ZWFcIj5zaGFycG5lc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkZmI5MzMyNTIzNzQzNzBjMDFmN2JmOTRiNTI2Yjc3NVwiPmNhbWVyYV9lZmZlY3RfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgyOGYwN2ZhNmJjM2U0ZTY0MzFjYTg1NWQzMTdlN2ZiXCI+ZWZmZWN0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjQxNGU0MmNlMWE5MGFjOTQ0NjE4ODA1YmY5MTIwYzVcIj5jYW1lcmFfc2NlbmVfbW9kZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjk2NjkyNTM1MjdhM2IzNzQ4MzJhNzkwMDJiZmMzYzVcIj5zY2VuZV9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYjQzODY1YWJmYzFjMTM4ZWQxZmI2MTk3ZWU5NDIxZGZcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2IxZTVlNzIyYTZmMjg0ZDAwM2QxNWFmNDI4YWY3NmJcIj5leHBvc3VyZV9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NmYyM2U2YjQ0MTY1MGJhYjFjM2M4ZTE4NzFkY2ZjN1wiPmV4cG9zdXJlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTg0NmI3NTVhOTcyZmM4MWE5ZWYyMGQ0ZDg5M2ViNjcyXCI+cm90YXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1MGY0OGFjMjU5MWRhMTlmNzMwMTE1NTZhNTA4OGJiMlwiPmNhbWVyYV9mbGlwX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5OWNiYzU4MzFjNDA2OGQ3YzdjZjVjNTQyMzVkYmNiOFwiPmZsaXA8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZmI3MWNmYzNkZjA0YTgyNDFhOWJkMTExMGE5M2IwZlwiPmNhbWVyYV9mb2N1c19tb2RlX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5YjQzOWMzNTc0MGFhYWM0ODkwODQzN2EwOGU2ZTc1ZFwiPmZvY3VzX21vZGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjlmNDBmYmZhMTlhMmU1OTAyNTRiM2NhNWJhYjVjMVwiPmNhbWVyYV9mb2N1c19yYW5nZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNjZjU4ZDI0ZWJjMDI2MTI0NWRlMTYzMjAyNjJiZTBcIj5mb2N1c19yYW5nZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI0Mzg2NWFiZmMxYzEzOGVkMWZiNjE5N2VlOTQyMWRmXCI+Y2FtZXJhX2V4cG9zdXJlX21vZGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWIzNGYyY2QzZjVjZDg0OWE5MjU2YTlmOTY0NzI5NjAxXCI+c2hvdF9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNmEyODJhZjdiODI4MzRkZTgyYzEyNDkyY2Q4ZjY1OFwiPmFudGlfc2hha2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZkOWQ1M2U4ZTI0ZGE3NGM4ZjBmY2Y0YTA0YjYzNDQ4XCI+Zm9jdXNfYXJlYTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMmNmMmY4MmU0ZjIwYzZlMjI5YzljMDdiN2MxNjlkZDNcIj5kaWdpdGFsX3pvb208XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM3NGVlOGNiNWQwNjk0YzQ1MzZlY2VhYjJhOTgwOTQ4XCI+b3B0aWNhbF96b29tPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0OWQyZjU2YzUxZTBjYjQxNzc2N2ZkMzhiMjkxZTQ2NlwiPnJlY29yZGluZ19oaW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkM2Q0NzdhYmY5N2I4Mjk0YjcwYzMzZjljYTVlNTdhOFwiPndkcjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlZGI4ZjA5M2U3Mzk4ODJiODlmNTc5NTAwMWJjMmY2MVwiPnNodXR0ZXJfc3BlZWQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjY2YxZTUwMTg4ZjkxMTg1ZDFkNDNhOWFmZTE2MzYyNlwiPmNhbWVyYV9mbGFzaF9tb2RlX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMmE3Y2E5MjYzMDk3ZWM2NWExOTg4NTgwYjMyOTIyOVwiPmZsYXNoX21vZGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjMjU0Mzg2NjQ4NTAyMDYzMTQ2YTIyMWQ0YTJhNjhjZlwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbl9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWM5MDc2MDczZWZmNDQ3ZWNmMjIzMWVlYzNkYzlkOTdcIj5mYWNlX2RldGVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMDczYTA3Yjc1MjFmOGY1MGI3NzcyZDI3Mzk5M2VkMTVcIj5iaXRyYXRlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjOTg2MTQ3OTQ2NTZkZGMwZDEzNDA0YTMxYzA2ZTg5MFwiPnB0el90eXBlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4OGE1OGIxZGEzZjRhNDdhOTU2NjhlMzI4ZjY3NjVkZlwiPnBhbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNThkMmU5MGVkNDg3ODcyZTkxMmQzYzZkYzQ1ODM3NTNcIj50aWx0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDUzMzZjYjM2YTkwZTVhMTliZTA3NTQ4YTE1MjU0ZVwiPmJyaWdodG5lc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0MmIzYjk2MmIxOWEzMzQ5YjU1OTViOGE5OTM0Nzg1XCI+Z29wX2ludGVydmFsPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiNzkzZmNlNTU1ODc0ZWZlNjA4ZWJlNjAwMDI4NTI1NVwiPmNhcHR1cmVfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkM2Y0NGIxM2I3OGJlMjM3MTgyN2Q4ODc0MDdjMzVkXCI+Y2FwdHVyZV9pbnRlcnZhbDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGNiNGYxNmNkMWJlOTFmZDZmMjdkZjlkMDRkZjQ0MDlcIj5mbGFzaF9icmlnaHRuZXNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMjM2MDJlNWM0NzM5YmVkMjkyYjk0ZjFjZGU0NWU1MVwiPmZvY3VzX2xldmVsPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tN1wiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjZhMjgyYWY3YjgyODM0ZGU4MmMxMjQ5MmNkOGY2NThcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjphbnRpX3NoYWtlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgYW50aSBzaGFrZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA3M2EwN2I3NTIxZjhmNTBiNzc3MmQyNzM5OTNlZDE1XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6Yml0cmF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGJpdHJhdGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDUzMzZjYjM2YTkwZTVhMTliZTA3NTQ4YTE1MjU0ZVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmJyaWdodG5lc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBicmlnaHRuZXNzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjc5M2ZjZTU1NTg3NGVmZTYwOGViZTYwMDAyODUyNTVcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpjYXB0dXJlX2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgY2FwdHVyZSBjb3VudCBvZiBjb250aW51b3VzIGNhcHR1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwZDNmNDRiMTNiNzhiZTIzNzE4MjdkODg3NDA3YzM1ZFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmNhcHR1cmVfaW50ZXJ2YWw8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBjYXB0dXJlIGludGVydmFsIG9mIGNvbnRpbnVvdXMgY2FwdHVyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50NjRfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODk4YWMzZjIwNmYzNzEwMWJlZjU5OTA2YTk4NGRlOWJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpjb21tYW5kX3NldF9mbGFnPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5mbGFnIGZvciB1cGRhdGluZyBjb21tYW5kczxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTViZmNjMjBlYjgyMTgwNzQxMWZjOWZmNjQyZGY3NDA1XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6Y29udHJhc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBjb250cmFzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJjZjJmODJlNGYyMGM2ZTIyOWM5YzA3YjdjMTY5ZGQzXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6ZGlnaXRhbF96b29tPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZGlnaXRhbCB6b29tPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODI4ZjA3ZmE2YmMzZTRlNjQzMWNhODU1ZDMxN2U3ZmJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjplZmZlY3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBlZmZlY3Q8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NmYyM2U2YjQ0MTY1MGJhYjFjM2M4ZTE4NzFkY2ZjN1wiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmV4cG9zdXJlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZXhwb3N1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiNDM4NjVhYmZjMWMxMzhlZDFmYjYxOTdlZTk0MjFkZlwiPmNhbWVyYV9leHBvc3VyZV9tb2RlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2IxZTVlNzIyYTZmMjg0ZDAwM2QxNWFmNDI4YWY3NmJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpleHBvc3VyZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZXhwb3N1cmUgbW9kZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMyNTQzODY2NDg1MDIwNjMxNDZhMjIxZDRhMmE2OGNmXCI+Y2FtZXJhX2ZhY2VfZGV0ZWN0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWM5MDc2MDczZWZmNDQ3ZWNmMjIzMWVlYzNkYzlkOTdcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmYWNlX2RldGVjdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGZhY2UgZGV0ZWN0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGNiNGYxNmNkMWJlOTFmZDZmMjdkZjlkMDRkZjQ0MDlcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmbGFzaF9icmlnaHRuZXNzPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgYnJpZ2h0bmVzcyBvZiBmbGFzaDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNjZjFlNTAxODhmOTExODVkMWQ0M2E5YWZlMTYzNjI2XCI+Y2FtZXJhX2ZsYXNoX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMmE3Y2E5MjYzMDk3ZWM2NWExOTg4NTgwYjMyOTIyOVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZsYXNoX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmbGFzaCBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTBmNDhhYzI1OTFkYTE5ZjczMDExNTU2YTUwODhiYjJcIj5jYW1lcmFfZmxpcF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk5Y2JjNTgzMWM0MDY4ZDdjN2NmNWM1NDIzNWRiY2I4XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6ZmxpcDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGZsaXA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2ZDlkNTNlOGUyNGRhNzRjOGYwZmNmNGEwNGI2MzQ0OFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX2FyZWE8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmb2N1cyBhcmVhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDIzNjAyZTVjNDczOWJlZDI5MmI5NGYxY2RlNDVlNTFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmb2N1c19sZXZlbDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGxldmVsIG9mIG1hbnVhbCBmb2N1czxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5YjQzOWMzNTc0MGFhYWM0ODkwODQzN2EwOGU2ZTc1ZFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmb2N1cyBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjY5ZjQwZmJmYTE5YTJlNTkwMjU0YjNjYTViYWI1YzFcIj5jYW1lcmFfZm9jdXNfcmFuZ2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4M2NmNThkMjRlYmMwMjYxMjQ1ZGUxNjMyMDI2MmJlMFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX3JhbmdlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZm9jdXMgcmFuZ2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDJiM2I5NjJiMTlhMzM0OWI1NTk1YjhhOTkzNDc4NVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmdvcF9pbnRlcnZhbDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTQzZTg1OWU2MDc3MDBmMzhlMDgyMGRlNGRhNzc1NVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6Omh1ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGh1ZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNiMzhlMDlmNmI3NDFhMGYxYzY2MWE5MGI0NDcwMDE5XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6aXNvPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgSVNPPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzc0ZWU4Y2I1ZDA2OTRjNDUzNmVjZWFiMmE5ODA5NDhcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpvcHRpY2FsX3pvb208XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBvcHRpY2FsIHpvb208XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4OGE1OGIxZGEzZjRhNDdhOTU2NjhlMzI4ZjY3NjVkZlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnBhbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHBhbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM5ODYxNDc5NDY1NmRkYzBkMTM0MDRhMzFjMDZlODkwXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6cHR6X3R5cGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBQVFooUGFuIFRpbHQgWm9vbSkgdHlwZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTQ5ZDJmNTZjNTFlMGNiNDE3NzY3ZmQzOGIyOTFlNDY2XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6cmVjb3JkaW5nX2hpbnQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciByZWNvcmRpbmcgaGludDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODQ2Yjc1NWE5NzJmYzgxYTllZjIwZDRkODkzZWI2NzJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpyb3RhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHJvdGF0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTJhM2NmNzJiMTA2Zjk3NjJiOGViYWFkMzhhZGU0ZmRcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzYXR1cmF0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3Igc2F0dXJhdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2OTY2OTI1MzUyN2EzYjM3NDgzMmE3OTAwMmJmYzNjNVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnNjZW5lX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzY2VuZSBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2IxNTc2NGNhM2Q1ZWZjOTY0MDJlYzE1ZjEwZjk3ZWFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzaGFycG5lc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzaGFycG5lc3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiNDM4NjVhYmZjMWMxMzhlZDFmYjYxOTdlZTk0MjFkZlwiPmNhbWVyYV9leHBvc3VyZV9tb2RlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjM0ZjJjZDNmNWNkODQ5YTkyNTZhOWY5NjQ3Mjk2MDFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzaG90X21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzaG90IG1vZGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWVkYjhmMDkzZTczOTg4MmI4OWY1Nzk1MDAxYmMyZjYxXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6c2h1dHRlcl9zcGVlZDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHNodXR0ZXIgc3BlZWQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1OGQyZTkwZWQ0ODc4NzJlOTEyZDNjNmRjNDU4Mzc1M1wiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnRpbHQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciB0aWx0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDNkNDc3YWJmOTdiODI5NGI3MGMzM2Y5Y2E1ZTU3YThcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjp3ZHI8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBXRFIoV2lkZSBEeW5hbWljIFJhbmdlKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY2ZTkxMjY3ODlhMDkxOWFhMWEzYzlkMzEzODBhNmIzXCI+Y2FtZXJhX3doaXRlX2JhbGFuY2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzNmRkMzUzMzkyZGQ4MmVjYzAwYmI0Njc5YzIzNWM3MVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OndoaXRlX2JhbGFuY2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciB3aGl0ZSBiYWxhbmNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcGl4ZWxfZm9ybWF0X2xpc3Q8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGZvcm1hdCBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzJmZThkMDM5YzY4YTFlZGYwM2Q4YjE5NjYwNzI3ODVcIj5jb3VudDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYmQwNmJiOGM3MjNjYjkyZDExMWNjOTQxMjA2YmQxOGFcIj5mb3JtYXRzPFwvYT4gW0NBTUVSQV9QSVhFTF9GT1JNQVRfTUFYXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi04XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tOFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTMyZmU4ZDAzOWM2OGExZWRmMDNkOGIxOTY2MDcyNzg1XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0Ojpjb3VudDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvdW50IG9mIGZvcm1hdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWJkMDZiYjhjNzIzY2I5MmQxMTFjYzk0MTIwNmJkMThhXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0Ojpmb3JtYXRzPFwvYT5bQ0FNRVJBX1BJWEVMX0ZPUk1BVF9NQVhdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcmVzb2x1dGlvbl9saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSByZXNvbHV0aW9uIGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNWM2NmI4Y2QyNzU0YTkwYzA1NzNmNDE2Zjc0ZDA0NVwiPmNvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGNhMTAzNmNhYjRlYjI5MWJmZjg4ODQ3NDgyYzBhNWZcIj5yZXNvbHV0aW9uczxcL2E+IFszMl08XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tOVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTlcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNWM2NmI4Y2QyNzU0YTkwYzA1NzNmNDE2Zjc0ZDA0NVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q6OmNvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2YgcmVzb2x1dGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0Y2ExMDM2Y2FiNGViMjkxYmZmODg4NDc0ODJjMGE1ZlwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q6OnJlc29sdXRpb25zPFwvYT5bMzJdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2Zwc19saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcHMgbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTRkNjNjMDFkNjEzMTYyOTM2ZmNiMTAzYzA3YWYwMmM5XCI+Y291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE4MzcxZTNhNmU5YjY4MWUwY2Q3YWE1MWQ1MWNlMTI4XCI+ZnBzPFwvYT4gWzE2XTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEwXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGQ2M2MwMWQ2MTMxNjI5MzZmY2IxMDNjMDdhZjAyYzlcIj5jYW1lcmFfZnBzX2xpc3Q6OmNvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2YgRlBTPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTgzNzFlM2E2ZTliNjgxZTBjZDdhYTUxZDUxY2UxMjhcIj5jYW1lcmFfZnBzX2xpc3Q6OmZwczxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBGUFMgbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9pbmZvPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzg4ZGQ3ZGI5OGY2NDIxMGUzZjhmNTZkYjlkNzBiZDBcIj5pbmRleDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5jaGFyPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM5YjNkNGIyY2E0MzdkOTliOWQ1ZThhNTk2ZjQyMWRhXCI+bmFtZTxcL2E+IFsxNl08XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmNoYXI8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2QxMjU1ZWI2MWE0ZDM4OWQ0MWI4NGJjNDc0YWY0MmJcIj5ub2RlX3BhdGg8XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWUyY2M3MzQwZmNlNGQ0MmQ1OWYyNWYwMGViZjdmMjY1XCI+ZmFjaW5nX2RpcmVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjYmNjMjMwM2U4ODM5MTliY2VjOGI3M2NkODQxOWNiXCI+Y2FtZXJhX2Zvcm1hdF9saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmMzRmN2U1YTcyYTBjNjIzZjQ3ZDI5OTMyYWY5NGJjZlwiPmZvcm1hdF9saXN0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmJiNzUwZTE3MGQxYzk0MGY5ODI4ZWQ0YjJhYTkzZDVcIj5jYW1lcmFfcmVzb2x1dGlvbl9saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlY2E2YzA2ODYxZjdjMzQwOTk2OWRiNGNkMjNjYTI3NFwiPnByZXZpZXdfbGlzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYWJkM2JmZDM2NDkxN2JhMDI2NTBiNWI0MDQ1NTMwYmFcIj5jYXB0dXJlX2xpc3Q8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiYmI3NTBlMTcwZDFjOTQwZjk4MjhlZDRiMmFhOTNkNVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3RfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThlYzFmNDU5MWQxMjE3OWM2ZWM1YzdlMTAwNWRlMDU3XCI+dmlkZW9fbGlzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NTFlNDJlYjMyYzE5M2JjZDAyNDFkNTRhYzlhNzgwZlwiPnByZXZpZXdfZnBzX2xpc3Q8XC9hPiBbMzJdPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0ZGIyMjM0ODhiYTA4MWYwMDAwNmZjOTczMjUxNjFkNlwiPnZpZGVvX2Zwc19saXN0PFwvYT4gWzMyXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTExXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFiZDNiZmQzNjQ5MTdiYTAyNjUwYjViNDA0NTUzMGJhXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpjYXB0dXJlX2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgY2FwdHVyZSByZXNvbHV0aW9uIGxpc3Qgb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmQ1NWQ0MjAyNWUzZWU2MDVlMGM3ZDRjOTA0ZTgxYTZcIj5jYW1lcmFfZmFjaW5nX2RpcmVjdGlvbl9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWUyY2M3MzQwZmNlNGQ0MmQ1OWYyNWYwMGViZjdmMjY1XCI+Y2FtZXJhX2RldmljZV9pbmZvOjpmYWNpbmdfZGlyZWN0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzY2JjYzIzMDNlODgzOTE5YmNlYzhiNzNjZDg0MTljYlwiPmNhbWVyYV9mb3JtYXRfbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWYzNGY3ZTVhNzJhMGM2MjNmNDdkMjk5MzJhZjk0YmNmXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpmb3JtYXRfbGlzdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN1cHBvcnRlZCBmb3JtYXQgbGlzdCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM4OGRkN2RiOThmNjQyMTBlM2Y4ZjU2ZGI5ZDcwYmQwXCI+Y2FtZXJhX2RldmljZV9pbmZvOjppbmRleDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGluZGV4IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjOWIzZDRiMmNhNDM3ZDk5YjlkNWU4YTU5NmY0MjFkYVwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6bmFtZTxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBuYW1lIG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzZDEyNTVlYjYxYTRkMzg5ZDQxYjg0YmM0NzRhZjQyYlwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6bm9kZV9wYXRoPFwvYT5bMTZdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG5vZGUgcGF0aCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyN2VlZDQ1OTQ3N2U2YmU0NzE5ODgzMjVhMTM0ZWE1M1wiPmNhbWVyYV9mcHNfbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk1MWU0MmViMzJjMTkzYmNkMDI0MWQ1NGFjOWE3ODBmXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpwcmV2aWV3X2Zwc19saXN0PFwvYT5bMzJdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN1cHBvcnRlZCBwcmV2aWV3IEZQUyBsaXN0IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWVjYTZjMDY4NjFmN2MzNDA5OTY5ZGI0Y2QyM2NhMjc0XCI+Y2FtZXJhX2RldmljZV9pbmZvOjpwcmV2aWV3X2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgcHJldmlldyByZXNvbHV0aW9uIGxpc3Qgb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMjdlZWQ0NTk0NzdlNmJlNDcxOTg4MzI1YTEzNGVhNTNcIj5jYW1lcmFfZnBzX2xpc3RfczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0ZGIyMjM0ODhiYTA4MWYwMDAwNmZjOTczMjUxNjFkNlwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6dmlkZW9fZnBzX2xpc3Q8XC9hPlszMl08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIHZpZGVvIEZQUyBsaXN0IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThlYzFmNDU5MWQxMjE3OWM2ZWM1YzdlMTAwNWRlMDU3XCI+Y2FtZXJhX2RldmljZV9pbmZvOjp2aWRlb19saXN0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIHZpZGVvIHJlc29sdXRpb24gbGlzdCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uIGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1ZWUxZTE1MzliNWYyMzkyOGI5ZGUyMTcxOWM1MjM0NlwiPmNvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNGE2NzI4ZDA5OGZiMWQ0NmQ5ZTdlY2VmMzU0MDcyYmZcIj5jYW1lcmFfZGV2aWNlX2luZm9fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhZmI1ZTFjODBiNDIxNGY0NjM1ZmU3YzUyZGY3NWQwXCI+ZGV2aWNlX2luZm88XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEyXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1ZWUxZTE1MzliNWYyMzkyOGI5ZGUyMTcxOWM1MjM0NlwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0Ojpjb3VudDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvdW50IG9mIGRldmljZXM8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E0YTY3MjhkMDk4ZmIxZDQ2ZDllN2VjZWYzNTQwNzJiZlwiPmNhbWVyYV9kZXZpY2VfaW5mb19zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhZmI1ZTFjODBiNDIxNGY0NjM1ZmU3YzUyZGY3NWQwXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3Q6OmRldmljZV9pbmZvPFwvYT5bMTZdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRldmljZSBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IHJlc29sdXRpb24uPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDcwNjRkYjRiODI3Y2ZlMTcyMzk3MWE0YTYxMDg1ZFwiPndpZHRoPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ1Y2FjZjhkZWQyOWY0NjI4NDhmMDYyNzk2Y2I2MjhiXCI+aGVpZ2h0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlNGRkMWViNWY4ZTJkZTVmNDU0MWVjNTZlYzdmNDk1ZlwiPmRlZmF1bHRfZnBzX2luZGV4PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMjdlZWQ0NTk0NzdlNmJlNDcxOTg4MzI1YTEzNGVhNTNcIj5jYW1lcmFfZnBzX2xpc3RfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTNlZmI2MDcxNzMyNDZmMmFhZWZlYWM2MzkwMzNkZGYyXCI+ZnBzX2xpc3Q8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xM1wiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU0ZGQxZWI1ZjhlMmRlNWY0NTQxZWM1NmVjN2Y0OTVmXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb246OmRlZmF1bHRfZnBzX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBGUFMgbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2VmYjYwNzE3MzI0NmYyYWFlZmVhYzYzOTAzM2RkZjJcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjo6ZnBzX2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgRlBTIGxpc3Qgd2l0aCA8ZW0+d2lkdGg8XC9lbT4gYW5kIDxlbT5oZWlnaHQ8XC9lbT48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ1Y2FjZjhkZWQyOWY0NjI4NDhmMDYyNzk2Y2I2MjhiXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb246OmhlaWdodDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGhlaWdodCBvZiByZXNvbHV0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDcwNjRkYjRiODI3Y2ZlMTcyMzk3MWE0YTYxMDg1ZFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uOjp3aWR0aDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHdpZHRoIG9mIHJlc29sdXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBmb3JtYXQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNDMyOWRlOGFmMjVjMGI2ZDk5MmE3MzMyM2E0OWRmM2RcIj5waXhlbF9mb3JtYXQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBjZmRmYTNiMzdjMmRkOTIwYWIxM2RkNDIyOTI4MjlcIj5yZXNvbHV0aW9uX2NvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExOTE4MzFhNjc0MzhhNTY0M2FhYmEyZmZkMTgyMWZhYlwiPmRlZmF1bHRfcmVzb2x1dGlvbl9pbmRleDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM0MjBkNGFjYWM0Mzc5NDkzYjUxY2U3YThkOTc1NjljXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb25fczxcL2E+ICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNzU5NDJiNzg2NWU4MGVhNjI5YzdhMzNlYmMwYjZhNWNcIj5yZXNvbHV0aW9uPFwvYT4gWzMyXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xNFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE0XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5MTgzMWE2NzQzOGE1NjQzYWFiYTJmZmQxODIxZmFiXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdDo6ZGVmYXVsdF9yZXNvbHV0aW9uX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBjYXBhYmlsaXR5IHJlc29sdXRpb24gbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTQzMjlkZThhZjI1YzBiNmQ5OTJhNzMzMjNhNDlkZjNkXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdDo6cGl4ZWxfZm9ybWF0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcGl4ZWwgZm9ybWF0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzQyMGQ0YWNhYzQzNzk0OTNiNTFjZTdhOGQ5NzU2OWNcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbl9zPFwvYT4qIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NTk0MmI3ODY1ZTgwZWE2MjljN2EzM2ViYzBiNmE1Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ6OnJlc29sdXRpb248XC9hPlszMl08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgcmVzb2x1dGlvbiBsaXN0IHdpdGggPGVtPnBpeGVsX2Zvcm1hdDxcL2VtPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBjZmRmYTNiMzdjMmRkOTIwYWIxM2RkNDIyOTI4MjlcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0OjpyZXNvbHV0aW9uX2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgcmVzb2x1dGlvbiBjb3VudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9jYXBhYmlsaXR5PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMWFjMDdiYzY5ZjU5MjM1MDJhODNmYWQ5ODlhN2YwNTRcIj5kZXZpY2VfaW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzU0YWZiNGZkYTYyNWRmYmIwNTJkZTIxZjdjMGY0YjdcIj5mb3JtYXRfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWE4ZjAyYjlkYjc5Nzk4MmFlNGEwNWExMzQ2ZWE2M2ZjXCI+ZGVmYXVsdF9mb3JtYXRfaW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2ODkwMTUzMDU1ZGVjMmY3Y2E5MWE5MjA4NDk2NGIwMFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXRfczxcL2E+ICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGQxZjQ2ZjFkYjYyMzFhMTk0NDk5ZDlkM2U4MWQ0ODdcIj5mb3JtYXQ8XC9hPiBbQ0FNRVJBX1BJWEVMX0ZPUk1BVF9NQVhdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE1XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTVcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYThmMDJiOWRiNzk3OTgyYWU0YTA1YTEzNDZlYTYzZmNcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHk6OmRlZmF1bHRfZm9ybWF0X2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBzdXBwb3J0ZWQgZm9ybWF0IGxpc3Q8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExYWMwN2JjNjlmNTkyMzUwMmE4M2ZhZDk4OWE3ZjA1NFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTo6ZGV2aWNlX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaW5kZXggb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjg5MDE1MzA1NWRlYzJmN2NhOTFhOTIwODQ5NjRiMDBcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0X3M8XC9hPiogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkMWY0NmYxZGI2MjMxYTE5NDQ5OWQ5ZDNlODFkNDg3XCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5Ojpmb3JtYXQ8XC9hPltDQU1FUkFfUElYRUxfRk9STUFUX01BWF08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgZm9ybWF0IGxpc3Qgd2l0aCA8ZW0+ZGV2aWNlX2luZGV4PFwvZW0+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjNTRhZmI0ZmRhNjI1ZGZiYjA1MmRlMjFmN2MwZjRiN1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTo6Zm9ybWF0X2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2Ygc3VwcG9ydGVkIGZvcm1hdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2xpc3Q8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjE8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjk3YWY5OTlhNmRhMjcwYTM2N2Y1MWEzNjM0YzhlY2FcIj5kZXZpY2VfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3ZWYwNjY3NzYxMDQwNmE0MDBkZDFlZDQ2ODVjNDY2N1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9zPFwvYT4gKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhNmFjOTc5ZDA4NjE3MzNkYjAxZWYwYzA3YTA1NGU5YVwiPmNhcGFiaWxpdHk8XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE2XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTZcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2VmMDY2Nzc2MTA0MDZhNDAwZGQxZWQ0Njg1YzQ2NjdcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfczxcL2E+KiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTZhYzk3OWQwODYxNzMzZGIwMWVmMGMwN2EwNTRlOWFcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfbGlzdDo6Y2FwYWJpbGl0eTxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOTdhZjk5OWE2ZGEyNzBhMzY3ZjUxYTM2MzRjOGVjYVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0OjpkZXZpY2VfY291bnQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjb3VudCBvZiBkZXZpY2VzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfbWVzc2FnZTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1lc3NhZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTVkMTFmOGU5Yzc2YmY5ODZiY2YwODk1N2I2MTI4NWZcIj50eXBlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMwNjNhNTY5ZWY5NGZjNTk3ZjJmNzY4NGViZGJlN2M1XCI+Zm9jdXNfc3RhdGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjhjZGEyMDBiMmQzMzA0YTBhNWI1NzQxOTliZTliNzZcIj5oZHJfcHJvZ3Jlc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmVmZTc0NDRkN2Y3MjkzOTY2NGM0MGRjMmNmMmEzN1wiPmNhbWVyYV9lcnJvcl9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDRiNzRjNTY5NDExMjBhOTMyZDlmYmM1MWJiNDUwM2VcIj5lcnJvcl9jb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2IyZWY4MDY4MTkwYzliMThhOGFjOTllM2U1YTNiMmNcIj5jYW1lcmFfbmV0d29ya19zdGF0ZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjY3ZWVjZmNkMjA5ZmU2NmJhMjNmYTdhYzkwYzZjOTFcIj5uZXR3b3JrX3N0YXRlPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTdcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xN1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmVmZTc0NDRkN2Y3MjkzOTY2NGM0MGRjMmNmMmEzN1wiPmNhbWVyYV9lcnJvcl9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ0Yjc0YzU2OTQxMTIwYTkzMmQ5ZmJjNTFiYjQ1MDNlXCI+Y2FtZXJhX21lc3NhZ2U6OmVycm9yX2NvZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBlcnJvciBjb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjMDYzYTU2OWVmOTRmYzU5N2YyZjc2ODRlYmRiZTdjNVwiPmNhbWVyYV9tZXNzYWdlOjpmb2N1c19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXRlIG9mIGZvY3VzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGNkYTIwMGIyZDMzMDRhMGE1YjU3NDE5OWJlOWI3NlwiPmNhbWVyYV9tZXNzYWdlOjpoZHJfcHJvZ3Jlc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBwcm9ncmVzcyBvZiBIRFI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYjJlZjgwNjgxOTBjOWIxOGE4YWM5OWUzZTVhM2IyY1wiPmNhbWVyYV9uZXR3b3JrX3N0YXRlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjY3ZWVjZmNkMjA5ZmU2NmJhMjNmYTdhYzkwYzZjOTFcIj5jYW1lcmFfbWVzc2FnZTo6bmV0d29ya19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXRlIG9mIG5ldHdvcmsgY2FtZXJhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMWIzOGQzNzVhMTMxNmUwNzEzYzQ4NTA2ZWNkYmVmM2ZcIj5jYW1lcmFfbWVzc2FnZV90eXBlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTVkMTFmOGU5Yzc2YmY5ODZiY2YwODk1N2I2MTI4NWZcIj5jYW1lcmFfbWVzc2FnZTo6dHlwZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHR5cGUgb2YgbWVzc2FnZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgX2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIEhBTCBmdW5jdGlvbnMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0N2Q2ZTQ4NjBlNDAyY2QwZTZkY2M5YjNjMTE3ZDY5Y1wiPmluaXQ8XC9hPiApKHZvaWQgKipjYW1lcmFfaGFuZGxlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjM2Nzk0NzBhMmQxMmE5ODIxNGU5NTM3MGMwZTY3MTFcIj5kZWluaXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjZjc1NTliNDAxMzk5ZTA5Y2I5OGNlZTUyNTYwYmM4MFwiPmdldF9kZXZpY2VfaW5mb19saXN0PFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjODhkNmFlNjU3MGU4MGM0Y2E1ODcxOThjZWNlMWZlXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3RfczxcL2E+ICpkZXZpY2VfaW5mb19saXN0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYmU1MzBlYWQzMTQzOTQ3Y2Y0ZTJmY2U5NzVlODhlYjBcIj5vcGVuX2RldmljZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IGRldmljZV9pbmRleCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTU5MGJkOGM3NzcyNGZiOGM0MjhiMjVkYmQ2NzRiYjBhXCI+b3Blbl9kZXZpY2VfZXh0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBjb25zdCBjaGFyICpkZXZpY2VfbmFtZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThhNjc2YTk2NGFjYmU1MTUxZTJmMjU5ODg1Mjc0N2QwXCI+Y2xvc2VfZGV2aWNlPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNkYTlkNzQ1YWQwYWMyMzllYTRlOTMyY2QxZjg5YTBcIj5hZGRfbWVzc2FnZV9jYWxsYmFjazxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjdkNTE1MGIxODBmNTQ5Y2ExZGYwNTQ1MWJiOGM2YlwiPmhhbF9jYW1lcmFfbWVzc2FnZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEsIHVpbnQzMl90ICpjYl9pZCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJmMTg5Mjc0Yjg5ZjA1MGRiNzVhNTY4MGRiYzk2MWQwXCI+cmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2s8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIHVpbnQzMl90IGNiX2lkKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGRiODRlM2MxNzk1M2U0MmY1NTMwNDVjM2JjYjAyNzZcIj5zZXRfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmMGQ3MzU0OTMyNjllMTVkMzNiY2RlNDA5MzA4ODkxXCI+Z2V0X3ByZXZpZXdfc3RyZWFtX2Zvcm1hdDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4M2E4ZDM1NGI2NmQwNjEwZDRlMzY0ZDllNDAzNWY5NlwiPnNldF91c2VyX2J1ZmZlcl9mZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50ICpmZHMsIGludCBudW1iZXIpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4YjA5OTkyYTBlNjJmMTdlNWM4MWZhYjNhMjNkZWNhY1wiPnN0YXJ0X3ByZXZpZXc8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjkzNWQ0YjAxMWU2YWNiNmYzNTQyNzcwZDg2MTIxMTRcIj5yZWxlYXNlX3ByZXZpZXdfYnVmZmVyPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgYnVmZmVyX2luZGV4KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGY1Njk5Njc0Zjg1MWMwYzg4OWYyZjFmM2VkMGYzYmVcIj5zdG9wX3ByZXZpZXc8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlODBjMGZkMzFmYWY2YjgzM2RhYmY3NDcyNTdiZDVkMVwiPnN0YXJ0X2F1dG9fZm9jdXM8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhMGU0OTI3OTMxMDU1NzI1NThlOThkZGEwMzQ2YWU4M1wiPnN0b3BfYXV0b19mb2N1czxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWZmMWQ3ZjIzYzUzZDA4Y2NmNjllOGJjNjg5OWRiYWE3XCI+c3RhcnRfY2FwdHVyZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhYzAyYzU2YjdjOTc1MjkxNDQ5NWJiMTY3OTQ0YWZkMlwiPmhhbF9jYW1lcmFfY2FwdHVyZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YWEyZWFlNDg4ODVhM2U3NjBmOTJjMDIyNWQ0NDZiM1wiPnN0b3BfY2FwdHVyZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU2ZDkzNzIyYTI3NjZmNWJlYjdjMDI4ZDZmODNiMWU4XCI+c2V0X3ZpZGVvX3N0cmVhbV9mb3JtYXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGFjZDMwMTUyZDdmNmI4NTQyZWYxN2U0MzA1MjUzYmRcIj5nZXRfdmlkZW9fc3RyZWFtX2Zvcm1hdDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDIyZjA3MGZmNDIzZWUxODczYWFhNmNmNGY1N2RlN1wiPnN0YXJ0X3JlY29yZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YzQxYmQwYWMwM2IzNTAyZTZjZjhhZmM0ZTdjZDlhN1wiPmhhbF9jYW1lcmFfdmlkZW9fZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNDE5M2Y3NDQ2ZTUwMTFkZjA5NWU5ZGMwNmIwOTRhNThcIj5yZWxlYXNlX3ZpZGVvX2J1ZmZlcjxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IGJ1ZmZlcl9pbmRleCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTIyNzUzZTA3ZThjMWVjMjQxNGFhN2FkOTM0NGM2NDI0XCI+c3RvcF9yZWNvcmQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExODBiYjM4M2I4MWQ2NjcwYjk2NWExNmM3Mjg2NWFmYVwiPnNldF9jb21tYW5kPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVhNWUyY2ZlZjlhNzc5MTQ2ZTczMGQwNWZjNDQ5MGQ5XCI+Y2FtZXJhX2NvbW1hbmRfZTxcL2E+IGNvbW1hbmQsIHZvaWQgKnZhbHVlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2U1M2FjMjYzZTA5OTBlYzE4YWRiNmRmNjg4MWYwYzVcIj5nZXRfY29tbWFuZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlYTVlMmNmZWY5YTc3OTE0NmU3MzBkMDVmYzQ0OTBkOVwiPmNhbWVyYV9jb21tYW5kX2U8XC9hPiBjb21tYW5kLCB2b2lkICoqdmFsdWUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzYWQxNzk1YjYwMTg4ZmNiZmY5NTUxYTAxMjZmNWNjOFwiPnNldF9iYXRjaF9jb21tYW5kPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3M2I2YTdjOTRmZDEwYWIyZmE4OWZiOTE5MTc0YTdiXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbF9zPFwvYT4gKmJhdGNoX2NvbW1hbmQsIHVpbnQ2NF90ICplcnJvcl9jb21tYW5kKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTlkMGFjYzVjZTA0NjYyMDhlNzJmN2RjYTYzZjNhMThcIj5zZXRfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZWU4MmI5YWJjYTE0NmY4NmQ2ZTBjZTVlMDdiNzIzY1wiPmhhbF9jYW1lcmFfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiN2Q2OWJkYzliMGMxODNkMTQ0ZGZkZTY0N2U1N2Y1OVwiPnVuc2V0X2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGU1YWNkNTQwZGI2NzM3ODY4NzRjODlhNDY3NTlmOFwiPnJlbGVhc2VfZXh0cmFfcHJldmlld19idWZmZXI8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIGludCBidWZmZXJfaW5kZXgpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4NTZlZjgxM2Y3YjEzODc4ZmI0NzkyMDAwNThiMDI0M1wiPnNldF9leHRyYV9wcmV2aWV3X3N0cmVhbV9mb3JtYXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTY1NDc5Y2FhNDQyMTA5MTJhNTU4YmZjMTU2NzM2NjhcIj5nZXRfZXh0cmFfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmODUwMGNkOWRkOTI1ZjM1ZmFmZjFmNmU3NTU0MDlhXCI+c2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50IGJpdHJhdGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTk3NjhhZWQwMDgwMTQwMTNiMzA1NGIwOTdlNDYyY1wiPmdldF9leHRyYV9wcmV2aWV3X2JpdHJhdGU8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIGludCAqYml0cmF0ZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk4YWMyYjA5MDI5YWEwMWZjYjBlYWE2N2ExZTVkMTQyXCI+c2V0X2V4dHJhX3ByZXZpZXdfZ29wX2ludGVydmFsPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgaW50ZXJ2YWwpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5MjQ5YzczNzczNWRhYTQ0NDg2MGYzMDgxY2FkMGMwMlwiPmdldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50ICppbnRlcnZhbCk8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMThcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xOFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgzZGE5ZDc0NWFkMGFjMjM5ZWE0ZTkzMmNkMWY4OWEwXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6YWRkX21lc3NhZ2VfY2FsbGJhY2s8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjdkNTE1MGIxODBmNTQ5Y2ExZGYwNTQ1MWJiOGM2YlwiPmhhbF9jYW1lcmFfbWVzc2FnZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEsIHVpbnQzMl90ICpjYl9pZCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5SZW1vdmUgbWVzc2FnZSBjYWxsYmFjazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGE2NzZhOTY0YWNiZTUxNTFlMmYyNTk4ODUyNzQ3ZDBcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpjbG9zZV9kZXZpY2U8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5BZGQgbWVzc2FnZSBjYWxsYmFjazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjM2Nzk0NzBhMmQxMmE5ODIxNGU5NTM3MGMwZTY3MTFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpkZWluaXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgbGlzdCBvZiBkZXZpY2UgaW5mb3JtYXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNlNTNhYzI2M2UwOTkwZWMxOGFkYjZkZjY4ODFmMGM1XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X2NvbW1hbmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlYTVlMmNmZWY5YTc3OTE0NmU3MzBkMDVmYzQ0OTBkOVwiPmNhbWVyYV9jb21tYW5kX2U8XC9hPiBjb21tYW5kLCB2b2lkICoqdmFsdWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGJhdGNoIGNvbW1hbmQgZm9yIG11bHRpcGxlIHNldHRpbmdzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjZjc1NTliNDAxMzk5ZTA5Y2I5OGNlZTUyNTYwYmM4MFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmdldF9kZXZpY2VfaW5mb19saXN0PFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhM2M4OGQ2YWU2NTcwZTgwYzRjYTU4NzE5OGNlY2UxZmVcIj5jYW1lcmFfZGV2aWNlX2luZm9fbGlzdF9zPFwvYT4gKmRldmljZV9pbmZvX2xpc3QpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+T3BlbiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgxOTc2OGFlZDAwODAxNDAxM2IzMDU0YjA5N2U0NjJjXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgKmJpdHJhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWwgZm9yIGV4dHJhIHByZXZpZXcgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5MjQ5YzczNzczNWRhYTQ0NDg2MGYzMDgxY2FkMGMwMlwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmdldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgKmludGVydmFsKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkdldCBsaXN0IG9mIGRldmljZSBjYXBhYmlsaXR5ICg8XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4xKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTY1NDc5Y2FhNDQyMTA5MTJhNTU4YmZjMTU2NzM2NjhcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpnZXRfZXh0cmFfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBiaXRyYXRlIGZvciBleHRyYSBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2YwZDczNTQ5MzI2OWUxNWQzM2JjZGU0MDkzMDg4OTFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpnZXRfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBidWZmZXIgZmQgd2hpY2ggaXMgYWxsb2NhdGVkIGJ5IHVzZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhY2QzMDE1MmQ3ZjZiODU0MmVmMTdlNDMwNTI1M2JkXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X3ZpZGVvX3N0cmVhbV9mb3JtYXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RhcnQgcmVjb3JkPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0N2Q2ZTQ4NjBlNDAyY2QwZTZkY2M5YjNjMTE3ZDY5Y1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmluaXQ8XC9hPikodm9pZCAqKmNhbWVyYV9oYW5kbGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Jmx0OyBJbml0aWFsaXplIEhBTCBiYWNrZW5kIGhhbmRsZSBEZWluaXRpYWxpemUgSEFMIGJhY2tlbmQgaGFuZGxlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiZTUzMGVhZDMxNDM5NDdjZjRlMmZjZTk3NWU4OGViMFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6Om9wZW5fZGV2aWNlPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBkZXZpY2VfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+T3BlbiBkZXZpY2UgZm9yIGV4dGVuc2lvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTkwYmQ4Yzc3NzI0ZmI4YzQyOGIyNWRiZDY3NGJiMGFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpvcGVuX2RldmljZV9leHQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgY29uc3QgY2hhciAqZGV2aWNlX25hbWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2xvc2UgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGU1YWNkNTQwZGI2NzM3ODY4NzRjODlhNDY3NTlmOFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnJlbGVhc2VfZXh0cmFfcHJldmlld19idWZmZXI8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50IGJ1ZmZlcl9pbmRleCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TZXQgZm9ybWF0IGZvciBleHRyYSBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjkzNWQ0YjAxMWU2YWNiNmYzNTQyNzcwZDg2MTIxMTRcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpyZWxlYXNlX3ByZXZpZXdfYnVmZmVyPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBidWZmZXJfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RvcCBwcmV2aWV3PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0MTkzZjc0NDZlNTAxMWRmMDk1ZTlkYzA2YjA5NGE1OFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnJlbGVhc2VfdmlkZW9fYnVmZmVyPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBidWZmZXJfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RvcCByZWNvcmQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJmMTg5Mjc0Yjg5ZjA1MGRiNzVhNTY4MGRiYzk2MWQwXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6cmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2s8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgdWludDMyX3QgY2JfaWQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGZvcm1hdCBmb3IgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTNhZDE3OTViNjAxODhmY2JmZjk1NTFhMDEyNmY1Y2M4XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2JhdGNoX2NvbW1hbmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzNiNmE3Yzk0ZmQxMGFiMmZhODlmYjkxOTE3NGE3YlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2xfczxcL2E+ICpiYXRjaF9jb21tYW5kLCB1aW50NjRfdCAqZXJyb3JfY29tbWFuZCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TZXQgcHJldmlldyBjYWxsYmFjayBmb3IgZXh0cmEgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExODBiYjM4M2I4MWQ2NjcwYjk2NWExNmM3Mjg2NWFmYVwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9jb21tYW5kPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWE1ZTJjZmVmOWE3NzkxNDZlNzMwZDA1ZmM0NDkwZDlcIj5jYW1lcmFfY29tbWFuZF9lPFwvYT4gY29tbWFuZCwgdm9pZCAqdmFsdWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IGNvbW1hbmQgZm9yIHZhcmlvdXMgc2V0dGluZ3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmODUwMGNkOWRkOTI1ZjM1ZmFmZjFmNmU3NTU0MDlhXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgYml0cmF0ZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgYml0cmF0ZSBmb3IgZXh0cmEgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5ZDBhY2M1Y2UwNDY2MjA4ZTcyZjdkY2E2M2YzYTE4XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZWU4MmI5YWJjYTE0NmY4NmQ2ZTBjZTVlMDdiNzIzY1wiPmhhbF9jYW1lcmFfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VW5zZXQgcHJldmlldyBjYWxsYmFjayBmb3IgZXh0cmEgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5OGFjMmIwOTAyOWFhMDFmY2IwZWFhNjdhMWU1ZDE0MlwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgaW50ZXJ2YWwpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWwgZm9yIGV4dHJhIHByZXZpZXcgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4NTZlZjgxM2Y3YjEzODc4ZmI0NzkyMDAwNThiMDI0M1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9leHRyYV9wcmV2aWV3X3N0cmVhbV9mb3JtYXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IGZvcm1hdCBmb3IgZXh0cmEgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkYjg0ZTNjMTc5NTNlNDJmNTUzMDQ1YzNiY2IwMjc2XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X3ByZXZpZXdfc3RyZWFtX2Zvcm1hdDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgZm9ybWF0IGZvciBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNhOGQzNTRiNjZkMDYxMGQ0ZTM2NGQ5ZTQwMzVmOTZcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzZXRfdXNlcl9idWZmZXJfZmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50ICpmZHMsIGludCBudW1iZXIpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RhcnQgcHJldmlldzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTZkOTM3MjJhMjc2NmY1YmViN2MwMjhkNmY4M2IxZThcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzZXRfdmlkZW9fc3RyZWFtX2Zvcm1hdDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgZm9ybWF0IGZvciB2aWRlbyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU4MGMwZmQzMWZhZjZiODMzZGFiZjc0NzI1N2JkNWQxXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c3RhcnRfYXV0b19mb2N1czxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0b3AgYXV0byBmb2N1c2luZzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZmYxZDdmMjNjNTNkMDhjY2Y2OWU4YmM2ODk5ZGJhYTdcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdGFydF9jYXB0dXJlPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWMwMmM1NmI3Yzk3NTI5MTQ0OTViYjE2Nzk0NGFmZDJcIj5oYWxfY2FtZXJhX2NhcHR1cmVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0b3AgY2FwdHVyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGIwOTk5MmEwZTYyZjE3ZTVjODFmYWIzYTIzZGVjYWNcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdGFydF9wcmV2aWV3PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlJlbGVhc2UgcHJldmlldyBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk0MjJmMDcwZmY0MjNlZTE4NzNhYWE2Y2Y0ZjU3ZGU3XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c3RhcnRfcmVjb3JkPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWM0MWJkMGFjMDNiMzUwMmU2Y2Y4YWZjNGU3Y2Q5YTdcIj5oYWxfY2FtZXJhX3ZpZGVvX2ZyYW1lX2NiPFwvYT4gY2FsbGJhY2ssIHZvaWQgKnVzZXJfZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5SZWxlYXNlIHZpZGVvIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTBlNDkyNzkzMTA1NTcyNTU4ZTk4ZGRhMDM0NmFlODNcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdG9wX2F1dG9fZm9jdXM8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdGFydCBjYXB0dXJlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YWEyZWFlNDg4ODVhM2U3NjBmOTJjMDIyNWQ0NDZiM1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnN0b3BfY2FwdHVyZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBmb3JtYXQgZm9yIHZpZGVvIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGY1Njk5Njc0Zjg1MWMwYzg4OWYyZjFmM2VkMGYzYmVcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdG9wX3ByZXZpZXc8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdGFydCBhdXRvIGZvY3VzaW5nPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EyMjc1M2UwN2U4YzFlYzI0MTRhYTdhZDkzNDRjNjQyNFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnN0b3BfcmVjb3JkPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGNvbW1hbmQgZm9yIHZhcmlvdXMgc2V0dGluZ3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWI3ZDY5YmRjOWIwYzE4M2QxNDRkZmRlNjQ3ZTU3ZjU5XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6dW5zZXRfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlJlbGVhc2UgcHJldmlldyBidWZmZXIgZm9yIGV4dHJhIHN0cmVhbTxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EZWZpbmUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMxODM2NTM5ZDMzMzMwNWJkNDMzYjIzMWM2MjM5NTExXCI+QlVGRkVSX1BMQU5FX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwNDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBwbGFuZXMgaW4gYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWIyZGRkZjUwODcxNzNiMTRiNjcwZDM1NmZmMzJjOGRjXCI+REVWSUNFX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlIGNvdW50LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFjNjRjMzIzMDRiZTg4YmE5Mzc2YjUxYzk4YzhjYWJkXCI+REVWSUNFX05BTUVfTEVOR1RIX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBsZW5ndGggb2YgZGV2aWNlIG5hbWUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTNiZWRkM2FlOWRkODU4NjRmMTQ0NmMwMjRmYmZlMTJcIj5ERVZJQ0VfTk9ERV9QQVRIX0xFTkdUSF9NQVg8XC9hPlx1MDBhMFx1MDBhMFx1MDBhMDE2PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG1heGltdW0gbGVuZ3RoIG9mIGRldmljZSBub2RlIHBhdGguPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMmIxNDM4MmQyMGQzYjQ4NmQwODEyZjc5YmRhZDc5MjZcIj5GUFNfQ09VTlRfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBGUFMgY291bnQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWM2ZjFkYWUxNjAxZDBjY2IwZmQxZGYyYjUzNzRiMzhcIj5SRVNPTFVUSU9OX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMzI8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBudW1iZXIgb2YgcmVzb2x1dGlvbiBjb3VudC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2JhdGNoX19jb21tYW5kX19jb250cm9sXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTczYjZhN2M5NGZkMTBhYjJmYTg5ZmI5MTkxNzRhN2JcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiBiYXRjaCBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19idWZmZXJcIj5jYW1lcmFfYnVmZmVyPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjJmODk5MTIzY2ZiNzU5YzQzOWE3YmJhMTE3OTNkZjRcIj5jYW1lcmFfY29tbWFuZDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWE1ZTJjZmVmOWE3NzkxNDZlNzMwZDA1ZmM0NDkwZDlcIj5jYW1lcmFfY29tbWFuZF9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX2Zvcm1hdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY4OTAxNTMwNTVkZWMyZjdjYTkxYTkyMDg0OTY0YjAwXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBmb3JtYXQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fbGlzdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkOTUxNzliZDY5NjVkOTNmZTA2Yzc0ZTc1MWRlN2IyOVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fcmVzb2x1dGlvblwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNDIwZDRhY2FjNDM3OTQ5M2I1MWNlN2E4ZDk3NTY5Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IHJlc29sdXRpb24uPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2VmMDY2Nzc2MTA0MDZhNDAwZGQxZWQ0Njg1YzQ2NjdcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9faW5mb19fbGlzdFwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzYzg4ZDZhZTY1NzBlODBjNGNhNTg3MTk4Y2VjZTFmZVwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBpbmZvcm1hdGlvbiBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2luZm9cIj5jYW1lcmFfZGV2aWNlX2luZm88XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTRhNjcyOGQwOThmYjFkNDZkOWU3ZWNlZjM1NDA3MmJmXCI+Y2FtZXJhX2RldmljZV9pbmZvX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBpbmZvcm1hdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiY2Q5N2E4NTM4NmYyMmMwZDRjNjdhNGIwOWI1Yjk3XCI+Y2FtZXJhX2VmZmVjdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZWZmZWN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjBiNDMzNDJiMjM3M2E3ZDBkM2ZiZmU0Y2U3N2E4MGNcIj5jYW1lcmFfZXJyb3I8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiZWZlNzQ0NGQ3ZjcyOTM5NjY0YzQwZGMyY2YyYTM3XCI+Y2FtZXJhX2Vycm9yX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIGVycm9yLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWI1YmIyYzkzM2I4ODRhMDA1NTI5MDA3YzI5MDBlNDBcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYjQzODY1YWJmYzFjMTM4ZWQxZmI2MTk3ZWU5NDIxZGZcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlOTgxYjMwNjkxNjg0ZTUyODBhNmQ1N2FiYzIzZmE4NFwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbjxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzI1NDM4NjY0ODUwMjA2MzE0NmEyMjFkNGEyYTY4Y2ZcIj5jYW1lcmFfZmFjZV9kZXRlY3Rpb25fZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmYWNlIGRldGVjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmYWNpbmcgZGlyZWN0aW9uIG9mIGNhbWVyYSBkZXZpY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlNDVkNmViZThjYTc0YWI5N2I3NjBjNDgyYmUyY2UwY1wiPmNhbWVyYV9mbGFzaF9tb2RlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjY2YxZTUwMTg4ZjkxMTg1ZDFkNDNhOWFmZTE2MzYyNlwiPmNhbWVyYV9mbGFzaF9tb2RlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmxhc2ggbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTJjZjRhNzg4MGFjOTVmNjVhNjk4MDkwYTc1ZGQ5ZTU1XCI+Y2FtZXJhX2ZsaXA8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZmxpcC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWRiZmVmMzA0MzUwOWVkODc1N2U4OTQ2OTY4N2E0ZmNjXCI+Y2FtZXJhX2ZvY3VzX21vZGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyBtb2RlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTllMjAxOTRmNmM1MDY3OTE3MWQ4OWUyZGE0NmFjNjdcIj5jYW1lcmFfZm9jdXNfcmFuZ2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY2OWY0MGZiZmExOWEyZTU5MDI1NGIzY2E1YmFiNWMxXCI+Y2FtZXJhX2ZvY3VzX3JhbmdlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgcmFuZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1M2I5YmM5OGJiZTM5YTBiMDkyN2EyZGU2MGViMDA0MlwiPmNhbWVyYV9mb2N1c19zdGF0ZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyBzdGF0ZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcGl4ZWxfX2Zvcm1hdF9fbGlzdFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfbGlzdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhM2NiY2MyMzAzZTg4MzkxOWJjZWM4YjczY2Q4NDE5Y2JcIj5jYW1lcmFfZm9ybWF0X2xpc3RfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmb3JtYXQgbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZm9ybWF0XCI+Y2FtZXJhX2Zvcm1hdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGZvcm1hdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZnBzX19saXN0XCI+Y2FtZXJhX2Zwc19saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyN2VlZDQ1OTQ3N2U2YmU0NzE5ODgzMjVhMTM0ZWE1M1wiPmNhbWVyYV9mcHNfbGlzdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGZwcyBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19mcmFjdGlvblwiPmNhbWVyYV9mcmFjdGlvbjxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWVzc2FnZVwiPmNhbWVyYV9tZXNzYWdlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1MzQ2NTNmZTMzNWM4OTc1NTc3ZTNmMGNiNzU4YzBlOVwiPmNhbWVyYV9tZXNzYWdlX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1lc3NhZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMzU4OWNlYTY1ZDcyMTYzZjU5YmEyNzFlM2UzNTIzM1wiPmNhbWVyYV9tZXNzYWdlX3R5cGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBtZXNzYWdlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX21ldGFkYXRhXCI+Y2FtZXJhX21ldGFkYXRhPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiY2E0Y2Y1ZGEzMWQxZjQxOTk4OGFlYjQzYzliMTkyN1wiPmNhbWVyYV9tZXRhZGF0YV9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXRhZGF0YS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE0NWE5YTExMjIwNDQ1MjY3ZDhjOTczZjU3NzUxODRhXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNiMmVmODA2ODE5MGM5YjE4YThhYzk5ZTNlNWEzYjJjXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgbmV0d29yayBzdGF0ZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjRlMmFlN2Y0NDc4MzRkZTlhODE2ZDY2NWYyY2ZjNzhcIj5jYW1lcmFfcGl4ZWxfZm9ybWF0X2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHBpeGVsIGZvcm1hdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcGxhbmVcIj5jYW1lcmFfcGxhbmU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTM4ZmI3NDY3MGMyOTBlZWFkMDc5ODZkMGI3NTQyMGI4XCI+Y2FtZXJhX3BsYW5lX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIHBsYW5lLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzI2YTE2MjI4NDU1NjQzNzBmMGQzNjBlNjNhZDdjZTVcIj5jYW1lcmFfcHR6X3R5cGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI4YTk3MjgzNTIyMjViMDgwNDE1OTcwOTliYWMxMzUyXCI+Y2FtZXJhX3B0el90eXBlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgUFRaKFBhbiBUaWx0IFpvb20pIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX3JlY3RhbmdsZVwiPmNhbWVyYV9yZWN0YW5nbGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE2MWMzOTQ0ZGYzYTg4ZWY3Y2E1MDQ0YzkwYjJkOWU2XCI+Y2FtZXJhX3JlY3RhbmdsZV9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlY3RhbmdsZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvbl9fbGlzdFwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24gbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvblwiPmNhbWVyYV9yZXNvbHV0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1OTQ0ZGNlNmJkM2VmMTBlMjAwMDYxZGU1MGM0NmE3M1wiPmNhbWVyYV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVzb2x1dGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTdmNGM1ZjVkN2E0YmE3MmFmZTc4YjRlNzMyNTBjYWRiXCI+Y2FtZXJhX3JvdGF0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzZjMDAyMzhjMGZjY2UyNmVkYjkzMmMyMTY3MWQ5OFwiPmNhbWVyYV9yb3RhdGlvbl9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSByb3RhdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNmMDI1MzEyZWYwY2Q0ZWIxZTAxYjBkOTQ3ZDhlYTMxXCI+Y2FtZXJhX3NjZW5lX21vZGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBzY2VuZSBtb2RlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOGYzM2U1MDc3ZjgwNDEzNDQyMTJkMWQzYzViZTU2NThcIj5jYW1lcmFfc2hvdF9tb2RlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5YmMwNGMyYjhiODc1Y2I4MjdiODc2NGZkN2Q2MzcyNVwiPmNhbWVyYV9zaG90X21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBzaG90IG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExMGNkMmExNzUxYjlmYWRlZTU2ZWUwMzcxYmJjMTU3YlwiPmNhbWVyYV9zdGF0ZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMWZjM2FlNzMyZDhkMGYyMzk4ZGEyN2QzNTE1ODYwOWRcIj5jYW1lcmFfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgc3RhdGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjI3YjQyZTY0ZGM3MzU2N2JkNTRjM2Y1NjdkNmY3MVwiPmNhbWVyYV9zdGF0dXNfYXV0b19leHBvc3VyZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIGV4cG9zdXJlIHN0YXR1cy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM1NzhmYjRkNTIyODI5MDA5Y2U1NjFhYjdjNDRmNzJjXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIHdoaXRlIGJhbGFuY2Ugc3RhdHVzLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNzU0MTRmZDQ4M2JjZmQ2MGM1NjdhYjE0NThhYjZkNDFcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjZlOTEyNjc4OWEwOTE5YWExYTNjOWQzMTM4MGE2YjNcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWVkaWFfX2NhbWVyYV9fZnVuY3NcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EwYWQwOTE3YjEyM2FiNmIwZjY2OTY5NzNhMzNkZTU3ZVwiPmhhbF9iYWNrZW5kX2NhbWVyYV9mdW5jczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgSEFMIGZ1bmN0aW9ucy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgaW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhYzAyYzU2YjdjOTc1MjkxNDQ5NWJiMTY3OTQ0YWZkMlwiPmhhbF9jYW1lcmFfY2FwdHVyZV9jYjxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT4gKm1haW4sIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqcG9zdHZpZXcsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqdGh1bWJuYWlsLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHN0aWxsIGltYWdlIGZyb20gY2FtZXJhIGRldmljZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgbWFpbiB8IFRoZSBtYWluIGltYWdlIGRhdGEgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgcG9zdHZpZXcgfCBUaGUgaW1hZ2UgZGF0YSBvZiB0aGUgcG9zdHZpZXcgKGl0IGNvdWxkIGJlIDxjb2RlPk5VTEw8XC9jb2RlPiBpZiB0aGUgYXZhaWxhYmxlIGRhdGEgZG9lcyBub3QgZXhpc3QpIHxcbnwgW2luXSB8IHRodW1ibmFpbCB8IFRoZSBpbWFnZSBkYXRhIG9mIHRoZSB0aHVtYm5haWwgKGl0IGNvdWxkIGJlIDxjb2RlPk5VTEw8XC9jb2RlPiBpZiB0aGUgYXZhaWxhYmxlIGRhdGEgZG9lcyBub3QgZXhpc3QpIHxcbnwgW2luXSB8IHVzZXJfZGF0YSB8IFRoZSB1c2VyIGRhdGEgcGFzc2VkIGZyb20gdGhlIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbiB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKSB3aWxsIGludm9rZSB0aGlzIGNhbGxiYWNrIGZ1bmN0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNlZSBhbHNvOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKVxuOiAgIGhhbF9jYW1lcmFfc3RvcF9jYXB0dXJlKCk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBpbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVlZTgyYjlhYmNhMTQ2Zjg2ZDZlMGNlNWUwN2I3MjNjXCI+aGFsX2NhbWVyYV9leHRyYV9wcmV2aWV3X2ZyYW1lX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgaW50IHN0cmVhbV9pZCwgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBleHRyYSBwcmV2aWV3IGZyYW1lIGZyb20gY2FtZXJhIGRldmljZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgYnVmZmVyIHwgVGhlIGV4dHJhIHByZXZpZXcgZnJhbWUgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgbWV0YSB8IFRoZSBtZXRhIGRhdGEgZm9yIHRoZSBleHRyYSBwcmV2aWV3IGZyYW1lIHxcbnwgW2luXSB8IHN0cmVhbV9pZCB8IFRoZSBpZCBvZiBleHRyYSBwcmV2aWV3IHN0cmVhbSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3ByZXZpZXcoKSB3aWxsIGludm9rZSB0aGlzIGNhbGxiYWNrLjxcL3A+XG48cD48c3Ryb25nPlNlZSBhbHNvOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3ByZXZpZXcoKVxuOiAgIGhhbF9jYW1lcmFfc3RvcF9wcmV2aWV3KCk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBpbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMyN2Q1MTUwYjE4MGY1NDljYTFkZjA1NDUxYmI4YzZiXCI+aGFsX2NhbWVyYV9tZXNzYWdlX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTM0NjUzZmUzMzVjODk3NTU3N2UzZjBjYjc1OGMwZTlcIj5jYW1lcmFfbWVzc2FnZV9zPFwvYT4gKm1lc3NhZ2UsIHZvaWQgKnVzZXJfZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5DYWxsYmFjayBmdW5jdGlvbiBmb3Igbm90aWZpY2F0aW9uIGZyb20gY2FtZXJhIEhBTC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgbWVzc2FnZSB8IFRoZSBtZXNzYWdlIGZyb20gY2FtZXJhIEhBTCB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+U2VlIGFsc286PFwvc3Ryb25nPlxuOiAgIGhhbF9jYW1lcmFfYWRkX21lc3NhZ2VfY2FsbGJhY2soKVxuOiAgIGhhbF9jYW1lcmFfcmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2soKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpidWZmZXIsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+ICptZXRhLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5QYXJhbWV0ZXJzOjxcL3N0cm9uZz5cbjogICB8IFtpbl0gfCBidWZmZXIgfCBUaGUgcHJldmlldyBmcmFtZSB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtpbl0gfCBtZXRhIHwgVGhlIG1ldGEgZGF0YSBmb3IgdGhlIHByZXZpZXcgZnJhbWUgfFxufCBbaW5dIHwgdXNlcl9kYXRhIHwgVGhlIHVzZXIgZGF0YSBmb3IgY2FsbGJhY2sgfDxcL3A+XG48cD48c3Ryb25nPlByZWNvbmRpdGlvbjo8XC9zdHJvbmc+XG46ICAgaGFsX2NhbWVyYV9zdGFydF9wcmV2aWV3KCkgd2lsbCBpbnZva2UgdGhpcyBjYWxsYmFjay48XC9wPlxuPHA+PHN0cm9uZz5TZWUgYWxzbzo8XC9zdHJvbmc+XG46ICAgaGFsX2NhbWVyYV9zdGFydF9wcmV2aWV3KClcbjogICBoYWxfY2FtZXJhX3N0b3BfcHJldmlldygpPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgaW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YzQxYmQwYWMwM2IzNTAyZTZjZjhhZmM0ZTdjZDlhN1wiPmhhbF9jYW1lcmFfdmlkZW9fZnJhbWVfY2I8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpidWZmZXIsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+ICptZXRhLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHZpZGVvIGJ1ZmZlciBmcm9tIGNhbWVyYSBkZXZpY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPlBhcmFtZXRlcnM6PFwvc3Ryb25nPlxuOiAgIHwgW2luXSB8IGJ1ZmZlciB8IFRoZSB2aWRlbyBidWZmZXIgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgbWV0YSB8IFRoZSBtZXRhIGRhdGEgZm9yIHRoZSB2aWRlbyBmcmFtZSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3JlY29yZCgpIHdpbGwgaW52b2tlIHRoaXMgY2FsbGJhY2suPFwvcD5cbjxwPjxzdHJvbmc+U2VlIGFsc286PFwvc3Ryb25nPlxuOiAgIGhhbF9jYW1lcmFfc3RhcnRfcmVjb3JkKClcbjogICBoYWxfY2FtZXJhX3N0b3BfcmVjb3JkKCk8XC9wPlxuPGhyIFwvPlxuPGgyIGlkPVwiY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9oMj5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2MmY4OTkxMjNjZmI3NTljNDM5YTdiYmExMTc5M2RmNFwiPmNhbWVyYV9jb21tYW5kPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfQ09NTUFORF9CQVNFPFwvZW0+IHwgQmFzZSBvZiBjb21tYW5kIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1dISVRFX0JBTEFOQ0U8XC9lbT4gfCBXaGl0ZSBiYWxhbmNlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0lTTzxcL2VtPiB8IElTTyB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DT05UUkFTVDxcL2VtPiB8IENvbnRyYXN0IHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NBVFVSQVRJT048XC9lbT4gfCBTYXR1cmF0aW9uIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0hVRTxcL2VtPiB8IEh1ZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9TSEFSUE5FU1M8XC9lbT4gfCBTaGFycG5lc3MgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfRUZGRUNUPFwvZW0+IHwgRWZmZWN0IHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NDRU5FX01PREU8XC9lbT4gfCBTY2VuZSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0VYUE9TVVJFX01PREU8XC9lbT4gfCBFeHBvc3VyZSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0VYUE9TVVJFPFwvZW0+IHwgRXhwb3N1cmUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfUk9UQVRJT048XC9lbT4gfCBSb3RhdGlvbiB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GTElQPFwvZW0+IHwgRmxpcCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19NT0RFPFwvZW0+IHwgRm9jdXMgbW9kZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19SQU5HRTxcL2VtPiB8IEZvY3VzIHJhbmdlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NIT1RfTU9ERTxcL2VtPiB8IFNob3QgbW9kZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9BTlRJX1NIQUtFPFwvZW0+IHwgQW50aSBzaGFrZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19BUkVBPFwvZW0+IHwgRm9jdXMgYXJlYSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9ESUdJVEFMX1pPT008XC9lbT4gfCBEaWdpdGFsIHpvb20gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfT1BUSUNBTF9aT09NPFwvZW0+IHwgT3B0aWNhbCB6b29tIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1JFQ09SRElOR19ISU5UPFwvZW0+IHwgUmVjb3JkaW5nIGhpbnQgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfV0RSPFwvZW0+IHwgV2lkZSBkeW5hbWljIHJhbmdlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NIVVRURVJfU1BFRUQ8XC9lbT4gfCBTaHV0dGVyIHNwZWVkIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZMQVNIX01PREU8XC9lbT4gfCBGbGFzaCBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZBQ0VfREVURUNUSU9OPFwvZW0+IHwgRmFjZSBkZXRlY3Rpb24gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfQklUUkFURTxcL2VtPiB8IEJpdHJhdGUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfUFRaX1RZUEU8XC9lbT4gfCBQVFooUGFuIFRpbHQgWm9vbSkgdHlwZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9QQU48XC9lbT4gfCBQYW4gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfVElMVDxcL2VtPiB8IFRpbHQgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfQlJJR0hUTkVTUzxcL2VtPiB8IEJyaWdodG5lc3MgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfR09QX0lOVEVSVkFMPFwvZW0+IHwgR09QKEdyb3VwIE9mIFBpY3R1cmVzKSBpbnRlcnZhbCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DQVBUVVJFX0NPVU5UPFwvZW0+IHwgQ2FwdHVyZSBjb3VudCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DQVBUVVJFX0lOVEVSVkFMPFwvZW0+IHwgQ2FwdHVyZSBpbnRlcnZhbCBmb3IgY29udGludW91cyBjYXB0dXJlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZMQVNIX0JSSUdIVE5FU1M8XC9lbT4gfCBCcmlnaHRuZXNzIG9mIGZsYXNoIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZPQ1VTX0xFVkVMPFwvZW0+IHwgTGV2ZWwgb2YgbWFudWFsIGZvY3VzIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0RFVklDRV9CVVM8XC9lbT4gfCBEZXZpY2UgYnVzIG5hbWUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfREVWSUNFX1BPUlQ8XC9lbT4gfCBEZXZpY2UgcG9ydCBuYW1lIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1dISVRFX0JBTEFOQ0VfVEVNUEVSQVRVUkU8XC9lbT4gfCBXaGl0ZSBiYWxhbmNlIHRlbXBlcmF0dXJlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0dBSU48XC9lbT4gfCBHYWluIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NXSVRDSF9ERVZJQ0U8XC9lbT4gfCBTd2l0Y2ggZGV2aWNlIChTaW5jZSAxLjIpIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiY2Q5N2E4NTM4NmYyMmMwZDRjNjdhNGIwOWI1Yjk3XCI+Y2FtZXJhX2VmZmVjdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBlZmZlY3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FRkZFQ1RfTk9ORTxcL2VtPiB8IE5vbmUgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9NT05PPFwvZW0+IHwgTW9ubyB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX1NFUElBPFwvZW0+IHwgU2VwaWEgfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9ORUdBVElWRTxcL2VtPiB8IE5lZ2F0aXZlIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfUkVEPFwvZW0+IHwgUmVkIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfR1JFRU48XC9lbT4gfCBHcmVlbiB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX0JMVUU8XC9lbT4gfCBCbHVlIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfQVFVQTxcL2VtPiB8IEFxdWEgfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9BTlRJUVVFPFwvZW0+IHwgQW50aXF1ZSB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX1dBUk08XC9lbT4gfCBXYXJtIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfRU1CT1NTPFwvZW0+IHwgRW1ib3NzIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfU0tFVENIPFwvZW0+IHwgU2tldGNoIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfU09MQVJJWkFUSU9OPFwvZW0+IHwgU29sYXJpemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfUE9TVEVSSVpBVElPTjxcL2VtPiB8IFBvc3Rlcml6YXRpb24gfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9DQVJUT09OPFwvZW0+IHwgQ2FydG9vbiB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmMGI0MzM0MmIyMzczYTdkMGQzZmJmZTRjZTc3YTgwY1wiPmNhbWVyYV9lcnJvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZXJyb3IuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FUlJPUl9OT05FPFwvZW0+IHwgRXJyb3Igbm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5WQUxJRF9QQVJBTUVURVI8XC9lbT4gfCBJbnZhbGlkIHBhcmFtZXRlciB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5WQUxJRF9TVEFURTxcL2VtPiB8IEludmFsaWQgc3RhdGUgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX1BFUk1JU1NJT05fREVOSUVEPFwvZW0+IHwgUGVybWlzc2lvbiBkZW5pZWQgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX09VVF9PRl9NRU1PUlk8XC9lbT4gfCBPdXQgb2YgbWVtb3J5IHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfT1BFTjxcL2VtPiB8IERldmljZSBvcGVuIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfTk9UX0ZPVU5EPFwvZW0+IHwgRGV2aWNlIG5vdCBmb3VuZCB8XG58IDxlbT5DQU1FUkFfRVJST1JfREVWSUNFX1VOQVZBSUxBQkxFPFwvZW0+IHwgRGV2aWNlIHVuYXZhaWxhYmxlIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfTk9UX1NVUFBPUlRFRDxcL2VtPiB8IERldmljZSBub3Qgc3VwcG9ydGVkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfUkVBRDxcL2VtPiB8IERldmljZSByZWFkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfV1JJVEU8XC9lbT4gfCBEZXZpY2Ugd3JpdGUgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX0RFVklDRV9CVVNZPFwvZW0+IHwgRGV2aWNlIGJ1c3kgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX0RFVklDRV9USU1FX09VVDxcL2VtPiB8IERldmljZSB0aW1lIG91dCB8XG58IDxlbT5DQU1FUkFfRVJST1JfREVWSUNFX0VTRDxcL2VtPiB8IERldmljZSBFU0QoRWxlY3RybyBTdGF0aWMgRGlzY2hhcmdlKSB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5URVJOQUw8XC9lbT4gfCBJbnRlcm5hbCB8XG58IDxlbT5DQU1FUkFfRVJST1JfTk9UX0lNUExFTUVOVEVEPFwvZW0+IHwgTm90IGltcGxlbWVudGVkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9VTktOT1dOPFwvZW0+IHwgVW5rbm93biB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YjViYjJjOTMzYjg4NGEwMDU1MjkwMDdjMjkwMGU0MFwiPmNhbWVyYV9leHBvc3VyZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX09GRjxcL2VtPiB8IE9mZiB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9BTEw8XC9lbT4gfCBBbGwgbW9kZSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9DRU5URVI8XC9lbT4gfCBDZW50ZXIgbW9kZSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9TUE9UPFwvZW0+IHwgU3BvdCBtb2RlIHxcbnwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX0NVU1RPTTxcL2VtPiB8IEN1c3RvbSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX1NIVVRURVJfUFJJT1JJVFk8XC9lbT4gfCBTaHV0dGVyIHByaW9yaXR5IG1vZGUgfFxufCA8ZW0+Q0FNRVJBX0VYUE9TVVJFX01PREVfQVBFUlRVUkVfUFJJT1JJVFk8XC9lbT4gfCBBcGVydHVyZSBwcmlvcml0eSBtb2RlIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWU5ODFiMzA2OTE2ODRlNTI4MGE2ZDU3YWJjMjNmYTg0XCI+Y2FtZXJhX2ZhY2VfZGV0ZWN0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZhY2UgZGV0ZWN0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRkFDRV9ERVRFQ1RJT05fT0ZGPFwvZW0+IHwgRmFjZSBkZXRlY3Rpb24gb2ZmIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GQUNFX0RFVEVDVElPTl9PTjxcL2VtPiB8IEZhY2UgZGV0ZWN0aW9uIG9uIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBjYW1lcmEgZGV2aWNlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRkFDSU5HX0RJUkVDVElPTl9SRUFSPFwvZW0+IHwgUmVhciBmYWNpbmcgZGlyZWN0aW9uIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GQUNJTkdfRElSRUNUSU9OX0ZST05UPFwvZW0+IHwgRnJvbnQgZmFjaW5nIGRpcmVjdGlvbiB8XG58IDxlbT5DQU1FUkFfRkFDSU5HX0RJUkVDVElPTl9FWFRFUk5BTDxcL2VtPiB8IEV4dGVybmFsIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWU0NWQ2ZWJlOGNhNzRhYjk3Yjc2MGM0ODJiZTJjZTBjXCI+Y2FtZXJhX2ZsYXNoX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmxhc2ggbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZMQVNIX01PREVfT0ZGPFwvZW0+IHwgQWx3YXlzIG9mZiB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9PTjxcL2VtPiB8IEFsd2F5cyBzcGxhc2hlcyB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9BVVRPPFwvZW0+IHwgRGVwZW5kaW5nIG9uIGludGVuc2l0eSBvZiBsaWdodCwgc3Ryb2JlIHN0YXJ0cyB0byBmbGFzaCB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9SRURFWUVfUkVEVUNUSU9OPFwvZW0+IHwgUmVkIGV5ZSByZWR1Y3Rpb24uIE11bHRpcGxlIGZsYXNoIGJlZm9yZSBjYXB0dXJpbmcgfFxufCA8ZW0+Q0FNRVJBX0ZMQVNIX01PREVfU0xPV19TWU5DPFwvZW0+IHwgU2xvdyBzeW5jIGN1cnRhaW4gc3luY2hyb25pemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9GTEFTSF9NT0RFX0ZST05UX0NVUlRBSU48XC9lbT4gfCBGcm9udCBjdXJ0YWluIHN5bmNocm9uaXphdGlvbiB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9SRUFSX0NVUlRBSU48XC9lbT4gfCBSZWFyIGN1cnRhaW4gc3luY2hyb25pemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9GTEFTSF9NT0RFX1BFUk1BTkVOVDxcL2VtPiB8IEtlZXAgdHVybmVkIG9uIHVudGlsIHR1cm5pbmcgb2ZmIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTJjZjRhNzg4MGFjOTVmNjVhNjk4MDkwYTc1ZGQ5ZTU1XCI+Y2FtZXJhX2ZsaXA8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIGZsaXAuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9GTElQX05PTkU8XC9lbT4gfCBOb25lIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GTElQX0hPUklaT05UQUw8XC9lbT4gfCBIb3Jpem9udGFsIGZsaXAgfFxufCA8ZW0+Q0FNRVJBX0ZMSVBfVkVSVElDQUw8XC9lbT4gfCBWZXJ0aWNhbCBmbGlwIHxcbnwgPGVtPkNBTUVSQV9GTElQX0JPVEg8XC9lbT4gfCBCb3RoIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWRiZmVmMzA0MzUwOWVkODc1N2U4OTQ2OTY4N2E0ZmNjXCI+Y2FtZXJhX2ZvY3VzX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfTk9ORTxcL2VtPiB8IE5vbmUgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfUEFOPFwvZW0+IHwgUGFuIG1vZGUgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfQVVUTzxcL2VtPiB8IEF1dG8gbW9kZSB8XG58IDxlbT5DQU1FUkFfRk9DVVNfTU9ERV9DT05USU5VT1VTX0FVVE88XC9lbT4gfCBDb250aW51b3VzIGF1dG8gbW9kZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExOWUyMDE5NGY2YzUwNjc5MTcxZDg5ZTJkYTQ2YWM2N1wiPmNhbWVyYV9mb2N1c19yYW5nZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyByYW5nZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX05PTkU8XC9lbT4gfCBOb25lIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GT0NVU19SQU5HRV9OT1JNQUw8XC9lbT4gfCBOb3JtYWwgcmFuZ2UgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX01BQ1JPPFwvZW0+IHwgTWFjcm8gcmFuZ2UgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX0ZVTEw8XC9lbT4gfCBGdWxsIHJhbmdlIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUzYjliYzk4YmJlMzlhMGIwOTI3YTJkZTYwZWIwMDQyXCI+Y2FtZXJhX2ZvY3VzX3N0YXRlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZvY3VzIHN0YXRlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRk9DVVNfU1RBVEVfUkVMRUFTRUQ8XC9lbT4gfCBSZWxlYXNlZCBzdGF0ZSBmb3IgYXV0byBmb2N1cyB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRk9DVVNfU1RBVEVfT05HT0lORzxcL2VtPiB8IE9uZ29pbmcgc3RhdGUgZm9yIGF1dG8gZm9jdXMgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1NUQVRFX0ZPQ1VTRUQ8XC9lbT4gfCBGb2N1c2VkIHN0YXRlIGZvciBhdXRvIGZvY3VzIHxcbnwgPGVtPkNBTUVSQV9GT0NVU19TVEFURV9GQUlMRUQ8XC9lbT4gfCBGYWlsZWQgc3RhdGUgZm9yIGF1dG8gZm9jdXMgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzM1ODljZWE2NWQ3MjE2M2Y1OWJhMjcxZTNlMzUyMzNcIj5jYW1lcmFfbWVzc2FnZV90eXBlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBtZXNzYWdlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfRk9DVVNfQ0hBTkdFRDxcL2VtPiB8IFRoZSBmb2N1cyBzdGF0ZSBjaGFuZ2VkIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfQ0FQVFVSRUQ8XC9lbT4gfCBUaGUgc25hcHNob3QgY2FwdHVyZWQgfFxufCA8ZW0+Q0FNRVJBX01FU1NBR0VfVFlQRV9IRFJfUFJPR1JFU1M8XC9lbT4gfCBUaGUgcHJvZ3Jlc3Mgb2YgSERSIHxcbnwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfRVJST1I8XC9lbT4gfCBUaGUgZXJyb3IgfFxufCA8ZW0+Q0FNRVJBX01FU1NBR0VfVFlQRV9ORVRXT1JLX1NUQVRFPFwvZW0+IHwgVGhlIHN0YXRlIG9mIG5ldHdvcmsgY2FtZXJhIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE0NWE5YTExMjIwNDQ1MjY3ZDhjOTczZjU3NzUxODRhXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIG5ldHdvcmsgc3RhdGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9ORVRXT1JLX1NUQVRFX1BMQVlJTkc8XC9lbT4gfCBQbGF5aW5nIHN0YXRlIGZvciBuZXR3b3JrIGNhbWVyYSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfTkVUV09SS19TVEFURV9QQVVTRUQ8XC9lbT4gfCBQYXVzZWQgc3RhdGUgZm9yIG5ldHdvcmsgY2FtZXJhIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgcGl4ZWwgZm9ybWF0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX05WMTI8XC9lbT4gfCBSYXcgLSBOVjEyIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfTlYyMTxcL2VtPiB8IFJhdyAtIE5WMjEgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9JNDIwPFwvZW0+IHwgUmF3IC0gSTQyMCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX1lWMTI8XC9lbT4gfCBSYXcgLSBZVjEyIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfWVVZVjxcL2VtPiB8IFJhdyAtIFlVWVYgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9VWVZZPFwvZW0+IHwgUmF3IC0gVVlWWSB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX0JHUkE4ODg4PFwvZW0+IHwgUmF3IC0gQkdSQTg4ODggfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9BUkdCODg4ODxcL2VtPiB8IFJhdyAtIEFSR0I4ODg4IHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfSlBFRzxcL2VtPiB8IEVuY29kZWQgLSBKUEVHIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfSDI2NDxcL2VtPiB8IEVuY29kZWQgLSBILjI2NCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX01KUEVHPFwvZW0+IHwgRW5jb2RlZCAtIE1KUEVHIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfVlA4PFwvZW0+IHwgRW5jb2RlZCAtIFZQOCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX1ZQOTxcL2VtPiB8IEVuY29kZWQgLSBWUDkgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9ERVBUSDxcL2VtPiB8IERlcHRoIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMyNmExNjIyODQ1NTY0MzcwZjBkMzYwZTYzYWQ3Y2U1XCI+Y2FtZXJhX3B0el90eXBlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIFBUWihQYW4gVGlsdCBab29tKSB0eXBlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUFRaX1RZUEVfTUVDSEFOSUNBTDxcL2VtPiB8IE1vdmUgdGhlIGNhbWVyYSBkZXZpY2UgcGh5c2ljYWxseSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfUFRaX1RZUEVfRUxFQ1RST05JQzxcL2VtPiB8IFpvb20gZGlnaXRhbGx5IGFuZCBtb3ZlIGludG8gcG9ydGlvbiBvZiB0aGUgaW1hZ2UgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2Y0YzVmNWQ3YTRiYTcyYWZlNzhiNGU3MzI1MGNhZGJcIj5jYW1lcmFfcm90YXRpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHJvdGF0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUk9UQVRJT05fMDxcL2VtPiB8IDAgZGVncmVlIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9ST1RBVElPTl85MDxcL2VtPiB8IDkwIGRlZ3JlZSB8XG58IDxlbT5DQU1FUkFfUk9UQVRJT05fMTgwPFwvZW0+IHwgMTgwIGRlZ3JlZSB8XG58IDxlbT5DQU1FUkFfUk9UQVRJT05fMjcwPFwvZW0+IHwgMjcwIGRlZ3JlZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzZjAyNTMxMmVmMGNkNGViMWUwMWIwZDk0N2Q4ZWEzMVwiPmNhbWVyYV9zY2VuZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNjZW5lIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX05PUk1BTDxcL2VtPiB8IE5vcm1hbCB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9QT1JUUkFJVDxcL2VtPiB8IFBvcnRyYWl0IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0xBTkRTQ0FQRTxcL2VtPiB8IExhbmRzY2FwZSB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9TUE9SVFM8XC9lbT4gfCBTcG9ydHMgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfUEFSVFlfTl9JTkRPT1I8XC9lbT4gfCBQYXJ0eSAmYW1wOyBpbmRvb3IgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfQkVBQ0hfTl9JTkRPT1I8XC9lbT4gfCBCZWFjaCAmYW1wOyBpbmRvb3IgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfU1VOU0VUPFwvZW0+IHwgU3Vuc2V0IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0RVU0tfTl9EQVdOPFwvZW0+IHwgRHVzayAmYW1wOyBkYXduIHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0ZBTExfQ09MT1I8XC9lbT4gfCBGYWxsIHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX05JR0hUX1NDRU5FPFwvZW0+IHwgTmlnaHQgc2NlbmUgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfRklSRVdPUks8XC9lbT4gfCBGaXJld29yayB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9URVhUPFwvZW0+IHwgVGV4dCB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9TSE9XX1dJTkRPVzxcL2VtPiB8IFNob3cgd2luZG93IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0NBTkRMRV9MSUdIVDxcL2VtPiB8IENhbmRsZSBsaWdodCB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9CQUNLTElHSFQ8XC9lbT4gfCBCYWNrbGlnaHQgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfQVFVQTxcL2VtPiB8IEFxdWEgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOGYzM2U1MDc3ZjgwNDEzNDQyMTJkMWQzYzViZTU2NThcIj5jYW1lcmFfc2hvdF9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNob3QgbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX1NIT1RfTU9ERV9OT1JNQUw8XC9lbT4gfCBOb3JtYWwgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX1NIT1RfTU9ERV9DT05USU5VT1VTPFwvZW0+IHwgQ29udGludW91cyB8XG58IDxlbT5DQU1FUkFfU0hPVF9NT0RFX0hEUjxcL2VtPiB8IEhEUiB8XG58IDxlbT5DQU1FUkFfU0hPVF9NT0RFX05JR0hUPFwvZW0+IHwgTmlnaHQgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTBjZDJhMTc1MWI5ZmFkZWU1NmVlMDM3MWJiYzE1N2JcIj5jYW1lcmFfc3RhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHN0YXRlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfU1RBVEVfSU5JVElBTElaRUQ8XC9lbT4gfCBJbml0aWFsaXplZCBzdGF0ZSBmb3IgY2FtZXJhIGRldmljZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVEVfT1BFTkVEPFwvZW0+IHwgT3BlbmVkIHN0YXRlIGZvciBjYW1lcmEgZGV2aWNlIHxcbnwgPGVtPkNBTUVSQV9TVEFURV9QUkVWSUVXSU5HPFwvZW0+IHwgUHJldmlld2luZyBzdGF0ZSBmb3IgY2FtZXJhIGRldmljZSB8XG58IDxlbT5DQU1FUkFfU1RBVEVfQ0FQVFVSSU5HPFwvZW0+IHwgQ2FwdHVyaW5nIHN0YXRlIGZvciBjYW1lcmEgZGV2aWNlIHxcbnwgPGVtPkNBTUVSQV9TVEFURV9SRUNPUkRJTkc8XC9lbT4gfCBSZWNvcmRpbmcgc3RhdGUgZm9yIGNhbWVyYSBkZXZpY2UgfFxufCA8ZW0+Q0FNRVJBX1NUQVRFX1JFQ09SRElOR19TTkFQU0hPVDxcL2VtPiB8IENhcHR1cmluZyBzdGF0ZSB3aGlsZSByZWNvcmRpbmcgZm9yIGNhbWVyYSBkZXZpY2UgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjYyN2I0MmU2NGRjNzM1NjdiZDU0YzNmNTY3ZDZmNzFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgYXV0byBleHBvc3VyZSBzdGF0dXMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9TVEFUVVNfQVVUT19FWFBPU1VSRV9OT05FPFwvZW0+IHwgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fRVhQT1NVUkVfVU5TVEFCTEU8XC9lbT4gfCBVbnN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gZXhwb3N1cmUgfFxufCA8ZW0+Q0FNRVJBX1NUQVRVU19BVVRPX0VYUE9TVVJFX1NUQUJMRTxcL2VtPiB8IFN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gZXhwb3N1cmUgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzU3OGZiNGQ1MjI4MjkwMDljZTU2MWFiN2M0NGY3MmNcIj5jYW1lcmFfc3RhdHVzX2F1dG9fd2hpdGVfYmFsYW5jZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIHdoaXRlIGJhbGFuY2Ugc3RhdHVzLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fV0hJVEVfQkFMQU5DRV9OT05FPFwvZW0+IHwgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fV0hJVEVfQkFMQU5DRV9VTlNUQUJMRTxcL2VtPiB8IFVuc3RhYmxlIHN0YXR1cyBmb3IgYXV0byB3aGl0ZSBiYWxhbmNlIHxcbnwgPGVtPkNBTUVSQV9TVEFUVVNfQVVUT19XSElURV9CQUxBTkNFX1NUQUJMRTxcL2VtPiB8IFN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gd2hpdGUgYmFsYW5jZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3NTQxNGZkNDgzYmNmZDYwYzU2N2FiMTQ1OGFiNmQ0MVwiPmNhbWVyYV93aGl0ZV9iYWxhbmNlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9XSElURV9CQUxBTkNFX0FVVE88XC9lbT4gfCBBdXRvbWF0aWMgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfREFZTElHSFQ8XC9lbT4gfCBEYXlsaWdodCB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9DTE9VRFk8XC9lbT4gfCBDbG91ZHkgfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfRkxVT1JFU0NFTlQ8XC9lbT4gfCBGbHVvcmVzY2VudCB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9JTkNBTkRFU0NFTlQ8XC9lbT4gfCBJbmNhbmRlc2NlbnQgfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfU0hBREU8XC9lbT4gfCBTaGFkZSB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9IT1JJWk9OPFwvZW0+IHwgSG9yaXpvbiB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9GTEFTSDxcL2VtPiB8IEZsYXNoIHw8XC9wPlxuPGhyIFwvPlxuPHA+RXhjZXB0IGFzIG5vdGVkLCB0aGlzIGNvbnRlbnQgLSBleGNsdWRpbmcgdGhlIENvZGUgRXhhbXBsZXMgLSBpcyBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cDpcL1wvY3JlYXRpdmVjb21tb25zLm9yZ1wvbGljZW5zZXNcL2J5XC8zLjBcL2xlZ2FsY29kZVwiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wPFwvYT5cbmFuZCBhbGwgb2YgdGhlIENvZGUgRXhhbXBsZXMgY29udGFpbmVkIGhlcmVpbiBhcmUgbGljZW5zZWQgdW5kZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9ic2QtMy1jbGF1c2UtbGljZW5zZVwiPkJTRC0zLUNsYXVzZTxcL2E+LjxiciBcLz5cbkZvciBkZXRhaWxzLCBzZWUgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnRpemVuLm9yZ1wvY29udGVudC1saWNlbnNlXCI+Q29udGVudCBMaWNlbnNlPFwvYT4uPFwvcD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIj5SZXF1aXJlZCBIZWFkZXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiPk92ZXJ2aWV3PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtc3RhdGUtZGlhZ3JhbVwiPlN0YXRlIERpYWdyYW08XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiPlN0YXRlIFRyYW5zaXRpb25zPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTJcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0zXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNFwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTVcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi02XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tN1wiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLThcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi05XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTBcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEyXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTNcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xNFwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE1XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTZcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xN1wiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE4XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCI+RGVmaW5lIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIj5UeXBlZGVmIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IlRpemVuIEhBTCBBUEk6IENhbWVyYSIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6IjM0UWNsQUVpWFFMd1RCYnd0QldtIiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvcGxhdGZvcm1cL2hhbFwvYXBpXC8xLjAuMFwvZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRSIsIm1ldGhvZCI6IkdFVCIsInJlbGVhc2UiOiJhLWEtYSJ9LCJjaGVja3N1bSI6IjNiZmMwZjcxNTBiODY3NjcxNDA5OTI3YTVjOTYxNjMyZmI5ZGIwNmZhZjBiYmFlYzc2NDg4Y2EzOTRiZGZlMzkifQ==')" >
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-state-diagram\">State Diagram<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-state-transitions\">State Transitions<\/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-field-documentation-2\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-3\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-4\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-5\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-6\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-7\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-8\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-9\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-10\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-11\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-12\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-13\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-14\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-15\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-16\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-17\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-18\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-define-documentation\">Define 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: Camera","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"k86AaPKxyYJ6TpHpSFJR","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__CAMERA__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"1e1544ab29c1882e587782993e214dcac4f45c5e5feb5577f8418bd560c38e7b"}" wire:effects="[]" wire:id="k86AaPKxyYJ6TpHpSFJR" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1jYW1lcmFcIj48YSBocmVmPVwiI2NvbnRlbnQtdGl6ZW4taGFsLWFwaS1jYW1lcmFcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlRpemVuIEhBTCBBUEk6IENhbWVyYTxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWRcIj5DYW1lcmE8XC9hPiBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIGNhbWVyYSBkZXZpY2VzLjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlcXVpcmVkIEhlYWRlcjxcL2gyPlxuPHA+I2luY2x1ZGUgJmx0O2hhbC1jYW1lcmEuaCZndDs8XC9wPlxuPGgyIGlkPVwiY29udGVudC1vdmVydmlld1wiPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+T3ZlcnZpZXc8XC9oMj5cbjxwPlRoZSBjYW1lcmEgZGV2aWNlcyBoYXZlIHZhcmlvdXMgc3BlY2lmaWNhdGlvbnMsIHNvIGl0J3MgaGFyZCB0byBjb250cm9sIHRoZW0gdXNpbmcgc2luZ2xlIGNvZGUuIFRoZSBjYW1lcmEgSEFMIHByb3ZpZGVzIGNvbW1vbiBhYnN0cmFjdGlvbiBpbnRlcmZhY2VzIHRvIGNvbnRyb2wgY2FtZXJhIGRldmljZXMgd2hpY2ggYXJlIGRpZmZlcmVudC48XC9wPlxuPHA+VGhlIENhbWVyYSBIQUwgYWxsb3dzIGNyZWF0aW9uIG9mIGNvbXBvbmVudHMgcmVxdWlyZWQgaW4gdGFraW5nIHBpY3R1cmVzIGluY2x1ZGluZzo8XC9wPlxuPHVsPlxuPGxpPmdldHRpbmcgY2FtZXJhIGRldmljZSBjYXBhYmlsaXRpZXMuKGZvcm1hdCwgcmVzb2x1dGlvbiBhbmQgZnBzKTxcL2xpPlxuPGxpPnNlbGVjdGluZyBwcm9wZXIgcGFyYW1ldGVycyBvZiBwaWN0dXJlLihleHBvc3VyZSwgaXNvLCB6b29tLCBlZmZlY3QsIGZvcm1hdCBhbmQgc28gb24pPFwvbGk+XG48bGk+b3BlcmF0aW5nIGZvY3VzKGF1dG8gb3IgbWFudWFsKTxcL2xpPlxuPFwvdWw+XG48aDMgaWQ9XCJjb250ZW50LXN0YXRlLWRpYWdyYW1cIj48YSBocmVmPVwiI2NvbnRlbnQtc3RhdGUtZGlhZ3JhbVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+U3RhdGUgRGlhZ3JhbTxcL2gzPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvaGFsX2NhbWVyYV9zdGF0ZV9kaWFncmFtLnBuZ1wiIGFsdD1cImhhbF9jYW1lcmFfc3RhdGVfZGlhZ3JhbS5wbmdcIiBcLz48XC9wPlxuPGgzIGlkPVwiY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiPjxhIGhyZWY9XCIjY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+U3RhdGUgVHJhbnNpdGlvbnM8XC9oMz5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxzdHJvbmc+RlVOQ1RJT048XC9zdHJvbmc+PFwvdGg+XG48dGg+PHN0cm9uZz5QUkUtU1RBVEU8XC9zdHJvbmc+PFwvdGg+XG48dGg+PHN0cm9uZz5QT1NULVNUQVRFPFwvc3Ryb25nPjxcL3RoPlxuPHRoPjxzdHJvbmc+U1lOQyBUWVBFPFwvc3Ryb25nPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX2luaXQoKTxcL3RkPlxuPHRkPk5cL0E8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfZGVpbml0KCk8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPk5cL0E8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX29wZW5fZGV2aWNlKCk8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPk9QRU5FRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfY2xvc2VfZGV2aWNlKCk8XC90ZD5cbjx0ZD5PUEVORUQ8XC90ZD5cbjx0ZD5JTklUSUFMSVpFRDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RhcnRfcHJldmlldygpPFwvdGQ+XG48dGQ+T1BFTkVEPFwvdGQ+XG48dGQ+UFJFVklFV0lORzxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9wcmV2aWV3KCk8XC90ZD5cbjx0ZD5QUkVWSUVXSU5HPFwvdGQ+XG48dGQ+T1BFTkVEPFwvdGQ+XG48dGQ+U1lOQzxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aGFsX2NhbWVyYV9zdGFydF9jYXB0dXJlKCk8XC90ZD5cbjx0ZD5QUkVWSUVXSU5HPFwvdGQ+XG48dGQ+Q0FQVFVSSU5HPFwvdGQ+XG48dGQ+U1lOQzxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aGFsX2NhbWVyYV9zdG9wX2NhcHR1cmUoKTxcL3RkPlxuPHRkPkNBUFRVUklORzxcL3RkPlxuPHRkPlBSRVZJRVdJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX3N0YXJ0X3JlY29yZCgpPFwvdGQ+XG48dGQ+UFJFVklFV0lORzxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9yZWNvcmQoKTxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlBSRVZJRVdJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5oYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKTxcL3RkPlxuPHRkPlJFQ09SRElORzxcL3RkPlxuPHRkPlJFQ09SRElOR19TTkFQU0hPVDxcL3RkPlxuPHRkPlNZTkM8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmhhbF9jYW1lcmFfc3RvcF9jYXB0dXJlKCk8XC90ZD5cbjx0ZD5SRUNPUkRJTkdfU05BUFNIT1Q8XC90ZD5cbjx0ZD5SRUNPUkRJTkc8XC90ZD5cbjx0ZD5TWU5DPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIENhbWVyYSBmZWF0dXJlcyBhbmQgdGhlIG1hY3Jvcywgc2VlIEhBTCBDYW1lcmEgcHJvZ3JhbW1pbmcgZ3VpZGVzIGFuZCB0dXRvcmlhbHMuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlR5cGVkZWZzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWYwYjQzMzQyYjIzNzNhN2QwZDNmYmZlNGNlNzdhODBjXCI+Y2FtZXJhX2Vycm9yPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiZWZlNzQ0NGQ3ZjcyOTM5NjY0YzQwZGMyY2YyYTM3XCI+Y2FtZXJhX2Vycm9yX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZXJyb3IuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExMGNkMmExNzUxYjlmYWRlZTU2ZWUwMzcxYmJjMTU3YlwiPmNhbWVyYV9zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExZmMzYWU3MzJkOGQwZjIzOThkYTI3ZDM1MTU4NjA5ZFwiPmNhbWVyYV9zdGF0ZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHN0YXRlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYTQ1YTlhMTEyMjA0NDUyNjdkOGM5NzNmNTc3NTE4NGFcIj5jYW1lcmFfbmV0d29ya19zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYjJlZjgwNjgxOTBjOWIxOGE4YWM5OWUzZTVhM2IyY1wiPmNhbWVyYV9uZXR3b3JrX3N0YXRlX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgbmV0d29yayBzdGF0ZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvblwiPmNhbWVyYV9yZXNvbHV0aW9uPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2ZyYWN0aW9uXCI+Y2FtZXJhX2ZyYWN0aW9uPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVjdGFuZ2xlXCI+Y2FtZXJhX3JlY3RhbmdsZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlY3RhbmdsZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBwaXhlbCBmb3JtYXQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1M2I5YmM5OGJiZTM5YTBiMDkyN2EyZGU2MGViMDA0MlwiPmNhbWVyYV9mb2N1c19zdGF0ZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgc3RhdGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmQ1NWQ0MjAyNWUzZWU2MDVlMGM3ZDRjOTA0ZTgxYTZcIj5jYW1lcmFfZmFjaW5nX2RpcmVjdGlvbl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2Y0YzVmNWQ3YTRiYTcyYWZlNzhiNGU3MzI1MGNhZGJcIj5jYW1lcmFfcm90YXRpb248XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSByb3RhdGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgZW51bSAgIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjYyN2I0MmU2NGRjNzM1NjdiZDU0YzNmNTY3ZDZmNzFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmU8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGF1dG8gZXhwb3N1cmUgc3RhdHVzLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNTc4ZmI0ZDUyMjgyOTAwOWNlNTYxYWI3YzQ0ZjcyY1wiPmNhbWVyYV9zdGF0dXNfYXV0b193aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGF1dG8gd2hpdGUgYmFsYW5jZSBzdGF0dXMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyY2Y0YTc4ODBhYzk1ZjY1YTY5ODA5MGE3NWRkOWU1NVwiPmNhbWVyYV9mbGlwPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBmbGlwLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19wbGFuZVwiPmNhbWVyYV9wbGFuZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIHBsYW5lLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19idWZmZXJcIj5jYW1lcmFfYnVmZmVyPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGJ1ZmZlci48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWV0YWRhdGFcIj5jYW1lcmFfbWV0YWRhdGE8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXRhZGF0YS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZm9ybWF0XCI+Y2FtZXJhX2Zvcm1hdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBmb3JtYXQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkYmZlZjMwNDM1MDllZDg3NTdlODk0Njk2ODdhNGZjY1wiPmNhbWVyYV9mb2N1c19tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZvY3VzIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExOWUyMDE5NGY2YzUwNjc5MTcxZDg5ZTJkYTQ2YWM2N1wiPmNhbWVyYV9mb2N1c19yYW5nZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjlmNDBmYmZhMTlhMmU1OTAyNTRiM2NhNWJhYjVjMVwiPmNhbWVyYV9mb2N1c19yYW5nZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgcmFuZ2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3NTQxNGZkNDgzYmNmZDYwYzU2N2FiMTQ1OGFiNmQ0MVwiPmNhbWVyYV93aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY2ZTkxMjY3ODlhMDkxOWFhMWEzYzlkMzEzODBhNmIzXCI+Y2FtZXJhX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmNkOTdhODUzODZmMjJjMGQ0YzY3YTRiMDliNWI5N1wiPmNhbWVyYV9lZmZlY3Q8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBlZmZlY3QuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzZjAyNTMxMmVmMGNkNGViMWUwMWIwZDk0N2Q4ZWEzMVwiPmNhbWVyYV9zY2VuZV9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNjZW5lIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YjViYjJjOTMzYjg4NGEwMDU1MjkwMDdjMjkwMGU0MFwiPmNhbWVyYV9leHBvc3VyZV9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI0Mzg2NWFiZmMxYzEzOGVkMWZiNjE5N2VlOTQyMWRmXCI+Y2FtZXJhX2V4cG9zdXJlX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E4ZjMzZTUwNzdmODA0MTM0NDIxMmQxZDNjNWJlNTY1OFwiPmNhbWVyYV9zaG90X21vZGU8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWJjMDRjMmI4Yjg3NWNiODI3Yjg3NjRmZDdkNjM3MjVcIj5jYW1lcmFfc2hvdF9tb2RlX2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+RW51bWVyYXRpb24gZm9yIHRoZSBzaG90IG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlNDVkNmViZThjYTc0YWI5N2I3NjBjNDgyYmUyY2UwY1wiPmNhbWVyYV9mbGFzaF9tb2RlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNjZjFlNTAxODhmOTExODVkMWQ0M2E5YWZlMTYzNjI2XCI+Y2FtZXJhX2ZsYXNoX21vZGVfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZsYXNoIG1vZGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlOTgxYjMwNjkxNjg0ZTUyODBhNmQ1N2FiYzIzZmE4NFwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbjxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjMjU0Mzg2NjQ4NTAyMDYzMTQ2YTIyMWQ0YTJhNjhjZlwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbl9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjZSBkZXRlY3Rpb24uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjZhMTYyMjg0NTU2NDM3MGYwZDM2MGU2M2FkN2NlNVwiPmNhbWVyYV9wdHpfdHlwZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiOGE5NzI4MzUyMjI1YjA4MDQxNTk3MDk5YmFjMTM1MlwiPmNhbWVyYV9wdHpfdHlwZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgUFRaKFBhbiBUaWx0IFpvb20pIHR5cGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2MmY4OTkxMjNjZmI3NTljNDM5YTdiYmExMTc5M2RmNFwiPmNhbWVyYV9jb21tYW5kPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVhNWUyY2ZlZjlhNzc5MTQ2ZTczMGQwNWZjNDQ5MGQ5XCI+Y2FtZXJhX2NvbW1hbmRfZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2JhdGNoX19jb21tYW5kX19jb250cm9sXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzNiNmE3Yzk0ZmQxMGFiMmZhODlmYjkxOTE3NGE3YlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2xfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgYmF0Y2ggY29tbWFuZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19waXhlbF9fZm9ybWF0X19saXN0XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjYmNjMjMwM2U4ODM5MTliY2VjOGI3M2NkODQxOWNiXCI+Y2FtZXJhX2Zvcm1hdF9saXN0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmb3JtYXQgbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19yZXNvbHV0aW9uX19saXN0XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdDxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiYmI3NTBlMTcwZDFjOTQwZjk4MjhlZDRiMmFhOTNkNVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24gbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZnBzX19saXN0XCI+Y2FtZXJhX2Zwc19saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcHMgbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZGV2aWNlX19pbmZvXCI+Y2FtZXJhX2RldmljZV9pbmZvPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTRhNjcyOGQwOThmYjFkNDZkOWU3ZWNlZjM1NDA3MmJmXCI+Y2FtZXJhX2RldmljZV9pbmZvX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9faW5mb19fbGlzdFwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjODhkNmFlNjU3MGU4MGM0Y2E1ODcxOThjZWNlMWZlXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgaW5mb3JtYXRpb24gbGlzdC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX3Jlc29sdXRpb25cIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNDIwZDRhY2FjNDM3OTQ5M2I1MWNlN2E4ZDk3NTY5Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkgcmVzb2x1dGlvbi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX2Zvcm1hdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjg5MDE1MzA1NWRlYzJmN2NhOTFhOTIwODQ5NjRiMDBcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0X3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkgZm9ybWF0LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3ZWYwNjY3NzYxMDQwNmE0MDBkZDFlZDQ2ODVjNDY2N1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9zPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBzdHJ1Y3QgICA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fbGlzdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0PFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWQ5NTE3OWJkNjk2NWQ5M2ZlMDZjNzRlNzUxZGU3YjI5XCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2xpc3RfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzM1ODljZWE2NWQ3MjE2M2Y1OWJhMjcxZTNlMzUyMzNcIj5jYW1lcmFfbWVzc2FnZV90eXBlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIG1lc3NhZ2UgdHlwZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWVzc2FnZVwiPmNhbWVyYV9tZXNzYWdlPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUzNDY1M2ZlMzM1Yzg5NzU1NzdlM2YwY2I3NThjMGU5XCI+Y2FtZXJhX21lc3NhZ2VfczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXNzYWdlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzI3ZDUxNTBiMTgwZjU0OWNhMWRmMDU0NTFiYjhjNmJcIj5oYWxfY2FtZXJhX21lc3NhZ2VfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTM0NjUzZmUzMzVjODk3NTU3N2UzZjBjYjc1OGMwZTlcIj5jYW1lcmFfbWVzc2FnZV9zPFwvYT4gKm1lc3NhZ2UsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBub3RpZmljYXRpb24gZnJvbSBjYW1lcmEgSEFMLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWVlODJiOWFiY2ExNDZmODZkNmUwY2U1ZTA3YjcyM2NcIj5oYWxfY2FtZXJhX2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgaW50IHN0cmVhbV9pZCwgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGV4dHJhIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWM0MWJkMGFjMDNiMzUwMmU2Y2Y4YWZjNGU3Y2Q5YTdcIj5oYWxfY2FtZXJhX3ZpZGVvX2ZyYW1lX2NiPFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT4gKmJ1ZmZlciwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiY2E0Y2Y1ZGEzMWQxZjQxOTk4OGFlYjQzYzliMTkyN1wiPmNhbWVyYV9tZXRhZGF0YV9zPFwvYT4gKm1ldGEsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBjYXB0dXJlZCB2aWRlbyBidWZmZXIgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dHlwZWRlZiBpbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWMwMmM1NmI3Yzk3NTI5MTQ0OTViYjE2Nzk0NGFmZDJcIj5oYWxfY2FtZXJhX2NhcHR1cmVfY2I8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqbWFpbiwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpwb3N0dmlldywgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICp0aHVtYm5haWwsIHZvaWQgKnVzZXJfZGF0YSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBjYXB0dXJlZCBzdGlsbCBpbWFnZSBmcm9tIGNhbWVyYSBkZXZpY2UuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD50eXBlZGVmIHN0cnVjdCAgIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdF9faGFsX19iYWNrZW5kX19tZWRpYV9fY2FtZXJhX19mdW5jc1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMGFkMDkxN2IxMjNhYjZiMGY2Njk2OTczYTMzZGU1N2VcIj5oYWxfYmFja2VuZF9jYW1lcmFfZnVuY3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgSEFMIGZ1bmN0aW9ucy48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkRlZmluZXM8XC90ZD5cbjx0ZD48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMxODM2NTM5ZDMzMzMwNWJkNDMzYjIzMWM2MjM5NTExXCI+QlVGRkVSX1BMQU5FX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwNDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbnVtYmVyIG9mIHBsYW5lcyBpbiBidWZmZXIuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD4jZGVmaW5lPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiMmRkZGY1MDg3MTczYjE0YjY3MGQzNTZmZjMyYzhkY1wiPkRFVklDRV9DT1VOVF9NQVg8XC9hPlx1MDBhMFx1MDBhMFx1MDBhMDE2PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5UaGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlIGNvdW50LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+I2RlZmluZTxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWM2ZjFkYWUxNjAxZDBjY2IwZmQxZGYyYjUzNzRiMzhcIj5SRVNPTFVUSU9OX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMzI8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBtYXhpbXVtIG51bWJlciBvZiByZXNvbHV0aW9uIGNvdW50LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+I2RlZmluZTxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMmIxNDM4MmQyMGQzYjQ4NmQwODEyZjc5YmRhZDc5MjZcIj5GUFNfQ09VTlRfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbnVtYmVyIG9mIEZQUyBjb3VudC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFjNjRjMzIzMDRiZTg4YmE5Mzc2YjUxYzk4YzhjYWJkXCI+REVWSUNFX05BTUVfTEVOR1RIX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxcL3RkPlxuPHRkPlRoZSBtYXhpbXVtIGxlbmd0aCBvZiBkZXZpY2UgbmFtZS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPiNkZWZpbmU8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkzYmVkZDNhZTlkZDg1ODY0ZjE0NDZjMDI0ZmJmZTEyXCI+REVWSUNFX05PREVfUEFUSF9MRU5HVEhfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PFwvdGQ+XG48dGQ+VGhlIG1heGltdW0gbGVuZ3RoIG9mIGRldmljZSBub2RlIHBhdGguPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGgyIGlkPVwiY29udGVudC1kYXRhLXN0cnVjdHVyZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRhdGEtc3RydWN0dXJlLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9oMj5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcmVzb2x1dGlvbjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVzb2x1dGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NGU4ODM1NzRmNmFlMmYxMjVlN2VhZDZlYWFjMWI1XCI+d2lkdGg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzA4ZDg2MmY5ODRmYWU3NzBlMTcwZjRmMDM1Nzk0MjFcIj5oZWlnaHQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzA4ZDg2MmY5ODRmYWU3NzBlMTcwZjRmMDM1Nzk0MjFcIj5jYW1lcmFfcmVzb2x1dGlvbjo6aGVpZ2h0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaGVpZ2h0IG9mIHJlc29sdXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NGU4ODM1NzRmNmFlMmYxMjVlN2VhZDZlYWFjMWI1XCI+Y2FtZXJhX3Jlc29sdXRpb246OndpZHRoPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgd2lkdGggb2YgcmVzb2x1dGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2ZyYWN0aW9uPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkN2UyNzc5ZTIzYWEwY2Y3N2JlMjJlMDRjYTBhNjBkOFwiPm51bWVyYXRvcjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTMxNDUzM2RiZWVjMjU5YTQwYWE2ZTQ2NDk2NTA4OGFcIj5kZW5vbWluYXRvcjxcL2E+PFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTFcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWEzMTQ1MzNkYmVlYzI1OWE0MGFhNmU0NjQ5NjUwODhhXCI+Y2FtZXJhX2ZyYWN0aW9uOjpkZW5vbWluYXRvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRlbm9taW5hdG9yIG9mIGZyYWN0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDdlMjc3OWUyM2FhMGNmNzdiZTIyZTA0Y2EwYTYwZDhcIj5jYW1lcmFfZnJhY3Rpb246Om51bWVyYXRvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG51bWVyYXRvciBvZiBmcmFjdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX3JlY3RhbmdsZTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVjdGFuZ2xlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTczMjhkZWQyNTEyZDk0NzhkM2IyNzRjMzgzYTNjNzkzXCI+eDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMWJmNDkwMzZlYzRkMDllMzU1MGFjOThhM2UyMDMzOThcIj55PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM4MTlhZWMxZGU0ZDQ3MTA1NjAyMWI3N2RiNmRmY2RmXCI+d2lkdGg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTk0NDU5NDEwN2E2ZDEwNzA5NWY3YTllMjdmZTI2MGFcIj5oZWlnaHQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0yXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMlwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5NDQ1OTQxMDdhNmQxMDcwOTVmN2E5ZTI3ZmUyNjBhXCI+Y2FtZXJhX3JlY3RhbmdsZTo6aGVpZ2h0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaGVpZ2h0IG9mIHJlY3RhbmdsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzgxOWFlYzFkZTRkNDcxMDU2MDIxYjc3ZGI2ZGZjZGZcIj5jYW1lcmFfcmVjdGFuZ2xlOjp3aWR0aDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHdpZHRoIG9mIHJlY3RhbmdsZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTczMjhkZWQyNTEyZDk0NzhkM2IyNzRjMzgzYTNjNzkzXCI+Y2FtZXJhX3JlY3RhbmdsZTo6eDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHggY29vcmRpbmF0ZSBvZiByZWN0YW5nbGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExYmY0OTAzNmVjNGQwOWUzNTUwYWM5OGEzZTIwMzM5OFwiPmNhbWVyYV9yZWN0YW5nbGU6Onk8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSB5IGNvb3JkaW5hdGUgb2YgcmVjdGFuZ2xlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcGxhbmU8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBwbGFuZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVuc2lnbmVkIGNoYXIgKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NjFiZDZiMGYxZDM0Yzk1NTQ4NDYyZWMxMDI2MTljOFwiPmRhdGE8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTNjNmIyOTEwMTViMTc3NWY5NWQ1MTVhMWI1ZTYwYjVcIj5hbGlnbl93aWR0aDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjMjM2OWJlODNmMzQ2YTgwZjIyOTFlMzIyZDRmOWQwM1wiPmFsaWduX2hlaWdodDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMWUzYjU0YWQ0NDdmNjVmMmM2ZTY5ZGFkYTczZGM1OVwiPnNpemU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjdiMzkyYWMwYjIxYTE3MjcwYTMyNmRkZDA2NzFlMWFcIj5ieXRlc3VzZWQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0zXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tM1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyMzY5YmU4M2YzNDZhODBmMjI5MWUzMjJkNGY5ZDAzXCI+Y2FtZXJhX3BsYW5lOjphbGlnbl9oZWlnaHQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBhbGlnbmVkIGhlaWdodCBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTNjNmIyOTEwMTViMTc3NWY5NWQ1MTVhMWI1ZTYwYjVcIj5jYW1lcmFfcGxhbmU6OmFsaWduX3dpZHRoPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgYWxpZ25lZCB3aWR0aCBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjdiMzkyYWMwYjIxYTE3MjcwYTMyNmRkZDA2NzFlMWFcIj5jYW1lcmFfcGxhbmU6OmJ5dGVzdXNlZDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG51bWJlciBvZiBieXRlcyBvY2N1cGllZCBieSBkYXRhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVuc2lnbmVkIGNoYXIqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NjFiZDZiMGYxZDM0Yzk1NTQ4NDYyZWMxMDI2MTljOFwiPmNhbWVyYV9wbGFuZTo6ZGF0YTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRhdGEgcG9pbnRlciBvZiBwbGFuZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzFlM2I1NGFkNDQ3ZjY1ZjJjNmU2OWRhZGE3M2RjNTlcIj5jYW1lcmFfcGxhbmU6OnNpemU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzaXplIG9mIHBsYW5lPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfYnVmZmVyPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM5NTQ1Y2NhOWE5MmM3MDY2ZDQ3NzhkODAyOWFiMGRjXCI+aW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTU1Nzk5OWUxMzM0MmIwY2E3MGVlMjFmMjhkNWRkNjM2XCI+Zm9ybWF0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDBlOTQ3MjdhY2VhYWQ5MjlhYzlkZGRjYjFmZmNjMzZcIj5yZXNvbHV0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTkxM2MwODgxZDIxOGI2MTE4ZmQwNWE5OTY4N2EwNTdjXCI+dG90YWxfc2l6ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExOTU0Y2JhNTBiZTI0ZTMyYzkzZTUwNmY5ZjQ3MjZiZlwiPm51bV9wbGFuZXM8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODgwZDQ4MDk4MjVhMjJmYTA3Y2FiNTI4MGJiYjNmYmVcIj5wbGFuZXM8XC9hPiBbNF08XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQwNDUwY2RkYzI3MzQ4YjUxY2I2ZTkzZWExMDQ1MDg0XCI+bnVtX2JvczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD52b2lkICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZWFiM2I5ZjkxMmEyYzU0Nzg3YTNhZTUzZTZlMDZmMGNcIj5ib3M8XC9hPiBbNF08XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTRcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnZvaWQqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlYWIzYjlmOTEyYTJjNTQ3ODdhM2FlNTNlNmUwNmYwY1wiPmNhbWVyYV9idWZmZXI6OmJvczxcL2E+WzRdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGJvKGJ1ZmZlciBvYmplY3QgZm9yIFRCTSkgYXJyYXk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NTc5OTllMTMzNDJiMGNhNzBlZTIxZjI4ZDVkZDYzNlwiPmNhbWVyYV9idWZmZXI6OmZvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBvZiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzOTU0NWNjYTlhOTJjNzA2NmQ0Nzc4ZDgwMjlhYjBkY1wiPmNhbWVyYV9idWZmZXI6OmluZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaW5kZXggb2YgYnVmZmVyPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMDQ1MGNkZGMyNzM0OGI1MWNiNmU5M2VhMTA0NTA4NFwiPmNhbWVyYV9idWZmZXI6Om51bV9ib3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBudW1iZXIgb2YgYm8oYnVmZmVyIG9iamVjdCBmb3IgVEJNKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTk1NGNiYTUwYmUyNGUzMmM5M2U1MDZmOWY0NzI2YmZcIj5jYW1lcmFfYnVmZmVyOjpudW1fcGxhbmVzPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbnVtYmVyIG9mIHBsYW5lcyBpbiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzOGZiNzQ2NzBjMjkwZWVhZDA3OTg2ZDBiNzU0MjBiOFwiPmNhbWVyYV9wbGFuZV9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTg4MGQ0ODA5ODI1YTIyZmEwN2NhYjUyODBiYmIzZmJlXCI+Y2FtZXJhX2J1ZmZlcjo6cGxhbmVzPFwvYT5bNF08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcGxhbmVzIG9mIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMGU5NDcyN2FjZWFhZDkyOWFjOWRkZGNiMWZmY2MzNlwiPmNhbWVyYV9idWZmZXI6OnJlc29sdXRpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSByZXNvbHV0aW9uIG9mIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOTEzYzA4ODFkMjE4YjYxMThmZDA1YTk5Njg3YTA1N2NcIj5jYW1lcmFfYnVmZmVyOjp0b3RhbF9zaXplPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgdG90YWwgc2l6ZSBvZiBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9tZXRhZGF0YTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1ldGFkYXRhLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM1N2QyODA1NjlkZjYzNmExZTU5YTZjNTk3OGU5NWRkXCI+aXNfZmxhc2hlZDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzOTE2NjM2Yjg2ZTU3ZTg0ZjdkN2IxOTM2MmIwYmYyYVwiPmZvY2FsX2xlbmd0aDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NzAxZjdkNjdkNDliNmM4Yjg1MWFlODhmMDgzOTgwM1wiPmFwZXJ0dXJlX2ZfbnVtYmVyPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWY4N2RkYzE2ZGU4MWM1YzFjMzI4OGE0ZTNjYmE2NjUwXCI+c2h1dHRlcl9zcGVlZDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMzgwMDU2N2VmMmYzYWQ4ZjRjOGYzZGE4ZDc5NTYzMFwiPmV4cG9zdXJlX3RpbWU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMDJhNWNlYmEyZDE2ZDJhYmUyYTY4NWM4NjkxYTNiMzVcIj5icmlnaHRuZXNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNmExMzAxMjJkMmMxNjAwNjY4ZWMwYzU3ZmIyYmM0ZWZcIj5leGlmX2ltYWdlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1MzJiN2M0MGNlMmJlM2RmNWI5M2FlYTVjMGM5N2JlNVwiPmlzbzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYWM0ZDI3YzhhMjBmOGE0NjEwZmRjZjQ2ZDk0MDk2ZDJcIj5tZXRlcmluZ19tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkNjA3ODk4MDk1MjY5YWM1NjdjNjc4ODdmNmZhMGI4YlwiPmNvbG9yX3NwYWNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YzIxMmVlODEwZDliYTQ5ZDk4ZDdiM2M3YTczOTc0NFwiPmNvbXBvbmVudF9jb25maWd1cmF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkOTljMTBjNWUwNzk2NzBlYTFjM2MwZWMyNGMyYmFjZlwiPmFwZXJ0dXJlX2luX2FwZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTYwZTIwYzMwYWNiOTUzNzBmOTJiNTRiMzA4N2I0NTI4XCI+aXNfZGVsdGFfZnJhbWU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzI4NTMwOWYzNGVlNWQyYjhkN2YyYzJkOThlZTkzYzBcIj5mb2N1c19zdGF0ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgwYjY0N2I3YjZiOTA3ODMxZjE3YmEwY2FkYTlkODMwXCI+ZmFjaW5nX2RpcmVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFhNGI1YTNkZDk3Mjg0Mzg4MzI0NWNjMDYwMWZmZDE0XCI+ZmxpcDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExNmVkNGQ4ODk1M2UyODlkMDRjOGEzMjBhYjI5MWExMFwiPnJvdGF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQyOWQ0NTBhZGZhODU0ZmFjNzM5MmVkYjA0YzZmMTliXCI+c3RhdHVzX2FlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWUxMGEzNzkyMWE1MTNmNWEzNTQ2MGQ4MjZkYWRiYWFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTJjNmViZmQ4MTJlYTI5NzVhOGMxOTg4ZTc1ZTZiODBcIj5zdGF0dXNfYXdiPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTVcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1NzAxZjdkNjdkNDliNmM4Yjg1MWFlODhmMDgzOTgwM1wiPmNhbWVyYV9tZXRhZGF0YTo6YXBlcnR1cmVfZl9udW1iZXI8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBGLW51bWJlciBmb3IgYXBlcnR1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkOTljMTBjNWUwNzk2NzBlYTFjM2MwZWMyNGMyYmFjZlwiPmNhbWVyYV9tZXRhZGF0YTo6YXBlcnR1cmVfaW5fYXBleDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEFQRVggZm9yIGFwZXJ0dXJlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMmE1Y2ViYTJkMTZkMmFiZTJhNjg1Yzg2OTFhM2IzNVwiPmNhbWVyYV9tZXRhZGF0YTo6YnJpZ2h0bmVzczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGJyaWdodG5lc3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkNjA3ODk4MDk1MjY5YWM1NjdjNjc4ODdmNmZhMGI4YlwiPmNhbWVyYV9tZXRhZGF0YTo6Y29sb3Jfc3BhY2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjb2xvciBzcGFjZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTRjMjEyZWU4MTBkOWJhNDlkOThkN2IzYzdhNzM5NzQ0XCI+Y2FtZXJhX21ldGFkYXRhOjpjb21wb25lbnRfY29uZmlndXJhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvbXBvbmVudCBjb25maWd1cmF0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZhMTMwMTIyZDJjMTYwMDY2OGVjMGM1N2ZiMmJjNGVmXCI+Y2FtZXJhX21ldGFkYXRhOjpleGlmX2ltYWdlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcmVzb2x1dGlvbiBvZiBFWElGIGltYWdlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwMzgwMDU2N2VmMmYzYWQ4ZjRjOGYzZGE4ZDc5NTYzMFwiPmNhbWVyYV9tZXRhZGF0YTo6ZXhwb3N1cmVfdGltZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGV4cG9zdXJlIHRpbWU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiZDU1ZDQyMDI1ZTNlZTYwNWUwYzdkNGM5MDRlODFhNlwiPmNhbWVyYV9mYWNpbmdfZGlyZWN0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODBiNjQ3YjdiNmI5MDc4MzFmMTdiYTBjYWRhOWQ4MzBcIj5jYW1lcmFfbWV0YWRhdGE6OmZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmYWNlIGRpcmVjdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhYTRiNWEzZGQ5NzI4NDM4ODMyNDVjYzA2MDFmZmQxNFwiPmNhbWVyYV9tZXRhZGF0YTo6ZmxpcDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZsaXA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTM5MTY2MzZiODZlNTdlODRmN2Q3YjE5MzYyYjBiZjJhXCI+Y2FtZXJhX21ldGFkYXRhOjpmb2NhbF9sZW5ndGg8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmb2NhbCBsZW5ndGg8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5ZjUwMmQxODE4NDEyNDJkNTc0MGE2ZDhiYTdkNDQ4MlwiPmNhbWVyYV9mb2N1c19zdGF0ZV9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyODUzMDlmMzRlZTVkMmI4ZDdmMmMyZDk4ZWU5M2MwXCI+Y2FtZXJhX21ldGFkYXRhOjpmb2N1c19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvY3VzIHN0YXRlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBlMjBjMzBhY2I5NTM3MGY5MmI1NGIzMDg3YjQ1MjhcIj5jYW1lcmFfbWV0YWRhdGE6OmlzX2RlbHRhX2ZyYW1lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBpdCdzIGRlbHRhIGZyYW1lIG9yIG5vdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM1N2QyODA1NjlkZjYzNmExZTU5YTZjNTk3OGU5NWRkXCI+Y2FtZXJhX21ldGFkYXRhOjppc19mbGFzaGVkPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBpdCdzIGZsYXNoZWQgb3Igbm90PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTMyYjdjNDBjZTJiZTNkZjViOTNhZWE1YzBjOTdiZTVcIj5jYW1lcmFfbWV0YWRhdGE6OmlzbzxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIElTTzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFjNGQyN2M4YTIwZjhhNDYxMGZkY2Y0NmQ5NDA5NmQyXCI+Y2FtZXJhX21ldGFkYXRhOjptZXRlcmluZ19tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWV0ZXJpbmcgbW9kZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTZlZDRkODg5NTNlMjg5ZDA0YzhhMzIwYWIyOTFhMTBcIj5jYW1lcmFfbWV0YWRhdGE6OnJvdGF0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcm90YXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWY4N2RkYzE2ZGU4MWM1YzFjMzI4OGE0ZTNjYmE2NjUwXCI+Y2FtZXJhX21ldGFkYXRhOjpzaHV0dGVyX3NwZWVkPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc2h1dHRlciBzcGVlZDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJhZWM5ZmM0NzExOTRkMzlhZTQwMTMxZTEyN2FhOWIxXCI+Y2FtZXJhX3N0YXR1c19hdXRvX2V4cG9zdXJlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDI5ZDQ1MGFkZmE4NTRmYWM3MzkyZWRiMDRjNmYxOWJcIj5jYW1lcmFfbWV0YWRhdGE6OnN0YXR1c19hZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXR1cyBmb3IgYXV0byBleHBvc3VyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlMmM2ZWJmZDgxMmVhMjk3NWE4YzE5ODhlNzVlNmI4MFwiPmNhbWVyYV9tZXRhZGF0YTo6c3RhdHVzX2F3YjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXR1cyBmb3IgYXV0byB3aGl0ZSBiYWxhbmNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfZm9ybWF0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZm9ybWF0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNGUyYWU3ZjQ0NzgzNGRlOWE4MTZkNjY1ZjJjZmM3OFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0YzU2MDIxNjJjM2IxN2FlNDJjYmUxYmM0NTA0YTdlXCI+c3RyZWFtX2Zvcm1hdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTljZWZiYjNjNGEyMDkzYWZiOThjZTY2ZTdjZGUzNjlhXCI+c3RyZWFtX3Jlc29sdXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjBjM2ViNzgwMmRlODY0MTBiMWZhOGZlZGYxYWNjNzFcIj5zdHJlYW1fZnBzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFkMTVkZjY5MzUzOTE1MDhhYTM2YWJjOTI4NGJlNzhhXCI+c3RyZWFtX3JvdGF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjRlMmFlN2Y0NDc4MzRkZTlhODE2ZDY2NWYyY2ZjNzhcIj5jYW1lcmFfcGl4ZWxfZm9ybWF0X2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2Y2Q1ZTA0YjdlNjI1ZDgzZTBjNTUwZDA4ZmQ5ZDY0NVwiPmNhcHR1cmVfZm9ybWF0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGNhYTYxZGY5ZmI5YTMzM2EzNjk1NzVkNmYwYjU0ZThcIj5jYXB0dXJlX3Jlc29sdXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDIyMTBiMTg2OGEzNWIxMWU2Y2YxMDQyYTYxZDRlZWZcIj5jYXB0dXJlX3F1YWxpdHk8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzJhYWRlMTJmNjVjNTRkZjYyM2QwNWUwZmUyMzAxZGVcIj5zdHJlYW1fYml0cmF0ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTZcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi02XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZjZDVlMDRiN2U2MjVkODNlMGM1NTBkMDhmZDlkNjQ1XCI+Y2FtZXJhX2Zvcm1hdDo6Y2FwdHVyZV9mb3JtYXQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBmb3JtYXQgb2YgY2FwdHVyZSBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQyMjEwYjE4NjhhMzViMTFlNmNmMTA0MmE2MWQ0ZWVmXCI+Y2FtZXJhX2Zvcm1hdDo6Y2FwdHVyZV9xdWFsaXR5PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcXVhbGl0eSBvZiBjYXB0dXJlZCBpbWFnZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4Y2FhNjFkZjlmYjlhMzMzYTM2OTU3NWQ2ZjBiNTRlOFwiPmNhbWVyYV9mb3JtYXQ6OmNhcHR1cmVfcmVzb2x1dGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gb2YgY2FwdHVyZSBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMyYWFkZTEyZjY1YzU0ZGY2MjNkMDVlMGZlMjMwMWRlXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2JpdHJhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBiaXRyYXRlIG9mIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0YzU2MDIxNjJjM2IxN2FlNDJjYmUxYmM0NTA0YTdlXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2Zvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBvZiBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWYwYzNlYjc4MDJkZTg2NDEwYjFmYThmZWRmMWFjYzcxXCI+Y2FtZXJhX2Zvcm1hdDo6c3RyZWFtX2ZwczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIEZQUyBvZiBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1OTQ0ZGNlNmJkM2VmMTBlMjAwMDYxZGU1MGM0NmE3M1wiPmNhbWVyYV9yZXNvbHV0aW9uX3M8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOWNlZmJiM2M0YTIwOTNhZmI5OGNlNjZlN2NkZTM2OWFcIj5jYW1lcmFfZm9ybWF0OjpzdHJlYW1fcmVzb2x1dGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gb2Ygc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhZDE1ZGY2OTM1MzkxNTA4YWEzNmFiYzkyODRiZTc4YVwiPmNhbWVyYV9mb3JtYXQ6OnN0cmVhbV9yb3RhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJvdGF0aW9uIG9mIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiBiYXRjaCBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDY0X3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODk4YWMzZjIwNmYzNzEwMWJlZjU5OTA2YTk4NGRlOWJcIj5jb21tYW5kX3NldF9mbGFnPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjZlOTEyNjc4OWEwOTE5YWExYTNjOWQzMTM4MGE2YjNcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzZkZDM1MzM5MmRkODJlY2MwMGJiNDY3OWMyMzVjNzFcIj53aGl0ZV9iYWxhbmNlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjYjM4ZTA5ZjZiNzQxYTBmMWM2NjFhOTBiNDQ3MDAxOVwiPmlzbzxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWJmY2MyMGViODIxODA3NDExZmM5ZmY2NDJkZjc0MDVcIj5jb250cmFzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTJhM2NmNzJiMTA2Zjk3NjJiOGViYWFkMzhhZGU0ZmRcIj5zYXR1cmF0aW9uPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTQzZTg1OWU2MDc3MDBmMzhlMDgyMGRlNGRhNzc1NVwiPmh1ZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2IxNTc2NGNhM2Q1ZWZjOTY0MDJlYzE1ZjEwZjk3ZWFcIj5zaGFycG5lc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkZmI5MzMyNTIzNzQzNzBjMDFmN2JmOTRiNTI2Yjc3NVwiPmNhbWVyYV9lZmZlY3RfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgyOGYwN2ZhNmJjM2U0ZTY0MzFjYTg1NWQzMTdlN2ZiXCI+ZWZmZWN0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjQxNGU0MmNlMWE5MGFjOTQ0NjE4ODA1YmY5MTIwYzVcIj5jYW1lcmFfc2NlbmVfbW9kZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjk2NjkyNTM1MjdhM2IzNzQ4MzJhNzkwMDJiZmMzYzVcIj5zY2VuZV9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYjQzODY1YWJmYzFjMTM4ZWQxZmI2MTk3ZWU5NDIxZGZcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2IxZTVlNzIyYTZmMjg0ZDAwM2QxNWFmNDI4YWY3NmJcIj5leHBvc3VyZV9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NmYyM2U2YjQ0MTY1MGJhYjFjM2M4ZTE4NzFkY2ZjN1wiPmV4cG9zdXJlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTc2YzAwMjM4YzBmY2NlMjZlZGI5MzJjMjE2NzFkOThcIj5jYW1lcmFfcm90YXRpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTg0NmI3NTVhOTcyZmM4MWE5ZWYyMGQ0ZDg5M2ViNjcyXCI+cm90YXRpb248XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1MGY0OGFjMjU5MWRhMTlmNzMwMTE1NTZhNTA4OGJiMlwiPmNhbWVyYV9mbGlwX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5OWNiYzU4MzFjNDA2OGQ3YzdjZjVjNTQyMzVkYmNiOFwiPmZsaXA8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZmI3MWNmYzNkZjA0YTgyNDFhOWJkMTExMGE5M2IwZlwiPmNhbWVyYV9mb2N1c19tb2RlX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5YjQzOWMzNTc0MGFhYWM0ODkwODQzN2EwOGU2ZTc1ZFwiPmZvY3VzX21vZGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjlmNDBmYmZhMTlhMmU1OTAyNTRiM2NhNWJhYjVjMVwiPmNhbWVyYV9mb2N1c19yYW5nZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNjZjU4ZDI0ZWJjMDI2MTI0NWRlMTYzMjAyNjJiZTBcIj5mb2N1c19yYW5nZTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI0Mzg2NWFiZmMxYzEzOGVkMWZiNjE5N2VlOTQyMWRmXCI+Y2FtZXJhX2V4cG9zdXJlX21vZGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWIzNGYyY2QzZjVjZDg0OWE5MjU2YTlmOTY0NzI5NjAxXCI+c2hvdF9tb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNmEyODJhZjdiODI4MzRkZTgyYzEyNDkyY2Q4ZjY1OFwiPmFudGlfc2hha2U8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTZkOWQ1M2U4ZTI0ZGE3NGM4ZjBmY2Y0YTA0YjYzNDQ4XCI+Zm9jdXNfYXJlYTxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMmNmMmY4MmU0ZjIwYzZlMjI5YzljMDdiN2MxNjlkZDNcIj5kaWdpdGFsX3pvb208XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM3NGVlOGNiNWQwNjk0YzQ1MzZlY2VhYjJhOTgwOTQ4XCI+b3B0aWNhbF96b29tPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0OWQyZjU2YzUxZTBjYjQxNzc2N2ZkMzhiMjkxZTQ2NlwiPnJlY29yZGluZ19oaW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkM2Q0NzdhYmY5N2I4Mjk0YjcwYzMzZjljYTVlNTdhOFwiPndkcjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM4MzNjMDM5MzAzN2YwYWNlODhkNWNkOTAzZThlN2YzXCI+Y2FtZXJhX2ZyYWN0aW9uX3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlZGI4ZjA5M2U3Mzk4ODJiODlmNTc5NTAwMWJjMmY2MVwiPnNodXR0ZXJfc3BlZWQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjY2YxZTUwMTg4ZjkxMTg1ZDFkNDNhOWFmZTE2MzYyNlwiPmNhbWVyYV9mbGFzaF9tb2RlX2U8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMmE3Y2E5MjYzMDk3ZWM2NWExOTg4NTgwYjMyOTIyOVwiPmZsYXNoX21vZGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjMjU0Mzg2NjQ4NTAyMDYzMTQ2YTIyMWQ0YTJhNjhjZlwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbl9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWM5MDc2MDczZWZmNDQ3ZWNmMjIzMWVlYzNkYzlkOTdcIj5mYWNlX2RldGVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMDczYTA3Yjc1MjFmOGY1MGI3NzcyZDI3Mzk5M2VkMTVcIj5iaXRyYXRlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjOTg2MTQ3OTQ2NTZkZGMwZDEzNDA0YTMxYzA2ZTg5MFwiPnB0el90eXBlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4OGE1OGIxZGEzZjRhNDdhOTU2NjhlMzI4ZjY3NjVkZlwiPnBhbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNThkMmU5MGVkNDg3ODcyZTkxMmQzYzZkYzQ1ODM3NTNcIj50aWx0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDUzMzZjYjM2YTkwZTVhMTliZTA3NTQ4YTE1MjU0ZVwiPmJyaWdodG5lc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA0MmIzYjk2MmIxOWEzMzQ5YjU1OTViOGE5OTM0Nzg1XCI+Z29wX2ludGVydmFsPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiNzkzZmNlNTU1ODc0ZWZlNjA4ZWJlNjAwMDI4NTI1NVwiPmNhcHR1cmVfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkM2Y0NGIxM2I3OGJlMjM3MTgyN2Q4ODc0MDdjMzVkXCI+Y2FwdHVyZV9pbnRlcnZhbDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGNiNGYxNmNkMWJlOTFmZDZmMjdkZjlkMDRkZjQ0MDlcIj5mbGFzaF9icmlnaHRuZXNzPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FkMjM2MDJlNWM0NzM5YmVkMjkyYjk0ZjFjZGU0NWU1MVwiPmZvY3VzX2xldmVsPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tN1wiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjZhMjgyYWY3YjgyODM0ZGU4MmMxMjQ5MmNkOGY2NThcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjphbnRpX3NoYWtlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgYW50aSBzaGFrZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTA3M2EwN2I3NTIxZjhmNTBiNzc3MmQyNzM5OTNlZDE1XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6Yml0cmF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGJpdHJhdGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDUzMzZjYjM2YTkwZTVhMTliZTA3NTQ4YTE1MjU0ZVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmJyaWdodG5lc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBicmlnaHRuZXNzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjc5M2ZjZTU1NTg3NGVmZTYwOGViZTYwMDAyODUyNTVcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpjYXB0dXJlX2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgY2FwdHVyZSBjb3VudCBvZiBjb250aW51b3VzIGNhcHR1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwZDNmNDRiMTNiNzhiZTIzNzE4MjdkODg3NDA3YzM1ZFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmNhcHR1cmVfaW50ZXJ2YWw8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBjYXB0dXJlIGludGVydmFsIG9mIGNvbnRpbnVvdXMgY2FwdHVyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50NjRfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODk4YWMzZjIwNmYzNzEwMWJlZjU5OTA2YTk4NGRlOWJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpjb21tYW5kX3NldF9mbGFnPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5mbGFnIGZvciB1cGRhdGluZyBjb21tYW5kczxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTViZmNjMjBlYjgyMTgwNzQxMWZjOWZmNjQyZGY3NDA1XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6Y29udHJhc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBjb250cmFzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJjZjJmODJlNGYyMGM2ZTIyOWM5YzA3YjdjMTY5ZGQzXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6ZGlnaXRhbF96b29tPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZGlnaXRhbCB6b29tPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODI4ZjA3ZmE2YmMzZTRlNjQzMWNhODU1ZDMxN2U3ZmJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjplZmZlY3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBlZmZlY3Q8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NmYyM2U2YjQ0MTY1MGJhYjFjM2M4ZTE4NzFkY2ZjN1wiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmV4cG9zdXJlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZXhwb3N1cmU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiNDM4NjVhYmZjMWMxMzhlZDFmYjYxOTdlZTk0MjFkZlwiPmNhbWVyYV9leHBvc3VyZV9tb2RlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2IxZTVlNzIyYTZmMjg0ZDAwM2QxNWFmNDI4YWY3NmJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpleHBvc3VyZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZXhwb3N1cmUgbW9kZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMyNTQzODY2NDg1MDIwNjMxNDZhMjIxZDRhMmE2OGNmXCI+Y2FtZXJhX2ZhY2VfZGV0ZWN0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNWM5MDc2MDczZWZmNDQ3ZWNmMjIzMWVlYzNkYzlkOTdcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmYWNlX2RldGVjdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGZhY2UgZGV0ZWN0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGNiNGYxNmNkMWJlOTFmZDZmMjdkZjlkMDRkZjQ0MDlcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmbGFzaF9icmlnaHRuZXNzPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgYnJpZ2h0bmVzcyBvZiBmbGFzaDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNjZjFlNTAxODhmOTExODVkMWQ0M2E5YWZlMTYzNjI2XCI+Y2FtZXJhX2ZsYXNoX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzMmE3Y2E5MjYzMDk3ZWM2NWExOTg4NTgwYjMyOTIyOVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZsYXNoX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmbGFzaCBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTBmNDhhYzI1OTFkYTE5ZjczMDExNTU2YTUwODhiYjJcIj5jYW1lcmFfZmxpcF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk5Y2JjNTgzMWM0MDY4ZDdjN2NmNWM1NDIzNWRiY2I4XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6ZmxpcDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGZsaXA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhNjFjMzk0NGRmM2E4OGVmN2NhNTA0NGM5MGIyZDllNlwiPmNhbWVyYV9yZWN0YW5nbGVfczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2ZDlkNTNlOGUyNGRhNzRjOGYwZmNmNGEwNGI2MzQ0OFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX2FyZWE8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmb2N1cyBhcmVhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDIzNjAyZTVjNDczOWJlZDI5MmI5NGYxY2RlNDVlNTFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpmb2N1c19sZXZlbDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGxldmVsIG9mIG1hbnVhbCBmb2N1czxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5YjQzOWMzNTc0MGFhYWM0ODkwODQzN2EwOGU2ZTc1ZFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBmb2N1cyBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjY5ZjQwZmJmYTE5YTJlNTkwMjU0YjNjYTViYWI1YzFcIj5jYW1lcmFfZm9jdXNfcmFuZ2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4M2NmNThkMjRlYmMwMjYxMjQ1ZGUxNjMyMDI2MmJlMFwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmZvY3VzX3JhbmdlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgZm9jdXMgcmFuZ2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDJiM2I5NjJiMTlhMzM0OWI1NTk1YjhhOTkzNDc4NVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OmdvcF9pbnRlcnZhbDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTQzZTg1OWU2MDc3MDBmMzhlMDgyMGRlNGRhNzc1NVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6Omh1ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIGh1ZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNiMzhlMDlmNmI3NDFhMGYxYzY2MWE5MGI0NDcwMDE5XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6aXNvPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3IgSVNPPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzc0ZWU4Y2I1ZDA2OTRjNDUzNmVjZWFiMmE5ODA5NDhcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpvcHRpY2FsX3pvb208XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBvcHRpY2FsIHpvb208XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4OGE1OGIxZGEzZjRhNDdhOTU2NjhlMzI4ZjY3NjVkZlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnBhbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHBhbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM5ODYxNDc5NDY1NmRkYzBkMTM0MDRhMzFjMDZlODkwXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6cHR6X3R5cGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBQVFooUGFuIFRpbHQgWm9vbSkgdHlwZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTQ5ZDJmNTZjNTFlMGNiNDE3NzY3ZmQzOGIyOTFlNDY2XCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6cmVjb3JkaW5nX2hpbnQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciByZWNvcmRpbmcgaGludDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3NmMwMDIzOGMwZmNjZTI2ZWRiOTMyYzIxNjcxZDk4XCI+Y2FtZXJhX3JvdGF0aW9uX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODQ2Yjc1NWE5NzJmYzgxYTllZjIwZDRkODkzZWI2NzJcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpyb3RhdGlvbjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHJvdGF0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTJhM2NmNzJiMTA2Zjk3NjJiOGViYWFkMzhhZGU0ZmRcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzYXR1cmF0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD52YWx1ZSBmb3Igc2F0dXJhdGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E2OTY2OTI1MzUyN2EzYjM3NDgzMmE3OTAwMmJmYzNjNVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnNjZW5lX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzY2VuZSBtb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2IxNTc2NGNhM2Q1ZWZjOTY0MDJlYzE1ZjEwZjk3ZWFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzaGFycG5lc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzaGFycG5lc3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiNDM4NjVhYmZjMWMxMzhlZDFmYjYxOTdlZTk0MjFkZlwiPmNhbWVyYV9leHBvc3VyZV9tb2RlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjM0ZjJjZDNmNWNkODQ5YTkyNTZhOWY5NjQ3Mjk2MDFcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjpzaG90X21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBzaG90IG1vZGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjODMzYzAzOTMwMzdmMGFjZTg4ZDVjZDkwM2U4ZTdmM1wiPmNhbWVyYV9mcmFjdGlvbl9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWVkYjhmMDkzZTczOTg4MmI4OWY1Nzk1MDAxYmMyZjYxXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDo6c2h1dHRlcl9zcGVlZDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+dmFsdWUgZm9yIHNodXR0ZXIgc3BlZWQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1OGQyZTkwZWQ0ODc4NzJlOTEyZDNjNmRjNDU4Mzc1M1wiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OnRpbHQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciB0aWx0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDNkNDc3YWJmOTdiODI5NGI3MGMzM2Y5Y2E1ZTU3YThcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sOjp3ZHI8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciBXRFIoV2lkZSBEeW5hbWljIFJhbmdlKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY2ZTkxMjY3ODlhMDkxOWFhMWEzYzlkMzEzODBhNmIzXCI+Y2FtZXJhX3doaXRlX2JhbGFuY2VfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzNmRkMzUzMzkyZGQ4MmVjYzAwYmI0Njc5YzIzNWM3MVwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2w6OndoaXRlX2JhbGFuY2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPnZhbHVlIGZvciB3aGl0ZSBiYWxhbmNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcGl4ZWxfZm9ybWF0X2xpc3Q8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGZvcm1hdCBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMzJmZThkMDM5YzY4YTFlZGYwM2Q4YjE5NjYwNzI3ODVcIj5jb3VudDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYmQwNmJiOGM3MjNjYjkyZDExMWNjOTQxMjA2YmQxOGFcIj5mb3JtYXRzPFwvYT4gW0NBTUVSQV9QSVhFTF9GT1JNQVRfTUFYXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi04XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tOFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTMyZmU4ZDAzOWM2OGExZWRmMDNkOGIxOTY2MDcyNzg1XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0Ojpjb3VudDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvdW50IG9mIGZvcm1hdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWJkMDZiYjhjNzIzY2I5MmQxMTFjYzk0MTIwNmJkMThhXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9saXN0Ojpmb3JtYXRzPFwvYT5bQ0FNRVJBX1BJWEVMX0ZPUk1BVF9NQVhdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGZvcm1hdCBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfcmVzb2x1dGlvbl9saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSByZXNvbHV0aW9uIGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNWM2NmI4Y2QyNzU0YTkwYzA1NzNmNDE2Zjc0ZDA0NVwiPmNvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTk0NGRjZTZiZDNlZjEwZTIwMDA2MWRlNTBjNDZhNzNcIj5jYW1lcmFfcmVzb2x1dGlvbl9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGNhMTAzNmNhYjRlYjI5MWJmZjg4ODQ3NDgyYzBhNWZcIj5yZXNvbHV0aW9uczxcL2E+IFszMl08XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tOVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTlcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmNWM2NmI4Y2QyNzU0YTkwYzA1NzNmNDE2Zjc0ZDA0NVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q6OmNvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2YgcmVzb2x1dGlvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTU5NDRkY2U2YmQzZWYxMGUyMDAwNjFkZTUwYzQ2YTczXCI+Y2FtZXJhX3Jlc29sdXRpb25fczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0Y2ExMDM2Y2FiNGViMjkxYmZmODg4NDc0ODJjMGE1ZlwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q6OnJlc29sdXRpb25zPFwvYT5bMzJdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHJlc29sdXRpb24gbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2Zwc19saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcHMgbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkRhdGEgRmllbGRzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTRkNjNjMDFkNjEzMTYyOTM2ZmNiMTAzYzA3YWYwMmM5XCI+Y291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE4MzcxZTNhNmU5YjY4MWUwY2Q3YWE1MWQ1MWNlMTI4XCI+ZnBzPFwvYT4gWzE2XTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEwXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGQ2M2MwMWQ2MTMxNjI5MzZmY2IxMDNjMDdhZjAyYzlcIj5jYW1lcmFfZnBzX2xpc3Q6OmNvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2YgRlBTPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTgzNzFlM2E2ZTliNjgxZTBjZDdhYTUxZDUxY2UxMjhcIj5jYW1lcmFfZnBzX2xpc3Q6OmZwczxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBGUFMgbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9pbmZvPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzg4ZGQ3ZGI5OGY2NDIxMGUzZjhmNTZkYjlkNzBiZDBcIj5pbmRleDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5jaGFyPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM5YjNkNGIyY2E0MzdkOTliOWQ1ZThhNTk2ZjQyMWRhXCI+bmFtZTxcL2E+IFsxNl08XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmNoYXI8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2QxMjU1ZWI2MWE0ZDM4OWQ0MWI4NGJjNDc0YWY0MmJcIj5ub2RlX3BhdGg8XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWUyY2M3MzQwZmNlNGQ0MmQ1OWYyNWYwMGViZjdmMjY1XCI+ZmFjaW5nX2RpcmVjdGlvbjxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjYmNjMjMwM2U4ODM5MTliY2VjOGI3M2NkODQxOWNiXCI+Y2FtZXJhX2Zvcm1hdF9saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FmMzRmN2U1YTcyYTBjNjIzZjQ3ZDI5OTMyYWY5NGJjZlwiPmZvcm1hdF9saXN0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmJiNzUwZTE3MGQxYzk0MGY5ODI4ZWQ0YjJhYTkzZDVcIj5jYW1lcmFfcmVzb2x1dGlvbl9saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlY2E2YzA2ODYxZjdjMzQwOTk2OWRiNGNkMjNjYTI3NFwiPnByZXZpZXdfbGlzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYWJkM2JmZDM2NDkxN2JhMDI2NTBiNWI0MDQ1NTMwYmFcIj5jYXB0dXJlX2xpc3Q8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiYmI3NTBlMTcwZDFjOTQwZjk4MjhlZDRiMmFhOTNkNVwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3RfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThlYzFmNDU5MWQxMjE3OWM2ZWM1YzdlMTAwNWRlMDU3XCI+dmlkZW9fbGlzdDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NTFlNDJlYjMyYzE5M2JjZDAyNDFkNTRhYzlhNzgwZlwiPnByZXZpZXdfZnBzX2xpc3Q8XC9hPiBbMzJdPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0ZGIyMjM0ODhiYTA4MWYwMDAwNmZjOTczMjUxNjFkNlwiPnZpZGVvX2Zwc19saXN0PFwvYT4gWzMyXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMVwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTExXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWFiZDNiZmQzNjQ5MTdiYTAyNjUwYjViNDA0NTUzMGJhXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpjYXB0dXJlX2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgY2FwdHVyZSByZXNvbHV0aW9uIGxpc3Qgb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmQ1NWQ0MjAyNWUzZWU2MDVlMGM3ZDRjOTA0ZTgxYTZcIj5jYW1lcmFfZmFjaW5nX2RpcmVjdGlvbl9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWUyY2M3MzQwZmNlNGQ0MmQ1OWYyNWYwMGViZjdmMjY1XCI+Y2FtZXJhX2RldmljZV9pbmZvOjpmYWNpbmdfZGlyZWN0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzY2JjYzIzMDNlODgzOTE5YmNlYzhiNzNjZDg0MTljYlwiPmNhbWVyYV9mb3JtYXRfbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWYzNGY3ZTVhNzJhMGM2MjNmNDdkMjk5MzJhZjk0YmNmXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpmb3JtYXRfbGlzdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN1cHBvcnRlZCBmb3JtYXQgbGlzdCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWM4OGRkN2RiOThmNjQyMTBlM2Y4ZjU2ZGI5ZDcwYmQwXCI+Y2FtZXJhX2RldmljZV9pbmZvOjppbmRleDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGluZGV4IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjOWIzZDRiMmNhNDM3ZDk5YjlkNWU4YTU5NmY0MjFkYVwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6bmFtZTxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBuYW1lIG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5jaGFyIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzZDEyNTVlYjYxYTRkMzg5ZDQxYjg0YmM0NzRhZjQyYlwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6bm9kZV9wYXRoPFwvYT5bMTZdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG5vZGUgcGF0aCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyN2VlZDQ1OTQ3N2U2YmU0NzE5ODgzMjVhMTM0ZWE1M1wiPmNhbWVyYV9mcHNfbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk1MWU0MmViMzJjMTkzYmNkMDI0MWQ1NGFjOWE3ODBmXCI+Y2FtZXJhX2RldmljZV9pbmZvOjpwcmV2aWV3X2Zwc19saXN0PFwvYT5bMzJdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN1cHBvcnRlZCBwcmV2aWV3IEZQUyBsaXN0IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWVjYTZjMDY4NjFmN2MzNDA5OTY5ZGI0Y2QyM2NhMjc0XCI+Y2FtZXJhX2RldmljZV9pbmZvOjpwcmV2aWV3X2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgcHJldmlldyByZXNvbHV0aW9uIGxpc3Qgb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMjdlZWQ0NTk0NzdlNmJlNDcxOTg4MzI1YTEzNGVhNTNcIj5jYW1lcmFfZnBzX2xpc3RfczxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0ZGIyMjM0ODhiYTA4MWYwMDAwNmZjOTczMjUxNjFkNlwiPmNhbWVyYV9kZXZpY2VfaW5mbzo6dmlkZW9fZnBzX2xpc3Q8XC9hPlszMl08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIHZpZGVvIEZQUyBsaXN0IG9mIGRldmljZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThlYzFmNDU5MWQxMjE3OWM2ZWM1YzdlMTAwNWRlMDU3XCI+Y2FtZXJhX2RldmljZV9pbmZvOjp2aWRlb19saXN0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIHZpZGVvIHJlc29sdXRpb24gbGlzdCBvZiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGluZm9ybWF0aW9uIGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1ZWUxZTE1MzliNWYyMzkyOGI5ZGUyMTcxOWM1MjM0NlwiPmNvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNGE2NzI4ZDA5OGZiMWQ0NmQ5ZTdlY2VmMzU0MDcyYmZcIj5jYW1lcmFfZGV2aWNlX2luZm9fczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhZmI1ZTFjODBiNDIxNGY0NjM1ZmU3YzUyZGY3NWQwXCI+ZGV2aWNlX2luZm88XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEyXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E1ZWUxZTE1MzliNWYyMzkyOGI5ZGUyMTcxOWM1MjM0NlwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0Ojpjb3VudDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGNvdW50IG9mIGRldmljZXM8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E0YTY3MjhkMDk4ZmIxZDQ2ZDllN2VjZWYzNTQwNzJiZlwiPmNhbWVyYV9kZXZpY2VfaW5mb19zPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhZmI1ZTFjODBiNDIxNGY0NjM1ZmU3YzUyZGY3NWQwXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3Q6OmRldmljZV9pbmZvPFwvYT5bMTZdPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGRldmljZSBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IHJlc29sdXRpb24uPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD51aW50MzJfdDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDcwNjRkYjRiODI3Y2ZlMTcyMzk3MWE0YTYxMDg1ZFwiPndpZHRoPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPnVpbnQzMl90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ1Y2FjZjhkZWQyOWY0NjI4NDhmMDYyNzk2Y2I2MjhiXCI+aGVpZ2h0PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlNGRkMWViNWY4ZTJkZTVmNDU0MWVjNTZlYzdmNDk1ZlwiPmRlZmF1bHRfZnBzX2luZGV4PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMjdlZWQ0NTk0NzdlNmJlNDcxOTg4MzI1YTEzNGVhNTNcIj5jYW1lcmFfZnBzX2xpc3RfczxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTNlZmI2MDcxNzMyNDZmMmFhZWZlYWM2MzkwMzNkZGYyXCI+ZnBzX2xpc3Q8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xM1wiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU0ZGQxZWI1ZjhlMmRlNWY0NTQxZWM1NmVjN2Y0OTVmXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb246OmRlZmF1bHRfZnBzX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBGUFMgbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTI3ZWVkNDU5NDc3ZTZiZTQ3MTk4ODMyNWExMzRlYTUzXCI+Y2FtZXJhX2Zwc19saXN0X3M8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhM2VmYjYwNzE3MzI0NmYyYWFlZmVhYzYzOTAzM2RkZjJcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbjo6ZnBzX2xpc3Q8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdXBwb3J0ZWQgRlBTIGxpc3Qgd2l0aCA8ZW0+d2lkdGg8XC9lbT4gYW5kIDxlbT5oZWlnaHQ8XC9lbT48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dWludDMyX3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ1Y2FjZjhkZWQyOWY0NjI4NDhmMDYyNzk2Y2I2MjhiXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb246OmhlaWdodDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIGhlaWdodCBvZiByZXNvbHV0aW9uPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EwNDcwNjRkYjRiODI3Y2ZlMTcyMzk3MWE0YTYxMDg1ZFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uOjp3aWR0aDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHdpZHRoIG9mIHJlc29sdXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBmb3JtYXQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNDMyOWRlOGFmMjVjMGI2ZDk5MmE3MzMyM2E0OWRmM2RcIj5waXhlbF9mb3JtYXQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBjZmRmYTNiMzdjMmRkOTIwYWIxM2RkNDIyOTI4MjlcIj5yZXNvbHV0aW9uX2NvdW50PFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludDxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExOTE4MzFhNjc0MzhhNTY0M2FhYmEyZmZkMTgyMWZhYlwiPmRlZmF1bHRfcmVzb2x1dGlvbl9pbmRleDxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM0MjBkNGFjYWM0Mzc5NDkzYjUxY2U3YThkOTc1NjljXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X3Jlc29sdXRpb25fczxcL2E+ICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNzU5NDJiNzg2NWU4MGVhNjI5YzdhMzNlYmMwYjZhNWNcIj5yZXNvbHV0aW9uPFwvYT4gWzMyXTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xNFwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE0XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5MTgzMWE2NzQzOGE1NjQzYWFiYTJmZmQxODIxZmFiXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdDo6ZGVmYXVsdF9yZXNvbHV0aW9uX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBjYXBhYmlsaXR5IHJlc29sdXRpb24gbGlzdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0ZTJhZTdmNDQ3ODM0ZGU5YTgxNmQ2NjVmMmNmYzc4XCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdF9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTQzMjlkZThhZjI1YzBiNmQ5OTJhNzMzMjNhNDlkZjNkXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdDo6cGl4ZWxfZm9ybWF0PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgcGl4ZWwgZm9ybWF0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzQyMGQ0YWNhYzQzNzk0OTNiNTFjZTdhOGQ5NzU2OWNcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfcmVzb2x1dGlvbl9zPFwvYT4qIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E3NTk0MmI3ODY1ZTgwZWE2MjljN2EzM2ViYzBiNmE1Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ6OnJlc29sdXRpb248XC9hPlszMl08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgcmVzb2x1dGlvbiBsaXN0IHdpdGggPGVtPnBpeGVsX2Zvcm1hdDxcL2VtPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD51aW50MzJfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNjBjZmRmYTNiMzdjMmRkOTIwYWIxM2RkNDIyOTI4MjlcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0OjpyZXNvbHV0aW9uX2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgcmVzb2x1dGlvbiBjb3VudDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9jYXBhYmlsaXR5PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5pbnQ8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMWFjMDdiYzY5ZjU5MjM1MDJhODNmYWQ5ODlhN2YwNTRcIj5kZXZpY2VfaW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYzU0YWZiNGZkYTYyNWRmYmIwNTJkZTIxZjdjMGY0YjdcIj5mb3JtYXRfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWE4ZjAyYjlkYjc5Nzk4MmFlNGEwNWExMzQ2ZWE2M2ZjXCI+ZGVmYXVsdF9mb3JtYXRfaW5kZXg8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2ODkwMTUzMDU1ZGVjMmY3Y2E5MWE5MjA4NDk2NGIwMFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXRfczxcL2E+ICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGQxZjQ2ZjFkYjYyMzFhMTk0NDk5ZDlkM2U4MWQ0ODdcIj5mb3JtYXQ8XC9hPiBbQ0FNRVJBX1BJWEVMX0ZPUk1BVF9NQVhdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE1XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTVcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYThmMDJiOWRiNzk3OTgyYWU0YTA1YTEzNDZlYTYzZmNcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHk6OmRlZmF1bHRfZm9ybWF0X2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZGVmYXVsdCBpbmRleCBvZiBzdXBwb3J0ZWQgZm9ybWF0IGxpc3Q8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExYWMwN2JjNjlmNTkyMzUwMmE4M2ZhZDk4OWE3ZjA1NFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTo6ZGV2aWNlX2luZGV4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgaW5kZXggb2YgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjg5MDE1MzA1NWRlYzJmN2NhOTFhOTIwODQ5NjRiMDBcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfZm9ybWF0X3M8XC9hPiogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkMWY0NmYxZGI2MjMxYTE5NDQ5OWQ5ZDNlODFkNDg3XCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5Ojpmb3JtYXQ8XC9hPltDQU1FUkFfUElYRUxfRk9STUFUX01BWF08XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3VwcG9ydGVkIGNhcGFiaWxpdHkgZm9ybWF0IGxpc3Qgd2l0aCA8ZW0+ZGV2aWNlX2luZGV4PFwvZW0+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjNTRhZmI0ZmRhNjI1ZGZiYjA1MmRlMjFmN2MwZjRiN1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTo6Zm9ybWF0X2NvdW50PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY291bnQgb2Ygc3VwcG9ydGVkIGZvcm1hdDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgY2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2xpc3Q8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjE8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RGF0YSBGaWVsZHM8XC90aD5cbjx0aD48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjk3YWY5OTlhNmRhMjcwYTM2N2Y1MWEzNjM0YzhlY2FcIj5kZXZpY2VfY291bnQ8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3ZWYwNjY3NzYxMDQwNmE0MDBkZDFlZDQ2ODVjNDY2N1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9zPFwvYT4gKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhNmFjOTc5ZDA4NjE3MzNkYjAxZWYwYzA3YTA1NGU5YVwiPmNhcGFiaWxpdHk8XC9hPiBbMTZdPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGhyIFwvPlxuPGg0IGlkPVwiY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE2XCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTZcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2VmMDY2Nzc2MTA0MDZhNDAwZGQxZWQ0Njg1YzQ2NjdcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfczxcL2E+KiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTZhYzk3OWQwODYxNzMzZGIwMWVmMGMwN2EwNTRlOWFcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfbGlzdDo6Y2FwYWJpbGl0eTxcL2E+WzE2XTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBkZXZpY2UgY2FwYWJpbGl0eSBsaXN0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOTdhZjk5OWE2ZGEyNzBhMzY3ZjUxYTM2MzRjOGVjYVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0OjpkZXZpY2VfY291bnQ8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBjb3VudCBvZiBkZXZpY2VzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBjYW1lcmFfbWVzc2FnZTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1lc3NhZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTVkMTFmOGU5Yzc2YmY5ODZiY2YwODk1N2I2MTI4NWZcIj50eXBlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWMwNjNhNTY5ZWY5NGZjNTk3ZjJmNzY4NGViZGJlN2M1XCI+Zm9jdXNfc3RhdGU8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+dWludDMyX3Q8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYjhjZGEyMDBiMmQzMzA0YTBhNWI1NzQxOTliZTliNzZcIj5oZHJfcHJvZ3Jlc3M8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmVmZTc0NDRkN2Y3MjkzOTY2NGM0MGRjMmNmMmEzN1wiPmNhbWVyYV9lcnJvcl9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZDRiNzRjNTY5NDExMjBhOTMyZDlmYmM1MWJiNDUwM2VcIj5lcnJvcl9jb2RlPFwvYT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2IyZWY4MDY4MTkwYzliMThhOGFjOTllM2U1YTNiMmNcIj5jYW1lcmFfbmV0d29ya19zdGF0ZV9lPFwvYT48XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjY3ZWVjZmNkMjA5ZmU2NmJhMjNmYTdhYzkwYzZjOTFcIj5uZXR3b3JrX3N0YXRlPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTdcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xN1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExYmVmZTc0NDRkN2Y3MjkzOTY2NGM0MGRjMmNmMmEzN1wiPmNhbWVyYV9lcnJvcl9lPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWQ0Yjc0YzU2OTQxMTIwYTkzMmQ5ZmJjNTFiYjQ1MDNlXCI+Y2FtZXJhX21lc3NhZ2U6OmVycm9yX2NvZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBlcnJvciBjb2RlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjMDYzYTU2OWVmOTRmYzU5N2YyZjc2ODRlYmRiZTdjNVwiPmNhbWVyYV9tZXNzYWdlOjpmb2N1c19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXRlIG9mIGZvY3VzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnVpbnQzMl90IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGNkYTIwMGIyZDMzMDRhMGE1YjU3NDE5OWJlOWI3NlwiPmNhbWVyYV9tZXNzYWdlOjpoZHJfcHJvZ3Jlc3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBwcm9ncmVzcyBvZiBIRFI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYjJlZjgwNjgxOTBjOWIxOGE4YWM5OWUzZTVhM2IyY1wiPmNhbWVyYV9uZXR3b3JrX3N0YXRlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjY3ZWVjZmNkMjA5ZmU2NmJhMjNmYTdhYzkwYzZjOTFcIj5jYW1lcmFfbWVzc2FnZTo6bmV0d29ya19zdGF0ZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0YXRlIG9mIG5ldHdvcmsgY2FtZXJhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMWIzOGQzNzVhMTMxNmUwNzEzYzQ4NTA2ZWNkYmVmM2ZcIj5jYW1lcmFfbWVzc2FnZV90eXBlX2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTVkMTFmOGU5Yzc2YmY5ODZiY2YwODk1N2I2MTI4NWZcIj5jYW1lcmFfbWVzc2FnZTo6dHlwZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHR5cGUgb2YgbWVzc2FnZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5zdHJ1Y3QgX2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIEhBTCBmdW5jdGlvbnMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0N2Q2ZTQ4NjBlNDAyY2QwZTZkY2M5YjNjMTE3ZDY5Y1wiPmluaXQ8XC9hPiApKHZvaWQgKipjYW1lcmFfaGFuZGxlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjM2Nzk0NzBhMmQxMmE5ODIxNGU5NTM3MGMwZTY3MTFcIj5kZWluaXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjZjc1NTliNDAxMzk5ZTA5Y2I5OGNlZTUyNTYwYmM4MFwiPmdldF9kZXZpY2VfaW5mb19saXN0PFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNjODhkNmFlNjU3MGU4MGM0Y2E1ODcxOThjZWNlMWZlXCI+Y2FtZXJhX2RldmljZV9pbmZvX2xpc3RfczxcL2E+ICpkZXZpY2VfaW5mb19saXN0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYmU1MzBlYWQzMTQzOTQ3Y2Y0ZTJmY2U5NzVlODhlYjBcIj5vcGVuX2RldmljZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IGRldmljZV9pbmRleCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTU5MGJkOGM3NzcyNGZiOGM0MjhiMjVkYmQ2NzRiYjBhXCI+b3Blbl9kZXZpY2VfZXh0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBjb25zdCBjaGFyICpkZXZpY2VfbmFtZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYThhNjc2YTk2NGFjYmU1MTUxZTJmMjU5ODg1Mjc0N2QwXCI+Y2xvc2VfZGV2aWNlPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNkYTlkNzQ1YWQwYWMyMzllYTRlOTMyY2QxZjg5YTBcIj5hZGRfbWVzc2FnZV9jYWxsYmFjazxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjdkNTE1MGIxODBmNTQ5Y2ExZGYwNTQ1MWJiOGM2YlwiPmhhbF9jYW1lcmFfbWVzc2FnZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEsIHVpbnQzMl90ICpjYl9pZCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJmMTg5Mjc0Yjg5ZjA1MGRiNzVhNTY4MGRiYzk2MWQwXCI+cmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2s8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIHVpbnQzMl90IGNiX2lkKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGRiODRlM2MxNzk1M2U0MmY1NTMwNDVjM2JjYjAyNzZcIj5zZXRfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmMGQ3MzU0OTMyNjllMTVkMzNiY2RlNDA5MzA4ODkxXCI+Z2V0X3ByZXZpZXdfc3RyZWFtX2Zvcm1hdDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4M2E4ZDM1NGI2NmQwNjEwZDRlMzY0ZDllNDAzNWY5NlwiPnNldF91c2VyX2J1ZmZlcl9mZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50ICpmZHMsIGludCBudW1iZXIpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4YjA5OTkyYTBlNjJmMTdlNWM4MWZhYjNhMjNkZWNhY1wiPnN0YXJ0X3ByZXZpZXc8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjkzNWQ0YjAxMWU2YWNiNmYzNTQyNzcwZDg2MTIxMTRcIj5yZWxlYXNlX3ByZXZpZXdfYnVmZmVyPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgYnVmZmVyX2luZGV4KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGY1Njk5Njc0Zjg1MWMwYzg4OWYyZjFmM2VkMGYzYmVcIj5zdG9wX3ByZXZpZXc8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FlODBjMGZkMzFmYWY2YjgzM2RhYmY3NDcyNTdiZDVkMVwiPnN0YXJ0X2F1dG9fZm9jdXM8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FhMGU0OTI3OTMxMDU1NzI1NThlOThkZGEwMzQ2YWU4M1wiPnN0b3BfYXV0b19mb2N1czxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWZmMWQ3ZjIzYzUzZDA4Y2NmNjllOGJjNjg5OWRiYWE3XCI+c3RhcnRfY2FwdHVyZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhYzAyYzU2YjdjOTc1MjkxNDQ5NWJiMTY3OTQ0YWZkMlwiPmhhbF9jYW1lcmFfY2FwdHVyZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YWEyZWFlNDg4ODVhM2U3NjBmOTJjMDIyNWQ0NDZiM1wiPnN0b3BfY2FwdHVyZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU2ZDkzNzIyYTI3NjZmNWJlYjdjMDI4ZDZmODNiMWU4XCI+c2V0X3ZpZGVvX3N0cmVhbV9mb3JtYXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMGFjZDMwMTUyZDdmNmI4NTQyZWYxN2U0MzA1MjUzYmRcIj5nZXRfdmlkZW9fc3RyZWFtX2Zvcm1hdDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5NDIyZjA3MGZmNDIzZWUxODczYWFhNmNmNGY1N2RlN1wiPnN0YXJ0X3JlY29yZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YzQxYmQwYWMwM2IzNTAyZTZjZjhhZmM0ZTdjZDlhN1wiPmhhbF9jYW1lcmFfdmlkZW9fZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNDE5M2Y3NDQ2ZTUwMTFkZjA5NWU5ZGMwNmIwOTRhNThcIj5yZWxlYXNlX3ZpZGVvX2J1ZmZlcjxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IGJ1ZmZlcl9pbmRleCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTIyNzUzZTA3ZThjMWVjMjQxNGFhN2FkOTM0NGM2NDI0XCI+c3RvcF9yZWNvcmQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExODBiYjM4M2I4MWQ2NjcwYjk2NWExNmM3Mjg2NWFmYVwiPnNldF9jb21tYW5kPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVhNWUyY2ZlZjlhNzc5MTQ2ZTczMGQwNWZjNDQ5MGQ5XCI+Y2FtZXJhX2NvbW1hbmRfZTxcL2E+IGNvbW1hbmQsIHZvaWQgKnZhbHVlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2U1M2FjMjYzZTA5OTBlYzE4YWRiNmRmNjg4MWYwYzVcIj5nZXRfY29tbWFuZDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlYTVlMmNmZWY5YTc3OTE0NmU3MzBkMDVmYzQ0OTBkOVwiPmNhbWVyYV9jb21tYW5kX2U8XC9hPiBjb21tYW5kLCB2b2lkICoqdmFsdWUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EzYWQxNzk1YjYwMTg4ZmNiZmY5NTUxYTAxMjZmNWNjOFwiPnNldF9iYXRjaF9jb21tYW5kPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTE3M2I2YTdjOTRmZDEwYWIyZmE4OWZiOTE5MTc0YTdiXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbF9zPFwvYT4gKmJhdGNoX2NvbW1hbmQsIHVpbnQ2NF90ICplcnJvcl9jb21tYW5kKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTlkMGFjYzVjZTA0NjYyMDhlNzJmN2RjYTYzZjNhMThcIj5zZXRfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZWU4MmI5YWJjYTE0NmY4NmQ2ZTBjZTVlMDdiNzIzY1wiPmhhbF9jYW1lcmFfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiN2Q2OWJkYzliMGMxODNkMTQ0ZGZkZTY0N2U1N2Y1OVwiPnVuc2V0X2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGU1YWNkNTQwZGI2NzM3ODY4NzRjODlhNDY3NTlmOFwiPnJlbGVhc2VfZXh0cmFfcHJldmlld19idWZmZXI8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIGludCBidWZmZXJfaW5kZXgpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4NTZlZjgxM2Y3YjEzODc4ZmI0NzkyMDAwNThiMDI0M1wiPnNldF9leHRyYV9wcmV2aWV3X3N0cmVhbV9mb3JtYXQ8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTY1NDc5Y2FhNDQyMTA5MTJhNTU4YmZjMTU2NzM2NjhcIj5nZXRfZXh0cmFfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmODUwMGNkOWRkOTI1ZjM1ZmFmZjFmNmU3NTU0MDlhXCI+c2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50IGJpdHJhdGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4MTk3NjhhZWQwMDgwMTQwMTNiMzA1NGIwOTdlNDYyY1wiPmdldF9leHRyYV9wcmV2aWV3X2JpdHJhdGU8XC9hPiApKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIGludCAqYml0cmF0ZSk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk4YWMyYjA5MDI5YWEwMWZjYjBlYWE2N2ExZTVkMTQyXCI+c2V0X2V4dHJhX3ByZXZpZXdfZ29wX2ludGVydmFsPFwvYT4gKSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgaW50ZXJ2YWwpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5MjQ5YzczNzczNWRhYTQ0NDg2MGYzMDgxY2FkMGMwMlwiPmdldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+ICkodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50ICppbnRlcnZhbCk8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMThcIj48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xOFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgzZGE5ZDc0NWFkMGFjMjM5ZWE0ZTkzMmNkMWY4OWEwXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6YWRkX21lc3NhZ2VfY2FsbGJhY2s8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMjdkNTE1MGIxODBmNTQ5Y2ExZGYwNTQ1MWJiOGM2YlwiPmhhbF9jYW1lcmFfbWVzc2FnZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEsIHVpbnQzMl90ICpjYl9pZCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5SZW1vdmUgbWVzc2FnZSBjYWxsYmFjazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGE2NzZhOTY0YWNiZTUxNTFlMmYyNTk4ODUyNzQ3ZDBcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpjbG9zZV9kZXZpY2U8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5BZGQgbWVzc2FnZSBjYWxsYmFjazxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMjM2Nzk0NzBhMmQxMmE5ODIxNGU5NTM3MGMwZTY3MTFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpkZWluaXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgbGlzdCBvZiBkZXZpY2UgaW5mb3JtYXRpb248XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNlNTNhYzI2M2UwOTkwZWMxOGFkYjZkZjY4ODFmMGM1XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X2NvbW1hbmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlYTVlMmNmZWY5YTc3OTE0NmU3MzBkMDVmYzQ0OTBkOVwiPmNhbWVyYV9jb21tYW5kX2U8XC9hPiBjb21tYW5kLCB2b2lkICoqdmFsdWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGJhdGNoIGNvbW1hbmQgZm9yIG11bHRpcGxlIHNldHRpbmdzPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FjZjc1NTliNDAxMzk5ZTA5Y2I5OGNlZTUyNTYwYmM4MFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmdldF9kZXZpY2VfaW5mb19saXN0PFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhM2M4OGQ2YWU2NTcwZTgwYzRjYTU4NzE5OGNlY2UxZmVcIj5jYW1lcmFfZGV2aWNlX2luZm9fbGlzdF9zPFwvYT4gKmRldmljZV9pbmZvX2xpc3QpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+T3BlbiBkZXZpY2U8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTgxOTc2OGFlZDAwODAxNDAxM2IzMDU0YjA5N2U0NjJjXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgKmJpdHJhdGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWwgZm9yIGV4dHJhIHByZXZpZXcgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5MjQ5YzczNzczNWRhYTQ0NDg2MGYzMDgxY2FkMGMwMlwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmdldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgKmludGVydmFsKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkdldCBsaXN0IG9mIGRldmljZSBjYXBhYmlsaXR5ICg8XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4xKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhMTY1NDc5Y2FhNDQyMTA5MTJhNTU4YmZjMTU2NzM2NjhcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpnZXRfZXh0cmFfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBzdHJlYW1faWQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBiaXRyYXRlIGZvciBleHRyYSBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhY2YwZDczNTQ5MzI2OWUxNWQzM2JjZGU0MDkzMDg4OTFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpnZXRfcHJldmlld19zdHJlYW1fZm9ybWF0PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPiAqZm9ybWF0KTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBidWZmZXIgZmQgd2hpY2ggaXMgYWxsb2NhdGVkIGJ5IHVzZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBhY2QzMDE1MmQ3ZjZiODU0MmVmMTdlNDMwNTI1M2JkXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6Z2V0X3ZpZGVvX3N0cmVhbV9mb3JtYXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RhcnQgcmVjb3JkPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0N2Q2ZTQ4NjBlNDAyY2QwZTZkY2M5YjNjMTE3ZDY5Y1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OmluaXQ8XC9hPikodm9pZCAqKmNhbWVyYV9oYW5kbGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Jmx0OyBJbml0aWFsaXplIEhBTCBiYWNrZW5kIGhhbmRsZSBEZWluaXRpYWxpemUgSEFMIGJhY2tlbmQgaGFuZGxlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiZTUzMGVhZDMxNDM5NDdjZjRlMmZjZTk3NWU4OGViMFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6Om9wZW5fZGV2aWNlPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBkZXZpY2VfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+T3BlbiBkZXZpY2UgZm9yIGV4dGVuc2lvbjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNTkwYmQ4Yzc3NzI0ZmI4YzQyOGIyNWRiZDY3NGJiMGFcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpvcGVuX2RldmljZV9leHQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgY29uc3QgY2hhciAqZGV2aWNlX25hbWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2xvc2UgZGV2aWNlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2FiOGU1YWNkNTQwZGI2NzM3ODY4NzRjODlhNDY3NTlmOFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnJlbGVhc2VfZXh0cmFfcHJldmlld19idWZmZXI8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgaW50IGJ1ZmZlcl9pbmRleCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TZXQgZm9ybWF0IGZvciBleHRyYSBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZjkzNWQ0YjAxMWU2YWNiNmYzNTQyNzcwZDg2MTIxMTRcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpyZWxlYXNlX3ByZXZpZXdfYnVmZmVyPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBidWZmZXJfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RvcCBwcmV2aWV3PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0MTkzZjc0NDZlNTAxMWRmMDk1ZTlkYzA2YjA5NGE1OFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnJlbGVhc2VfdmlkZW9fYnVmZmVyPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIGludCBidWZmZXJfaW5kZXgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RvcCByZWNvcmQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTJmMTg5Mjc0Yjg5ZjA1MGRiNzVhNTY4MGRiYzk2MWQwXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6cmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2s8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgdWludDMyX3QgY2JfaWQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGZvcm1hdCBmb3IgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTNhZDE3OTViNjAxODhmY2JmZjk1NTFhMDEyNmY1Y2M4XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2JhdGNoX2NvbW1hbmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzNiNmE3Yzk0ZmQxMGFiMmZhODlmYjkxOTE3NGE3YlwiPmNhbWVyYV9iYXRjaF9jb21tYW5kX2NvbnRyb2xfczxcL2E+ICpiYXRjaF9jb21tYW5kLCB1aW50NjRfdCAqZXJyb3JfY29tbWFuZCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TZXQgcHJldmlldyBjYWxsYmFjayBmb3IgZXh0cmEgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2ExODBiYjM4M2I4MWQ2NjcwYjk2NWExNmM3Mjg2NWFmYVwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9jb21tYW5kPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWE1ZTJjZmVmOWE3NzkxNDZlNzMwZDA1ZmM0NDkwZDlcIj5jYW1lcmFfY29tbWFuZF9lPFwvYT4gY29tbWFuZCwgdm9pZCAqdmFsdWUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IGNvbW1hbmQgZm9yIHZhcmlvdXMgc2V0dGluZ3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWNmODUwMGNkOWRkOTI1ZjM1ZmFmZjFmNmU3NTU0MDlhXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2V4dHJhX3ByZXZpZXdfYml0cmF0ZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgYml0cmF0ZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgYml0cmF0ZSBmb3IgZXh0cmEgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTE5ZDBhY2M1Y2UwNDY2MjA4ZTcyZjdkY2E2M2YzYTE4XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X2V4dHJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlZWU4MmI5YWJjYTE0NmY4NmQ2ZTBjZTVlMDdiNzIzY1wiPmhhbF9jYW1lcmFfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+IGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VW5zZXQgcHJldmlldyBjYWxsYmFjayBmb3IgZXh0cmEgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E5OGFjMmIwOTAyOWFhMDFmY2IwZWFhNjdhMWU1ZDE0MlwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9leHRyYV9wcmV2aWV3X2dvcF9pbnRlcnZhbDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCBpbnQgc3RyZWFtX2lkLCBpbnQgaW50ZXJ2YWwpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IEdPUChHcm91cCBPZiBQaWN0dXJlcykgaW50ZXJ2YWwgZm9yIGV4dHJhIHByZXZpZXcgc3RyZWFtPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E4NTZlZjgxM2Y3YjEzODc4ZmI0NzkyMDAwNThiMDI0M1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnNldF9leHRyYV9wcmV2aWV3X3N0cmVhbV9mb3JtYXQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50IHN0cmVhbV9pZCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5MTUyN2Q3MDM5NjliYzA2YjUwNGIwYzQzOTJhMWU2ZFwiPmNhbWVyYV9mb3JtYXRfczxcL2E+ICpmb3JtYXQpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IGZvcm1hdCBmb3IgZXh0cmEgcHJldmlldyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTBkYjg0ZTNjMTc5NTNlNDJmNTUzMDQ1YzNiY2IwMjc2XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c2V0X3ByZXZpZXdfc3RyZWFtX2Zvcm1hdDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgZm9ybWF0IGZvciBwcmV2aWV3IHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhODNhOGQzNTRiNjZkMDYxMGQ0ZTM2NGQ5ZTQwMzVmOTZcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzZXRfdXNlcl9idWZmZXJfZmQ8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSwgaW50ICpmZHMsIGludCBudW1iZXIpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RhcnQgcHJldmlldzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZTZkOTM3MjJhMjc2NmY1YmViN2MwMjhkNmY4M2IxZThcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzZXRfdmlkZW9fc3RyZWFtX2Zvcm1hdDxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTkxNTI3ZDcwMzk2OWJjMDZiNTA0YjBjNDM5MmExZTZkXCI+Y2FtZXJhX2Zvcm1hdF9zPFwvYT4gKmZvcm1hdCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQgZm9ybWF0IGZvciB2aWRlbyBzdHJlYW08XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWU4MGMwZmQzMWZhZjZiODMzZGFiZjc0NzI1N2JkNWQxXCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c3RhcnRfYXV0b19mb2N1czxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0b3AgYXV0byBmb2N1c2luZzxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhZmYxZDdmMjNjNTNkMDhjY2Y2OWU4YmM2ODk5ZGJhYTdcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdGFydF9jYXB0dXJlPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWMwMmM1NmI3Yzk3NTI5MTQ0OTViYjE2Nzk0NGFmZDJcIj5oYWxfY2FtZXJhX2NhcHR1cmVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0b3AgY2FwdHVyZTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhOGIwOTk5MmEwZTYyZjE3ZTVjODFmYWIzYTIzZGVjYWNcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdGFydF9wcmV2aWV3PFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlJlbGVhc2UgcHJldmlldyBidWZmZXI8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYTk0MjJmMDcwZmY0MjNlZTE4NzNhYWE2Y2Y0ZjU3ZGU3XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6c3RhcnRfcmVjb3JkPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWM0MWJkMGFjMDNiMzUwMmU2Y2Y4YWZjNGU3Y2Q5YTdcIj5oYWxfY2FtZXJhX3ZpZGVvX2ZyYW1lX2NiPFwvYT4gY2FsbGJhY2ssIHZvaWQgKnVzZXJfZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5SZWxlYXNlIHZpZGVvIGJ1ZmZlcjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhYTBlNDkyNzkzMTA1NTcyNTU4ZTk4ZGRhMDM0NmFlODNcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdG9wX2F1dG9fZm9jdXM8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdGFydCBjYXB0dXJlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2E0YWEyZWFlNDg4ODVhM2U3NjBmOTJjMDIyNWQ0NDZiM1wiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnN0b3BfY2FwdHVyZTxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlNldCBmb3JtYXQgZm9yIHZpZGVvIHN0cmVhbTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNhNGY1Njk5Njc0Zjg1MWMwYzg4OWYyZjFmM2VkMGYzYmVcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzOjpzdG9wX3ByZXZpZXc8XC9hPikodm9pZCAqY2FtZXJhX2hhbmRsZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdGFydCBhdXRvIGZvY3VzaW5nPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2EyMjc1M2UwN2U4YzFlYzI0MTRhYTdhZDkzNDRjNjQyNFwiPl9oYWxfYmFja2VuZF9tZWRpYV9jYW1lcmFfZnVuY3M6OnN0b3BfcmVjb3JkPFwvYT4pKHZvaWQgKmNhbWVyYV9oYW5kbGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2V0IGNvbW1hbmQgZm9yIHZhcmlvdXMgc2V0dGluZ3M8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjYWI3ZDY5YmRjOWIwYzE4M2QxNDRkZmRlNjQ3ZTU3ZjU5XCI+X2hhbF9iYWNrZW5kX21lZGlhX2NhbWVyYV9mdW5jczo6dW5zZXRfZXh0cmFfcHJldmlld19mcmFtZV9jYjxcL2E+KSh2b2lkICpjYW1lcmFfaGFuZGxlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlJlbGVhc2UgcHJldmlldyBidWZmZXIgZm9yIGV4dHJhIHN0cmVhbTxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EZWZpbmUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWMxODM2NTM5ZDMzMzMwNWJkNDMzYjIzMWM2MjM5NTExXCI+QlVGRkVSX1BMQU5FX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwNDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBwbGFuZXMgaW4gYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWIyZGRkZjUwODcxNzNiMTRiNjcwZDM1NmZmMzJjOGRjXCI+REVWSUNFX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlIGNvdW50LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+I2RlZmluZSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFjNjRjMzIzMDRiZTg4YmE5Mzc2YjUxYzk4YzhjYWJkXCI+REVWSUNFX05BTUVfTEVOR1RIX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMTY8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBsZW5ndGggb2YgZGV2aWNlIG5hbWUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTNiZWRkM2FlOWRkODU4NjRmMTQ0NmMwMjRmYmZlMTJcIj5ERVZJQ0VfTk9ERV9QQVRIX0xFTkdUSF9NQVg8XC9hPlx1MDBhMFx1MDBhMFx1MDBhMDE2PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIG1heGltdW0gbGVuZ3RoIG9mIGRldmljZSBub2RlIHBhdGguPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMmIxNDM4MmQyMGQzYjQ4NmQwODEyZjc5YmRhZDc5MjZcIj5GUFNfQ09VTlRfTUFYPFwvYT5cdTAwYTBcdTAwYTBcdTAwYTAxNjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBtYXhpbXVtIG51bWJlciBvZiBGUFMgY291bnQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD4jZGVmaW5lIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYWM2ZjFkYWUxNjAxZDBjY2IwZmQxZGYyYjUzNzRiMzhcIj5SRVNPTFVUSU9OX0NPVU5UX01BWDxcL2E+XHUwMGEwXHUwMGEwXHUwMGEwMzI8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgbWF4aW11bSBudW1iZXIgb2YgcmVzb2x1dGlvbiBjb3VudC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxociBcLz5cbjxoMiBpZD1cImNvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2JhdGNoX19jb21tYW5kX19jb250cm9sXCI+Y2FtZXJhX2JhdGNoX2NvbW1hbmRfY29udHJvbDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTczYjZhN2M5NGZkMTBhYjJmYTg5ZmI5MTkxNzRhN2JcIj5jYW1lcmFfYmF0Y2hfY29tbWFuZF9jb250cm9sX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiBiYXRjaCBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19idWZmZXJcIj5jYW1lcmFfYnVmZmVyPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgYnVmZmVyLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjJmODk5MTIzY2ZiNzU5YzQzOWE3YmJhMTE3OTNkZjRcIj5jYW1lcmFfY29tbWFuZDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZWE1ZTJjZmVmOWE3NzkxNDZlNzMwZDA1ZmM0NDkwZDlcIj5jYW1lcmFfY29tbWFuZF9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2NhcGFiaWxpdHlfX2Zvcm1hdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9mb3JtYXQ8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTY4OTAxNTMwNTVkZWMyZjdjYTkxYTkyMDg0OTY0YjAwXCI+Y2FtZXJhX2RldmljZV9jYXBhYmlsaXR5X2Zvcm1hdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBkZXZpY2UgY2FwYWJpbGl0eSBmb3JtYXQuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fbGlzdFwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FkOTUxNzliZDY5NjVkOTNmZTA2Yzc0ZTc1MWRlN2IyOVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9saXN0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IGxpc3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eV9fcmVzb2x1dGlvblwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjNDIwZDRhY2FjNDM3OTQ5M2I1MWNlN2E4ZDk3NTY5Y1wiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBjYXBhYmlsaXR5IHJlc29sdXRpb24uPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9fY2FwYWJpbGl0eVwiPmNhbWVyYV9kZXZpY2VfY2FwYWJpbGl0eTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2VmMDY2Nzc2MTA0MDZhNDAwZGQxZWQ0Njg1YzQ2NjdcIj5jYW1lcmFfZGV2aWNlX2NhcGFiaWxpdHlfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgZGV2aWNlIGNhcGFiaWxpdHkuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX2RldmljZV9faW5mb19fbGlzdFwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzYzg4ZDZhZTY1NzBlODBjNGNhNTg3MTk4Y2VjZTFmZVwiPmNhbWVyYV9kZXZpY2VfaW5mb19saXN0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBpbmZvcm1hdGlvbiBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19kZXZpY2VfX2luZm9cIj5jYW1lcmFfZGV2aWNlX2luZm88XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTRhNjcyOGQwOThmYjFkNDZkOWU3ZWNlZjM1NDA3MmJmXCI+Y2FtZXJhX2RldmljZV9pbmZvX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGRldmljZSBpbmZvcm1hdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiY2Q5N2E4NTM4NmYyMmMwZDRjNjdhNGIwOWI1Yjk3XCI+Y2FtZXJhX2VmZmVjdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZGZiOTMzMjUyMzc0MzcwYzAxZjdiZjk0YjUyNmI3NzVcIj5jYW1lcmFfZWZmZWN0X2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZWZmZWN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjBiNDMzNDJiMjM3M2E3ZDBkM2ZiZmU0Y2U3N2E4MGNcIj5jYW1lcmFfZXJyb3I8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiZWZlNzQ0NGQ3ZjcyOTM5NjY0YzQwZGMyY2YyYTM3XCI+Y2FtZXJhX2Vycm9yX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIGVycm9yLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNWI1YmIyYzkzM2I4ODRhMDA1NTI5MDA3YzI5MDBlNDBcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYjQzODY1YWJmYzFjMTM4ZWQxZmI2MTk3ZWU5NDIxZGZcIj5jYW1lcmFfZXhwb3N1cmVfbW9kZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlOTgxYjMwNjkxNjg0ZTUyODBhNmQ1N2FiYzIzZmE4NFwiPmNhbWVyYV9mYWNlX2RldGVjdGlvbjxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzI1NDM4NjY0ODUwMjA2MzE0NmEyMjFkNGEyYTY4Y2ZcIj5jYW1lcmFfZmFjZV9kZXRlY3Rpb25fZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmYWNlIGRldGVjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJkNTVkNDIwMjVlM2VlNjA1ZTBjN2Q0YzkwNGU4MWE2XCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb25fZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmYWNpbmcgZGlyZWN0aW9uIG9mIGNhbWVyYSBkZXZpY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FlNDVkNmViZThjYTc0YWI5N2I3NjBjNDgyYmUyY2UwY1wiPmNhbWVyYV9mbGFzaF9tb2RlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjY2YxZTUwMTg4ZjkxMTg1ZDFkNDNhOWFmZTE2MzYyNlwiPmNhbWVyYV9mbGFzaF9tb2RlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmxhc2ggbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTJjZjRhNzg4MGFjOTVmNjVhNjk4MDkwYTc1ZGQ5ZTU1XCI+Y2FtZXJhX2ZsaXA8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUwZjQ4YWMyNTkxZGExOWY3MzAxMTU1NmE1MDg4YmIyXCI+Y2FtZXJhX2ZsaXBfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZmxpcC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWRiZmVmMzA0MzUwOWVkODc1N2U4OTQ2OTY4N2E0ZmNjXCI+Y2FtZXJhX2ZvY3VzX21vZGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVmYjcxY2ZjM2RmMDRhODI0MWE5YmQxMTEwYTkzYjBmXCI+Y2FtZXJhX2ZvY3VzX21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyBtb2RlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTllMjAxOTRmNmM1MDY3OTE3MWQ4OWUyZGE0NmFjNjdcIj5jYW1lcmFfZm9jdXNfcmFuZ2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY2OWY0MGZiZmExOWEyZTU5MDI1NGIzY2E1YmFiNWMxXCI+Y2FtZXJhX2ZvY3VzX3JhbmdlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgcmFuZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1M2I5YmM5OGJiZTM5YTBiMDkyN2EyZGU2MGViMDA0MlwiPmNhbWVyYV9mb2N1c19zdGF0ZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOWY1MDJkMTgxODQxMjQyZDU3NDBhNmQ4YmE3ZDQ0ODJcIj5jYW1lcmFfZm9jdXNfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyBzdGF0ZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcGl4ZWxfX2Zvcm1hdF9fbGlzdFwiPmNhbWVyYV9waXhlbF9mb3JtYXRfbGlzdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhM2NiY2MyMzAzZTg4MzkxOWJjZWM4YjczY2Q4NDE5Y2JcIj5jYW1lcmFfZm9ybWF0X2xpc3RfczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmb3JtYXQgbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZm9ybWF0XCI+Y2FtZXJhX2Zvcm1hdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTE1MjdkNzAzOTY5YmMwNmI1MDRiMGM0MzkyYTFlNmRcIj5jYW1lcmFfZm9ybWF0X3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIGZvcm1hdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fZnBzX19saXN0XCI+Y2FtZXJhX2Zwc19saXN0PFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EyN2VlZDQ1OTQ3N2U2YmU0NzE5ODgzMjVhMTM0ZWE1M1wiPmNhbWVyYV9mcHNfbGlzdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGZwcyBsaXN0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjc3RydWN0Y2FtZXJhX19mcmFjdGlvblwiPmNhbWVyYV9mcmFjdGlvbjxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzgzM2MwMzkzMDM3ZjBhY2U4OGQ1Y2Q5MDNlOGU3ZjNcIj5jYW1lcmFfZnJhY3Rpb25fczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBmcmFjdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fbWVzc2FnZVwiPmNhbWVyYV9tZXNzYWdlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1MzQ2NTNmZTMzNWM4OTc1NTc3ZTNmMGNiNzU4YzBlOVwiPmNhbWVyYV9tZXNzYWdlX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIG1lc3NhZ2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzMzU4OWNlYTY1ZDcyMTYzZjU5YmEyNzFlM2UzNTIzM1wiPmNhbWVyYV9tZXNzYWdlX3R5cGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiMzhkMzc1YTEzMTZlMDcxM2M0ODUwNmVjZGJlZjNmXCI+Y2FtZXJhX21lc3NhZ2VfdHlwZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBtZXNzYWdlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX21ldGFkYXRhXCI+Y2FtZXJhX21ldGFkYXRhPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FiY2E0Y2Y1ZGEzMWQxZjQxOTk4OGFlYjQzYzliMTkyN1wiPmNhbWVyYV9tZXRhZGF0YV9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIGNhbWVyYSBtZXRhZGF0YS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE0NWE5YTExMjIwNDQ1MjY3ZDhjOTczZjU3NzUxODRhXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNiMmVmODA2ODE5MGM5YjE4YThhYzk5ZTNlNWEzYjJjXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgbmV0d29yayBzdGF0ZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjRlMmFlN2Y0NDc4MzRkZTlhODE2ZDY2NWYyY2ZjNzhcIj5jYW1lcmFfcGl4ZWxfZm9ybWF0X2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHBpeGVsIGZvcm1hdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcGxhbmVcIj5jYW1lcmFfcGxhbmU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTM4ZmI3NDY3MGMyOTBlZWFkMDc5ODZkMGI3NTQyMGI4XCI+Y2FtZXJhX3BsYW5lX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgY2FtZXJhIHBsYW5lLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzI2YTE2MjI4NDU1NjQzNzBmMGQzNjBlNjNhZDdjZTVcIj5jYW1lcmFfcHR6X3R5cGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWI4YTk3MjgzNTIyMjViMDgwNDE1OTcwOTliYWMxMzUyXCI+Y2FtZXJhX3B0el90eXBlX2U8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgUFRaKFBhbiBUaWx0IFpvb20pIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RjYW1lcmFfX3JlY3RhbmdsZVwiPmNhbWVyYV9yZWN0YW5nbGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE2MWMzOTQ0ZGYzYTg4ZWY3Y2E1MDQ0YzkwYjJkOWU2XCI+Y2FtZXJhX3JlY3RhbmdsZV9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlY3RhbmdsZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvbl9fbGlzdFwiPmNhbWVyYV9yZXNvbHV0aW9uX2xpc3Q8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJiYjc1MGUxNzBkMWM5NDBmOTgyOGVkNGIyYWE5M2Q1XCI+Y2FtZXJhX3Jlc29sdXRpb25fbGlzdF9zPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgc3RydWN0dXJlIHR5cGUgb2YgdGhlIHJlc29sdXRpb24gbGlzdC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgc3RydWN0IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI3N0cnVjdGNhbWVyYV9fcmVzb2x1dGlvblwiPmNhbWVyYV9yZXNvbHV0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1OTQ0ZGNlNmJkM2VmMTBlMjAwMDYxZGU1MGM0NmE3M1wiPmNhbWVyYV9yZXNvbHV0aW9uX3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlRoZSBzdHJ1Y3R1cmUgdHlwZSBvZiB0aGUgcmVzb2x1dGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTdmNGM1ZjVkN2E0YmE3MmFmZTc4YjRlNzMyNTBjYWRiXCI+Y2FtZXJhX3JvdGF0aW9uPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExNzZjMDAyMzhjMGZjY2UyNmVkYjkzMmMyMTY3MWQ5OFwiPmNhbWVyYV9yb3RhdGlvbl9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSByb3RhdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTNmMDI1MzEyZWYwY2Q0ZWIxZTAxYjBkOTQ3ZDhlYTMxXCI+Y2FtZXJhX3NjZW5lX21vZGU8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWY0MTRlNDJjZTFhOTBhYzk0NDYxODgwNWJmOTEyMGM1XCI+Y2FtZXJhX3NjZW5lX21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBzY2VuZSBtb2RlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOGYzM2U1MDc3ZjgwNDEzNDQyMTJkMWQzYzViZTU2NThcIj5jYW1lcmFfc2hvdF9tb2RlPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E5YmMwNGMyYjhiODc1Y2I4MjdiODc2NGZkN2Q2MzcyNVwiPmNhbWVyYV9zaG90X21vZGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBzaG90IG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExMGNkMmExNzUxYjlmYWRlZTU2ZWUwMzcxYmJjMTU3YlwiPmNhbWVyYV9zdGF0ZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMWZjM2FlNzMyZDhkMGYyMzk4ZGEyN2QzNTE1ODYwOWRcIj5jYW1lcmFfc3RhdGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgc3RhdGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmNjI3YjQyZTY0ZGM3MzU2N2JkNTRjM2Y1NjdkNmY3MVwiPmNhbWVyYV9zdGF0dXNfYXV0b19leHBvc3VyZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmFlYzlmYzQ3MTE5NGQzOWFlNDAxMzFlMTI3YWE5YjFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIGV4cG9zdXJlIHN0YXR1cy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWM1NzhmYjRkNTIyODI5MDA5Y2U1NjFhYjdjNDRmNzJjXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2U8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWFlMTBhMzc5MjFhNTEzZjVhMzU0NjBkODI2ZGFkYmFhXCI+Y2FtZXJhX3N0YXR1c19hdXRvX3doaXRlX2JhbGFuY2VfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIHdoaXRlIGJhbGFuY2Ugc3RhdHVzLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBlbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNzU0MTRmZDQ4M2JjZmQ2MGM1NjdhYjE0NThhYjZkNDFcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZTxcL2E+IDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNjZlOTEyNjc4OWEwOTE5YWExYTNjOWQzMTM4MGE2YjNcIj5jYW1lcmFfd2hpdGVfYmFsYW5jZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIHN0cnVjdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNzdHJ1Y3RfX2hhbF9fYmFja2VuZF9fbWVkaWFfX2NhbWVyYV9fZnVuY3NcIj5faGFsX2JhY2tlbmRfbWVkaWFfY2FtZXJhX2Z1bmNzPFwvYT4gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EwYWQwOTE3YjEyM2FiNmIwZjY2OTY5NzNhMzNkZTU3ZVwiPmhhbF9iYWNrZW5kX2NhbWVyYV9mdW5jczxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlIHN0cnVjdHVyZSB0eXBlIG9mIHRoZSBjYW1lcmEgSEFMIGZ1bmN0aW9ucy48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgaW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FhYzAyYzU2YjdjOTc1MjkxNDQ5NWJiMTY3OTQ0YWZkMlwiPmhhbF9jYW1lcmFfY2FwdHVyZV9jYjxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWNhZDJhMjYzZWQ5Mzk1MjAzYjUxMjk4OTY0Nzk3ZWYxXCI+Y2FtZXJhX2J1ZmZlcl9zPFwvYT4gKm1haW4sIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqcG9zdHZpZXcsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqdGh1bWJuYWlsLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHN0aWxsIGltYWdlIGZyb20gY2FtZXJhIGRldmljZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgbWFpbiB8IFRoZSBtYWluIGltYWdlIGRhdGEgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgcG9zdHZpZXcgfCBUaGUgaW1hZ2UgZGF0YSBvZiB0aGUgcG9zdHZpZXcgKGl0IGNvdWxkIGJlIDxjb2RlPk5VTEw8XC9jb2RlPiBpZiB0aGUgYXZhaWxhYmxlIGRhdGEgZG9lcyBub3QgZXhpc3QpIHxcbnwgW2luXSB8IHRodW1ibmFpbCB8IFRoZSBpbWFnZSBkYXRhIG9mIHRoZSB0aHVtYm5haWwgKGl0IGNvdWxkIGJlIDxjb2RlPk5VTEw8XC9jb2RlPiBpZiB0aGUgYXZhaWxhYmxlIGRhdGEgZG9lcyBub3QgZXhpc3QpIHxcbnwgW2luXSB8IHVzZXJfZGF0YSB8IFRoZSB1c2VyIGRhdGEgcGFzc2VkIGZyb20gdGhlIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbiB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKSB3aWxsIGludm9rZSB0aGlzIGNhbGxiYWNrIGZ1bmN0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNlZSBhbHNvOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X2NhcHR1cmUoKVxuOiAgIGhhbF9jYW1lcmFfc3RvcF9jYXB0dXJlKCk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBpbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWVlZTgyYjlhYmNhMTQ2Zjg2ZDZlMGNlNWUwN2I3MjNjXCI+aGFsX2NhbWVyYV9leHRyYV9wcmV2aWV3X2ZyYW1lX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhY2FkMmEyNjNlZDkzOTUyMDNiNTEyOTg5NjQ3OTdlZjFcIj5jYW1lcmFfYnVmZmVyX3M8XC9hPiAqYnVmZmVyLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWJjYTRjZjVkYTMxZDFmNDE5OTg4YWViNDNjOWIxOTI3XCI+Y2FtZXJhX21ldGFkYXRhX3M8XC9hPiAqbWV0YSwgaW50IHN0cmVhbV9pZCwgdm9pZCAqdXNlcl9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkNhbGxiYWNrIGZ1bmN0aW9uIGZvciBleHRyYSBwcmV2aWV3IGZyYW1lIGZyb20gY2FtZXJhIGRldmljZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgYnVmZmVyIHwgVGhlIGV4dHJhIHByZXZpZXcgZnJhbWUgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgbWV0YSB8IFRoZSBtZXRhIGRhdGEgZm9yIHRoZSBleHRyYSBwcmV2aWV3IGZyYW1lIHxcbnwgW2luXSB8IHN0cmVhbV9pZCB8IFRoZSBpZCBvZiBleHRyYSBwcmV2aWV3IHN0cmVhbSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3ByZXZpZXcoKSB3aWxsIGludm9rZSB0aGlzIGNhbGxiYWNrLjxcL3A+XG48cD48c3Ryb25nPlNlZSBhbHNvOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3ByZXZpZXcoKVxuOiAgIGhhbF9jYW1lcmFfc3RvcF9wcmV2aWV3KCk8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBpbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMyN2Q1MTUwYjE4MGY1NDljYTFkZjA1NDUxYmI4YzZiXCI+aGFsX2NhbWVyYV9tZXNzYWdlX2NiPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhNTM0NjUzZmUzMzVjODk3NTU3N2UzZjBjYjc1OGMwZTlcIj5jYW1lcmFfbWVzc2FnZV9zPFwvYT4gKm1lc3NhZ2UsIHZvaWQgKnVzZXJfZGF0YSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5DYWxsYmFjayBmdW5jdGlvbiBmb3Igbm90aWZpY2F0aW9uIGZyb20gY2FtZXJhIEhBTC48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+UGFyYW1ldGVyczo8XC9zdHJvbmc+XG46ICAgfCBbaW5dIHwgbWVzc2FnZSB8IFRoZSBtZXNzYWdlIGZyb20gY2FtZXJhIEhBTCB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+U2VlIGFsc286PFwvc3Ryb25nPlxuOiAgIGhhbF9jYW1lcmFfYWRkX21lc3NhZ2VfY2FsbGJhY2soKVxuOiAgIGhhbF9jYW1lcmFfcmVtb3ZlX21lc3NhZ2VfY2FsbGJhY2soKTxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD50eXBlZGVmIGludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOTBiNWJkODg4Y2ZiMDFjMTEyOGFjZWJkNDVjOTE1ZThcIj5oYWxfY2FtZXJhX3ByZXZpZXdfZnJhbWVfY2I8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpidWZmZXIsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+ICptZXRhLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHByZXZpZXcgZnJhbWUgZnJvbSBjYW1lcmEgZGV2aWNlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5QYXJhbWV0ZXJzOjxcL3N0cm9uZz5cbjogICB8IFtpbl0gfCBidWZmZXIgfCBUaGUgcHJldmlldyBmcmFtZSB8XG58IC0tLSB8IC0tLSB8IC0tLSB8XG58IFtpbl0gfCBtZXRhIHwgVGhlIG1ldGEgZGF0YSBmb3IgdGhlIHByZXZpZXcgZnJhbWUgfFxufCBbaW5dIHwgdXNlcl9kYXRhIHwgVGhlIHVzZXIgZGF0YSBmb3IgY2FsbGJhY2sgfDxcL3A+XG48cD48c3Ryb25nPlByZWNvbmRpdGlvbjo8XC9zdHJvbmc+XG46ICAgaGFsX2NhbWVyYV9zdGFydF9wcmV2aWV3KCkgd2lsbCBpbnZva2UgdGhpcyBjYWxsYmFjay48XC9wPlxuPHA+PHN0cm9uZz5TZWUgYWxzbzo8XC9zdHJvbmc+XG46ICAgaGFsX2NhbWVyYV9zdGFydF9wcmV2aWV3KClcbjogICBoYWxfY2FtZXJhX3N0b3BfcHJldmlldygpPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnR5cGVkZWYgaW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YzQxYmQwYWMwM2IzNTAyZTZjZjhhZmM0ZTdjZDlhN1wiPmhhbF9jYW1lcmFfdmlkZW9fZnJhbWVfY2I8XC9hPikoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FjYWQyYTI2M2VkOTM5NTIwM2I1MTI5ODk2NDc5N2VmMVwiPmNhbWVyYV9idWZmZXJfczxcL2E+ICpidWZmZXIsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYmNhNGNmNWRhMzFkMWY0MTk5ODhhZWI0M2M5YjE5MjdcIj5jYW1lcmFfbWV0YWRhdGFfczxcL2E+ICptZXRhLCB2b2lkICp1c2VyX2RhdGEpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNhcHR1cmVkIHZpZGVvIGJ1ZmZlciBmcm9tIGNhbWVyYSBkZXZpY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPlBhcmFtZXRlcnM6PFwvc3Ryb25nPlxuOiAgIHwgW2luXSB8IGJ1ZmZlciB8IFRoZSB2aWRlbyBidWZmZXIgfFxufCAtLS0gfCAtLS0gfCAtLS0gfFxufCBbaW5dIHwgbWV0YSB8IFRoZSBtZXRhIGRhdGEgZm9yIHRoZSB2aWRlbyBmcmFtZSB8XG58IFtpbl0gfCB1c2VyX2RhdGEgfCBUaGUgdXNlciBkYXRhIGZvciBjYWxsYmFjayB8PFwvcD5cbjxwPjxzdHJvbmc+UHJlY29uZGl0aW9uOjxcL3N0cm9uZz5cbjogICBoYWxfY2FtZXJhX3N0YXJ0X3JlY29yZCgpIHdpbGwgaW52b2tlIHRoaXMgY2FsbGJhY2suPFwvcD5cbjxwPjxzdHJvbmc+U2VlIGFsc286PFwvc3Ryb25nPlxuOiAgIGhhbF9jYW1lcmFfc3RhcnRfcmVjb3JkKClcbjogICBoYWxfY2FtZXJhX3N0b3BfcmVjb3JkKCk8XC9wPlxuPGhyIFwvPlxuPGgyIGlkPVwiY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9oMj5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E2MmY4OTkxMjNjZmI3NTljNDM5YTdiYmExMTc5M2RmNFwiPmNhbWVyYV9jb21tYW5kPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBjb21tYW5kLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfQ09NTUFORF9CQVNFPFwvZW0+IHwgQmFzZSBvZiBjb21tYW5kIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1dISVRFX0JBTEFOQ0U8XC9lbT4gfCBXaGl0ZSBiYWxhbmNlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0lTTzxcL2VtPiB8IElTTyB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DT05UUkFTVDxcL2VtPiB8IENvbnRyYXN0IHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NBVFVSQVRJT048XC9lbT4gfCBTYXR1cmF0aW9uIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0hVRTxcL2VtPiB8IEh1ZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9TSEFSUE5FU1M8XC9lbT4gfCBTaGFycG5lc3MgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfRUZGRUNUPFwvZW0+IHwgRWZmZWN0IHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NDRU5FX01PREU8XC9lbT4gfCBTY2VuZSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0VYUE9TVVJFX01PREU8XC9lbT4gfCBFeHBvc3VyZSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0VYUE9TVVJFPFwvZW0+IHwgRXhwb3N1cmUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfUk9UQVRJT048XC9lbT4gfCBSb3RhdGlvbiB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GTElQPFwvZW0+IHwgRmxpcCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19NT0RFPFwvZW0+IHwgRm9jdXMgbW9kZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19SQU5HRTxcL2VtPiB8IEZvY3VzIHJhbmdlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NIT1RfTU9ERTxcL2VtPiB8IFNob3QgbW9kZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9BTlRJX1NIQUtFPFwvZW0+IHwgQW50aSBzaGFrZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9GT0NVU19BUkVBPFwvZW0+IHwgRm9jdXMgYXJlYSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9ESUdJVEFMX1pPT008XC9lbT4gfCBEaWdpdGFsIHpvb20gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfT1BUSUNBTF9aT09NPFwvZW0+IHwgT3B0aWNhbCB6b29tIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1JFQ09SRElOR19ISU5UPFwvZW0+IHwgUmVjb3JkaW5nIGhpbnQgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfV0RSPFwvZW0+IHwgV2lkZSBkeW5hbWljIHJhbmdlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NIVVRURVJfU1BFRUQ8XC9lbT4gfCBTaHV0dGVyIHNwZWVkIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZMQVNIX01PREU8XC9lbT4gfCBGbGFzaCBtb2RlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZBQ0VfREVURUNUSU9OPFwvZW0+IHwgRmFjZSBkZXRlY3Rpb24gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfQklUUkFURTxcL2VtPiB8IEJpdHJhdGUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfUFRaX1RZUEU8XC9lbT4gfCBQVFooUGFuIFRpbHQgWm9vbSkgdHlwZSB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9QQU48XC9lbT4gfCBQYW4gfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfVElMVDxcL2VtPiB8IFRpbHQgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfQlJJR0hUTkVTUzxcL2VtPiB8IEJyaWdodG5lc3MgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfR09QX0lOVEVSVkFMPFwvZW0+IHwgR09QKEdyb3VwIE9mIFBpY3R1cmVzKSBpbnRlcnZhbCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DQVBUVVJFX0NPVU5UPFwvZW0+IHwgQ2FwdHVyZSBjb3VudCB8XG58IDxlbT5DQU1FUkFfQ09NTUFORF9DQVBUVVJFX0lOVEVSVkFMPFwvZW0+IHwgQ2FwdHVyZSBpbnRlcnZhbCBmb3IgY29udGludW91cyBjYXB0dXJlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZMQVNIX0JSSUdIVE5FU1M8XC9lbT4gfCBCcmlnaHRuZXNzIG9mIGZsYXNoIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0ZPQ1VTX0xFVkVMPFwvZW0+IHwgTGV2ZWwgb2YgbWFudWFsIGZvY3VzIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0RFVklDRV9CVVM8XC9lbT4gfCBEZXZpY2UgYnVzIG5hbWUgfFxufCA8ZW0+Q0FNRVJBX0NPTU1BTkRfREVWSUNFX1BPUlQ8XC9lbT4gfCBEZXZpY2UgcG9ydCBuYW1lIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1dISVRFX0JBTEFOQ0VfVEVNUEVSQVRVUkU8XC9lbT4gfCBXaGl0ZSBiYWxhbmNlIHRlbXBlcmF0dXJlIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX0dBSU48XC9lbT4gfCBHYWluIHxcbnwgPGVtPkNBTUVSQV9DT01NQU5EX1NXSVRDSF9ERVZJQ0U8XC9lbT4gfCBTd2l0Y2ggZGV2aWNlIChTaW5jZSAxLjIpIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTFiY2Q5N2E4NTM4NmYyMmMwZDRjNjdhNGIwOWI1Yjk3XCI+Y2FtZXJhX2VmZmVjdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBlZmZlY3QuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FRkZFQ1RfTk9ORTxcL2VtPiB8IE5vbmUgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9NT05PPFwvZW0+IHwgTW9ubyB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX1NFUElBPFwvZW0+IHwgU2VwaWEgfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9ORUdBVElWRTxcL2VtPiB8IE5lZ2F0aXZlIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfUkVEPFwvZW0+IHwgUmVkIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfR1JFRU48XC9lbT4gfCBHcmVlbiB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX0JMVUU8XC9lbT4gfCBCbHVlIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfQVFVQTxcL2VtPiB8IEFxdWEgfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9BTlRJUVVFPFwvZW0+IHwgQW50aXF1ZSB8XG58IDxlbT5DQU1FUkFfRUZGRUNUX1dBUk08XC9lbT4gfCBXYXJtIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfRU1CT1NTPFwvZW0+IHwgRW1ib3NzIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfU0tFVENIPFwvZW0+IHwgU2tldGNoIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfU09MQVJJWkFUSU9OPFwvZW0+IHwgU29sYXJpemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9FRkZFQ1RfUE9TVEVSSVpBVElPTjxcL2VtPiB8IFBvc3Rlcml6YXRpb24gfFxufCA8ZW0+Q0FNRVJBX0VGRkVDVF9DQVJUT09OPFwvZW0+IHwgQ2FydG9vbiB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2FmMGI0MzM0MmIyMzczYTdkMGQzZmJmZTRjZTc3YTgwY1wiPmNhbWVyYV9lcnJvcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgZXJyb3IuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FUlJPUl9OT05FPFwvZW0+IHwgRXJyb3Igbm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5WQUxJRF9QQVJBTUVURVI8XC9lbT4gfCBJbnZhbGlkIHBhcmFtZXRlciB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5WQUxJRF9TVEFURTxcL2VtPiB8IEludmFsaWQgc3RhdGUgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX1BFUk1JU1NJT05fREVOSUVEPFwvZW0+IHwgUGVybWlzc2lvbiBkZW5pZWQgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX09VVF9PRl9NRU1PUlk8XC9lbT4gfCBPdXQgb2YgbWVtb3J5IHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfT1BFTjxcL2VtPiB8IERldmljZSBvcGVuIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfTk9UX0ZPVU5EPFwvZW0+IHwgRGV2aWNlIG5vdCBmb3VuZCB8XG58IDxlbT5DQU1FUkFfRVJST1JfREVWSUNFX1VOQVZBSUxBQkxFPFwvZW0+IHwgRGV2aWNlIHVuYXZhaWxhYmxlIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfTk9UX1NVUFBPUlRFRDxcL2VtPiB8IERldmljZSBub3Qgc3VwcG9ydGVkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfUkVBRDxcL2VtPiB8IERldmljZSByZWFkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9ERVZJQ0VfV1JJVEU8XC9lbT4gfCBEZXZpY2Ugd3JpdGUgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX0RFVklDRV9CVVNZPFwvZW0+IHwgRGV2aWNlIGJ1c3kgfFxufCA8ZW0+Q0FNRVJBX0VSUk9SX0RFVklDRV9USU1FX09VVDxcL2VtPiB8IERldmljZSB0aW1lIG91dCB8XG58IDxlbT5DQU1FUkFfRVJST1JfREVWSUNFX0VTRDxcL2VtPiB8IERldmljZSBFU0QoRWxlY3RybyBTdGF0aWMgRGlzY2hhcmdlKSB8XG58IDxlbT5DQU1FUkFfRVJST1JfSU5URVJOQUw8XC9lbT4gfCBJbnRlcm5hbCB8XG58IDxlbT5DQU1FUkFfRVJST1JfTk9UX0lNUExFTUVOVEVEPFwvZW0+IHwgTm90IGltcGxlbWVudGVkIHxcbnwgPGVtPkNBTUVSQV9FUlJPUl9VTktOT1dOPFwvZW0+IHwgVW5rbm93biB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E1YjViYjJjOTMzYjg4NGEwMDU1MjkwMDdjMjkwMGU0MFwiPmNhbWVyYV9leHBvc3VyZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGV4cG9zdXJlIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX09GRjxcL2VtPiB8IE9mZiB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9BTEw8XC9lbT4gfCBBbGwgbW9kZSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9DRU5URVI8XC9lbT4gfCBDZW50ZXIgbW9kZSB8XG58IDxlbT5DQU1FUkFfRVhQT1NVUkVfTU9ERV9TUE9UPFwvZW0+IHwgU3BvdCBtb2RlIHxcbnwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX0NVU1RPTTxcL2VtPiB8IEN1c3RvbSBtb2RlIHxcbnwgPGVtPkNBTUVSQV9FWFBPU1VSRV9NT0RFX1NIVVRURVJfUFJJT1JJVFk8XC9lbT4gfCBTaHV0dGVyIHByaW9yaXR5IG1vZGUgfFxufCA8ZW0+Q0FNRVJBX0VYUE9TVVJFX01PREVfQVBFUlRVUkVfUFJJT1JJVFk8XC9lbT4gfCBBcGVydHVyZSBwcmlvcml0eSBtb2RlIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWU5ODFiMzA2OTE2ODRlNTI4MGE2ZDU3YWJjMjNmYTg0XCI+Y2FtZXJhX2ZhY2VfZGV0ZWN0aW9uPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZhY2UgZGV0ZWN0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRkFDRV9ERVRFQ1RJT05fT0ZGPFwvZW0+IHwgRmFjZSBkZXRlY3Rpb24gb2ZmIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GQUNFX0RFVEVDVElPTl9PTjxcL2VtPiB8IEZhY2UgZGV0ZWN0aW9uIG9uIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTZiN2MwNDZiZDdjMWY2ZDEyNThhYjQ0MGE3ZWNhYTZmXCI+Y2FtZXJhX2ZhY2luZ19kaXJlY3Rpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmFjaW5nIGRpcmVjdGlvbiBvZiBjYW1lcmEgZGV2aWNlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRkFDSU5HX0RJUkVDVElPTl9SRUFSPFwvZW0+IHwgUmVhciBmYWNpbmcgZGlyZWN0aW9uIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GQUNJTkdfRElSRUNUSU9OX0ZST05UPFwvZW0+IHwgRnJvbnQgZmFjaW5nIGRpcmVjdGlvbiB8XG58IDxlbT5DQU1FUkFfRkFDSU5HX0RJUkVDVElPTl9FWFRFUk5BTDxcL2VtPiB8IEV4dGVybmFsIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWU0NWQ2ZWJlOGNhNzRhYjk3Yjc2MGM0ODJiZTJjZTBjXCI+Y2FtZXJhX2ZsYXNoX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZmxhc2ggbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZMQVNIX01PREVfT0ZGPFwvZW0+IHwgQWx3YXlzIG9mZiB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9PTjxcL2VtPiB8IEFsd2F5cyBzcGxhc2hlcyB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9BVVRPPFwvZW0+IHwgRGVwZW5kaW5nIG9uIGludGVuc2l0eSBvZiBsaWdodCwgc3Ryb2JlIHN0YXJ0cyB0byBmbGFzaCB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9SRURFWUVfUkVEVUNUSU9OPFwvZW0+IHwgUmVkIGV5ZSByZWR1Y3Rpb24uIE11bHRpcGxlIGZsYXNoIGJlZm9yZSBjYXB0dXJpbmcgfFxufCA8ZW0+Q0FNRVJBX0ZMQVNIX01PREVfU0xPV19TWU5DPFwvZW0+IHwgU2xvdyBzeW5jIGN1cnRhaW4gc3luY2hyb25pemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9GTEFTSF9NT0RFX0ZST05UX0NVUlRBSU48XC9lbT4gfCBGcm9udCBjdXJ0YWluIHN5bmNocm9uaXphdGlvbiB8XG58IDxlbT5DQU1FUkFfRkxBU0hfTU9ERV9SRUFSX0NVUlRBSU48XC9lbT4gfCBSZWFyIGN1cnRhaW4gc3luY2hyb25pemF0aW9uIHxcbnwgPGVtPkNBTUVSQV9GTEFTSF9NT0RFX1BFUk1BTkVOVDxcL2VtPiB8IEtlZXAgdHVybmVkIG9uIHVudGlsIHR1cm5pbmcgb2ZmIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTJjZjRhNzg4MGFjOTVmNjVhNjk4MDkwYTc1ZGQ5ZTU1XCI+Y2FtZXJhX2ZsaXA8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIGZsaXAuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9GTElQX05PTkU8XC9lbT4gfCBOb25lIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GTElQX0hPUklaT05UQUw8XC9lbT4gfCBIb3Jpem9udGFsIGZsaXAgfFxufCA8ZW0+Q0FNRVJBX0ZMSVBfVkVSVElDQUw8XC9lbT4gfCBWZXJ0aWNhbCBmbGlwIHxcbnwgPGVtPkNBTUVSQV9GTElQX0JPVEg8XC9lbT4gfCBCb3RoIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWRiZmVmMzA0MzUwOWVkODc1N2U4OTQ2OTY4N2E0ZmNjXCI+Y2FtZXJhX2ZvY3VzX21vZGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgZm9jdXMgbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfTk9ORTxcL2VtPiB8IE5vbmUgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfUEFOPFwvZW0+IHwgUGFuIG1vZGUgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX01PREVfQVVUTzxcL2VtPiB8IEF1dG8gbW9kZSB8XG58IDxlbT5DQU1FUkFfRk9DVVNfTU9ERV9DT05USU5VT1VTX0FVVE88XC9lbT4gfCBDb250aW51b3VzIGF1dG8gbW9kZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2ExOWUyMDE5NGY2YzUwNjc5MTcxZDg5ZTJkYTQ2YWM2N1wiPmNhbWVyYV9mb2N1c19yYW5nZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBmb2N1cyByYW5nZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX05PTkU8XC9lbT4gfCBOb25lIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9GT0NVU19SQU5HRV9OT1JNQUw8XC9lbT4gfCBOb3JtYWwgcmFuZ2UgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX01BQ1JPPFwvZW0+IHwgTWFjcm8gcmFuZ2UgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1JBTkdFX0ZVTEw8XC9lbT4gfCBGdWxsIHJhbmdlIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTUzYjliYzk4YmJlMzlhMGIwOTI3YTJkZTYwZWIwMDQyXCI+Y2FtZXJhX2ZvY3VzX3N0YXRlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGZvY3VzIHN0YXRlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfRk9DVVNfU1RBVEVfUkVMRUFTRUQ8XC9lbT4gfCBSZWxlYXNlZCBzdGF0ZSBmb3IgYXV0byBmb2N1cyB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfRk9DVVNfU1RBVEVfT05HT0lORzxcL2VtPiB8IE9uZ29pbmcgc3RhdGUgZm9yIGF1dG8gZm9jdXMgfFxufCA8ZW0+Q0FNRVJBX0ZPQ1VTX1NUQVRFX0ZPQ1VTRUQ8XC9lbT4gfCBGb2N1c2VkIHN0YXRlIGZvciBhdXRvIGZvY3VzIHxcbnwgPGVtPkNBTUVSQV9GT0NVU19TVEFURV9GQUlMRUQ8XC9lbT4gfCBGYWlsZWQgc3RhdGUgZm9yIGF1dG8gZm9jdXMgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMzM1ODljZWE2NWQ3MjE2M2Y1OWJhMjcxZTNlMzUyMzNcIj5jYW1lcmFfbWVzc2FnZV90eXBlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIGNhbWVyYSBtZXNzYWdlIHR5cGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfRk9DVVNfQ0hBTkdFRDxcL2VtPiB8IFRoZSBmb2N1cyBzdGF0ZSBjaGFuZ2VkIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfQ0FQVFVSRUQ8XC9lbT4gfCBUaGUgc25hcHNob3QgY2FwdHVyZWQgfFxufCA8ZW0+Q0FNRVJBX01FU1NBR0VfVFlQRV9IRFJfUFJPR1JFU1M8XC9lbT4gfCBUaGUgcHJvZ3Jlc3Mgb2YgSERSIHxcbnwgPGVtPkNBTUVSQV9NRVNTQUdFX1RZUEVfRVJST1I8XC9lbT4gfCBUaGUgZXJyb3IgfFxufCA8ZW0+Q0FNRVJBX01FU1NBR0VfVFlQRV9ORVRXT1JLX1NUQVRFPFwvZW0+IHwgVGhlIHN0YXRlIG9mIG5ldHdvcmsgY2FtZXJhIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYWE0NWE5YTExMjIwNDQ1MjY3ZDhjOTczZjU3NzUxODRhXCI+Y2FtZXJhX25ldHdvcmtfc3RhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIG5ldHdvcmsgc3RhdGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9ORVRXT1JLX1NUQVRFX1BMQVlJTkc8XC9lbT4gfCBQbGF5aW5nIHN0YXRlIGZvciBuZXR3b3JrIGNhbWVyYSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfTkVUV09SS19TVEFURV9QQVVTRUQ8XC9lbT4gfCBQYXVzZWQgc3RhdGUgZm9yIG5ldHdvcmsgY2FtZXJhIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMzZjAwNDEzODA0MDRmNDgwODk2MWE2MDcxOGQyZjFjXCI+Y2FtZXJhX3BpeGVsX2Zvcm1hdDxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBjYW1lcmEgcGl4ZWwgZm9ybWF0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX05WMTI8XC9lbT4gfCBSYXcgLSBOVjEyIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfTlYyMTxcL2VtPiB8IFJhdyAtIE5WMjEgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9JNDIwPFwvZW0+IHwgUmF3IC0gSTQyMCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX1lWMTI8XC9lbT4gfCBSYXcgLSBZVjEyIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfWVVZVjxcL2VtPiB8IFJhdyAtIFlVWVYgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9VWVZZPFwvZW0+IHwgUmF3IC0gVVlWWSB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX0JHUkE4ODg4PFwvZW0+IHwgUmF3IC0gQkdSQTg4ODggfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9BUkdCODg4ODxcL2VtPiB8IFJhdyAtIEFSR0I4ODg4IHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfSlBFRzxcL2VtPiB8IEVuY29kZWQgLSBKUEVHIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfSDI2NDxcL2VtPiB8IEVuY29kZWQgLSBILjI2NCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX01KUEVHPFwvZW0+IHwgRW5jb2RlZCAtIE1KUEVHIHxcbnwgPGVtPkNBTUVSQV9QSVhFTF9GT1JNQVRfVlA4PFwvZW0+IHwgRW5jb2RlZCAtIFZQOCB8XG58IDxlbT5DQU1FUkFfUElYRUxfRk9STUFUX1ZQOTxcL2VtPiB8IEVuY29kZWQgLSBWUDkgfFxufCA8ZW0+Q0FNRVJBX1BJWEVMX0ZPUk1BVF9ERVBUSDxcL2VtPiB8IERlcHRoIHw8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRS5tZCNnYTMyNmExNjIyODQ1NTY0MzcwZjBkMzYwZTYzYWQ3Y2U1XCI+Y2FtZXJhX3B0el90eXBlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIFBUWihQYW4gVGlsdCBab29tKSB0eXBlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUFRaX1RZUEVfTUVDSEFOSUNBTDxcL2VtPiB8IE1vdmUgdGhlIGNhbWVyYSBkZXZpY2UgcGh5c2ljYWxseSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfUFRaX1RZUEVfRUxFQ1RST05JQzxcL2VtPiB8IFpvb20gZGlnaXRhbGx5IGFuZCBtb3ZlIGludG8gcG9ydGlvbiBvZiB0aGUgaW1hZ2UgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhN2Y0YzVmNWQ3YTRiYTcyYWZlNzhiNGU3MzI1MGNhZGJcIj5jYW1lcmFfcm90YXRpb248XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHJvdGF0aW9uLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfUk9UQVRJT05fMDxcL2VtPiB8IDAgZGVncmVlIHxcbnwgLS0tIHwgLS0tIHxcbnwgPGVtPkNBTUVSQV9ST1RBVElPTl85MDxcL2VtPiB8IDkwIGRlZ3JlZSB8XG58IDxlbT5DQU1FUkFfUk9UQVRJT05fMTgwPFwvZW0+IHwgMTgwIGRlZ3JlZSB8XG58IDxlbT5DQU1FUkFfUk9UQVRJT05fMjcwPFwvZW0+IHwgMjcwIGRlZ3JlZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2EzZjAyNTMxMmVmMGNkNGViMWUwMWIwZDk0N2Q4ZWEzMVwiPmNhbWVyYV9zY2VuZV9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNjZW5lIG1vZGUuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX05PUk1BTDxcL2VtPiB8IE5vcm1hbCB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9QT1JUUkFJVDxcL2VtPiB8IFBvcnRyYWl0IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0xBTkRTQ0FQRTxcL2VtPiB8IExhbmRzY2FwZSB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9TUE9SVFM8XC9lbT4gfCBTcG9ydHMgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfUEFSVFlfTl9JTkRPT1I8XC9lbT4gfCBQYXJ0eSAmYW1wOyBpbmRvb3IgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfQkVBQ0hfTl9JTkRPT1I8XC9lbT4gfCBCZWFjaCAmYW1wOyBpbmRvb3IgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfU1VOU0VUPFwvZW0+IHwgU3Vuc2V0IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0RVU0tfTl9EQVdOPFwvZW0+IHwgRHVzayAmYW1wOyBkYXduIHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0ZBTExfQ09MT1I8XC9lbT4gfCBGYWxsIHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX05JR0hUX1NDRU5FPFwvZW0+IHwgTmlnaHQgc2NlbmUgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfRklSRVdPUks8XC9lbT4gfCBGaXJld29yayB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9URVhUPFwvZW0+IHwgVGV4dCB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9TSE9XX1dJTkRPVzxcL2VtPiB8IFNob3cgd2luZG93IHxcbnwgPGVtPkNBTUVSQV9TQ0VORV9NT0RFX0NBTkRMRV9MSUdIVDxcL2VtPiB8IENhbmRsZSBsaWdodCB8XG58IDxlbT5DQU1FUkFfU0NFTkVfTU9ERV9CQUNLTElHSFQ8XC9lbT4gfCBCYWNrbGlnaHQgfFxufCA8ZW0+Q0FNRVJBX1NDRU5FX01PREVfQVFVQTxcL2VtPiB8IEFxdWEgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhOGYzM2U1MDc3ZjgwNDEzNDQyMTJkMWQzYzViZTU2NThcIj5jYW1lcmFfc2hvdF9tb2RlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHNob3QgbW9kZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9DQU1FUkEgMS4wPFwvcD5cbjxwPjxzdHJvbmc+RW51bWVyYXRvcjo8XC9zdHJvbmc+XG46ICAgfCA8ZW0+Q0FNRVJBX1NIT1RfTU9ERV9OT1JNQUw8XC9lbT4gfCBOb3JtYWwgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX1NIT1RfTU9ERV9DT05USU5VT1VTPFwvZW0+IHwgQ29udGludW91cyB8XG58IDxlbT5DQU1FUkFfU0hPVF9NT0RFX0hEUjxcL2VtPiB8IEhEUiB8XG58IDxlbT5DQU1FUkFfU0hPVF9NT0RFX05JR0hUPFwvZW0+IHwgTmlnaHQgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhMTBjZDJhMTc1MWI5ZmFkZWU1NmVlMDM3MWJiYzE1N2JcIj5jYW1lcmFfc3RhdGU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgY2FtZXJhIHN0YXRlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfU1RBVEVfSU5JVElBTElaRUQ8XC9lbT4gfCBJbml0aWFsaXplZCBzdGF0ZSBmb3IgY2FtZXJhIGRldmljZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVEVfT1BFTkVEPFwvZW0+IHwgT3BlbmVkIHN0YXRlIGZvciBjYW1lcmEgZGV2aWNlIHxcbnwgPGVtPkNBTUVSQV9TVEFURV9QUkVWSUVXSU5HPFwvZW0+IHwgUHJldmlld2luZyBzdGF0ZSBmb3IgY2FtZXJhIGRldmljZSB8XG58IDxlbT5DQU1FUkFfU1RBVEVfQ0FQVFVSSU5HPFwvZW0+IHwgQ2FwdHVyaW5nIHN0YXRlIGZvciBjYW1lcmEgZGV2aWNlIHxcbnwgPGVtPkNBTUVSQV9TVEFURV9SRUNPUkRJTkc8XC9lbT4gfCBSZWNvcmRpbmcgc3RhdGUgZm9yIGNhbWVyYSBkZXZpY2UgfFxufCA8ZW0+Q0FNRVJBX1NUQVRFX1JFQ09SRElOR19TTkFQU0hPVDxcL2VtPiB8IENhcHR1cmluZyBzdGF0ZSB3aGlsZSByZWNvcmRpbmcgZm9yIGNhbWVyYSBkZXZpY2UgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhZjYyN2I0MmU2NGRjNzM1NjdiZDU0YzNmNTY3ZDZmNzFcIj5jYW1lcmFfc3RhdHVzX2F1dG9fZXhwb3N1cmU8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkVudW1lcmF0aW9uIGZvciB0aGUgYXV0byBleHBvc3VyZSBzdGF0dXMuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9TVEFUVVNfQVVUT19FWFBPU1VSRV9OT05FPFwvZW0+IHwgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fRVhQT1NVUkVfVU5TVEFCTEU8XC9lbT4gfCBVbnN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gZXhwb3N1cmUgfFxufCA8ZW0+Q0FNRVJBX1NUQVRVU19BVVRPX0VYUE9TVVJFX1NUQUJMRTxcL2VtPiB8IFN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gZXhwb3N1cmUgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX0NBTUVSQV9fTU9EVUxFLm1kI2dhYzU3OGZiNGQ1MjI4MjkwMDljZTU2MWFiN2M0NGY3MmNcIj5jYW1lcmFfc3RhdHVzX2F1dG9fd2hpdGVfYmFsYW5jZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIHRoZSBhdXRvIHdoaXRlIGJhbGFuY2Ugc3RhdHVzLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX0NBTUVSQSAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fV0hJVEVfQkFMQU5DRV9OT05FPFwvZW0+IHwgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5DQU1FUkFfU1RBVFVTX0FVVE9fV0hJVEVfQkFMQU5DRV9VTlNUQUJMRTxcL2VtPiB8IFVuc3RhYmxlIHN0YXR1cyBmb3IgYXV0byB3aGl0ZSBiYWxhbmNlIHxcbnwgPGVtPkNBTUVSQV9TVEFUVVNfQVVUT19XSElURV9CQUxBTkNFX1NUQUJMRTxcL2VtPiB8IFN0YWJsZSBzdGF0dXMgZm9yIGF1dG8gd2hpdGUgYmFsYW5jZSB8PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmVudW0gPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fQ0FNRVJBX19NT0RVTEUubWQjZ2E3NTQxNGZkNDgzYmNmZDYwYzU2N2FiMTQ1OGFiNmQ0MVwiPmNhbWVyYV93aGl0ZV9iYWxhbmNlPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgdGhlIHdoaXRlIGJhbGFuY2UuPFwvcD5cbjxwPjxzdHJvbmc+U2luY2U6PFwvc3Ryb25nPlxuOiAgIEhBTF9NT0RVTEVfQ0FNRVJBIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkNBTUVSQV9XSElURV9CQUxBTkNFX0FVVE88XC9lbT4gfCBBdXRvbWF0aWMgfFxufCAtLS0gfCAtLS0gfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfREFZTElHSFQ8XC9lbT4gfCBEYXlsaWdodCB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9DTE9VRFk8XC9lbT4gfCBDbG91ZHkgfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfRkxVT1JFU0NFTlQ8XC9lbT4gfCBGbHVvcmVzY2VudCB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9JTkNBTkRFU0NFTlQ8XC9lbT4gfCBJbmNhbmRlc2NlbnQgfFxufCA8ZW0+Q0FNRVJBX1dISVRFX0JBTEFOQ0VfU0hBREU8XC9lbT4gfCBTaGFkZSB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9IT1JJWk9OPFwvZW0+IHwgSG9yaXpvbiB8XG58IDxlbT5DQU1FUkFfV0hJVEVfQkFMQU5DRV9GTEFTSDxcL2VtPiB8IEZsYXNoIHw8XC9wPlxuPGhyIFwvPlxuPHA+RXhjZXB0IGFzIG5vdGVkLCB0aGlzIGNvbnRlbnQgLSBleGNsdWRpbmcgdGhlIENvZGUgRXhhbXBsZXMgLSBpcyBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cDpcL1wvY3JlYXRpdmVjb21tb25zLm9yZ1wvbGljZW5zZXNcL2J5XC8zLjBcL2xlZ2FsY29kZVwiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wPFwvYT5cbmFuZCBhbGwgb2YgdGhlIENvZGUgRXhhbXBsZXMgY29udGFpbmVkIGhlcmVpbiBhcmUgbGljZW5zZWQgdW5kZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9ic2QtMy1jbGF1c2UtbGljZW5zZVwiPkJTRC0zLUNsYXVzZTxcL2E+LjxiciBcLz5cbkZvciBkZXRhaWxzLCBzZWUgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnRpemVuLm9yZ1wvY29udGVudC1saWNlbnNlXCI+Q29udGVudCBMaWNlbnNlPFwvYT4uPFwvcD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIj5SZXF1aXJlZCBIZWFkZXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiPk92ZXJ2aWV3PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtc3RhdGUtZGlhZ3JhbVwiPlN0YXRlIERpYWdyYW08XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1zdGF0ZS10cmFuc2l0aW9uc1wiPlN0YXRlIFRyYW5zaXRpb25zPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTJcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0zXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tNFwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTVcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi02XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tN1wiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLThcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi05XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTBcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTEyXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTNcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xNFwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE1XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMTZcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xN1wiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTE4XCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRlZmluZS1kb2N1bWVudGF0aW9uXCI+RGVmaW5lIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIj5UeXBlZGVmIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIj5FbnVtZXJhdGlvbiBUeXBlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IlRpemVuIEhBTCBBUEk6IENhbWVyYSIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6IjM0UWNsQUVpWFFMd1RCYnd0QldtIiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvcGxhdGZvcm1cL2hhbFwvYXBpXC8xLjAuMFwvZ3JvdXBfX0hBTEFQSV9fSEFMX19DQU1FUkFfX01PRFVMRSIsIm1ldGhvZCI6IkdFVCIsInJlbGVhc2UiOiJhLWEtYSJ9LCJjaGVja3N1bSI6IjNiZmMwZjcxNTBiODY3NjcxNDA5OTI3YTVjOTYxNjMyZmI5ZGIwNmZhZjBiYmFlYzc2NDg4Y2EzOTRiZGZlMzkifQ==')" >