From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2BDE6C433E9 for ; Mon, 11 Jan 2021 19:24:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D641C22CA1 for ; Mon, 11 Jan 2021 19:24:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404158AbhAKTXn (ORCPT ); Mon, 11 Jan 2021 14:23:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390962AbhAKTVC (ORCPT ); Mon, 11 Jan 2021 14:21:02 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6114DC0617BA for ; Mon, 11 Jan 2021 11:19:50 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id c5so929444wrp.6 for ; Mon, 11 Jan 2021 11:19:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=zuhqnHidlUm2n1ZI5aIs9QFx4AUc70/YHEA1WeM39QW8N5XWaHafjHmSPg9a3DMLsS Xed5MJymAH7cHqtt5Z399UaRxfPfwE9nphMW+iuOAkL0l6tmXaSUh8yE6/DDTT0/Gu5D bbjK2u5UEa0TkVCdXx0q2rIAiPevnsFdOibCQWaRT9EtfGVfxMg2jhjZta/quDDeDSo3 DlH9MxF1cY96vggwVUieR8FDgyPeBgm+Z64vQEZdm4unnBiyMns1nrGKXU0ZU5DZEOpI ZHgOwBjo3ZN6YdmtHL+ULbgoCFp7uqXZY1N5ecpcKb2aY6TCa1XcLJ6ETu2wtQCs154H rQpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=m8F1ES1puTVAcSQkVF5VQhC+l5KB2iooLemkH/+tt0vJUM/01JlzLTL0mibcZ87u2g 01pxOurpIPYoNv60LhgeTKIa4za/B3kN+0c3fObu8juwJfCc9s4msBc0+bSHQZG1yO1E qiPgySHo84BWku998nWU5WEouUPKiasOczst5PZ+jPOIN90J6NGRB6KO6uTJgAC8Amt0 j9NNcm9TrV0qHL2E5hOsz1bgdpxo+Dj/qU21GxisnaUS6GJ1Cmge3/edcxmA2w69rAD4 x6MV86vESIkUAyHyOB6WGSdg16uExqbGeMcBg/36auLR+XplJqRCe4baxwzIsvU3IQEK NNnA== X-Gm-Message-State: AOAM533g/ASCpuDRBmM2heWpggh4QOXwT6q5vdxvxGz0pBsDzr/rC0CB Cs3w2j7JQG1jPNMdXdqhAMwt6bDlvVT6/faK X-Google-Smtp-Source: ABdhPJwr+ljFj+K/oPtJGwY03Z16V2scLg6p7fXjr75iToTkEkFhURSenkWn7R3ts1u3RQ9ATGKRHQ== X-Received: by 2002:a05:6000:1152:: with SMTP id d18mr635800wrx.6.1610392788950; Mon, 11 Jan 2021 11:19:48 -0800 (PST) Received: from dell.default ([91.110.221.229]) by smtp.gmail.com with ESMTPSA id n3sm778090wrw.61.2021.01.11.11.19.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 11:19:48 -0800 (PST) From: Lee Jones To: lee.jones@linaro.org Cc: linux-kernel@vger.kernel.org, Harry Wentland , Leo Li , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Daniel Vetter , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH 14/40] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Date: Mon, 11 Jan 2021 19:19:00 +0000 Message-Id: <20210111191926.3688443-15-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210111191926.3688443-1-lee.jones@linaro.org> References: <20210111191926.3688443-1-lee.jones@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fixes the following W=1 kernel build warning(s): drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function ‘bw_calcs_init’: drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2726:1: warning: the frame size of 1336 bytes is larger than 1024 bytes [-Wframe-larger-than=] Cc: Harry Wentland Cc: Leo Li Cc: Alex Deucher Cc: "Christian König" Cc: David Airlie Cc: Daniel Vetter Cc: amd-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Lee Jones --- .../gpu/drm/amd/display/dc/calcs/dce_calcs.c | 1115 +++++++++-------- 1 file changed, 560 insertions(+), 555 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c index a0c69fae40ced..f69c2b84d432b 100644 --- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c +++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c @@ -2035,707 +2035,712 @@ void bw_calcs_init(struct bw_calcs_dceip *bw_dceip, struct bw_calcs_vbios *bw_vbios, struct hw_asic_id asic_id) { - struct bw_calcs_dceip dceip = { 0 }; - struct bw_calcs_vbios vbios = { 0 }; + struct bw_calcs_dceip *dceip; + struct bw_calcs_vbios *vbios; enum bw_calcs_version version = bw_calcs_version_from_asic_id(asic_id); - dceip.version = version; + dceip = kzalloc(sizeof(dceip), GFP_KERNEL); + vbios = kzalloc(sizeof(vbios), GFP_KERNEL); + + dceip->version = version; switch (version) { case BW_CALCS_VERSION_CARRIZO: - vbios.memory_type = bw_def_gddr5; - vbios.dram_channel_width_in_bits = 64; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 8; - vbios.high_yclk = bw_int_to_fixed(1600); - vbios.mid_yclk = bw_int_to_fixed(1600); - vbios.low_yclk = bw_frc_to_fixed(66666, 100); - vbios.low_sclk = bw_int_to_fixed(200); - vbios.mid1_sclk = bw_int_to_fixed(300); - vbios.mid2_sclk = bw_int_to_fixed(300); - vbios.mid3_sclk = bw_int_to_fixed(300); - vbios.mid4_sclk = bw_int_to_fixed(300); - vbios.mid5_sclk = bw_int_to_fixed(300); - vbios.mid6_sclk = bw_int_to_fixed(300); - vbios.high_sclk = bw_frc_to_fixed(62609, 100); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(352); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(467); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(643); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(50); - vbios.dmifmc_urgent_latency = bw_int_to_fixed(4); - vbios.stutter_self_refresh_exit_latency = bw_frc_to_fixed(153, 10); - vbios.stutter_self_refresh_entry_latency = bw_int_to_fixed(0); - vbios.nbp_state_change_latency = bw_frc_to_fixed(19649, 1000); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = true; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(768); - dceip.dmif_pipe_en_fbc_chunk_tracker = false; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 3; - dceip.number_of_underlay_pipes = 1; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = false; - dceip.argb_compression_support = false; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->memory_type = bw_def_gddr5; + vbios->dram_channel_width_in_bits = 64; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 8; + vbios->high_yclk = bw_int_to_fixed(1600); + vbios->mid_yclk = bw_int_to_fixed(1600); + vbios->low_yclk = bw_frc_to_fixed(66666, 100); + vbios->low_sclk = bw_int_to_fixed(200); + vbios->mid1_sclk = bw_int_to_fixed(300); + vbios->mid2_sclk = bw_int_to_fixed(300); + vbios->mid3_sclk = bw_int_to_fixed(300); + vbios->mid4_sclk = bw_int_to_fixed(300); + vbios->mid5_sclk = bw_int_to_fixed(300); + vbios->mid6_sclk = bw_int_to_fixed(300); + vbios->high_sclk = bw_frc_to_fixed(62609, 100); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(352); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(467); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(643); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(50); + vbios->dmifmc_urgent_latency = bw_int_to_fixed(4); + vbios->stutter_self_refresh_exit_latency = bw_frc_to_fixed(153, 10); + vbios->stutter_self_refresh_entry_latency = bw_int_to_fixed(0); + vbios->nbp_state_change_latency = bw_frc_to_fixed(19649, 1000); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = true; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(768); + dceip->dmif_pipe_en_fbc_chunk_tracker = false; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 3; + dceip->number_of_underlay_pipes = 1; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = false; + dceip->argb_compression_support = false; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 2; - dceip.graphics_dmif_size = 12288; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = true; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(82176); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = false; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 2; + dceip->graphics_dmif_size = 12288; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = true; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(82176); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = false; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(0); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); /* todo: this is a bug*/ + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); /* todo: this is a bug*/ break; case BW_CALCS_VERSION_POLARIS10: /* TODO: Treat VEGAM the same as P10 for now * Need to tune the para for VEGAM if needed */ case BW_CALCS_VERSION_VEGAM: - vbios.memory_type = bw_def_gddr5; - vbios.dram_channel_width_in_bits = 32; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 8; - vbios.high_yclk = bw_int_to_fixed(6000); - vbios.mid_yclk = bw_int_to_fixed(3200); - vbios.low_yclk = bw_int_to_fixed(1000); - vbios.low_sclk = bw_int_to_fixed(300); - vbios.mid1_sclk = bw_int_to_fixed(400); - vbios.mid2_sclk = bw_int_to_fixed(500); - vbios.mid3_sclk = bw_int_to_fixed(600); - vbios.mid4_sclk = bw_int_to_fixed(700); - vbios.mid5_sclk = bw_int_to_fixed(800); - vbios.mid6_sclk = bw_int_to_fixed(974); - vbios.high_sclk = bw_int_to_fixed(1154); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(459); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(654); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(1108); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(48); - vbios.dmifmc_urgent_latency = bw_int_to_fixed(3); - vbios.stutter_self_refresh_exit_latency = bw_int_to_fixed(5); - vbios.stutter_self_refresh_entry_latency = bw_int_to_fixed(0); - vbios.nbp_state_change_latency = bw_int_to_fixed(45); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = true; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(768); - dceip.dmif_pipe_en_fbc_chunk_tracker = false; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 6; - dceip.number_of_underlay_pipes = 0; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = false; - dceip.argb_compression_support = true; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->memory_type = bw_def_gddr5; + vbios->dram_channel_width_in_bits = 32; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 8; + vbios->high_yclk = bw_int_to_fixed(6000); + vbios->mid_yclk = bw_int_to_fixed(3200); + vbios->low_yclk = bw_int_to_fixed(1000); + vbios->low_sclk = bw_int_to_fixed(300); + vbios->mid1_sclk = bw_int_to_fixed(400); + vbios->mid2_sclk = bw_int_to_fixed(500); + vbios->mid3_sclk = bw_int_to_fixed(600); + vbios->mid4_sclk = bw_int_to_fixed(700); + vbios->mid5_sclk = bw_int_to_fixed(800); + vbios->mid6_sclk = bw_int_to_fixed(974); + vbios->high_sclk = bw_int_to_fixed(1154); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(459); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(654); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(1108); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(48); + vbios->dmifmc_urgent_latency = bw_int_to_fixed(3); + vbios->stutter_self_refresh_exit_latency = bw_int_to_fixed(5); + vbios->stutter_self_refresh_entry_latency = bw_int_to_fixed(0); + vbios->nbp_state_change_latency = bw_int_to_fixed(45); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = true; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(768); + dceip->dmif_pipe_en_fbc_chunk_tracker = false; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 6; + dceip->number_of_underlay_pipes = 0; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = false; + dceip->argb_compression_support = true; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 4; - dceip.graphics_dmif_size = 12288; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = true; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(245952); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = true; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 4; + dceip->graphics_dmif_size = 12288; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = true; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(245952); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = true; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(1); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); break; case BW_CALCS_VERSION_POLARIS11: - vbios.memory_type = bw_def_gddr5; - vbios.dram_channel_width_in_bits = 32; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 8; - vbios.high_yclk = bw_int_to_fixed(6000); - vbios.mid_yclk = bw_int_to_fixed(3200); - vbios.low_yclk = bw_int_to_fixed(1000); - vbios.low_sclk = bw_int_to_fixed(300); - vbios.mid1_sclk = bw_int_to_fixed(400); - vbios.mid2_sclk = bw_int_to_fixed(500); - vbios.mid3_sclk = bw_int_to_fixed(600); - vbios.mid4_sclk = bw_int_to_fixed(700); - vbios.mid5_sclk = bw_int_to_fixed(800); - vbios.mid6_sclk = bw_int_to_fixed(974); - vbios.high_sclk = bw_int_to_fixed(1154); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(459); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(654); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(1108); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(48); - if (vbios.number_of_dram_channels == 2) // 64-bit - vbios.dmifmc_urgent_latency = bw_int_to_fixed(4); + vbios->memory_type = bw_def_gddr5; + vbios->dram_channel_width_in_bits = 32; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 8; + vbios->high_yclk = bw_int_to_fixed(6000); + vbios->mid_yclk = bw_int_to_fixed(3200); + vbios->low_yclk = bw_int_to_fixed(1000); + vbios->low_sclk = bw_int_to_fixed(300); + vbios->mid1_sclk = bw_int_to_fixed(400); + vbios->mid2_sclk = bw_int_to_fixed(500); + vbios->mid3_sclk = bw_int_to_fixed(600); + vbios->mid4_sclk = bw_int_to_fixed(700); + vbios->mid5_sclk = bw_int_to_fixed(800); + vbios->mid6_sclk = bw_int_to_fixed(974); + vbios->high_sclk = bw_int_to_fixed(1154); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(459); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(654); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(1108); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(48); + if (vbios->number_of_dram_channels == 2) // 64-bit + vbios->dmifmc_urgent_latency = bw_int_to_fixed(4); else - vbios.dmifmc_urgent_latency = bw_int_to_fixed(3); - vbios.stutter_self_refresh_exit_latency = bw_int_to_fixed(5); - vbios.stutter_self_refresh_entry_latency = bw_int_to_fixed(0); - vbios.nbp_state_change_latency = bw_int_to_fixed(45); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = true; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(768); - dceip.dmif_pipe_en_fbc_chunk_tracker = false; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 5; - dceip.number_of_underlay_pipes = 0; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = false; - dceip.argb_compression_support = true; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->dmifmc_urgent_latency = bw_int_to_fixed(3); + vbios->stutter_self_refresh_exit_latency = bw_int_to_fixed(5); + vbios->stutter_self_refresh_entry_latency = bw_int_to_fixed(0); + vbios->nbp_state_change_latency = bw_int_to_fixed(45); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = true; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(768); + dceip->dmif_pipe_en_fbc_chunk_tracker = false; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 5; + dceip->number_of_underlay_pipes = 0; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = false; + dceip->argb_compression_support = true; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 4; - dceip.graphics_dmif_size = 12288; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = true; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(245952); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = true; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 4; + dceip->graphics_dmif_size = 12288; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = true; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(245952); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = true; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(1); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); break; case BW_CALCS_VERSION_POLARIS12: - vbios.memory_type = bw_def_gddr5; - vbios.dram_channel_width_in_bits = 32; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 8; - vbios.high_yclk = bw_int_to_fixed(6000); - vbios.mid_yclk = bw_int_to_fixed(3200); - vbios.low_yclk = bw_int_to_fixed(1000); - vbios.low_sclk = bw_int_to_fixed(678); - vbios.mid1_sclk = bw_int_to_fixed(864); - vbios.mid2_sclk = bw_int_to_fixed(900); - vbios.mid3_sclk = bw_int_to_fixed(920); - vbios.mid4_sclk = bw_int_to_fixed(940); - vbios.mid5_sclk = bw_int_to_fixed(960); - vbios.mid6_sclk = bw_int_to_fixed(980); - vbios.high_sclk = bw_int_to_fixed(1049); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(459); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(654); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(1108); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(48); - if (vbios.number_of_dram_channels == 2) // 64-bit - vbios.dmifmc_urgent_latency = bw_int_to_fixed(4); + vbios->memory_type = bw_def_gddr5; + vbios->dram_channel_width_in_bits = 32; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 8; + vbios->high_yclk = bw_int_to_fixed(6000); + vbios->mid_yclk = bw_int_to_fixed(3200); + vbios->low_yclk = bw_int_to_fixed(1000); + vbios->low_sclk = bw_int_to_fixed(678); + vbios->mid1_sclk = bw_int_to_fixed(864); + vbios->mid2_sclk = bw_int_to_fixed(900); + vbios->mid3_sclk = bw_int_to_fixed(920); + vbios->mid4_sclk = bw_int_to_fixed(940); + vbios->mid5_sclk = bw_int_to_fixed(960); + vbios->mid6_sclk = bw_int_to_fixed(980); + vbios->high_sclk = bw_int_to_fixed(1049); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(459); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(654); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(1108); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(48); + if (vbios->number_of_dram_channels == 2) // 64-bit + vbios->dmifmc_urgent_latency = bw_int_to_fixed(4); else - vbios.dmifmc_urgent_latency = bw_int_to_fixed(3); - vbios.stutter_self_refresh_exit_latency = bw_int_to_fixed(5); - vbios.stutter_self_refresh_entry_latency = bw_int_to_fixed(0); - vbios.nbp_state_change_latency = bw_int_to_fixed(250); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = false; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(768); - dceip.dmif_pipe_en_fbc_chunk_tracker = false; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 5; - dceip.number_of_underlay_pipes = 0; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = true; - dceip.argb_compression_support = true; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->dmifmc_urgent_latency = bw_int_to_fixed(3); + vbios->stutter_self_refresh_exit_latency = bw_int_to_fixed(5); + vbios->stutter_self_refresh_entry_latency = bw_int_to_fixed(0); + vbios->nbp_state_change_latency = bw_int_to_fixed(250); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = false; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(768); + dceip->dmif_pipe_en_fbc_chunk_tracker = false; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 5; + dceip->number_of_underlay_pipes = 0; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = true; + dceip->argb_compression_support = true; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 4; - dceip.graphics_dmif_size = 12288; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = true; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(245952); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = true; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 4; + dceip->graphics_dmif_size = 12288; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = true; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(245952); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = true; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(1); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); break; case BW_CALCS_VERSION_STONEY: - vbios.memory_type = bw_def_gddr5; - vbios.dram_channel_width_in_bits = 64; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 8; - vbios.high_yclk = bw_int_to_fixed(1866); - vbios.mid_yclk = bw_int_to_fixed(1866); - vbios.low_yclk = bw_int_to_fixed(1333); - vbios.low_sclk = bw_int_to_fixed(200); - vbios.mid1_sclk = bw_int_to_fixed(600); - vbios.mid2_sclk = bw_int_to_fixed(600); - vbios.mid3_sclk = bw_int_to_fixed(600); - vbios.mid4_sclk = bw_int_to_fixed(600); - vbios.mid5_sclk = bw_int_to_fixed(600); - vbios.mid6_sclk = bw_int_to_fixed(600); - vbios.high_sclk = bw_int_to_fixed(800); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(352); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(467); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(643); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(50); - vbios.dmifmc_urgent_latency = bw_int_to_fixed(4); - vbios.stutter_self_refresh_exit_latency = bw_frc_to_fixed(158, 10); - vbios.stutter_self_refresh_entry_latency = bw_int_to_fixed(0); - vbios.nbp_state_change_latency = bw_frc_to_fixed(2008, 100); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = true; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(768); - dceip.dmif_pipe_en_fbc_chunk_tracker = false; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 2; - dceip.number_of_underlay_pipes = 1; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = false; - dceip.argb_compression_support = true; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->memory_type = bw_def_gddr5; + vbios->dram_channel_width_in_bits = 64; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 8; + vbios->high_yclk = bw_int_to_fixed(1866); + vbios->mid_yclk = bw_int_to_fixed(1866); + vbios->low_yclk = bw_int_to_fixed(1333); + vbios->low_sclk = bw_int_to_fixed(200); + vbios->mid1_sclk = bw_int_to_fixed(600); + vbios->mid2_sclk = bw_int_to_fixed(600); + vbios->mid3_sclk = bw_int_to_fixed(600); + vbios->mid4_sclk = bw_int_to_fixed(600); + vbios->mid5_sclk = bw_int_to_fixed(600); + vbios->mid6_sclk = bw_int_to_fixed(600); + vbios->high_sclk = bw_int_to_fixed(800); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(352); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(467); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(643); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(50); + vbios->dmifmc_urgent_latency = bw_int_to_fixed(4); + vbios->stutter_self_refresh_exit_latency = bw_frc_to_fixed(158, 10); + vbios->stutter_self_refresh_entry_latency = bw_int_to_fixed(0); + vbios->nbp_state_change_latency = bw_frc_to_fixed(2008, 100); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = true; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 256; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(768); + dceip->dmif_pipe_en_fbc_chunk_tracker = false; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 2; + dceip->number_of_underlay_pipes = 1; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = false; + dceip->argb_compression_support = true; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 2; - dceip.graphics_dmif_size = 12288; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = true; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(82176); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = false; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 2; + dceip->graphics_dmif_size = 12288; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = true; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(82176); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = false; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(0); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); break; case BW_CALCS_VERSION_VEGA10: - vbios.memory_type = bw_def_hbm; - vbios.dram_channel_width_in_bits = 128; - vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits; - vbios.number_of_dram_banks = 16; - vbios.high_yclk = bw_int_to_fixed(2400); - vbios.mid_yclk = bw_int_to_fixed(1700); - vbios.low_yclk = bw_int_to_fixed(1000); - vbios.low_sclk = bw_int_to_fixed(300); - vbios.mid1_sclk = bw_int_to_fixed(350); - vbios.mid2_sclk = bw_int_to_fixed(400); - vbios.mid3_sclk = bw_int_to_fixed(500); - vbios.mid4_sclk = bw_int_to_fixed(600); - vbios.mid5_sclk = bw_int_to_fixed(700); - vbios.mid6_sclk = bw_int_to_fixed(760); - vbios.high_sclk = bw_int_to_fixed(776); - vbios.low_voltage_max_dispclk = bw_int_to_fixed(460); - vbios.mid_voltage_max_dispclk = bw_int_to_fixed(670); - vbios.high_voltage_max_dispclk = bw_int_to_fixed(1133); - vbios.low_voltage_max_phyclk = bw_int_to_fixed(540); - vbios.mid_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.high_voltage_max_phyclk = bw_int_to_fixed(810); - vbios.data_return_bus_width = bw_int_to_fixed(32); - vbios.trc = bw_int_to_fixed(48); - vbios.dmifmc_urgent_latency = bw_int_to_fixed(3); - vbios.stutter_self_refresh_exit_latency = bw_frc_to_fixed(75, 10); - vbios.stutter_self_refresh_entry_latency = bw_frc_to_fixed(19, 10); - vbios.nbp_state_change_latency = bw_int_to_fixed(39); - vbios.mcifwrmc_urgent_latency = bw_int_to_fixed(10); - vbios.scatter_gather_enable = false; - vbios.down_spread_percentage = bw_frc_to_fixed(5, 10); - vbios.cursor_width = 32; - vbios.average_compression_rate = 4; - vbios.number_of_request_slots_gmc_reserves_for_dmif_per_channel = 8; - vbios.blackout_duration = bw_int_to_fixed(0); /* us */ - vbios.maximum_blackout_recovery_time = bw_int_to_fixed(0); - - dceip.max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; - dceip.max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; - dceip.percent_of_ideal_port_bw_received_after_urgent_latency = 100; - dceip.large_cursor = false; - dceip.dmif_request_buffer_size = bw_int_to_fixed(2304); - dceip.dmif_pipe_en_fbc_chunk_tracker = true; - dceip.cursor_max_outstanding_group_num = 1; - dceip.lines_interleaved_into_lb = 2; - dceip.chunk_width = 256; - dceip.number_of_graphics_pipes = 6; - dceip.number_of_underlay_pipes = 0; - dceip.low_power_tiling_mode = 0; - dceip.display_write_back_supported = true; - dceip.argb_compression_support = true; - dceip.underlay_vscaler_efficiency6_bit_per_component = + vbios->memory_type = bw_def_hbm; + vbios->dram_channel_width_in_bits = 128; + vbios->number_of_dram_channels = asic_id.vram_width / vbios->dram_channel_width_in_bits; + vbios->number_of_dram_banks = 16; + vbios->high_yclk = bw_int_to_fixed(2400); + vbios->mid_yclk = bw_int_to_fixed(1700); + vbios->low_yclk = bw_int_to_fixed(1000); + vbios->low_sclk = bw_int_to_fixed(300); + vbios->mid1_sclk = bw_int_to_fixed(350); + vbios->mid2_sclk = bw_int_to_fixed(400); + vbios->mid3_sclk = bw_int_to_fixed(500); + vbios->mid4_sclk = bw_int_to_fixed(600); + vbios->mid5_sclk = bw_int_to_fixed(700); + vbios->mid6_sclk = bw_int_to_fixed(760); + vbios->high_sclk = bw_int_to_fixed(776); + vbios->low_voltage_max_dispclk = bw_int_to_fixed(460); + vbios->mid_voltage_max_dispclk = bw_int_to_fixed(670); + vbios->high_voltage_max_dispclk = bw_int_to_fixed(1133); + vbios->low_voltage_max_phyclk = bw_int_to_fixed(540); + vbios->mid_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->high_voltage_max_phyclk = bw_int_to_fixed(810); + vbios->data_return_bus_width = bw_int_to_fixed(32); + vbios->trc = bw_int_to_fixed(48); + vbios->dmifmc_urgent_latency = bw_int_to_fixed(3); + vbios->stutter_self_refresh_exit_latency = bw_frc_to_fixed(75, 10); + vbios->stutter_self_refresh_entry_latency = bw_frc_to_fixed(19, 10); + vbios->nbp_state_change_latency = bw_int_to_fixed(39); + vbios->mcifwrmc_urgent_latency = bw_int_to_fixed(10); + vbios->scatter_gather_enable = false; + vbios->down_spread_percentage = bw_frc_to_fixed(5, 10); + vbios->cursor_width = 32; + vbios->average_compression_rate = 4; + vbios->number_of_request_slots_gmc_reserves_for_dmif_per_channel = 8; + vbios->blackout_duration = bw_int_to_fixed(0); /* us */ + vbios->maximum_blackout_recovery_time = bw_int_to_fixed(0); + + dceip->max_average_percent_of_ideal_port_bw_display_can_use_in_normal_system_operation = 100; + dceip->max_average_percent_of_ideal_drambw_display_can_use_in_normal_system_operation = 100; + dceip->percent_of_ideal_port_bw_received_after_urgent_latency = 100; + dceip->large_cursor = false; + dceip->dmif_request_buffer_size = bw_int_to_fixed(2304); + dceip->dmif_pipe_en_fbc_chunk_tracker = true; + dceip->cursor_max_outstanding_group_num = 1; + dceip->lines_interleaved_into_lb = 2; + dceip->chunk_width = 256; + dceip->number_of_graphics_pipes = 6; + dceip->number_of_underlay_pipes = 0; + dceip->low_power_tiling_mode = 0; + dceip->display_write_back_supported = true; + dceip->argb_compression_support = true; + dceip->underlay_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35556, 10000); - dceip.underlay_vscaler_efficiency8_bit_per_component = + dceip->underlay_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.underlay_vscaler_efficiency10_bit_per_component = + dceip->underlay_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.underlay_vscaler_efficiency12_bit_per_component = + dceip->underlay_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.graphics_vscaler_efficiency6_bit_per_component = + dceip->graphics_vscaler_efficiency6_bit_per_component = bw_frc_to_fixed(35, 10); - dceip.graphics_vscaler_efficiency8_bit_per_component = + dceip->graphics_vscaler_efficiency8_bit_per_component = bw_frc_to_fixed(34286, 10000); - dceip.graphics_vscaler_efficiency10_bit_per_component = + dceip->graphics_vscaler_efficiency10_bit_per_component = bw_frc_to_fixed(32, 10); - dceip.graphics_vscaler_efficiency12_bit_per_component = + dceip->graphics_vscaler_efficiency12_bit_per_component = bw_int_to_fixed(3); - dceip.alpha_vscaler_efficiency = bw_int_to_fixed(3); - dceip.max_dmif_buffer_allocated = 4; - dceip.graphics_dmif_size = 24576; - dceip.underlay_luma_dmif_size = 19456; - dceip.underlay_chroma_dmif_size = 23552; - dceip.pre_downscaler_enabled = true; - dceip.underlay_downscale_prefetch_enabled = false; - dceip.lb_write_pixels_per_dispclk = bw_int_to_fixed(1); - dceip.lb_size_per_component444 = bw_int_to_fixed(245952); - dceip.graphics_lb_nodownscaling_multi_line_prefetching = true; - dceip.stutter_and_dram_clock_state_change_gated_before_cursor = + dceip->alpha_vscaler_efficiency = bw_int_to_fixed(3); + dceip->max_dmif_buffer_allocated = 4; + dceip->graphics_dmif_size = 24576; + dceip->underlay_luma_dmif_size = 19456; + dceip->underlay_chroma_dmif_size = 23552; + dceip->pre_downscaler_enabled = true; + dceip->underlay_downscale_prefetch_enabled = false; + dceip->lb_write_pixels_per_dispclk = bw_int_to_fixed(1); + dceip->lb_size_per_component444 = bw_int_to_fixed(245952); + dceip->graphics_lb_nodownscaling_multi_line_prefetching = true; + dceip->stutter_and_dram_clock_state_change_gated_before_cursor = bw_int_to_fixed(1); - dceip.underlay420_luma_lb_size_per_component = bw_int_to_fixed( + dceip->underlay420_luma_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.underlay420_chroma_lb_size_per_component = + dceip->underlay420_chroma_lb_size_per_component = bw_int_to_fixed(164352); - dceip.underlay422_lb_size_per_component = bw_int_to_fixed( + dceip->underlay422_lb_size_per_component = bw_int_to_fixed( 82176); - dceip.cursor_chunk_width = bw_int_to_fixed(64); - dceip.cursor_dcp_buffer_lines = bw_int_to_fixed(4); - dceip.underlay_maximum_width_efficient_for_tiling = + dceip->cursor_chunk_width = bw_int_to_fixed(64); + dceip->cursor_dcp_buffer_lines = bw_int_to_fixed(4); + dceip->underlay_maximum_width_efficient_for_tiling = bw_int_to_fixed(1920); - dceip.underlay_maximum_height_efficient_for_tiling = + dceip->underlay_maximum_height_efficient_for_tiling = bw_int_to_fixed(1080); - dceip.peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = + dceip->peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display = bw_frc_to_fixed(3, 10); - dceip.peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = + dceip->peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation = bw_int_to_fixed(25); - dceip.minimum_outstanding_pte_request_limit = bw_int_to_fixed( + dceip->minimum_outstanding_pte_request_limit = bw_int_to_fixed( 2); - dceip.maximum_total_outstanding_pte_requests_allowed_by_saw = + dceip->maximum_total_outstanding_pte_requests_allowed_by_saw = bw_int_to_fixed(128); - dceip.limit_excessive_outstanding_dmif_requests = true; - dceip.linear_mode_line_request_alternation_slice = + dceip->limit_excessive_outstanding_dmif_requests = true; + dceip->linear_mode_line_request_alternation_slice = bw_int_to_fixed(64); - dceip.scatter_gather_lines_of_pte_prefetching_in_linear_mode = + dceip->scatter_gather_lines_of_pte_prefetching_in_linear_mode = 32; - dceip.display_write_back420_luma_mcifwr_buffer_size = 12288; - dceip.display_write_back420_chroma_mcifwr_buffer_size = 8192; - dceip.request_efficiency = bw_frc_to_fixed(8, 10); - dceip.dispclk_per_request = bw_int_to_fixed(2); - dceip.dispclk_ramping_factor = bw_frc_to_fixed(105, 100); - dceip.display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); - dceip.scatter_gather_pte_request_rows_in_tiling_mode = 2; - dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); + dceip->display_write_back420_luma_mcifwr_buffer_size = 12288; + dceip->display_write_back420_chroma_mcifwr_buffer_size = 8192; + dceip->request_efficiency = bw_frc_to_fixed(8, 10); + dceip->dispclk_per_request = bw_int_to_fixed(2); + dceip->dispclk_ramping_factor = bw_frc_to_fixed(105, 100); + dceip->display_pipe_throughput_factor = bw_frc_to_fixed(105, 100); + dceip->scatter_gather_pte_request_rows_in_tiling_mode = 2; + dceip->mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); break; default: break; } - *bw_dceip = dceip; - *bw_vbios = vbios; + *bw_dceip = *dceip; + *bw_vbios = *vbios; + kfree(dceip); + kfree(vbios); } /** -- 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3147BC433DB for ; Mon, 11 Jan 2021 19:20:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DB1B322CA1 for ; Mon, 11 Jan 2021 19:20:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB1B322CA1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B3890892F6; Mon, 11 Jan 2021 19:19:53 +0000 (UTC) Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by gabe.freedesktop.org (Postfix) with ESMTPS id 88AD089E2B for ; Mon, 11 Jan 2021 19:19:50 +0000 (UTC) Received: by mail-wr1-x42a.google.com with SMTP id t30so973002wrb.0 for ; Mon, 11 Jan 2021 11:19:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=zuhqnHidlUm2n1ZI5aIs9QFx4AUc70/YHEA1WeM39QW8N5XWaHafjHmSPg9a3DMLsS Xed5MJymAH7cHqtt5Z399UaRxfPfwE9nphMW+iuOAkL0l6tmXaSUh8yE6/DDTT0/Gu5D bbjK2u5UEa0TkVCdXx0q2rIAiPevnsFdOibCQWaRT9EtfGVfxMg2jhjZta/quDDeDSo3 DlH9MxF1cY96vggwVUieR8FDgyPeBgm+Z64vQEZdm4unnBiyMns1nrGKXU0ZU5DZEOpI ZHgOwBjo3ZN6YdmtHL+ULbgoCFp7uqXZY1N5ecpcKb2aY6TCa1XcLJ6ETu2wtQCs154H rQpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=RXf6A7clmJgy44SCx3MNUHdYBsnHpH3vb+aFQbHcHIqFm+zA1rtHkxwFu3bJaCU10u DuoZudLCPek+Fcqx1Y2Le47wVZeo2kPDikQuRpgALZyDrWpHK6exgPE7LS8KykDcI3/v NY96EbyNDEODrk+UDLQhEmjogbdGYSqxj0GST9uVN06U/gthMBXNRHDeV6hDvwCdJlmY HlEetgMWRYnzPrHxnPqMm6T53RCEXRFm9tt5BFwxWbaZwhEFz73EzKFzv73Cl+1JAub1 IDaamfWqOaWFsbM2YQwVSgY/nB4NySMzch7dGcuR09IiipCEKxPjG3LMtCjBl1w+GvfX 7wRA== X-Gm-Message-State: AOAM531AKgUaWj38jOxixsXpvdzXT2v1kJ2oboIVrh84LI9vgfWTcqq0 rN+dhgmIMSdE98d4MImdZHjNqA== X-Google-Smtp-Source: ABdhPJwr+ljFj+K/oPtJGwY03Z16V2scLg6p7fXjr75iToTkEkFhURSenkWn7R3ts1u3RQ9ATGKRHQ== X-Received: by 2002:a05:6000:1152:: with SMTP id d18mr635800wrx.6.1610392788950; Mon, 11 Jan 2021 11:19:48 -0800 (PST) Received: from dell.default ([91.110.221.229]) by smtp.gmail.com with ESMTPSA id n3sm778090wrw.61.2021.01.11.11.19.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 11:19:48 -0800 (PST) From: Lee Jones To: lee.jones@linaro.org Subject: [PATCH 14/40] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Date: Mon, 11 Jan 2021 19:19:00 +0000 Message-Id: <20210111191926.3688443-15-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210111191926.3688443-1-lee.jones@linaro.org> References: <20210111191926.3688443-1-lee.jones@linaro.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Li , linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, David Airlie , dri-devel@lists.freedesktop.org, Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Rml4ZXMgdGhlIGZvbGxvd2luZyBXPTEga2VybmVsIGJ1aWxkIHdhcm5pbmcocyk6CgogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vZGlzcGxheS9kYy9jYWxjcy9kY2VfY2FsY3MuYzogSW4g ZnVuY3Rpb24g4oCYYndfY2FsY3NfaW5pdOKAmToKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 Ly4uL2Rpc3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmM6MjcyNjoxOiB3YXJuaW5nOiB0aGUgZnJh bWUgc2l6ZSBvZiAxMzM2IGJ5dGVzIGlzIGxhcmdlciB0aGFuIDEwMjQgYnl0ZXMgWy1XZnJhbWUt bGFyZ2VyLXRoYW49XQoKQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29t PgpDYzogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+CkNjOiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnClNpZ25lZC1vZmYtYnk6 IExlZSBKb25lcyA8bGVlLmpvbmVzQGxpbmFyby5vcmc+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmMgIHwgMTExNSArKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDU2MCBpbnNlcnRpb25zKCspLCA1NTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2RjZV9jYWxjcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2RjZV9jYWxjcy5jCmluZGV4IGEw YzY5ZmFlNDBjZWQuLmY2OWMyYjg0ZDQzMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jYWxjcy9kY2VfY2FsY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmMKQEAgLTIwMzUsNzA3ICsyMDM1LDcxMiBAQCB2 b2lkIGJ3X2NhbGNzX2luaXQoc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpid19kY2VpcCwKIAlzdHJ1 Y3QgYndfY2FsY3NfdmJpb3MgKmJ3X3ZiaW9zLAogCXN0cnVjdCBod19hc2ljX2lkIGFzaWNfaWQp CiB7Ci0Jc3RydWN0IGJ3X2NhbGNzX2RjZWlwIGRjZWlwID0geyAwIH07Ci0Jc3RydWN0IGJ3X2Nh bGNzX3ZiaW9zIHZiaW9zID0geyAwIH07CisJc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpkY2VpcDsK KwlzdHJ1Y3QgYndfY2FsY3NfdmJpb3MgKnZiaW9zOwogCiAJZW51bSBid19jYWxjc192ZXJzaW9u IHZlcnNpb24gPSBid19jYWxjc192ZXJzaW9uX2Zyb21fYXNpY19pZChhc2ljX2lkKTsKIAotCWRj ZWlwLnZlcnNpb24gPSB2ZXJzaW9uOworCWRjZWlwID0ga3phbGxvYyhzaXplb2YoZGNlaXApLCBH RlBfS0VSTkVMKTsKKwl2YmlvcyA9IGt6YWxsb2Moc2l6ZW9mKHZiaW9zKSwgR0ZQX0tFUk5FTCk7 CisKKwlkY2VpcC0+dmVyc2lvbiA9IHZlcnNpb247CiAKIAlzd2l0Y2ggKHZlcnNpb24pIHsKIAlj YXNlIEJXX0NBTENTX1ZFUlNJT05fQ0FSUklaTzoKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19k ZWZfZ2RkcjU7Ci0JCXZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7Ci0JCXZi aW9zLm51bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3Mu ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHM7Ci0JCXZiaW9zLm51bWJlcl9vZl9kcmFtX2Jhbmtz ID0gODsKLQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDE2MDApOwotCQl2Ymlv cy5taWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNjAwKTsKLQkJdmJpb3MubG93X3ljbGsgPSBi d19mcmNfdG9fZml4ZWQoNjY2NjYsIDEwMCk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3Rv X2ZpeGVkKDIwMCk7Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOwot CQl2Ymlvcy5taWQyX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKLQkJdmJpb3MubWlkM19z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90 b19maXhlZCgzMDApOwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsK LQkJdmJpb3MubWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7Ci0JCXZiaW9zLmhpZ2hf c2NsayA9IGJ3X2ZyY190b19maXhlZCg2MjYwOSwgMTAwKTsKLQkJdmJpb3MubG93X3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMzUyKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoNDY3KTsKLQkJdmJpb3MuaGlnaF92b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY0Myk7Ci0JCXZiaW9zLmxvd192b2x0YWdl X21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2Vf bWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2Vf bWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9i dXNfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9f Zml4ZWQoNTApOwotCQl2Ymlvcy5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4 ZWQoNCk7Ci0JCXZiaW9zLnN0dXR0ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2Zy Y190b19maXhlZCgxNTMsIDEwKTsKLQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQkJdmJpb3MubmJwX3N0YXRlX2NoYW5nZV9s YXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE5NjQ5LCAxMDAwKTsKLQkJdmJpb3MubWNpZndybWNf dXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dh dGhlcl9lbmFibGUgPSB0cnVlOwotCQl2Ymlvcy5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndf ZnJjX3RvX2ZpeGVkKDUsIDEwKTsKLQkJdmJpb3MuY3Vyc29yX3dpZHRoID0gMzI7Ci0JCXZiaW9z LmF2ZXJhZ2VfY29tcHJlc3Npb25fcmF0ZSA9IDQ7Ci0JCXZiaW9zLm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKLQkJdmJpb3Mu YmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9z Lm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQot CQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5f dXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFn ZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3Rl bV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNl aXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0g ZmFsc2U7Ci0JCWRjZWlwLmRtaWZfcmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhl ZCg3NjgpOwotCQlkY2VpcC5kbWlmX3BpcGVfZW5fZmJjX2NodW5rX3RyYWNrZXIgPSBmYWxzZTsK LQkJZGNlaXAuY3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5s aW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7 Ci0JCWRjZWlwLm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDM7Ci0JCWRjZWlwLm51bWJlcl9v Zl91bmRlcmxheV9waXBlcyA9IDE7Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7 Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKLQkJZGNlaXAu YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gZmFsc2U7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2Fs ZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQl2Ymlvcy0+bWVtb3J5X3R5cGUg PSBid19kZWZfZ2RkcjU7CisJCXZiaW9zLT5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0cyA9IDY0 OworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGgg LyB2Ymlvcy0+ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHM7CisJCXZiaW9zLT5udW1iZXJfb2Zf ZHJhbV9iYW5rcyA9IDg7CisJCXZiaW9zLT5oaWdoX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMTYw MCk7CisJCXZiaW9zLT5taWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNjAwKTsKKwkJdmJpb3Mt Pmxvd195Y2xrID0gYndfZnJjX3RvX2ZpeGVkKDY2NjY2LCAxMDApOworCQl2Ymlvcy0+bG93X3Nj bGsgPSBid19pbnRfdG9fZml4ZWQoMjAwKTsKKwkJdmJpb3MtPm1pZDFfc2NsayA9IGJ3X2ludF90 b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkMl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7 CisJCXZiaW9zLT5taWQzX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKKwkJdmJpb3MtPm1p ZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkNV9zY2xrID0gYndf aW50X3RvX2ZpeGVkKDMwMCk7CisJCXZiaW9zLT5taWQ2X3NjbGsgPSBid19pbnRfdG9fZml4ZWQo MzAwKTsKKwkJdmJpb3MtPmhpZ2hfc2NsayA9IGJ3X2ZyY190b19maXhlZCg2MjYwOSwgMTAwKTsK KwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDM1Mik7 CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCg0Njcp OworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY0 Myk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDU0 MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgx MCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4 MTApOworCQl2Ymlvcy0+ZGF0YV9yZXR1cm5fYnVzX3dpZHRoID0gYndfaW50X3RvX2ZpeGVkKDMy KTsKKwkJdmJpb3MtPnRyYyA9IGJ3X2ludF90b19maXhlZCg1MCk7CisJCXZiaW9zLT5kbWlmbWNf dXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNCk7CisJCXZiaW9zLT5zdHV0dGVyX3Nl bGZfcmVmcmVzaF9leGl0X2xhdGVuY3kgPSBid19mcmNfdG9fZml4ZWQoMTUzLCAxMCk7CisJCXZi aW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVk KDApOworCQl2Ymlvcy0+bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVk KDE5NjQ5LCAxMDAwKTsKKwkJdmJpb3MtPm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50 X3RvX2ZpeGVkKDEwKTsKKwkJdmJpb3MtPnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJ CXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsK KwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lv bl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZl c19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9u ID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291 dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZl cmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9z eXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9p ZGVhbF9kcmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0g MTAwOworCQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3Vy Z2VudF9sYXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRj ZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJ ZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+ Y3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50 ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNl aXAtPm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDM7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5k ZXJsYXlfcGlwZXMgPSAxOworCQlkY2VpcC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJ ZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFy Z2JfY29tcHJlc3Npb25fc3VwcG9ydCA9IGZhbHNlOworCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxl cl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzU1 NTYsIDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVy X2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9w ZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2Vp cC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRj ZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJ CQlid19mcmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZp Y2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9l ZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwot CQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0K KwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQg PQogCQkJYndfZnJjX3RvX2ZpeGVkKDM1LCAxMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxl cl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQy ODYsIDEwMDAwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0 X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLmdy YXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3 X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAuYWxwaGFfdnNjYWxlcl9lZmZpY2llbmN5ID0gYndf aW50X3RvX2ZpeGVkKDMpOwotCQlkY2VpcC5tYXhfZG1pZl9idWZmZXJfYWxsb2NhdGVkID0gMjsK LQkJZGNlaXAuZ3JhcGhpY3NfZG1pZl9zaXplID0gMTIyODg7Ci0JCWRjZWlwLnVuZGVybGF5X2x1 bWFfZG1pZl9zaXplID0gMTk0NTY7Ci0JCWRjZWlwLnVuZGVybGF5X2Nocm9tYV9kbWlmX3NpemUg PSAyMzU1MjsKLQkJZGNlaXAucHJlX2Rvd25zY2FsZXJfZW5hYmxlZCA9IHRydWU7Ci0JCWRjZWlw LnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAubGJf d3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDEpOwotCQlkY2VpcC5s Yl9zaXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQoODIxNzYpOwotCQlkY2Vp cC5ncmFwaGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSBmYWxz ZTsKLQkJZGNlaXAuc3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9jaGFuZ2VfZ2F0ZWRfYmVm b3JlX2N1cnNvciA9CisJCWRjZWlwLT5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRf dG9fZml4ZWQoMyk7CisJCWRjZWlwLT5tYXhfZG1pZl9idWZmZXJfYWxsb2NhdGVkID0gMjsKKwkJ ZGNlaXAtPmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4OworCQlkY2VpcC0+dW5kZXJsYXlfbHVt YV9kbWlmX3NpemUgPSAxOTQ1NjsKKwkJZGNlaXAtPnVuZGVybGF5X2Nocm9tYV9kbWlmX3NpemUg PSAyMzU1MjsKKwkJZGNlaXAtPnByZV9kb3duc2NhbGVyX2VuYWJsZWQgPSB0cnVlOworCQlkY2Vp cC0+dW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSB0cnVlOworCQlkY2VpcC0+ bGJfd3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDEpOworCQlkY2Vp cC0+bGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2ZpeGVkKDgyMTc2KTsKKwkJ ZGNlaXAtPmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9 IGZhbHNlOworCQlkY2VpcC0+c3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9jaGFuZ2VfZ2F0 ZWRfYmVmb3JlX2N1cnNvciA9CiAJCQlid19pbnRfdG9fZml4ZWQoMCk7Ci0JCWRjZWlwLnVuZGVy bGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAorCQlk Y2VpcC0+dW5kZXJsYXk0MjBfbHVtYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9f Zml4ZWQoCiAJCQk4MjE3Nik7Ci0JCWRjZWlwLnVuZGVybGF5NDIwX2Nocm9tYV9sYl9zaXplX3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTY0MzUyKTsKLQkJZGNlaXAudW5kZXJsYXk0 MjJfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAorCQlkY2VpcC0+dW5k ZXJsYXk0MjJfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIx NzYpOwotCQlkY2VpcC5jdXJzb3JfY2h1bmtfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5jdXJzb3JfZGNwX2J1ZmZlcl9saW5lcyA9IGJ3X2ludF90b19maXhlZCg0KTsKLQkJ ZGNlaXAudW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CisJCWRj ZWlwLT5jdXJzb3JfY2h1bmtfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoNjQpOworCQlkY2VpcC0+ Y3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRfdG9fZml4ZWQoNCk7CisJCWRjZWlwLT51 bmRlcmxheV9tYXhpbXVtX3dpZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90 b19maXhlZCgxOTIwKTsKLQkJZGNlaXAudW5kZXJsYXlfbWF4aW11bV9oZWlnaHRfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQorCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV9oZWlnaHRfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEwODApOwotCQlkY2VpcC5wZWFrX3B0 ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX211bHRpcGxlX2Rpc3BsYXlzX29y X3NpbmdsZV9yb3RhdGVkX2Rpc3BsYXkgPQorCQlkY2VpcC0+cGVha19wdGVfcmVxdWVzdF90b19l dmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRl ZF9kaXNwbGF5ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzLCAxMCk7Ci0JCWRjZWlwLnBlYWtfcHRl X3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90 YXRpb24gPQorCQlkY2VpcC0+cGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1p dGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9CiAJCQlid19pbnRfdG9fZml4ZWQoMjUp OwotCQlkY2VpcC5taW5pbXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndfaW50 X3RvX2ZpeGVkKAorCQlkY2VpcC0+bWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdF9saW1p dCA9IGJ3X2ludF90b19maXhlZCgKIAkJCTIpOwotCQlkY2VpcC5tYXhpbXVtX3RvdGFsX291dHN0 YW5kaW5nX3B0ZV9yZXF1ZXN0c19hbGxvd2VkX2J5X3NhdyA9CisJCWRjZWlwLT5tYXhpbXVtX3Rv dGFsX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0c19hbGxvd2VkX2J5X3NhdyA9CiAJCQlid19pbnRf dG9fZml4ZWQoMTI4KTsKLQkJZGNlaXAubGltaXRfZXhjZXNzaXZlX291dHN0YW5kaW5nX2RtaWZf cmVxdWVzdHMgPSB0cnVlOwotCQlkY2VpcC5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJu YXRpb25fc2xpY2UgPQorCQlkY2VpcC0+bGltaXRfZXhjZXNzaXZlX291dHN0YW5kaW5nX2RtaWZf cmVxdWVzdHMgPSB0cnVlOworCQlkY2VpcC0+bGluZWFyX21vZGVfbGluZV9yZXF1ZXN0X2FsdGVy bmF0aW9uX3NsaWNlID0KIAkJCWJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlwLnNjYXR0ZXJf Z2F0aGVyX2xpbmVzX29mX3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CisJCWRjZWlw LT5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFyX21vZGUg PQogCQkJMzI7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZm ZXJfc2l6ZSA9IDEyMjg4OwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBfY2hyb21hX21j aWZ3cl9idWZmZXJfc2l6ZSA9IDgxOTI7Ci0JCWRjZWlwLnJlcXVlc3RfZWZmaWNpZW5jeSA9IGJ3 X2ZyY190b19maXhlZCg4LCAxMCk7Ci0JCWRjZWlwLmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19p bnRfdG9fZml4ZWQoMik7Ci0JCWRjZWlwLmRpc3BjbGtfcmFtcGluZ19mYWN0b3IgPSBid19mcmNf dG9fZml4ZWQoMTA1LCAxMDApOwotCQlkY2VpcC5kaXNwbGF5X3BpcGVfdGhyb3VnaHB1dF9mYWN0 b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAxMDApOwotCQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9w dGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKLQkJZGNlaXAubWNpZndyX2FsbF9z dXJmYWNlc19idXJzdF90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB0b2RvOiB0aGlzIGlz IGEgYnVnKi8KKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZm ZXJfc2l6ZSA9IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9t Y2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0g YndfZnJjX3RvX2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBi d19pbnRfdG9fZml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndf ZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0 X2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dh dGhlcl9wdGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3 cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdG9kbzog dGhpcyBpcyBhIGJ1ZyovCiAJCWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklT MTA6CiAJCS8qIFRPRE86IFRyZWF0IFZFR0FNIHRoZSBzYW1lIGFzIFAxMCBmb3Igbm93CiAJCSAq IE5lZWQgdG8gdHVuZSB0aGUgcGFyYSBmb3IgVkVHQU0gaWYgbmVlZGVkICovCiAJY2FzZSBCV19D QUxDU19WRVJTSU9OX1ZFR0FNOgotCQl2Ymlvcy5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsK LQkJdmJpb3MuZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKLQkJdmJpb3MubnVtYmVy X29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy5kcmFtX2NoYW5u ZWxfd2lkdGhfaW5fYml0czsKLQkJdmJpb3MubnVtYmVyX29mX2RyYW1fYmFua3MgPSA4OwotCQl2 Ymlvcy5oaWdoX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwMCk7Ci0JCXZiaW9zLm1pZF95Y2xr ID0gYndfaW50X3RvX2ZpeGVkKDMyMDApOwotCQl2Ymlvcy5sb3dfeWNsayA9IGJ3X2ludF90b19m aXhlZCgxMDAwKTsKLQkJdmJpb3MubG93X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKLQkJ dmJpb3MubWlkMV9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDQwMCk7Ci0JCXZiaW9zLm1pZDJfc2Ns ayA9IGJ3X2ludF90b19maXhlZCg1MDApOwotCQl2Ymlvcy5taWQzX3NjbGsgPSBid19pbnRfdG9f Zml4ZWQoNjAwKTsKLQkJdmJpb3MubWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDcwMCk7Ci0J CXZiaW9zLm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg4MDApOwotCQl2Ymlvcy5taWQ2X3Nj bGsgPSBid19pbnRfdG9fZml4ZWQoOTc0KTsKLQkJdmJpb3MuaGlnaF9zY2xrID0gYndfaW50X3Rv X2ZpeGVkKDExNTQpOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCg0NTkpOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCg2NTQpOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRf dG9fZml4ZWQoMTEwOCk7Ci0JCXZiaW9zLmxvd192b2x0YWdlX21heF9waHljbGsgPSBid19pbnRf dG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9idXNfd2lkdGggPSBid19pbnRfdG9f Zml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9fZml4ZWQoNDgpOwotCQl2Ymlvcy5k bWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCXZiaW9zLnN0dXR0 ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCg1KTsKLQkJdmJp b3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgw KTsKLQkJdmJpb3MubmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQ1 KTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTAp OwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSB0cnVlOwotCQl2Ymlvcy5kb3duX3Nw cmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKLQkJdmJpb3MuY3Vyc29y X3dpZHRoID0gMzI7Ci0JCXZiaW9zLmF2ZXJhZ2VfY29tcHJlc3Npb25fcmF0ZSA9IDQ7Ci0JCXZi aW9zLm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hh bm5lbCA9IDI1NjsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQo MCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3 X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFs X3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAw OwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nh bl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLnBlcmNlbnRf b2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKLQkJ ZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZfcmVxdWVzdF9idWZmZXJf c2l6ZSA9IGJ3X2ludF90b19maXhlZCg3NjgpOwotCQlkY2VpcC5kbWlmX3BpcGVfZW5fZmJjX2No dW5rX3RyYWNrZXIgPSBmYWxzZTsKLQkJZGNlaXAuY3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91 cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKLQkJZGNl aXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9 IDY7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDA7Ci0JCWRjZWlwLmxvd19w b3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0 ZWQgPSBmYWxzZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKLQkJ ZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CisJ CXZiaW9zLT5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsKKwkJdmJpb3MtPmRyYW1fY2hhbm5l bF93aWR0aF9pbl9iaXRzID0gMzI7CisJCXZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9 IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLT5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0czsK KwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsKKwkJdmJpb3MtPmhpZ2hfeWNsayA9 IGJ3X2ludF90b19maXhlZCg2MDAwKTsKKwkJdmJpb3MtPm1pZF95Y2xrID0gYndfaW50X3RvX2Zp eGVkKDMyMDApOworCQl2Ymlvcy0+bG93X3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMTAwMCk7CisJ CXZiaW9zLT5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkMV9z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDQwMCk7CisJCXZiaW9zLT5taWQyX3NjbGsgPSBid19pbnRf dG9fZml4ZWQoNTAwKTsKKwkJdmJpb3MtPm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDAp OworCQl2Ymlvcy0+bWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDcwMCk7CisJCXZiaW9zLT5t aWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoODAwKTsKKwkJdmJpb3MtPm1pZDZfc2NsayA9IGJ3 X2ludF90b19maXhlZCg5NzQpOworCQl2Ymlvcy0+aGlnaF9zY2xrID0gYndfaW50X3RvX2ZpeGVk KDExNTQpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4 ZWQoNDU5KTsKKwkJdmJpb3MtPm1pZF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2Zp eGVkKDY1NCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRfdG9f Zml4ZWQoMTEwOCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3Rv X2ZpeGVkKDU0MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3Rv X2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOworCQl2Ymlvcy0+ZGF0YV9yZXR1cm5fYnVzX3dpZHRoID0gYndfaW50X3Rv X2ZpeGVkKDMyKTsKKwkJdmJpb3MtPnRyYyA9IGJ3X2ludF90b19maXhlZCg0OCk7CisJCXZiaW9z LT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCXZiaW9zLT5z dHV0dGVyX3NlbGZfcmVmcmVzaF9leGl0X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNSk7CisJ CXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDApOworCQl2Ymlvcy0+bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDQ1KTsKKwkJdmJpb3MtPm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDEwKTsKKwkJdmJpb3MtPnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJCXZiaW9z LT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJp b3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRl ID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3Jf ZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9uID0gYndf aW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291dF9yZWNv dmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9k cmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwor CQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9s YXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRjZWlwLT5k bWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAt PmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29y X21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2 ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51 bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDY7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlf cGlwZXMgPSAwOworCQlkY2VpcC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJZGNlaXAt PmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFyZ2JfY29t cHJlc3Npb25fc3VwcG9ydCA9IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmlj aWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNTU1NiwgMTAw MDApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9u ZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21w b25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVy bGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzMiwgMTApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kx Ml9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVu Y3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlw LmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2Vp cC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQli d19mcmNfdG9fZml4ZWQoMzUsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2ll bmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmlj aWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAw MDApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3Nf dnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhp Y3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3Rv X2ZpeGVkKDMpOwotCQlkY2VpcC5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRfdG9f Zml4ZWQoMyk7Ci0JCWRjZWlwLm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OwotCQlkY2Vp cC5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAudW5kZXJsYXlfbHVtYV9kbWlm X3NpemUgPSAxOTQ1NjsKLQkJZGNlaXAudW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUy OwotCQlkY2VpcC5wcmVfZG93bnNjYWxlcl9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJs YXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSB0cnVlOwotCQlkY2VpcC5sYl93cml0ZV9w aXhlbHNfcGVyX2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMSk7Ci0JCWRjZWlwLmxiX3NpemVf cGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19maXhlZCgyNDU5NTIpOwotCQlkY2VpcC5ncmFw aGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSB0cnVlOwotCQlk Y2VpcC5zdHV0dGVyX2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vy c29yID0KKwkJZGNlaXAtPmFscGhhX3ZzY2FsZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhl ZCgzKTsKKwkJZGNlaXAtPm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OworCQlkY2VpcC0+ Z3JhcGhpY3NfZG1pZl9zaXplID0gMTIyODg7CisJCWRjZWlwLT51bmRlcmxheV9sdW1hX2RtaWZf c2l6ZSA9IDE5NDU2OworCQlkY2VpcC0+dW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUy OworCQlkY2VpcC0+cHJlX2Rvd25zY2FsZXJfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT51bmRl cmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT5sYl93cml0 ZV9waXhlbHNfcGVyX2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMSk7CisJCWRjZWlwLT5sYl9z aXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQoMjQ1OTUyKTsKKwkJZGNlaXAt PmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9IHRydWU7 CisJCWRjZWlwLT5zdHV0dGVyX2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZv cmVfY3Vyc29yID0KIAkJCWJ3X2ludF90b19maXhlZCgxKTsKLQkJZGNlaXAudW5kZXJsYXk0MjBf bHVtYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51 bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhlZCgK IAkJCTgyMTc2KTsKLQkJZGNlaXAudW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT51bmRlcmxheTQyMF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50 ID0KIAkJCWJ3X2ludF90b19maXhlZCgxNjQzNTIpOwotCQlkY2VpcC51bmRlcmxheTQyMl9sYl9z aXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQy Ml9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQk4MjE3Nik7Ci0J CWRjZWlwLmN1cnNvcl9jaHVua193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlw LmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVkKDQpOwotCQlkY2VpcC51 bmRlcmxheV9tYXhpbXVtX3dpZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPmN1 cnNvcl9jaHVua193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7CisJCWRjZWlwLT5jdXJzb3Jf ZGNwX2J1ZmZlcl9saW5lcyA9IGJ3X2ludF90b19maXhlZCg0KTsKKwkJZGNlaXAtPnVuZGVybGF5 X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVk KDE5MjApOwotCQlkY2VpcC51bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CisJCWRjZWlwLT51bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTA4MCk7Ci0JCWRjZWlwLnBlYWtfcHRlX3JlcXVl c3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNfb3Jfc2luZ2xl X3JvdGF0ZWRfZGlzcGxheSA9CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9u X3JhdGlvX2xpbWl0aW5nX211bHRpcGxlX2Rpc3BsYXlzX29yX3NpbmdsZV9yb3RhdGVkX2Rpc3Bs YXkgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMsIDEwKTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVz dF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9 CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Np bmdsZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KIAkJCWJ3X2ludF90b19maXhlZCgyNSk7Ci0JCWRj ZWlwLm1pbmltdW1fb3V0c3RhbmRpbmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4 ZWQoCisJCWRjZWlwLT5taW5pbXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndf aW50X3RvX2ZpeGVkKAogCQkJMik7Ci0JCWRjZWlwLm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RzX2FsbG93ZWRfYnlfc2F3ID0KKwkJZGNlaXAtPm1heGltdW1fdG90YWxfb3V0 c3RhbmRpbmdfcHRlX3JlcXVlc3RzX2FsbG93ZWRfYnlfc2F3ID0KIAkJCWJ3X2ludF90b19maXhl ZCgxMjgpOwotCQlkY2VpcC5saW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0 cyA9IHRydWU7Ci0JCWRjZWlwLmxpbmVhcl9tb2RlX2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9z bGljZSA9CisJCWRjZWlwLT5saW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0 cyA9IHRydWU7CisJCWRjZWlwLT5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJuYXRpb25f c2xpY2UgPQogCQkJYndfaW50X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuc2NhdHRlcl9nYXRoZXJf bGluZXNfb2ZfcHRlX3ByZWZldGNoaW5nX2luX2xpbmVhcl9tb2RlID0KKwkJZGNlaXAtPnNjYXR0 ZXJfZ2F0aGVyX2xpbmVzX29mX3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CiAJCQkz MjsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9iYWNrNDIwX2x1bWFfbWNpZndyX2J1ZmZlcl9zaXpl ID0gMTIyODg7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1 ZmZlcl9zaXplID0gODE5MjsKLQkJZGNlaXAucmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKLQkJZGNlaXAuZGlzcGNsa19wZXJfcmVxdWVzdCA9IGJ3X2ludF90b19m aXhlZCgyKTsKLQkJZGNlaXAuZGlzcGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhl ZCgxMDUsIDEwMCk7Ci0JCWRjZWlwLmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9IGJ3 X2ZyY190b19maXhlZCgxMDUsIDEwMCk7Ci0JCWRjZWlwLnNjYXR0ZXJfZ2F0aGVyX3B0ZV9yZXF1 ZXN0X3Jvd3NfaW5fdGlsaW5nX21vZGUgPSAyOwotCQlkY2VpcC5tY2lmd3JfYWxsX3N1cmZhY2Vz X2J1cnN0X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRl X2JhY2s0MjBfbHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKKwkJZGNlaXAtPmRpc3Bs YXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsKKwkJZGNl aXAtPnJlcXVlc3RfZWZmaWNpZW5jeSA9IGJ3X2ZyY190b19maXhlZCg4LCAxMCk7CisJCWRjZWlw LT5kaXNwY2xrX3Blcl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOworCQlkY2VpcC0+ZGlz cGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlw LT5kaXNwbGF5X3BpcGVfdGhyb3VnaHB1dF9mYWN0b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAx MDApOworCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdf bW9kZSA9IDI7CisJCWRjZWlwLT5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19p bnRfdG9fZml4ZWQoMCk7CiAJCWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklT MTE6Ci0JCXZiaW9zLm1lbW9yeV90eXBlID0gYndfZGVmX2dkZHI1OwotCQl2Ymlvcy5kcmFtX2No YW5uZWxfd2lkdGhfaW5fYml0cyA9IDMyOwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVs cyA9IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRz OwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9iYW5rcyA9IDg7Ci0JCXZiaW9zLmhpZ2hfeWNsayA9 IGJ3X2ludF90b19maXhlZCg2MDAwKTsKLQkJdmJpb3MubWlkX3ljbGsgPSBid19pbnRfdG9fZml4 ZWQoMzIwMCk7Ci0JCXZiaW9zLmxvd195Y2xrID0gYndfaW50X3RvX2ZpeGVkKDEwMDApOwotCQl2 Ymlvcy5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOwotCQl2Ymlvcy5taWQxX3NjbGsg PSBid19pbnRfdG9fZml4ZWQoNDAwKTsKLQkJdmJpb3MubWlkMl9zY2xrID0gYndfaW50X3RvX2Zp eGVkKDUwMCk7Ci0JCXZiaW9zLm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOwotCQl2 Ymlvcy5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNzAwKTsKLQkJdmJpb3MubWlkNV9zY2xr ID0gYndfaW50X3RvX2ZpeGVkKDgwMCk7Ci0JCXZiaW9zLm1pZDZfc2NsayA9IGJ3X2ludF90b19m aXhlZCg5NzQpOwotCQl2Ymlvcy5oaWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTE1NCk7Ci0J CXZiaW9zLmxvd192b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDQ1OSk7Ci0J CXZiaW9zLm1pZF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY1NCk7Ci0J CXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsK LQkJdmJpb3MubG93X3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg1NDApOwot CQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0J CXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0J CXZiaW9zLmRhdGFfcmV0dXJuX2J1c193aWR0aCA9IGJ3X2ludF90b19maXhlZCgzMik7Ci0JCXZi aW9zLnRyYyA9IGJ3X2ludF90b19maXhlZCg0OCk7Ci0JCWlmICh2Ymlvcy5udW1iZXJfb2ZfZHJh bV9jaGFubmVscyA9PSAyKSAvLyA2NC1iaXQKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5j eSA9IGJ3X2ludF90b19maXhlZCg0KTsKKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2dk ZHI1OworCQl2Ymlvcy0+ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKKwkJdmJpb3Mt Pm51bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MtPmRy YW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzOworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fYmFua3Mg PSA4OworCQl2Ymlvcy0+aGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMDApOworCQl2Ymlv cy0+bWlkX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMzIwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9 IGJ3X2ludF90b19maXhlZCgxMDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2Zp eGVkKDMwMCk7CisJCXZiaW9zLT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNDAwKTsKKwkJ dmJpb3MtPm1pZDJfc2NsayA9IGJ3X2ludF90b19maXhlZCg1MDApOworCQl2Ymlvcy0+bWlkM19z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRf dG9fZml4ZWQoNzAwKTsKKwkJdmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg4MDAp OworCQl2Ymlvcy0+bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDk3NCk7CisJCXZiaW9zLT5o aWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTE1NCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9t YXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCg0NTkpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoNjU0KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFn ZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsKKwkJdmJpb3MtPmxvd192b2x0 YWdlX21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoNTQwKTsKKwkJdmJpb3MtPm1pZF92b2x0 YWdlX21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmhpZ2hfdm9s dGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5kYXRhX3Jl dHVybl9idXNfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoMzIpOworCQl2Ymlvcy0+dHJjID0gYndf aW50X3RvX2ZpeGVkKDQ4KTsKKwkJaWYgKHZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9 PSAyKSAvLyA2NC1iaXQKKwkJCXZiaW9zLT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRf dG9fZml4ZWQoNCk7CiAJCWVsc2UKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3 X2ludF90b19maXhlZCgzKTsKLQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRl bmN5ID0gYndfaW50X3RvX2ZpeGVkKDUpOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9l bnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hh bmdlX2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNDUpOwotCQl2Ymlvcy5tY2lmd3JtY191cmdl bnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgxMCk7Ci0JCXZiaW9zLnNjYXR0ZXJfZ2F0aGVy X2VuYWJsZSA9IHRydWU7Ci0JCXZiaW9zLmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19mcmNf dG9fZml4ZWQoNSwgMTApOwotCQl2Ymlvcy5jdXJzb3Jfd2lkdGggPSAzMjsKLQkJdmJpb3MuYXZl cmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKLQkJdmJpb3MubnVtYmVyX29mX3JlcXVlc3Rfc2xv dHNfZ21jX3Jlc2VydmVzX2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gMjU2OwotCQl2Ymlvcy5ibGFj a291dF9kdXJhdGlvbiA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdXMgKi8KLQkJdmJpb3MubWF4 aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOwotCi0JCWRj ZWlwLm1heF9hdmVyYWdlX3BlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19kaXNwbGF5X2Nhbl91c2Vf aW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLm1heF9hdmVyYWdlX3Bl cmNlbnRfb2ZfaWRlYWxfZHJhbWJ3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lzdGVtX29w ZXJhdGlvbiA9IDEwMDsKLQkJZGNlaXAucGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVk X2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOwotCQlkY2VpcC5sYXJnZV9jdXJzb3IgPSBmYWxz ZTsKLQkJZGNlaXAuZG1pZl9yZXF1ZXN0X2J1ZmZlcl9zaXplID0gYndfaW50X3RvX2ZpeGVkKDc2 OCk7Ci0JCWRjZWlwLmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOwotCQlk Y2VpcC5jdXJzb3JfbWF4X291dHN0YW5kaW5nX2dyb3VwX251bSA9IDE7Ci0JCWRjZWlwLmxpbmVz X2ludGVybGVhdmVkX2ludG9fbGIgPSAyOwotCQlkY2VpcC5jaHVua193aWR0aCA9IDI1NjsKLQkJ ZGNlaXAubnVtYmVyX29mX2dyYXBoaWNzX3BpcGVzID0gNTsKLQkJZGNlaXAubnVtYmVyX29mX3Vu ZGVybGF5X3BpcGVzID0gMDsKLQkJZGNlaXAubG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKLQkJ ZGNlaXAuZGlzcGxheV93cml0ZV9iYWNrX3N1cHBvcnRlZCA9IGZhbHNlOwotCQlkY2VpcC5hcmdi X2NvbXByZXNzaW9uX3N1cHBvcnQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2Vm ZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJCXZiaW9zLT5kbWlmbWNfdXJnZW50X2xh dGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVz aF9leGl0X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNSk7CisJCXZiaW9zLT5zdHV0dGVyX3Nl bGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDApOworCQl2Ymlvcy0+ bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQ1KTsKKwkJdmJpb3Mt Pm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDEwKTsKKwkJdmJpb3Mt PnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJj ZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9 IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51 bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9 IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9uID0gYndfaW50X3RvX2ZpeGVkKDApOyAv KiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50 X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3Bv cnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwor CQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9kcmFtYndfZGlzcGxheV9jYW5f dXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+cGVyY2VudF9v Zl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOworCQlk Y2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRjZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVy X3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNf Y2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29yX21heF9vdXRzdGFuZGluZ19n cm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJ CWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51bWJlcl9vZl9ncmFwaGljc19w aXBlcyA9IDU7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAwOworCQlkY2Vp cC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFj a19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFyZ2JfY29tcHJlc3Npb25fc3VwcG9ydCA9 IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29t cG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNTU1NiwgMTAwMDApOwotCQlkY2VpcC51bmRl cmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJj X3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNp ZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwgMTAp OwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVu dCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBv bmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxl cl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzUs IDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29t cG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2VpcC5ncmFw aGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19m cmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5 MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2ll bmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwotCQlkY2Vp cC5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlw Lm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OwotCQlkY2VpcC5ncmFwaGljc19kbWlmX3Np emUgPSAxMjI4ODsKLQkJZGNlaXAudW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKLQkJ ZGNlaXAudW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUyOwotCQlkY2VpcC5wcmVfZG93 bnNjYWxlcl9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfZG93bnNjYWxlX3ByZWZl dGNoX2VuYWJsZWQgPSB0cnVlOwotCQlkY2VpcC5sYl93cml0ZV9waXhlbHNfcGVyX2Rpc3BjbGsg PSBid19pbnRfdG9fZml4ZWQoMSk7Ci0JCWRjZWlwLmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9 IGJ3X2ludF90b19maXhlZCgyNDU5NTIpOwotCQlkY2VpcC5ncmFwaGljc19sYl9ub2Rvd25zY2Fs aW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSB0cnVlOwotCQlkY2VpcC5zdHV0dGVyX2FuZF9k cmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vyc29yID0KKwkJZGNlaXAtPmFs cGhhX3ZzY2FsZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKKwkJZGNlaXAtPm1h eF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OworCQlkY2VpcC0+Z3JhcGhpY3NfZG1pZl9zaXpl ID0gMTIyODg7CisJCWRjZWlwLT51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OworCQlk Y2VpcC0+dW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUyOworCQlkY2VpcC0+cHJlX2Rv d25zY2FsZXJfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV9kb3duc2NhbGVfcHJl ZmV0Y2hfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT5sYl93cml0ZV9waXhlbHNfcGVyX2Rpc3Bj bGsgPSBid19pbnRfdG9fZml4ZWQoMSk7CisJCWRjZWlwLT5sYl9zaXplX3Blcl9jb21wb25lbnQ0 NDQgPSBid19pbnRfdG9fZml4ZWQoMjQ1OTUyKTsKKwkJZGNlaXAtPmdyYXBoaWNzX2xiX25vZG93 bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9IHRydWU7CisJCWRjZWlwLT5zdHV0dGVy X2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vyc29yID0KIAkJCWJ3 X2ludF90b19maXhlZCgxKTsKLQkJZGNlaXAudW5kZXJsYXk0MjBfbHVtYV9sYl9zaXplX3Blcl9j b21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQyMF9sdW1hX2xi X3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNl aXAudW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51 bmRlcmxheTQyMF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ludF90b19m aXhlZCgxNjQzNTIpOwotCQlkY2VpcC51bmRlcmxheTQyMl9sYl9zaXplX3Blcl9jb21wb25lbnQg PSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQyMl9sYl9zaXplX3Blcl9jb21w b25lbnQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQk4MjE3Nik7Ci0JCWRjZWlwLmN1cnNvcl9jaHVu a193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlwLmN1cnNvcl9kY3BfYnVmZmVy X2xpbmVzID0gYndfaW50X3RvX2ZpeGVkKDQpOwotCQlkY2VpcC51bmRlcmxheV9tYXhpbXVtX3dp ZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPmN1cnNvcl9jaHVua193aWR0aCA9 IGJ3X2ludF90b19maXhlZCg2NCk7CisJCWRjZWlwLT5jdXJzb3JfZGNwX2J1ZmZlcl9saW5lcyA9 IGJ3X2ludF90b19maXhlZCg0KTsKKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZm aWNpZW50X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE5MjApOwotCQlkY2VpcC51 bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CisJCWRjZWlwLT51 bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CiAJCQlid19pbnRf dG9fZml4ZWQoMTA4MCk7Ci0JCWRjZWlwLnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0 aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNfb3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9 CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX211 bHRpcGxlX2Rpc3BsYXlzX29yX3NpbmdsZV9yb3RhdGVkX2Rpc3BsYXkgPQogCQkJYndfZnJjX3Rv X2ZpeGVkKDMsIDEwKTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRp b19saW1pdGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9CisJCWRjZWlwLT5wZWFrX3B0 ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3NpbmdsZV9kaXNwbGF5X25vX3Jv dGF0aW9uID0KIAkJCWJ3X2ludF90b19maXhlZCgyNSk7Ci0JCWRjZWlwLm1pbmltdW1fb3V0c3Rh bmRpbmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT5taW5p bXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJ Mik7Ci0JCWRjZWlwLm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdfcHRlX3JlcXVlc3RzX2FsbG93 ZWRfYnlfc2F3ID0KKwkJZGNlaXAtPm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdfcHRlX3JlcXVl c3RzX2FsbG93ZWRfYnlfc2F3ID0KIAkJCWJ3X2ludF90b19maXhlZCgxMjgpOwotCQlkY2VpcC5s aW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0cyA9IHRydWU7Ci0JCWRjZWlw LmxpbmVhcl9tb2RlX2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CisJCWRjZWlwLT5s aW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0cyA9IHRydWU7CisJCWRjZWlw LT5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJuYXRpb25fc2xpY2UgPQogCQkJYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuc2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZl dGNoaW5nX2luX2xpbmVhcl9tb2RlID0KKwkJZGNlaXAtPnNjYXR0ZXJfZ2F0aGVyX2xpbmVzX29m X3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CiAJCQkzMjsKLQkJZGNlaXAuZGlzcGxh eV93cml0ZV9iYWNrNDIwX2x1bWFfbWNpZndyX2J1ZmZlcl9zaXplID0gMTIyODg7Ci0JCWRjZWlw LmRpc3BsYXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsK LQkJZGNlaXAucmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDgsIDEwKTsKLQkJ ZGNlaXAuZGlzcGNsa19wZXJfcmVxdWVzdCA9IGJ3X2ludF90b19maXhlZCgyKTsKLQkJZGNlaXAu ZGlzcGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7Ci0JCWRj ZWlwLmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUs IDEwMCk7Ci0JCWRjZWlwLnNjYXR0ZXJfZ2F0aGVyX3B0ZV9yZXF1ZXN0X3Jvd3NfaW5fdGlsaW5n X21vZGUgPSAyOwotCQlkY2VpcC5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19p bnRfdG9fZml4ZWQoMCk7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRlX2JhY2s0MjBfbHVtYV9tY2lm d3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9j aHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsKKwkJZGNlaXAtPnJlcXVlc3RfZWZmaWNp ZW5jeSA9IGJ3X2ZyY190b19maXhlZCg4LCAxMCk7CisJCWRjZWlwLT5kaXNwY2xrX3Blcl9yZXF1 ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOworCQlkY2VpcC0+ZGlzcGNsa19yYW1waW5nX2ZhY3Rv ciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5kaXNwbGF5X3BpcGVfdGhy b3VnaHB1dF9mYWN0b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAxMDApOworCQlkY2VpcC0+c2Nh dHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7CisJCWRjZWlw LT5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7CiAJ CWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklTMTI6Ci0JCXZiaW9zLm1lbW9y eV90eXBlID0gYndfZGVmX2dkZHI1OwotCQl2Ymlvcy5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0 cyA9IDMyOwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9IGFzaWNfaWQudnJhbV93 aWR0aCAvIHZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzOwotCQl2Ymlvcy5udW1iZXJf b2ZfZHJhbV9iYW5rcyA9IDg7Ci0JCXZiaW9zLmhpZ2hfeWNsayA9IGJ3X2ludF90b19maXhlZCg2 MDAwKTsKLQkJdmJpb3MubWlkX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMzIwMCk7Ci0JCXZiaW9z Lmxvd195Y2xrID0gYndfaW50X3RvX2ZpeGVkKDEwMDApOwotCQl2Ymlvcy5sb3dfc2NsayA9IGJ3 X2ludF90b19maXhlZCg2NzgpOwotCQl2Ymlvcy5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQo ODY0KTsKLQkJdmJpb3MubWlkMl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDkwMCk7Ci0JCXZiaW9z Lm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg5MjApOwotCQl2Ymlvcy5taWQ0X3NjbGsgPSBi d19pbnRfdG9fZml4ZWQoOTQwKTsKLQkJdmJpb3MubWlkNV9zY2xrID0gYndfaW50X3RvX2ZpeGVk KDk2MCk7Ci0JCXZiaW9zLm1pZDZfc2NsayA9IGJ3X2ludF90b19maXhlZCg5ODApOwotCQl2Ymlv cy5oaWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTA0OSk7Ci0JCXZiaW9zLmxvd192b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDQ1OSk7Ci0JCXZiaW9zLm1pZF92b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY1NCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFn ZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsKLQkJdmJpb3MubG93X3ZvbHRh Z2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg1NDApOwotCQl2Ymlvcy5taWRfdm9sdGFn ZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFn ZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmRhdGFfcmV0dXJu X2J1c193aWR0aCA9IGJ3X2ludF90b19maXhlZCgzMik7Ci0JCXZiaW9zLnRyYyA9IGJ3X2ludF90 b19maXhlZCg0OCk7Ci0JCWlmICh2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9PSAyKSAv LyA2NC1iaXQKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhl ZCg0KTsKKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2dkZHI1OworCQl2Ymlvcy0+ZHJh bV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKKwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2No YW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MtPmRyYW1fY2hhbm5lbF93aWR0aF9p bl9iaXRzOworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fYmFua3MgPSA4OworCQl2Ymlvcy0+aGln aF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMDApOworCQl2Ymlvcy0+bWlkX3ljbGsgPSBid19p bnRfdG9fZml4ZWQoMzIwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9IGJ3X2ludF90b19maXhlZCgx MDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDY3OCk7CisJCXZiaW9z LT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoODY0KTsKKwkJdmJpb3MtPm1pZDJfc2NsayA9 IGJ3X2ludF90b19maXhlZCg5MDApOworCQl2Ymlvcy0+bWlkM19zY2xrID0gYndfaW50X3RvX2Zp eGVkKDkyMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoOTQwKTsKKwkJ dmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg5NjApOworCQl2Ymlvcy0+bWlkNl9z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDk4MCk7CisJCXZiaW9zLT5oaWdoX3NjbGsgPSBid19pbnRf dG9fZml4ZWQoMTA0OSk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCg0NTkpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19p bnRfdG9fZml4ZWQoNjU0KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCgxMTA4KTsKKwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoNTQwKTsKKwkJdmJpb3MtPm1pZF92b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0g YndfaW50X3RvX2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5kYXRhX3JldHVybl9idXNfd2lkdGggPSBi d19pbnRfdG9fZml4ZWQoMzIpOworCQl2Ymlvcy0+dHJjID0gYndfaW50X3RvX2ZpeGVkKDQ4KTsK KwkJaWYgKHZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9PSAyKSAvLyA2NC1iaXQKKwkJ CXZiaW9zLT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNCk7CiAJCWVs c2UKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsK LQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDUpOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndf aW50X3RvX2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hhbmdlX2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMjUwKTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSBmYWxzZTsK LQkJdmJpb3MuZG93bl9zcHJlYWRfcGVyY2VudGFnZSA9IGJ3X2ZyY190b19maXhlZCg1LCAxMCk7 Ci0JCXZiaW9zLmN1cnNvcl93aWR0aCA9IDMyOwotCQl2Ymlvcy5hdmVyYWdlX2NvbXByZXNzaW9u X3JhdGUgPSA0OwotCQl2Ymlvcy5udW1iZXJfb2ZfcmVxdWVzdF9zbG90c19nbWNfcmVzZXJ2ZXNf Zm9yX2RtaWZfcGVyX2NoYW5uZWwgPSAyNTY7Ci0JCXZiaW9zLmJsYWNrb3V0X2R1cmF0aW9uID0g YndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLwotCQl2Ymlvcy5tYXhpbXVtX2JsYWNrb3V0X3Jl Y292ZXJ5X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7Ci0KLQkJZGNlaXAubWF4X2F2ZXJhZ2Vf cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lzdGVt X29wZXJhdGlvbiA9IDEwMDsKLQkJZGNlaXAubWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9k cmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwot CQlkY2VpcC5wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfcmVjZWl2ZWRfYWZ0ZXJfdXJnZW50X2xh dGVuY3kgPSAxMDA7Ci0JCWRjZWlwLmxhcmdlX2N1cnNvciA9IGZhbHNlOwotCQlkY2VpcC5kbWlm X3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKLQkJZGNlaXAuZG1p Zl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0gZmFsc2U7Ci0JCWRjZWlwLmN1cnNvcl9tYXhf b3V0c3RhbmRpbmdfZ3JvdXBfbnVtID0gMTsKLQkJZGNlaXAubGluZXNfaW50ZXJsZWF2ZWRfaW50 b19sYiA9IDI7Ci0JCWRjZWlwLmNodW5rX3dpZHRoID0gMjU2OwotCQlkY2VpcC5udW1iZXJfb2Zf Z3JhcGhpY3NfcGlwZXMgPSA1OwotCQlkY2VpcC5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAw OwotCQlkY2VpcC5sb3dfcG93ZXJfdGlsaW5nX21vZGUgPSAwOwotCQlkY2VpcC5kaXNwbGF5X3dy aXRlX2JhY2tfc3VwcG9ydGVkID0gdHJ1ZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBw b3J0ID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVy X2NvbXBvbmVudCA9CisJCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3Rv X2ZpeGVkKDMpOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0g YndfaW50X3RvX2ZpeGVkKDUpOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwkJdmJpb3MtPm5icF9zdGF0ZV9jaGFuZ2Vf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgyNTApOworCQl2Ymlvcy0+bWNpZndybWNfdXJnZW50 X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRoZXJf ZW5hYmxlID0gZmFsc2U7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJj X3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+ YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3Mt PmJsYWNrb3V0X2R1cmF0aW9uID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlv cy0+bWF4aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOwor CisJCWRjZWlwLT5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9j YW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2 ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9kcmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9z eXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3 X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vy c29yID0gZmFsc2U7CisJCWRjZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRf dG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9 IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwor CQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193 aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDU7CisJCWRj ZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAwOworCQlkY2VpcC0+bG93X3Bvd2VyX3Rp bGluZ19tb2RlID0gMDsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSB0 cnVlOworCQlkY2VpcC0+YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKKwkJZGNlaXAt PnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndf ZnJjX3RvX2ZpeGVkKDM1NTU2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9l ZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQyODYs IDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Blcl9j b21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLnVuZGVy bGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2lu dF90b19maXhlZCgzKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRf cGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2X2Jp dF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNSwgMTApOwotCQlkY2VpcC5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndf ZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJfZWZm aWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwg MTApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmFscGhhX3ZzY2FsZXJf ZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAubWF4X2RtaWZfYnVmZmVy X2FsbG9jYXRlZCA9IDQ7Ci0JCWRjZWlwLmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4OwotCQlk Y2VpcC51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OwotCQlkY2VpcC51bmRlcmxheV9j aHJvbWFfZG1pZl9zaXplID0gMjM1NTI7Ci0JCWRjZWlwLnByZV9kb3duc2NhbGVyX2VuYWJsZWQg PSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9IHRy dWU7Ci0JCWRjZWlwLmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19maXhl ZCgxKTsKLQkJZGNlaXAubGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2ZpeGVk KDI0NTk1Mik7Ci0JCWRjZWlwLmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9w cmVmZXRjaGluZyA9IHRydWU7Ci0JCWRjZWlwLnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tfc3RhdGVf Y2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQorCQlkY2VpcC0+YWxwaGFfdnNjYWxlcl9lZmZp Y2llbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMpOworCQlkY2VpcC0+bWF4X2RtaWZfYnVmZmVyX2Fs bG9jYXRlZCA9IDQ7CisJCWRjZWlwLT5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKKwkJZGNl aXAtPnVuZGVybGF5X2x1bWFfZG1pZl9zaXplID0gMTk0NTY7CisJCWRjZWlwLT51bmRlcmxheV9j aHJvbWFfZG1pZl9zaXplID0gMjM1NTI7CisJCWRjZWlwLT5wcmVfZG93bnNjYWxlcl9lbmFibGVk ID0gdHJ1ZTsKKwkJZGNlaXAtPnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVkID0g dHJ1ZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19m aXhlZCgyNDU5NTIpOworCQlkY2VpcC0+Z3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9s aW5lX3ByZWZldGNoaW5nID0gdHJ1ZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tf c3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEp OwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9u ZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQyMF9j aHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2Nocm9t YV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7Ci0J CWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhl ZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90 b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRf dG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zv cl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2ZpeGVk KDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVk KDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGlu ZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgwKTsK LQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0 aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBlYWtf cHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNf b3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTApOwot CQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Npbmds ZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZp Y3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJYndf aW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVz dF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAubWF4 aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQorCQlk Y2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9z YXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVfbGlu ZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2RlX2xp bmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFy X21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNoaW5n X2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBf bHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9i YWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1ZXN0 X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xrX3Bl cl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBpbmdf ZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9waXBl X3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAu c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0JCWRj ZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsK KwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6ZSA9 IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVm ZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRfdG9f Zml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3RvX2Zp eGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9 IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9wdGVf cmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxfc3Vy ZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJY2FzZSBC V19DQUxDU19WRVJTSU9OX1NUT05FWToKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19kZWZfZ2Rk cjU7Ci0JCXZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7Ci0JCXZiaW9zLm51 bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MuZHJhbV9j aGFubmVsX3dpZHRoX2luX2JpdHM7Ci0JCXZiaW9zLm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsK LQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDE4NjYpOwotCQl2Ymlvcy5taWRf eWNsayA9IGJ3X2ludF90b19maXhlZCgxODY2KTsKLQkJdmJpb3MubG93X3ljbGsgPSBid19pbnRf dG9fZml4ZWQoMTMzMyk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDIwMCk7 Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOwotCQl2Ymlvcy5taWQy X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKLQkJdmJpb3MubWlkM19zY2xrID0gYndfaW50 X3RvX2ZpeGVkKDYwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDAp OwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKLQkJdmJpb3MubWlk Nl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7Ci0JCXZiaW9zLmhpZ2hfc2NsayA9IGJ3X2lu dF90b19maXhlZCg4MDApOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCgzNTIpOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCg0NjcpOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19p bnRfdG9fZml4ZWQoNjQzKTsKLQkJdmJpb3MubG93X3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2lu dF90b19maXhlZCg1NDApOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50 X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50 X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmRhdGFfcmV0dXJuX2J1c193aWR0aCA9IGJ3X2ludF90 b19maXhlZCgzMik7Ci0JCXZiaW9zLnRyYyA9IGJ3X2ludF90b19maXhlZCg1MCk7Ci0JCXZiaW9z LmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCg0KTsKLQkJdmJpb3Muc3R1 dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE1OCwgMTAp OwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3Rv X2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hhbmdlX2xhdGVuY3kgPSBid19mcmNfdG9f Zml4ZWQoMjAwOCwgMTAwKTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSB0cnVlOwot CQl2Ymlvcy5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsK LQkJdmJpb3MuY3Vyc29yX3dpZHRoID0gMzI7Ci0JCXZiaW9zLmF2ZXJhZ2VfY29tcHJlc3Npb25f cmF0ZSA9IDQ7Ci0JCXZiaW9zLm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19m b3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBi d19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVj b3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2Ry YW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0J CWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0 ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZf cmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhlZCg3NjgpOwotCQlkY2VpcC5kbWlm X3BpcGVfZW5fZmJjX2NodW5rX3RyYWNrZXIgPSBmYWxzZTsKLQkJZGNlaXAuY3Vyc29yX21heF9v dXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRv X2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9n cmFwaGljc19waXBlcyA9IDI7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDE7 Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3Jp dGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBw b3J0ID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVy X2NvbXBvbmVudCA9CisJCXZiaW9zLT5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsKKwkJdmJp b3MtPmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7CisJCXZiaW9zLT5udW1iZXJfb2Zf ZHJhbV9jaGFubmVscyA9IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLT5kcmFtX2NoYW5uZWxf d2lkdGhfaW5fYml0czsKKwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsKKwkJdmJp b3MtPmhpZ2hfeWNsayA9IGJ3X2ludF90b19maXhlZCgxODY2KTsKKwkJdmJpb3MtPm1pZF95Y2xr ID0gYndfaW50X3RvX2ZpeGVkKDE4NjYpOworCQl2Ymlvcy0+bG93X3ljbGsgPSBid19pbnRfdG9f Zml4ZWQoMTMzMyk7CisJCXZiaW9zLT5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgyMDApOwor CQl2Ymlvcy0+bWlkMV9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7CisJCXZiaW9zLT5taWQy X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKKwkJdmJpb3MtPm1pZDNfc2NsayA9IGJ3X2lu dF90b19maXhlZCg2MDApOworCQl2Ymlvcy0+bWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYw MCk7CisJCXZiaW9zLT5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKKwkJdmJpb3Mt Pm1pZDZfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOworCQl2Ymlvcy0+aGlnaF9zY2xrID0g YndfaW50X3RvX2ZpeGVkKDgwMCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9 IGJ3X2ludF90b19maXhlZCgzNTIpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsg PSBid19pbnRfdG9fZml4ZWQoNDY3KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNs ayA9IGJ3X2ludF90b19maXhlZCg2NDMpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg1NDApOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg4MTApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9waHlj bGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmRhdGFfcmV0dXJuX2J1c193aWR0 aCA9IGJ3X2ludF90b19maXhlZCgzMik7CisJCXZiaW9zLT50cmMgPSBid19pbnRfdG9fZml4ZWQo NTApOworCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQp OworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDE1OCwgMTApOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlfbGF0 ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwkJdmJpb3MtPm5icF9zdGF0ZV9jaGFuZ2VfbGF0 ZW5jeSA9IGJ3X2ZyY190b19maXhlZCgyMDA4LCAxMDApOworCQl2Ymlvcy0+bWNpZndybWNfdXJn ZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRo ZXJfZW5hYmxlID0gdHJ1ZTsKKwkJdmJpb3MtPmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19m cmNfdG9fZml4ZWQoNSwgMTApOworCQl2Ymlvcy0+Y3Vyc29yX3dpZHRoID0gMzI7CisJCXZiaW9z LT5hdmVyYWdlX2NvbXByZXNzaW9uX3JhdGUgPSA0OworCQl2Ymlvcy0+bnVtYmVyX29mX3JlcXVl c3Rfc2xvdHNfZ21jX3Jlc2VydmVzX2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gMjU2OworCQl2Ymlv cy0+YmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCisJCXZi aW9zLT5tYXhpbXVtX2JsYWNrb3V0X3JlY292ZXJ5X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7 CisKKwkJZGNlaXAtPm1heF9hdmVyYWdlX3BlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19kaXNwbGF5 X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7CisJCWRjZWlwLT5tYXhf YXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFs X3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7CisJCWRjZWlwLT5wZXJjZW50X29mX2lkZWFsX3BvcnRf YndfcmVjZWl2ZWRfYWZ0ZXJfdXJnZW50X2xhdGVuY3kgPSAxMDA7CisJCWRjZWlwLT5sYXJnZV9j dXJzb3IgPSBmYWxzZTsKKwkJZGNlaXAtPmRtaWZfcmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2lu dF90b19maXhlZCg3NjgpOworCQlkY2VpcC0+ZG1pZl9waXBlX2VuX2ZiY19jaHVua190cmFja2Vy ID0gZmFsc2U7CisJCWRjZWlwLT5jdXJzb3JfbWF4X291dHN0YW5kaW5nX2dyb3VwX251bSA9IDE7 CisJCWRjZWlwLT5saW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKKwkJZGNlaXAtPmNodW5r X3dpZHRoID0gMjU2OworCQlkY2VpcC0+bnVtYmVyX29mX2dyYXBoaWNzX3BpcGVzID0gMjsKKwkJ ZGNlaXAtPm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDE7CisJCWRjZWlwLT5sb3dfcG93ZXJf dGlsaW5nX21vZGUgPSAwOworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrX3N1cHBvcnRlZCA9 IGZhbHNlOworCQlkY2VpcC0+YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKKwkJZGNl aXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQogCQkJ YndfZnJjX3RvX2ZpeGVkKDM1NTU2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJf ZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxl cl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQy ODYsIDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0 X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3 X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9i aXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2 X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNSwgMTApOwotCQlkY2Vp cC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNl aXAtPmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJ YndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2Fs ZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgz MiwgMTApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2Nv bXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVy X2NvbXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmFscGhhX3ZzY2Fs ZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAubWF4X2RtaWZfYnVm ZmVyX2FsbG9jYXRlZCA9IDI7Ci0JCWRjZWlwLmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4Owot CQlkY2VpcC51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OwotCQlkY2VpcC51bmRlcmxh eV9jaHJvbWFfZG1pZl9zaXplID0gMjM1NTI7Ci0JCWRjZWlwLnByZV9kb3duc2NhbGVyX2VuYWJs ZWQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9 IHRydWU7Ci0JCWRjZWlwLmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKLQkJZGNlaXAubGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2Zp eGVkKDgyMTc2KTsKLQkJZGNlaXAuZ3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9saW5l X3ByZWZldGNoaW5nID0gZmFsc2U7Ci0JCWRjZWlwLnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tfc3Rh dGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQorCQlkY2VpcC0+YWxwaGFfdnNjYWxlcl9l ZmZpY2llbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMpOworCQlkY2VpcC0+bWF4X2RtaWZfYnVmZmVy X2FsbG9jYXRlZCA9IDI7CisJCWRjZWlwLT5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKKwkJ ZGNlaXAtPnVuZGVybGF5X2x1bWFfZG1pZl9zaXplID0gMTk0NTY7CisJCWRjZWlwLT51bmRlcmxh eV9jaHJvbWFfZG1pZl9zaXplID0gMjM1NTI7CisJCWRjZWlwLT5wcmVfZG93bnNjYWxlcl9lbmFi bGVkID0gdHJ1ZTsKKwkJZGNlaXAtPnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVk ID0gdHJ1ZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90 b19maXhlZCg4MjE3Nik7CisJCWRjZWlwLT5ncmFwaGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRp X2xpbmVfcHJlZmV0Y2hpbmcgPSBmYWxzZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xv Y2tfc3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVk KDApOwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3 X2ludF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29t cG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQy MF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2No cm9tYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7 Ci0JCWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19m aXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndf aW50X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19p bnRfdG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2Zp eGVkKDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2Zp eGVkKDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGlt dW1faGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGlt dW1faGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgw KTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19t dWx0aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBl YWtfcHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxh eXNfb3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTAp OwotCQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Np bmdsZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9f ZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJ YndfaW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVx dWVzdF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRp bmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAu bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQor CQlkY2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9i eV9zYXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2 ZV9vdXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVf bGluZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2 ZV9vdXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2Rl X2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQp OwotCQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGlu ZWFyX21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNo aW5nX2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0 MjBfbHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0 ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1 ZXN0X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xr X3Blcl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBp bmdfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9w aXBlX3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNl aXAuc2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0J CWRjZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgw KTsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6 ZSA9IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3Jf YnVmZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJj X3RvX2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRf dG9fZml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3Rv X2ZpeGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3Rv ciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9w dGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxf c3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJY2Fz ZSBCV19DQUxDU19WRVJTSU9OX1ZFR0ExMDoKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19kZWZf aGJtOwotCQl2Ymlvcy5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0cyA9IDEyODsKLQkJdmJpb3Mu bnVtYmVyX29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy5kcmFt X2NoYW5uZWxfd2lkdGhfaW5fYml0czsKLQkJdmJpb3MubnVtYmVyX29mX2RyYW1fYmFua3MgPSAx NjsKLQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDI0MDApOwotCQl2Ymlvcy5t aWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNzAwKTsKLQkJdmJpb3MubG93X3ljbGsgPSBid19p bnRfdG9fZml4ZWQoMTAwMCk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMw MCk7Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCgzNTApOwotCQl2Ymlvcy5t aWQyX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNDAwKTsKLQkJdmJpb3MubWlkM19zY2xrID0gYndf aW50X3RvX2ZpeGVkKDUwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCg2 MDApOwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNzAwKTsKLQkJdmJpb3Mu bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDc2MCk7Ci0JCXZiaW9zLmhpZ2hfc2NsayA9IGJ3 X2ludF90b19maXhlZCg3NzYpOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCg0NjApOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCg2NzApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBi d19pbnRfdG9fZml4ZWQoMTEzMyk7Ci0JCXZiaW9zLmxvd192b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3 X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3 X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9idXNfd2lkdGggPSBid19p bnRfdG9fZml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9fZml4ZWQoNDgpOwotCQl2 Ymlvcy5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCXZiaW9z LnN0dXR0ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2ZyY190b19maXhlZCg3NSwg MTApOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfZnJj X3RvX2ZpeGVkKDE5LCAxMCk7Ci0JCXZiaW9zLm5icF9zdGF0ZV9jaGFuZ2VfbGF0ZW5jeSA9IGJ3 X2ludF90b19maXhlZCgzOSk7Ci0JCXZiaW9zLm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndf aW50X3RvX2ZpeGVkKDEwKTsKLQkJdmJpb3Muc2NhdHRlcl9nYXRoZXJfZW5hYmxlID0gZmFsc2U7 Ci0JCXZiaW9zLmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19mcmNfdG9fZml4ZWQoNSwgMTAp OwotCQl2Ymlvcy5jdXJzb3Jfd2lkdGggPSAzMjsKLQkJdmJpb3MuYXZlcmFnZV9jb21wcmVzc2lv bl9yYXRlID0gNDsKLQkJdmJpb3MubnVtYmVyX29mX3JlcXVlc3Rfc2xvdHNfZ21jX3Jlc2VydmVz X2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gODsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBi d19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVj b3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2Ry YW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0J CWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0 ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZf cmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhlZCgyMzA0KTsKLQkJZGNlaXAuZG1p Zl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0gdHJ1ZTsKLQkJZGNlaXAuY3Vyc29yX21heF9v dXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRv X2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9n cmFwaGljc19waXBlcyA9IDY7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDA7 Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3Jp dGVfYmFja19zdXBwb3J0ZWQgPSB0cnVlOwotCQlkY2VpcC5hcmdiX2NvbXByZXNzaW9uX3N1cHBv cnQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJf Y29tcG9uZW50ID0KKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2hibTsKKwkJdmJpb3Mt PmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gMTI4OworCQl2Ymlvcy0+bnVtYmVyX29mX2Ry YW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy0+ZHJhbV9jaGFubmVsX3dp ZHRoX2luX2JpdHM7CisJCXZiaW9zLT5udW1iZXJfb2ZfZHJhbV9iYW5rcyA9IDE2OworCQl2Ymlv cy0+aGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDI0MDApOworCQl2Ymlvcy0+bWlkX3ljbGsg PSBid19pbnRfdG9fZml4ZWQoMTcwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9IGJ3X2ludF90b19m aXhlZCgxMDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7CisJ CXZiaW9zLT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzUwKTsKKwkJdmJpb3MtPm1pZDJf c2NsayA9IGJ3X2ludF90b19maXhlZCg0MDApOworCQl2Ymlvcy0+bWlkM19zY2xrID0gYndfaW50 X3RvX2ZpeGVkKDUwMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAw KTsKKwkJdmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg3MDApOworCQl2Ymlvcy0+ bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDc2MCk7CisJCXZiaW9zLT5oaWdoX3NjbGsgPSBi d19pbnRfdG9fZml4ZWQoNzc2KTsKKwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9kaXNwY2xrID0g YndfaW50X3RvX2ZpeGVkKDQ2MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9 IGJ3X2ludF90b19maXhlZCg2NzApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9kaXNwY2xr ID0gYndfaW50X3RvX2ZpeGVkKDExMzMpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg1NDApOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg4MTApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9waHlj bGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmRhdGFfcmV0dXJuX2J1c193aWR0 aCA9IGJ3X2ludF90b19maXhlZCgzMik7CisJCXZiaW9zLT50cmMgPSBid19pbnRfdG9fZml4ZWQo NDgpOworCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMp OworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDc1LCAxMCk7CisJCXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRl bmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE5LCAxMCk7CisJCXZiaW9zLT5uYnBfc3RhdGVfY2hhbmdl X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMzkpOworCQl2Ymlvcy0+bWNpZndybWNfdXJnZW50 X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRoZXJf ZW5hYmxlID0gZmFsc2U7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJj X3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+ YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDg7CisJCXZiaW9zLT5i bGFja291dF9kdXJhdGlvbiA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdXMgKi8KKwkJdmJpb3Mt Pm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwor CQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X2Rpc3BsYXlfY2Fu X3VzZV9pbl9ub3JtYWxfc3lzdGVtX29wZXJhdGlvbiA9IDEwMDsKKwkJZGNlaXAtPm1heF9hdmVy YWdlX3BlcmNlbnRfb2ZfaWRlYWxfZHJhbWJ3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lz dGVtX29wZXJhdGlvbiA9IDEwMDsKKwkJZGNlaXAtPnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19y ZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKKwkJZGNlaXAtPmxhcmdlX2N1cnNv ciA9IGZhbHNlOworCQlkY2VpcC0+ZG1pZl9yZXF1ZXN0X2J1ZmZlcl9zaXplID0gYndfaW50X3Rv X2ZpeGVkKDIzMDQpOworCQlkY2VpcC0+ZG1pZl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0g dHJ1ZTsKKwkJZGNlaXAtPmN1cnNvcl9tYXhfb3V0c3RhbmRpbmdfZ3JvdXBfbnVtID0gMTsKKwkJ ZGNlaXAtPmxpbmVzX2ludGVybGVhdmVkX2ludG9fbGIgPSAyOworCQlkY2VpcC0+Y2h1bmtfd2lk dGggPSAyNTY7CisJCWRjZWlwLT5udW1iZXJfb2ZfZ3JhcGhpY3NfcGlwZXMgPSA2OworCQlkY2Vp cC0+bnVtYmVyX29mX3VuZGVybGF5X3BpcGVzID0gMDsKKwkJZGNlaXAtPmxvd19wb3dlcl90aWxp bmdfbW9kZSA9IDA7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRlX2JhY2tfc3VwcG9ydGVkID0gdHJ1 ZTsKKwkJZGNlaXAtPmFyZ2JfY29tcHJlc3Npb25fc3VwcG9ydCA9IHRydWU7CisJCWRjZWlwLT51 bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzNTU1NiwgMTAwMDApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmlj aWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAx MDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29t cG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJf Y29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwgMTApOwotCQlkY2VpcC51bmRlcmxh eV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRl cmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19pbnRf dG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRf cGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzUsIDEwKTsKLQkJZGNlaXAuZ3Jh cGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmlj aWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2Vm ZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzIsIDEw KTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25l bnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21w b25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwotCQlkY2VpcC5hbHBoYV92c2NhbGVyX2Vm ZmljaWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLm1heF9kbWlmX2J1ZmZlcl9h bGxvY2F0ZWQgPSA0OwotCQlkY2VpcC5ncmFwaGljc19kbWlmX3NpemUgPSAyNDU3NjsKLQkJZGNl aXAudW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKLQkJZGNlaXAudW5kZXJsYXlfY2hy b21hX2RtaWZfc2l6ZSA9IDIzNTUyOwotCQlkY2VpcC5wcmVfZG93bnNjYWxlcl9lbmFibGVkID0g dHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSBmYWxz ZTsKLQkJZGNlaXAubGJfd3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVk KDEpOwotCQlkY2VpcC5sYl9zaXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQo MjQ1OTUyKTsKLQkJZGNlaXAuZ3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9saW5lX3By ZWZldGNoaW5nID0gdHJ1ZTsKLQkJZGNlaXAuc3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9j aGFuZ2VfZ2F0ZWRfYmVmb3JlX2N1cnNvciA9CisJCWRjZWlwLT5hbHBoYV92c2NhbGVyX2VmZmlj aWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCWRjZWlwLT5tYXhfZG1pZl9idWZmZXJfYWxs b2NhdGVkID0gNDsKKwkJZGNlaXAtPmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDI0NTc2OworCQlkY2Vp cC0+dW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKKwkJZGNlaXAtPnVuZGVybGF5X2No cm9tYV9kbWlmX3NpemUgPSAyMzU1MjsKKwkJZGNlaXAtPnByZV9kb3duc2NhbGVyX2VuYWJsZWQg PSB0cnVlOworCQlkY2VpcC0+dW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSBm YWxzZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19m aXhlZCgyNDU5NTIpOworCQlkY2VpcC0+Z3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9s aW5lX3ByZWZldGNoaW5nID0gdHJ1ZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tf c3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEp OwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9u ZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQyMF9j aHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2Nocm9t YV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7Ci0J CWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhl ZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90 b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRf dG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zv cl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2ZpeGVk KDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVk KDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGlu ZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgwKTsK LQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0 aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBlYWtf cHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNf b3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTApOwot CQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Npbmds ZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZp Y3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJYndf aW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVz dF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAubWF4 aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQorCQlk Y2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9z YXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVfbGlu ZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2RlX2xp bmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFy X21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNoaW5n X2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBf bHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9i YWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1ZXN0 X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xrX3Bl cl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBpbmdf ZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9waXBl X3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAu c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0JCWRj ZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsK KwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6ZSA9 IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVm ZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRfdG9f Zml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3RvX2Zp eGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9 IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9wdGVf cmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxfc3Vy ZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJZGVmYXVs dDoKIAkJYnJlYWs7CiAJfQotCSpid19kY2VpcCA9IGRjZWlwOwotCSpid192YmlvcyA9IHZiaW9z OworCSpid19kY2VpcCA9ICpkY2VpcDsKKwkqYndfdmJpb3MgPSAqdmJpb3M7CiAKKwlrZnJlZShk Y2VpcCk7CisJa2ZyZWUodmJpb3MpOwogfQogCiAvKioKLS0gCjIuMjUuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 439C4C433E6 for ; Mon, 11 Jan 2021 19:54:46 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D4AE822B51 for ; Mon, 11 Jan 2021 19:54:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4AE822B51 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9F7CE6E072; Mon, 11 Jan 2021 19:54:43 +0000 (UTC) Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by gabe.freedesktop.org (Postfix) with ESMTPS id 79E1689E43 for ; Mon, 11 Jan 2021 19:19:50 +0000 (UTC) Received: by mail-wr1-x430.google.com with SMTP id m5so904171wrx.9 for ; Mon, 11 Jan 2021 11:19:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=zuhqnHidlUm2n1ZI5aIs9QFx4AUc70/YHEA1WeM39QW8N5XWaHafjHmSPg9a3DMLsS Xed5MJymAH7cHqtt5Z399UaRxfPfwE9nphMW+iuOAkL0l6tmXaSUh8yE6/DDTT0/Gu5D bbjK2u5UEa0TkVCdXx0q2rIAiPevnsFdOibCQWaRT9EtfGVfxMg2jhjZta/quDDeDSo3 DlH9MxF1cY96vggwVUieR8FDgyPeBgm+Z64vQEZdm4unnBiyMns1nrGKXU0ZU5DZEOpI ZHgOwBjo3ZN6YdmtHL+ULbgoCFp7uqXZY1N5ecpcKb2aY6TCa1XcLJ6ETu2wtQCs154H rQpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jTr2Sl1lk9OoM6174MMTq7HIS0RyILr9H3YKS+jm9tY=; b=GRORzzSDkRVagIaDlX7UrHWS+fLoeoIhH2lA1R0gtZllH+TIYYBuHQ6JdyuwRKQ3/m 6bmt0Uc6aRA8pSS5CDMNrXpWmGXC5WhDHlmuVoy5DKPSgmFCTGoB87XztyxFjXtfRwvS aFfpnApMd1Uc3fPN5zmplQuyWJdBF+ZtbyIPKjbg0Kr4rREttQzhywC980wkP8qGYuIj AEy7En7jOs6LN3fgTbOqL7CdRscj8xNKg3KV5qMRKK6ng7yGRQTW0oqDMxkG8h5Ma0xG vEQ/kg2ESCQEE/BvhCPS+T7dIcE4F7XthNxHJ7HkWu/CO2kRqY4M7mUdbcqdDP6WrRdu spDw== X-Gm-Message-State: AOAM5328S5XPCaDIRBW/2TwstIcUa0cPhEUfBpkr75f8lYNpNjJQcQMi dH+Zve7rCPuMvpSPaKjj/4KgdA== X-Google-Smtp-Source: ABdhPJwr+ljFj+K/oPtJGwY03Z16V2scLg6p7fXjr75iToTkEkFhURSenkWn7R3ts1u3RQ9ATGKRHQ== X-Received: by 2002:a05:6000:1152:: with SMTP id d18mr635800wrx.6.1610392788950; Mon, 11 Jan 2021 11:19:48 -0800 (PST) Received: from dell.default ([91.110.221.229]) by smtp.gmail.com with ESMTPSA id n3sm778090wrw.61.2021.01.11.11.19.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 11:19:48 -0800 (PST) From: Lee Jones To: lee.jones@linaro.org Subject: [PATCH 14/40] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Date: Mon, 11 Jan 2021 19:19:00 +0000 Message-Id: <20210111191926.3688443-15-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210111191926.3688443-1-lee.jones@linaro.org> References: <20210111191926.3688443-1-lee.jones@linaro.org> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 11 Jan 2021 19:54:43 +0000 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Li , linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, David Airlie , dri-devel@lists.freedesktop.org, Daniel Vetter , Alex Deucher , Harry Wentland , =?UTF-8?q?Christian=20K=C3=B6nig?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Rml4ZXMgdGhlIGZvbGxvd2luZyBXPTEga2VybmVsIGJ1aWxkIHdhcm5pbmcocyk6CgogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vZGlzcGxheS9kYy9jYWxjcy9kY2VfY2FsY3MuYzogSW4g ZnVuY3Rpb24g4oCYYndfY2FsY3NfaW5pdOKAmToKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 Ly4uL2Rpc3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmM6MjcyNjoxOiB3YXJuaW5nOiB0aGUgZnJh bWUgc2l6ZSBvZiAxMzM2IGJ5dGVzIGlzIGxhcmdlciB0aGFuIDEwMjQgYnl0ZXMgWy1XZnJhbWUt bGFyZ2VyLXRoYW49XQoKQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29t PgpDYzogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+CkNjOiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnClNpZ25lZC1vZmYtYnk6 IExlZSBKb25lcyA8bGVlLmpvbmVzQGxpbmFyby5vcmc+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmMgIHwgMTExNSArKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDU2MCBpbnNlcnRpb25zKCspLCA1NTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2RjZV9jYWxjcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2RjZV9jYWxjcy5jCmluZGV4IGEw YzY5ZmFlNDBjZWQuLmY2OWMyYjg0ZDQzMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jYWxjcy9kY2VfY2FsY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvY2FsY3MvZGNlX2NhbGNzLmMKQEAgLTIwMzUsNzA3ICsyMDM1LDcxMiBAQCB2 b2lkIGJ3X2NhbGNzX2luaXQoc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpid19kY2VpcCwKIAlzdHJ1 Y3QgYndfY2FsY3NfdmJpb3MgKmJ3X3ZiaW9zLAogCXN0cnVjdCBod19hc2ljX2lkIGFzaWNfaWQp CiB7Ci0Jc3RydWN0IGJ3X2NhbGNzX2RjZWlwIGRjZWlwID0geyAwIH07Ci0Jc3RydWN0IGJ3X2Nh bGNzX3ZiaW9zIHZiaW9zID0geyAwIH07CisJc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpkY2VpcDsK KwlzdHJ1Y3QgYndfY2FsY3NfdmJpb3MgKnZiaW9zOwogCiAJZW51bSBid19jYWxjc192ZXJzaW9u IHZlcnNpb24gPSBid19jYWxjc192ZXJzaW9uX2Zyb21fYXNpY19pZChhc2ljX2lkKTsKIAotCWRj ZWlwLnZlcnNpb24gPSB2ZXJzaW9uOworCWRjZWlwID0ga3phbGxvYyhzaXplb2YoZGNlaXApLCBH RlBfS0VSTkVMKTsKKwl2YmlvcyA9IGt6YWxsb2Moc2l6ZW9mKHZiaW9zKSwgR0ZQX0tFUk5FTCk7 CisKKwlkY2VpcC0+dmVyc2lvbiA9IHZlcnNpb247CiAKIAlzd2l0Y2ggKHZlcnNpb24pIHsKIAlj YXNlIEJXX0NBTENTX1ZFUlNJT05fQ0FSUklaTzoKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19k ZWZfZ2RkcjU7Ci0JCXZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7Ci0JCXZi aW9zLm51bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3Mu ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHM7Ci0JCXZiaW9zLm51bWJlcl9vZl9kcmFtX2Jhbmtz ID0gODsKLQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDE2MDApOwotCQl2Ymlv cy5taWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNjAwKTsKLQkJdmJpb3MubG93X3ljbGsgPSBi d19mcmNfdG9fZml4ZWQoNjY2NjYsIDEwMCk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3Rv X2ZpeGVkKDIwMCk7Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOwot CQl2Ymlvcy5taWQyX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKLQkJdmJpb3MubWlkM19z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90 b19maXhlZCgzMDApOwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsK LQkJdmJpb3MubWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7Ci0JCXZiaW9zLmhpZ2hf c2NsayA9IGJ3X2ZyY190b19maXhlZCg2MjYwOSwgMTAwKTsKLQkJdmJpb3MubG93X3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMzUyKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoNDY3KTsKLQkJdmJpb3MuaGlnaF92b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY0Myk7Ci0JCXZiaW9zLmxvd192b2x0YWdl X21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2Vf bWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2Vf bWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9i dXNfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9f Zml4ZWQoNTApOwotCQl2Ymlvcy5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4 ZWQoNCk7Ci0JCXZiaW9zLnN0dXR0ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2Zy Y190b19maXhlZCgxNTMsIDEwKTsKLQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQkJdmJpb3MubmJwX3N0YXRlX2NoYW5nZV9s YXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE5NjQ5LCAxMDAwKTsKLQkJdmJpb3MubWNpZndybWNf dXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dh dGhlcl9lbmFibGUgPSB0cnVlOwotCQl2Ymlvcy5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndf ZnJjX3RvX2ZpeGVkKDUsIDEwKTsKLQkJdmJpb3MuY3Vyc29yX3dpZHRoID0gMzI7Ci0JCXZiaW9z LmF2ZXJhZ2VfY29tcHJlc3Npb25fcmF0ZSA9IDQ7Ci0JCXZiaW9zLm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKLQkJdmJpb3Mu YmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9z Lm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQot CQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5f dXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFn ZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3Rl bV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNl aXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0g ZmFsc2U7Ci0JCWRjZWlwLmRtaWZfcmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhl ZCg3NjgpOwotCQlkY2VpcC5kbWlmX3BpcGVfZW5fZmJjX2NodW5rX3RyYWNrZXIgPSBmYWxzZTsK LQkJZGNlaXAuY3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5s aW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7 Ci0JCWRjZWlwLm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDM7Ci0JCWRjZWlwLm51bWJlcl9v Zl91bmRlcmxheV9waXBlcyA9IDE7Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7 Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKLQkJZGNlaXAu YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gZmFsc2U7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2Fs ZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQl2Ymlvcy0+bWVtb3J5X3R5cGUg PSBid19kZWZfZ2RkcjU7CisJCXZiaW9zLT5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0cyA9IDY0 OworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGgg LyB2Ymlvcy0+ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHM7CisJCXZiaW9zLT5udW1iZXJfb2Zf ZHJhbV9iYW5rcyA9IDg7CisJCXZiaW9zLT5oaWdoX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMTYw MCk7CisJCXZiaW9zLT5taWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNjAwKTsKKwkJdmJpb3Mt Pmxvd195Y2xrID0gYndfZnJjX3RvX2ZpeGVkKDY2NjY2LCAxMDApOworCQl2Ymlvcy0+bG93X3Nj bGsgPSBid19pbnRfdG9fZml4ZWQoMjAwKTsKKwkJdmJpb3MtPm1pZDFfc2NsayA9IGJ3X2ludF90 b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkMl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7 CisJCXZiaW9zLT5taWQzX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKKwkJdmJpb3MtPm1p ZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkNV9zY2xrID0gYndf aW50X3RvX2ZpeGVkKDMwMCk7CisJCXZiaW9zLT5taWQ2X3NjbGsgPSBid19pbnRfdG9fZml4ZWQo MzAwKTsKKwkJdmJpb3MtPmhpZ2hfc2NsayA9IGJ3X2ZyY190b19maXhlZCg2MjYwOSwgMTAwKTsK KwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDM1Mik7 CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCg0Njcp OworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY0 Myk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDU0 MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgx MCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg4 MTApOworCQl2Ymlvcy0+ZGF0YV9yZXR1cm5fYnVzX3dpZHRoID0gYndfaW50X3RvX2ZpeGVkKDMy KTsKKwkJdmJpb3MtPnRyYyA9IGJ3X2ludF90b19maXhlZCg1MCk7CisJCXZiaW9zLT5kbWlmbWNf dXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNCk7CisJCXZiaW9zLT5zdHV0dGVyX3Nl bGZfcmVmcmVzaF9leGl0X2xhdGVuY3kgPSBid19mcmNfdG9fZml4ZWQoMTUzLCAxMCk7CisJCXZi aW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVk KDApOworCQl2Ymlvcy0+bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVk KDE5NjQ5LCAxMDAwKTsKKwkJdmJpb3MtPm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50 X3RvX2ZpeGVkKDEwKTsKKwkJdmJpb3MtPnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJ CXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsK KwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lv bl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZl c19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9u ID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291 dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZl cmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9z eXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9p ZGVhbF9kcmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0g MTAwOworCQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3Vy Z2VudF9sYXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRj ZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJ ZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+ Y3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50 ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNl aXAtPm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDM7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5k ZXJsYXlfcGlwZXMgPSAxOworCQlkY2VpcC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJ ZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFy Z2JfY29tcHJlc3Npb25fc3VwcG9ydCA9IGZhbHNlOworCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxl cl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzU1 NTYsIDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVy X2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9w ZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2Vp cC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRj ZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJ CQlid19mcmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZp Y2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9l ZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwot CQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0K KwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQg PQogCQkJYndfZnJjX3RvX2ZpeGVkKDM1LCAxMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxl cl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQy ODYsIDEwMDAwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0 X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLmdy YXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3 X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAuYWxwaGFfdnNjYWxlcl9lZmZpY2llbmN5ID0gYndf aW50X3RvX2ZpeGVkKDMpOwotCQlkY2VpcC5tYXhfZG1pZl9idWZmZXJfYWxsb2NhdGVkID0gMjsK LQkJZGNlaXAuZ3JhcGhpY3NfZG1pZl9zaXplID0gMTIyODg7Ci0JCWRjZWlwLnVuZGVybGF5X2x1 bWFfZG1pZl9zaXplID0gMTk0NTY7Ci0JCWRjZWlwLnVuZGVybGF5X2Nocm9tYV9kbWlmX3NpemUg PSAyMzU1MjsKLQkJZGNlaXAucHJlX2Rvd25zY2FsZXJfZW5hYmxlZCA9IHRydWU7Ci0JCWRjZWlw LnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAubGJf d3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDEpOwotCQlkY2VpcC5s Yl9zaXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQoODIxNzYpOwotCQlkY2Vp cC5ncmFwaGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSBmYWxz ZTsKLQkJZGNlaXAuc3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9jaGFuZ2VfZ2F0ZWRfYmVm b3JlX2N1cnNvciA9CisJCWRjZWlwLT5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRf dG9fZml4ZWQoMyk7CisJCWRjZWlwLT5tYXhfZG1pZl9idWZmZXJfYWxsb2NhdGVkID0gMjsKKwkJ ZGNlaXAtPmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4OworCQlkY2VpcC0+dW5kZXJsYXlfbHVt YV9kbWlmX3NpemUgPSAxOTQ1NjsKKwkJZGNlaXAtPnVuZGVybGF5X2Nocm9tYV9kbWlmX3NpemUg PSAyMzU1MjsKKwkJZGNlaXAtPnByZV9kb3duc2NhbGVyX2VuYWJsZWQgPSB0cnVlOworCQlkY2Vp cC0+dW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSB0cnVlOworCQlkY2VpcC0+ bGJfd3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDEpOworCQlkY2Vp cC0+bGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2ZpeGVkKDgyMTc2KTsKKwkJ ZGNlaXAtPmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9 IGZhbHNlOworCQlkY2VpcC0+c3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9jaGFuZ2VfZ2F0 ZWRfYmVmb3JlX2N1cnNvciA9CiAJCQlid19pbnRfdG9fZml4ZWQoMCk7Ci0JCWRjZWlwLnVuZGVy bGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAorCQlk Y2VpcC0+dW5kZXJsYXk0MjBfbHVtYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9f Zml4ZWQoCiAJCQk4MjE3Nik7Ci0JCWRjZWlwLnVuZGVybGF5NDIwX2Nocm9tYV9sYl9zaXplX3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTY0MzUyKTsKLQkJZGNlaXAudW5kZXJsYXk0 MjJfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAorCQlkY2VpcC0+dW5k ZXJsYXk0MjJfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIx NzYpOwotCQlkY2VpcC5jdXJzb3JfY2h1bmtfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5jdXJzb3JfZGNwX2J1ZmZlcl9saW5lcyA9IGJ3X2ludF90b19maXhlZCg0KTsKLQkJ ZGNlaXAudW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CisJCWRj ZWlwLT5jdXJzb3JfY2h1bmtfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoNjQpOworCQlkY2VpcC0+ Y3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRfdG9fZml4ZWQoNCk7CisJCWRjZWlwLT51 bmRlcmxheV9tYXhpbXVtX3dpZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90 b19maXhlZCgxOTIwKTsKLQkJZGNlaXAudW5kZXJsYXlfbWF4aW11bV9oZWlnaHRfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQorCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV9oZWlnaHRfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEwODApOwotCQlkY2VpcC5wZWFrX3B0 ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX211bHRpcGxlX2Rpc3BsYXlzX29y X3NpbmdsZV9yb3RhdGVkX2Rpc3BsYXkgPQorCQlkY2VpcC0+cGVha19wdGVfcmVxdWVzdF90b19l dmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRl ZF9kaXNwbGF5ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzLCAxMCk7Ci0JCWRjZWlwLnBlYWtfcHRl X3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90 YXRpb24gPQorCQlkY2VpcC0+cGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1p dGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9CiAJCQlid19pbnRfdG9fZml4ZWQoMjUp OwotCQlkY2VpcC5taW5pbXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndfaW50 X3RvX2ZpeGVkKAorCQlkY2VpcC0+bWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdF9saW1p dCA9IGJ3X2ludF90b19maXhlZCgKIAkJCTIpOwotCQlkY2VpcC5tYXhpbXVtX3RvdGFsX291dHN0 YW5kaW5nX3B0ZV9yZXF1ZXN0c19hbGxvd2VkX2J5X3NhdyA9CisJCWRjZWlwLT5tYXhpbXVtX3Rv dGFsX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0c19hbGxvd2VkX2J5X3NhdyA9CiAJCQlid19pbnRf dG9fZml4ZWQoMTI4KTsKLQkJZGNlaXAubGltaXRfZXhjZXNzaXZlX291dHN0YW5kaW5nX2RtaWZf cmVxdWVzdHMgPSB0cnVlOwotCQlkY2VpcC5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJu YXRpb25fc2xpY2UgPQorCQlkY2VpcC0+bGltaXRfZXhjZXNzaXZlX291dHN0YW5kaW5nX2RtaWZf cmVxdWVzdHMgPSB0cnVlOworCQlkY2VpcC0+bGluZWFyX21vZGVfbGluZV9yZXF1ZXN0X2FsdGVy bmF0aW9uX3NsaWNlID0KIAkJCWJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlwLnNjYXR0ZXJf Z2F0aGVyX2xpbmVzX29mX3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CisJCWRjZWlw LT5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFyX21vZGUg PQogCQkJMzI7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZm ZXJfc2l6ZSA9IDEyMjg4OwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBfY2hyb21hX21j aWZ3cl9idWZmZXJfc2l6ZSA9IDgxOTI7Ci0JCWRjZWlwLnJlcXVlc3RfZWZmaWNpZW5jeSA9IGJ3 X2ZyY190b19maXhlZCg4LCAxMCk7Ci0JCWRjZWlwLmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19p bnRfdG9fZml4ZWQoMik7Ci0JCWRjZWlwLmRpc3BjbGtfcmFtcGluZ19mYWN0b3IgPSBid19mcmNf dG9fZml4ZWQoMTA1LCAxMDApOwotCQlkY2VpcC5kaXNwbGF5X3BpcGVfdGhyb3VnaHB1dF9mYWN0 b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAxMDApOwotCQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9w dGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKLQkJZGNlaXAubWNpZndyX2FsbF9z dXJmYWNlc19idXJzdF90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB0b2RvOiB0aGlzIGlz IGEgYnVnKi8KKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZm ZXJfc2l6ZSA9IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9t Y2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0g YndfZnJjX3RvX2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBi d19pbnRfdG9fZml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndf ZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0 X2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dh dGhlcl9wdGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3 cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdG9kbzog dGhpcyBpcyBhIGJ1ZyovCiAJCWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklT MTA6CiAJCS8qIFRPRE86IFRyZWF0IFZFR0FNIHRoZSBzYW1lIGFzIFAxMCBmb3Igbm93CiAJCSAq IE5lZWQgdG8gdHVuZSB0aGUgcGFyYSBmb3IgVkVHQU0gaWYgbmVlZGVkICovCiAJY2FzZSBCV19D QUxDU19WRVJTSU9OX1ZFR0FNOgotCQl2Ymlvcy5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsK LQkJdmJpb3MuZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKLQkJdmJpb3MubnVtYmVy X29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy5kcmFtX2NoYW5u ZWxfd2lkdGhfaW5fYml0czsKLQkJdmJpb3MubnVtYmVyX29mX2RyYW1fYmFua3MgPSA4OwotCQl2 Ymlvcy5oaWdoX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwMCk7Ci0JCXZiaW9zLm1pZF95Y2xr ID0gYndfaW50X3RvX2ZpeGVkKDMyMDApOwotCQl2Ymlvcy5sb3dfeWNsayA9IGJ3X2ludF90b19m aXhlZCgxMDAwKTsKLQkJdmJpb3MubG93X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzAwKTsKLQkJ dmJpb3MubWlkMV9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDQwMCk7Ci0JCXZiaW9zLm1pZDJfc2Ns ayA9IGJ3X2ludF90b19maXhlZCg1MDApOwotCQl2Ymlvcy5taWQzX3NjbGsgPSBid19pbnRfdG9f Zml4ZWQoNjAwKTsKLQkJdmJpb3MubWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDcwMCk7Ci0J CXZiaW9zLm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg4MDApOwotCQl2Ymlvcy5taWQ2X3Nj bGsgPSBid19pbnRfdG9fZml4ZWQoOTc0KTsKLQkJdmJpb3MuaGlnaF9zY2xrID0gYndfaW50X3Rv X2ZpeGVkKDExNTQpOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCg0NTkpOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCg2NTQpOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRf dG9fZml4ZWQoMTEwOCk7Ci0JCXZiaW9zLmxvd192b2x0YWdlX21heF9waHljbGsgPSBid19pbnRf dG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9idXNfd2lkdGggPSBid19pbnRfdG9f Zml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9fZml4ZWQoNDgpOwotCQl2Ymlvcy5k bWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCXZiaW9zLnN0dXR0 ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCg1KTsKLQkJdmJp b3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgw KTsKLQkJdmJpb3MubmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQ1 KTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTAp OwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSB0cnVlOwotCQl2Ymlvcy5kb3duX3Nw cmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKLQkJdmJpb3MuY3Vyc29y X3dpZHRoID0gMzI7Ci0JCXZiaW9zLmF2ZXJhZ2VfY29tcHJlc3Npb25fcmF0ZSA9IDQ7Ci0JCXZi aW9zLm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hh bm5lbCA9IDI1NjsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQo MCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3 X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFs X3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAw OwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nh bl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLnBlcmNlbnRf b2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKLQkJ ZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZfcmVxdWVzdF9idWZmZXJf c2l6ZSA9IGJ3X2ludF90b19maXhlZCg3NjgpOwotCQlkY2VpcC5kbWlmX3BpcGVfZW5fZmJjX2No dW5rX3RyYWNrZXIgPSBmYWxzZTsKLQkJZGNlaXAuY3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91 cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKLQkJZGNl aXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9 IDY7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDA7Ci0JCWRjZWlwLmxvd19w b3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0 ZWQgPSBmYWxzZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKLQkJ ZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CisJ CXZiaW9zLT5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsKKwkJdmJpb3MtPmRyYW1fY2hhbm5l bF93aWR0aF9pbl9iaXRzID0gMzI7CisJCXZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9 IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLT5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0czsK KwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsKKwkJdmJpb3MtPmhpZ2hfeWNsayA9 IGJ3X2ludF90b19maXhlZCg2MDAwKTsKKwkJdmJpb3MtPm1pZF95Y2xrID0gYndfaW50X3RvX2Zp eGVkKDMyMDApOworCQl2Ymlvcy0+bG93X3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMTAwMCk7CisJ CXZiaW9zLT5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOworCQl2Ymlvcy0+bWlkMV9z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDQwMCk7CisJCXZiaW9zLT5taWQyX3NjbGsgPSBid19pbnRf dG9fZml4ZWQoNTAwKTsKKwkJdmJpb3MtPm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDAp OworCQl2Ymlvcy0+bWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDcwMCk7CisJCXZiaW9zLT5t aWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoODAwKTsKKwkJdmJpb3MtPm1pZDZfc2NsayA9IGJ3 X2ludF90b19maXhlZCg5NzQpOworCQl2Ymlvcy0+aGlnaF9zY2xrID0gYndfaW50X3RvX2ZpeGVk KDExNTQpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4 ZWQoNDU5KTsKKwkJdmJpb3MtPm1pZF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2Zp eGVkKDY1NCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19pbnRfdG9f Zml4ZWQoMTEwOCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3Rv X2ZpeGVkKDU0MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3Rv X2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90 b19maXhlZCg4MTApOworCQl2Ymlvcy0+ZGF0YV9yZXR1cm5fYnVzX3dpZHRoID0gYndfaW50X3Rv X2ZpeGVkKDMyKTsKKwkJdmJpb3MtPnRyYyA9IGJ3X2ludF90b19maXhlZCg0OCk7CisJCXZiaW9z LT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCXZiaW9zLT5z dHV0dGVyX3NlbGZfcmVmcmVzaF9leGl0X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNSk7CisJ CXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDApOworCQl2Ymlvcy0+bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDQ1KTsKKwkJdmJpb3MtPm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDEwKTsKKwkJdmJpb3MtPnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJCXZiaW9z LT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJp b3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRl ID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3Jf ZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9uID0gYndf aW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291dF9yZWNv dmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9k cmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwor CQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9s YXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRjZWlwLT5k bWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAt PmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29y X21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2 ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51 bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDY7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlf cGlwZXMgPSAwOworCQlkY2VpcC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJZGNlaXAt PmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFyZ2JfY29t cHJlc3Npb25fc3VwcG9ydCA9IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmlj aWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNTU1NiwgMTAw MDApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9u ZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21w b25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVy bGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzMiwgMTApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kx Ml9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVu Y3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlw LmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2Vp cC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQli d19mcmNfdG9fZml4ZWQoMzUsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2ll bmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmlj aWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAw MDApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3Nf dnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhp Y3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3Rv X2ZpeGVkKDMpOwotCQlkY2VpcC5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRfdG9f Zml4ZWQoMyk7Ci0JCWRjZWlwLm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OwotCQlkY2Vp cC5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAudW5kZXJsYXlfbHVtYV9kbWlm X3NpemUgPSAxOTQ1NjsKLQkJZGNlaXAudW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUy OwotCQlkY2VpcC5wcmVfZG93bnNjYWxlcl9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJs YXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSB0cnVlOwotCQlkY2VpcC5sYl93cml0ZV9w aXhlbHNfcGVyX2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMSk7Ci0JCWRjZWlwLmxiX3NpemVf cGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19maXhlZCgyNDU5NTIpOwotCQlkY2VpcC5ncmFw aGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSB0cnVlOwotCQlk Y2VpcC5zdHV0dGVyX2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vy c29yID0KKwkJZGNlaXAtPmFscGhhX3ZzY2FsZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhl ZCgzKTsKKwkJZGNlaXAtPm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OworCQlkY2VpcC0+ Z3JhcGhpY3NfZG1pZl9zaXplID0gMTIyODg7CisJCWRjZWlwLT51bmRlcmxheV9sdW1hX2RtaWZf c2l6ZSA9IDE5NDU2OworCQlkY2VpcC0+dW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUy OworCQlkY2VpcC0+cHJlX2Rvd25zY2FsZXJfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT51bmRl cmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT5sYl93cml0 ZV9waXhlbHNfcGVyX2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoMSk7CisJCWRjZWlwLT5sYl9z aXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQoMjQ1OTUyKTsKKwkJZGNlaXAt PmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9IHRydWU7 CisJCWRjZWlwLT5zdHV0dGVyX2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZv cmVfY3Vyc29yID0KIAkJCWJ3X2ludF90b19maXhlZCgxKTsKLQkJZGNlaXAudW5kZXJsYXk0MjBf bHVtYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51 bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhlZCgK IAkJCTgyMTc2KTsKLQkJZGNlaXAudW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT51bmRlcmxheTQyMF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50 ID0KIAkJCWJ3X2ludF90b19maXhlZCgxNjQzNTIpOwotCQlkY2VpcC51bmRlcmxheTQyMl9sYl9z aXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQy Ml9sYl9zaXplX3Blcl9jb21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQk4MjE3Nik7Ci0J CWRjZWlwLmN1cnNvcl9jaHVua193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlw LmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVkKDQpOwotCQlkY2VpcC51 bmRlcmxheV9tYXhpbXVtX3dpZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPmN1 cnNvcl9jaHVua193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7CisJCWRjZWlwLT5jdXJzb3Jf ZGNwX2J1ZmZlcl9saW5lcyA9IGJ3X2ludF90b19maXhlZCg0KTsKKwkJZGNlaXAtPnVuZGVybGF5 X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVk KDE5MjApOwotCQlkY2VpcC51bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CisJCWRjZWlwLT51bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTA4MCk7Ci0JCWRjZWlwLnBlYWtfcHRlX3JlcXVl c3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNfb3Jfc2luZ2xl X3JvdGF0ZWRfZGlzcGxheSA9CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9u X3JhdGlvX2xpbWl0aW5nX211bHRpcGxlX2Rpc3BsYXlzX29yX3NpbmdsZV9yb3RhdGVkX2Rpc3Bs YXkgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMsIDEwKTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVz dF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9 CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Np bmdsZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KIAkJCWJ3X2ludF90b19maXhlZCgyNSk7Ci0JCWRj ZWlwLm1pbmltdW1fb3V0c3RhbmRpbmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4 ZWQoCisJCWRjZWlwLT5taW5pbXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndf aW50X3RvX2ZpeGVkKAogCQkJMik7Ci0JCWRjZWlwLm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RzX2FsbG93ZWRfYnlfc2F3ID0KKwkJZGNlaXAtPm1heGltdW1fdG90YWxfb3V0 c3RhbmRpbmdfcHRlX3JlcXVlc3RzX2FsbG93ZWRfYnlfc2F3ID0KIAkJCWJ3X2ludF90b19maXhl ZCgxMjgpOwotCQlkY2VpcC5saW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0 cyA9IHRydWU7Ci0JCWRjZWlwLmxpbmVhcl9tb2RlX2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9z bGljZSA9CisJCWRjZWlwLT5saW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0 cyA9IHRydWU7CisJCWRjZWlwLT5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJuYXRpb25f c2xpY2UgPQogCQkJYndfaW50X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuc2NhdHRlcl9nYXRoZXJf bGluZXNfb2ZfcHRlX3ByZWZldGNoaW5nX2luX2xpbmVhcl9tb2RlID0KKwkJZGNlaXAtPnNjYXR0 ZXJfZ2F0aGVyX2xpbmVzX29mX3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CiAJCQkz MjsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9iYWNrNDIwX2x1bWFfbWNpZndyX2J1ZmZlcl9zaXpl ID0gMTIyODg7Ci0JCWRjZWlwLmRpc3BsYXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1 ZmZlcl9zaXplID0gODE5MjsKLQkJZGNlaXAucmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKLQkJZGNlaXAuZGlzcGNsa19wZXJfcmVxdWVzdCA9IGJ3X2ludF90b19m aXhlZCgyKTsKLQkJZGNlaXAuZGlzcGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhl ZCgxMDUsIDEwMCk7Ci0JCWRjZWlwLmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9IGJ3 X2ZyY190b19maXhlZCgxMDUsIDEwMCk7Ci0JCWRjZWlwLnNjYXR0ZXJfZ2F0aGVyX3B0ZV9yZXF1 ZXN0X3Jvd3NfaW5fdGlsaW5nX21vZGUgPSAyOwotCQlkY2VpcC5tY2lmd3JfYWxsX3N1cmZhY2Vz X2J1cnN0X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRl X2JhY2s0MjBfbHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKKwkJZGNlaXAtPmRpc3Bs YXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsKKwkJZGNl aXAtPnJlcXVlc3RfZWZmaWNpZW5jeSA9IGJ3X2ZyY190b19maXhlZCg4LCAxMCk7CisJCWRjZWlw LT5kaXNwY2xrX3Blcl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOworCQlkY2VpcC0+ZGlz cGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlw LT5kaXNwbGF5X3BpcGVfdGhyb3VnaHB1dF9mYWN0b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAx MDApOworCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdf bW9kZSA9IDI7CisJCWRjZWlwLT5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19p bnRfdG9fZml4ZWQoMCk7CiAJCWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklT MTE6Ci0JCXZiaW9zLm1lbW9yeV90eXBlID0gYndfZGVmX2dkZHI1OwotCQl2Ymlvcy5kcmFtX2No YW5uZWxfd2lkdGhfaW5fYml0cyA9IDMyOwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVs cyA9IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRz OwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9iYW5rcyA9IDg7Ci0JCXZiaW9zLmhpZ2hfeWNsayA9 IGJ3X2ludF90b19maXhlZCg2MDAwKTsKLQkJdmJpb3MubWlkX3ljbGsgPSBid19pbnRfdG9fZml4 ZWQoMzIwMCk7Ci0JCXZiaW9zLmxvd195Y2xrID0gYndfaW50X3RvX2ZpeGVkKDEwMDApOwotCQl2 Ymlvcy5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgzMDApOwotCQl2Ymlvcy5taWQxX3NjbGsg PSBid19pbnRfdG9fZml4ZWQoNDAwKTsKLQkJdmJpb3MubWlkMl9zY2xrID0gYndfaW50X3RvX2Zp eGVkKDUwMCk7Ci0JCXZiaW9zLm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOwotCQl2 Ymlvcy5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNzAwKTsKLQkJdmJpb3MubWlkNV9zY2xr ID0gYndfaW50X3RvX2ZpeGVkKDgwMCk7Ci0JCXZiaW9zLm1pZDZfc2NsayA9IGJ3X2ludF90b19m aXhlZCg5NzQpOwotCQl2Ymlvcy5oaWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTE1NCk7Ci0J CXZiaW9zLmxvd192b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDQ1OSk7Ci0J CXZiaW9zLm1pZF92b2x0YWdlX21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY1NCk7Ci0J CXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsK LQkJdmJpb3MubG93X3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg1NDApOwot CQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0J CXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0J CXZiaW9zLmRhdGFfcmV0dXJuX2J1c193aWR0aCA9IGJ3X2ludF90b19maXhlZCgzMik7Ci0JCXZi aW9zLnRyYyA9IGJ3X2ludF90b19maXhlZCg0OCk7Ci0JCWlmICh2Ymlvcy5udW1iZXJfb2ZfZHJh bV9jaGFubmVscyA9PSAyKSAvLyA2NC1iaXQKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5j eSA9IGJ3X2ludF90b19maXhlZCg0KTsKKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2dk ZHI1OworCQl2Ymlvcy0+ZHJhbV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKKwkJdmJpb3Mt Pm51bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MtPmRy YW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzOworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fYmFua3Mg PSA4OworCQl2Ymlvcy0+aGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMDApOworCQl2Ymlv cy0+bWlkX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMzIwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9 IGJ3X2ludF90b19maXhlZCgxMDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2Zp eGVkKDMwMCk7CisJCXZiaW9zLT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNDAwKTsKKwkJ dmJpb3MtPm1pZDJfc2NsayA9IGJ3X2ludF90b19maXhlZCg1MDApOworCQl2Ymlvcy0+bWlkM19z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRf dG9fZml4ZWQoNzAwKTsKKwkJdmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg4MDAp OworCQl2Ymlvcy0+bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDk3NCk7CisJCXZiaW9zLT5o aWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTE1NCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9t YXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCg0NTkpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2Vf bWF4X2Rpc3BjbGsgPSBid19pbnRfdG9fZml4ZWQoNjU0KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFn ZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsKKwkJdmJpb3MtPmxvd192b2x0 YWdlX21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoNTQwKTsKKwkJdmJpb3MtPm1pZF92b2x0 YWdlX21heF9waHljbGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmhpZ2hfdm9s dGFnZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5kYXRhX3Jl dHVybl9idXNfd2lkdGggPSBid19pbnRfdG9fZml4ZWQoMzIpOworCQl2Ymlvcy0+dHJjID0gYndf aW50X3RvX2ZpeGVkKDQ4KTsKKwkJaWYgKHZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9 PSAyKSAvLyA2NC1iaXQKKwkJCXZiaW9zLT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRf dG9fZml4ZWQoNCk7CiAJCWVsc2UKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3 X2ludF90b19maXhlZCgzKTsKLQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRl bmN5ID0gYndfaW50X3RvX2ZpeGVkKDUpOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9l bnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hh bmdlX2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNDUpOwotCQl2Ymlvcy5tY2lmd3JtY191cmdl bnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgxMCk7Ci0JCXZiaW9zLnNjYXR0ZXJfZ2F0aGVy X2VuYWJsZSA9IHRydWU7Ci0JCXZiaW9zLmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19mcmNf dG9fZml4ZWQoNSwgMTApOwotCQl2Ymlvcy5jdXJzb3Jfd2lkdGggPSAzMjsKLQkJdmJpb3MuYXZl cmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKLQkJdmJpb3MubnVtYmVyX29mX3JlcXVlc3Rfc2xv dHNfZ21jX3Jlc2VydmVzX2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gMjU2OwotCQl2Ymlvcy5ibGFj a291dF9kdXJhdGlvbiA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdXMgKi8KLQkJdmJpb3MubWF4 aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOwotCi0JCWRj ZWlwLm1heF9hdmVyYWdlX3BlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19kaXNwbGF5X2Nhbl91c2Vf aW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0JCWRjZWlwLm1heF9hdmVyYWdlX3Bl cmNlbnRfb2ZfaWRlYWxfZHJhbWJ3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lzdGVtX29w ZXJhdGlvbiA9IDEwMDsKLQkJZGNlaXAucGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVk X2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOwotCQlkY2VpcC5sYXJnZV9jdXJzb3IgPSBmYWxz ZTsKLQkJZGNlaXAuZG1pZl9yZXF1ZXN0X2J1ZmZlcl9zaXplID0gYndfaW50X3RvX2ZpeGVkKDc2 OCk7Ci0JCWRjZWlwLmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9IGZhbHNlOwotCQlk Y2VpcC5jdXJzb3JfbWF4X291dHN0YW5kaW5nX2dyb3VwX251bSA9IDE7Ci0JCWRjZWlwLmxpbmVz X2ludGVybGVhdmVkX2ludG9fbGIgPSAyOwotCQlkY2VpcC5jaHVua193aWR0aCA9IDI1NjsKLQkJ ZGNlaXAubnVtYmVyX29mX2dyYXBoaWNzX3BpcGVzID0gNTsKLQkJZGNlaXAubnVtYmVyX29mX3Vu ZGVybGF5X3BpcGVzID0gMDsKLQkJZGNlaXAubG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKLQkJ ZGNlaXAuZGlzcGxheV93cml0ZV9iYWNrX3N1cHBvcnRlZCA9IGZhbHNlOwotCQlkY2VpcC5hcmdi X2NvbXByZXNzaW9uX3N1cHBvcnQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2Vm ZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJCXZiaW9zLT5kbWlmbWNfdXJnZW50X2xh dGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVz aF9leGl0X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNSk7CisJCXZiaW9zLT5zdHV0dGVyX3Nl bGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDApOworCQl2Ymlvcy0+ bmJwX3N0YXRlX2NoYW5nZV9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQ1KTsKKwkJdmJpb3Mt Pm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDEwKTsKKwkJdmJpb3Mt PnNjYXR0ZXJfZ2F0aGVyX2VuYWJsZSA9IHRydWU7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJj ZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9 IDMyOworCQl2Ymlvcy0+YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51 bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9 IDI1NjsKKwkJdmJpb3MtPmJsYWNrb3V0X2R1cmF0aW9uID0gYndfaW50X3RvX2ZpeGVkKDApOyAv KiB1cyAqLworCQl2Ymlvcy0+bWF4aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50 X3RvX2ZpeGVkKDApOworCisJCWRjZWlwLT5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3Bv cnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwor CQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9kcmFtYndfZGlzcGxheV9jYW5f dXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+cGVyY2VudF9v Zl9pZGVhbF9wb3J0X2J3X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOworCQlk Y2VpcC0+bGFyZ2VfY3Vyc29yID0gZmFsc2U7CisJCWRjZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVy X3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNf Y2h1bmtfdHJhY2tlciA9IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29yX21heF9vdXRzdGFuZGluZ19n cm91cF9udW0gPSAxOworCQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJ CWRjZWlwLT5jaHVua193aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51bWJlcl9vZl9ncmFwaGljc19w aXBlcyA9IDU7CisJCWRjZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAwOworCQlkY2Vp cC0+bG93X3Bvd2VyX3RpbGluZ19tb2RlID0gMDsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFj a19zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJZGNlaXAtPmFyZ2JfY29tcHJlc3Npb25fc3VwcG9ydCA9 IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29t cG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNTU1NiwgMTAwMDApOwotCQlkY2VpcC51bmRl cmxheV92c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJj X3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNp ZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwgMTAp OwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVu dCA9CisJCWRjZWlwLT51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBv bmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxl cl9lZmZpY2llbmN5Nl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzUs IDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29t cG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2VpcC5ncmFw aGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19m cmNfdG9fZml4ZWQoMzIsIDEwKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5 MTJfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2ll bmN5MTJfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwotCQlkY2Vp cC5hbHBoYV92c2NhbGVyX2VmZmljaWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlw Lm1heF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OwotCQlkY2VpcC5ncmFwaGljc19kbWlmX3Np emUgPSAxMjI4ODsKLQkJZGNlaXAudW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKLQkJ ZGNlaXAudW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUyOwotCQlkY2VpcC5wcmVfZG93 bnNjYWxlcl9lbmFibGVkID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfZG93bnNjYWxlX3ByZWZl dGNoX2VuYWJsZWQgPSB0cnVlOwotCQlkY2VpcC5sYl93cml0ZV9waXhlbHNfcGVyX2Rpc3BjbGsg PSBid19pbnRfdG9fZml4ZWQoMSk7Ci0JCWRjZWlwLmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9 IGJ3X2ludF90b19maXhlZCgyNDU5NTIpOwotCQlkY2VpcC5ncmFwaGljc19sYl9ub2Rvd25zY2Fs aW5nX211bHRpX2xpbmVfcHJlZmV0Y2hpbmcgPSB0cnVlOwotCQlkY2VpcC5zdHV0dGVyX2FuZF9k cmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vyc29yID0KKwkJZGNlaXAtPmFs cGhhX3ZzY2FsZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKKwkJZGNlaXAtPm1h eF9kbWlmX2J1ZmZlcl9hbGxvY2F0ZWQgPSA0OworCQlkY2VpcC0+Z3JhcGhpY3NfZG1pZl9zaXpl ID0gMTIyODg7CisJCWRjZWlwLT51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OworCQlk Y2VpcC0+dW5kZXJsYXlfY2hyb21hX2RtaWZfc2l6ZSA9IDIzNTUyOworCQlkY2VpcC0+cHJlX2Rv d25zY2FsZXJfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT51bmRlcmxheV9kb3duc2NhbGVfcHJl ZmV0Y2hfZW5hYmxlZCA9IHRydWU7CisJCWRjZWlwLT5sYl93cml0ZV9waXhlbHNfcGVyX2Rpc3Bj bGsgPSBid19pbnRfdG9fZml4ZWQoMSk7CisJCWRjZWlwLT5sYl9zaXplX3Blcl9jb21wb25lbnQ0 NDQgPSBid19pbnRfdG9fZml4ZWQoMjQ1OTUyKTsKKwkJZGNlaXAtPmdyYXBoaWNzX2xiX25vZG93 bnNjYWxpbmdfbXVsdGlfbGluZV9wcmVmZXRjaGluZyA9IHRydWU7CisJCWRjZWlwLT5zdHV0dGVy X2FuZF9kcmFtX2Nsb2NrX3N0YXRlX2NoYW5nZV9nYXRlZF9iZWZvcmVfY3Vyc29yID0KIAkJCWJ3 X2ludF90b19maXhlZCgxKTsKLQkJZGNlaXAudW5kZXJsYXk0MjBfbHVtYV9sYl9zaXplX3Blcl9j b21wb25lbnQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQyMF9sdW1hX2xi X3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNl aXAudW5kZXJsYXk0MjBfY2hyb21hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51 bmRlcmxheTQyMF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ludF90b19m aXhlZCgxNjQzNTIpOwotCQlkY2VpcC51bmRlcmxheTQyMl9sYl9zaXplX3Blcl9jb21wb25lbnQg PSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT51bmRlcmxheTQyMl9sYl9zaXplX3Blcl9jb21w b25lbnQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQk4MjE3Nik7Ci0JCWRjZWlwLmN1cnNvcl9jaHVu a193aWR0aCA9IGJ3X2ludF90b19maXhlZCg2NCk7Ci0JCWRjZWlwLmN1cnNvcl9kY3BfYnVmZmVy X2xpbmVzID0gYndfaW50X3RvX2ZpeGVkKDQpOwotCQlkY2VpcC51bmRlcmxheV9tYXhpbXVtX3dp ZHRoX2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPmN1cnNvcl9jaHVua193aWR0aCA9 IGJ3X2ludF90b19maXhlZCg2NCk7CisJCWRjZWlwLT5jdXJzb3JfZGNwX2J1ZmZlcl9saW5lcyA9 IGJ3X2ludF90b19maXhlZCg0KTsKKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZm aWNpZW50X2Zvcl90aWxpbmcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE5MjApOwotCQlkY2VpcC51 bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CisJCWRjZWlwLT51 bmRlcmxheV9tYXhpbXVtX2hlaWdodF9lZmZpY2llbnRfZm9yX3RpbGluZyA9CiAJCQlid19pbnRf dG9fZml4ZWQoMTA4MCk7Ci0JCWRjZWlwLnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0 aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNfb3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9 CisJCWRjZWlwLT5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX211 bHRpcGxlX2Rpc3BsYXlzX29yX3NpbmdsZV9yb3RhdGVkX2Rpc3BsYXkgPQogCQkJYndfZnJjX3Rv X2ZpeGVkKDMsIDEwKTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRp b19saW1pdGluZ19zaW5nbGVfZGlzcGxheV9ub19yb3RhdGlvbiA9CisJCWRjZWlwLT5wZWFrX3B0 ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3NpbmdsZV9kaXNwbGF5X25vX3Jv dGF0aW9uID0KIAkJCWJ3X2ludF90b19maXhlZCgyNSk7Ci0JCWRjZWlwLm1pbmltdW1fb3V0c3Rh bmRpbmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCisJCWRjZWlwLT5taW5p bXVtX291dHN0YW5kaW5nX3B0ZV9yZXF1ZXN0X2xpbWl0ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJ Mik7Ci0JCWRjZWlwLm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdfcHRlX3JlcXVlc3RzX2FsbG93 ZWRfYnlfc2F3ID0KKwkJZGNlaXAtPm1heGltdW1fdG90YWxfb3V0c3RhbmRpbmdfcHRlX3JlcXVl c3RzX2FsbG93ZWRfYnlfc2F3ID0KIAkJCWJ3X2ludF90b19maXhlZCgxMjgpOwotCQlkY2VpcC5s aW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0cyA9IHRydWU7Ci0JCWRjZWlw LmxpbmVhcl9tb2RlX2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CisJCWRjZWlwLT5s aW1pdF9leGNlc3NpdmVfb3V0c3RhbmRpbmdfZG1pZl9yZXF1ZXN0cyA9IHRydWU7CisJCWRjZWlw LT5saW5lYXJfbW9kZV9saW5lX3JlcXVlc3RfYWx0ZXJuYXRpb25fc2xpY2UgPQogCQkJYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuc2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZl dGNoaW5nX2luX2xpbmVhcl9tb2RlID0KKwkJZGNlaXAtPnNjYXR0ZXJfZ2F0aGVyX2xpbmVzX29m X3B0ZV9wcmVmZXRjaGluZ19pbl9saW5lYXJfbW9kZSA9CiAJCQkzMjsKLQkJZGNlaXAuZGlzcGxh eV93cml0ZV9iYWNrNDIwX2x1bWFfbWNpZndyX2J1ZmZlcl9zaXplID0gMTIyODg7Ci0JCWRjZWlw LmRpc3BsYXlfd3JpdGVfYmFjazQyMF9jaHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsK LQkJZGNlaXAucmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDgsIDEwKTsKLQkJ ZGNlaXAuZGlzcGNsa19wZXJfcmVxdWVzdCA9IGJ3X2ludF90b19maXhlZCgyKTsKLQkJZGNlaXAu ZGlzcGNsa19yYW1waW5nX2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7Ci0JCWRj ZWlwLmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9IGJ3X2ZyY190b19maXhlZCgxMDUs IDEwMCk7Ci0JCWRjZWlwLnNjYXR0ZXJfZ2F0aGVyX3B0ZV9yZXF1ZXN0X3Jvd3NfaW5fdGlsaW5n X21vZGUgPSAyOwotCQlkY2VpcC5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19p bnRfdG9fZml4ZWQoMCk7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRlX2JhY2s0MjBfbHVtYV9tY2lm d3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9j aHJvbWFfbWNpZndyX2J1ZmZlcl9zaXplID0gODE5MjsKKwkJZGNlaXAtPnJlcXVlc3RfZWZmaWNp ZW5jeSA9IGJ3X2ZyY190b19maXhlZCg4LCAxMCk7CisJCWRjZWlwLT5kaXNwY2xrX3Blcl9yZXF1 ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOworCQlkY2VpcC0+ZGlzcGNsa19yYW1waW5nX2ZhY3Rv ciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5kaXNwbGF5X3BpcGVfdGhy b3VnaHB1dF9mYWN0b3IgPSBid19mcmNfdG9fZml4ZWQoMTA1LCAxMDApOworCQlkY2VpcC0+c2Nh dHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7CisJCWRjZWlw LT5tY2lmd3JfYWxsX3N1cmZhY2VzX2J1cnN0X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7CiAJ CWJyZWFrOwogCWNhc2UgQldfQ0FMQ1NfVkVSU0lPTl9QT0xBUklTMTI6Ci0JCXZiaW9zLm1lbW9y eV90eXBlID0gYndfZGVmX2dkZHI1OwotCQl2Ymlvcy5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0 cyA9IDMyOwotCQl2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9IGFzaWNfaWQudnJhbV93 aWR0aCAvIHZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzOwotCQl2Ymlvcy5udW1iZXJf b2ZfZHJhbV9iYW5rcyA9IDg7Ci0JCXZiaW9zLmhpZ2hfeWNsayA9IGJ3X2ludF90b19maXhlZCg2 MDAwKTsKLQkJdmJpb3MubWlkX3ljbGsgPSBid19pbnRfdG9fZml4ZWQoMzIwMCk7Ci0JCXZiaW9z Lmxvd195Y2xrID0gYndfaW50X3RvX2ZpeGVkKDEwMDApOwotCQl2Ymlvcy5sb3dfc2NsayA9IGJ3 X2ludF90b19maXhlZCg2NzgpOwotCQl2Ymlvcy5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQo ODY0KTsKLQkJdmJpb3MubWlkMl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDkwMCk7Ci0JCXZiaW9z Lm1pZDNfc2NsayA9IGJ3X2ludF90b19maXhlZCg5MjApOwotCQl2Ymlvcy5taWQ0X3NjbGsgPSBi d19pbnRfdG9fZml4ZWQoOTQwKTsKLQkJdmJpb3MubWlkNV9zY2xrID0gYndfaW50X3RvX2ZpeGVk KDk2MCk7Ci0JCXZiaW9zLm1pZDZfc2NsayA9IGJ3X2ludF90b19maXhlZCg5ODApOwotCQl2Ymlv cy5oaWdoX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMTA0OSk7Ci0JCXZiaW9zLmxvd192b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDQ1OSk7Ci0JCXZiaW9zLm1pZF92b2x0YWdl X21heF9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVkKDY1NCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFn ZV9tYXhfZGlzcGNsayA9IGJ3X2ludF90b19maXhlZCgxMTA4KTsKLQkJdmJpb3MubG93X3ZvbHRh Z2VfbWF4X3BoeWNsayA9IGJ3X2ludF90b19maXhlZCg1NDApOwotCQl2Ymlvcy5taWRfdm9sdGFn ZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFn ZV9tYXhfcGh5Y2xrID0gYndfaW50X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmRhdGFfcmV0dXJu X2J1c193aWR0aCA9IGJ3X2ludF90b19maXhlZCgzMik7Ci0JCXZiaW9zLnRyYyA9IGJ3X2ludF90 b19maXhlZCg0OCk7Ci0JCWlmICh2Ymlvcy5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9PSAyKSAv LyA2NC1iaXQKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhl ZCg0KTsKKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2dkZHI1OworCQl2Ymlvcy0+ZHJh bV9jaGFubmVsX3dpZHRoX2luX2JpdHMgPSAzMjsKKwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2No YW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MtPmRyYW1fY2hhbm5lbF93aWR0aF9p bl9iaXRzOworCQl2Ymlvcy0+bnVtYmVyX29mX2RyYW1fYmFua3MgPSA4OworCQl2Ymlvcy0+aGln aF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMDApOworCQl2Ymlvcy0+bWlkX3ljbGsgPSBid19p bnRfdG9fZml4ZWQoMzIwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9IGJ3X2ludF90b19maXhlZCgx MDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDY3OCk7CisJCXZiaW9z LT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoODY0KTsKKwkJdmJpb3MtPm1pZDJfc2NsayA9 IGJ3X2ludF90b19maXhlZCg5MDApOworCQl2Ymlvcy0+bWlkM19zY2xrID0gYndfaW50X3RvX2Zp eGVkKDkyMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoOTQwKTsKKwkJ dmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg5NjApOworCQl2Ymlvcy0+bWlkNl9z Y2xrID0gYndfaW50X3RvX2ZpeGVkKDk4MCk7CisJCXZiaW9zLT5oaWdoX3NjbGsgPSBid19pbnRf dG9fZml4ZWQoMTA0OSk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCg0NTkpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19p bnRfdG9fZml4ZWQoNjU0KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCgxMTA4KTsKKwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoNTQwKTsKKwkJdmJpb3MtPm1pZF92b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0g YndfaW50X3RvX2ZpeGVkKDgxMCk7CisJCXZiaW9zLT5kYXRhX3JldHVybl9idXNfd2lkdGggPSBi d19pbnRfdG9fZml4ZWQoMzIpOworCQl2Ymlvcy0+dHJjID0gYndfaW50X3RvX2ZpeGVkKDQ4KTsK KwkJaWYgKHZiaW9zLT5udW1iZXJfb2ZfZHJhbV9jaGFubmVscyA9PSAyKSAvLyA2NC1iaXQKKwkJ CXZiaW9zLT5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoNCk7CiAJCWVs c2UKLQkJCXZiaW9zLmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsK LQkJdmJpb3Muc3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfaW50X3RvX2Zp eGVkKDUpOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndf aW50X3RvX2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hhbmdlX2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMjUwKTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSBmYWxzZTsK LQkJdmJpb3MuZG93bl9zcHJlYWRfcGVyY2VudGFnZSA9IGJ3X2ZyY190b19maXhlZCg1LCAxMCk7 Ci0JCXZiaW9zLmN1cnNvcl93aWR0aCA9IDMyOwotCQl2Ymlvcy5hdmVyYWdlX2NvbXByZXNzaW9u X3JhdGUgPSA0OwotCQl2Ymlvcy5udW1iZXJfb2ZfcmVxdWVzdF9zbG90c19nbWNfcmVzZXJ2ZXNf Zm9yX2RtaWZfcGVyX2NoYW5uZWwgPSAyNTY7Ci0JCXZiaW9zLmJsYWNrb3V0X2R1cmF0aW9uID0g YndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLwotCQl2Ymlvcy5tYXhpbXVtX2JsYWNrb3V0X3Jl Y292ZXJ5X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7Ci0KLQkJZGNlaXAubWF4X2F2ZXJhZ2Vf cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lzdGVt X29wZXJhdGlvbiA9IDEwMDsKLQkJZGNlaXAubWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9k cmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOwot CQlkY2VpcC5wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfcmVjZWl2ZWRfYWZ0ZXJfdXJnZW50X2xh dGVuY3kgPSAxMDA7Ci0JCWRjZWlwLmxhcmdlX2N1cnNvciA9IGZhbHNlOwotCQlkY2VpcC5kbWlm X3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRfdG9fZml4ZWQoNzY4KTsKLQkJZGNlaXAuZG1p Zl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0gZmFsc2U7Ci0JCWRjZWlwLmN1cnNvcl9tYXhf b3V0c3RhbmRpbmdfZ3JvdXBfbnVtID0gMTsKLQkJZGNlaXAubGluZXNfaW50ZXJsZWF2ZWRfaW50 b19sYiA9IDI7Ci0JCWRjZWlwLmNodW5rX3dpZHRoID0gMjU2OwotCQlkY2VpcC5udW1iZXJfb2Zf Z3JhcGhpY3NfcGlwZXMgPSA1OwotCQlkY2VpcC5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAw OwotCQlkY2VpcC5sb3dfcG93ZXJfdGlsaW5nX21vZGUgPSAwOwotCQlkY2VpcC5kaXNwbGF5X3dy aXRlX2JhY2tfc3VwcG9ydGVkID0gdHJ1ZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBw b3J0ID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVy X2NvbXBvbmVudCA9CisJCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3Rv X2ZpeGVkKDMpOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0g YndfaW50X3RvX2ZpeGVkKDUpOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwkJdmJpb3MtPm5icF9zdGF0ZV9jaGFuZ2Vf bGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCgyNTApOworCQl2Ymlvcy0+bWNpZndybWNfdXJnZW50 X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRoZXJf ZW5hYmxlID0gZmFsc2U7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJj X3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+ YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKKwkJdmJpb3Mt PmJsYWNrb3V0X2R1cmF0aW9uID0gYndfaW50X3RvX2ZpeGVkKDApOyAvKiB1cyAqLworCQl2Ymlv cy0+bWF4aW11bV9ibGFja291dF9yZWNvdmVyeV90aW1lID0gYndfaW50X3RvX2ZpeGVkKDApOwor CisJCWRjZWlwLT5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9j YW5fdXNlX2luX25vcm1hbF9zeXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+bWF4X2F2 ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9kcmFtYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9z eXN0ZW1fb3BlcmF0aW9uID0gMTAwOworCQlkY2VpcC0+cGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3 X3JlY2VpdmVkX2FmdGVyX3VyZ2VudF9sYXRlbmN5ID0gMTAwOworCQlkY2VpcC0+bGFyZ2VfY3Vy c29yID0gZmFsc2U7CisJCWRjZWlwLT5kbWlmX3JlcXVlc3RfYnVmZmVyX3NpemUgPSBid19pbnRf dG9fZml4ZWQoNzY4KTsKKwkJZGNlaXAtPmRtaWZfcGlwZV9lbl9mYmNfY2h1bmtfdHJhY2tlciA9 IGZhbHNlOworCQlkY2VpcC0+Y3Vyc29yX21heF9vdXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwor CQlkY2VpcC0+bGluZXNfaW50ZXJsZWF2ZWRfaW50b19sYiA9IDI7CisJCWRjZWlwLT5jaHVua193 aWR0aCA9IDI1NjsKKwkJZGNlaXAtPm51bWJlcl9vZl9ncmFwaGljc19waXBlcyA9IDU7CisJCWRj ZWlwLT5udW1iZXJfb2ZfdW5kZXJsYXlfcGlwZXMgPSAwOworCQlkY2VpcC0+bG93X3Bvd2VyX3Rp bGluZ19tb2RlID0gMDsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFja19zdXBwb3J0ZWQgPSB0 cnVlOworCQlkY2VpcC0+YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKKwkJZGNlaXAt PnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndf ZnJjX3RvX2ZpeGVkKDM1NTU2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9l ZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQyODYs IDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Blcl9j b21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLnVuZGVy bGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2lu dF90b19maXhlZCgzKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRf cGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2X2Jp dF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNSwgMTApOwotCQlkY2VpcC5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndf ZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJfZWZm aWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwg MTApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBv bmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2Nv bXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmFscGhhX3ZzY2FsZXJf ZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAubWF4X2RtaWZfYnVmZmVy X2FsbG9jYXRlZCA9IDQ7Ci0JCWRjZWlwLmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4OwotCQlk Y2VpcC51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OwotCQlkY2VpcC51bmRlcmxheV9j aHJvbWFfZG1pZl9zaXplID0gMjM1NTI7Ci0JCWRjZWlwLnByZV9kb3duc2NhbGVyX2VuYWJsZWQg PSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9IHRy dWU7Ci0JCWRjZWlwLmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19maXhl ZCgxKTsKLQkJZGNlaXAubGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2ZpeGVk KDI0NTk1Mik7Ci0JCWRjZWlwLmdyYXBoaWNzX2xiX25vZG93bnNjYWxpbmdfbXVsdGlfbGluZV9w cmVmZXRjaGluZyA9IHRydWU7Ci0JCWRjZWlwLnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tfc3RhdGVf Y2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQorCQlkY2VpcC0+YWxwaGFfdnNjYWxlcl9lZmZp Y2llbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMpOworCQlkY2VpcC0+bWF4X2RtaWZfYnVmZmVyX2Fs bG9jYXRlZCA9IDQ7CisJCWRjZWlwLT5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKKwkJZGNl aXAtPnVuZGVybGF5X2x1bWFfZG1pZl9zaXplID0gMTk0NTY7CisJCWRjZWlwLT51bmRlcmxheV9j aHJvbWFfZG1pZl9zaXplID0gMjM1NTI7CisJCWRjZWlwLT5wcmVfZG93bnNjYWxlcl9lbmFibGVk ID0gdHJ1ZTsKKwkJZGNlaXAtPnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVkID0g dHJ1ZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19m aXhlZCgyNDU5NTIpOworCQlkY2VpcC0+Z3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9s aW5lX3ByZWZldGNoaW5nID0gdHJ1ZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tf c3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEp OwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9u ZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQyMF9j aHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2Nocm9t YV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7Ci0J CWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhl ZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90 b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRf dG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zv cl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2ZpeGVk KDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVk KDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGlu ZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgwKTsK LQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0 aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBlYWtf cHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNf b3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTApOwot CQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Npbmds ZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZp Y3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJYndf aW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVz dF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAubWF4 aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQorCQlk Y2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9z YXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVfbGlu ZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2RlX2xp bmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFy X21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNoaW5n X2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBf bHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9i YWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1ZXN0 X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xrX3Bl cl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBpbmdf ZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9waXBl X3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAu c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0JCWRj ZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsK KwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6ZSA9 IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVm ZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRfdG9f Zml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3RvX2Zp eGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9 IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9wdGVf cmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxfc3Vy ZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJY2FzZSBC V19DQUxDU19WRVJTSU9OX1NUT05FWToKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19kZWZfZ2Rk cjU7Ci0JCXZiaW9zLmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7Ci0JCXZiaW9zLm51 bWJlcl9vZl9kcmFtX2NoYW5uZWxzID0gYXNpY19pZC52cmFtX3dpZHRoIC8gdmJpb3MuZHJhbV9j aGFubmVsX3dpZHRoX2luX2JpdHM7Ci0JCXZiaW9zLm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsK LQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDE4NjYpOwotCQl2Ymlvcy5taWRf eWNsayA9IGJ3X2ludF90b19maXhlZCgxODY2KTsKLQkJdmJpb3MubG93X3ljbGsgPSBid19pbnRf dG9fZml4ZWQoMTMzMyk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDIwMCk7 Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOwotCQl2Ymlvcy5taWQy X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKLQkJdmJpb3MubWlkM19zY2xrID0gYndfaW50 X3RvX2ZpeGVkKDYwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDAp OwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKLQkJdmJpb3MubWlk Nl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7Ci0JCXZiaW9zLmhpZ2hfc2NsayA9IGJ3X2lu dF90b19maXhlZCg4MDApOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCgzNTIpOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3X2lu dF90b19maXhlZCg0NjcpOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBid19p bnRfdG9fZml4ZWQoNjQzKTsKLQkJdmJpb3MubG93X3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3X2lu dF90b19maXhlZCg1NDApOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50 X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmhpZ2hfdm9sdGFnZV9tYXhfcGh5Y2xrID0gYndfaW50 X3RvX2ZpeGVkKDgxMCk7Ci0JCXZiaW9zLmRhdGFfcmV0dXJuX2J1c193aWR0aCA9IGJ3X2ludF90 b19maXhlZCgzMik7Ci0JCXZiaW9zLnRyYyA9IGJ3X2ludF90b19maXhlZCg1MCk7Ci0JCXZiaW9z LmRtaWZtY191cmdlbnRfbGF0ZW5jeSA9IGJ3X2ludF90b19maXhlZCg0KTsKLQkJdmJpb3Muc3R1 dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE1OCwgMTAp OwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfaW50X3Rv X2ZpeGVkKDApOwotCQl2Ymlvcy5uYnBfc3RhdGVfY2hhbmdlX2xhdGVuY3kgPSBid19mcmNfdG9f Zml4ZWQoMjAwOCwgMTAwKTsKLQkJdmJpb3MubWNpZndybWNfdXJnZW50X2xhdGVuY3kgPSBid19p bnRfdG9fZml4ZWQoMTApOwotCQl2Ymlvcy5zY2F0dGVyX2dhdGhlcl9lbmFibGUgPSB0cnVlOwot CQl2Ymlvcy5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJjX3RvX2ZpeGVkKDUsIDEwKTsK LQkJdmJpb3MuY3Vyc29yX3dpZHRoID0gMzI7Ci0JCXZiaW9zLmF2ZXJhZ2VfY29tcHJlc3Npb25f cmF0ZSA9IDQ7Ci0JCXZiaW9zLm51bWJlcl9vZl9yZXF1ZXN0X3Nsb3RzX2dtY19yZXNlcnZlc19m b3JfZG1pZl9wZXJfY2hhbm5lbCA9IDI1NjsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBi d19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVj b3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2Ry YW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0J CWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0 ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZf cmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhlZCg3NjgpOwotCQlkY2VpcC5kbWlm X3BpcGVfZW5fZmJjX2NodW5rX3RyYWNrZXIgPSBmYWxzZTsKLQkJZGNlaXAuY3Vyc29yX21heF9v dXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRv X2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9n cmFwaGljc19waXBlcyA9IDI7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDE7 Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3Jp dGVfYmFja19zdXBwb3J0ZWQgPSBmYWxzZTsKLQkJZGNlaXAuYXJnYl9jb21wcmVzc2lvbl9zdXBw b3J0ID0gdHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRfcGVy X2NvbXBvbmVudCA9CisJCXZiaW9zLT5tZW1vcnlfdHlwZSA9IGJ3X2RlZl9nZGRyNTsKKwkJdmJp b3MtPmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gNjQ7CisJCXZiaW9zLT5udW1iZXJfb2Zf ZHJhbV9jaGFubmVscyA9IGFzaWNfaWQudnJhbV93aWR0aCAvIHZiaW9zLT5kcmFtX2NoYW5uZWxf d2lkdGhfaW5fYml0czsKKwkJdmJpb3MtPm51bWJlcl9vZl9kcmFtX2JhbmtzID0gODsKKwkJdmJp b3MtPmhpZ2hfeWNsayA9IGJ3X2ludF90b19maXhlZCgxODY2KTsKKwkJdmJpb3MtPm1pZF95Y2xr ID0gYndfaW50X3RvX2ZpeGVkKDE4NjYpOworCQl2Ymlvcy0+bG93X3ljbGsgPSBid19pbnRfdG9f Zml4ZWQoMTMzMyk7CisJCXZiaW9zLT5sb3dfc2NsayA9IGJ3X2ludF90b19maXhlZCgyMDApOwor CQl2Ymlvcy0+bWlkMV9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYwMCk7CisJCXZiaW9zLT5taWQy X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKKwkJdmJpb3MtPm1pZDNfc2NsayA9IGJ3X2lu dF90b19maXhlZCg2MDApOworCQl2Ymlvcy0+bWlkNF9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDYw MCk7CisJCXZiaW9zLT5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAwKTsKKwkJdmJpb3Mt Pm1pZDZfc2NsayA9IGJ3X2ludF90b19maXhlZCg2MDApOworCQl2Ymlvcy0+aGlnaF9zY2xrID0g YndfaW50X3RvX2ZpeGVkKDgwMCk7CisJCXZiaW9zLT5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9 IGJ3X2ludF90b19maXhlZCgzNTIpOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsg PSBid19pbnRfdG9fZml4ZWQoNDY3KTsKKwkJdmJpb3MtPmhpZ2hfdm9sdGFnZV9tYXhfZGlzcGNs ayA9IGJ3X2ludF90b19maXhlZCg2NDMpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg1NDApOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg4MTApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9waHlj bGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmRhdGFfcmV0dXJuX2J1c193aWR0 aCA9IGJ3X2ludF90b19maXhlZCgzMik7CisJCXZiaW9zLT50cmMgPSBid19pbnRfdG9fZml4ZWQo NTApOworCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDQp OworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDE1OCwgMTApOworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZW50cnlfbGF0 ZW5jeSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwkJdmJpb3MtPm5icF9zdGF0ZV9jaGFuZ2VfbGF0 ZW5jeSA9IGJ3X2ZyY190b19maXhlZCgyMDA4LCAxMDApOworCQl2Ymlvcy0+bWNpZndybWNfdXJn ZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRo ZXJfZW5hYmxlID0gdHJ1ZTsKKwkJdmJpb3MtPmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19m cmNfdG9fZml4ZWQoNSwgMTApOworCQl2Ymlvcy0+Y3Vyc29yX3dpZHRoID0gMzI7CisJCXZiaW9z LT5hdmVyYWdlX2NvbXByZXNzaW9uX3JhdGUgPSA0OworCQl2Ymlvcy0+bnVtYmVyX29mX3JlcXVl c3Rfc2xvdHNfZ21jX3Jlc2VydmVzX2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gMjU2OworCQl2Ymlv cy0+YmxhY2tvdXRfZHVyYXRpb24gPSBid19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCisJCXZi aW9zLT5tYXhpbXVtX2JsYWNrb3V0X3JlY292ZXJ5X3RpbWUgPSBid19pbnRfdG9fZml4ZWQoMCk7 CisKKwkJZGNlaXAtPm1heF9hdmVyYWdlX3BlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19kaXNwbGF5 X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7CisJCWRjZWlwLT5tYXhf YXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2RyYW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFs X3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7CisJCWRjZWlwLT5wZXJjZW50X29mX2lkZWFsX3BvcnRf YndfcmVjZWl2ZWRfYWZ0ZXJfdXJnZW50X2xhdGVuY3kgPSAxMDA7CisJCWRjZWlwLT5sYXJnZV9j dXJzb3IgPSBmYWxzZTsKKwkJZGNlaXAtPmRtaWZfcmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2lu dF90b19maXhlZCg3NjgpOworCQlkY2VpcC0+ZG1pZl9waXBlX2VuX2ZiY19jaHVua190cmFja2Vy ID0gZmFsc2U7CisJCWRjZWlwLT5jdXJzb3JfbWF4X291dHN0YW5kaW5nX2dyb3VwX251bSA9IDE7 CisJCWRjZWlwLT5saW5lc19pbnRlcmxlYXZlZF9pbnRvX2xiID0gMjsKKwkJZGNlaXAtPmNodW5r X3dpZHRoID0gMjU2OworCQlkY2VpcC0+bnVtYmVyX29mX2dyYXBoaWNzX3BpcGVzID0gMjsKKwkJ ZGNlaXAtPm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDE7CisJCWRjZWlwLT5sb3dfcG93ZXJf dGlsaW5nX21vZGUgPSAwOworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrX3N1cHBvcnRlZCA9 IGZhbHNlOworCQlkY2VpcC0+YXJnYl9jb21wcmVzc2lvbl9zdXBwb3J0ID0gdHJ1ZTsKKwkJZGNl aXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Blcl9jb21wb25lbnQgPQogCQkJ YndfZnJjX3RvX2ZpeGVkKDM1NTU2LCAxMDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJf ZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxl cl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzQy ODYsIDEwMDAwKTsKLQkJZGNlaXAudW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+dW5kZXJsYXlfdnNjYWxlcl9lZmZpY2llbmN5MTBfYml0 X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDMyLCAxMCk7Ci0JCWRjZWlwLnVu ZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAt PnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEyX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3 X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9i aXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k2 X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzNSwgMTApOwotCQlkY2Vp cC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNl aXAtPmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJ YndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAxMDAwMCk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJf ZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPmdyYXBoaWNzX3ZzY2Fs ZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgz MiwgMTApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2Nv bXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVy X2NvbXBvbmVudCA9CiAJCQlid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmFscGhhX3ZzY2Fs ZXJfZWZmaWNpZW5jeSA9IGJ3X2ludF90b19maXhlZCgzKTsKLQkJZGNlaXAubWF4X2RtaWZfYnVm ZmVyX2FsbG9jYXRlZCA9IDI7Ci0JCWRjZWlwLmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDEyMjg4Owot CQlkY2VpcC51bmRlcmxheV9sdW1hX2RtaWZfc2l6ZSA9IDE5NDU2OwotCQlkY2VpcC51bmRlcmxh eV9jaHJvbWFfZG1pZl9zaXplID0gMjM1NTI7Ci0JCWRjZWlwLnByZV9kb3duc2NhbGVyX2VuYWJs ZWQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV9kb3duc2NhbGVfcHJlZmV0Y2hfZW5hYmxlZCA9 IHRydWU7Ci0JCWRjZWlwLmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKLQkJZGNlaXAubGJfc2l6ZV9wZXJfY29tcG9uZW50NDQ0ID0gYndfaW50X3RvX2Zp eGVkKDgyMTc2KTsKLQkJZGNlaXAuZ3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9saW5l X3ByZWZldGNoaW5nID0gZmFsc2U7Ci0JCWRjZWlwLnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tfc3Rh dGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQorCQlkY2VpcC0+YWxwaGFfdnNjYWxlcl9l ZmZpY2llbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMpOworCQlkY2VpcC0+bWF4X2RtaWZfYnVmZmVy X2FsbG9jYXRlZCA9IDI7CisJCWRjZWlwLT5ncmFwaGljc19kbWlmX3NpemUgPSAxMjI4ODsKKwkJ ZGNlaXAtPnVuZGVybGF5X2x1bWFfZG1pZl9zaXplID0gMTk0NTY7CisJCWRjZWlwLT51bmRlcmxh eV9jaHJvbWFfZG1pZl9zaXplID0gMjM1NTI7CisJCWRjZWlwLT5wcmVfZG93bnNjYWxlcl9lbmFi bGVkID0gdHJ1ZTsKKwkJZGNlaXAtPnVuZGVybGF5X2Rvd25zY2FsZV9wcmVmZXRjaF9lbmFibGVk ID0gdHJ1ZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90 b19maXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90 b19maXhlZCg4MjE3Nik7CisJCWRjZWlwLT5ncmFwaGljc19sYl9ub2Rvd25zY2FsaW5nX211bHRp X2xpbmVfcHJlZmV0Y2hpbmcgPSBmYWxzZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xv Y2tfc3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVk KDApOwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3 X2ludF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29t cG9uZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQy MF9jaHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2No cm9tYV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7 Ci0JCWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19m aXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndf aW50X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19p bnRfdG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50 X2Zvcl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2Zp eGVkKDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2Zp eGVkKDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3Rp bGluZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGlt dW1faGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGlt dW1faGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgw KTsKLQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19t dWx0aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBl YWtfcHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxh eXNfb3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTAp OwotCQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Np bmdsZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9f ZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJ YndfaW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVx dWVzdF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRp bmdfcHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAu bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQor CQlkY2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9i eV9zYXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2 ZV9vdXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVf bGluZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2 ZV9vdXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2Rl X2xpbmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQp OwotCQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGlu ZWFyX21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNo aW5nX2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0 MjBfbHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0 ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1 ZXN0X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xr X3Blcl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBp bmdfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9w aXBlX3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNl aXAuc2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0J CWRjZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgw KTsKKwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6 ZSA9IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3Jf YnVmZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJj X3RvX2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRf dG9fZml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3Rv X2ZpeGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3Rv ciA9IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9w dGVfcmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxf c3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJY2Fz ZSBCV19DQUxDU19WRVJTSU9OX1ZFR0ExMDoKLQkJdmJpb3MubWVtb3J5X3R5cGUgPSBid19kZWZf aGJtOwotCQl2Ymlvcy5kcmFtX2NoYW5uZWxfd2lkdGhfaW5fYml0cyA9IDEyODsKLQkJdmJpb3Mu bnVtYmVyX29mX2RyYW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy5kcmFt X2NoYW5uZWxfd2lkdGhfaW5fYml0czsKLQkJdmJpb3MubnVtYmVyX29mX2RyYW1fYmFua3MgPSAx NjsKLQkJdmJpb3MuaGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDI0MDApOwotCQl2Ymlvcy5t aWRfeWNsayA9IGJ3X2ludF90b19maXhlZCgxNzAwKTsKLQkJdmJpb3MubG93X3ljbGsgPSBid19p bnRfdG9fZml4ZWQoMTAwMCk7Ci0JCXZiaW9zLmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMw MCk7Ci0JCXZiaW9zLm1pZDFfc2NsayA9IGJ3X2ludF90b19maXhlZCgzNTApOwotCQl2Ymlvcy5t aWQyX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNDAwKTsKLQkJdmJpb3MubWlkM19zY2xrID0gYndf aW50X3RvX2ZpeGVkKDUwMCk7Ci0JCXZiaW9zLm1pZDRfc2NsayA9IGJ3X2ludF90b19maXhlZCg2 MDApOwotCQl2Ymlvcy5taWQ1X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNzAwKTsKLQkJdmJpb3Mu bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDc2MCk7Ci0JCXZiaW9zLmhpZ2hfc2NsayA9IGJ3 X2ludF90b19maXhlZCg3NzYpOwotCQl2Ymlvcy5sb3dfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCg0NjApOwotCQl2Ymlvcy5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9IGJ3 X2ludF90b19maXhlZCg2NzApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X2Rpc3BjbGsgPSBi d19pbnRfdG9fZml4ZWQoMTEzMyk7Ci0JCXZiaW9zLmxvd192b2x0YWdlX21heF9waHljbGsgPSBi d19pbnRfdG9fZml4ZWQoNTQwKTsKLQkJdmJpb3MubWlkX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3 X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5oaWdoX3ZvbHRhZ2VfbWF4X3BoeWNsayA9IGJ3 X2ludF90b19maXhlZCg4MTApOwotCQl2Ymlvcy5kYXRhX3JldHVybl9idXNfd2lkdGggPSBid19p bnRfdG9fZml4ZWQoMzIpOwotCQl2Ymlvcy50cmMgPSBid19pbnRfdG9fZml4ZWQoNDgpOwotCQl2 Ymlvcy5kbWlmbWNfdXJnZW50X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCXZiaW9z LnN0dXR0ZXJfc2VsZl9yZWZyZXNoX2V4aXRfbGF0ZW5jeSA9IGJ3X2ZyY190b19maXhlZCg3NSwg MTApOwotCQl2Ymlvcy5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRlbmN5ID0gYndfZnJj X3RvX2ZpeGVkKDE5LCAxMCk7Ci0JCXZiaW9zLm5icF9zdGF0ZV9jaGFuZ2VfbGF0ZW5jeSA9IGJ3 X2ludF90b19maXhlZCgzOSk7Ci0JCXZiaW9zLm1jaWZ3cm1jX3VyZ2VudF9sYXRlbmN5ID0gYndf aW50X3RvX2ZpeGVkKDEwKTsKLQkJdmJpb3Muc2NhdHRlcl9nYXRoZXJfZW5hYmxlID0gZmFsc2U7 Ci0JCXZiaW9zLmRvd25fc3ByZWFkX3BlcmNlbnRhZ2UgPSBid19mcmNfdG9fZml4ZWQoNSwgMTAp OwotCQl2Ymlvcy5jdXJzb3Jfd2lkdGggPSAzMjsKLQkJdmJpb3MuYXZlcmFnZV9jb21wcmVzc2lv bl9yYXRlID0gNDsKLQkJdmJpb3MubnVtYmVyX29mX3JlcXVlc3Rfc2xvdHNfZ21jX3Jlc2VydmVz X2Zvcl9kbWlmX3Blcl9jaGFubmVsID0gODsKLQkJdmJpb3MuYmxhY2tvdXRfZHVyYXRpb24gPSBi d19pbnRfdG9fZml4ZWQoMCk7IC8qIHVzICovCi0JCXZiaW9zLm1heGltdW1fYmxhY2tvdXRfcmVj b3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKLQotCQlkY2VpcC5tYXhfYXZlcmFnZV9w ZXJjZW50X29mX2lkZWFsX3BvcnRfYndfZGlzcGxheV9jYW5fdXNlX2luX25vcm1hbF9zeXN0ZW1f b3BlcmF0aW9uID0gMTAwOwotCQlkY2VpcC5tYXhfYXZlcmFnZV9wZXJjZW50X29mX2lkZWFsX2Ry YW1id19kaXNwbGF5X2Nhbl91c2VfaW5fbm9ybWFsX3N5c3RlbV9vcGVyYXRpb24gPSAxMDA7Ci0J CWRjZWlwLnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19yZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0 ZW5jeSA9IDEwMDsKLQkJZGNlaXAubGFyZ2VfY3Vyc29yID0gZmFsc2U7Ci0JCWRjZWlwLmRtaWZf cmVxdWVzdF9idWZmZXJfc2l6ZSA9IGJ3X2ludF90b19maXhlZCgyMzA0KTsKLQkJZGNlaXAuZG1p Zl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0gdHJ1ZTsKLQkJZGNlaXAuY3Vyc29yX21heF9v dXRzdGFuZGluZ19ncm91cF9udW0gPSAxOwotCQlkY2VpcC5saW5lc19pbnRlcmxlYXZlZF9pbnRv X2xiID0gMjsKLQkJZGNlaXAuY2h1bmtfd2lkdGggPSAyNTY7Ci0JCWRjZWlwLm51bWJlcl9vZl9n cmFwaGljc19waXBlcyA9IDY7Ci0JCWRjZWlwLm51bWJlcl9vZl91bmRlcmxheV9waXBlcyA9IDA7 Ci0JCWRjZWlwLmxvd19wb3dlcl90aWxpbmdfbW9kZSA9IDA7Ci0JCWRjZWlwLmRpc3BsYXlfd3Jp dGVfYmFja19zdXBwb3J0ZWQgPSB0cnVlOwotCQlkY2VpcC5hcmdiX2NvbXByZXNzaW9uX3N1cHBv cnQgPSB0cnVlOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJf Y29tcG9uZW50ID0KKwkJdmJpb3MtPm1lbW9yeV90eXBlID0gYndfZGVmX2hibTsKKwkJdmJpb3Mt PmRyYW1fY2hhbm5lbF93aWR0aF9pbl9iaXRzID0gMTI4OworCQl2Ymlvcy0+bnVtYmVyX29mX2Ry YW1fY2hhbm5lbHMgPSBhc2ljX2lkLnZyYW1fd2lkdGggLyB2Ymlvcy0+ZHJhbV9jaGFubmVsX3dp ZHRoX2luX2JpdHM7CisJCXZiaW9zLT5udW1iZXJfb2ZfZHJhbV9iYW5rcyA9IDE2OworCQl2Ymlv cy0+aGlnaF95Y2xrID0gYndfaW50X3RvX2ZpeGVkKDI0MDApOworCQl2Ymlvcy0+bWlkX3ljbGsg PSBid19pbnRfdG9fZml4ZWQoMTcwMCk7CisJCXZiaW9zLT5sb3dfeWNsayA9IGJ3X2ludF90b19m aXhlZCgxMDAwKTsKKwkJdmJpb3MtPmxvd19zY2xrID0gYndfaW50X3RvX2ZpeGVkKDMwMCk7CisJ CXZiaW9zLT5taWQxX3NjbGsgPSBid19pbnRfdG9fZml4ZWQoMzUwKTsKKwkJdmJpb3MtPm1pZDJf c2NsayA9IGJ3X2ludF90b19maXhlZCg0MDApOworCQl2Ymlvcy0+bWlkM19zY2xrID0gYndfaW50 X3RvX2ZpeGVkKDUwMCk7CisJCXZiaW9zLT5taWQ0X3NjbGsgPSBid19pbnRfdG9fZml4ZWQoNjAw KTsKKwkJdmJpb3MtPm1pZDVfc2NsayA9IGJ3X2ludF90b19maXhlZCg3MDApOworCQl2Ymlvcy0+ bWlkNl9zY2xrID0gYndfaW50X3RvX2ZpeGVkKDc2MCk7CisJCXZiaW9zLT5oaWdoX3NjbGsgPSBi d19pbnRfdG9fZml4ZWQoNzc2KTsKKwkJdmJpb3MtPmxvd192b2x0YWdlX21heF9kaXNwY2xrID0g YndfaW50X3RvX2ZpeGVkKDQ2MCk7CisJCXZiaW9zLT5taWRfdm9sdGFnZV9tYXhfZGlzcGNsayA9 IGJ3X2ludF90b19maXhlZCg2NzApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9kaXNwY2xr ID0gYndfaW50X3RvX2ZpeGVkKDExMzMpOworCQl2Ymlvcy0+bG93X3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg1NDApOworCQl2Ymlvcy0+bWlkX3ZvbHRhZ2VfbWF4X3BoeWNs ayA9IGJ3X2ludF90b19maXhlZCg4MTApOworCQl2Ymlvcy0+aGlnaF92b2x0YWdlX21heF9waHlj bGsgPSBid19pbnRfdG9fZml4ZWQoODEwKTsKKwkJdmJpb3MtPmRhdGFfcmV0dXJuX2J1c193aWR0 aCA9IGJ3X2ludF90b19maXhlZCgzMik7CisJCXZiaW9zLT50cmMgPSBid19pbnRfdG9fZml4ZWQo NDgpOworCQl2Ymlvcy0+ZG1pZm1jX3VyZ2VudF9sYXRlbmN5ID0gYndfaW50X3RvX2ZpeGVkKDMp OworCQl2Ymlvcy0+c3R1dHRlcl9zZWxmX3JlZnJlc2hfZXhpdF9sYXRlbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDc1LCAxMCk7CisJCXZiaW9zLT5zdHV0dGVyX3NlbGZfcmVmcmVzaF9lbnRyeV9sYXRl bmN5ID0gYndfZnJjX3RvX2ZpeGVkKDE5LCAxMCk7CisJCXZiaW9zLT5uYnBfc3RhdGVfY2hhbmdl X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMzkpOworCQl2Ymlvcy0+bWNpZndybWNfdXJnZW50 X2xhdGVuY3kgPSBid19pbnRfdG9fZml4ZWQoMTApOworCQl2Ymlvcy0+c2NhdHRlcl9nYXRoZXJf ZW5hYmxlID0gZmFsc2U7CisJCXZiaW9zLT5kb3duX3NwcmVhZF9wZXJjZW50YWdlID0gYndfZnJj X3RvX2ZpeGVkKDUsIDEwKTsKKwkJdmJpb3MtPmN1cnNvcl93aWR0aCA9IDMyOworCQl2Ymlvcy0+ YXZlcmFnZV9jb21wcmVzc2lvbl9yYXRlID0gNDsKKwkJdmJpb3MtPm51bWJlcl9vZl9yZXF1ZXN0 X3Nsb3RzX2dtY19yZXNlcnZlc19mb3JfZG1pZl9wZXJfY2hhbm5lbCA9IDg7CisJCXZiaW9zLT5i bGFja291dF9kdXJhdGlvbiA9IGJ3X2ludF90b19maXhlZCgwKTsgLyogdXMgKi8KKwkJdmJpb3Mt Pm1heGltdW1fYmxhY2tvdXRfcmVjb3ZlcnlfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKKwor CQlkY2VpcC0+bWF4X2F2ZXJhZ2VfcGVyY2VudF9vZl9pZGVhbF9wb3J0X2J3X2Rpc3BsYXlfY2Fu X3VzZV9pbl9ub3JtYWxfc3lzdGVtX29wZXJhdGlvbiA9IDEwMDsKKwkJZGNlaXAtPm1heF9hdmVy YWdlX3BlcmNlbnRfb2ZfaWRlYWxfZHJhbWJ3X2Rpc3BsYXlfY2FuX3VzZV9pbl9ub3JtYWxfc3lz dGVtX29wZXJhdGlvbiA9IDEwMDsKKwkJZGNlaXAtPnBlcmNlbnRfb2ZfaWRlYWxfcG9ydF9id19y ZWNlaXZlZF9hZnRlcl91cmdlbnRfbGF0ZW5jeSA9IDEwMDsKKwkJZGNlaXAtPmxhcmdlX2N1cnNv ciA9IGZhbHNlOworCQlkY2VpcC0+ZG1pZl9yZXF1ZXN0X2J1ZmZlcl9zaXplID0gYndfaW50X3Rv X2ZpeGVkKDIzMDQpOworCQlkY2VpcC0+ZG1pZl9waXBlX2VuX2ZiY19jaHVua190cmFja2VyID0g dHJ1ZTsKKwkJZGNlaXAtPmN1cnNvcl9tYXhfb3V0c3RhbmRpbmdfZ3JvdXBfbnVtID0gMTsKKwkJ ZGNlaXAtPmxpbmVzX2ludGVybGVhdmVkX2ludG9fbGIgPSAyOworCQlkY2VpcC0+Y2h1bmtfd2lk dGggPSAyNTY7CisJCWRjZWlwLT5udW1iZXJfb2ZfZ3JhcGhpY3NfcGlwZXMgPSA2OworCQlkY2Vp cC0+bnVtYmVyX29mX3VuZGVybGF5X3BpcGVzID0gMDsKKwkJZGNlaXAtPmxvd19wb3dlcl90aWxp bmdfbW9kZSA9IDA7CisJCWRjZWlwLT5kaXNwbGF5X3dyaXRlX2JhY2tfc3VwcG9ydGVkID0gdHJ1 ZTsKKwkJZGNlaXAtPmFyZ2JfY29tcHJlc3Npb25fc3VwcG9ydCA9IHRydWU7CisJCWRjZWlwLT51 bmRlcmxheV92c2NhbGVyX2VmZmljaWVuY3k2X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzNTU1NiwgMTAwMDApOwotCQlkY2VpcC51bmRlcmxheV92c2NhbGVyX2VmZmlj aWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZm aWNpZW5jeThfYml0X3Blcl9jb21wb25lbnQgPQogCQkJYndfZnJjX3RvX2ZpeGVkKDM0Mjg2LCAx MDAwMCk7Ci0JCWRjZWlwLnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJfY29t cG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5X3ZzY2FsZXJfZWZmaWNpZW5jeTEwX2JpdF9wZXJf Y29tcG9uZW50ID0KIAkJCWJ3X2ZyY190b19maXhlZCgzMiwgMTApOwotCQlkY2VpcC51bmRlcmxh eV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT51bmRl cmxheV92c2NhbGVyX2VmZmljaWVuY3kxMl9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19pbnRf dG9fZml4ZWQoMyk7Ci0JCWRjZWlwLmdyYXBoaWNzX3ZzY2FsZXJfZWZmaWNpZW5jeTZfYml0X3Bl cl9jb21wb25lbnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5Nl9iaXRf cGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzUsIDEwKTsKLQkJZGNlaXAuZ3Jh cGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5OF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5n cmFwaGljc192c2NhbGVyX2VmZmljaWVuY3k4X2JpdF9wZXJfY29tcG9uZW50ID0KIAkJCWJ3X2Zy Y190b19maXhlZCgzNDI4NiwgMTAwMDApOwotCQlkY2VpcC5ncmFwaGljc192c2NhbGVyX2VmZmlj aWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CisJCWRjZWlwLT5ncmFwaGljc192c2NhbGVyX2Vm ZmljaWVuY3kxMF9iaXRfcGVyX2NvbXBvbmVudCA9CiAJCQlid19mcmNfdG9fZml4ZWQoMzIsIDEw KTsKLQkJZGNlaXAuZ3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21wb25l bnQgPQorCQlkY2VpcC0+Z3JhcGhpY3NfdnNjYWxlcl9lZmZpY2llbmN5MTJfYml0X3Blcl9jb21w b25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDMpOwotCQlkY2VpcC5hbHBoYV92c2NhbGVyX2Vm ZmljaWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7Ci0JCWRjZWlwLm1heF9kbWlmX2J1ZmZlcl9h bGxvY2F0ZWQgPSA0OwotCQlkY2VpcC5ncmFwaGljc19kbWlmX3NpemUgPSAyNDU3NjsKLQkJZGNl aXAudW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKLQkJZGNlaXAudW5kZXJsYXlfY2hy b21hX2RtaWZfc2l6ZSA9IDIzNTUyOwotCQlkY2VpcC5wcmVfZG93bnNjYWxlcl9lbmFibGVkID0g dHJ1ZTsKLQkJZGNlaXAudW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSBmYWxz ZTsKLQkJZGNlaXAubGJfd3JpdGVfcGl4ZWxzX3Blcl9kaXNwY2xrID0gYndfaW50X3RvX2ZpeGVk KDEpOwotCQlkY2VpcC5sYl9zaXplX3Blcl9jb21wb25lbnQ0NDQgPSBid19pbnRfdG9fZml4ZWQo MjQ1OTUyKTsKLQkJZGNlaXAuZ3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9saW5lX3By ZWZldGNoaW5nID0gdHJ1ZTsKLQkJZGNlaXAuc3R1dHRlcl9hbmRfZHJhbV9jbG9ja19zdGF0ZV9j aGFuZ2VfZ2F0ZWRfYmVmb3JlX2N1cnNvciA9CisJCWRjZWlwLT5hbHBoYV92c2NhbGVyX2VmZmlj aWVuY3kgPSBid19pbnRfdG9fZml4ZWQoMyk7CisJCWRjZWlwLT5tYXhfZG1pZl9idWZmZXJfYWxs b2NhdGVkID0gNDsKKwkJZGNlaXAtPmdyYXBoaWNzX2RtaWZfc2l6ZSA9IDI0NTc2OworCQlkY2Vp cC0+dW5kZXJsYXlfbHVtYV9kbWlmX3NpemUgPSAxOTQ1NjsKKwkJZGNlaXAtPnVuZGVybGF5X2No cm9tYV9kbWlmX3NpemUgPSAyMzU1MjsKKwkJZGNlaXAtPnByZV9kb3duc2NhbGVyX2VuYWJsZWQg PSB0cnVlOworCQlkY2VpcC0+dW5kZXJsYXlfZG93bnNjYWxlX3ByZWZldGNoX2VuYWJsZWQgPSBm YWxzZTsKKwkJZGNlaXAtPmxiX3dyaXRlX3BpeGVsc19wZXJfZGlzcGNsayA9IGJ3X2ludF90b19m aXhlZCgxKTsKKwkJZGNlaXAtPmxiX3NpemVfcGVyX2NvbXBvbmVudDQ0NCA9IGJ3X2ludF90b19m aXhlZCgyNDU5NTIpOworCQlkY2VpcC0+Z3JhcGhpY3NfbGJfbm9kb3duc2NhbGluZ19tdWx0aV9s aW5lX3ByZWZldGNoaW5nID0gdHJ1ZTsKKwkJZGNlaXAtPnN0dXR0ZXJfYW5kX2RyYW1fY2xvY2tf c3RhdGVfY2hhbmdlX2dhdGVkX2JlZm9yZV9jdXJzb3IgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEp OwotCQlkY2VpcC51bmRlcmxheTQyMF9sdW1hX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2lu dF90b19maXhlZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIwX2x1bWFfbGJfc2l6ZV9wZXJfY29tcG9u ZW50ID0gYndfaW50X3RvX2ZpeGVkKAogCQkJODIxNzYpOwotCQlkY2VpcC51bmRlcmxheTQyMF9j aHJvbWFfbGJfc2l6ZV9wZXJfY29tcG9uZW50ID0KKwkJZGNlaXAtPnVuZGVybGF5NDIwX2Nocm9t YV9sYl9zaXplX3Blcl9jb21wb25lbnQgPQogCQkJYndfaW50X3RvX2ZpeGVkKDE2NDM1Mik7Ci0J CWRjZWlwLnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90b19maXhl ZCgKKwkJZGNlaXAtPnVuZGVybGF5NDIyX2xiX3NpemVfcGVyX2NvbXBvbmVudCA9IGJ3X2ludF90 b19maXhlZCgKIAkJCTgyMTc2KTsKLQkJZGNlaXAuY3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50 X3RvX2ZpeGVkKDY0KTsKLQkJZGNlaXAuY3Vyc29yX2RjcF9idWZmZXJfbGluZXMgPSBid19pbnRf dG9fZml4ZWQoNCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1fd2lkdGhfZWZmaWNpZW50X2Zv cl90aWxpbmcgPQorCQlkY2VpcC0+Y3Vyc29yX2NodW5rX3dpZHRoID0gYndfaW50X3RvX2ZpeGVk KDY0KTsKKwkJZGNlaXAtPmN1cnNvcl9kY3BfYnVmZmVyX2xpbmVzID0gYndfaW50X3RvX2ZpeGVk KDQpOworCQlkY2VpcC0+dW5kZXJsYXlfbWF4aW11bV93aWR0aF9lZmZpY2llbnRfZm9yX3RpbGlu ZyA9CiAJCQlid19pbnRfdG9fZml4ZWQoMTkyMCk7Ci0JCWRjZWlwLnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KKwkJZGNlaXAtPnVuZGVybGF5X21heGltdW1f aGVpZ2h0X2VmZmljaWVudF9mb3JfdGlsaW5nID0KIAkJCWJ3X2ludF90b19maXhlZCgxMDgwKTsK LQkJZGNlaXAucGVha19wdGVfcmVxdWVzdF90b19ldmljdGlvbl9yYXRpb19saW1pdGluZ19tdWx0 aXBsZV9kaXNwbGF5c19vcl9zaW5nbGVfcm90YXRlZF9kaXNwbGF5ID0KKwkJZGNlaXAtPnBlYWtf cHRlX3JlcXVlc3RfdG9fZXZpY3Rpb25fcmF0aW9fbGltaXRpbmdfbXVsdGlwbGVfZGlzcGxheXNf b3Jfc2luZ2xlX3JvdGF0ZWRfZGlzcGxheSA9CiAJCQlid19mcmNfdG9fZml4ZWQoMywgMTApOwot CQlkY2VpcC5wZWFrX3B0ZV9yZXF1ZXN0X3RvX2V2aWN0aW9uX3JhdGlvX2xpbWl0aW5nX3Npbmds ZV9kaXNwbGF5X25vX3JvdGF0aW9uID0KKwkJZGNlaXAtPnBlYWtfcHRlX3JlcXVlc3RfdG9fZXZp Y3Rpb25fcmF0aW9fbGltaXRpbmdfc2luZ2xlX2Rpc3BsYXlfbm9fcm90YXRpb24gPQogCQkJYndf aW50X3RvX2ZpeGVkKDI1KTsKLQkJZGNlaXAubWluaW11bV9vdXRzdGFuZGluZ19wdGVfcmVxdWVz dF9saW1pdCA9IGJ3X2ludF90b19maXhlZCgKKwkJZGNlaXAtPm1pbmltdW1fb3V0c3RhbmRpbmdf cHRlX3JlcXVlc3RfbGltaXQgPSBid19pbnRfdG9fZml4ZWQoCiAJCQkyKTsKLQkJZGNlaXAubWF4 aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9zYXcgPQorCQlk Y2VpcC0+bWF4aW11bV90b3RhbF9vdXRzdGFuZGluZ19wdGVfcmVxdWVzdHNfYWxsb3dlZF9ieV9z YXcgPQogCQkJYndfaW50X3RvX2ZpeGVkKDEyOCk7Ci0JCWRjZWlwLmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKLQkJZGNlaXAubGluZWFyX21vZGVfbGlu ZV9yZXF1ZXN0X2FsdGVybmF0aW9uX3NsaWNlID0KKwkJZGNlaXAtPmxpbWl0X2V4Y2Vzc2l2ZV9v dXRzdGFuZGluZ19kbWlmX3JlcXVlc3RzID0gdHJ1ZTsKKwkJZGNlaXAtPmxpbmVhcl9tb2RlX2xp bmVfcmVxdWVzdF9hbHRlcm5hdGlvbl9zbGljZSA9CiAJCQlid19pbnRfdG9fZml4ZWQoNjQpOwot CQlkY2VpcC5zY2F0dGVyX2dhdGhlcl9saW5lc19vZl9wdGVfcHJlZmV0Y2hpbmdfaW5fbGluZWFy X21vZGUgPQorCQlkY2VpcC0+c2NhdHRlcl9nYXRoZXJfbGluZXNfb2ZfcHRlX3ByZWZldGNoaW5n X2luX2xpbmVhcl9tb2RlID0KIAkJCTMyOwotCQlkY2VpcC5kaXNwbGF5X3dyaXRlX2JhY2s0MjBf bHVtYV9tY2lmd3JfYnVmZmVyX3NpemUgPSAxMjI4ODsKLQkJZGNlaXAuZGlzcGxheV93cml0ZV9i YWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVmZmVyX3NpemUgPSA4MTkyOwotCQlkY2VpcC5yZXF1ZXN0 X2VmZmljaWVuY3kgPSBid19mcmNfdG9fZml4ZWQoOCwgMTApOwotCQlkY2VpcC5kaXNwY2xrX3Bl cl9yZXF1ZXN0ID0gYndfaW50X3RvX2ZpeGVkKDIpOwotCQlkY2VpcC5kaXNwY2xrX3JhbXBpbmdf ZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAuZGlzcGxheV9waXBl X3Rocm91Z2hwdXRfZmFjdG9yID0gYndfZnJjX3RvX2ZpeGVkKDEwNSwgMTAwKTsKLQkJZGNlaXAu c2NhdHRlcl9nYXRoZXJfcHRlX3JlcXVlc3Rfcm93c19pbl90aWxpbmdfbW9kZSA9IDI7Ci0JCWRj ZWlwLm1jaWZ3cl9hbGxfc3VyZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsK KwkJZGNlaXAtPmRpc3BsYXlfd3JpdGVfYmFjazQyMF9sdW1hX21jaWZ3cl9idWZmZXJfc2l6ZSA9 IDEyMjg4OworCQlkY2VpcC0+ZGlzcGxheV93cml0ZV9iYWNrNDIwX2Nocm9tYV9tY2lmd3JfYnVm ZmVyX3NpemUgPSA4MTkyOworCQlkY2VpcC0+cmVxdWVzdF9lZmZpY2llbmN5ID0gYndfZnJjX3Rv X2ZpeGVkKDgsIDEwKTsKKwkJZGNlaXAtPmRpc3BjbGtfcGVyX3JlcXVlc3QgPSBid19pbnRfdG9f Zml4ZWQoMik7CisJCWRjZWlwLT5kaXNwY2xrX3JhbXBpbmdfZmFjdG9yID0gYndfZnJjX3RvX2Zp eGVkKDEwNSwgMTAwKTsKKwkJZGNlaXAtPmRpc3BsYXlfcGlwZV90aHJvdWdocHV0X2ZhY3RvciA9 IGJ3X2ZyY190b19maXhlZCgxMDUsIDEwMCk7CisJCWRjZWlwLT5zY2F0dGVyX2dhdGhlcl9wdGVf cmVxdWVzdF9yb3dzX2luX3RpbGluZ19tb2RlID0gMjsKKwkJZGNlaXAtPm1jaWZ3cl9hbGxfc3Vy ZmFjZXNfYnVyc3RfdGltZSA9IGJ3X2ludF90b19maXhlZCgwKTsKIAkJYnJlYWs7CiAJZGVmYXVs dDoKIAkJYnJlYWs7CiAJfQotCSpid19kY2VpcCA9IGRjZWlwOwotCSpid192YmlvcyA9IHZiaW9z OworCSpid19kY2VpcCA9ICpkY2VpcDsKKwkqYndfdmJpb3MgPSAqdmJpb3M7CiAKKwlrZnJlZShk Y2VpcCk7CisJa2ZyZWUodmJpb3MpOwogfQogCiAvKioKLS0gCjIuMjUuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==